:root{--av-black:#0f0f0f;--av-panel:#1a1a1a;--av-border:#383838;--av-amber:#ff9e0a;--av-red:#ff3b30;--av-green:#33c759;--av-muted:#737373;--av-label:#bfbfbf;--av-white:#fff;--av-radius:12px;--av-font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--av-font-mono:ui-monospace, "SF Mono", "Menlo", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--av-black);color:var(--av-label);font-family:var(--av-font-ui);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--av-amber)}button{font-family:inherit}.av-panel{background:var(--av-panel);border:.5px solid var(--av-border);border-radius:var(--av-radius)}.av-mono{font-family:var(--av-font-mono);font-variant-numeric:tabular-nums}.av-pill{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.av-pill--amber{background:var(--av-amber);color:var(--av-black)}.av-pill--red{background:var(--av-red);color:var(--av-white)}.av-pill--green{background:var(--av-green);color:var(--av-black)}.av-pill--muted{background:var(--av-panel);border:.5px solid var(--av-border);color:var(--av-label)}.av-button{background:var(--av-amber);color:var(--av-black);border-radius:var(--av-radius);cursor:pointer;border:none;padding:10px 16px;font-size:14px;font-weight:600}.av-button:disabled{background:var(--av-border);color:var(--av-muted);cursor:default}.av-button--ghost{color:var(--av-label);border:.5px solid var(--av-border);background:0 0}.av-input{background:var(--av-black);color:var(--av-white);border:.5px solid var(--av-border);border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.av-input:focus{border-color:var(--av-amber);outline:none}.login{justify-content:center;align-items:center;height:100%;display:flex}.login__panel{width:360px;padding:32px}.login__header{font-family:var(--av-font-mono);color:var(--av-amber);margin:0 0 4px;font-size:22px;font-weight:700}.login__subhead{color:var(--av-muted);margin:0 0 24px;font-size:13px}.login__field{margin-bottom:14px}.login__label{color:var(--av-label);margin-bottom:6px;font-size:12px;display:block}.login__error{color:var(--av-red);margin:0 0 14px;font-size:13px}.login__submit{width:100%;margin-top:8px}.login__divider{color:var(--av-muted);align-items:center;gap:10px;margin:20px 0;font-size:12px;display:flex}.login__divider:before,.login__divider:after{content:"";background:var(--av-border);flex:1;height:.5px}.login__oauth{flex-direction:column;align-items:center;gap:10px;display:flex}.login__google-button{justify-content:center;width:100%;display:flex}.login__apple-button{color:#fff;cursor:pointer;background:#000;border:none;border-radius:4px;width:100%;height:40px;font-size:14px;font-weight:500}.login__apple-button:hover{background:#1a1a1a}.login__toggle{text-align:center;color:var(--av-muted);margin-top:18px;font-size:13px}.login__toggle button{color:var(--av-amber);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.discourse-sso{justify-content:center;align-items:center;height:100%;display:flex}.discourse-sso__panel{text-align:center;width:360px;padding:32px}.discourse-sso__header{font-family:var(--av-font-mono);color:var(--av-amber);margin:0 0 16px;font-size:22px;font-weight:700}.discourse-sso__status{color:var(--av-muted);margin:0;font-size:13px}.discourse-sso__error{color:var(--av-red);margin:0;font-size:13px}.sidebar{background:var(--av-panel);border-right:.5px solid var(--av-border);flex-direction:column;flex-shrink:0;width:240px;height:100%;display:flex}.sidebar__header{font-family:var(--av-font-mono);color:var(--av-amber);padding:24px 20px 16px;font-size:20px;font-weight:700}.sidebar__divider{background:var(--av-border);border:none;height:.5px;margin:0}.sidebar__nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar__nav--secondary{flex:none;overflow-y:visible}.sidebar__row{cursor:pointer;text-align:left;width:100%;color:var(--av-label);background:0 0;border:none;align-items:center;gap:14px;padding:10px 16px 10px 0;text-decoration:none;display:flex}.sidebar__row--active{background:#ff9e0a14}.sidebar__indicator{background:0 0;flex-shrink:0;width:3px;height:28px}.sidebar__indicator--active{background:var(--av-amber)}.sidebar__icon{width:22px;color:var(--av-label);justify-content:center;display:flex}.sidebar__icon--active{color:var(--av-amber)}.sidebar__label{color:var(--av-label);flex:1;font-size:15px}.sidebar__label--active{color:var(--av-white)}.sidebar__badge{color:var(--av-black);background:var(--av-amber);text-align:center;border-radius:999px;min-width:18px;padding:2px 6px;font-size:11px;font-weight:700}.sidebar__footer{padding:12px 16px}.locked{text-align:center;max-width:420px;margin:48px auto;padding:24px}.locked__title{color:var(--av-amber);margin:0 0 8px;font-size:16px;font-weight:600}.locked__body{color:var(--av-muted);margin:0;font-size:13px;line-height:1.5}.progress{max-width:900px;padding:24px}.progress__header{color:var(--av-white);margin:0 0 16px;font-size:18px;font-weight:600}.progress__empty{color:var(--av-muted);padding:24px;font-size:13px;line-height:1.5}.progress__row{align-items:center;gap:16px;padding:12px 16px;display:flex}.progress__row+.progress__row{border-top:.5px solid var(--av-border)}.progress__skill{font-family:var(--av-font-mono);color:var(--av-white);flex:1;font-size:14px;font-weight:700}.progress__accuracy{font-family:var(--av-font-mono);text-align:right;width:60px;font-size:14px;font-weight:700}.progress__attempts{color:var(--av-muted);text-align:right;width:100px;font-size:12px}.currency{margin-bottom:16px;padding:18px 20px}.currency__header{align-items:center;gap:12px;display:flex}.currency__title{color:var(--av-white);flex:1;margin:0;font-size:15px;font-weight:700}.currency__subtitle{color:var(--av-muted);margin:4px 0 14px;font-size:12px}.currency__rows{flex-direction:column;gap:0;display:flex}.currency__row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.currency__row+.currency__row{border-top:.5px solid var(--av-border)}.currency__label{color:var(--av-label);font-size:13px}.currency__value{font-family:var(--av-font-mono);font-size:13px;font-weight:700}.pilot-detail{max-width:900px;padding:24px}.pilot-detail__back{margin-bottom:16px}.pilot-detail__error{color:var(--av-red);font-size:13px}.pilot-detail__loading{color:var(--av-muted);font-size:13px}.pilot-detail__header{align-items:center;gap:20px;margin-bottom:16px;padding:20px;display:flex}.pilot-detail__avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:72px;height:72px}.pilot-detail__avatar--placeholder{background:var(--av-border);color:var(--av-label);justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.pilot-detail__identity{flex-direction:column;gap:6px;display:flex}.pilot-detail__name{color:var(--av-white);font-size:18px;font-weight:700}.pilot-detail__username{font-family:var(--av-font-mono);color:var(--av-muted);font-size:13px}.pilot-detail__pills,.pilot-detail__ratings{flex-wrap:wrap;gap:8px;display:flex}.pilot-detail__card{margin-bottom:16px;padding:18px 20px}.pilot-detail__card h3{color:var(--av-white);margin:0 0 12px;font-size:15px;font-weight:700}.pilot-detail__bio{color:var(--av-label);margin:0;font-size:13px;line-height:1.5}.pilot-detail__stats{margin-bottom:16px;padding:18px 20px;display:flex}.pilot-detail__stat{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.pilot-detail__stat+.pilot-detail__stat{border-left:.5px solid var(--av-border)}.pilot-detail__stat-value{font-family:var(--av-font-mono);color:var(--av-white);font-size:20px;font-weight:700}.pilot-detail__stat-label{color:var(--av-muted);font-size:12px}.pilot-detail__empty{color:var(--av-muted);margin:0;font-size:13px}.pilot-detail__achievements{flex-direction:column;gap:0;display:flex}.pilot-detail__achievement{padding:10px 0}.pilot-detail__achievement+.pilot-detail__achievement{border-top:.5px solid var(--av-border)}.pilot-detail__achievement-title{color:var(--av-white);font-size:13px;font-weight:700}.pilot-detail__achievement-description{color:var(--av-label);margin-top:2px;font-size:12px}.pilot-detail__achievement-date{color:var(--av-muted);margin-top:4px;font-size:11px}.leaderboard{max-width:900px;padding:24px}.leaderboard__header{color:var(--av-white);margin:0 0 16px;font-size:18px;font-weight:600}.leaderboard__empty{color:var(--av-muted);font-size:13px}.leaderboard__row{text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:16px;padding:12px 16px;font-family:inherit;display:flex}.leaderboard__row--clickable{cursor:pointer}.leaderboard__row--clickable:hover{background:color-mix(in srgb, var(--av-white) 4%, transparent)}.leaderboard__row+.leaderboard__row{border-top:.5px solid var(--av-border)}.leaderboard__row--me{background:color-mix(in srgb, var(--av-amber) 8%, transparent);border-left:2px solid var(--av-amber)}.leaderboard__rank{font-family:var(--av-font-mono);flex-shrink:0;width:40px;font-size:14px;font-weight:700}.leaderboard__name{color:var(--av-white);flex:1;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.leaderboard__you{font-size:11px}.leaderboard__pilot-rank{flex-shrink:0}.leaderboard__xp{font-family:var(--av-font-mono);color:var(--av-label);text-align:right;flex-shrink:0;width:110px;font-size:13px;font-weight:700}.leaderboard__gap{text-align:center;color:var(--av-muted);border-top:.5px solid var(--av-border);padding:4px 0}.flight-detail{max-width:900px;padding:24px}.flight-detail__back{margin-bottom:16px;padding:6px 14px;font-size:13px}.flight-detail__header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.flight-detail__route{font-family:var(--av-font-mono);color:var(--av-white);font-size:20px;font-weight:700}.flight-detail__date{font-family:var(--av-font-mono);color:var(--av-label);font-size:13px}.flight-detail__meta{gap:8px;margin-left:auto;display:flex}.flight-detail__loading,.flight-detail__error{color:var(--av-muted);font-size:13px}.flight-detail__error{color:var(--av-red)}.flight-detail__card{background:var(--av-panel);border:.5px solid var(--av-border);border-radius:var(--av-radius);margin-bottom:16px;padding:18px 20px}.flight-detail__card h3,.flight-detail__card h4{color:var(--av-label);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:700}.flight-detail__overall{align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.flight-detail__overall>span:first-child{font-family:var(--av-font-mono);font-size:34px;font-weight:800}.flight-detail__overall-label{color:var(--av-muted);font-size:12px}.flight-detail__empty-chart{color:var(--av-muted);font-size:12px;font-family:var(--av-font-mono)}.flight-detail__score-lines{flex-direction:column;gap:6px;display:flex}.flight-detail__score-line{align-items:center;gap:10px;display:flex}.flight-detail__score-tag{font-family:var(--av-font-mono);color:#050505;text-align:center;border-radius:4px;flex-shrink:0;width:34px;padding:2px 6px;font-size:11px;font-weight:800}.flight-detail__score-pct{font-family:var(--av-font-mono);text-align:right;flex-shrink:0;width:46px;font-size:14px;font-weight:700}.flight-detail__score-caption{color:var(--av-muted);font-size:12px}.flight-detail__approach{border-top:.5px solid var(--av-border);margin-top:16px;padding-top:12px}.flight-detail__approach-row{font-family:var(--av-font-mono);justify-content:space-between;font-size:13px;font-weight:700;display:flex}.flight-detail__notes{margin-top:12px}.flight-detail__notes p{color:var(--av-muted);margin:2px 0;font-size:11px}.flight-detail__chart{background:var(--av-black);border-radius:8px;width:100%;height:auto;display:block}.flight-detail__chart-label{fill:var(--av-label);font-size:11px;font-family:var(--av-font-mono)}.flight-detail__legs{flex-direction:column;gap:6px;margin-top:14px;display:flex}.flight-detail__leg-row{text-align:left;background:color-mix(in srgb, var(--av-panel) 60%, var(--av-black));cursor:pointer;width:100%;color:inherit;border:.5px solid #0000;border-radius:8px;padding:8px 12px;font-family:inherit;display:block}.flight-detail__leg-row--selected{background:color-mix(in srgb, var(--av-amber) 15%, transparent);border-color:color-mix(in srgb, var(--av-amber) 60%, transparent)}.flight-detail__leg-row-top{font-family:var(--av-font-mono);color:var(--av-white);justify-content:space-between;font-size:13px;font-weight:700;display:flex}.flight-detail__leg-not-reached{color:var(--av-red);font-size:10px;font-weight:800}.flight-detail__leg-caption{color:var(--av-muted);margin-top:2px;font-size:11px}.flight-detail__list-row{gap:12px;padding:4px 0;font-size:12px;display:flex}.flight-detail__list-time{font-family:var(--av-font-mono);color:var(--av-muted);flex-shrink:0;width:48px}.flight-detail__raw{margin-top:8px}.flight-detail__raw>summary{cursor:pointer;color:var(--av-label);padding:10px 0;font-size:13px;font-weight:600}.flight-detail__raw-block{margin-bottom:16px}.flight-detail__raw-block h4{color:var(--av-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:11px}.flight-detail__raw-block pre{background:var(--av-black);border:.5px solid var(--av-border);font-family:var(--av-font-mono);color:var(--av-label);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:400px;padding:12px;font-size:11px;overflow:auto}.logbook{max-width:900px;padding:24px}.logbook__header{color:var(--av-white);margin:0 0 16px;font-size:18px;font-weight:600}.logbook__empty{color:var(--av-muted);font-size:13px}.logbook__row{align-items:center;gap:16px;padding:12px 16px;display:flex}.logbook__row--clickable{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}.logbook__row--clickable:hover{background:color-mix(in srgb, var(--av-white) 4%, transparent)}.logbook__row+.logbook__row{border-top:.5px solid var(--av-border)}.logbook__route{font-family:var(--av-font-mono);color:var(--av-white);flex-shrink:0;width:140px;font-size:14px;font-weight:700}.logbook__date{font-family:var(--av-font-mono);color:var(--av-label);flex-shrink:0;width:160px;font-size:12px}.logbook__meta{flex:1;justify-content:flex-end;gap:8px;display:flex}.logbook__row--pending{background:color-mix(in srgb, var(--av-amber) 8%, transparent);border-left:2px solid var(--av-amber)}.logbook__actions{flex-shrink:0;gap:8px;display:flex}.logbook__actions button{padding:6px 14px;font-size:13px}.account{max-width:900px;padding:24px}.account__header{color:var(--av-white);margin:0 0 16px;font-size:18px;font-weight:600}.account__panel{padding:16px}.account__row{align-items:center;gap:16px;display:flex}.account__label{color:var(--av-muted);width:100px;font-size:13px}.account__value{color:var(--av-white);font-size:14px;font-weight:700}.account__hint{color:var(--av-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.account__claimRow{gap:8px;display:flex}.account__claimRow .av-input{flex:1;width:auto}.account__error{color:var(--av-red);margin:8px 0 0;font-size:13px}.admin{max-width:1100px;padding:24px}.admin__header{color:var(--av-white);margin:0 0 16px;font-size:18px;font-weight:600}.admin__tabs{border-bottom:.5px solid var(--av-border);gap:8px;margin-bottom:20px;display:flex}.admin__tab{color:var(--av-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:16px;padding:8px 4px 10px;font-size:13px;font-weight:600}.admin__tab--active{color:var(--av-white);border-bottom-color:var(--av-amber)}.admin__section{margin-bottom:28px}.admin__sectionTitle{text-transform:uppercase;letter-spacing:.05em;color:var(--av-muted);margin:0 0 10px;font-size:12px;font-weight:700}.admin__statRow{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.admin__stat{min-width:120px;padding:14px 18px}.admin__statValue{font-family:var(--av-font-mono);color:var(--av-amber);font-size:22px;font-weight:700}.admin__statLabel{color:var(--av-muted);margin-top:4px;font-size:11px}.admin__table{border-collapse:collapse;width:100%;font-size:13px}.admin__table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--av-muted);border-bottom:.5px solid var(--av-border);padding:8px 12px;font-size:11px}.admin__table td{border-bottom:.5px solid var(--av-border);color:var(--av-label);padding:8px 12px}.admin__table tr:last-child td{border-bottom:none}.admin__empty{color:var(--av-muted);padding:12px;font-size:13px}.admin__row{cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.admin__row:hover{background:#ff9e0a0f}.admin__row+.admin__row{border-top:.5px solid var(--av-border)}.admin__rowEmail{color:var(--av-white);flex:1;font-size:13px}.admin__rowMeta{color:var(--av-muted);font-size:12px}.admin__searchBar{gap:8px;margin-bottom:14px;display:flex}.admin__searchBar .av-input{max-width:320px}.admin__detail{margin-top:20px;padding:18px}.admin__detailHeader{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.admin__detailEmail{color:var(--av-white);font-size:15px;font-weight:700}.admin__actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.admin__actions button{padding:6px 12px;font-size:12px}.admin__form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.admin__form .av-input{flex:1;width:auto;min-width:120px}.admin__formNote{color:var(--av-muted);margin-top:6px;font-size:12px}.app-shell{height:100%;display:flex}.app-shell__content{flex:1;overflow-y:auto}
