:root{--primary:#0b4f8a;--on-primary:#fff;--primary-container:#d3e4f7;--on-primary-container:#0a2a4a;--bg:#f2f4f7;--surface:#fff;--surface-2:#e6eaf0;--on-surface:#11161c;--muted:#3e4752;--outline:#8893a0;--ok:#1b7f3b;--on-ok:#fff;--caution:#b45f00;--on-caution:#fff;--danger:#c62828;--on-danger:#fff;--unknown:#dde3ea;--on-unknown:#11161c;--warn-bg:#ffe6bf;--warn-fg:#4a2600;--t1-bg:#f28c28;--t1-fg:#231000;--t2-bg:#e9dfa8;--t2-fg:#231f00;--t3-bg:#f5d90a;--t3-fg:#231f00;--t4-bg:#2e9d4f;--t4-fg:#fff;--touch:64px;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:#9ccbff;--on-primary:#00315a;--primary-container:#1c3f63;--on-primary-container:#d3e4f7;--bg:#0d1015;--surface:#171c23;--surface-2:#222934;--on-surface:#e6eaf0;--muted:#b8c2ce;--outline:#6b7684;--ok:#3ddc84;--on-ok:#00210e;--caution:#ffb74d;--on-caution:#2b1700;--danger:#ff6b6b;--on-danger:#2d0000;--unknown:#2a323d;--on-unknown:#e6eaf0;--warn-bg:#4a3000;--warn-fg:#ffe0b0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--primary:#9ccbff;--on-primary:#00315a;--primary-container:#1c3f63;--on-primary-container:#d3e4f7;--bg:#0d1015;--surface:#171c23;--surface-2:#222934;--on-surface:#e6eaf0;--muted:#b8c2ce;--outline:#6b7684;--ok:#3ddc84;--on-ok:#00210e;--caution:#ffb74d;--on-caution:#2b1700;--danger:#ff6b6b;--on-danger:#2d0000;--unknown:#2a323d;--on-unknown:#e6eaf0;--warn-bg:#4a3000;--warn-fg:#ffe0b0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--on-surface);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font:16px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}svg{flex:none}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}#app{min-height:100dvh}.screen{max-width:640px;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;margin:0 auto;display:flex}.content{flex-direction:column;gap:10px;padding:8px 16px 40px;display:flex}.topbar{min-height:var(--touch);align-items:center;gap:2px;padding:4px 4px 0 16px;display:flex}.topbar:has(>.icon-btn:first-child){padding-left:0}.topbar-title{flex:1;min-width:0}.h1{font-size:22px;font-weight:700}.h2{margin:0;font-size:18px;font-weight:600}.sub,.muted{color:var(--muted);font-size:13px}.small{font-size:13px}.row-gap{align-items:center;gap:10px;display:inline-flex}.icon-btn{width:var(--touch);height:var(--touch);color:var(--on-surface);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:disabled{opacity:.35}.icon-btn.sm{width:48px;height:48px;color:var(--muted)}.icon-btn:active{background:var(--surface-2)}.accent,.icon-btn.accent{color:var(--primary)}.muted-icon{color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius)}.section{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 2px;font-size:13px;font-weight:600}p.muted{margin:0;line-height:1.35}p.muted.strong{color:var(--on-surface);font-size:14px}.warn{background:var(--warn-bg);color:var(--warn-fg);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.grid{gap:8px;display:grid}.grid.tight{gap:6px}.tile{text-align:left;background:var(--surface);border:1px solid color-mix(in srgb, var(--outline) 60%, transparent);border-radius:14px;flex-direction:column;justify-content:center;gap:2px;min-height:72px;padding:10px 12px;display:flex}.tile.center{text-align:center;align-items:center}.tile.small{min-height:56px}.tile.small .tile-title{font-size:18px}.tile.sel{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.tile-title{font-size:17px;font-weight:600;line-height:1.2}.tile-detail{color:var(--muted);font-size:13px}.tile.sel .tile-detail{color:color-mix(in srgb, var(--on-primary) 85%, transparent)}.answered{min-height:var(--touch);text-align:left;background:var(--surface);border:1px solid color-mix(in srgb, var(--outline) 40%, transparent);border-radius:14px;align-items:center;gap:14px;width:100%;padding:10px 16px;display:flex}.answered-text{flex-direction:column;flex:1;display:flex}.answered-value{font-size:20px;font-weight:600}.answered-detail{color:var(--muted);font-size:14px}.btn{min-height:48px;color:var(--primary);background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:16px;font-weight:600;display:inline-flex}.btn.big{min-height:var(--touch);width:100%;font-size:18px}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.primary:disabled{opacity:.4}.btn.tonal{background:var(--primary-container);color:var(--on-primary-container)}.btn.ghost{align-self:flex-start}.btn.danger{background:var(--danger);color:var(--on-danger)}.btn.outline{color:inherit;background:0 0;border:1.5px solid}.oat{min-height:var(--touch);align-items:center;gap:6px;padding:4px 8px;display:flex}.repeat{background:var(--primary);width:60px;height:48px;color:var(--on-primary);-webkit-user-select:none;user-select:none;touch-action:none;border:0;border-radius:12px;font-size:30px;font-weight:700}.repeat:active{filter:brightness(1.15)}.oat-value{background:0 0;border:0;flex-direction:column;flex:1;align-items:center;padding:0 4px;display:flex}.oat-num{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.oat-num.unconfirmed{color:color-mix(in srgb, var(--muted) 50%, transparent)}.oat-confirm{color:var(--primary);font-size:13px;font-weight:600}.segmented{border:1px solid var(--outline);border-radius:999px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented button{background:var(--surface);border:0;justify-content:center;align-items:center;gap:8px;min-height:56px;font-size:17px;display:flex}.segmented button+button{border-left:1px solid var(--outline)}.segmented button.sel{background:var(--primary-container);color:var(--on-primary-container);font-weight:600}.flaps-tag{color:var(--caution);align-items:center;gap:4px;font-weight:700;display:flex}.metar-btn{justify-content:center}.metar-used{background:var(--primary-container);color:var(--on-primary-container);border-radius:14px;flex-direction:column;gap:4px;padding:6px;display:flex}.metar-used-head{text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-height:48px;padding:6px 8px;display:flex}.metar-used-text{flex:1;font-size:15px}.metar-entry{gap:8px;display:flex}.metar-entry .icao{width:5.4em;min-width:0;min-height:var(--touch);border:1px solid var(--outline);background:var(--surface);color:var(--on-surface);letter-spacing:.06em;text-align:center;text-transform:uppercase;border-radius:14px;flex:none;padding:0 8px;font:600 22px ui-monospace,monospace}.metar-entry .icao::placeholder{color:var(--muted);letter-spacing:0;font-size:17px}.metar-entry .btn{flex:1;min-width:0}.metar-entry .btn:disabled,.metar-entry .icao:disabled{opacity:.45}.metar-used .metar-entry .icao,.metar-used .metar-entry .btn{min-height:56px}.metar-used .metar-entry .btn{background:var(--surface);color:var(--on-surface)}.rot{transform:rotate(180deg)}.raw{white-space:pre-wrap;word-break:break-word;padding:4px 8px;font-size:13px;line-height:1.4;display:block}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;flex-direction:column;display:flex}.sheet-head{align-items:center;gap:10px;padding:4px 4px 4px 16px;display:flex}.sheet-head h2{flex:1;margin:0;font-size:18px}.sheet-body{flex-direction:column;gap:8px;padding:0 16px 12px;display:flex;overflow-y:auto}.sheet-foot{border-top:1px solid color-mix(in srgb, var(--outline) 35%, transparent);padding:8px 16px 12px}.station{text-align:left;background:var(--surface);border:2px solid #0000;border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.station.sel{border-color:var(--primary)}.station-head{align-items:center;gap:10px;display:flex}.station-id{font-size:20px;font-weight:700}.station-dist{font-weight:600}.station-age{color:var(--muted);flex:1;font-size:14px}.station-age.stale{color:var(--caution);font-weight:600}.station-sum{font-size:15px}.station .raw{color:var(--muted);padding:2px 0 0}.loading{color:var(--muted);align-items:center;gap:12px;display:flex}.spinner{border:3px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.results{flex-direction:column;gap:8px;scroll-margin-top:8px;display:flex}.fluid{flex-direction:column;gap:2px;padding:4px 6px 6px 12px;display:flex}.fluid .warn{margin-right:8px}.fluid-head{align-items:center;gap:6px;display:flex}.brand{text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:4px;min-width:0;min-height:44px;padding:2px 4px;display:flex}.brand:not(:disabled):active{background:var(--surface-2)}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-text .small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand-name{font-size:15px;font-weight:600}.brand.dil{font-variant-numeric:tabular-nums;flex:none}.hot-line{align-items:center;min-height:48px;display:flex}.hot{font-variant-numeric:tabular-nums;flex:1;font-size:24px;font-weight:700}.hot-upper{color:color-mix(in srgb, var(--muted) 70%, transparent);font-size:16px;font-weight:600}.btn.play{background:var(--primary-container);width:60px;height:44px;color:var(--on-primary-container);margin-right:4px;padding:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);border:1px solid color-mix(in srgb, var(--outline) 35%, transparent);min-height:44px;color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:inline-flex}.chip.big{background:var(--bg);min-height:48px}.chip.sel{background:var(--surface-2)}.details{flex-direction:column;gap:6px;padding:4px 8px 0 0;display:flex}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:14px;font-weight:900;display:inline-block}.badge.large{font-size:18px}.badge.dim{opacity:.45}.badge.tI{background:var(--t1-bg);color:var(--t1-fg)}.badge.tII{background:var(--t2-bg);color:var(--t2-fg)}.badge.tIII{background:var(--t3-bg);color:var(--t3-fg)}.badge.tIV{background:var(--t4-bg);color:var(--t4-fg)}.st-ok{--st-bg:var(--ok);--st-fg:var(--on-ok)}.st-caution{--st-bg:var(--caution);--st-fg:var(--on-caution)}.st-expired{--st-bg:var(--danger);--st-fg:var(--on-danger)}.st-unknown{--st-bg:var(--unknown);--st-fg:var(--on-unknown)}.timer-banner{text-align:left;background:var(--st-bg);color:var(--st-fg);min-height:var(--touch);border:0;border-radius:14px;align-items:center;gap:10px;margin:6px 16px;padding:10px 16px;display:flex}.timer-banner-time{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.timer-banner-fluid{flex:1;font-size:14px}.screen.timer{background:var(--st-bg);max-width:none;color:var(--st-fg)}.timer-body{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:640px;margin:0 auto;padding:12px 20px 32px;display:flex}.timer-head{align-items:center;gap:8px;width:100%;font-size:16px;display:flex}.timer-fluid{flex:1;font-size:18px;font-weight:600}.elapsed{font-variant-numeric:tabular-nums;font-size:clamp(56px,19vw,96px);font-weight:900;line-height:1}.target{font-variant-numeric:tabular-nums;font-size:40px;font-weight:700}.progress{background:color-mix(in srgb, var(--st-fg) 20%, transparent);border-radius:11px;width:100%;height:22px;margin:6px 0;position:relative}.progress-fill{background:var(--st-fg);border-radius:11px;position:absolute;inset:0 auto 0 0}.progress-mark{background:var(--st-fg);width:4px;box-shadow:0 0 0 2px var(--st-bg);border-radius:2px;margin-left:-2px;position:absolute;top:-6px;bottom:-6px}.status-text{text-align:center;font-size:20px;font-weight:600}.timer-warn{align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.timer-cond{width:100%;min-height:var(--touch);text-align:left;background:color-mix(in srgb, var(--st-fg) 12%, transparent);border:0;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:17px;display:flex}.timer-cond span{flex:1}.dialog{background:var(--surface);color:var(--on-surface);border:0;border-radius:20px;width:min(92vw,380px);padding:20px}.dialog::backdrop{background:#00000080}.dialog-title{margin:0 0 16px;font-size:20px;font-weight:700}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-actions .btn{min-width:110px;min-height:56px}.search{background:var(--surface);border:1px solid var(--outline);min-height:56px;color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.search input{color:var(--on-surface);background:0 0;border:0;outline:none;flex:1;min-height:54px;font-size:18px}.brand-row{min-height:var(--touch);background:var(--surface);text-align:left;border:0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:10px 16px;display:flex}.brand-row .brand-name{font-size:18px}.brand-row.sel{background:var(--primary-container);color:var(--on-primary-container)}.brand-row:disabled{opacity:.45}.brand-row .brand-text{flex:1}.field{border:1px solid var(--outline);background:var(--surface);border-radius:12px;align-items:center;width:100%;min-height:56px;padding:0 14px;font-size:18px;display:flex}.field input{background:0 0;border:0;outline:none;flex:1;min-height:54px;font-size:18px}.field.suffix span{color:var(--muted)}.settings{gap:8px}.settings .section{margin:6px 0 0}.settings-row{align-items:flex-end;gap:12px;display:flex}.vr-help{flex:1;padding-bottom:8px}.settings-field{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-field.vr{flex:none;width:7.5em}.settings-field .field input{width:100%;min-width:0}.prose p{margin:0}.prose ul{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.banner{z-index:10;padding:4px 4px 4px 16px;padding-top:max(4px, env(safe-area-inset-top));background:var(--primary-container);color:var(--on-primary-container);align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex;position:sticky;top:0}.banner span{flex:1}.banner .icon-btn{color:inherit}.splash{text-align:center;min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.splash.error{color:var(--danger)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:0s!important}}.landing{position:relative}.landing-lang{top:calc(12px + env(safe-area-inset-top));position:absolute;right:16px}.lang-switch{border:1px solid var(--outline);border-radius:999px;flex:none;margin-right:12px;display:flex;overflow:hidden}.landing-lang .lang-switch{margin-right:0}.lang-switch button{background:var(--surface);min-width:64px;min-height:44px;color:var(--muted);border:0;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.lang-switch button span{font-size:20px;line-height:1}.lang-switch button+button{border-left:1px solid var(--outline)}.lang-switch button.sel{background:var(--primary-container);color:var(--on-primary-container)}.landing-body{flex-direction:column;gap:28px;padding:72px 16px 40px;display:flex}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.landing-hero img{border-radius:22px;box-shadow:0 6px 20px #0b4f8a40}.landing-hero h1{margin:6px 0 0;font-size:30px;line-height:1.15}.landing-hero p{max-width:30ch;color:var(--muted);margin:0;font-size:18px}.landing-cta{flex-direction:column;gap:10px;display:flex}.install-steps{padding:14px 16px}.install-steps.row{align-items:center;gap:12px;display:flex}.install-steps.row p{flex:1;margin:0}.install-steps.ok{background:color-mix(in srgb, var(--ok) 14%, var(--surface))}.install-steps.ok .step-icon{color:var(--ok)}.install-title{margin:0 0 8px;font-weight:600}.install-steps ol{counter-reset:step;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{align-items:center;gap:12px;min-height:44px;font-size:17px;display:flex}.step-icon{background:var(--primary-container);width:40px;height:40px;color:var(--on-primary-container);border-radius:12px;flex:none;place-items:center;display:grid}.landing-foot{color:var(--muted);border-top:1px solid color-mix(in srgb, var(--outline) 35%, transparent);flex-direction:column;gap:8px;padding-top:16px;font-size:13px;display:flex}.landing-foot p{margin:0}.landing-foot svg{vertical-align:-3px}
