.wp-marker{cursor:pointer;z-index:5;background:0 0;border:0;width:14px;height:14px;padding:0;position:relative}.wp-diamond{background:var(--fg);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:10px;height:10px;position:absolute;top:2px;left:2px}.wp-label{background:var(--surface);border:1px solid var(--line);white-space:nowrap;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);padding:2px 5px;font-size:10px;line-height:1.3;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.wp-marker:hover .wp-label,.wp-marker:focus-visible .wp-label{border-color:var(--fg);outline:none}.navigator.is-wp-mode .maplibregl-canvas-container,.navigator.is-wp-mode .maplibregl-canvas{cursor:crosshair}.wp-banner{z-index:12;background:var(--surface);border:1px solid var(--fg);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:10.5px;display:flex;position:absolute;top:76px;left:50%;transform:translate(-50%)}.wp-banner button{border:1px solid var(--line);color:var(--fg);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;padding:5px 9px}.wp-banner button:hover{background:var(--hover);border-color:var(--line-strong)}.wp-section{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin:4px 0 0;padding:12px 0 0;display:flex}.wp-section h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);justify-content:space-between;margin:0;font-size:10px;font-weight:500;display:flex}.wp-section .rp-sub{margin:0 0 4px}.wp-add{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wp-add .rp-btn.is-on{border-color:var(--fg)}.wp-hint{color:var(--muted);font-size:11.5px}.wp-list{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.wp-item{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:center;gap:4px 8px;padding:8px 10px;display:grid}.wp-item.is-hl{border-color:var(--fg)}.wp-num{color:var(--fg)}.wp-name{border-radius:var(--radius);min-width:0;color:var(--fg);font:inherit;background:0 0;border:1px solid #0000;padding:3px 5px;font-size:13px}.wp-name:hover{border-color:var(--line)}.wp-name:focus{border-color:var(--line-strong);background:var(--panel-2);outline:none}.wp-tools{gap:2px;display:flex}.wp-tools button{border-radius:var(--radius);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.wp-tools button:hover:not(:disabled){border-color:var(--line);color:var(--fg)}.wp-tools button:disabled{opacity:.3;cursor:default}.wp-up{transform:rotate(180deg)}.wp-facts{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 0;display:grid}.wp-facts div{flex-direction:column;gap:3px;min-width:0;display:flex}.wp-facts dd{margin:0}.wp-val{color:var(--fg);font-variant-numeric:tabular-nums;font-size:15px;font-weight:300}.wp-nodata{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:10.5px}.wp-coords{font-family:var(--font-mono);letter-spacing:.06em;color:var(--dim);grid-column:1/-1;font-size:10px}.wp-note{color:var(--muted);margin:2px 0 0;font-size:11px;line-height:1.45}.route-head{flex-direction:column;gap:9px;display:flex}.route-head-row{align-items:center;gap:8px;min-width:0;display:flex}.route-head-pin{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--accent);flex:none;margin:0 3px 0 1px}.route-head-k{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex:none;font-size:10px}.route-head .rp-site{flex:0 auto;min-width:0}.route-head .rp-site-btn{font-size:14px}.route-head-dot{color:var(--dim)}.route-head-when{border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid #0000;flex:none;align-items:center;margin:-2px 0;padding:2px 6px;font-size:11px;display:inline-flex;position:relative}.route-head-when:hover{border-color:var(--line);color:var(--fg)}.route-head-when input{opacity:0;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100%;height:100%;position:absolute;inset:0}.route-head-when:focus-within{outline:1px solid var(--earth);outline-offset:1px}.route-modes{align-items:center;gap:6px;padding-left:22px;display:flex}.route-modes button{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:10.5px;transition:color .12s,border-color .12s;display:inline-flex}.route-modes button:hover{color:var(--fg);border-color:var(--line-strong)}.route-modes button[aria-pressed=true]{border-color:var(--active);color:var(--fg)}.route-modes button[aria-pressed=true] svg{color:var(--active)}.route-modes .route-head-close{border:0;flex:none;place-items:center;width:30px;height:30px;margin-left:auto;padding:0;display:grid}.rp{flex-direction:column;gap:12px;padding:12px 14px;display:flex}.rp-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:11px;font-weight:500}.rp-lead{color:var(--muted);margin:0;font-size:13px}.rp-row{flex-wrap:wrap;gap:8px;display:flex}.rp-muted{color:var(--muted);margin:0;font-size:12px}.rp-btn{border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:10.5px;display:inline-flex}.rp-btn:hover:not(:disabled){background:var(--hover);border-color:var(--line-strong)}.rp-btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.rp-btn.primary:hover:not(:disabled){background:var(--fg)}.rp-btn:disabled{opacity:.5;cursor:default}.rp-link{color:var(--earth);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin-left:8px;padding:0;font-size:12px;text-decoration:underline}.rp-alert{color:var(--fg);background:var(--panel-2);border:1px solid var(--line);border-left:2px solid var(--sun);border-radius:var(--radius);margin:0;padding:8px 32px 8px 10px;font-size:12px;position:relative}.rp-alert button{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:4px;right:4px}.rp-notice{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ok);margin:0;font-size:10.5px}.rp-notice:empty{display:none}.rp-head{align-items:center;gap:8px;display:flex}.rp-name{min-width:0;color:var(--fg);background:0 0;border:0;border-bottom:1px solid #0000;flex:1;padding:2px 0;font-size:16px;font-weight:400}.rp-name:hover{border-bottom-color:var(--line)}.rp-name:focus{border-bottom-color:var(--earth);outline:none}.rp-site{position:relative}.rp-site-btn{max-width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:15px;display:flex}.rp-site-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rp-site-btn svg{color:var(--muted);flex:none}.rp-site-pop{z-index:30;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);width:300px;position:absolute;top:calc(100% + 8px);left:-12px;overflow:hidden}.rp-site-pop input{box-sizing:border-box;background:var(--panel-2);border:0;border-bottom:1px solid var(--line);width:100%;color:var(--fg);outline:none;padding:9px 12px}.rp-site-pop ul{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;max-height:260px;margin:0;padding:4px;list-style:none;overflow:auto}.rp-site-pop li{cursor:pointer;align-items:center;gap:9px;padding:7px 10px;font-size:13px;display:flex}.rp-site-pop li:hover{background:var(--hover)}.rp-site-pop li[aria-selected=true]{box-shadow:inset 2px 0 0 var(--active)}.rp-tol-sum{width:100%;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;justify-content:space-between;gap:10px;padding:0;font-size:10.5px;display:flex}.rp-tol-sum:hover{color:var(--fg)}.rp-tol-edit{color:var(--earth);flex:none}.rp-tol-grid{grid-template-columns:max-content 1fr;align-items:center;gap:8px 12px;margin-top:10px;font-size:12.5px;display:grid}.rp-k{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px}.rp-pair{color:var(--muted);align-items:center;gap:8px;display:flex}.rp-pair input[type=number]{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);width:64px;color:var(--fg);font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:5px 6px}.rp-pair input:disabled{opacity:.4}.rp-check{color:var(--fg);cursor:pointer;align-items:center;gap:5px;display:flex}.rp-plan{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.rp-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:10px;font-weight:500}.rp-eyebrow-2{margin:12px 0 6px}.rp-smooth{color:var(--fg);border:1px solid var(--line);border-left:2px solid var(--warn);margin:0 0 10px;padding:6px 10px;font-size:12px}.rp-landing{border:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.rp-tile{color:var(--muted);font-variant-numeric:tabular-nums;border-top:2px solid #0000;grid-template-columns:auto 1fr;align-items:baseline;gap:0 8px;padding:7px 10px;font-size:11.5px;display:grid}.rp-tile+.rp-tile{border-left:1px solid var(--line)}.rp-tile b{color:var(--fg);text-align:right;font-size:14px;font-weight:400}.rp-tile>span:last-child{grid-column:1/-1}.rp-tile-k{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;font-size:10px}.rp-tile.sun.on{border-top-color:var(--sun)}.rp-tile.sun.on .rp-tile-k{color:var(--sun)}.rp-tile.earth.on{border-top-color:var(--earth)}.rp-tile.earth.on .rp-tile-k{color:var(--earth)}.rp-metrics{grid-template-columns:repeat(5,1fr);gap:4px;margin:0;display:grid}.rp-metrics>div{flex-direction:column;gap:1px;display:flex}.rp-metrics dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:9.5px}.rp-metrics dd{font-variant-numeric:tabular-nums;margin:0;font-size:19px;font-weight:300}.rp-metrics .is-key dt{color:var(--fg)}.rp-metrics .is-key dd{box-shadow:inset 0 -1px 0 var(--fg);justify-self:start;font-weight:400}.rp-warn{color:var(--warn);font-weight:500}.rp-original{color:var(--muted);margin:0;font-size:12px}.rp-options h3,.itin-head h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);justify-content:space-between;margin:2px 0 0;font-size:10px;font-weight:500;display:flex}.rp-count{font-variant-numeric:tabular-nums}.rp-sub{color:var(--muted);margin:2px 0 8px;font-size:11.5px}.rp-options.is-stale .rp-list{opacity:.5;transition:opacity .1s}.rp-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rp-opt{border-top:1px solid var(--line);animation:.2s ease-out both rp-in}.rp-opt:first-child{border-top:0}.rp-opt:nth-child(2){animation-delay:30ms}.rp-opt:nth-child(3){animation-delay:60ms}.rp-opt:nth-child(4){animation-delay:90ms}.rp-opt:nth-child(5){animation-delay:.12s}.rp-opt:nth-child(6){animation-delay:.15s}@keyframes rp-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.rp-opt{animation:none}}.rp-opt-main{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;gap:12px;padding:10px 6px;transition:background-color .12s;display:flex}.rp-opt-main:hover{background:var(--hover)}.rp-opt.is-selected .rp-opt-main{background:var(--active-soft)}.rp-opt-swatch{background:repeating-linear-gradient(var(--muted) 0 4px, transparent 4px 7px);flex:none;align-self:stretch;width:2px}.rp-opt.is-selected .rp-opt-swatch{background:var(--active)}.rp-opt-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.rp-opt-key{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.rp-opt-key b{letter-spacing:-.01em;font-size:24px;font-weight:300}.rp-opt-key-k{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:9.5px}.rp-delta{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;margin-left:auto;font-size:10.5px}.rp-delta.up{color:var(--fg)}.rp-delta.down{color:var(--sun)}.rp-opt-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.rp-opt-when{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.rp-opt-small{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 10px;font-size:10.5px;display:flex}.rp-tags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.rp-tag{border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 6px;font-size:9.5px}.rp-tag.t-best{border-color:var(--fg);color:var(--fg)}.rp-opt-more{flex-direction:column;gap:8px;padding:4px 6px 12px 20px;display:flex}.rp-opt-actions{gap:8px;display:flex}.rp-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.rp-foot .rp-btn{flex:auto;padding:6px 8px}.itin{border-top:1px solid var(--line);padding-top:12px}.itin-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;display:flex}.itin-head .rp-eyebrow{margin:0 0 2px}.itin-head h3{font-family:var(--font-ui);text-transform:none;letter-spacing:0;color:var(--fg);margin:0;font-size:14.5px;font-weight:400}.itin-views{gap:6px;display:flex}.itin-list{margin:0;padding:0;list-style:none}.itin-step{position:relative}.itin-step:not(:last-child):before{content:"";background:var(--line-strong);width:1px;position:absolute;top:32px;bottom:-6px;left:19px}.itin-step button{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-left:1px solid #0000;align-items:center;gap:12px;padding:6px;transition:background-color .12s;display:flex}.itin-step button:hover{background:var(--hover)}.itin-step.is-active button{background:var(--active-soft);border-left-color:var(--active)}.itin-icon{z-index:1;background:var(--panel);border:1px solid var(--line-strong);width:26px;height:26px;color:var(--muted);flex:none;place-items:center;display:grid;position:relative}.t-accent .itin-icon{color:var(--fg);border-color:var(--fg)}.t-sun .itin-icon{color:var(--sun);border-color:var(--sun)}.t-earth .itin-icon{color:var(--earth);border-color:var(--earth)}.t-off .itin-icon{border-style:dashed}.itin-body{flex-direction:column;flex:1;min-width:0;display:flex}.itin-title{font-size:13px}.itin-note{color:var(--muted)}.itin-sub{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.itin-off{font-family:var(--font-mono);color:var(--fg);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.itin-step.is-active .itin-off{color:var(--active)}.rp-help{color:var(--muted);margin:-4px 0 0;font-size:11.5px;line-height:1.45}.route-head-when input{opacity:1;width:auto;height:auto;color:var(--fg);font:inherit;letter-spacing:inherit;cursor:text;background:0 0;border:0;outline:none;padding:0;position:static}.route-head-when input[aria-invalid=true]{color:var(--sun)}.route-head-utc{color:var(--muted);margin-left:6px}.app{--sheet-h:118px}.app .nav-bottom{bottom:calc(var(--sheet-h) + 10px)}.app .nav-panel,.app .place-card{max-height:calc(100% - 96px - var(--sheet-h))}.app .pane{padding-bottom:calc(var(--sheet-h) + 16px)}.app .guide{bottom:calc(var(--sheet-h) + 12px)}.app .nav-attrib{right:auto;left:calc(var(--rail-w) + 24px);max-width:calc(50vw - 480px - var(--rail-w));text-align:left;bottom:10px}@media (width<=1300px){.app .nav-attrib{left:auto;right:80px;bottom:calc(var(--sheet-h) + 4px);text-align:right;max-width:none}}.hud{--mono:var(--font-mono,ui-monospace, "SFMono-Regular", Menlo, monospace);--dim-c:var(--dim,var(--muted));--halo:0 0 4px var(--bg), 0 0 10px var(--bg);z-index:25;width:min(900px,66vw);min-width:min(640px,100vw - 24px);color:var(--fg);pointer-events:none;font-variant-numeric:tabular-nums;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.hud>*{pointer-events:auto}.hud button{font:inherit}.hud:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(50% 62% at 50% 62%, color-mix(in srgb, var(--bg) 90%, transparent) 0%, color-mix(in srgb, var(--bg) 70%, transparent) 55%, transparent 100%);position:absolute;inset:-18px -90px -8px}.hud-row{text-shadow:var(--halo);grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;padding:0 4px;display:grid}.hud-left,.hud-right{align-items:center;gap:4px;min-width:0;display:flex}.hud-right{flex-direction:column;align-items:flex-end;gap:1px}.hud-play{border:1px solid var(--line-strong,var(--line));background:var(--bg);width:24px;height:24px;color:var(--fg);cursor:pointer;border-radius:0;place-items:center;padding:0 0 0 1px;transition:border-color .15s,color .15s;display:grid}.hud-play svg{width:9px;height:9px}.hud-play:hover{border-color:var(--fg)}.hud-play.is-playing{border-color:var(--earth);color:var(--earth);padding:0}.hud-chip,.hud-zoom button{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-shadow:inherit;background:0 0;border:0;padding:4px 5px;font-size:10.5px;font-weight:500}.hud-chip:hover,.hud-zoom button:hover{color:var(--fg)}.hud-rec:empty{display:none}.hud-rec{align-items:center;gap:6px;font-size:11px;display:inline-flex}.hud-rec button{background:var(--bg);border:1px solid var(--line);color:var(--fg);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:0;padding:3px 8px;font-size:10px}.hud-rec button[aria-pressed=true]{border-color:var(--sun);color:var(--sun)}.hud-rec [role=alert]{color:var(--sun);white-space:normal;max-width:180px;font-family:var(--mono);font-size:10px}.hud-zoom{border-left:1px solid var(--line);margin-left:4px;padding-left:6px;display:inline-flex}.hud-zoom button[aria-pressed=true]{color:var(--fg)}.hud-zoom button[aria-pressed=true]:before{content:"[";color:var(--dim-c)}.hud-zoom button[aria-pressed=true]:after{content:"]";color:var(--dim-c)}.hud-centre{align-items:center;gap:0;display:flex}.hud-nudge{width:20px;height:22px;color:var(--dim-c);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .15s;display:grid}.hud-nudge svg{width:12px;height:12px}.hud-nudge:hover{color:var(--fg)}.hud-readout{min-width:220px;color:var(--fg);cursor:pointer;text-shadow:inherit;background:0 0;border:1px solid #0000;border-radius:0;flex-direction:column;align-items:center;gap:1px;padding:1px 10px 2px;transition:border-color .15s;display:flex}.hud-readout:hover,.hud-readout.is-active{border-color:var(--line)}.hud-time{font-family:var(--mono);letter-spacing:.12em;white-space:nowrap;font-size:13px;font-weight:500}.hud-sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10px}.hud-slip{color:var(--fg);font-weight:500}.hud-slip.is-moved{color:var(--earth)}.hud-next{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.hud-next b{color:var(--fg);font-weight:500}.hud-next.is-first{color:var(--fg)}.hud-next svg{width:12px;height:12px}.hud-next.k-sunrise svg,.hud-next.k-sunset svg{color:var(--sun)}.hud-next.k-earthrise svg,.hud-next.k-earthset svg{color:var(--earth)}.hud-err{font-family:var(--mono);color:var(--sun);text-transform:uppercase;font-size:10px}.hud-band{height:60px;position:relative}.hud-canvas{cursor:grab;touch-action:none;outline:none;display:block;position:relative}.hud-canvas:focus-visible{box-shadow:0 1px 0 0 var(--earth)}.dp{--mono:var(--font-mono,ui-monospace, "SFMono-Regular", Menlo, monospace);z-index:2;background:var(--panel);border:1px solid var(--line);width:min(600px,100vw - 24px);color:var(--fg);text-shadow:none;border-radius:0;padding:14px 16px 12px;animation:.14s ease-out dp-in;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes dp-in{0%{opacity:0;transform:translate(-50%,4px)}}.dp-head{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;margin-bottom:10px;display:grid}.dp-eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10px}.dp-site{white-space:nowrap;text-overflow:ellipsis;max-width:210px;margin:2px 0 0;font-size:14px;font-weight:500;overflow:hidden}.dp-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.dp-nav{gap:2px;display:flex}.dp-nav button{border:1px solid var(--line);width:26px;height:26px;color:var(--fg);cursor:pointer;background:0 0;border-radius:0;place-items:center;display:grid}.dp-nav button:hover:not(:disabled){border-color:var(--fg)}.dp-nav button:disabled{opacity:.3;cursor:default}.dp-months{grid-template-columns:1fr 1fr;gap:20px;display:grid}.dp-month-name{text-align:center;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:10.5px}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-wd{text-align:center;font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding-bottom:2px;font-size:9.5px}.dp-day{--q:color-mix(in srgb, var(--fg) calc(12% + var(--share,0) * 70%), var(--panel));cursor:pointer;background:var(--q);height:34px;color:var(--fg);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:0;transition:border-color .1s;display:flex;position:relative}.dp-num{font-size:12px;font-weight:500;line-height:1.1}.dp-val{font-family:var(--mono);opacity:.7;font-size:9px;line-height:1.1}.dp-day.q-both{color:var(--bg)}.dp-day.q-sun{background:color-mix(in srgb, var(--sun) 32%, var(--panel))}.dp-day.q-earth{background:color-mix(in srgb, var(--earth) 32%, var(--panel))}.dp-day.q-poor{background:color-mix(in srgb, var(--fg) 6%, var(--panel));color:var(--muted)}.dp-day.q-none{color:var(--muted);background:0 0}.dp-day:hover:not(:disabled){border-color:var(--fg)}.dp-day.is-off{opacity:.25;cursor:default}.dp-day.in-slip{box-shadow:inset 0 -1px 0 var(--muted)}.dp-day.is-original{outline:1px dashed var(--muted);outline-offset:-4px}.dp-day.is-moment:after{content:"";background:currentColor;width:3px;height:3px;position:absolute;top:3px;right:3px}.dp-day.is-landing{border-color:var(--earth);box-shadow:0 0 0 1px var(--earth);z-index:1}.dp-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;display:flex}.dp-legend{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;padding:0;font-size:9.5px;list-style:none;display:flex}.dp-legend li{align-items:center;gap:5px;display:flex}.dp-legend i{width:10px;height:10px;display:inline-block}.dp-legend .q-both{background:color-mix(in srgb, var(--fg) 75%, var(--panel))}.dp-legend .q-sun{background:color-mix(in srgb, var(--sun) 32%, var(--panel))}.dp-legend .q-earth{background:color-mix(in srgb, var(--earth) 32%, var(--panel))}.dp-legend .q-poor{background:color-mix(in srgb, var(--fg) 6%, var(--panel));border:1px solid var(--line)}.dp-legend-num{text-transform:none;letter-spacing:0;flex-basis:100%;font-family:inherit}.dp-exact{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.dp-exact label{align-items:center;gap:6px;display:flex}.dp-exact input{background:var(--bg);color:var(--fg);border:1px solid var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--mono);border-radius:0;padding:3px 6px;font-size:11px}.dp-exact button{border:1px solid var(--line);color:var(--fg);cursor:pointer;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border-radius:0;padding:4px 10px;font-size:10px}.dp-exact input[aria-invalid=true]{border-color:var(--warn)}.dp-exact button:hover,.dp-exact .dp-done{border-color:var(--fg)}@media (width<=900px){.hud{width:calc(100vw - 24px)}.hud-top{grid-template-columns:auto 1fr}.hud-right{display:none}}@media (width<=760px){.app{--sheet-h:156px}.hud-top{grid-template-columns:1fr;justify-items:center}.hud-left{order:2}.hud-readout{min-width:0}.dp-months{grid-template-columns:1fr}.dp-month+.dp-month,.app .nav-attrib{display:none}.app .nav-panel,.app .place-card{bottom:calc(var(--sheet-h) + 60px);max-height:calc(100% - 170px - var(--sheet-h))}}.guide{--hud-b:14px;--hud-c:var(--fg);z-index:30;background-color:var(--panel);width:min(360px,100% - 32px);max-height:50vh;box-shadow:none;border:0;border-radius:0;padding:22px 24px 20px;position:absolute;bottom:90px;right:24px;overflow:auto}.guide-count{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);font-size:11px}.guide-count:before{content:"STEP "}.guide h2{margin:8px 0;font-size:20px;font-weight:300}.guide p{color:var(--fg);margin:0 0 14px}.guide-actions{gap:8px;display:flex}.guide-actions button,.guide-open{border:1px solid var(--line-strong);min-height:44px;color:var(--fg);cursor:pointer;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border-radius:0;padding:6px 14px;font-size:11px}.guide-actions button:last-child{border-color:var(--blue);color:var(--accent)}.guide-actions button:disabled{opacity:.4;cursor:default}.guide-open{white-space:nowrap;min-height:30px;color:var(--muted);padding:4px 10px}.guide-actions button:hover:not(:disabled),.guide-open:hover{border-color:var(--fg);color:var(--accent)}@media (width<=760px){.guide{max-height:40vh;bottom:140px;right:16px}}.globe-stage{container-type:size}.hero{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-grid{width:100%;height:100%;position:absolute;inset:0}.hero-grid-line{stroke:var(--line);stroke-width:1px}.hero-grid-cross{stroke:var(--line-strong);stroke-width:1px}.hero .hero-title{padding-top:var(--t-top);color:var(--fg);font-size:var(--t-size);letter-spacing:-.035em;white-space:nowrap;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--bg) 16%, transparent) 0 42.3cqh, var(--bg) calc(42.3cqh + 1px));-webkit-mask-image:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--bg) 16%, transparent) 0 42.3cqh, var(--bg) calc(42.3cqh + 1px));mask-image:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--bg) 16%, transparent) 0 42.3cqh, var(--bg) calc(42.3cqh + 1px));justify-content:center;align-items:flex-start;margin:0;font-stretch:100%;display:flex;position:absolute;inset:0}.hero-sub em{color:var(--red,var(--sun));font-style:normal}.hero{--t-size:clamp(56px, 13.5cqw, 230px);--t-top:max(96px, 8cqh)}.hero .hero-sub{left:0;right:0;top:calc(var(--t-top) + var(--t-size) * .9 + 16px);text-align:center;white-space:nowrap;font-family:var(--font-mono);letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:var(--fg);text-shadow:0 0 8px var(--bg), 0 0 2px var(--bg);pointer-events:none;margin:0;font-size:clamp(9px,1.05cqw,15px);font-weight:500;position:absolute}.hero-title .hero-w,.hero-sub .hero-w{display:inline-block}.hero-foot{left:50%;bottom:calc(var(--dock-h) + 10px);width:min(880px, calc(100% - var(--rail-w) - 48px));pointer-events:auto;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;transform:translate(-50%)}.hero-cta{align-items:center;gap:18px;display:flex}.hero-plan{background:var(--red,var(--sun));border:1px solid var(--red,var(--sun));color:var(--bg);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:0;padding:13px 26px;font-size:12px;font-weight:700;transition:filter .12s}.hero-plan:hover{filter:brightness(1.12)}.hero-plan:focus-visible{outline:1px solid var(--fg);outline-offset:3px}.hero-scroll{text-shadow:0 0 6px var(--bg), 0 0 2px var(--bg);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.hero-scroll:after{content:" ↓"}.hero-stats{border-top:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg) 72%, transparent);grid-template-columns:repeat(4,1fr);width:100%;margin:0;display:grid}.hero-stats>div{min-width:0;padding:10px 16px 8px}.hero-stats>div+div{border-left:1px solid var(--line-strong)}.hero-stats dt{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.hero-stats dd{font-family:var(--font-ui);color:var(--fg);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:clamp(22px,2.6cqw,36px);font-weight:300;line-height:1}.hero-stats small{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin-left:6px;font-size:11px}.globe-stage.globe-stage .globe.hud-screen{padding-top:calc(max(60px,6.6cqh) + 8.5cqw)}@media (width<=760px){.hero{--t-size:22cqw}.hero .hero-sub{letter-spacing:.28em;text-indent:.28em;font-size:8px}.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stats>div:nth-child(3){border-left:0}.globe-stage .globe.hud-screen .scene3d-frame,.globe-stage .globe.hud-screen .terrain3d-controls{display:none}}@media (prefers-reduced-motion:reduce){.hero-plan{transition:none}}.navigator.is-globe .hud-bl{display:none}.hero-stars{width:100%;height:100%;fill:var(--fg);-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent 0 42.6cqh, var(--bg) calc(42.6cqh + 1px));-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent 0 42.6cqh, var(--bg) calc(42.6cqh + 1px));mask-image:radial-gradient(circle at 50% 50%, transparent 0 42.6cqh, var(--bg) calc(42.6cqh + 1px));position:absolute;inset:0}.hero-ring{width:92cqh;height:92cqh;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.hero-ring-line{fill:none;stroke:var(--line-strong);stroke-width:.18px}.hero-ring-tick{stroke:var(--muted);stroke-width:.18px}.hero-notes{gap:36px;margin:0;display:flex}.hero-note{font-family:var(--font-mono);letter-spacing:.4em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-shadow:0 0 6px var(--bg);font-size:9.5px}.hero-note i{vertical-align:middle;background:var(--line-strong);width:44px;height:1px;box-shadow:inset 6px 0 0 var(--sun);margin-right:10px;display:inline-block}.hero-note.earth i{box-shadow:inset 6px 0 0 var(--earth)}@media (width<=1100px){.hero-notes{display:none}}.globe-stage.globe-stage .globe.hud-screen .terrain3d-legend{display:none}.globe-stage.globe-stage .globe.hud-screen .scene3d-selected{text-align:right;width:auto;max-width:min(300px,22cqw);font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);text-shadow:0 0 6px var(--bg);background:0 0;border:0;margin:0;padding:0;font-size:10px}.globe-stage.globe-stage .globe.hud-screen .scene3d-selected b{color:var(--fg);font-weight:500}.globe-stage.globe-stage .globe.hud-screen .terrain3d-controls{letter-spacing:.12em;width:auto;max-width:min(300px,22cqw);color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:flex-end;gap:14px;margin:0;padding:0;font-size:9.5px}.globe-stage.globe-stage .globe.hud-screen .terrain3d-controls label{flex-direction:row;align-items:center;gap:6px}.globe-stage.globe-stage .globe.hud-screen .terrain3d-controls input[type=range]{width:90px}.globe-stage.globe-stage .globe.hud-screen .terrain3d-controls select{max-width:170px;padding:1px 4px;font-size:10px}.globe-stage.globe-stage .globe.hud-screen{padding-top:24px;padding-right:24px}.globe-stage.globe-stage .globe.hud-screen .scene3d-status,.globe-stage.globe-stage .globe.hud-screen .terrain3d-hint{text-align:right;width:auto;max-width:min(300px,22cqw);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-shadow:0 0 6px var(--bg);background:0 0;border:0;padding:0;font-size:10px}.globe-stage.globe-stage .globe.hud-screen .terrain3d-hint{letter-spacing:.06em;text-transform:none;color:var(--dim);font-size:9px}.hero .hero-title{-webkit-mask-image:none;mask-image:none}.motion-bracketing{background-image:none!important}.motion-brackets,.motion-frag,.motion-burst{z-index:17;pointer-events:none;position:fixed}.motion-corner{width:var(--arm,14px);height:var(--arm,14px);border:0 solid var(--c,var(--fg));position:absolute}.motion-corner-tl{border-top-width:1px;border-left-width:1px;top:0;left:0}.motion-corner-tr{border-top-width:1px;border-right-width:1px;top:0;right:0}.motion-corner-bl{border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.motion-corner-br{border-bottom-width:1px;border-right-width:1px;bottom:0;right:0}.motion-shard{background:var(--accent);clip-path:polygon(0 0,100% 40%,30% 100%);width:5px;height:3px;margin:-1px;position:absolute}.motion-frag i{display:block;position:absolute}.motion-frag-win{border:1px solid color-mix(in srgb, var(--fg) 45%, transparent);background:color-mix(in srgb, var(--panel) 55%, transparent);inset:0}.motion-burst{overflow:hidden}.motion-burst span{white-space:nowrap;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);font-size:10.5px;position:absolute}.motion-burst span.is-dim{color:var(--muted)}.motion-burst span.is-red{color:var(--red)}.motion-burst span.is-blue{color:var(--blue)}.motion-ribbon{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.motion-ribbon-sun{stroke:var(--sun)}.motion-ribbon-earth{stroke:var(--earth)}.motion-ribbon.is-tail{stroke-opacity:.35}.motion-wipe{z-index:16;pointer-events:none;position:fixed;inset:60px 0 0;overflow:hidden}.motion-wipe i{background:var(--accent);display:block;position:absolute}.motion-wipe i.is-red{background:var(--red)}.motion-wipe i.is-blue{background:var(--blue)}.motion-scan{stroke:var(--fg);stroke-width:1px;pointer-events:none}.motion-ghost{pointer-events:none}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#08090a;--panel:#101112;--panel-2:#161719;--line:#25272a;--line-strong:#3b3e42;--fg:#e6e6e2;--muted:#8a8c8f;--dim:#575a5e;--accent:#fff;--red:#ff5a1f;--blue:#4a90e2;--sun:var(--red);--earth:var(--blue);--ground:#2b2c2e;--ok:var(--fg);--warn:#c9a45a;--bad:var(--red);--g-ridge:#f2f2ee;--g-artemis:#c8c8c4;--g-clps:#a0a2a4;--g-international:#7d8083;--g-historic:#5f6266;--font-display:"Archivo Variable", "Inter Variable", system-ui, sans-serif;--font-ui:"Inter Variable", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--shadow:none;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .06 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--surface:color-mix(in srgb, var(--panel) 94%, transparent);--hover:color-mix(in srgb, var(--fg) 6%, transparent);--active:var(--earth);--active-soft:color-mix(in srgb, var(--earth) 14%, transparent);--radius:2px;--rail-w:64px;--dock-h:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg) var(--grain);color:var(--fg);font:14px/1.45 var(--font-ui);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}::selection{background:var(--blue);color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong)}::-webkit-scrollbar-track{background:0 0}button,input,select{font:inherit}:focus-visible{outline:1px solid var(--blue);outline-offset:2px}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:where(button){color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:0;padding:4px 10px}:where(button):hover:not(:disabled){border-color:var(--fg);color:var(--accent)}:where(button)[aria-pressed=true]{border-color:var(--blue);color:var(--accent)}:where(button):disabled{opacity:.4;cursor:default}:where(select,input:not([type=range],[type=radio],[type=checkbox])){background:var(--panel);color:var(--fg);border:1px solid var(--line-strong);font-family:var(--font-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:0;padding:3px 6px;font-size:12px}:where(input[type=radio],input[type=checkbox]){accent-color:var(--blue)}:where(fieldset){border:1px solid var(--line);border-radius:0}:where(legend){font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 6px;font-size:11px}input[type=range]{appearance:none;background:repeating-linear-gradient(90deg, var(--dim) 0 1px, transparent 1px 12px) left bottom / 100% 4px no-repeat, linear-gradient(var(--line-strong), var(--line-strong)) left 50% / 100% 1px no-repeat;cursor:pointer;width:100%;height:22px;margin:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:0;border-radius:0;width:3px;height:16px}input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:0;width:3px;height:16px}input[type=range]::-moz-range-track{background:0 0}input[type=range]:focus-visible{outline-offset:0}.hud-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:400;line-height:1.3}.hud-readout{flex-direction:column;gap:4px;min-width:0;display:flex}.hud-value{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--fg);font-variant-numeric:tabular-nums;font-size:28px;font-weight:300;line-height:1}.hud-unit{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:4px;font-size:11px}.hud-brackets{--hud-b:10px;--hud-c:var(--line-strong);background-image:linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c)), linear-gradient(var(--hud-c), var(--hud-c));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:var(--hud-b) 1px, 1px var(--hud-b), var(--hud-b) 1px, 1px var(--hud-b), var(--hud-b) 1px, 1px var(--hud-b), var(--hud-b) 1px, 1px var(--hud-b);background-repeat:no-repeat}.hud-brackets.is-target{--hud-c:var(--red)}.hud-scale{--hud-tick:8px;background:repeating-linear-gradient(90deg, var(--dim) 0 1px, transparent 1px var(--hud-tick)) left bottom / 100% 4px no-repeat, repeating-linear-gradient(90deg, var(--muted) 0 1px, transparent 1px calc(var(--hud-tick) * 5)) left bottom / 100% 9px no-repeat;height:10px}.hud-callout{--hud-len:48px;border:1px solid var(--red);pointer-events:none;position:absolute}.hud-callout:before{content:"";background:var(--red);width:5px;height:5px;position:absolute;top:-3px;left:-3px}.hud-callout-label{left:calc(100% + var(--hud-len));white-space:nowrap;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);font-size:11px;position:absolute;top:-.65em}.hud-callout-label:before{content:"";width:calc(var(--hud-len) - 6px);border-top:1px solid var(--red);position:absolute;top:50%;right:calc(100% + 6px)}.hud-dot{background:var(--red);width:4px;height:4px;display:inline-block}.hud-ok{color:var(--ok)}.hud-ok:before{content:"✓ "}.hud-warn{color:var(--warn)}.hud-bad{color:var(--bad)}.g-ridge{--shape:circle(50%)}.g-artemis{--shape:polygon(50% 0, 100% 50%, 50% 100%, 0 50%)}.g-clps{--shape:inset(10%)}.g-international{--shape:polygon(50% 4%, 100% 96%, 0 96%)}.g-historic{--shape:polygon(35% 0, 65% 0, 65% 35%, 100% 35%, 100% 65%, 65% 65%, 65% 100%, 35% 100%, 35% 65%, 0 65%, 0 35%, 35% 35%)}.hud-marker,.nav-dot.nav-dot{background:var(--c,var(--muted));width:10px;height:10px;clip-path:var(--shape,none);border-radius:0;flex:none;display:inline-block}.app{flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.stage{flex:1;min-height:0;position:relative}.brand-mark{color:var(--accent);flex:none}.cap{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:500}.rail{z-index:30;width:var(--rail-w);background:var(--bg);border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:4px;padding:12px 0;display:flex;position:absolute;top:0;bottom:0;left:0}.rail-mark{width:40px;height:40px;color:var(--accent);place-items:center;margin-bottom:12px;display:grid}.rail-btn{width:var(--rail-w);color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:9px 0 7px;transition:color .15s;display:flex;position:relative}.rail-btn:before{content:"";background:0 0;width:2px;position:absolute;top:8px;bottom:8px;left:0}.rail-btn:hover,.rail-btn.is-active{color:var(--fg)}.rail-btn.is-active:before{background:var(--active)}.rail-btn.is-active svg{color:var(--active)}.rail-label{max-width:54px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;font-size:9px;font-weight:500;line-height:1.2}.rail-btn:after{content:attr(data-tip);border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line-strong);color:var(--fg);white-space:nowrap;pointer-events:none;opacity:0;padding:5px 9px;font-size:12px;font-weight:500;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 8px);transform:translate(-4px,-50%)}.rail-btn:hover:after,.rail-btn:focus-visible:after{opacity:1;transition-delay:.35s;transform:translateY(-50%)}.layer{z-index:22;top:12px;bottom:var(--dock-h);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;animation:.2s ease-out layer-in;display:flex;position:absolute}.layer-sheet{width:min(1040px, calc(100% - var(--rail-w) - 24px));right:12px}.layer-overlay{left:calc(var(--rail-w) + 12px);z-index:24;right:12px}@keyframes layer-in{0%{opacity:0;transform:translateY(6px)}}.layer-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:14px 14px 12px 20px;display:flex}.layer-titles{flex:1;min-width:0}.layer-head h2{letter-spacing:0;font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:500}.layer-head p{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:11px}.layer-close,.icon-btn{border:1px solid var(--line);border-radius:var(--radius);width:32px;height:32px;color:var(--fg);cursor:pointer;background:0 0;flex:none;place-items:center;display:grid}.layer-close:hover,.icon-btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--hover)}.icon-btn:disabled{opacity:.35;cursor:default}.layer-body{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;padding:16px 20px 22px;overflow:auto}.ovl-explain{color:var(--muted);max-width:90ch;margin:0 0 12px;font-size:13px}.pane-sites{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;display:flex}.pane-sites-k{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-right:4px;font-size:10.5px}.chip{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius);align-items:center;gap:7px;padding:3px 4px 3px 10px;font-size:13px;display:inline-flex}.chip button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.chip button:hover{color:var(--fg)}.pane-add{border:1px dashed var(--line-strong);color:var(--muted);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:3px 10px;font-size:13px;display:inline-flex}.pane-add:hover{color:var(--fg)}.pane-note{color:var(--muted);max-width:90ch;margin:28px 0 0;font-size:12px}.pane-loading,.nav-loading{color:var(--muted)}.nav-loading{place-items:center;display:grid;position:absolute;inset:0}.app-error{z-index:40;background:var(--panel);border:1px solid var(--bad);color:var(--bad);border-radius:var(--radius);padding:8px 14px;position:absolute;top:16px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.layer,.place-card,.lpanel,.globe-stage,.nav-map{transition:none!important;animation:none!important}}@media (width<=760px){:root{--rail-w:0px}.rail{border-right:0;border-top:1px solid var(--edge);flex-direction:row;justify-content:space-around;width:auto;height:60px;padding:0 4px;inset:auto 0 0}.rail-mark,.rail-btn:after{display:none}.stage{padding-bottom:60px}.layer{bottom:72px}.layer-sheet,.layer-overlay{width:auto;left:8px;right:8px}}.stub{color:var(--warn);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums;padding:6px 8px}th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:400}.ground{fill:var(--ground)}.sun-track{fill:none;stroke:var(--sun);stroke-opacity:.6}.earth-track{fill:none;stroke:var(--earth);stroke-opacity:.6;stroke-dasharray:3 3}.sun{fill:var(--sun)}.earth{fill:var(--earth)}svg text{fill:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;font-size:10px}.grid{fill:none;stroke:var(--line)}.site{fill:var(--muted);cursor:pointer}.site.artemis{fill:var(--g-artemis)}.site.ridge{fill:var(--g-ridge)}.site.clps{fill:var(--g-clps)}.site.international{fill:var(--g-international)}.polarmap{position:relative}.polarmap svg{background:var(--bg);border:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:0;max-width:100%}.polarmap svg:active{cursor:grabbing}.polarmap .grid,.polarmap .meridian{fill:none;stroke:var(--line);vector-effect:non-scaling-stroke}.polarmap .grid.major{stroke:var(--line-strong)}.polarmap .site{stroke:var(--bg);stroke-width:1px;vector-effect:non-scaling-stroke}.polarmap .site.picked{stroke:var(--red);stroke-width:2px}.polarmap .site.historic{fill:var(--g-historic)}.polarmap .site.custom{fill:var(--accent);stroke:var(--red);stroke-width:3px}.polarmap .custom{fill:none;stroke:var(--red);stroke-width:1px;vector-effect:non-scaling-stroke}.polarmap .label{fill:var(--fg);paint-order:stroke;stroke:var(--bg);stroke-width:3px;pointer-events:none}.polarmap .toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.polarmap .toolbar button{color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:0;padding:4px 10px}.polarmap .toolbar button[aria-pressed=true]{border-color:var(--blue);color:var(--accent)}.polarmap .legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.polarmap .legend i{border-radius:0;width:10px;height:10px;margin-right:4px;display:inline-block}.compare-slip{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.compare-slip button{color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:0;padding:4px 10px}.compare-slip button:disabled{opacity:.4;cursor:default}.compare-slip output{font-variant-numeric:tabular-nums;min-width:220px}.compare-hint{color:var(--muted);font-size:12px}.compare-badge{border:1px solid var(--warn);color:var(--warn);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:0;margin-left:8px;padding:1px 6px;font-size:10px;display:inline-block}.compare-terrain{color:var(--muted);margin-left:8px;font-size:11px}.compare-best{background:var(--panel-2);font-weight:600}.compare-star{color:var(--accent)}.compare-delta{margin-top:20px}.compare-delta caption{text-align:left;color:var(--muted);padding-bottom:4px}.terrain3d-view{position:relative}.terrain3d-view canvas{border:1px solid var(--line);background:var(--bg);border-radius:0;width:100%;height:min(62vh,560px);display:block}.terrain3d-legend{font-family:var(--font-mono);background:color-mix(in srgb, var(--bg) 80%, transparent);pointer-events:none;border-radius:0;margin:0;padding:6px 10px;font-size:11px;list-style:none;position:absolute;top:8px;left:8px}.terrain3d-sun{color:var(--sun)}.terrain3d-earth{color:var(--earth)}.terrain3d-site{color:var(--red)}.terrain3d-controls{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:10px 0;display:grid}.terrain3d-hint{color:var(--muted);font-size:12px}.horizon h2{margin:0 0 6px;font-size:16px}.horizon .horizon-stub{margin:0 0 8px}.horizon .horizon-panorama{background:var(--bg);display:block}.horizon .horizon-sky{fill:var(--bg)}.horizon .horizon-grid{stroke:var(--line);stroke-width:1px}.horizon .horizon-zero{stroke:var(--muted);stroke-dasharray:4 4}.horizon .horizon-az{stroke-opacity:.6}.horizon .horizon-cardinal{fill:var(--fg);font-weight:600}.horizon .horizon-legend{fill:var(--muted);font-size:11px}.horizon .horizon-ground{fill:var(--ground);stroke:var(--fg);stroke-width:1px}.horizon .horizon-sun-track{fill:none;stroke:var(--sun);stroke-opacity:.55;stroke-width:1.2px}.horizon .horizon-earth-track{fill:none;stroke:var(--earth);stroke-opacity:.55;stroke-width:1px;stroke-dasharray:3 3}.horizon .horizon-sun{fill:var(--sun)}.horizon .horizon-earth{fill:var(--earth)}.horizon .horizon-sun-hidden{fill:var(--sun);fill-opacity:.25;stroke:var(--sun);stroke-dasharray:2 2;stroke-width:.8px}.horizon .horizon-earth-hidden{fill:var(--earth);fill-opacity:.2;stroke:var(--earth);stroke-dasharray:2 2;stroke-width:.8px}.horizon .horizon-sun-marker{fill:none;stroke:var(--sun);stroke-opacity:.7}.horizon .horizon-earth-marker{fill:none;stroke:var(--earth);stroke-opacity:.7}.horizon .horizon-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 4px;display:flex}.horizon .horizon-controls button{color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:0;min-width:72px;padding:6px 14px}.horizon .horizon-time{font-variant-numeric:tabular-nums;flex-direction:column;flex:280px;gap:2px;display:flex}.horizon select{background:var(--bg);color:var(--fg);border:1px solid var(--line-strong);border-radius:0}.horizon .horizon-status{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin:6px 0;display:flex}.horizon .horizon-closeup{margin:8px 0 0}.horizon .horizon-closeup figcaption{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;padding:0;font-size:12px;list-style:none;display:flex}.calendar-legend i{vertical-align:-1px;border-radius:0;width:11px;height:11px;margin-right:3px;display:inline-block}.calendar-site{margin:0 0 18px}.calendar-site h3{margin:0 0 4px;font-size:15px}.calendar-runs{grid-template-columns:max-content 1fr;gap:2px 10px;margin:0 0 8px;font-size:12px;display:grid}.calendar-runs dt{color:var(--muted)}.calendar-runs dd{font-variant-numeric:tabular-nums;margin:0}.calendar-grid{flex-direction:column;gap:2px;display:flex;overflow-x:auto}.calendar-row{align-items:center;gap:2px;display:flex}.calendar-month{width:68px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none;font-size:10px}.calendar-day{width:16px;height:16px;color:var(--bg);cursor:pointer;border:0;border-radius:0;flex:none;padding:0;font-size:9px;line-height:16px}.calendar-day:hover,.calendar-day:focus-visible{outline:1px solid var(--fg)}.calendar-day.calendar-at{outline:1px solid var(--red);outline-offset:2px;opacity:1!important}.calendar-sun{background:color-mix(in srgb, var(--sun) 28%, var(--bg));box-shadow:inset 0 0 0 1px var(--sun);color:var(--fg)}.calendar-earth{background:var(--earth)}.calendar-both{background:var(--fg)}.calendar-none{background:var(--ground);color:var(--fg)}.calendar-hover{color:var(--muted);font-variant-numeric:tabular-nums;min-height:1.4em;margin:4px 0 0;font-size:12px}.validation article{margin:0 0 24px}.validation h3{margin:16px 0 4px;font-size:16px}.val-summary{font-weight:600}.val-note{color:var(--muted);max-width:48ch;margin-top:2px;font-size:11px}.val-pass{color:var(--ok);font-weight:600}.val-pass:before{content:"✓ "}.val-fail{color:var(--bad);font-weight:600}.val-info{color:var(--muted)}.validation td{vertical-align:top}.landing-conditions{border:1px solid var(--line);border-radius:0;margin:0 0 12px;padding:6px 10px;font-size:12px}.landing-conditions label{margin-right:12px}.landing-conditions input{width:64px}.landing-presets{flex-wrap:wrap;gap:6px;margin:0 0 6px;display:flex}.landing-presets button[aria-pressed=true]{outline:1px solid var(--blue);border-color:var(--blue)}.landing-verdict{margin:0 0 8px;font-size:12px}.landing-verdict p{margin:2px 0}.landing-level strong{color:var(--bg);font-family:var(--font-mono);letter-spacing:.1em;border-radius:0;padding:1px 6px;font-size:11px}.landing-ok strong{background:var(--ok)}.landing-ok strong:before{content:"✓ "}.landing-marginal strong{background:var(--warn)}.landing-fail strong,.landing-none strong{background:var(--bad)}.compare-surface{flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0 0 12px;display:flex}.compare-surface label{cursor:pointer}.compare-effect{flex-basis:100%;margin:0;padding-left:18px}.horizon-surface{flex-wrap:wrap;align-items:center;gap:4px 16px;margin:6px 0;display:flex}.horizon-surface label{cursor:pointer}.horizon-surface .horizon-effect{color:var(--muted);flex-basis:100%;margin:0;font-size:12px}.terrain3d.is-view{flex-direction:column;gap:10px;height:100%;display:flex}.terrain3d.is-view .terrain3d-view{flex:1;min-height:320px}.terrain3d.is-view .terrain3d-view canvas{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);height:100%;min-height:320px}.t3d-explain{color:var(--muted);margin:0;font-size:13px}.t3d-loading{color:var(--muted);margin:0;position:absolute}.t3d-bodies{pointer-events:none;flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;left:12px}.t3d-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:12px;margin:0;padding:6px 10px;font-size:11.5px;display:flex}.t3d-body-k{letter-spacing:.14em;text-transform:uppercase;min-width:44px;font-size:10.5px}.t3d-body.sun{border-left:2px solid var(--sun)}.t3d-body.sun .t3d-body-k{color:var(--sun)}.t3d-body.earth{border-left:2px solid var(--earth)}.t3d-body.earth .t3d-body-k{color:var(--earth)}.t3d-compass{background:var(--surface);border:1px solid var(--line);pointer-events:none;border-radius:50%;place-items:center;width:60px;height:60px;display:grid;position:absolute;top:12px;right:12px}.t3d-rose{width:40px;height:40px;color:var(--fg);position:relative}.t3d-rose svg{display:block}.t3d-rose .rose-n{fill:var(--sun)}.t3d-rose .rose-s{fill:var(--muted)}.t3d-n{font-family:var(--font-mono);color:var(--fg);font-size:10px;font-weight:600;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.t3d-tag{border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);font-variant-numeric:tabular-nums;padding:1px 6px;font-size:10.5px;position:absolute;top:0;left:0}.t3d-tag.sun{color:var(--sun);border-color:var(--sun);margin-top:-12px}.t3d-tag.earth{color:var(--earth);border-color:var(--earth);margin-top:-12px}.t3d-you{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:inline-flex;position:absolute;bottom:12px;left:12px}.t3d-you i{border:1px solid var(--sun);width:8px;height:8px}.terrain3d.is-view .terrain3d-controls{flex-wrap:wrap;align-items:center;gap:8px 24px;margin:0;display:flex}.terrain3d.is-view .terrain3d-controls label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:10px;font-size:11px;display:flex}.terrain3d.is-view .terrain3d-controls input[type=range]{width:160px;accent-color:var(--fg)}.t3d-status{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:11px}.terrain3d.is-view .terrain3d-hint{margin:0}.layer-overlay .layer-body:has(.terrain3d.is-view){flex-direction:column;display:flex}.layer-overlay .layer-body>.terrain3d.is-view{flex:1}.sched-dock{z-index:22;left:calc(var(--rail-w) + 12px);right:12px;bottom:var(--dock-h);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;height:520px;max-height:calc(100% - 24px);animation:.2s ease-out layer-in;display:flex;position:absolute;overflow:hidden}.sched-dock>.schedule{border:0;border-radius:0;flex:1;min-height:0}.globe-stage{z-index:1;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .7s,transform .7s;position:absolute;inset:0;transform:scale(1.35)}.globe-stage.is-active{opacity:1;pointer-events:auto;transform:none}.globe-stage .globe.hud-screen{pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;margin:0;padding:0 12px 0 0;display:flex;position:absolute;inset:0}.globe-stage .globe.hud-screen>*{pointer-events:auto}.globe-stage .globe.hud-screen .hud-title{clip:rect(0 0 0 0);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.globe-stage .globe.hud-screen .scene3d-frame{background:0 0;flex-direction:column;gap:6px;width:300px;margin:0;padding:0;display:flex;position:static}.globe-stage .globe.hud-screen .terrain3d-view{z-index:-1;position:absolute;inset:0}.globe-stage .globe.hud-screen .terrain3d-view canvas{background:var(--bg);border:0;border-radius:0;width:100%;height:100%}.globe-stage .globe.hud-screen .terrain3d-legend{top:50%;left:calc(var(--rail-w) + 12px);background:var(--surface);border:1px solid var(--line);padding:8px 10px;bottom:auto;transform:translateY(-50%)}.globe-stage .globe.hud-screen .scene3d-status,.globe-stage .globe.hud-screen .scene3d-selected,.globe-stage .globe.hud-screen .terrain3d-controls,.globe-stage .globe.hud-screen .terrain3d-hint{background:var(--surface);border:1px solid var(--line);width:300px;margin:0;padding:7px 10px;font-size:10.5px}.globe-stage .globe.hud-screen .terrain3d-controls{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px}.globe-stage .globe.hud-screen .terrain3d-controls label{flex-direction:column;flex:none;align-items:stretch;gap:4px;display:flex}.globe-stage .globe.hud-screen .terrain3d-hint{color:var(--dim)}.globe-stage .globe.hud-screen>[role=alert],.globe-stage .globe.hud-screen>[role=note]{position:absolute;top:16px;left:50%;transform:translate(-50%)}.globe-loading{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);place-items:center;margin:0;font-size:11px;display:grid;position:absolute;inset:0}.globe-hint{z-index:2;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);pointer-events:none;white-space:nowrap;margin:0;padding:5px 12px;font-size:10.5px;position:absolute;top:72px;left:50%;transform:translate(-50%)}.globe-hint b{color:var(--fg);font-weight:500}.navigator.is-globe .nav-map,.navigator.is-globe .nav-scale,.navigator.is-globe .nav-attrib,.navigator.is-globe .hud-corner.map-only{visibility:hidden}.nav-map{transition:opacity .7s}.navigator.is-globe .nav-map{opacity:0}@media (width<=760px){.sched-dock{bottom:72px;left:8px;right:8px}.globe-stage .globe.hud-screen .terrain3d-legend,.globe-stage .globe.hud-screen .terrain3d-hint,.globe-hint{display:none}}.app{--dock-h:calc(var(--sheet-h,0px) + 8px)}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;font-weight:900;font-stretch:125%;line-height:.9}.t3d-pins{pointer-events:none;position:absolute;inset:0;overflow:hidden}.t3d-pin{opacity:0;--lead:0px;--lead-angle:90deg;position:absolute;top:0;left:0}.t3d-pin-label{white-space:nowrap;color:var(--fg);text-shadow:0 0 4px var(--bg);flex-direction:column;gap:1px;display:flex;position:absolute;bottom:4px;left:6px}.t3d-pin-label b{font-family:var(--font-display,var(--font-ui));letter-spacing:-.01em;font-size:18px;font-weight:800;line-height:1}.t3d-pin-label span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:9.5px}.t3d-pin-lead{width:var(--lead);border-top:1px dotted var(--fg);transform-origin:0 0;height:0;transform:rotate(var(--lead-angle));opacity:.8;position:absolute;top:0;left:0}.t3d-pin-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg);left:calc(cos(var(--lead-angle)) * var(--lead));top:calc(sin(var(--lead-angle)) * var(--lead));border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute}.t3d-pin.is-here .t3d-pin-dot{background:var(--sun)}.t3d-pin.is-here .t3d-pin-label b{color:var(--sun)}
