:root{--primary:#2e90fa;--primary-dim:#001f6e;--secondary:#ff3a1f;--secondary-deep:#d9341d;--secondary-light:#ff604b;--abyss:#00040f;--deep:#06194f;--pane:rgba(3,20,69,0.2);--line:rgba(126,162,255,0.24);--foam:#f8fafd;--foam-dim:#f2f4f7;--blue:#7ea2ff;--gold:#dd9c2c;--up:#63c68a;--ibm:"IBM Plex Sans Thai",sans-serif;--sarabun:"Sarabun",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--abyss);color:var(--foam);font-family:var(--sarabun);font-weight:400;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}b,strong{font-weight:700}::selection{background:rgba(111,224,208,.35)}a{text-decoration:none;color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip{position:fixed;top:-60px;left:16px;z-index:60;background:var(--secondary);color:var(--abyss);padding:10px 16px;border-radius:3px;font-weight:500;text-decoration:none;transition:top .15s}.skip:focus{top:12px}#riverbed,#riverbed-still{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.3;filter:blur(2px) saturate(.5) brightness(.58) contrast(.86);transform:scale(1.04)}#mist{position:fixed;inset:-20%;z-index:1;pointer-events:none;background-size:cover;opacity:.2;mix-blend-mode:screen;animation:mist-drift 90s linear infinite alternate}@keyframes mist-drift{0%{transform:translate3d(-2%,-1%,0)}to{transform:translate3d(2%,1%,0)}}#river-canvas{width:100%;height:100%;z-index:2}#label-layer,#river-canvas{position:fixed;inset:0;pointer-events:none}#label-layer{z-index:3}#coast-plate{width:100%;z-index:1;opacity:.34;mix-blend-mode:screen;pointer-events:none}#coast-plate,.w-label{position:absolute;left:0}.w-label{top:0;will-change:transform;font-family:var(--ibm);font-size:11px;line-height:1.4;color:#5ee8bf;text-align:center;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.9)}.w-label b{display:block;font-family:var(--sarabun);font-weight:500;font-size:12px;color:var(--foam)}.w-label.amber,.w-label.amber b{color:var(--gold)}.w-label.blue{color:#2e90fa}.w-label.blue b{color:var(--foam)}.w-label.fork{font-size:13px;color:#5ee8bf;font-family:var(--sarabun)}.w-label.fork.blue{color:#2e90fa}.w-label.fork b,.w-label.fork.blue b{color:var(--foam);font-size:20px;font-weight:700;font-family:var(--ibm)}.w-label.amber.apex{font-size:14px}.w-label.amber.apex b{font-size:16px;font-weight:700}#tooltip{position:fixed;z-index:50;pointer-events:auto;max-width:250px;background:var(--pane);border:1px solid var(--line);border-radius:4px;padding:10px 34px 10px 12px;font-size:12px;line-height:1.5;color:var(--foam);backdrop-filter:blur(8px);transition:left .18s ease-out,top .18s ease-out,opacity .14s ease-out;will-change:left,top}#tooltip:after{content:"";position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;background:var(--pane);transform:rotate(45deg)}#tooltip[data-side=right]:after{left:-6px}#tooltip[data-side=left]:after{right:-6px;transform:rotate(-135deg)}#tooltip .tooltip-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:0;border-radius:999px;background:rgba(248,250,253,.12);color:var(--foam);font-size:15px;line-height:1;cursor:pointer}#tooltip .tooltip-close:hover{background:rgba(248,250,253,.2)}#tooltip .tooltip-close:focus-visible{outline:2px solid var(--foam);outline-offset:1px}#tooltip .tooltip-body{min-width:0}#tooltip b{display:block;font-family:var(--ibm);font-weight:600;color:var(--foam);font-size:14px}.minimap{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:40;align-items:flex-end;height:min(62vh,560px)}.minimap,.mm-track{display:flex;flex-direction:column}.mm-track{position:relative;height:100%;justify-content:space-between}.mm-svg{position:absolute;right:34px;top:0;height:100%;width:22px;overflow:visible}.mm-svg path{stroke:var(--line);stroke-width:2;fill:none}.mm-svg .mm-delta{stroke:var(--line);stroke-width:1;opacity:.7}#mm-current{position:absolute;right:40.5px;width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 10px var(--primary);z-index:2;transform:translateY(-50%);transition:top .1s linear}.mm-stop{position:relative;background:none;border:none;cursor:pointer;color:var(--foam);font-family:var(--sarabun);font-size:12px;padding:6px 60px 6px 8px;text-align:right;transition:color .2s;white-space:nowrap}.mm-stop:after{content:"";position:absolute;right:41.5px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .2s}.mm-stop:hover{color:var(--foam-dim)}.mm-stop.on{color:var(--primary);font-weight:500}.mm-stop.on:after{background:var(--primary)}.mm-stop:focus-visible{outline:2px solid var(--secondary);outline-offset:2px;border-radius:3px}.mm-toggle{display:none}#journey{position:relative;z-index:4}.station{position:absolute;width:100%;padding:0 max(5vw,20px);pointer-events:none}.station:focus{outline:none}.panel{pointer-events:auto;max-width:520px;background:var(--pane);border:1px solid var(--line);border-radius:6px;padding:26px 28px 30px;backdrop-filter:blur(10px);box-shadow:0 12px 50px rgba(0,0,0,.5)}.station.right{display:flex;justify-content:flex-end}.station.right .panel{margin-right:max(4vw,70px)}.station.wide .panel{max-width:860px}.station.centered{display:flex;justify-content:center;align-items:center;min-height:100vh}#source .panel{background:none;border:none;box-shadow:none;backdrop-filter:none;max-width:700px;padding:0}.eyebrow{font-family:var(--ibm);font-size:12px;color:var(--foam);text-transform:uppercase;margin:0 0 24px;font-weight:600}.eyebrow b,h1{font-weight:700}h1{font-size:clamp(34px,5.4vw,66px);line-height:1.15;margin:0 0 6px;text-wrap:balance}h1,h1 .num{font-family:var(--ibm)}h1 .num{font-weight:600;color:var(--primary)}h2{font-family:var(--ibm);font-weight:700;font-size:clamp(23px,3vw,34px);margin:0 0 8px;text-wrap:balance}.dek{font-size:14px;max-width:100%;margin:0 0 22px}.dek,.dek b{color:var(--foam)}.dek b{font-weight:600}.dek-mark{font-size:11px;color:var(--foam-dim);display:block}.stamp{display:inline-block;border:2px solid var(--secondary);color:var(--secondary);font-weight:600;font-size:13px;padding:5px 14px;border-radius:3px;transform:rotate(-4deg);margin-top:20px}.meter{margin:26px 0 0}.meter-copy{font-family:var(--ibm);font-size:16px;color:var(--foam);font-weight:500}.meter-copy b{color:var(--primary);font-weight:700}.source{display:flex;align-items:center;width:100%;gap:8px;margin-top:16px}.source a{width:120px}.hint{font-size:13px;color:var(--foam)}.ledger{margin-top:10px}.row{display:flex;align-items:baseline;gap:9px;width:100%;padding:9px 9px 11px;position:relative;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;text-align:left}.row[data-leaf]{cursor:pointer}.row:hover{background:rgba(221,228,245,.1)}.row.is-active{background:rgba(221,228,245,.15);box-shadow:inset 0 0 0 1px rgba(126,162,255,.32)}.row .n{font-family:var(--ibm);font-size:11px;color:var(--foam);width:22px;flex:none}.row .label{font-size:13px;line-height:1.6}.row .label .sub{color:var(--foam);font-size:.82em;margin-left:6px}.row .leader{flex:1;border-bottom:1px dotted var(--line);margin-bottom:5px;min-width:18px}.row .val{font-family:var(--ibm);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;white-space:nowrap}.row .val small{font-family:var(--sarabun);color:var(--foam);font-size:.72em;margin-left:3px}.row .val .unit-long,.row .val .val-detail{display:none}.row .val .val-detail{font-family:var(--sarabun);color:var(--foam);font-size:.72em;font-weight:400}.row .bar{position:absolute;left:40px;bottom:5px;height:2.5px;background:var(--secondary);opacity:.35}.row:hover .bar{opacity:.85}.row.is-active .bar{opacity:1}.row .foot{position:absolute;left:40px;bottom:-20px;font-size:10.5px;line-height:1.35;color:var(--foam);max-width:calc(100% - 44px);padding:3px 4px;border:1px solid rgba(126,162,255,.2);border-radius:4px;background:rgba(255,58,31,.8);box-shadow:0 6px 16px rgba(0,0,0,.22);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .15s;pointer-events:none;z-index:1}.row:focus-within .foot,.row:hover .foot{opacity:1}.row.central .label,.row.central .val{color:var(--gold);font-weight:600}.row.central .bar{background:var(--gold)}.row.local-government .label,.row.local-government .val{color:var(--gold);font-weight:600}.row.local-government .bar{background:var(--gold)}.row .chg{font-family:var(--ibm);font-size:10.5px;margin-left:7px;padding:1px 6px;border-radius:8px;font-weight:500}.row .chg.up{color:var(--up);background:rgba(99,198,138,.12)}.row .chg.down{color:var(--secondary);background:rgba(255,106,77,.14)}.unfold{margin-top:18px;border:1px solid rgba(255,205,2,.28);border-radius:4px;background:rgba(255,205,2,.07)}.unfold summary{cursor:pointer;padding:13px 16px;font-size:13.5px;color:var(--foam-dim)}.unfold summary:hover{color:var(--foam)}.unfold summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.unfold summary .tag{display:inline-block;border:1.5px solid var(--gold);color:var(--gold);font-size:11px;font-weight:600;padding:0 8px;border-radius:3px;margin-right:8px}.unfold-body{padding:2px 16px 16px}.unfold-body .ledger{max-height:34vh;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}#mb-ledger::-webkit-scrollbar,.unfold-body .ledger::-webkit-scrollbar{width:8px}#mb-ledger::-webkit-scrollbar-thumb,.unfold-body .ledger::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}#mb-ledger::-webkit-scrollbar-track,.unfold-body .ledger::-webkit-scrollbar-track{background:transparent}.callout{margin-top:18px;padding:13px 16px;border:1px solid var(--line);border-left:2px solid var(--secondary);border-radius:3px;font-size:13.5px;color:var(--foam-dim);line-height:1.7}.callout b{color:var(--foam)}.stat-line{font-family:var(--ibm);font-size:12px;color:var(--foam-dim);margin:18px 0 0;line-height:1.8}.stat-line b{color:var(--foam)}.select-label{display:block;font-size:13px;color:var(--foam-dim);margin:4px 0 7px}.province-select{font-family:var(--sarabun);font-size:14px;padding:11px 13px;border:1px solid var(--line);border-radius:4px;background:var(--pane);color:var(--foam);width:100%;max-width:330px;cursor:pointer}.province-select:focus-visible{outline:0 solid var(--gold);outline-offset:0}#mb-ledger{max-height:clamp(320px,56vh,720px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.mb-summary{font-family:var(--ibm);font-size:15px;color:var(--foam-dim);margin:22px 0 2px;min-height:1.4em;font-weight:600}.mb-summary b{color:var(--gold);font-weight:700}.mb-count{font-size:12.5px;color:var(--foam);margin:0 0 8px;min-height:1.5em}.mb-note{font-size:12.5px;color:var(--foam-dim);margin-top:20px;line-height:1.7}.mb-note b{color:var(--foam)}.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px 32px;margin-top:24px}.method-grid dt{font-weight:500;color:var(--secondary);font-size:13.5px;margin-bottom:4px}.method-grid dd{margin:0;font-size:13px;color:var(--foam-dim);line-height:1.7}.method-grid dd b{color:var(--foam)}.tail-note{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--foam-dim);line-height:1.8;width:100%}@media (max-width:800px){#journey{padding-top:84px}.row{padding-top:8px;padding-bottom:12px}.row .bar{left:10px;bottom:8px}.minimap{left:auto;right:12px;top:12px;bottom:12px;transform:none;align-items:flex-end}.minimap,.mm-track{height:auto}.mm-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(2,11,36,.88);color:var(--foam);font-family:var(--sarabun);font-size:11px;box-shadow:0 12px 28px rgba(0,0,0,.28);backdrop-filter:blur(14px)}.mm-toggle:focus-visible{outline:2px solid var(--secondary-light);outline-offset:2px}.mm-toggle-icon{display:inline-flex;flex-direction:column;gap:4px}.mm-toggle-icon span{display:block;width:16px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.mm-toggle-label{font-weight:500}.minimap.mobile-open .mm-toggle-icon span:first-child{transform:translateY(6px) rotate(45deg)}.minimap.mobile-open .mm-toggle-icon span:nth-child(2){opacity:0}.minimap.mobile-open .mm-toggle-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mm-track{display:none;width:min(216px,calc(100vw - 24px));margin-top:6px;grid-template-columns:1fr;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:rgba(2,11,36,.88);backdrop-filter:blur(14px);box-shadow:0 12px 28px rgba(0,0,0,.28)}.minimap.mobile-open .mm-track{display:grid}#mm-current,.mm-svg{display:none}.mm-stop:not(.on):not(:hover):not(:focus-visible){color:var(--foam-dim)}.mm-stop{min-width:0;font-size:10px;line-height:1.3;padding:7px 8px;text-align:left;border:1px solid rgba(126,162,255,.18);border-radius:8px;background:rgba(6,25,79,.62);white-space:normal}.mm-stop:after{display:none}.station{position:static;width:auto;padding:0 16px 32px;pointer-events:auto}.panel{max-width:none;margin-right:0!important;padding:20px 18px 24px}.station.centered{min-height:auto;justify-content:flex-start;align-items:stretch}.station.right .panel{margin-right:0!important}#source .panel{max-width:100%}.eyebrow{margin-bottom:18px}h1{font-size:clamp(28px,10vw,46px)}h2{font-size:clamp(22px,6vw,30px)}.dek{font-size:13px;line-height:1.7}.meter-copy{font-size:14px}.hint{font-size:12px}.row{flex-wrap:wrap;row-gap:2px}.row .label{flex:1 1 100%;order:1}.row .n{order:0}.row .val{order:2;margin-left:auto;white-space:normal}.row .val .unit-short{display:none}.row .val .unit-long,.row .val .val-detail{display:inline}.row .foot{display:none}.row .leader{order:3;flex-basis:24px}.w-label{font-size:10.5px}.w-label b{font-size:11.5px}.method-grid{grid-template-columns:1fr;gap:18px}.province-select{max-width:none}.tail-note{max-width:100%}}@media (max-width:560px){.station{padding:0 12px 112px}.panel{padding:18px 14px 22px;border-radius:12px}.mm-track{width:min(196px,calc(100vw - 24px))}.mm-stop{font-size:9.5px;padding:7px}.row{gap:4px 8px}.row .n{width:auto}.row .leader{display:none}.row .val{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#mist{animation:none}}