:root{--radius:.75rem;--radius-s:.5rem;--font:"Manrope", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;--font-heading:"Space Grotesk", "Manrope", system-ui, -apple-system, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}:root,:root[data-theme=light]{--bg:#fff;--bg-panel:#ffffffed;--bg-panel-solid:#fff;--bg-muted:#f8f9fb;--bg-chip:#ffffffdb;--line:#00000014;--line-strong:#00000029;--text:#0f1724;--text-dim:#374151;--text-faint:#5b6472;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#2563eb14;--accent-warm:#9c5c03;--on-warm:#fff;--accent-ok:#4a8c2c;--accent-hot:#d13c14;--shadow:0 4px 12px #00000014;--shadow-soft:0 1px 3px #0000000f, 0 1px 2px #0000000a;--track-off:#00000024;--bg-field:#fff;--rail:#00000024;color-scheme:light;--scrim-top:linear-gradient(to bottom, #ffffffeb 0%, #ffffff80 46%, #fff0 100%);--scrim-bottom:linear-gradient(to top, #fffffff5 0%, #ffffffe6 45%, #fff0 100%);--text-halo:0 1px 10px #ffffffe6;--overlay:#ffffffe6;--scrim-modal:#0f172461}:root[data-theme=dark]{--bg:#0b0f1a;--bg-panel:#131825e6;--bg-panel-solid:#131825;--bg-muted:#1a1f2e;--bg-chip:#131825c7;--line:#ffffff14;--line-strong:#ffffff29;--text:#f1f5f9;--text-dim:#94a3b8;--text-faint:#64748b;--accent:#3b82f6;--accent-strong:#60a5fa;--accent-soft:#3b82f626;--accent-warm:#f39a2e;--on-warm:#1a1206;--accent-ok:#63b33d;--accent-hot:#f25a2a;--shadow:0 4px 12px #0006;--shadow-soft:0 1px 3px #0000004d, 0 1px 2px #0003;--track-off:#00000059;--bg-field:#06090fd9;--rail:#ffffff21;color-scheme:dark;--scrim-top:linear-gradient(to bottom, #04060bcc 0%, #04060b70 46%, #04060b00 100%);--scrim-bottom:linear-gradient(to top, #04060bf0 0%, #04060bdb 45%, #04060b00 100%);--text-halo:0 2px 18px #000000e6;--overlay:#06090fe0;--scrim-modal:#00000094}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13px;overflow:hidden}#viewport{touch-action:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}#viewport canvas{touch-action:none;width:100%;height:100%;display:block}#hud{padding:calc(16px + env(safe-area-inset-top)) 22px 16px calc(22px + env(safe-area-inset-left));pointer-events:none;z-index:5;flex-direction:column;align-items:flex-start;gap:9px;display:flex;position:fixed;top:0;left:0}#hud:before{content:"";background:var(--scrim-top);pointer-events:none;z-index:-1;height:118px;position:fixed;top:0;left:0;right:0}.hud-title{text-shadow:var(--text-halo);flex-direction:column;gap:3px;display:flex}.mark{font-family:var(--font-heading);letter-spacing:.14em;color:var(--text);font-size:15px;font-weight:700}.mark em{color:var(--accent-strong);font-style:normal;font-weight:500}.hud-title .sub{letter-spacing:.06em;color:var(--text-dim);font-size:11px}.badge{pointer-events:auto;border:1px solid var(--line-strong);background:var(--bg-chip);backdrop-filter:blur(10px);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:10.5px}.hud-row{align-items:center;gap:7px;display:flex}.badge-button{font-family:var(--font);cursor:pointer;align-items:center;gap:5px;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.badge-button:hover,.badge-button:focus-visible{border-color:var(--accent);color:var(--accent-strong);text-decoration:none}.badge-button[hidden]{display:none}#panel{overscroll-behavior:contain;background:var(--bg-panel);backdrop-filter:blur(18px)saturate(1.2);border-left:1px solid var(--line);width:330px;height:100%;box-shadow:var(--shadow);z-index:6;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding:16px 14px 90px;position:fixed;top:0;right:0;overflow-y:auto}#panel::-webkit-scrollbar{width:8px}#panel::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.group{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff04;margin-bottom:10px;overflow:hidden}.group>summary{cursor:pointer;font-family:var(--font-heading);letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);user-select:none;padding:10px 12px;font-size:11px;font-weight:700;list-style:none}.group>summary::-webkit-details-marker{display:none}.group-body{flex-direction:column;gap:11px;padding:4px 12px 12px;display:flex}.row{flex-direction:column;gap:5px;display:flex}.row-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.row-label{min-width:0;color:var(--text-dim);font-size:11.5px}.row-value{white-space:nowrap;font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}input[type=range]{-webkit-appearance:none;appearance:none;background:linear-gradient(to right, var(--accent) var(--fill,0%), var(--rail) var(--fill,0%));cursor:pointer;border-radius:2px;outline:none;width:100%;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;box-shadow:0 0 0 1px var(--accent), 0 2px 6px #0009;cursor:grab;background:#eaf2fb;border:2px solid #0b0f16;border-radius:50%}input[type=range]::-moz-range-thumb{width:11px;height:11px;box-shadow:0 0 0 1px var(--accent);background:#eaf2fb;border:2px solid #0b0f16;border-radius:50%}select,input[type=date],input[type=text]{border:1px solid var(--line-strong);background:var(--bg-field);width:100%;color:var(--text);font-family:var(--font);border-radius:6px;outline:none;padding:6px 8px;font-size:12px}select:focus,input:focus{border-color:var(--accent)}.toggle{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;display:flex}.toggle .row-label{color:var(--text)}.switch{background:var(--rail);border:1px solid var(--line-strong);border-radius:9px;flex:none;width:34px;height:18px;transition:background .18s;position:relative}.switch:after{content:"";background:var(--text-faint);border-radius:50%;width:12px;height:12px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.toggle.on .switch{background:color-mix(in srgb, var(--accent) 45%, transparent);border-color:var(--accent)}.toggle.on .switch:after{background:var(--accent);box-shadow:0 0 8px var(--accent);transform:translate(16px)}.seg{background:var(--track-off);border:1px solid var(--line);border-radius:7px;gap:3px;padding:3px;display:grid}.seg button{color:var(--text-dim);font-family:var(--font);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:5px;padding:5px 4px;font-size:11px;transition:background .15s,color .15s;overflow:hidden}.seg button:hover{color:var(--text)}.seg button.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent)}.lock-row{border:1px solid color-mix(in srgb, var(--accent-warm) 45%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent-warm) 8%, transparent);flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px 12px;display:flex}.lock-row[hidden]{display:none}.lock{font-family:var(--font);text-align:left;background:var(--accent-warm);color:var(--on-warm);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:.5rem .9rem;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,color .2s;display:flex}.lock:hover{background:color-mix(in srgb, var(--accent-warm) 85%, #fff)}.lock.open{border-color:var(--line-strong);background:var(--bg-muted);color:var(--text-dim)}.lock.open:hover{background:var(--accent-soft);color:var(--accent-strong)}.lock-note{color:var(--text-faint);font-size:10.5px;line-height:1.45}.lock-row.flash{animation:.7s ease-out lock-flash}@keyframes lock-flash{0%{background:color-mix(in srgb, var(--accent-warm) 30%, transparent);border-color:var(--accent-hot)}to{background:color-mix(in srgb, var(--accent-warm) 8%, transparent);border-color:color-mix(in srgb, var(--accent-warm) 45%, transparent)}}.group.locked{opacity:.5}.group>summary{align-items:center;gap:7px;display:flex}.group.locked>summary .icon{opacity:.85;flex:none}@media (prefers-reduced-motion:reduce){.lock-row.flash{border-color:var(--accent-hot);animation:none}}.profiles{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.profiles-title{font-family:var(--font-heading);letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:700}.profile-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.preset.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.preset-list{flex-direction:column;gap:6px;display:flex}.preset{text-align:left;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--bg-muted);color:var(--text);font-family:var(--font);cursor:pointer;padding:9px 11px;font-size:12px;font-weight:600;transition:border-color .2s,background .2s}.preset:hover{border-color:var(--accent);background:var(--accent-soft)}.preset:active{transform:translateY(1px)}.preset small{color:var(--text-faint);margin-top:2px;font-size:10.5px;display:block}.preset .preset-facts{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:500}.hint{color:var(--text-faint);font-size:10.5px;line-height:1.45}.compass{justify-content:center;padding:2px 0 4px;display:flex}.compass canvas{cursor:grab;touch-action:none}.compass canvas:active{cursor:grabbing}#footer{padding:26px 20px calc(9px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));background:var(--scrim-bottom);pointer-events:none;z-index:4;flex-direction:column;gap:5px;display:flex;position:fixed;bottom:0;left:0;right:330px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:3px 18px;display:flex}#attribution{color:var(--text-faint);flex:24em;font-size:10.5px;line-height:1.5}#author{color:var(--text-faint);white-space:nowrap;pointer-events:auto;font-size:10.5px;line-height:1.5}#footer a{color:var(--text-dim);text-underline-offset:2px;pointer-events:auto;text-decoration-color:#b6c6da66}#footer a:hover{color:var(--accent)}#debug{border:1px solid var(--line);background:var(--overlay);backdrop-filter:blur(10px);min-width:240px;font-family:var(--mono);color:var(--text-dim);z-index:7;pointer-events:none;white-space:pre;border-radius:8px;padding:12px 14px;font-size:11px;line-height:1.6;position:fixed;top:96px;left:22px}#debug b{color:var(--accent);font-weight:500}#loading{z-index:20;background:var(--bg);place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0;overflow:hidden}.loading-streaks{pointer-events:none;position:absolute;inset:0;mask-image:radial-gradient(#000 30%,#0000 85%)}.loading-streaks i{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 70%, transparent), transparent);border-radius:1px;width:22%;height:1px;animation:linear infinite loading-drift;position:absolute;left:-30%}.loading-streaks i:first-child{width:26%;animation-duration:7.5s;animation-delay:-1s;top:22%}.loading-streaks i:nth-child(2){opacity:.7;width:18%;animation-duration:9s;animation-delay:-4s;top:34%}.loading-streaks i:nth-child(3){width:30%;animation-duration:6.5s;animation-delay:-2.5s;top:47%}.loading-streaks i:nth-child(4){opacity:.6;width:20%;animation-duration:10s;animation-delay:-6s;top:61%}.loading-streaks i:nth-child(5){opacity:.8;width:25%;animation-duration:8s;animation-delay:-3s;top:73%}.loading-streaks i:nth-child(6){opacity:.5;width:16%;animation-duration:11s;animation-delay:-7.5s;top:86%}@keyframes loading-drift{to{transform:translate(560%)}}@media (prefers-reduced-motion:reduce){.loading-streaks i{opacity:.25;animation:none}}#loading.done{opacity:0;pointer-events:none}.loading-inner{text-align:center;width:min(460px,82vw);position:relative}.loading-sub{color:var(--text-dim);margin-top:9px;font-size:12px}.loading-note{color:var(--text-faint);margin-top:30px;font-size:10.5px;line-height:1.6}.loading-mark{font-family:var(--font-heading);letter-spacing:.15em;color:var(--text);font-size:19px;font-weight:700}.loading-mark em{color:var(--accent-strong);font-style:normal;font-weight:500}.loading-bar{background:var(--rail);border-radius:2px;height:3px;margin-top:26px;overflow:hidden}.loading-bar i{background:var(--accent);width:0;height:100%;box-shadow:0 0 12px var(--accent);transition:width .25s;display:block}#loading-text{letter-spacing:.08em;color:var(--text-dim);min-height:1.2em;margin-top:14px;font-size:11.5px}#loading-error{color:var(--accent-hot);text-align:left;white-space:pre-wrap;background:#ff6b5b14;border:1px solid #ff6b5b66;border-radius:8px;margin-top:18px;padding:12px 14px;font-size:11.5px;line-height:1.55}#controls-hint{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11px;line-height:1;display:flex}#controls-hint span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}#controls-hint kbd{font-family:var(--mono);color:var(--text);background:#96b2d21f;border:1px solid #96b2d257;border-radius:4px;padding:3px 5px;font-size:10px;line-height:1}.recompute{background:var(--bg-panel-solid);border:1px solid var(--line);min-width:330px;max-width:min(520px,60vw);box-shadow:var(--shadow);backdrop-filter:blur(14px);opacity:0;pointer-events:none;z-index:6;border-radius:14px;padding:13px 18px 14px;transition:opacity .28s,transform .28s;position:absolute;bottom:84px;left:50%;transform:translate(-50%,12px)}.recompute.visible{opacity:1;transform:translate(-50%)}.recompute-label{letter-spacing:.02em;color:var(--text);font-size:12.5px;font-weight:600}.recompute-track{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:4px;margin:9px 0 7px;overflow:hidden}.recompute-bar{background:var(--accent);border-radius:999px;width:0%;height:100%;transition:width .18s}.recompute-stage{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.recompute.failed .recompute-stage{white-space:pre-line;overflow-wrap:anywhere;text-align:left;max-height:38dvh;overflow-y:auto}.recompute.failed .recompute-bar{background:#d05a4a}.grid-guide{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-muted);color:var(--text-dim);margin-bottom:12px;padding:10px 12px;font-size:11px;line-height:1.5}.grid-guide b{font-family:var(--font-heading);letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);margin-bottom:5px;font-size:10.5px;font-weight:700;display:block}.grid-guide p{margin:0}.grid-guide-now{border-top:1px solid var(--line);color:var(--text);font-variant-numeric:tabular-nums;margin-top:7px;padding-top:7px}.grid-guide.thin{border-color:color-mix(in srgb, var(--accent-warm) 45%, transparent);background:color-mix(in srgb, var(--accent-warm) 10%, var(--bg-muted))}.grid-guide.thin .grid-guide-now{color:var(--accent-warm);font-weight:600}.legend{margin-top:8px}.legend-bar{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:999px;height:9px}.legend-scale{color:var(--text-dim);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:10.5px;display:flex}#fallback-banner{background:color-mix(in srgb, var(--accent-warm) 16%, var(--bg-panel-solid));border:1px solid color-mix(in srgb, var(--accent-warm) 40%, transparent);max-width:min(760px,70vw);color:var(--text);box-shadow:var(--shadow);z-index:8;border-radius:12px;padding:10px 40px 10px 16px;font-size:12px;line-height:1.5;position:absolute;top:14px;left:50%;transform:translate(-50%)}#fallback-banner span{color:var(--text-dim);margin-top:2px;font-size:11px;display:block}#fallback-banner button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:17px;line-height:1;position:absolute;top:6px;right:8px}#fallback-banner button:hover{color:var(--text)}.row.has-hint .row-label,summary.has-hint{text-decoration:underline dotted var(--text-faint);text-underline-offset:3px;cursor:help}.row.disabled{opacity:.42;pointer-events:none}.rose{flex-direction:column;align-items:center;gap:6px;padding:8px 0 2px;display:flex}.rose canvas{display:block}.rose .hint{padding:0}.probe{background:var(--bg-panel);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--radius);width:316px;box-shadow:var(--shadow);z-index:6;padding:10px 8px;position:fixed;bottom:58px;left:22px}.probe[hidden]{display:none}.probe-bar{justify-content:space-between;align-items:center;padding:0 6px 6px;display:flex}.probe-title{letter-spacing:.06em;color:var(--text-dim);font-size:11px;font-family:var(--mono)}.probe-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:17px;line-height:1}.probe-close:hover{color:var(--text)}.probe canvas{margin:0 auto;display:block}.probe-readout{grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 6px 4px;font-size:11px;display:grid}.probe-readout span{color:var(--text-faint)}.probe-readout b{font-weight:500;font-family:var(--mono);color:var(--text);text-align:right}.probe .hint{padding:4px 6px 0}#spinup{z-index:6;pointer-events:none;position:fixed;top:0;left:0;right:0}.spinup-fill{background:var(--accent-warm);width:0;height:3px;transition:width .5s ease-out;display:block}#spinup.done .spinup-fill{background:var(--accent-ok)}.spinup-label{border:1px solid var(--line);background:var(--bg-panel);backdrop-filter:blur(9px);width:max-content;max-width:min(64vw,720px);box-shadow:var(--shadow);border-radius:999px;align-items:baseline;gap:12px;margin:10px auto 0;padding:7px 15px;display:flex}.spinup-title{color:var(--text);white-space:nowrap;font-size:12px;font-weight:600}#spinup.done .spinup-title{color:var(--accent-ok)}.spinup-detail{font-family:var(--mono);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}#scenario[hidden]{display:none}#scenario{z-index:6;border:1px solid var(--line);background:var(--bg-panel);backdrop-filter:blur(9px);max-width:min(760px,100vw - 690px);box-shadow:var(--shadow);color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;border-radius:999px;align-items:center;gap:11px;padding:7px 15px 7px 12px;font-size:13px;transition:border-color .15s,background .15s;display:flex;position:fixed;top:13px;left:50%;transform:translate(-50%)}#scenario:hover{border-color:var(--accent)}.scenario-icon{flex:none;width:13px;height:13px;position:relative}.scenario-icon:before,.scenario-icon:after{content:"";background:var(--accent-warm);border-radius:1px;width:4px;height:13px;position:absolute;top:0}.scenario-icon:before{left:1px}.scenario-icon:after{right:1px}#scenario.liczona .scenario-icon:before{border-top:6.5px solid #0000;border-bottom:6.5px solid #0000;border-left:11px solid var(--accent-ok);background:0 0;border-radius:0;width:0;height:0;left:2px}#scenario.liczona .scenario-icon:after{display:none}.scenario-label{align-items:baseline;gap:10px;min-width:0;display:flex}.scenario-title{color:var(--text);white-space:nowrap;font-size:12px;font-weight:500}.scenario-detail{font-family:var(--mono);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.launcher{z-index:30;background:var(--overlay);backdrop-filter:blur(11px)saturate(.85);flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:32px 24px;animation:.35s ease-out launcher-in;display:flex;position:fixed;inset:0;overflow-y:auto}.launcher.leaving{opacity:0;transition:opacity .25s ease-in}@keyframes launcher-in{0%{opacity:0}}.launcher-head{text-align:center;max-width:660px}.launcher-title{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-strong);font-size:13px;font-weight:800}.launcher-sub{color:var(--text);margin-top:10px;font-size:13px;line-height:1.6}.launcher-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;width:100%;max-width:900px;display:grid}.launcher-tile{text-align:left;border:1px solid var(--line);background:var(--bg-panel-solid);box-shadow:var(--shadow-soft);color:var(--text);font-family:var(--font);cursor:pointer;border-radius:1rem;flex-direction:column;align-self:start;gap:9px;padding:16px 17px 15px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.launcher-tile:hover,.launcher-tile:focus-visible{border-color:var(--accent);background:var(--bg-muted);box-shadow:var(--shadow);outline:none}.launcher-tile.local:hover,.launcher-tile.local:focus-visible{border-color:var(--accent-warm)}.launcher-badge{border:1px solid var(--line);background:var(--bg-muted);letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:.28rem .65rem;font-size:9.5px;font-weight:700;display:inline-flex}.launcher-name{font-family:var(--font-heading);font-size:16px;font-weight:600}.launcher-desc{color:var(--text-dim);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.launcher-weather{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600;line-height:1.5}.launcher-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4px 14px;margin-top:3px;padding-top:10px;display:grid}.launcher-fact{justify-content:space-between;gap:8px;font-size:11px;display:flex}.launcher-fact i{color:var(--text-faint);font-style:normal}.launcher-fact b{font-family:var(--mono);color:var(--text-dim);font-weight:400}@media (prefers-reduced-motion:reduce){.launcher{animation:none}.launcher-tile:hover,.launcher-tile:focus-visible{transform:none}}.sounding-dialog{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-panel-solid);width:min(560px,100vw - 2rem);color:var(--text);font-family:var(--font);padding:1rem 1.1rem}.sounding-dialog::backdrop{background:var(--scrim-modal,#0f172473)}.sounding-title{font-family:var(--font-heading);margin-bottom:.4rem;font-weight:600}.sounding-dialog textarea{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-muted);width:100%;color:var(--text);white-space:pre;resize:vertical;margin:.6rem 0 .3rem;padding:.5rem;font:11px ui-monospace,monospace}.sounding-error{color:#d64545;min-height:1.1em;margin-bottom:.4rem;font-size:.8rem}.sounding-actions{justify-content:flex-end;gap:.5rem;display:flex}.cookie-bar{z-index:35;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line-strong);background:var(--bg-panel-solid);align-items:center;gap:18px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 22px #00000024}.cookie-text{color:var(--text-dim);margin:0;font-size:11.5px;line-height:1.55}.cookie-actions{flex:none;gap:8px;display:flex}@media (width<=760px){.cookie-bar{flex-direction:column;align-items:stretch;gap:10px}.cookie-actions{justify-content:flex-end}}.confirm-dialog{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-panel-solid);width:min(440px,100vw - 2rem);max-height:88dvh;color:var(--text);font-family:var(--font);padding:1.1rem 1.2rem;overflow-y:auto}.confirm-dialog::backdrop{background:var(--scrim-modal,#0f172473)}.confirm-title{font-family:var(--font-heading);margin:0 0 .7rem;font-size:15px;font-weight:600}.confirm-body p{color:var(--text-dim);margin:0 0 .6rem;font-size:12px;line-height:1.55}.confirm-body .confirm-alt{color:var(--text-faint)}.confirm-ack{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-muted);cursor:pointer;align-items:flex-start;gap:9px;margin:.3rem 0 .9rem;padding:.65rem .7rem;font-size:12px;line-height:1.45;display:flex}.confirm-ack input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:1px 0 0}.confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.confirm-actions button[disabled]{opacity:.45;cursor:not-allowed}#panel-toggle,#panel-scrim,.panel-close,#touch-hint,#panel-scrim[hidden]{display:none}.hint-toast{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--bg-panel-solid);box-shadow:var(--shadow);color:var(--text);padding:11px 14px;font-size:12px;line-height:1.5;position:fixed}.hint-toast[hidden]{display:none}@media (width<=1024px){#panel{width:286px}#footer{right:286px}#scenario{max-width:min(760px,100vw - 620px)}}@media (width<=760px),(width<=1000px) and (height<=540px) and (orientation:landscape){#hud{padding:calc(10px + env(safe-area-inset-top)) 12px 10px calc(12px + env(safe-area-inset-left));gap:7px}#hud:before{height:96px}.mark{letter-spacing:.1em;font-size:12.5px}.hud-title .sub{display:none}.hud-row{flex-wrap:wrap;gap:6px}.badge{padding:5px 10px;font-size:10px}.spinup-label{max-width:calc(100vw - 24px);margin-top:calc(64px + env(safe-area-inset-top));gap:8px;padding:6px 12px}#panel{width:auto;height:min(76dvh,620px);padding:8px 12px calc(26px + env(safe-area-inset-bottom));border-left:none;border-top:1px solid var(--line);z-index:12;visibility:hidden;border-radius:1rem 1rem 0 0;transition:transform .28s cubic-bezier(.3,.8,.4,1),visibility .28s;inset:auto 0 0;transform:translateY(102%)}body.panel-open #panel{visibility:visible;transform:none}.panel-close{z-index:2;background:var(--bg-panel-solid);width:calc(100% + 24px);color:var(--text-faint);cursor:pointer;border:none;border-radius:1rem 1rem 0 0;justify-content:flex-end;align-items:center;margin:-8px -12px 6px;padding:14px 12px 8px;display:flex;position:sticky;top:-8px}.panel-close:before{content:"";background:var(--rail);border-radius:999px;width:38px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}#panel-scrim{z-index:11;background:var(--scrim-modal);display:block;position:fixed;inset:0}#panel-toggle{right:10px;bottom:calc(62px + env(safe-area-inset-bottom));z-index:10;border:1px solid var(--line-strong);background:var(--bg-panel-solid);width:52px;height:52px;box-shadow:var(--shadow);color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.panel-toggle-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body.panel-open #panel-toggle{display:none}#scenario{top:auto;bottom:calc(62px + env(safe-area-inset-bottom));max-width:none;padding:9px 14px 9px 11px;left:10px;right:74px;transform:none}.scenario-label{flex-direction:column;align-items:flex-start;gap:1px}.scenario-detail{font-size:10px}.probe{left:10px;right:10px;bottom:calc(124px + env(safe-area-inset-bottom));width:auto}.recompute{left:10px;right:10px;bottom:calc(124px + env(safe-area-inset-bottom));min-width:0;max-width:none;padding:12px 14px;transform:translateY(12px)}.recompute.visible{transform:none}#footer{padding:14px 12px calc(7px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));right:0}#controls-hint,#author{display:none}#attribution{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex-basis:100%;font-size:9.5px;line-height:1.45;display:-webkit-box;overflow:hidden}#debug{top:calc(62px + env(safe-area-inset-top));min-width:0;font-size:10px;left:10px;right:10px}#fallback-banner{max-width:none;left:10px;right:10px;transform:none}.launcher{padding:calc(24px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));justify-content:flex-start;gap:18px}.launcher-grid{grid-template-columns:1fr;max-width:460px}.launcher-sub{font-size:12px}.launcher-tile{padding:14px 14px 13px}.launcher-name{font-size:15px}}@media (width<=1000px) and (height<=540px) and (orientation:landscape){#panel{width:min(320px,64vw);height:auto;padding:8px 12px 24px;padding-right:calc(12px + env(safe-area-inset-right));border-top:none;border-left:1px solid var(--line);border-radius:0;inset:0 0 0 auto;transform:translate(102%)}.panel-close{border-radius:0;padding-top:10px}.panel-close:before{display:none}.spinup-label{margin-top:calc(56px + env(safe-area-inset-top))}.probe{max-height:58dvh;overflow-y:auto}#touch-hint{display:none}.launcher{padding-top:calc(16px + env(safe-area-inset-top));gap:14px}.launcher-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:800px}}@media (hover:none){#controls-hint{display:none}#touch-hint{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:11px;line-height:1.4;display:flex}#touch-hint span{white-space:nowrap}input[type=range]::-webkit-slider-thumb{width:20px;height:20px}input[type=range]::-moz-range-thumb{width:18px;height:18px}.group>summary{padding:14px 12px}.group-body{gap:14px}.seg button{padding:9px 5px}.preset,.profile-grid button{padding:12px 13px}.toggle{padding:3px 0}.switch{border-radius:12px;width:44px;height:24px}.switch:after{width:16px;height:16px;top:3px;left:3px}.toggle.on .switch:after{transform:translate(20px)}.probe-close{padding:4px 10px;font-size:20px}.confirm-ack input{width:20px;height:20px}.row.has-hint .row-label,summary.has-hint{cursor:default}}body.chooser-page{overflow:auto}.chooser-page #regions{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:26px;min-height:100vh;padding:clamp(96px,14vh,160px) 24px clamp(96px,12vh,140px);display:flex}.chooser-page .launcher-tile{align-self:stretch}.chooser-page .launcher-facts{margin-top:auto}.region-tile{color:var(--text);text-decoration:none}.region-tile:hover,.region-tile:focus-visible,.region-tile .launcher-desc{text-decoration:none}.launcher-back{border:1px solid var(--line);background:var(--bg-muted);color:var(--text-dim);letter-spacing:.06em;border-radius:999px;align-items:center;gap:5px;margin-bottom:14px;padding:.3rem .7rem .3rem .5rem;font-size:10.5px;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.launcher-back:hover,.launcher-back:focus-visible{border-color:var(--accent);color:var(--text);text-decoration:none}
