:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--accent: #2ec7ff;--bg: #0a0a0a;--surface: rgba(20, 20, 24, .92);--text: #f5f5f7;--muted: rgba(245, 245, 247, .65);--ok: #34c759;--bad: #ff453a}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}button{font:inherit}.app{position:relative;width:100%;height:100%;overflow:hidden}.camera-view{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.camera-video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.camera-video.ready{opacity:1}.camera-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted)}.overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.overlay-layer>*{pointer-events:auto}.top-bar{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:calc(100% - 24px);z-index:2}.top-pill-button{flex:0 0 auto;padding:8px 14px;border:none;border-radius:999px;background:#00000073;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.status-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#00000073;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.status-bar .divider{width:1px;height:14px;background:#ffffff40}.status-dot{width:9px;height:9px;border-radius:50%;background:#ffd60a}.status-dot.loaded{background:var(--ok)}.status-dot.failed{background:var(--bad)}.route-card-three{grid-template-columns:1fr minmax(0,1.1fr) 1fr}.route-mid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:0 4px}.route-mid-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.route-mid strong{font-size:15px;line-height:1.2}.route-mid small{font-size:11px;color:var(--muted)}.kids-summary{display:flex;flex-direction:column;gap:12px;line-height:1.48;font-size:15px}.kids-summary p{margin:0}.sheet-compact{max-height:70vh}.settings-fieldset{margin:0;padding:0;border:none}.settings-legend{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}.settings-option{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:#ffffff0d;cursor:pointer}.settings-option.selected{background:#2ec7ff1f;outline:1px solid rgba(46,199,255,.35)}.settings-option input{margin-top:4px}.settings-option strong{display:block;margin-bottom:4px}.settings-option small{color:var(--muted);line-height:1.4}.settings-note{margin-top:12px}.nearby-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.nearby-item{width:100%;border:none;border-radius:12px;padding:12px 14px;background:#ffffff0f;color:inherit;text-align:left;cursor:pointer}.nearby-item:active{background:#ffffff1f}.nearby-row{display:flex;align-items:baseline;gap:10px}.nearby-row strong{flex:1}.nearby-rank{flex-shrink:0;width:1.25rem;color:var(--muted);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.nearby-distance{flex-shrink:0;color:var(--muted);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.nearby-route{display:block;margin-top:6px;padding-left:calc(1.25rem + 10px);color:var(--accent);line-height:1.35}.marker{position:absolute;transform:translate(-50%,-50%) scale(var(--marker-scale, 1));border:none;background:transparent;color:#ffffffe6;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;cursor:pointer}.marker.best{color:var(--ok)}.marker-icon{display:block;font-size:22px;text-shadow:0 1px 4px rgba(0,0,0,.8)}.marker.best .marker-icon{font-size:28px}.marker-label{font-size:11px;font-weight:700;padding:2px 6px;border-radius:999px;background:#00000080}.reticle-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.reticle{position:relative;width:64px;height:64px}.reticle-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(255,255,255,.65);border-radius:50%}.reticle.active .reticle-ring{border-color:var(--ok)}.reticle-dot{position:absolute;top:50%;left:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#fffc}.reticle.active .reticle-dot{background:var(--ok)}.bottom-bar{position:absolute;left:0;right:0;bottom:max(16px,env(safe-area-inset-bottom));padding:0 16px;display:flex;justify-content:center}.hint{margin:0;padding:10px 16px;border-radius:999px;background:#00000073;font-size:14px;font-weight:600}.lock-button{width:min(100%,420px);display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;border-radius:16px;background:#18181cd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);text-align:left}.lock-icon{font-size:24px}.lock-text{display:flex;flex-direction:column;gap:2px;flex:1}.lock-text small{color:var(--muted);line-height:1.35}.lock-action{font-weight:700;color:var(--accent)}.permission-gate{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px;background:#000000d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.permission-gate h1{margin:0;font-size:28px}.permission-gate p{margin:0;color:var(--muted);line-height:1.5}.permission-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.permission-list li{padding:10px 12px;border-radius:10px;background:#ffffff0f}.permission-list li.ok{color:var(--ok)}.permission-list li.bad{color:var(--bad)}.primary-button{border:none;border-radius:12px;padding:14px 18px;background:var(--accent);color:#001018;font-weight:700;cursor:pointer}.secondary-button{border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:10px 14px;background:transparent;color:inherit;font-weight:600;cursor:pointer}.settings-account{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.settings-signin{display:flex;flex-direction:column;gap:.5rem}.settings-signin input{border-radius:8px;border:1px solid rgba(255,255,255,.2);padding:10px;background:#00000040;color:inherit}.error-text{color:var(--bad);font-size:14px;margin:0}.warn,.error{margin:0;font-size:14px}.error{color:var(--bad)}.footnote{font-size:12px!important}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;z-index:20}.sheet{width:100%;max-height:85vh;overflow:auto;padding:20px 20px max(24px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sheet-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.sheet-header h2{margin:0;font-size:28px}.airline{margin:4px 0 0;color:var(--muted)}.close-button{border:none;background:#ffffff14;color:var(--muted);width:36px;height:36px;border-radius:50%;cursor:pointer}.loading,.muted{color:var(--muted)}.route-card{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:16px;margin-bottom:16px;border-radius:16px;background:#ffffff0f}.airport-col{display:flex;flex-direction:column;gap:2px}.airport-col.end{align-items:flex-end;text-align:right}.airport-col strong{font-size:22px}.airport-col small{color:var(--muted);font-size:12px}.route-arrow{color:var(--accent);font-size:18px;text-align:center}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-label{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stat-value{font-weight:600}.facts-block{margin-top:16px;padding:16px;border-radius:16px;background:#ffffff0d}.facts-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.facts-header h3{margin:0;font-size:18px}.facts-badge{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#2ec7ff2e;color:var(--accent)}.facts-list{margin:0;padding-left:1.2rem;display:grid;gap:10px}.facts-list li{line-height:1.45}
