:root{--bg: #edf3f9;--bg-glow: #d6e9f8;--surface: #ffffff;--surface-2: #f5f9fc;--ink: #0f2236;--ink-2: #44586c;--ink-3: #7a8ca0;--line: #dde6ef;--accent: #0b72c2;--accent-2: #12a4b6;--accent-ink: #ffffff;--accent-soft: #dcecfa;--deep-1: #071f38;--deep-2: #0b4677;--deep-3: #0e86ad;--low: #1e7a5a;--mid: #a8721a;--high: #b3392c;--info-bg: #e3f0fb;--warn-bg: #fbf1e1;--bad-bg: #fbeae8;--muted-bg: #edf2f6;--row-hover: #f1f7fc;--shadow-sm: 0 1px 2px rgb(15 34 54 / .05);--shadow: 0 1px 2px rgb(15 34 54 / .04), 0 12px 32px -16px rgb(15 34 54 / .22);--shadow-lg: 0 40px 90px -24px rgb(3 16 32 / .6);--series-1: #2a78d6;--series-2: #eb6834;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--grid: #e8ecf0;--heat-0: #cde2fb;--heat-1: #9ec5f4;--heat-2: #6da7ec;--heat-3: #3987e5;--heat-4: #256abf;--heat-5: #184f95;--heat-6: #0d366b;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #08121d;--bg-glow: #0d2a44;--surface: #101c2a;--surface-2: #0c1723;--ink: #e6eef6;--ink-2: #b0bfcd;--ink-3: #7d8d9c;--line: #1e2e3e;--accent: #4aa8ec;--accent-2: #2cc4d4;--accent-ink: #06121d;--accent-soft: #12314d;--deep-1: #04101d;--deep-2: #082e50;--deep-3: #0b5f80;--low: #4cc292;--mid: #e0a947;--high: #f07b6c;--info-bg: #13304a;--warn-bg: #3a2c12;--bad-bg: #42201c;--muted-bg: #1a2734;--row-hover: #15222f;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px -16px rgb(0 0 0 / .6);--series-1: #3987e5;--series-2: #d95926;--grid: #22323f;color-scheme:dark}}:root[data-theme=dark]{--bg: #08121d;--bg-glow: #0d2a44;--surface: #101c2a;--surface-2: #0c1723;--ink: #e6eef6;--ink-2: #b0bfcd;--ink-3: #7d8d9c;--line: #1e2e3e;--accent: #4aa8ec;--accent-2: #2cc4d4;--accent-ink: #06121d;--accent-soft: #12314d;--deep-1: #04101d;--deep-2: #082e50;--deep-3: #0b5f80;--low: #4cc292;--mid: #e0a947;--high: #f07b6c;--info-bg: #13304a;--warn-bg: #3a2c12;--bad-bg: #42201c;--muted-bg: #1a2734;--row-hover: #15222f;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px -16px rgb(0 0 0 / .6);--series-1: #3987e5;--series-2: #d95926;--grid: #22323f;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1100px 520px at 90% -10%,var(--bg-glow),transparent 65%),var(--bg);background-attachment:fixed;color:var(--ink);font-family:IBM Plex Sans Thai,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .4s ease,color .4s ease}h1{font-family:Anuphan,IBM Plex Sans Thai,sans-serif;font-size:20px;margin:0}h2{font-family:Anuphan,IBM Plex Sans Thai,sans-serif}.muted{color:var(--ink-3)}.small{font-size:13px}.center{text-align:center;padding:48px 16px}.center-text{text-align:center;margin:0}.error{color:var(--high);margin:8px 0}::selection{background:var(--accent-soft)}button{font:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,filter .2s ease}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:600;box-shadow:0 8px 20px -10px var(--accent)}button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px -10px var(--accent)}button.primary:active:not(:disabled){transform:translateY(0)}button.primary.big{padding:13px 18px;font-size:16px;border-radius:12px}button.primary:disabled{opacity:.5;cursor:default}button.link{background:none;border:0;color:var(--accent);padding:4px 0}input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;cursor:pointer;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%237a8ca0' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center}input:hover,select:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}label{display:grid;gap:5px;font-size:13px;font-weight:500;color:var(--ink-2)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:#ffffff24;border:1px solid rgb(255 255 255 / .22);box-shadow:inset 0 1px #fff3}.brand-mark img{filter:drop-shadow(0 2px 4px rgb(0 0 0 / .3)) brightness(1.25)}.brand-name{font-family:Anuphan,sans-serif;font-weight:700;font-size:18px;line-height:1.2;letter-spacing:.2px}.brand-sub{font-size:12.5px;opacity:.72}.brand.on-dark{color:#fff}.lamp{background:none;border:0;padding:0 4px;line-height:0}.lamp svg{overflow:visible}.lamp-wire{stroke:#ffffff8c;stroke-width:1.5}.lamp-shade{fill:#e8eef4;stroke:#b9c6d2;stroke-width:1}.lamp-bulb{fill:#8a96a2;transition:fill .25s ease}.lamp-glow{fill:#ffe27a;opacity:0;filter:blur(5px);transition:opacity .3s ease}.lamp.on .lamp-bulb{fill:#fff3b0}.lamp.on .lamp-glow{opacity:.9}.lamp-cord line{stroke:#ffffffb3;stroke-width:1.2}.lamp-cord circle{fill:#ffd23f}.lamp-cord.pulled{animation:cord-pull .5s cubic-bezier(.3,1.6,.5,1)}.lamp:hover .lamp-cord circle{fill:#fff}@keyframes cord-pull{30%{transform:translateY(7px)}}.login{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(900px 500px at 70% 0%,rgb(42 180 220 / .35),transparent 60%),linear-gradient(160deg,var(--deep-1),var(--deep-2) 60%,var(--deep-3))}.login-card{width:min(400px,100%);padding:28px;display:grid;gap:16px}.login-overlay .login-card{padding:34px 30px 26px;border-radius:22px;box-shadow:var(--shadow-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:#ffffff59;color:var(--ink)}.login-drop{width:64px;height:64px;margin:-66px auto 0;border-radius:20px;display:grid;place-items:center;position:relative;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 30px -10px var(--accent)}.login-drop img{filter:brightness(0) invert(1)}.login-drop:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:24px;border:2px solid var(--accent-2);opacity:0;animation:ripple 2.2s ease-out infinite}@keyframes ripple{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.35);opacity:0}}.login-head{text-align:center;display:grid;gap:4px}.login-head h1{font-size:24px}.login-head p{margin:0}.masthead{position:relative;color:#fff;padding-bottom:54px;overflow:hidden;overflow:clip;background:radial-gradient(700px 260px at 85% -20%,rgb(60 200 230 / .35),transparent 65%),radial-gradient(500px 200px at 10% 120%,rgb(20 120 200 / .45),transparent 70%),linear-gradient(135deg,var(--deep-1),var(--deep-2) 58%,var(--deep-3))}.masthead-inner{max-width:1180px;margin:0 auto;padding:16px 16px 0;position:relative;z-index:1}.mast-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.mast-right{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:10px;padding:4px;border-radius:999px;font-size:13px;background:#ffffff1a;border:1px solid rgb(255 255 255 / .16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.user-chip .who-text{display:grid;line-height:1.25;padding-right:4px}.user-chip .who-text small{opacity:.7;font-size:11.5px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:11px;color:#04223a;background:linear-gradient(135deg,#8ee6f2,#3a9be0)}.btn-ghost{background:#ffffff1f;color:#fff;border:0;border-radius:999px;padding:6px 14px;font-size:13px}.btn-ghost:hover{background:#ffffff38}.mast-title{margin:26px 0 0;display:grid;gap:2px}.mast-title h1{font-size:clamp(22px,3vw,30px);color:#fff}.mast-title p{margin:0;color:#ffffffb3;font-size:14px}.waves{position:absolute;left:0;bottom:-1px;width:200%;height:56px;display:flex;pointer-events:none}.waves svg{width:50%;height:100%;flex:none}.waves.back{opacity:.35;animation:wave-drift 22s linear infinite reverse;bottom:6px}.waves.front{animation:wave-drift 16s linear infinite}.waves path{fill:var(--bg)}@keyframes wave-drift{to{transform:translate(-50%)}}.tabs{display:flex;gap:4px;margin:18px 0 0;padding:5px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;background:#ffffff14;border:1px solid rgb(255 255 255 / .14);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tabs::-webkit-scrollbar{display:none}.tabs button{background:none;border:0;color:#ffffffc7;padding:8px 16px;border-radius:10px;font-weight:500;white-space:nowrap}.tabs button:hover{color:#fff;background:#ffffff1a}.tabs button.on{background:#fff;color:var(--deep-1);font-weight:600;box-shadow:0 8px 18px -8px #00000080}.page{max-width:1180px;margin:-26px auto 0;padding:0 16px 56px;position:relative;z-index:2}.view{animation:rise .45s cubic-bezier(.2,.7,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:14px 16px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.controls:empty{display:none}.controls label{min-width:180px}.range{padding-bottom:10px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 18px}.kpis.five{grid-template-columns:repeat(5,1fr)}@media(max-width:1000px){.kpis.five{grid-template-columns:repeat(3,1fr)}}.kpi{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.kpi:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.kpi:hover{transform:translateY(-2px)}.kpi-label{font-size:13px;color:var(--ink-2)}.kpi-value{font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:500;margin-top:4px;letter-spacing:-.5px}.kpi-sub{font-size:12px;color:var(--ink-3)}.kpi.high .kpi-value{color:var(--high)}.kpi.high:before{background:var(--high)}.kpi.mid .kpi-value{color:var(--mid)}.kpi.mid:before{background:var(--warning)}.kpi.low .kpi-value{color:var(--low)}.kpi.low:before{background:var(--low)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}tbody tr:last-child td{border-bottom:0}th{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-2);position:sticky;top:0;letter-spacing:.2px}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}.sep{border-left:1px solid var(--line)}tr.clickable{cursor:pointer}tr.clickable:hover,tbody tr:hover{background:var(--row-hover)}tr.dim td{color:var(--ink-3)}.tone-high{color:var(--high);font-weight:600}.tone-mid{color:var(--mid);font-weight:600}.tone-low{color:var(--low);font-weight:600}.area{display:flex;align-items:center;gap:8px;flex-wrap:wrap;white-space:normal;min-width:260px}.twig{color:var(--ink-3)}.code{font-family:IBM Plex Mono,monospace;font-size:12.5px;font-weight:500}.kind-MM{color:var(--accent)}.name{color:var(--ink-2)}.badge{font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap;font-weight:500}.badge.info{background:var(--info-bg);color:var(--accent)}.badge.warn{background:var(--warn-bg);color:var(--mid)}.badge.bad{background:var(--bad-bg);color:var(--high)}.badge.muted{background:var(--muted-bg);color:var(--ink-3)}.note{margin-top:14px}.banner{background:var(--warn-bg);color:var(--mid);border-radius:12px;padding:11px 14px 11px 16px;margin:8px 0 14px;font-size:14px;border-left:4px solid var(--warning)}.loader{min-height:60vh;display:grid;place-items:center;align-content:center;gap:14px;color:var(--ink-3)}.loader:before{content:"";width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,var(--accent),var(--accent-2));animation:drip 1.1s ease-in-out infinite}@keyframes drip{50%{transform:rotate(-45deg) translate(4px,-4px) scale(.85);opacity:.6}}.import{display:grid;gap:12px}.import input[type=file]{width:auto}.import button.primary{justify-self:start}.overview{display:grid;gap:16px}.panel{padding:16px 18px}.panel h2{font-size:15px;margin:0 0 10px}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.grid-2.even{grid-template-columns:1fr 1fr}.priority li.clickable{cursor:pointer}.p-val.delta.up{color:var(--critical)}.p-val.delta.down{color:var(--good)}.hero{display:grid;grid-template-columns:1.1fr 2fr;gap:16px;padding:20px}.hero-main{display:grid;gap:6px;align-content:start}.hero-value{font-family:IBM Plex Mono,monospace;font-size:46px;font-weight:500;line-height:1.1}.hero-side{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:2px;align-content:start}.mini-value{font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:500}.mini-value.small-num{font-size:19px}.delta{font-size:13px}.delta.up{color:var(--critical)}.delta.down{color:var(--good)}.status{justify-self:start;font-size:13px;font-weight:600;padding:2px 10px;border-radius:999px;border:1px solid currentColor}.status-good,.tone-good{color:var(--good)}.status-warning,.tone-warning{color:var(--mid)}.status-serious,.tone-serious{color:var(--serious)}.status-critical,.tone-critical{color:var(--critical)}.status-none,.tone-none{color:var(--ink-3)}.chart{position:relative}.chart svg{width:100%;height:auto;display:block}.grid{stroke:var(--grid);stroke-width:1}.axis{fill:var(--ink-3);font-size:11px}.crosshair{stroke:var(--ink-3);stroke-dasharray:3 3}.line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.line.s1,.dot.s1{stroke:var(--series-1)}.line.s2,.dot.s2{stroke:var(--series-2)}.line.s3,.dot.s3{stroke:var(--ink-3)}.line.s3{stroke-dasharray:4 3}.dot{fill:var(--surface);stroke-width:2}.direct{font-size:12px;font-weight:600;fill:var(--ink)}.legend{display:flex;gap:16px;font-size:13px;color:var(--ink-2);margin-bottom:4px}.swatch{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:4px}.swatch.s1{background:var(--series-1)}.swatch.s2{background:var(--series-2)}.swatch.s3{background:var(--ink-3)}.tooltip{position:absolute;top:28px;right:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;box-shadow:0 2px 8px #00000014}.priority{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.priority li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center}.rank{font-family:IBM Plex Mono,monospace;color:var(--ink-3);text-align:right}.p-name{font-size:14px}.p-bar{height:6px;background:var(--muted-bg);border-radius:3px;margin-top:4px}.p-bar span{display:block;height:100%;background:var(--series-1);border-radius:3px}.p-val{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ranking{display:grid;gap:6px}.rank-row{display:grid;grid-template-columns:120px 1fr 64px 92px 110px;gap:10px;align-items:center;background:none;border:0;padding:4px 6px;border-radius:6px;text-align:left;color:var(--ink)}.rank-row:hover{background:var(--row-hover)}.r-track{height:12px;background:var(--muted-bg);border-radius:0 4px 4px 0}.r-fill{display:block;height:100%;border-radius:0 4px 4px 0}.fill-good{background:var(--good)}.fill-warning{background:var(--warning)}.fill-serious{background:var(--serious)}.fill-critical{background:var(--critical)}.fill-none{background:var(--muted-bg)}.r-val{text-align:right;font-family:IBM Plex Mono,monospace}.r-status{font-size:13px;font-weight:600}.heat td.cell{text-align:center;font-size:12px;font-variant-numeric:tabular-nums;border:2px solid var(--surface)}.heat .cell-empty{background:transparent}.heat-0{background:var(--heat-0);color:#16212c}.heat-1{background:var(--heat-1);color:#16212c}.heat-2{background:var(--heat-2);color:#16212c}.heat-3{background:var(--heat-3);color:#fff}.heat-4{background:var(--heat-4);color:#fff}.heat-5{background:var(--heat-5);color:#fff}.heat-6{background:var(--heat-6);color:#fff}.heat-legend{display:flex;align-items:center;gap:2px;padding:10px 12px}.heat-legend i{display:inline-block;width:22px;height:10px}.steptest input.num-in{width:72px;text-align:right}.steptest td input:not(.num-in):not([type=checkbox]){min-width:140px}.steptest h2.sub{margin-top:18px}.steptest .chips{display:flex;flex-wrap:wrap;gap:4px;max-width:360px}.steptest .chip{font:inherit;font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}.steptest .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.steptest label.check{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.steptest label.check input{width:auto;margin:0}.steptest .card-actions{display:flex;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}.steptest .table-wrap.flat{border:0;border-radius:0}.steptest .pad{padding:10px 14px;margin:0}.checklist{border:1px solid var(--line);border-radius:10px}.checklist>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:12px 14px}.checklist>summary::-webkit-details-marker{display:none}.checklist .cl-chips{display:flex;flex-wrap:wrap;gap:6px}.checklist .cl-open{margin-left:auto}.checklist .cl-open:after{content:" ▸"}.checklist[open] .cl-open:after{content:" ▾"}.checklist .cl-groups{padding:0 14px;border-top:1px solid var(--line)}.checklist .cl-groups p{margin:8px 0}.cl-tools{display:flex;justify-content:flex-end;margin:0 0 8px}.cl-dmas span{display:block;white-space:nowrap}.cl-dmas span span{display:inline}.steptest .step-dma .banner{margin:10px 14px}.step-list{display:grid;gap:6px}.step-dma{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.step-dma>summary{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 120px 180px minmax(170px,auto);gap:10px;align-items:center;padding:10px 14px;list-style:none}.step-dma>summary::-webkit-details-marker{display:none}.step-dma>summary .s-name:before{content:"▸ ";color:var(--ink-3)}.step-dma[open]>summary .s-name:before{content:"▾ "}.step-dma[open]>summary{border-bottom:1px solid var(--line)}.step-dma .s-meta{text-align:right;font-family:IBM Plex Mono,monospace}.step-dma .s-meta.small{font-family:inherit}.step-table{width:100%;border-collapse:collapse;font-size:14px}.step-table th,.step-table td{padding:6px 14px;border-bottom:1px solid var(--line);text-align:left}.step-table .n{text-align:right}.step-table tr.worst td{background:var(--bad-bg)}@media(max-width:760px){.step-dma>summary{grid-template-columns:1fr auto}.step-dma>summary .s-meta.small{grid-column:1 / -1;text-align:left}}.steptest tr.row-miss td{background:var(--bad-bg)}.dash-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{padding:18px 20px;display:grid;gap:6px;align-content:start}.vol{margin:10px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}.vol>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.vol dt{color:var(--ink-2)}.vol dd{margin:0;font-family:IBM Plex Mono,monospace}.vol .vol-loss dt,.vol .vol-loss dd{font-weight:600;color:var(--ink)}.cmp{width:100%;border-collapse:collapse;margin:6px 0;font-size:14px}.cmp th{font-weight:500;color:var(--ink-3);font-size:12px;text-align:left;padding:4px 0}.cmp td{padding:8px 0;border-top:1px solid var(--line)}.cmp .n{text-align:right;font-family:IBM Plex Mono,monospace}@media(max-width:900px){.dash-cards,.grid-2,.hero{grid-template-columns:1fr}.hero-side{grid-template-columns:1fr 1fr}.rank-row{grid-template-columns:90px 1fr 60px}.r-status,.r-month{display:none}}@media(max-width:760px){.kpis,.kpis.five{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:21px}.controls label{min-width:0;flex:1 1 140px}}.panel{padding:18px 20px}.panel h2{font-size:16px;margin:0 0 12px;display:flex;align-items:center;gap:8px}.panel h2:before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(var(--accent),var(--accent-2))}.hero{padding:22px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent)}.hero-value{font-size:50px;letter-spacing:-1.5px}.mini{background:var(--surface-2);border-color:var(--line);border-radius:12px;transition:transform .2s ease,border-color .2s ease}.mini:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.stat-card{transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.rank-row{transition:background-color .15s ease}.p-bar,.r-track{overflow:hidden}.p-bar span{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.tooltip{border-radius:10px;box-shadow:var(--shadow)}.step-dma,.checklist{box-shadow:var(--shadow-sm)}@media(max-width:640px){.user-chip .who-text{display:none}.mast-title{margin-top:18px}.hero-value{font-size:40px}}.panel .table-wrap{box-shadow:none}.legend{flex-wrap:wrap;gap:6px 14px}@media(max-width:640px){body{font-size:14px}.masthead{padding-bottom:44px}.masthead-inner{padding:12px 12px 0}.brand-mark{width:34px;height:34px;border-radius:10px}.brand-name{font-size:16px}.brand-sub{display:none}.mast-top{flex-wrap:nowrap}.mast-right{gap:4px}.brand-name,.btn-ghost{white-space:nowrap}.brand{gap:8px;min-width:0}.user-chip{padding:3px}.avatar{width:28px;height:28px;font-size:10px}.btn-ghost{padding:5px 10px;font-size:12px}.mast-title h1{font-size:22px}.tabs{margin-top:14px;width:100%}.tabs button{padding:7px 12px;font-size:14px}.page{padding:0 12px 40px;margin-top:-22px}.controls{padding:12px;gap:10px;border-radius:14px}.controls label{min-width:0;flex:1 1 140px}.range{padding-bottom:0;flex-basis:100%}.kpis{gap:10px}.kpi{padding:12px 14px;border-radius:14px}.kpi-value{font-size:20px}.kpi-label{font-size:12px}.card{border-radius:14px}.panel{padding:14px}.hero{padding:16px;gap:12px}.hero-side{grid-template-columns:1fr 1fr;gap:8px}.mini{padding:10px 12px}.mini-value{font-size:19px}.stat-card{padding:14px 16px}table{font-size:13px}th,td{padding:8px 10px}.area{min-width:200px}.rank-row{grid-template-columns:76px 1fr 56px;gap:8px;padding:4px 2px}.step-dma>summary{padding:10px 12px}.heat-legend{flex-wrap:wrap}input,select{font-size:16px}}@media(max-width:380px){.kpis{grid-template-columns:1fr 1fr}.kpi-value{font-size:18px}.hero-side{grid-template-columns:1fr}}@media(max-width:480px){.login-overlay .login-card{padding:30px 20px 22px;border-radius:20px}.login-head h1{font-size:22px}}.focus-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 12px;margin:0 0 8px;border-radius:10px;border:1px solid var(--accent)}.st-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}.st-head select.st-month{width:auto;border:0;background-color:transparent;padding:2px 30px 2px 0;background-position:right 6px center;font-family:Anuphan,sans-serif;font-size:26px;font-weight:700;color:var(--ink)}.st-head-sub{margin:0;flex:1 1 260px}.pipe-nav{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;padding:14px 18px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.pn-home{display:grid;align-content:center;gap:2px;text-align:left;background:none;border:0;border-right:1px solid var(--line);padding:4px 18px 4px 2px;color:var(--ink-2)}.pn-home b{font-family:Anuphan,sans-serif;font-size:16px;color:var(--ink)}.pn-home.on b{color:var(--accent)}.pn-home.on{box-shadow:inset 0 -3px 0 var(--accent)}.pn-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.pn-stage{position:relative}.pn-stage:after,.pn-stage:before{content:"";position:absolute;top:25px;left:0;height:8px;margin-top:-4px}.pn-stage:after{right:0;background:var(--muted-bg);box-shadow:inset 0 1px 0 var(--line),inset 0 -1px 0 var(--line)}.pn-stage:before{z-index:1;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.pn-stage.past:before{width:100%}.pn-stage.now:before{width:45%;background:repeating-linear-gradient(90deg,var(--accent-2) 0 10px,color-mix(in srgb,var(--accent-2) 55%,transparent) 10px 20px);background-size:20px 100%;animation:pn-flow 1s linear infinite}.pn-stage:first-child:after,.pn-stage:first-child:before{left:17px}.pn-stage:first-child.past:before{width:calc(100% - 17px)}@keyframes pn-flow{to{background-position:20px 0}}.pn-stage>button{position:relative;z-index:2;width:100%;display:grid;justify-items:start;gap:6px;padding:8px 10px 4px 0;background:none;border:0;text-align:left;color:var(--ink);border-radius:12px}.pn-valve{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:3px solid var(--line);color:var(--ink-3);font-family:Anuphan,sans-serif;font-weight:700;font-size:15px}.pn-stage.past .pn-valve{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pn-stage.now .pn-valve{border-color:var(--accent-2);color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.pn-text{display:grid;gap:1px}.pn-text b{font-family:Anuphan,sans-serif;font-size:15px}.pn-stage.on .pn-text b{color:var(--accent)}.pn-metric{font-size:13px;color:var(--ink-2)}.pn-due{font-size:12px;color:var(--ink-3)}.pn-due em{font-style:normal;font-weight:600;font-size:11px;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 7px;margin-right:6px}.pn-stage>button:hover .pn-text b,.pn-home:hover b{text-decoration:underline;text-underline-offset:3px}.pipe-nav button:focus-visible,.st-journey button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.st-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 32px;align-items:center;padding:22px 26px}.st-hero h2{margin:0;font-size:15px;font-weight:600;color:var(--ink-2)}.st-hero-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:6px 0 4px}.st-dir{font-family:Anuphan,sans-serif;font-size:24px;font-weight:600}.st-num{font-family:Anuphan,sans-serif;font-size:68px;font-weight:700;line-height:1;letter-spacing:-2px;font-variant-numeric:tabular-nums}.st-unit{font-size:15px;color:var(--ink-2)}.st-hero.is-down .st-dir,.st-hero.is-down .st-num{color:var(--low)}.st-hero.is-up .st-dir,.st-hero.is-up .st-num{color:var(--high)}.st-hero-note{margin:0;color:var(--ink-2);max-width:48ch}.hb-row{display:grid;grid-template-columns:96px minmax(0,1fr) 64px;gap:12px;align-items:center;margin:12px 0}.hb-lbl{font-size:13px;color:var(--ink-2)}.hb-track{position:relative;height:22px;border-radius:6px;background:var(--muted-bg)}.hb-fill{position:absolute;inset:0 auto 0 0;border-radius:6px}.hb-fill.w1{background:var(--series-2)}.hb-fill.w4{background:var(--series-1)}.hb-gap{position:absolute;top:0;bottom:0;border:2px dashed var(--low);border-left:0;border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--low) 12%,transparent)}.hb-val{text-align:right;font-family:Anuphan,sans-serif;font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}.hb-key{margin:0 0 0 108px;color:var(--ink-3)}.st-journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}.st-journey li{position:relative}.st-journey li+li{border-left:1px solid var(--line)}.st-journey li+li:before{content:"";position:absolute;z-index:1;left:-7px;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--surface);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:rotate(45deg)}.st-journey button{width:100%;height:100%;display:grid;align-content:start;gap:2px;padding:14px 18px;background:none;border:0;text-align:left;color:var(--ink);border-radius:16px}.st-journey button:hover{background:var(--row-hover)}.j-wk{font-size:12px;font-weight:600;color:var(--accent)}.st-journey b{font-family:Anuphan,sans-serif;font-size:30px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.st-journey b small{font-size:17px;color:var(--ink-3);font-weight:600}.st-journey b+span{font-size:13px;color:var(--ink-2)}.st-split{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,1fr);gap:16px;align-items:start}.st-causes ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.st-causes li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;font-size:14px}.st-causes li b{font-variant-numeric:tabular-nums}.c-bar{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--muted-bg);overflow:hidden}.c-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.st-dmas tr.grp th{position:static;background:none;padding:18px 12px 6px;border-bottom:1px solid var(--accent);font-family:Anuphan,sans-serif;font-size:15px;font-weight:700;color:var(--ink)}.st-dmas tbody:first-of-type tr.grp th{padding-top:10px}.st-dmas tr.grp:hover{background:none}.stairs{display:block;width:100%;height:130px;overflow:visible}.stairs.spark{width:120px;height:30px}.st-line{fill:none;stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.stairs.spark .st-line{stroke-width:1.6}.st-line.w1{stroke:var(--series-2)}.st-line.w4{stroke:var(--series-1)}.st-area{fill:color-mix(in srgb,var(--series-2) 10%,transparent)}.st-col{stroke:var(--grid);stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.step-chart{padding:14px 16px 10px;border-bottom:1px solid var(--line)}.sc-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:10px;color:var(--ink-2)}.sw{display:inline-block;width:16px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}.sw.w1{background:var(--series-2)}.sw.w4{background:var(--series-1)}.sc-flow{position:relative}.sc-axis{position:absolute;left:0;top:-4px;font-size:11px;color:var(--ink-3);background:var(--surface);padding-right:4px}.sc-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));border-top:1px solid var(--line)}.sc-col{display:grid;justify-items:center;align-content:start;gap:2px;padding:8px 2px 0;min-width:0;text-align:center}.sc-col+.sc-col{border-left:1px dashed var(--grid)}.sc-bars{width:100%;height:56px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.sc-bar{width:min(18px,32%);border-radius:3px 3px 0 0}.sc-bar.w1{background:var(--series-2)}.sc-bar.w4{background:var(--series-1)}.sc-bar.none{height:100%!important;background:none;border:1px dashed var(--ink-3);border-bottom:0;opacity:.5}.sc-val{font-size:12px;font-variant-numeric:tabular-nums}.sc-val .w4t{color:var(--series-1);margin-left:4px;font-weight:600}.sc-name{font-size:11.5px;color:var(--ink-3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-leak{font-size:11px;color:var(--high);background:var(--bad-bg);border-radius:999px;padding:0 6px;white-space:nowrap}.step-dma .s-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;min-width:0}.step-dma .s-name b{font-family:Anuphan,sans-serif;font-size:15px}.step-dma .s-dma{font-weight:600;color:var(--accent)}.step-dma .s-spark{display:flex;justify-content:center}@media(max-width:900px){.st-hero,.st-split{grid-template-columns:1fr}.st-journey{grid-template-columns:repeat(3,minmax(0,1fr))}.st-journey li:nth-child(4){border-left:0}.st-journey li:nth-child(n+4){border-top:1px solid var(--line)}.st-journey li:nth-child(4):before{display:none}}@media(max-width:760px){.st-head select.st-month{font-size:22px}.pipe-nav{grid-template-columns:1fr;padding:12px}.pn-home{border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px;display:flex;align-items:baseline;gap:10px}.pn-home.on{box-shadow:none}.pn-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(148px,1fr);overflow-x:auto;scroll-snap-type:x mandatory}.pn-stage{scroll-snap-align:start}.st-num{font-size:54px}.st-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.st-journey li{border-left:0!important;border-top:1px solid var(--line)}.st-journey li:nth-child(-n+2){border-top:0}.st-journey li:nth-child(2n){border-left:1px solid var(--line)!important}.st-journey li+li:before{display:none}.st-journey button{padding:12px 14px}.step-dma .s-spark{display:none}.hb-row{grid-template-columns:84px minmax(0,1fr) 52px;gap:8px}.hb-key{margin-left:92px}.step-chart{padding:12px 10px 8px}}@media(prefers-reduced-motion:reduce){.pn-stage.now:before{animation:none}}.steptest{grid-template-columns:minmax(0,1fr)}.steptest>*,.st-split>*{min-width:0}.step-dma>summary .s-meta{white-space:nowrap}.step-list{grid-template-columns:minmax(0,1fr)}.step-dma{min-width:0}@media(max-width:760px){.sc-val{font-size:11px;line-height:1.25}.sc-val .w4t{display:block;margin-left:0}.sc-name{font-size:10.5px}.sc-leak{white-space:normal;font-size:10px;line-height:1.25;padding:1px 4px;border-radius:6px}.sc-bar{width:min(12px,40%)}}.st-view{display:grid;gap:16px;min-width:0;grid-template-columns:minmax(0,1fr)}.pn-ring{position:absolute;z-index:3;left:-5px;top:3px;width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);pointer-events:none}.sc-bar{transform-origin:bottom}.v-w1{color:var(--series-2);font-weight:600}.v-w4{color:var(--series-1);font-weight:600}:root{--wk1: var(--series-2);--wk2: #7a4fd6;--wk3: #0d9488;--wk4: var(--series-1)}:root[data-theme=dark]{--wk2: #a68af2;--wk3: #2dc4b2}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--wk2: #a68af2;--wk3: #2dc4b2}}.wk1{--wk: var(--wk1);--wk-next: var(--wk2)}.wk2{--wk: var(--wk2);--wk-next: var(--wk3)}.wk3{--wk: var(--wk3);--wk-next: var(--wk4)}.wk4{--wk: var(--wk4);--wk-next: var(--wk4)}.wk-res{--wk: var(--good)}.pn-stage:before{background:linear-gradient(90deg,var(--wk),var(--wk-next))}.pn-stage.now:before{background:repeating-linear-gradient(90deg,var(--wk) 0 10px,color-mix(in srgb,var(--wk) 50%,transparent) 10px 20px);background-size:20px 100%}.pn-stage.past .pn-valve{background:var(--wk);border-color:var(--wk);color:#fff}.pn-stage.now .pn-valve{border-color:var(--wk);color:var(--wk);box-shadow:0 0 0 5px color-mix(in srgb,var(--wk) 18%,transparent)}.pn-stage.next .pn-valve{border-color:color-mix(in srgb,var(--wk) 35%,var(--line))}.pn-stage.on .pn-text b,.pn-text b{color:var(--ink)}.pn-stage.on .pn-text b{color:var(--wk)}.pn-ring{border-color:var(--wk)}.pn-due em{background:var(--wk);color:#fff}.pn-stage>button:focus-visible{outline-color:var(--wk)}.st-journey .j-wk{color:var(--wk)}.st-journey li>button{border-top:3px solid var(--wk);border-radius:0}.st-journey li:first-child>button{border-top-left-radius:16px}.st-journey li:last-child>button{border-top-right-radius:16px}.st-view[class*=wk] .panel h2:before{background:var(--wk)}.sc-range b{font-weight:700}.focus-list{list-style:none;margin:0;padding:0 14px 14px;display:grid;gap:6px}.focus-row{display:grid;grid-template-columns:28px minmax(110px,170px) 1fr;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--series-2);border-radius:12px}.focus-no{color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums}.focus-branch{font-size:16px}.focus-areas{display:flex;flex-wrap:wrap;gap:6px 14px}.focus-area{display:inline-flex;align-items:baseline;gap:8px}.focus-code{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--series-2) 16%,var(--surface));color:color-mix(in srgb,var(--series-2) 75%,var(--ink))}.focus-none{color:var(--ink-3);font-style:italic}@media(max-width:640px){.focus-row{grid-template-columns:24px 1fr}.focus-areas{grid-column:1 / -1}}.fa{display:grid;gap:18px}.fa-off{display:block;width:100%;font-size:11px;color:var(--critical);margin-top:4px}.fa-valve{position:relative;z-index:1;display:inline-grid;place-items:center;flex:none;border-radius:50%;font-weight:700;width:26px;height:26px;font-size:12px;background:var(--surface);border:2px solid var(--line);color:var(--ink-3)}.fa-valve.sm{width:22px;height:22px;font-size:11px}.fa-valve.lg{width:36px;height:36px;font-size:16px;border-width:3px}.fa-valve.ok{background:var(--good);border-color:var(--good);color:#fff}.fa-valve.warn{background:var(--warning);border-color:var(--warning);color:#3a2a00}.fa-valve.bad{background:var(--critical);border-color:var(--critical);color:#fff}.fa-valve.skip{border-style:dashed;border-color:var(--good);color:var(--good)}.fa-verdict-tag{display:inline-block;white-space:nowrap;font-size:13px;font-weight:600;padding:3px 11px;border-radius:999px;background:var(--muted-bg);color:var(--ink-2)}.fa-verdict-tag.good{background:color-mix(in srgb,var(--good) 15%,var(--surface));color:color-mix(in srgb,var(--good) 70%,var(--ink))}.fa-verdict-tag.warning{background:color-mix(in srgb,var(--warning) 22%,var(--surface));color:color-mix(in srgb,var(--warning) 45%,var(--ink))}.fa-verdict-tag.critical{background:color-mix(in srgb,var(--critical) 14%,var(--surface));color:color-mix(in srgb,var(--critical) 80%,var(--ink))}.fa-verdict-tag.big{font-size:16px;padding:6px 16px}.fa-flow{padding:20px 22px 18px}.fa-flow-head h2{margin:0;font-size:20px}.fa-flow-head p{margin:4px 0 16px}.fa-flow-pipe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.fa-flow-pipe li{display:grid;gap:2px;align-content:start}.fa-flow-seg{display:flex;align-items:center;height:68px;background:var(--surface-2);border-block:3px solid color-mix(in srgb,var(--ink-3) 35%,var(--line))}.fa-flow-pipe li:first-child .fa-flow-seg{border-left:3px solid color-mix(in srgb,var(--ink-3) 35%,var(--line));border-radius:14px 0 0 14px}.fa-flow-pipe li.goal .fa-flow-seg{border-right:3px solid var(--series-2);border-radius:0 14px 14px 0}.fa-flow-water{display:block;width:100%;background:linear-gradient(180deg,var(--accent-2),var(--series-1))}.fa-flow-n{margin-top:8px;font-family:var(--font-num);font-size:30px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.fa-flow-pipe li.goal .fa-flow-n{color:var(--low)}.fa-flow-label{font-size:13px;color:var(--ink-2);padding-right:8px}.fa-board{display:grid;gap:10px}.fa-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.fa-chips{display:flex;flex-wrap:wrap;gap:6px}.fa-chips button{position:relative;display:inline-flex;align-items:baseline;gap:6px;padding:6px 14px;border-radius:999px;cursor:pointer;font:inherit;font-size:14px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line)}.fa-chip-label,.fa-chips button small{position:relative;z-index:1}.fa-chips button small{font-variant-numeric:tabular-nums;color:var(--ink-3)}.fa-chips button.on{color:var(--surface);border-color:transparent}.fa-chips button.on small{color:inherit;opacity:.75}.fa-chip-ink{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:var(--ink)}.fa-chips button:focus-visible,.fa-row:focus-visible,.fa-pick-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fa-sort{display:inline-flex;align-items:center;gap:8px;min-width:0}.fa-sort select{width:auto}.fa-rows-head,.fa-row{display:grid;grid-template-columns:minmax(200px,1.5fr) 190px minmax(140px,1fr) 170px;align-items:center;gap:16px}.fa-rows-head{padding:0 18px}.fa-rows-head span:nth-child(3){text-align:right}.fa-rows-head span:nth-child(4){text-align:right}.fa-rows{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.fa-rows>li+li{border-top:1px solid var(--line)}.fa-row{width:100%;padding:12px 18px;text-align:left;font:inherit;color:var(--ink);background:none;border:0;cursor:pointer}.fa-row:hover{background:var(--row-hover)}.fa-row-who{display:grid;gap:3px;min-width:0}.fa-row-who b{font-size:16px}.fa-row-area{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--ink-2);min-width:0;max-width:100%}.fa-row-area>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-row-area .focus-code{display:inline-block;flex:none}.fa-row-end{justify-self:end}.fa-mini{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;width:170px}.fa-mini-track{position:absolute;left:11px;right:11px;top:9px;height:4px;border-radius:2px;background:var(--line)}.fa-mini-water{display:block;height:100%;border-radius:inherit;background:var(--series-1)}.fa-mnf{display:grid;justify-items:end;line-height:1.3;font-variant-numeric:tabular-nums}.fa-mnf-v{font-family:var(--font-num);font-size:15px}.fa-mnf-v i{font-style:normal;color:var(--ink-3)}.fa-mnf b{font-size:13px}.fa-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:2px 4px 0}.fa-key>span:last-child{flex-basis:100%}.fa-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.fa-pick-item{display:grid;gap:6px;justify-items:start;text-align:left;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--series-2);border-radius:12px}.fa-pick-item:hover{background:var(--row-hover)}.fa-detail{display:grid;gap:16px}.fa-night{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);align-items:center;gap:24px 32px;padding:26px 28px;border-radius:22px;color:var(--hero-ink);background:radial-gradient(120% 90% at 85% 0%,var(--deep-3) 0%,transparent 55%),linear-gradient(160deg,var(--deep-1),var(--deep-2))}.fa-night-who{display:grid;gap:10px;justify-items:start}.fa-night-branch{margin:0;color:var(--hero-mute);font-size:14px}.fa-night h2{margin:0;font-size:30px;line-height:1.25;font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.fa-night h2 .focus-code{font-size:15px;padding:3px 10px;background:var(--series-2);color:#fff}.fa-night-note{margin:0;color:var(--hero-mute);font-size:14px;max-width:46ch}.fa-night-note.warn{color:#ffd38a}.fa-night .fa-verdict-tag{background:#ffffff1a;color:var(--hero-ink)}.fa-night .fa-verdict-tag.good{background:color-mix(in srgb,var(--good) 30%,transparent);color:#b9f5c4}.fa-night .fa-verdict-tag.warning{background:color-mix(in srgb,var(--warning) 28%,transparent);color:#ffe2a6}.fa-night .fa-verdict-tag.critical{background:color-mix(in srgb,var(--critical) 34%,transparent);color:#ffc4bc}.fa-tanks{margin:0;display:grid;gap:12px;justify-items:center}.fa-tanks figcaption{font-size:14px;color:var(--hero-mute)}.fa-tank-row{display:flex;align-items:flex-end;gap:18px}.fa-tank{display:grid;justify-items:center;gap:2px}.fa-tank-glass{position:relative;display:block;width:86px;height:150px;margin-bottom:6px;overflow:hidden;border:2px solid rgb(234 243 250 / .32);border-top:0;border-radius:0 0 16px 16px;background:#eaf3fa0a}.fa-tank.empty .fa-tank-glass{border-style:dashed}.fa-tank-water{position:absolute;left:0;right:0;bottom:0}.fa-tank-water.before{background:linear-gradient(180deg,#4fa3e08c,#4fa3e04d)}.fa-tank-water.after{background:linear-gradient(180deg,var(--hero-sold),#2a78d6);box-shadow:inset 0 2px #ffffff59}.fa-tank-mark{position:absolute;left:0;right:0;border-top:2px dashed rgb(234 243 250 / .55)}.fa-tank b{font-family:var(--font-num);font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.fa-tank small,.fa-tank-delta small{color:var(--hero-mute);font-size:13px}.fa-tank-delta{display:grid;justify-items:center;align-self:center;min-width:84px;padding-bottom:40px}.fa-tank-delta b{font-family:var(--font-num);font-size:32px;font-weight:600;line-height:1.1}.fa-tank-delta.tone-good b{color:var(--hero-free)}.fa-tank-delta.tone-critical b{color:var(--hero-leak)}.fa-journey{padding:20px 14px 18px}.fa-journey-in{position:relative}.fa-journey-track{position:absolute;top:15px;left:calc(100% / 12);right:calc(100% / 12);height:6px;border-radius:3px;background:var(--line)}.fa-journey-water{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,var(--series-1),var(--accent-2));transform-origin:left center}.fa-journey ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.fa-journey li{display:grid;justify-items:center;align-content:start;gap:4px;padding:0 8px;text-align:center}.fa-journey li .fa-valve{margin-bottom:6px}.fa-journey li b{font-size:14px;line-height:1.3}.fa-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fa-ba{padding:16px 18px;display:grid;gap:10px}.fa-ba header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.fa-ba h3{margin:0;font-size:15px}.fa-ba header b{font-family:var(--font-num);font-size:22px}.fa-ba p{margin:0}.fa-ba-bars{display:grid;gap:8px}.fa-ba-row{display:grid;grid-template-columns:62px 1fr 92px;align-items:center;gap:10px}.fa-ba-row b{text-align:right;font-family:var(--font-num);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.fa-ba-track{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}.fa-ba-track i{display:block;height:100%;border-radius:inherit}.fa-ba-row.before i{background:color-mix(in srgb,var(--series-1) 38%,var(--surface))}.fa-ba-row.after i{background:var(--series-1)}.fa-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fa-chart{width:100%;height:auto;display:block;touch-action:pan-y}.fa-chart text{font-size:11px;fill:var(--ink-3);font-family:Anuphan,sans-serif}.fa-grid line{stroke:var(--grid)}.fa-grid text{text-anchor:end;font-variant-numeric:tabular-nums}.fa-x{text-anchor:middle}.fa-band rect{fill:color-mix(in srgb,var(--series-2) 9%,transparent)}.fa-band text{fill:color-mix(in srgb,var(--series-2) 75%,var(--ink));font-weight:600}.fa-avg{stroke:var(--series-2);stroke-width:2;stroke-dasharray:5 4}.fa-bar{fill:var(--series-1);opacity:.8}.fa-bar.hot{opacity:1}.fa-bar.skip{opacity:1;stroke:var(--series-1);stroke-width:.8}.fa-hatch{stroke:var(--series-1);stroke-width:2}.fa-line{fill:none;stroke:var(--series-1);stroke-width:2.2;stroke-linejoin:round}.fa-pt.skip{fill:var(--surface);stroke:var(--series-1);stroke-width:2}.fa-hover line{stroke:var(--ink-3);stroke-dasharray:3 3}.fa-hover circle{fill:var(--series-1);stroke:var(--surface);stroke-width:2}.fa-hover text{fill:var(--ink);font-weight:600;text-anchor:middle;font-size:12px}.fa-actions{display:flex;flex-wrap:wrap;gap:8px}.fa-steps{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.fa-steps li{display:grid;grid-template-columns:minmax(130px,180px) 1fr 120px 96px;align-items:center;gap:14px;padding:10px 16px}.fa-steps li+li{border-top:1px solid var(--line)}.fa-step-name{display:grid}.fa-step-bars{display:grid;gap:4px}.fa-step-bar{display:flex;align-items:center;gap:8px;min-height:14px}.fa-step-bar i{display:block;height:9px;min-width:2px;border-radius:5px}.fa-step-bar.w1 i{background:color-mix(in srgb,var(--series-1) 40%,var(--surface))}.fa-step-bar.w4 i{background:var(--series-1)}.fa-step-bar small{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.fa-step-res{text-align:right}@media(max-width:1000px){.fa-night,.fa-charts,.fa-pair{grid-template-columns:1fr}.fa-rows-head{display:none}.fa-row{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}.fa-row-end{grid-column:2;grid-row:1}.fa-mnf{grid-column:2}}@media(max-width:760px){.fa-flow-pipe{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.fa-flow-pipe li:nth-child(4) .fa-flow-seg{border-left:3px solid color-mix(in srgb,var(--ink-3) 35%,var(--line));border-radius:14px 0 0 14px}.fa-flow-pipe li:nth-child(3) .fa-flow-seg{border-right:3px solid color-mix(in srgb,var(--ink-3) 35%,var(--line));border-radius:0 14px 14px 0}.fa-flow-n{font-size:24px}.fa-journey-track{display:none}.fa-journey ol{grid-template-columns:1fr}.fa-journey li{position:relative;grid-template-columns:36px 1fr;justify-items:start;text-align:left;column-gap:12px;padding:0 0 16px}.fa-journey li .fa-valve{grid-row:span 2;margin:0}.fa-journey li:not(:last-child):before{content:"";position:absolute;left:15px;top:36px;bottom:0;width:6px;background:var(--line)}.fa-journey li:is(.ok,.warn,.skip):not(:last-child):before{background:var(--series-1)}.fa-steps li{grid-template-columns:1fr auto}.fa-step-bars{grid-column:1 / -1;grid-row:2}.fa-night{padding:20px 18px}.fa-night h2{font-size:24px}.fa-tank-glass{width:72px;height:130px}}.fa-demo-btn{margin-left:auto}.fa-demo-btn.on{background:var(--series-2);border-color:var(--series-2);color:#fff}:root{--font-num: "Chakra Petch", "Anuphan", sans-serif;--sold: #1f6fb2;--free: #2a9d8f;--leak: #c8352e;--hero-1: #0a2238;--hero-2: #0f3554;--hero-ink: #eaf3fa;--hero-mute: rgb(234 243 250 / .62);--hero-line: rgb(234 243 250 / .14);--hero-sold: #4fa3e0;--hero-free: #5fd0bd;--hero-leak: #ff6a55}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sold: #4a9be0;--free: #3cc0ac;--leak: #f06b5c;--hero-1: #0b1d2f;--hero-2: #0e2c46}}:root[data-theme=dark]{--sold: #4a9be0;--free: #3cc0ac;--leak: #f06b5c;--hero-1: #0b1d2f;--hero-2: #0e2c46}.mast-title h1{font-family:var(--font-num);font-weight:600;letter-spacing:-.2px}.tabs{background:none;border:0;border-radius:0;padding:0;gap:2px;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgb(255 255 255 / .14);width:100%}.tabs button{position:relative;padding:10px 14px 12px;border-radius:8px 8px 0 0;color:#ffffffb3}.tabs button:hover{background:#ffffff0f;color:#fff}.tabs button.on{background:none;color:#fff;box-shadow:none;font-weight:600}.tabs button:focus-visible{outline:2px solid var(--hero-sold);outline-offset:-2px}.tab-ink{position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--hero-sold),var(--hero-free))}.controls{background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line),var(--shadow-sm);border-radius:14px;padding:12px 14px}.controls label{min-width:150px;font-size:12.5px}.view{animation:none}.tab-tag{margin-left:6px;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:999px;vertical-align:1px;background:#fab21938;color:#ffd27a}.maint{display:grid;justify-items:center;gap:10px;text-align:center;padding:56px 20px;background:var(--surface);border:1px dashed color-mix(in srgb,var(--warning) 60%,var(--line));border-radius:16px}.maint-icon{font-size:40px;line-height:1}.maint h2{margin:0;font-family:var(--font-num);font-size:22px;font-weight:600}.maint p{margin:0;max-width:52ch;color:var(--ink-2)}.maint-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.maint-actions .back-all{align-self:center}.back-all{align-self:end;flex:none;padding:9px 14px;border-radius:10px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px;white-space:nowrap}.back-all:hover{background:var(--accent);color:var(--accent-ink)}.back-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dz{display:grid;gap:22px;min-width:0}.dz>*{min-width:0}.empty{margin:0;padding:40px 16px;text-align:center;color:var(--ink-3)}.sec{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px 20px;min-width:0}.sec-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.sec-head h2{margin:0;font-family:var(--font-num);font-size:17px;font-weight:600;letter-spacing:-.1px}.sec-head p{margin:3px 0 0;font-size:13px;color:var(--ink-3);max-width:70ch}.sec.flush{padding:0;overflow:hidden}.sec.flush>.sec-head{padding:16px 20px 0}.sec .table-wrap{box-shadow:none;border:0;border-radius:0}.sec.flush .table-wrap{border-top:1px solid var(--line)}.dz-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px}.dz-grid.even{grid-template-columns:repeat(2,minmax(0,1fr))}.deep{position:relative;overflow:hidden;color:var(--hero-ink);border-radius:20px;padding:24px 26px 22px;background:radial-gradient(600px 240px at 100% 0%,rgb(79 163 224 / .22),transparent 70%),linear-gradient(160deg,var(--hero-1),var(--hero-2))}.deep:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgb(95 208 189 / .5),transparent)}.deep-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:end}.deep-scope{font-size:13px;color:var(--hero-mute);margin:0 0 2px}.deep-rate{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px}.deep-rate b{font-family:var(--font-num);font-weight:600;font-size:clamp(48px,7vw,76px);line-height:1;letter-spacing:-2px;font-variant-numeric:tabular-nums}.deep-rate>span{font-size:15px;color:var(--hero-mute)}.deep-side{display:grid;gap:6px;justify-items:end;text-align:right}.deep-side .ro-label{color:var(--hero-mute)}.deep-side b{font-family:var(--font-num);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.deep .dl-up{color:#ff9a8c}.deep .dl-down{color:#7fe3b5}.deep .dl-flat,.deep .dl-none,.deep .dl-sfx{color:var(--hero-mute)}.deep-bals{display:grid;gap:18px;margin-top:22px}.bal{margin:0;display:grid;gap:8px}.bal-cap{font-size:13px;color:var(--hero-mute)}.bal-track{display:flex;height:18px;border-radius:5px;overflow:hidden;background:var(--hero-line)}.bal-seg{display:block;height:100%}.bal-seg+.bal-seg{box-shadow:inset 2px 0 0 var(--hero-1)}.bal-seg.sold{background:var(--hero-sold)}.bal-seg.free{background:var(--hero-free)}.bal-seg.leak{background:repeating-linear-gradient(135deg,var(--hero-leak) 0 6px,color-mix(in srgb,var(--hero-leak) 78%,#000) 6px 9px)}.bal-key{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px}.bal-item{display:grid;grid-template-columns:10px auto auto;align-items:baseline;gap:0 7px;color:var(--hero-mute)}.bal-item i{width:10px;height:10px;border-radius:2px;align-self:center}.bal-item.sold i{background:var(--hero-sold)}.bal-item.free i{background:var(--hero-free)}.bal-item.leak i{background:var(--hero-leak)}.bal-item b{font-family:var(--font-num);font-weight:600;color:var(--hero-ink);font-variant-numeric:tabular-nums}.bal-item.leak b{color:#ffb2a6}.bal-item small{grid-column:2 / -1;font-size:12px;opacity:.8}.readouts{display:grid;grid-template-columns:repeat(var(--n, 4),minmax(0,1fr))}.readouts.three{--n: 3}.readouts.five{--n: 5}.deep>.readouts.three{margin-top:18px}.ro{padding:2px 18px;min-width:0}.ro:first-child{padding-left:0}.ro+.ro{border-left:1px solid var(--line)}.ro-label{font-size:13px;color:var(--ink-2)}.ro-value{font-family:var(--font-num);font-weight:600;font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-sub{font-size:12.5px;color:var(--ink-3)}.ro-high .ro-value{color:var(--high)}.ro-mid .ro-value{color:var(--mid)}.ro-low .ro-value{color:var(--low)}.deep .readouts{margin-top:4px}.deep .ro+.ro{border-left-color:var(--hero-line)}.deep .ro-label,.deep .ro-sub{color:var(--hero-mute)}.deep .ro-leak .ro-value{color:#ffb2a6}.deep .ro-high .ro-value{color:#ff9a8c}.deep .ro-mid .ro-value{color:#ffd27a}.deep .ro-low .ro-value{color:#7fe3b5}.dl{font-size:13px;font-weight:600;white-space:nowrap}.dl-up{color:var(--critical)}.dl-down{color:var(--good)}.dl-flat,.dl-none{color:var(--ink-3);font-weight:500}.dl-sfx{font-weight:400;color:var(--ink-3)}.dz table{font-size:14px}.dz th{background:var(--surface);color:var(--ink-3);font-weight:500;font-size:12.5px;border-bottom:1px solid var(--line)}.dz td{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}.dz td.n,.dz .num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.dz th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dz th.sortable:hover{color:var(--ink)}.dz th.sortable[aria-sort=ascending]:after{content:" ▲";font-size:9px}.dz th.sortable[aria-sort=descending]:after{content:" ▼";font-size:9px}.dz th.sortable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dz tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dz tr.total td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--line)}.dz td.name-cell{font-weight:500}.dz .tone-high,.dz .tone-mid,.dz .tone-low{font-weight:600}.mini-bal{display:flex;width:120px;height:8px;border-radius:3px;overflow:hidden;background:var(--muted-bg);vertical-align:middle}.mini-bal i{display:block;height:100%}.mini-bal .sold{background:var(--sold)}.mini-bal .free{background:var(--free)}.mini-bal .leak{background:var(--leak)}.legend-inline{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--ink-3)}.legend-inline i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:0}.legend-inline .sold{background:var(--sold)}.legend-inline .free{background:var(--free)}.legend-inline .leak{background:var(--leak)}.sec-foot{margin:12px 0 0;font-size:12.5px;color:var(--ink-3)}.sec.flush .sec-foot{padding:0 20px 16px}.rank-list{list-style:none;margin:0;padding:0;display:grid}.rank-list li+li{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.rank-item{width:100%;display:grid;grid-template-columns:26px minmax(90px,140px) minmax(0,1fr) 76px minmax(110px,auto);gap:12px;align-items:center;padding:9px 4px;background:none;border:0;text-align:left;color:var(--ink);border-radius:8px}.rank-item:hover{background:var(--row-hover)}.rank-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rank-no{font-family:var(--font-num);color:var(--ink-3);text-align:right;font-size:13px}.rank-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-val{font-family:var(--font-num);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.rank-aside{text-align:right;font-size:12.5px;color:var(--ink-3)}.rbar{display:block;height:10px;border-radius:0 3px 3px 0;background:var(--muted-bg);overflow:hidden}.rbar-fill{display:block;height:100%;border-radius:0 3px 3px 0}.scale-key{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--ink-3)}.scale-key i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.top-dma{list-style:none;margin:0;padding:0;display:grid;gap:10px}.top-dma li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center}.top-dma .t-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-dma .t-name .code{color:var(--accent);margin-right:6px}.top-dma .t-bar{height:6px;border-radius:3px;background:var(--muted-bg);margin-top:5px;overflow:hidden}.top-dma .t-bar span{display:block;height:100%;background:var(--leak);border-radius:3px}.top-dma .t-val{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}.top-dma .t-val small{display:block;font-size:12px}.yoy{width:100%;border-collapse:collapse}.yoy th{text-align:right;font-weight:500;font-size:12.5px;color:var(--ink-3);padding:0 0 8px;background:none;position:static;border:0}.yoy th:first-child{text-align:left}.yoy td{padding:12px 0;border-top:1px solid var(--line);text-align:right;font-family:var(--font-num);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.yoy td:first-child{text-align:left;font-family:inherit;font-size:14px;font-weight:500}.yoy td.prev{color:var(--ink-3);font-weight:500}.yoy-note{margin:12px 0 0;display:grid;gap:4px;font-size:13px;color:var(--ink-2)}.dz .chart .legend{margin-bottom:8px}.dz .line{stroke-width:2.25}.dz .tooltip{top:0;right:0;font-size:13px}.dz .heat td.cell{font-family:var(--font-num);font-size:12.5px}.dz .heat th{position:static}.dz .area .code{font-family:var(--font-num);font-weight:600}.dz .twig{color:color-mix(in srgb,var(--ink-3) 60%,transparent)}.seg-pick{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;background:var(--muted-bg);border-radius:10px}.seg-pick button{position:relative;border:0;background:none;padding:6px 12px;border-radius:8px;color:var(--ink-2);font-size:13.5px}.seg-pick button.on{color:var(--ink);font-weight:600}.seg-pick .seg-ink{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);z-index:0}.seg-pick button span{position:relative;z-index:1}.seg-pick button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg-pick.dark{background:#ffffff14}.seg-pick.dark button{color:var(--hero-mute)}.seg-pick.dark button.on{color:var(--hero-1)}.seg-pick.dark .seg-ink{background:var(--hero-ink)}.movers{list-style:none;margin:0;padding:0;display:grid}.movers li+li{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.movers button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 4px;background:none;border:0;text-align:left;color:var(--ink);border-radius:8px}.movers button:hover{background:var(--row-hover)}.movers .m-path{font-family:var(--font-num);font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.drop{display:grid;place-items:center;gap:6px;text-align:center;padding:34px 16px;border:2px dashed var(--line);border-radius:14px;background:var(--surface-2);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}.drop input{position:absolute;width:1px;height:1px;opacity:0}.drop b{font-family:var(--font-num);font-size:17px;font-weight:600}.drop span{font-size:13px;color:var(--ink-3)}.steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:s}.steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:13.5px;color:var(--ink-2)}.steps li:before{content:counter(s);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-num);font-weight:600;background:var(--accent-soft);color:var(--accent)}.steps li.done:before{content:"✓";background:var(--low);color:#fff}.import-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.msg{margin:12px 0 0;padding:10px 14px;border-radius:10px;font-size:14px}.msg.ok{background:color-mix(in srgb,var(--low) 12%,transparent);color:var(--low)}.msg.err{background:var(--bad-bg);color:var(--high)}.perf{--q-good: var(--good);--q-fair: var(--serious);--q-watch: var(--warning);--q-crit: var(--critical)}.perf-ro{padding:4px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}.perf-ro .ro-value small{font-family:inherit;font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:0}.perf-ro .ro-sub{display:grid;gap:1px;margin-top:2px}.perf-ro .ro-sub .dl{font-size:12.5px}.perf-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}.matrix{display:grid;grid-template-columns:104px minmax(0,1fr) minmax(0,1fr);gap:8px}.mx-axis{font-size:13px;font-weight:600;border-radius:10px;padding:8px 10px}.mx-axis.col{text-align:center}.mx-axis.col.up{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.mx-axis.col.down{background:color-mix(in srgb,var(--critical) 12%,transparent);color:var(--critical)}.mx-axis.row{display:grid;align-content:center;gap:2px}.mx-axis.row small{font-weight:400;font-size:11.5px;opacity:.8}.mx-axis.row.down{background:color-mix(in srgb,var(--good) 10%,transparent);color:var(--good)}.mx-axis.row.up{background:color-mix(in srgb,var(--critical) 9%,transparent);color:var(--critical)}.quad{--q: var(--q-good);border-radius:12px;padding:12px 12px 14px;border-top:3px solid var(--q);background:color-mix(in srgb,var(--q) 9%,var(--surface));display:grid;gap:8px;align-content:start;min-width:0}.quad.q-fair{--q: var(--q-fair)}.quad.q-watch{--q: var(--q-watch)}.quad.q-crit{--q: var(--q-crit)}.quad.on{box-shadow:0 0 0 2px var(--q)}.quad-head{display:flex;justify-content:space-between;align-items:center;gap:8px;background:none;border:0;padding:0;color:var(--ink);text-align:left}.quad-head:focus-visible{outline:2px solid var(--q);outline-offset:3px;border-radius:6px}.q-badge{background:var(--q);color:#fff;font-weight:700;font-size:13px;padding:3px 11px;border-radius:999px}.quad.q-watch .q-badge{color:#3a2a00}.q-count{font-size:13px;color:var(--ink-2)}.q-count b{font-family:var(--font-num);font-size:28px;font-weight:600;color:var(--q);margin-right:4px;font-variant-numeric:tabular-nums}.quad.q-watch .q-count b{color:color-mix(in srgb,var(--q) 70%,var(--ink))}.q-text{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45}.q-text span{color:var(--ink-3)}.q-chips{display:flex;flex-wrap:wrap;gap:6px}.q-chips .chip{font:inherit;font-size:13px;padding:4px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--q) 30%,var(--line));background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.q-chips .chip:hover,.q-chips .chip.hot{background:color-mix(in srgb,var(--q) 18%,var(--surface));border-color:var(--q)}.q-chips .chip.sel{background:var(--q);border-color:var(--q);color:#fff;font-weight:600}.q-chips .chip:focus-visible{outline:2px solid var(--q);outline-offset:1px}.mx-tally{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:4px}.mx-tally .muted{margin-right:auto}.tally{font-size:12.5px;font-weight:600;padding:2px 10px;border-radius:999px}.tally.q-good{background:color-mix(in srgb,var(--q-good) 14%,transparent);color:var(--q-good)}.tally.q-fair{background:color-mix(in srgb,var(--q-fair) 16%,transparent);color:var(--q-fair)}.tally.q-watch{background:color-mix(in srgb,var(--q-watch) 22%,transparent);color:color-mix(in srgb,var(--q-watch) 60%,var(--ink))}.tally.q-crit{background:color-mix(in srgb,var(--q-crit) 14%,transparent);color:var(--q-crit)}.dv{display:grid;gap:0;min-width:0}.dv-head,.dv-row{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(96px,128px) minmax(0,1fr) 60px;gap:8px;align-items:center}.dv-head{font-size:12px;font-weight:600;color:var(--ink-3);padding:0 4px 6px}.dv-head span:first-child{grid-column:1 / 3;text-align:right;color:var(--leak)}.dv-head span:nth-child(2){text-align:center}.dv-head span:last-child{grid-column:4 / 6;color:var(--sold)}.dv-group{padding:3px 0}.dv-group+.dv-group{border-top:1px dashed color-mix(in srgb,var(--warning) 70%,transparent)}.dv-row{width:100%;padding:3px 4px;background:none;border:0;border-radius:6px;color:var(--ink);text-align:left}.dv-row:hover,.dv-row.hot{background:var(--row-hover)}.dv-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dv-val{font-family:var(--font-num);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.dv-val:first-child{text-align:right}.dv-val.good{color:var(--good)}.dv-val.bad{color:var(--critical)}.dv-bar{display:flex;height:12px}.dv-bar.left{justify-content:flex-end;border-right:1px solid var(--line)}.dv-bar.right{justify-content:flex-start;border-left:1px solid var(--line)}.dv-bar i{display:block;height:100%}.dv-bar.left i{border-radius:3px 0 0 3px}.dv-bar.right i{border-radius:0 3px 3px 0}.dv-bar.left i.good{background:color-mix(in srgb,var(--leak) 45%,var(--surface))}.dv-bar.left i.bad{background:var(--leak)}.dv-bar.right i.good{background:var(--good)}.dv-bar.right i.bad{background:color-mix(in srgb,var(--critical) 60%,var(--surface))}.dv-name{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dv-name .dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.q-good{background:var(--q-good)}.dot.q-fair{background:var(--q-fair)}.dot.q-watch{background:var(--q-watch)}.dot.q-crit{background:var(--q-crit)}.dv-foot{margin:8px 0 0;font-size:12px;color:var(--ink-3)}.perf-sum{margin-top:20px;padding:14px 16px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:14px}.perf-sum h3{margin:0 0 8px;font-family:var(--font-num);font-size:16px;font-weight:600}.perf-sum p{margin:4px 0;color:var(--ink-2);max-width:none}.perf-sum b{color:var(--ink);margin-right:6px}@media(max-width:1100px){.perf-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.matrix{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.matrix>span:first-child,.mx-axis.row{display:none}.mx-axis.col{font-size:12px;padding:6px}.dv-head,.dv-row{grid-template-columns:50px minmax(0,1fr) 78px minmax(0,1fr) 50px;gap:5px}.dv-name{font-size:12px}.perf-ro .ro-value small{display:none}}.dz>.pipe-nav{border-radius:14px;box-shadow:none}.pipe-nav.pn-loading{display:block;padding:18px 20px}@media(max-width:980px){.dz-grid,.dz-grid.even{grid-template-columns:minmax(0,1fr)}.readouts.five{--n: 3;row-gap:14px}.readouts.five .ro:nth-child(4){border-left:0;padding-left:0}}@media(max-width:760px){.dz{gap:16px}.deep{padding:18px 16px 16px;border-radius:16px}.deep-top{grid-template-columns:minmax(0,1fr)}.deep-side{justify-items:start;text-align:left}.readouts,.readouts.five{--n: 2;row-gap:14px}.readouts.three{--n: 3}.readouts.three .ro:nth-child(odd){border-left:1px solid var(--hero-line);padding-left:12px}.readouts.three .ro:first-child{border-left:0;padding-left:0}.readouts.three .ro{padding:2px 12px}.readouts.three .ro-value{font-size:20px}.readouts .ro:nth-child(odd){border-left:0;padding-left:0}.readouts.five .ro:nth-child(4){border-left:1px solid var(--line);padding-left:18px}.deep .readouts.five .ro:nth-child(4){border-left-color:var(--hero-line)}.ro-value{font-size:22px}.sec{padding:14px 14px 16px;border-radius:12px}.sec-head{flex-wrap:wrap}.sec.flush>.sec-head{padding:14px 14px 0}.sec.flush .sec-foot{padding:0 14px 14px}.rank-item{grid-template-columns:22px minmax(70px,96px) minmax(0,1fr) 64px;gap:8px}.rank-aside{display:none}.mini-bal{width:72px}.steps{grid-template-columns:minmax(0,1fr)}.tabs button{padding:9px 11px 11px}}@media(prefers-reduced-motion:reduce){.waves.back,.waves.front{animation:none}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,select,summary,[role=tab],tr.clickable{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.login{min-height:100dvh}.masthead-inner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-top:max(16px,env(safe-area-inset-top))}.page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(56px + env(safe-area-inset-bottom))}.stage-top{padding-top:max(16px,env(safe-area-inset-top))}.stage-bottom{bottom:max(28px,5vh,calc(env(safe-area-inset-bottom) + 16px))}@media(hover:none){body{background-attachment:scroll}.kpi:hover,.mini:hover,.stat-card:hover,button.primary:hover:not(:disabled){transform:none}}@media(pointer:coarse){input,select{font-size:16px;min-height:44px}.tabs button{min-height:44px}.seg-pick button{padding:9px 14px}.back-all,.btn-ghost{min-height:36px}}@media(max-width:900px){.tabs{padding-right:28px;scroll-padding-inline:16px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}}@media(max-width:760px){.pn-track{padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}}@media(max-width:900px){.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}table.sticky-col th:first-child,table.sticky-col td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--line)}table.sticky-col thead th:first-child{z-index:2}table.sticky-col tr.total td:first-child{background:var(--surface-2)}table.sticky-col tbody tr:hover td:first-child{background:var(--row-hover)}}@media(max-width:640px){.masthead-inner{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-top:max(12px,env(safe-area-inset-top))}.page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.chart svg{overflow:visible}.chart .axis{font-size:18px}.chart .direct{font-size:19px}.chart .dot{stroke-width:2.5}.dz .tooltip{left:0;right:0;top:0}.sec-head h2{font-size:16px}.deep-rate b{font-size:clamp(44px,14vw,60px)}.deep-side b{font-size:24px}.yoy td{font-size:16px}.rank-item{grid-template-columns:20px minmax(64px,88px) minmax(0,1fr) 58px;gap:6px;padding:10px 2px}.movers button{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.movers .m-path{grid-column:1 / -1;grid-row:2}.controls label{flex:1 1 130px}.maint{padding:40px 16px}}@media(max-width:380px){.btn-ghost{padding:5px 8px}.brand-name{font-size:15px}.readouts.three .ro-value{font-size:17px}.readouts.three .ro{padding:2px 8px}}.rbar-fill{background:color-mix(in srgb,var(--leak) 80%,var(--surface))}.ptag{display:inline-flex;align-items:center;font-family:IBM Plex Sans Thai,sans-serif;font-size:13px;font-weight:700;line-height:1.4;padding:2px 10px;border-radius:999px;white-space:nowrap;letter-spacing:0;vertical-align:2px}.ptag.month{background:color-mix(in srgb,var(--series-1) 16%,transparent);color:color-mix(in srgb,var(--series-1) 80%,var(--ink))}.ptag.cum{background:color-mix(in srgb,var(--series-2) 16%,transparent);color:color-mix(in srgb,var(--series-2) 80%,var(--ink))}.sec-head h2 .ptag{margin-left:6px}.deep .ptag.month{background:#3d8ee6;color:#fff}.deep .ptag.cum{background:#f07a45;color:#2a0f02}.deep-scope .ptag{margin-right:10px;font-size:14px;padding:3px 12px}.deep-side.cum-box{align-self:stretch;align-content:center;padding:14px 18px;border-radius:14px;background:#f07a451f;border:1px solid rgb(240 122 69 / .5)}.deep-side.cum-box b{color:#ffd2bd}@media(max-width:760px){.deep-scope .ptag{display:flex;width:max-content;margin:0 0 6px}.deep-side.cum-box{padding:12px 14px}}img.avatar{object-fit:cover;display:block}.me-btn{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;color:inherit;text-align:left;border-radius:999px}.me-btn:hover .avatar{box-shadow:0 0 0 2px #fff9}.me-btn:focus-visible{outline:2px solid var(--hero-sold);outline-offset:2px}.me-btn .who-text{max-width:180px}.me-btn .who-text,.me-btn .who-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dlg{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg)}.profile-dlg::backdrop{background:#04101d8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.profile-dlg[open]{animation:dlg-in .22s cubic-bezier(.2,.7,.2,1)}@keyframes dlg-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}.profile{display:grid;gap:14px;padding:20px 22px 18px}.profile-head{display:flex;justify-content:space-between;align-items:center}.profile-head h2{margin:0;font-family:var(--font-num);font-size:19px;font-weight:600}.profile-x{background:none;border:0;color:var(--ink-3);font-size:18px;width:36px;height:36px;border-radius:50%}.profile-x:hover{background:var(--muted-bg);color:var(--ink)}.profile-photo{display:flex;align-items:center;gap:16px}.profile-photo .avatar{flex:none;font-size:32px}.profile-photo-btns{display:grid;gap:4px;justify-items:start}.profile-photo-btns label.back-all{display:inline-block;cursor:pointer;color:var(--accent)}.profile-photo-btns label.back-all:hover{color:var(--accent-ink)}.profile-photo-btns input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.profile-photo-btns label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.profile-fixed{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}.profile-fixed>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.profile-fixed dt{color:var(--ink-3)}.profile-fixed dd{margin:0;font-weight:500}.profile .muted.small{margin:-4px 0 0}.profile-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.users{list-style:none;margin:0;padding:0;display:grid}.users li{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(150px,220px);gap:12px;align-items:center;padding:10px 0}.users li+li{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.users .avatar{width:40px;height:40px}.users .u-text{display:grid;min-width:0}.users .u-text b,.users .u-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users .badge{justify-self:start}@media(max-width:640px){.users li{grid-template-columns:40px minmax(0,1fr)}.users li>select,.users li>.badge{grid-column:2}.profile{padding:16px 16px 14px}}.cropper{display:grid;justify-items:center;gap:10px}.crop-stage{position:relative;border-radius:14px;overflow:hidden;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#000}.crop-stage:active{cursor:grabbing}.crop-stage canvas{display:block}.crop-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;box-shadow:0 0 0 2px #ffffffe6,0 0 0 400px #00000080}.crop-zoom{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;width:240px}.crop-zoom button{height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:18px;line-height:1}.crop-zoom input[type=range]{padding:0;border:0;min-height:0;background:none;accent-color:var(--accent)}.cropper>.muted.small{margin:0;text-align:center}.crop-actions{display:flex;gap:16px;align-items:center}.login-stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;overflow:clip;background:#061a30;color:#fff}.scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;transition:filter 1s ease,transform 1.2s ease}.login-stage.show-form .scene{filter:blur(3px) brightness(.8) saturate(1.1);transform:scale(1.05)}.stage-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:16px clamp(16px,4vw,40px);z-index:2}.stage-bottom{position:absolute;left:0;right:0;bottom:max(28px,5vh);display:grid;justify-items:center;gap:10px;z-index:2;padding:0 16px}.call-btn{border:0;border-radius:999px;padding:14px 26px;font-size:17px;font-weight:700;font-family:"Anuphan",inherit;color:#062440;background:linear-gradient(135deg,#ffe066,#ffc61a);box-shadow:0 12px 30px -8px #ffc61ab3,inset 0 -3px #0000001f;animation:call-pulse 1.6s ease-in-out infinite}.call-btn:hover{filter:brightness(1.05)}.skip-btn{background:none;border:0;color:#ffffffbf;font-size:13px;text-decoration:underline;text-underline-offset:3px}.stage-status{margin:0;padding:10px 18px;border-radius:999px;background:#061a3099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:600}@keyframes call-pulse{50%{transform:translateY(-3px) scale(1.04)}}.scene .sky-day{opacity:0}.scene .stars circle{fill:#fff;animation:twinkle 2.4s ease-in-out infinite}.scene .moon{fill:#f6f1d5;filter:drop-shadow(0 0 12px rgb(246 241 213 / .6))}.scene .sun{fill:#ffd84d;opacity:0;filter:drop-shadow(0 0 18px rgb(255 216 77 / .8))}.scene .cloud{fill:#ffffff24}.scene .cloud.c1{animation:drift 26s linear infinite}.scene .cloud.c2{animation:drift 34s linear infinite reverse}.scene .town{fill:#0a2846}.scene .windows rect{fill:#ffd76a;animation:twinkle 3s ease-in-out infinite}.scene .tower path:first-child{stroke:#0a2846;stroke-width:5;stroke-linecap:round}.scene .tower rect{fill:#0e3a63}.scene .tower .tower-drop{fill:#4cc3f0}.scene .crack{stroke:#06223d;stroke-width:3;fill:none;stroke-linejoin:round}.scene .road-crack{fill:#0e1319}.scene .seep{stroke:#7fd8f7;stroke-width:9;fill:none;stroke-linecap:round;stroke-dasharray:10 8;animation:seep .5s linear infinite}.scene .puddle{fill:#7fd8f7;opacity:.85;transform-box:fill-box;transform-origin:center;animation:puddle 1.4s ease-in-out infinite}.scene .flow{stroke:#ffffffb3;stroke-width:5;stroke-linecap:round;stroke-dasharray:22 34;opacity:0;animation:flow 1s linear infinite}.scene .clamp{transform:scale(0)}.scene .gush{animation:gush .18s ease-in-out infinite alternate}.scene .arc{stroke:#bdeefc;stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:12 14;opacity:.85;animation:seep .45s linear infinite}.scene .drops circle{fill:#c9f2ff;opacity:0;animation:drop 1.3s cubic-bezier(.3,.6,.6,1) infinite}.scene .sparkles path{fill:#fff6b0;transform:scale(0);transform-box:fill-box;transform-origin:center}.scene .bubble-ok{transform:scale(0)}.scene .bubble-text{font:700 16px Anuphan,IBM Plex Sans Thai,sans-serif;fill:#0b3358}.scene .truck{transform:translate(-640px)}.scene .truck-text{font:700 9.5px Anuphan,IBM Plex Sans Thai,sans-serif;fill:#fff}.scene .cone{transform:scale(0)}.scene .sign-text{font:700 13px Anuphan,IBM Plex Sans Thai,sans-serif;fill:#fff}.scene .sign-text.small{font-size:9.5px;font-weight:600}.scene .chest-text{font:700 9px Anuphan,IBM Plex Sans Thai,sans-serif;fill:#fff}.scene .man{transform:translate(-100px);opacity:0}.scene .eye{transform-box:fill-box;transform-origin:center;animation:blink 3.5s infinite}.scene .hotspot{cursor:pointer;outline:none}.scene .hotspot .ring{fill:none;stroke:#fff;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:ring 1.8s ease-out infinite}.scene .hotspot .ring.r2{animation-delay:.9s}.scene .hotspot:focus-visible .ring{stroke:#ffd23f}.scene .hint{animation:hint-bob 1.4s ease-in-out infinite}.scene .hint rect,.scene .hint path{fill:#ffd23f}.scene .hint text{font:700 15px Anuphan,IBM Plex Sans Thai,sans-serif;fill:#062440}.scene.fix .truck{animation:truck-in .9s cubic-bezier(.2,.8,.3,1) forwards}.scene.fix .wheel{animation:spin .3s linear 3}.scene.fix .beacon{animation:beacon .5s steps(2) infinite}.scene.fix .cone{animation:pop .4s cubic-bezier(.3,1.6,.5,1) 1s forwards}.scene.fix .cone.sign{animation-delay:1.15s}.scene.fix .man{animation:walk 1.2s cubic-bezier(.25,.7,.4,1) .9s both}.scene.fix .man-bob{animation:bob .2s ease-in-out .9s 6 alternate,hop .45s ease-out 3.8s 2}.scene.fix .leg-f{animation:swing .4s ease-in-out .9s 3 alternate}.scene.fix .leg-b,.scene.fix .arm-b{animation:swing-b .4s ease-in-out .9s 3 alternate}.scene.fix .arm-f{animation:reach .3s ease-out 2.1s forwards,hammer .28s ease-in-out 2.4s 5 alternate,cheer .45s cubic-bezier(.3,1.5,.5,1) 3.8s forwards}.scene.fix .clamp{animation:pop .45s cubic-bezier(.3,1.6,.5,1) 2.9s forwards}.scene.fix .geyser{animation:shrink .7s ease-in 3.1s forwards}.scene.fix .drops,.scene.fix .seep,.scene.fix .crack{animation:fade-out .5s ease 3.2s forwards}.scene.fix .puddle{animation:puddle 1.4s ease-in-out infinite,dry 1s ease-in 3.3s forwards}.scene.fix .flow{animation:flow 1s linear infinite,fade-in .6s ease 3.7s forwards}.scene.fix .sky-day,.scene.fix .sun{animation:fade-in 1.4s ease 3.5s forwards}.scene.fix .stars,.scene.fix .moon,.scene.fix .windows{animation:fade-out 1.2s ease 3.5s forwards}.scene.fix .sparkles path{animation:sparkle .9s ease-out 3.55s both}.scene.fix .bubble-ok{animation:pop .5s cubic-bezier(.3,1.6,.5,1) 3.8s forwards}.scene.done .man,.scene.done .truck,.scene.done .cone{transform:none;opacity:1}.scene.done .arm-f{transform:rotate(-150deg)}.scene.done .clamp,.scene.done .bubble-ok{transform:none}.scene.done .geyser{transform:scaleY(0)}.scene.done .drops,.scene.done .seep,.scene.done .crack,.scene.done .stars,.scene.done .moon,.scene.done .windows{opacity:0}.scene.done .puddle{animation:none;transform:scale(0)}.scene.done .flow,.scene.done .sky-day,.scene.done .sun{opacity:1}@keyframes twinkle{50%{opacity:.35}}@keyframes drift{0%{transform:translate(-120px)}to{transform:translate(120px)}}@keyframes seep{to{stroke-dashoffset:-36}}@keyframes flow{to{stroke-dashoffset:-56}}@keyframes puddle{50%{transform:scaleX(1.12)}}@keyframes dry{to{transform:scale(0)}}@keyframes gush{0%{transform:scale(.97,.95)}to{transform:scale(1.03,1.04)}}@keyframes drop{0%{transform:translate(0);opacity:0}10%{opacity:1}40%{transform:translate(calc(var(--dx) * .45),var(--dy))}to{transform:translate(var(--dx),176px);opacity:.2}}@keyframes ring{0%{transform:scale(.8);opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes hint-bob{50%{transform:translateY(-6px)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes walk{0%{transform:translate(-100px);opacity:0}15%{opacity:1}to{transform:translate(0);opacity:1}}@keyframes truck-in{0%{transform:translate(-640px)}80%{transform:translate(10px)}to{transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes beacon{50%{fill:#ffe14d}}@keyframes bob{to{transform:translateY(-3px)}}@keyframes hop{50%{transform:translateY(-16px)}}@keyframes swing{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}@keyframes swing-b{0%{transform:rotate(22deg)}to{transform:rotate(-22deg)}}@keyframes reach{to{transform:rotate(-45deg)}}@keyframes hammer{0%{transform:rotate(-35deg)}to{transform:rotate(-70deg)}}@keyframes cheer{0%{transform:rotate(-45deg)}to{transform:rotate(-150deg)}}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes shrink{to{transform:scaleY(0)}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{to{opacity:1}}@keyframes sparkle{0%{transform:scale(0) rotate(0)}50%{transform:scale(1.4) rotate(45deg)}to{transform:scale(0) rotate(90deg)}}.login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;z-index:3;background:radial-gradient(60% 60% at 50% 50%,#061a3040,#061a3099);animation:fade-in-bg .6s ease both}.login-overlay .login-card{animation:card-pop .75s cubic-bezier(.2,1.3,.4,1) both}@keyframes fade-in-bg{0%{opacity:0}}@keyframes card-pop{0%{opacity:0;transform:translateY(90px) scale(.55)}60%{opacity:1}to{transform:none}}@media(prefers-reduced-motion:reduce){.scene *,.call-btn,.login-overlay,.login-overlay .login-card{animation:none!important}}@media(max-width:480px){.stage-top{padding:12px 14px}.call-btn{font-size:15px;padding:12px 20px}.stage-status{font-size:13px;text-align:center}}
