.app-body{--bg: #0b0f14;--paper: #11161d;--paper-2: #0d1218;--paper-3: #18202a;--line: #1e2731;--line-2: #2b3643;--ink: #e8ecf2;--ink-2: #b6bfcc;--muted: #8691a2;--faint: #4f5a68;--sky: #58a6ff;--sky-ink: #0b0f14;--sky-soft: rgb(88 166 255 / 12%);--within: #3fb950;--marginal: #d29922;--outside: #f85149;--unknown: #6e7681;--within-bg: rgb(63 185 80 / 10%);--marginal-bg: rgb(210 153 34 / 11%);--outside-bg: rgb(248 81 73 / 11%);--night: #070a0e;--civil: #2b3a4c;--day: #77683e;--golden: #b9842c;--r: 8px;--tap: 44px;--mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;color-scheme:dark;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}:root[data-theme=light] .app-body{--bg: #f2f4f7;--paper: #ffffff;--paper-2: #f7f8fa;--paper-3: #eef1f5;--line: #e2e6ec;--line-2: #cdd4de;--ink: #0f1720;--ink-2: #3b4655;--muted: #5f6b7d;--faint: #a1aab7;--sky: #0b62d6;--sky-ink: #ffffff;--sky-soft: rgb(11 98 214 / 8%);--within: #1a7f37;--marginal: #9a6700;--outside: #cf222e;--unknown: #8c959f;--within-bg: rgb(26 127 55 / 8%);--marginal-bg: rgb(154 103 0 / 9%);--outside-bg: rgb(207 34 46 / 8%);--night: #3d4a5c;--civil: #9aa7b8;--day: #efe2b2;--golden: #dda23e;color-scheme:light}@media(prefers-color-scheme:light){:root[data-theme=system] .app-body{--bg: #f2f4f7;--paper: #ffffff;--paper-2: #f7f8fa;--paper-3: #eef1f5;--line: #e2e6ec;--line-2: #cdd4de;--ink: #0f1720;--ink-2: #3b4655;--muted: #5f6b7d;--faint: #a1aab7;--sky: #0b62d6;--sky-ink: #ffffff;--sky-soft: rgb(11 98 214 / 8%);--within: #1a7f37;--marginal: #9a6700;--outside: #cf222e;--unknown: #8c959f;--within-bg: rgb(26 127 55 / 8%);--marginal-bg: rgb(154 103 0 / 9%);--outside-bg: rgb(207 34 46 / 8%);--night: #3d4a5c;--civil: #9aa7b8;--day: #efe2b2;--golden: #dda23e;color-scheme:light}}.app{min-height:100vh}.app-loading{padding:4rem 1rem;text-align:center;color:var(--muted);font:13px var(--mono);letter-spacing:.08em;text-transform:uppercase}.app-body a{color:var(--sky)}.icon{flex:none;display:block;max-width:none}.muted{color:var(--muted)}.small{font-size:.9rem}.app-body :focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:4px}.app-body button{-webkit-tap-highlight-color:transparent}.app-body .btn{min-height:var(--tap);border-radius:var(--r);padding:10px 18px;font:600 15px/1.2 var(--font);background:var(--sky);color:var(--sky-ink);border:1px solid var(--sky)}.app-body .btn:hover{filter:brightness(1.08);background:var(--sky)}.app-body .btn.secondary{background:transparent;color:var(--ink);border-color:var(--line-2)}.app-body .btn.secondary:hover{background:var(--paper-3);filter:none}.app-body .btn.small{min-height:38px;padding:8px 12px;font-size:14px}.app-body .btn .icon{margin-right:4px}.app-body input,.app-body select{background:var(--paper-2);color:var(--ink);border:1px solid var(--line-2);border-radius:6px;padding:10px 12px;font:16px var(--font);min-height:var(--tap)}.app-body input:focus,.app-body select:focus{border-color:var(--sky);outline:0;box-shadow:0 0 0 3px var(--sky-soft)}.app-body input:disabled,.app-body select:disabled{opacity:.55}.link-btn{background:none;border:0;color:var(--sky);font:inherit;cursor:pointer;padding:6px 0;text-decoration:none}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--outside)}.text-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;background:none;border:0;padding:4px 0;color:var(--sky);font:600 14px var(--font);cursor:pointer}.text-btn:hover{text-decoration:underline}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:var(--tap);height:var(--tap);border:1px solid var(--line);background:transparent;color:var(--ink-2);border-radius:var(--r);cursor:pointer;font:600 14px var(--font);padding:0}.icon-btn:hover{background:var(--paper-3);color:var(--ink);border-color:var(--line-2)}.icon-btn.labeled span:not(.pro-tag){display:none}@media(min-width:960px){.icon-btn.labeled{padding:0 14px}.icon-btn.labeled span:not(.pro-tag){display:inline}}.pro-tag{position:absolute;top:-7px;right:-8px;font:700 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 5px;border-radius:4px;background:var(--sky);color:var(--sky-ink)}@media(min-width:960px){.icon-btn.labeled .pro-tag{display:none}}.topbar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.topbar-inner{max-width:80rem;margin:0 auto;height:64px;display:flex;align-items:center;gap:10px;padding:0 16px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:none}.app-body .brand{color:var(--ink)}.brand svg{width:30px;height:30px}.brand-name{font:700 13px var(--font);letter-spacing:.16em;text-transform:uppercase;display:none}@media(min-width:760px){.brand-name{display:inline}}.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}.link-state{display:none;align-items:center;gap:7px;font:600 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}.link-state i{width:7px;height:7px;border-radius:50%;background:var(--within);box-shadow:0 0 0 3px var(--within-bg)}.link-state.stale i{background:var(--marginal);box-shadow:0 0 0 3px var(--marginal-bg)}@media(min-width:1100px){.link-state{display:inline-flex}}@media(max-width:1023px){.desktop-only{display:none!important}}.field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k chev" "v chev" "sub chev";align-items:baseline;column-gap:10px;row-gap:1px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px 10px 14px;text-align:left;color:var(--ink);font:inherit;min-width:0;min-height:60px}button.field{cursor:pointer}button.field:hover{border-color:var(--line-2);background:var(--paper-3)}button.field:active{background:var(--paper-3)}.field-k{grid-area:k;font:600 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field-v{grid-area:v;font-weight:650;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-sub{grid-area:sub;font:12.5px var(--mono);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-chev{grid-area:chev;align-self:center;color:var(--ink-2)}.spot-field{flex:1;max-width:32rem;min-height:48px;padding-top:5px;padding-bottom:6px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"k k chev" "v sub chev"}.spot-field .field-k{font-size:10px}@media(max-width:520px){.spot-field .field-sub{display:none}}.app-main{max-width:80rem;margin:0 auto;padding:16px 16px calc(32px + env(safe-area-inset-bottom))}.controls{display:grid;gap:12px;margin-bottom:14px}@media(min-width:760px){.controls{grid-template-columns:minmax(0,1fr) minmax(0,26rem)}}.alt-field{grid-template-areas:"k" "seg";grid-template-columns:1fr;row-gap:8px}.alt-field .seg{grid-area:seg}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:3px;gap:3px}.seg button{min-height:40px;border:0;background:transparent;color:var(--ink-2);font:600 14.5px var(--mono);padding:6px 4px;border-radius:4px;cursor:pointer;white-space:nowrap}.seg button:hover{color:var(--ink);background:var(--paper-3)}.seg button.on{background:var(--sky);color:var(--sky-ink)}.dash{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);grid-template-areas:"now" "verified" "chart" "timeline" "panels" "sources"}.dash-now{grid-area:now}.dash-verified{grid-area:verified}.dash-chart{grid-area:chart}.dash-timeline{grid-area:timeline}.dash-panels{grid-area:panels;display:grid;gap:14px}.dash-sources{grid-area:sources}.dash>div:empty{display:none}@media(min-width:1024px){.dash{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"now timeline" "verified timeline" "chart timeline" "panels timeline" "sources timeline";align-items:start}.dash-timeline{align-self:stretch}.dash-timeline .timeline-panel{position:sticky;top:80px;max-height:calc(100vh - 96px);display:flex;flex-direction:column}.dash-timeline .tl-scroll{overflow:auto;flex:1;min-height:0}.dash-panels{grid-template-columns:1fr 1fr}}@media(min-width:1280px){.dash{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 16px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font:650 12.5px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.panel-meta{font:12.5px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-text{margin:0;padding:14px 16px;color:var(--ink-2);font-size:15px}.panel-foot{margin:0;padding:10px 16px 12px;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line)}.panel-foot.split{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.help-foot{display:flex;justify-content:space-between;align-items:center;gap:6px 14px;flex-wrap:wrap}.status-block{display:flex;gap:14px;padding:16px}.status-ind{width:5px;border-radius:3px;background:var(--unknown);flex:none}.lvl-within .status-ind{background:var(--within)}.lvl-marginal .status-ind{background:var(--marginal)}.lvl-outside .status-ind{background:var(--outside)}.status-label{font:700 19px/1.25 var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--unknown)}.lvl-within .status-label{color:var(--within)}.lvl-marginal .status-label{color:var(--marginal)}.lvl-outside .status-label{color:var(--outside)}.status-reason{margin-top:4px;font-size:15.5px;color:var(--ink-2)}.readouts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.readout{padding:14px 16px 16px;min-width:0;display:flex;flex-direction:column}.readout+.readout{border-left:1px solid var(--line)}.readout-k{font:600 11.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.readout-v{font:600 clamp(34px,9vw,44px)/1.1 var(--mono);letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}.readout-u{font:500 14px var(--mono);letter-spacing:0;color:var(--muted);margin-left:6px}.readout-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:3px;font:13px var(--mono);color:var(--muted);min-height:1.4em}.readout .meter-row{margin-top:auto;padding-top:12px}.wind-arrow{color:var(--ink-2);transition:transform .25s}.meter-row{display:flex;align-items:center;gap:10px}.meter{position:relative;flex:1;height:6px;background:var(--paper-3);border-radius:3px}.meter-fill{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--unknown);transition:width .3s}.meter-fill.within{background:var(--within)}.meter-fill.marginal{background:var(--marginal)}.meter-fill.outside{background:var(--outside)}.meter-tick{position:absolute;top:-3px;width:2px;height:12px;background:var(--line-2);border-radius:1px}.meter-tick.max{background:var(--ink-2)}.meter-pct{font:650 14px var(--mono);color:var(--muted);min-width:4.5ch;text-align:right}.meter-pct.within{color:var(--within)}.meter-pct.marginal{color:var(--marginal)}.meter-pct.outside{color:var(--outside)}.checklist{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}.checklist tr+tr td{border-top:1px solid var(--line)}.checklist td{padding:0 8px;height:48px;vertical-align:middle}.ck-ind{width:26px;padding-left:16px!important}.ck-ind i,.detail li i,.help-levels i,.status-key i{display:block;width:10px;height:10px;border-radius:2px;background:var(--unknown);flex:none}.checklist .within .ck-ind i,.detail li.within i,.help-levels .within i,.status-key .within i{background:var(--within)}.checklist .marginal .ck-ind i,.detail li.marginal i,.help-levels .marginal i,.status-key .marginal i{background:var(--marginal)}.checklist .outside .ck-ind i,.detail li.outside i,.help-levels .outside i,.status-key .outside i{background:var(--outside)}.ck-k{font:600 13px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.ck-v{font:550 15.5px var(--mono);color:var(--ink);white-space:nowrap}.ck-x{font:13px var(--mono);color:var(--muted);white-space:nowrap}.ck-s{text-align:right;padding-right:16px!important;font:700 12px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--unknown);white-space:nowrap}.checklist .within .ck-s{color:var(--within)}.checklist .marginal .ck-s{color:var(--marginal)}.checklist .outside .ck-s{color:var(--outside)}.checklist tr.outside{background:var(--outside-bg)}.checklist tr.marginal{background:var(--marginal-bg)}@media(max-width:420px){.ck-x{display:none}}.chart{width:100%;padding:12px 6px 0 2px}.chart svg{display:block;max-width:none;height:auto;overflow:visible}.chart .grid-line{stroke:var(--line);stroke-width:1}.chart .day-line{stroke:var(--line-2);stroke-dasharray:2 3}.chart .axis{fill:var(--muted);font:11.5px var(--mono)}.chart .th-line{stroke-width:1.25}.chart .th-line.within{stroke:var(--within);stroke-dasharray:4 3;opacity:.8}.chart .th-line.limit{stroke:var(--outside);opacity:.85}.chart .th-label{font:700 10.5px var(--mono);letter-spacing:.05em}.chart .th-label.within{fill:var(--within)}.chart .th-label.limit{fill:var(--outside)}.chart .bar{fill:var(--unknown);opacity:.75}.chart .gust-stem{stroke:var(--unknown);stroke-width:1;opacity:.45}.chart .gust-cap{stroke:var(--unknown);stroke-width:2.5}.chart .within .bar{fill:var(--within)}.chart .within .gust-stem,.chart .within .gust-cap{stroke:var(--within)}.chart .marginal .bar{fill:var(--marginal)}.chart .marginal .gust-stem,.chart .marginal .gust-cap{stroke:var(--marginal)}.chart .outside .bar{fill:var(--outside)}.chart .outside .gust-stem,.chart .outside .gust-cap{stroke:var(--outside)}.chart .bar-g:hover .bar{opacity:1}.chart-key{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 16px 12px;border-top:1px solid var(--line);font:600 12px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.chart-key span{display:inline-flex;align-items:center;gap:7px}.chart-key i{display:inline-block}.k-bar{width:9px;height:12px;background:var(--ink-2);opacity:.6}.k-gust{width:12px;height:0;border-top:2px solid var(--ink-2)}.k-max{width:16px;height:0;border-top:2px solid var(--outside)}.k-within{width:16px;height:0;border-top:2px dashed var(--within)}.verify-line{display:flex;align-items:center;gap:12px;padding:14px 16px;font-size:15.5px;color:var(--ink)}.verify-ind{width:10px;height:10px;border-radius:2px;background:var(--within);flex:none}.verify-details{border-top:1px solid var(--line)}.verify-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);padding:0 16px;font:600 12.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);list-style:none}.verify-details summary:hover{background:var(--paper-3)}.verify-details summary::-webkit-details-marker{display:none}.verify-details summary:after{content:"+";font:600 18px var(--mono);color:var(--muted)}.verify-details[open] summary:after{content:"\2212"}.data-table{width:100%;border-collapse:collapse;font:14px var(--mono)}.data-table th{font:600 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px 16px;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.data-table td{padding:10px 16px;border-bottom:1px solid var(--line)}.data-table .num{text-align:right}.data-table tr.best td{color:var(--ink);font-weight:650}.tag{display:inline-block;margin-left:8px;font:700 10px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--within);border:1px solid currentColor;border-radius:4px;padding:1px 5px;vertical-align:1px}.raw{margin:0;padding:12px 16px 14px;font:12.5px var(--mono);color:var(--muted);word-break:break-all}.tl-toolbar{display:grid;gap:12px;padding:12px 16px 14px;border-bottom:1px solid var(--line)}.window-line{display:grid;gap:2px;min-width:0}.wl-k{font:600 11.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.wl-v{font:550 15px var(--font);color:var(--ink-2)}.window-line.has .wl-v{color:var(--within);font-family:var(--mono)}.switch{display:inline-flex;align-items:center;gap:10px;min-height:36px;font:600 14px var(--font);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;justify-self:start}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{position:relative;width:40px;height:24px;border-radius:12px;background:var(--paper-3);border:1px solid var(--line-2);flex:none;transition:background .15s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.switch input:checked+.switch-track{background:var(--sky-soft);border-color:var(--sky)}.switch input:checked+.switch-track:after{transform:translate(16px);background:var(--sky)}.switch input:focus-visible+.switch-track{outline:2px solid var(--sky);outline-offset:2px}.switch.locked{color:var(--ink-2)}.status-key{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink-2)}.status-key span{display:inline-flex;align-items:center;gap:7px}.hourly{width:100%;border-collapse:collapse;font:15px var(--mono);font-variant-numeric:tabular-nums}.hourly thead th{position:sticky;top:0;z-index:2;background:var(--paper-2);font:600 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.hourly .num{text-align:right}.hourly th.c-time,.hourly td.c-time{padding-left:16px}.day-row th{text-align:left;padding:9px 16px;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:650 12px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.hourly tbody:first-of-type .day-row th{border-top:0}.hr td{padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink-2);vertical-align:middle}.hr{cursor:pointer}.hr:hover td,.hr:active td{background:var(--paper-3)}.hr.open td{background:var(--paper-3);border-bottom-color:transparent}.hr.is-now td{background:var(--sky-soft)}.hr td.c-time{box-shadow:inset 4px 0 0 var(--unknown)}.hr.within td.c-time{box-shadow:inset 4px 0 0 var(--within)}.hr.marginal td.c-time{box-shadow:inset 4px 0 0 var(--marginal)}.hr.outside td.c-time{box-shadow:inset 4px 0 0 var(--outside)}.c-time .t{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600}.c-time .st{display:block;margin-top:1px;font:700 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--unknown)}.hr.within .st{color:var(--within)}.hr.marginal .st{color:var(--marginal)}.hr.outside .st{color:var(--outside)}.now-chip{font:700 9.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--sky-ink);background:var(--sky);border-radius:4px;padding:2px 5px}.c-wind strong{display:block;color:var(--ink);font-weight:650;font-size:16px}.c-wind small{display:block;font-size:12px;color:var(--muted)}td.c-dir{color:var(--ink-2)}.c-dir .wind-arrow{display:inline-block;vertical-align:-2px;margin-right:6px}.c-dir span{font-size:13.5px}.c-go{width:34px;padding-right:12px!important;color:var(--muted)}.c-go .icon{transition:transform .15s;margin-left:auto}.c-go .icon.rot{transform:rotate(90deg);color:var(--ink)}.detail-row td{padding:0;background:var(--paper-3);border-bottom:1px solid var(--line)}.detail{padding:4px 16px 14px 20px;display:grid;gap:8px}.detail-head{font:700 13px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--unknown)}.detail-head.within{color:var(--within)}.detail-head.marginal{color:var(--marginal)}.detail-head.outside{color:var(--outside)}.detail ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:14px var(--font);color:var(--ink);white-space:normal}.detail li{display:flex;align-items:center;gap:10px;margin:0}.detail-meta{font-size:12.5px;color:var(--muted)}@media(max-width:480px){th.c-dir,td.c-dir{display:none}}@media(max-width:380px){.hourly{font-size:14px}.hr td,.hourly thead th{padding-left:6px;padding-right:6px}}.upgrade{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--line);background:var(--paper-2)}.upgrade div{display:grid;gap:3px}.upgrade strong{font-size:15px}.upgrade span{font-size:14px;color:var(--muted)}.kv-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.kv-row .kv{padding:14px 16px}.kv-row .kv+.kv{border-left:1px solid var(--line)}.kv{display:grid;gap:3px;min-width:0}.kv-k{font:600 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.kv-v{font:650 28px/1.15 var(--mono);letter-spacing:-.02em;color:var(--ink)}.kv-v.sm{font-size:16px;letter-spacing:0;padding-top:6px}.kv.status.within .kv-v{color:var(--within)}.kv.status.marginal .kv-v{color:var(--marginal)}.kv.status.outside .kv-v{color:var(--outside)}@media(max-width:520px){.kv-row{grid-template-columns:1fr 1fr}.kv-row .kv:nth-child(3){border-left:0;border-top:1px solid var(--line)}.kv-row .kv:nth-child(4){border-top:1px solid var(--line)}}.kp-bars{display:flex;align-items:flex-end;gap:3px;height:64px;margin:14px 16px 0;border-bottom:1px solid var(--line-2)}.kb{flex:1;min-height:4px;background:var(--unknown);border-radius:2px 2px 0 0}.kb.within{background:var(--within)}.kb.marginal{background:var(--marginal)}.kb.outside{background:var(--outside)}.kb.future{opacity:.35}.kp-bars+.panel-foot{border-top:0}.daybar{position:relative;height:14px;margin:16px 16px 6px;border-radius:3px;background:var(--night);overflow:hidden}.daybar span{position:absolute;top:0;bottom:0}.seg-night{background:var(--night)}.seg-civil{background:var(--civil)}.seg-day{background:var(--day)}.now-mark{width:3px;background:var(--sky)}.daybar-scale{display:flex;justify-content:space-between;margin:0 16px 12px;font:11.5px var(--mono);color:var(--muted)}.kv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.kv-grid .kv{padding:12px 16px;border-bottom:1px solid var(--line)}.kv-grid .kv:not(:nth-child(3n+1)){border-left:1px solid var(--line)}.kv-grid .kv:nth-last-child(-n+3){border-bottom:0}.kv-grid+.panel-foot{border-top:1px solid var(--line)}@media(max-width:520px){.kv-grid{grid-template-columns:1fr 1fr}.kv-grid .kv{border-left:0!important;border-bottom:1px solid var(--line)!important}.kv-grid .kv:nth-child(2n){border-left:1px solid var(--line)!important}.kv-grid .kv:nth-last-child(-n+2){border-bottom:0!important}}.sources{padding:4px 2px 0;font-size:13.5px;color:var(--muted)}.sources h2{font:650 11.5px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.sources ul{margin:0 0 12px;padding-left:1.1rem}.sources li+li{margin-top:4px}.sources a{color:var(--ink-2)}.disclaimer{margin:0;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--marginal);border-radius:6px;background:var(--paper);color:var(--ink-2);font-size:14px}.banner{padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--sky);border-radius:6px;background:var(--paper);margin:0 0 14px;font-size:15px;color:var(--ink-2)}.banner.warn{border-left-color:var(--marginal)}.skeleton-wrap{display:grid;gap:14px}.skeleton{height:120px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(90deg,var(--paper) 25%,var(--paper-3) 50%,var(--paper) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}.skeleton.tall{height:320px}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.welcome{max-width:32rem;margin:6vh auto 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);text-align:left}.welcome-mark{padding:22px 22px 0;color:var(--ink)}.welcome-mark svg{width:38px;height:38px}.welcome h1{font:650 23px/1.3 var(--font);letter-spacing:-.01em;margin:14px 22px 8px;color:var(--ink)}.welcome-lead{color:var(--ink-2);margin:0 22px 18px;font-size:16px}.welcome-actions{display:grid;gap:10px;padding:0 22px 22px}.welcome-actions .btn{width:100%;justify-content:center;min-height:50px}.welcome-points{list-style:none;margin:0;padding:14px 22px 18px;border-top:1px solid var(--line);display:grid;gap:10px;font-size:15px;color:var(--ink-2)}.welcome-points li{display:flex;align-items:center;gap:12px;margin:0}.welcome-points .icon{color:var(--sky)}.install-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:12px 14px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}.install-hint p{margin:0}.app-foot{display:flex;justify-content:center;gap:24px;margin-top:28px;font:12.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}.app-foot a{color:var(--muted);text-decoration:none;padding:8px 0}.app-foot a:hover{color:var(--ink)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--paper) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{display:grid;justify-items:center;gap:3px;min-height:62px;padding:9px 4px 8px;background:none;border:0;color:var(--muted);font:600 12px var(--font);cursor:pointer}.bottom-nav button.on{color:var(--sky);box-shadow:inset 0 2px 0 var(--sky)}.bottom-nav button:active{background:var(--paper-3)}@media(max-width:1023px){.app-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}@media(min-width:1024px){.bottom-nav{display:none}}.sheet-open{overflow:hidden}.sheet-backdrop{position:fixed;inset:0;z-index:30;background:#03060a9e;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:34rem;max-height:90vh;max-height:90dvh;overflow:auto;background:var(--paper);border:1px solid var(--line-2);border-bottom:0;border-radius:12px 12px 0 0;padding:0 18px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #00000059;animation:up .18s ease-out;color:var(--ink)}@keyframes up{0%{transform:translateY(16px);opacity:0}}@media(min-width:640px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:12px;border-bottom:1px solid var(--line-2)}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;min-height:60px;margin:0 -18px 12px;padding:0 12px 0 18px;background:var(--paper);border-bottom:1px solid var(--line);z-index:1}.sheet-head h2{margin:0;font:650 17px var(--font);letter-spacing:0;color:var(--ink)}.sheet-body{font-size:15.5px;color:var(--ink-2)}.sheet-body p{margin:0 0 12px}.sheet-body h3{font:650 12px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}.sheet .field{display:grid;grid-template-areas:none;grid-template-columns:1fr;gap:8px;margin:12px 0;padding:0;border:0;background:none;min-height:0}.sheet .field>span{font:600 13px var(--font);color:var(--ink-2)}.sheet .field input,.sheet .field select{width:100%}.app-body .btn.wide{width:100%;justify-content:center;min-height:50px}.here-box{display:grid;gap:10px;margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}.here-box.on{border-color:var(--sky);box-shadow:inset 3px 0 0 var(--sky)}.here-main{display:grid;gap:2px;min-width:0}.here-main strong{font-size:17px;overflow-wrap:anywhere}.here-k{font:600 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.here-main .muted.small{font:13px var(--mono)}.here-actions{display:flex;flex-wrap:wrap;gap:8px}.here-credit{font-size:12px;color:var(--muted)}.list{list-style:none;padding:0;margin:10px 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.list li+li{border-top:1px solid var(--line);margin-top:0}.list button{width:100%;min-height:52px;text-align:left;border:0;background:var(--paper);color:var(--ink);font:16px var(--font);padding:12px 14px;cursor:pointer}.list button:hover,.list button:active{background:var(--paper-3)}.list button[aria-current=true]{background:var(--sky-soft);box-shadow:inset 3px 0 0 var(--sky)}.list .muted.small{font:13px var(--mono)}.list.drones{max-height:48vh;overflow:auto}.row-actions{display:flex;align-items:center}.row-actions>button:first-child{flex:1}.row-actions .link-btn{width:auto;min-height:52px;padding:0 14px;font-size:14px}.pill{min-height:40px;border:1px solid var(--line-2);background:transparent;color:var(--ink-2);border-radius:6px;padding:8px 12px;font:600 14px var(--font);cursor:pointer}.pill.on{background:var(--sky-soft);color:var(--ink);border-color:var(--sky)}.th-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.plans-app{display:grid;gap:10px;margin:14px 0}.plan-btn{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;min-height:64px;text-align:left;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink);border-radius:var(--r);padding:12px 16px;font:inherit;cursor:pointer}.plan-btn:hover{border-color:var(--sky)}.plan-btn strong{font:650 20px var(--mono)}.plan-btn .small{grid-column:1 / -1;color:var(--muted);font-size:14px}.plan-btn.featured{border-color:var(--sky);box-shadow:inset 3px 0 0 var(--sky)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:5px;border:1px solid var(--line-2);font:650 12px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:transparent}.chip:before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor}.chip.within{color:var(--within)}.chip.marginal{color:var(--marginal)}.chip.outside{color:var(--outside)}.app-body hr{border:0;border-top:1px solid var(--line);margin:18px 0}.help h3:first-child{margin-top:4px}.help p{color:var(--ink-2)}.help strong{color:var(--ink)}.help-levels{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:10px}.help-levels li{display:flex;gap:12px;align-items:flex-start;margin:0;padding:12px;border:1px solid var(--line);border-radius:var(--r)}.help-levels li i{margin-top:6px}.help-levels div{display:grid;gap:2px}.help-levels span{color:var(--ink-2);font-size:15px}.help-note{margin-top:16px!important;padding:12px 14px;border-left:3px solid var(--marginal);background:var(--paper-2);border-radius:6px;font-size:14px}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;background:var(--paper-3);color:var(--ink);border:1px solid var(--line-2);padding:12px 16px;border-radius:var(--r);box-shadow:0 10px 30px #00000059;max-width:calc(100% - 32px);font-size:15px}@media(max-width:1023px){.toast{bottom:calc(80px + env(safe-area-inset-bottom))}}
