@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(./cinzel-latin-600-normal-DdCmoF-5.woff2) format("woff2"),url(./cinzel-latin-600-normal-C4M8-_l5.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Ca1xIpTQ.woff2) format("woff2"),url(./cinzel-latin-700-normal-DF3_tZ4d.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./plus-jakarta-sans-latin-400-normal-BEreAzRs.woff2) format("woff2"),url(./plus-jakarta-sans-latin-400-normal-B430qp47.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./plus-jakarta-sans-latin-500-normal-QJgU3aHP.woff2) format("woff2"),url(./plus-jakarta-sans-latin-500-normal-8oBgpzDE.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./plus-jakarta-sans-latin-700-normal-ByV-LENh.woff2) format("woff2"),url(./plus-jakarta-sans-latin-700-normal-B-Gqp1pw.woff) format("woff")}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}button,.panel,.econ{touch-action:manipulation}.econ,.panel{touch-action:pan-y}body{font-family:var(--body);color:var(--ink);background:var(--backdrop);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.disp{font-family:var(--display);font-weight:700;letter-spacing:.06em}#stage{position:fixed;top:0;right:0;bottom:0;left:0;touch-action:none}#stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#planning{display:none}body.plan #planning{display:block}body.plan #three{visibility:hidden}.top{position:fixed;left:0;right:0;top:0;height:56px;padding-top:env(safe-area-inset-top,0px);background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));gap:16px;z-index:10}.brand{font-size:17px;white-space:nowrap}.sep{width:1px;height:28px;background:var(--line)}.side{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.chip{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}.date{display:flex;flex-direction:column;gap:1px;min-width:0}.date b{font-size:14px;white-space:nowrap}.date span{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{border-radius:99px;font-size:12px;font-weight:700;padding:4px 10px;white-space:nowrap;border:1px solid transparent}.pill.warn{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line)}.pill.bad{background:var(--bad-bg);color:var(--bad-ink);border-color:var(--bad-line)}.pill.plain{background:var(--ctl);color:var(--ink)}.season{margin-left:auto;display:flex;flex-direction:column;gap:3px;width:156px}.season .row{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-2);font-weight:500}.season b{font-size:14px}.season b.open{color:var(--ok-ink)}.season b.closed{color:var(--bad-ink)}.strip{position:relative;height:6px;background:var(--track);border-radius:3px}.strip i{position:absolute;top:0;bottom:0;background:var(--sailing);border-radius:3px}.strip em{position:absolute;top:-3px;width:3px;height:12px;background:var(--ink);border-radius:2px;transition:left .2s linear}.seg{display:flex;background:var(--ctl);border-radius:10px;padding:4px;gap:2px}.seg button{min-width:36px;height:34px;display:grid;place-items:center;border-radius:7px;font-size:13px;font-weight:500;color:var(--ink-2)}.seg button.on{background:var(--ink);color:#fff;font-weight:700}.menu{width:44px;height:44px;border-radius:10px;display:grid;place-items:center}.menu:hover,.zoombar button:hover,.x:hover{background:var(--ctl)}.rail{position:fixed;left:0;top:56px;bottom:0;width:72px;padding-left:env(safe-area-inset-left,0px);background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding-top:8px;gap:4px;z-index:9}.rb{width:56px;height:56px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--ink-2)}.rb svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rb.on{background:var(--tint);color:var(--accent-ink);font-weight:700}.rb:disabled{opacity:.38;cursor:default}.panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));top:72px;width:340px;max-height:calc(100% - 160px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;z-index:8}.ph{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ph small{font-size:12px;color:var(--ink-2)}.ph h2{font-size:22px;margin-top:2px}.x{width:36px;height:36px;border-radius:8px;background:var(--ctl);display:grid;place-items:center;color:var(--ink-2);flex:none}.rule{height:8px;margin:10px 0 12px;background:var(--rule-bg);opacity:.85}.pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fig small{display:block;font-size:12px;color:var(--ink-2)}.fig b{font-size:17px;font-variant-numeric:tabular-nums}.sect{font-size:12px;font-weight:700;color:var(--ink-2);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.04em}.rows{display:grid;gap:6px}.rowbtn{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;text-align:left;width:100%}.rowbtn:hover{border-color:var(--accent)}.rowbtn span{color:var(--ink-2);font-size:12px;text-align:right}.note{font-size:13px;color:var(--ink-2);line-height:1.5}.btn{height:48px;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:700;background:var(--accent);color:#fff;width:100%;margin-top:14px}.btn.sec{background:var(--panel);border:1px solid var(--line);color:var(--ink);font-weight:500;font-size:14px}.legend{position:fixed;left:calc(88px + env(safe-area-inset-left,0px));top:72px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:12px;z-index:7;display:grid;grid-template-columns:auto auto;gap:6px 14px}.legend div{display:flex;align-items:center;gap:8px;white-space:nowrap}.hint{position:fixed;top:72px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-size:13px;padding:8px 14px;border-radius:99px;z-index:11;transition:opacity .4s;pointer-events:none;max-width:calc(100% - 200px);text-align:center}.hint.hide{opacity:0}.info{position:fixed;left:calc(88px + env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:12px;color:var(--ink-2);z-index:7;display:flex;gap:14px;align-items:center}.scale{display:flex;flex-direction:column;gap:3px}.scale i{display:block;height:6px;border:1.5px solid var(--ink);border-top:none}.zoombar{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:4px;z-index:7;align-items:center}.zoombar button{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;font-size:22px}.zoombar small{font-size:10px;color:var(--ink-2);font-weight:700}.labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:hidden;transition:opacity .12s}.labels.moving{opacity:0;transition:none}.lab{position:absolute;transform:translate(-50%,-50%);white-space:nowrap}.lab.city{background:#fffffff0;border:1px solid var(--line);border-radius:99px;padding:2px 9px;font-weight:700;font-size:12.5px;display:flex;gap:6px;align-items:center}.lab.city.small{font-size:11px;padding:1px 7px}.lab.sel{border:2px solid var(--accent)}.lab.sea{font-size:13px;color:var(--sea-ink);font-style:italic;letter-spacing:.18em;text-transform:uppercase}.pop{position:fixed;top:64px;right:max(12px,env(safe-area-inset-right,0px));width:300px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;z-index:12;display:none}.pop.open{display:block}.pop h3{font-size:16px;margin-bottom:4px}.toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.toggle:last-of-type{border-bottom:0}.sw{width:44px;height:26px;border-radius:99px;background:var(--line);position:relative;flex:none}.sw:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s}.sw[aria-checked=true]{background:var(--accent)}.sw[aria-checked=true]:after{left:21px}@media (max-width: 1100px){.date span{max-width:220px}.legend{display:none}}@media (max-width: 900px){.brand,.sep{display:none}.season{width:118px}.season .row span:first-child{display:none}.season .row{justify-content:flex-end}.panel{width:300px}.date span{max-width:150px}}@media (prefers-reduced-motion: reduce){.strip em,.hint{transition:none}}.stats{display:flex;gap:14px;margin-left:auto;min-width:0}.stat{display:flex;flex-direction:column;min-width:0}.stat small{font-size:11px;color:var(--ink-2);font-weight:500;white-space:nowrap}.stat span{display:flex;gap:4px;align-items:baseline;white-space:nowrap}.stat b{font-size:15px;font-variant-numeric:tabular-nums}.stat em,.card em,.lrow b{font-style:normal;font-size:11px;font-weight:700}.up{color:#1d7a4f}.down{color:#b23a1e}.flat{color:var(--ink-2)}.season{margin-left:0}.date{flex:0 1 auto}@media (max-width: 1500px){.brand,.top>.sep{display:none}}@media (max-width: 1300px){.stats{gap:10px}.season{width:128px}.date span{max-width:170px}#statePill{display:none}.seg button{min-width:30px}}@media (max-width: 900px){.stat em{display:none}.stats{gap:10px}.stats .stat:nth-child(n+4){display:none}.date span{display:none}}.econ{position:fixed;left:calc(72px + env(safe-area-inset-left,0px));right:0;top:56px;bottom:0;background:var(--ground);z-index:8;overflow:auto;padding:22px max(28px,env(safe-area-inset-right,0px)) 28px 28px;display:flex;flex-direction:column;gap:14px}.econ[hidden]{display:none}.ehead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.ehead small{font-size:12px;color:var(--ink-2)}.ehead h1{font-size:26px}.ehead+.rule{margin:0}.btn.slim{height:40px;width:auto;padding:0 14px;margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}.card h3{font-size:15px}.cards6{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.card.res{gap:4px;padding:14px 16px}.card.res small{font-size:12px;color:var(--ink-2)}.card.res b{font-size:22px;font-variant-numeric:tabular-nums}.card.res em{font-size:12px}.card.res span{font-size:11px;color:var(--ink-2)}.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.lrow{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}.lrow b{font-size:13px}.lrow.divider{border-top:1px solid var(--line);padding-top:7px}.lrow.total span{font-weight:700}.note.small{font-size:12px}.big{display:flex;align-items:baseline;gap:8px}.big b{font-size:30px}.big span{font-size:13px;color:var(--ink-2)}.gangs{display:flex;gap:4px}.gangs i{flex:1;height:10px;border-radius:3px;background:var(--track)}.gangs i.on{background:var(--accent)}.status{border-radius:12px;padding:10px 12px;font-size:13px;border:1px solid}.status b{display:block}.status.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}.status.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}.qhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.qlist{display:flex;flex-direction:column;gap:8px}.qrow{display:grid;grid-template-columns:26px minmax(0,2.2fr) minmax(0,1.2fr) 70px minmax(60px,2fr) minmax(90px,1.3fr) 96px;gap:10px;align-items:center;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.qrow.wait{background:#fdf8ee}.qn{color:var(--ink-2);font-weight:700}.qg{color:var(--ink-2)}.qbar{height:6px;border-radius:3px;background:var(--track);position:relative;overflow:hidden}.qbar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:3px}.qrow.wait .qbar i{background:#b7791f}.qeta{font-weight:700}.qrow.wait .qeta{color:var(--warn-ink);font-weight:500;font-size:12px}.qbtns{display:flex;gap:4px;justify-content:flex-end}.qbtns button{width:28px;height:28px;border-radius:7px;background:var(--ctl);color:var(--ink-2)}.qbtns button:disabled{opacity:.35;cursor:default}.link{color:var(--ink-2);text-align:left;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}@media (max-width: 1000px){.qrow{grid-template-columns:22px minmax(0,1fr) 90px 96px}.qrow .link,.qrow .qg,.qrow .qbar{display:none}}.tabs{display:flex;background:var(--ctl);border-radius:10px;padding:4px;margin-bottom:6px}.tabs button{flex:1;height:34px;border-radius:7px;font-size:13px;color:var(--ink-2)}.tabs button.on{background:var(--panel);color:var(--ink);font-weight:700}.pill.line{background:var(--panel);border-color:var(--line);color:var(--ink)}.choices{display:flex;flex-direction:column;gap:8px}.choice{display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);width:100%}.choice.on{border:2px solid var(--accent);background:#fdf3ee;padding:9px 11px}.ctop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ctop b{font-size:14px}.ctop span{font-size:12px;color:var(--ink-2);white-space:nowrap}.ceff{font-size:12px;color:#3a4650}.ccost{font-size:12px;color:var(--ink-2)}.ccost .short{color:#b23a1e;font-weight:700}
