:root{color:#edf5ef;background:#08100d;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--ink: #edf5ef;--muted: #91a79c;--faint: rgba(213, 226, 219, .54);--panel: rgba(7, 14, 11, .66);--panel-strong: rgba(7, 14, 11, .84);--line: rgba(255, 255, 255, .11);--accent: #77e19e;--accent-soft: rgba(119, 225, 158, .17);--warning: #e8c875;--danger: #ff756d}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 66% 36%,rgba(56,91,74,.34),transparent 40%),radial-gradient(circle at 15% 84%,rgba(26,77,55,.18),transparent 34%),linear-gradient(145deg,#111b17,#080d0b 68%)}body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(120deg,rgba(255,255,255,.025),transparent 36%,rgba(119,225,158,.02));content:"";pointer-events:none}#viewport{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:default;opacity:0;touch-action:none;transition:opacity .7s ease}body.ready #viewport{opacity:1}body.roaming #viewport{cursor:grab}body.roaming #viewport:active{cursor:grabbing}.topbar,.facts,.controls,.hint,.crosshair,.help-dialog,.error-panel{z-index:3}.topbar{position:fixed;top:0;right:0;left:0;display:flex;align-items:flex-start;justify-content:space-between;padding:25px 30px;pointer-events:none}.brand-block,.status-group{pointer-events:auto}.eyebrow{margin:0 0 6px;color:#89a797;font-size:10px;font-weight:750;letter-spacing:.2em}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(24px,3.2vw,38px);font-weight:560;letter-spacing:-.05em}h1 span,h2 span{color:var(--accent)}.subtitle{margin-bottom:0;color:var(--faint);font-size:11px;letter-spacing:.02em}.status-group{display:flex;align-items:center;gap:8px}.status{display:flex;align-items:center;gap:9px;max-width:min(360px,40vw);padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#080e0cad;color:#c8d4ce;font-size:12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status i{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--warning);box-shadow:0 0 12px currentColor}.status i[data-state=ready]{background:var(--accent)}.status i[data-state=error]{background:var(--danger)}.icon-button{display:inline-grid;width:38px;height:38px;padding:0;place-items:center;border-radius:50%;font-size:16px;font-weight:650}.facts{position:fixed;top:108px;left:30px;width:250px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:var(--panel);box-shadow:0 16px 42px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none}.panel-heading,.fact-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-heading{padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);color:#dce7e1;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.panel-heading strong{color:var(--accent);font-size:9px;font-weight:750;letter-spacing:.08em}.fact-row{min-height:34px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px}.fact-row span{color:#82988c}.fact-row strong{overflow:hidden;color:#e2ece6;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.memory-meter{height:3px;margin:0 14px 13px;overflow:hidden;border-radius:99px;background:#ffffff1a}.memory-meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5bd08b,#b5edb9);transition:width .35s ease}.controls{position:fixed;right:30px;bottom:28px;left:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;pointer-events:none}.station-nav,.control-actions{pointer-events:auto}.station-nav,.control-actions{display:flex;align-items:stretch;gap:7px}.station-nav{padding:3px;border:1px solid var(--line);border-radius:13px;background:#080e0cc2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}button{min-height:38px;padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#080e0cb8;color:#d9e5df;font:inherit;font-size:12px;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}button:hover,button[aria-pressed=true]{border-color:#77e19e94;background:#1f392ddb;color:#f3fff7}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.34}button:disabled:hover{border-color:#ffffff1f;background:#080e0cb8;color:#d9e5df}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nav-button{min-width:39px;border-color:transparent;background:transparent;font-size:18px;-webkit-backdrop-filter:none;backdrop-filter:none}.station-route{display:grid;grid-template-columns:minmax(140px,18vw) auto;grid-template-rows:auto 1fr;align-items:center;gap:2px 12px;min-width:min(300px,30vw);padding:4px 10px}.station-route span{color:#789087;font-size:9px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.station-route strong{grid-column:2;grid-row:1 / 3;color:#f3fff7;font-size:12px;font-variant-numeric:tabular-nums}.station-route input{width:100%;height:12px;margin:0;accent-color:var(--accent);cursor:pointer}.primary-button{border-color:#77e19e6b;background:#19462fd6}.hint{position:fixed;bottom:86px;left:50%;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#070d0b8c;color:var(--faint);font-size:10px;letter-spacing:.01em;white-space:nowrap;transform:translate(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}.hint-separator{color:#77e19e94}body.roaming .hint{color:#c2d2c8}body.roaming .hint #hint-primary{color:var(--accent)}.crosshair{position:fixed;top:50%;left:50%;width:6px;height:6px;border:1px solid rgba(237,245,239,.9);border-radius:50%;opacity:0;pointer-events:none;transform:translate(-50%,-50%);transition:opacity .12s ease}body.roaming .crosshair{opacity:1}.help-dialog{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.help-dialog[hidden],.error-panel[hidden]{display:none}.dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0207059e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-card{position:relative;width:min(510px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow-y:auto;padding:25px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:var(--panel-strong);box-shadow:0 28px 90px #00000075;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dialog-heading h2{margin-bottom:0;color:#f1fff6;font-size:26px;font-weight:560;letter-spacing:-.04em}.dialog-close{flex:0 0 auto;font-size:24px;font-weight:350}.dialog-intro{max-width:410px;margin:18px 0 22px;color:#a9bdb1;font-size:13px;line-height:1.55}.shortcut-grid{display:grid;gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0f}.shortcut-grid div{display:flex;align-items:center;gap:5px;min-height:45px;padding:7px 10px;background:#080f0ccc}.shortcut-grid span{margin-left:7px;color:#b4c4ba;font-size:12px}kbd{display:inline-grid;min-width:25px;min-height:24px;padding:3px 6px;place-items:center;border:1px solid rgba(119,225,158,.28);border-bottom-width:2px;border-radius:6px;background:#77e19e14;color:#d9f2df;font-family:inherit;font-size:10px;font-weight:750}.dialog-note{display:flex;gap:9px;margin-top:18px;color:#8fa79a;font-size:11px;line-height:1.45}.note-dot{flex:0 0 auto;width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.error-panel{position:fixed;top:50%;left:50%;width:min(520px,calc(100vw - 36px));padding:22px;border:1px solid rgba(255,117,109,.45);border-radius:15px;background:#310f0ef0;color:#ffd5d1;box-shadow:0 28px 90px #0000006b;transform:translate(-50%,-50%)}.error-panel strong{display:block;margin-bottom:8px;font-size:16px}.error-panel p{margin-bottom:16px;color:#f0b9b4;font-size:12px;line-height:1.5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}@media(max-width:900px){.controls{align-items:stretch;flex-direction:column}.station-nav,.control-actions{width:100%}.control-actions button{flex:1}.hint{bottom:160px}}@media(max-width:640px){.topbar{padding:18px}.subtitle{display:none}.status{max-width:190px;padding:8px 10px;font-size:11px}.facts{top:86px;right:18px;left:18px;width:auto}.facts .fact-row:nth-of-type(2),.facts .fact-row:nth-of-type(3){display:none}.controls{right:18px;bottom:16px;left:18px;gap:6px}.station-route{grid-template-columns:minmax(90px,1fr) auto;min-width:0}.control-actions button{padding-inline:7px;font-size:11px}.hint{right:18px;bottom:158px;left:18px;justify-content:center;overflow:hidden;transform:none}.hint span:nth-of-type(n+3){display:none}.dialog-card{padding:20px}.dialog-heading h2{font-size:23px}}
