@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=IBM+Plex+Mono:wght@400;450;500;600&display=swap');
:root{color-scheme:dark;--bg:#101613;--panel:#16201b;--panel2:#1c2821;--line:#2d3c32;--text:#f0f3ec;--muted:#a1b1a4;--accent:#d4ef89;--accentText:#20300c;--green:#a9dabb;--blue:#a6cde0;--radio:#18272b;--amber:#f2c277;--shadow:0 18px 90px #0006;--font:'DM Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
:root[data-theme=light]{color-scheme:light;--bg:#f3f5f2;--panel:#fff;--panel2:#eaf0e8;--line:#d2dbd1;--text:#14291c;--muted:#506553;--accent:#cce77d;--accentText:#20300c;--green:#2d6b43;--blue:#245b73;--radio:#eaf3f7;--amber:#835409;--shadow:0 18px 90px #17311922}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:default}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-ink)}a{color:var(--green)}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.12;letter-spacing:-.04em;margin-bottom:12px}h2{font-size:1.1rem;font-weight:600}h3{font-size:1rem}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.13em;color:var(--muted);font-weight:500}.muted{color:var(--muted)}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--accent);color:var(--accentText);padding:12px}.skip-link:focus{top:8px}.topbar{height:80px;padding:0 36px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}.brand{font-size:1.65rem;font-weight:650;letter-spacing:-.07em;color:var(--text);text-decoration:none;display:flex;align-items:center}.brand-dot{color:var(--accent-ink)}.brand-mark{font-family:var(--mono);color:var(--accent-ink);font-weight:600;width:34px;margin-right:13px;letter-spacing:-.12em;transform:skew(-10deg);position:relative}.brand-mark span{position:absolute;font-size:13px;top:8px;left:14px}.top-label{font-family:var(--mono);color:var(--muted);font-size:.75rem;letter-spacing:.11em}.top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.sim-badge{border:1px solid var(--line);padding:5px 10px;font:500 .75rem var(--mono);border-radius:4px;color:var(--muted)}.quiet-button{background:transparent;color:var(--muted);padding:10px 12px;border-radius:6px;font-size:.875rem}.quiet-button:hover,.icon-button:hover{background:var(--panel2);color:var(--text)}.icon-button{background:transparent;border:1px solid var(--line);border-radius:8px;min-width:42px;height:42px;font-size:1.25rem}.shell{display:grid;grid-template-columns:264px minmax(0,1fr);max-width:1800px;margin:auto}.sidebar{border-right:1px solid var(--line);height:calc(100dvh - 80px);position:sticky;top:80px;overflow:auto;padding:28px 18px 20px;display:flex;flex-direction:column;gap:24px}.aircraft-picker{background:var(--panel);border:1px solid var(--line);padding:17px 14px;width:100%;border-radius:10px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px}.aircraft-picker strong{display:block;font-weight:550;font-size:1rem}.aircraft-picker small{color:var(--muted);font-size:.75rem}.aircraft-picker .eyebrow{grid-column:1/-1}.aircraft-picker:hover{border-color:var(--accent-ink)}.sidebar-label{padding:0 12px;margin-bottom:12px}.phase-nav{display:grid;gap:3px}.phase-nav button{display:flex;align-items:center;text-align:left;gap:12px;border-radius:6px;min-height:42px;padding:8px 12px;background:transparent;color:var(--muted);font-size:.875rem;width:100%;position:relative}.phase-nav button:hover{background:var(--panel)}.phase-nav button.active{background:var(--panel2);color:var(--accent-ink)}.phase-nav .num{font:400 .75rem var(--mono);width:23px;flex-shrink:0;color:var(--muted)}.phase-nav button.done .num{color:var(--green)}.phase-nav .nav-count{margin-left:auto;font:400 .75rem var(--mono)}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 12px 0;font-size:.75rem;color:var(--muted)}.side-bottom p{margin-bottom:5px}.save-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.workspace{padding:34px 38px 28px;min-width:0}.page-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.page-top .eyebrow{margin-bottom:12px}.page-top p{color:var(--muted);margin-bottom:0;font-size:.875rem}.aircraft-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tag{padding:4px 9px;border:1px solid var(--line);border-radius:4px;font-size:.75rem;font-family:var(--mono);color:var(--muted)}.tag.accent{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.progress-orbit{min-width:170px;padding-top:2px;text-align:right}.progress-orbit strong{font:400 2.8rem var(--mono);letter-spacing:-.08em;color:var(--accent-ink)}.progress-orbit strong span{font-size:1.25rem;letter-spacing:0}.progress-orbit p{font-size:.75rem;font-family:var(--mono)}.overall-progress{height:4px;background:var(--line);overflow:hidden;border-radius:4px;margin-top:12px}.overall-progress>span{display:block;height:100%;background:var(--accent);transition:width .25s}.flight-strip{border:1px solid var(--line);background:var(--panel);border-radius:10px;display:flex;align-items:center;padding:17px 20px;gap:22px;margin-bottom:30px}.flight-strip .route{display:flex;align-items:center;gap:18px;flex:1;min-width:0}.flight-strip .airport{font:500 1.15rem var(--mono);overflow-wrap:anywhere}.flight-strip small{font-size:.75rem;display:block;color:var(--muted);margin-bottom:3px}.route-line{width:36px;border-top:1px dashed var(--muted);position:relative}.route-line:after{content:'›';position:absolute;right:-2px;top:-16px;color:var(--muted)}.flight-strip .callsign{padding-right:20px;border-right:1px solid var(--line);min-width:110px}.flight-strip .callsign strong{font-family:var(--mono);font-size:.875rem}.outline-button{background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px 14px;font-size:.875rem;min-height:42px}.outline-button:hover{border-color:var(--muted);background:var(--panel2)}.primary-button{background:var(--accent);color:var(--accentText);border-radius:6px;padding:12px 18px;font-weight:600;min-height:44px}.primary-button:hover{filter:brightness(1.07)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:28px;align-items:start}.checklist-column{min-width:0}.tools-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.tools-row h2{margin:0;font-size:1rem}.tools-controls{display:flex;gap:3px;align-items:center}.tools-controls button{font-size:.75rem;padding:8px 9px;min-height:36px}.section-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-bottom:12px;overflow:hidden;scroll-margin-top:96px}.section-card.open{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.section-head{display:flex;align-items:center;width:100%;background:transparent;gap:16px;text-align:left;padding:19px 20px;min-height:80px}.phase-number{color:var(--muted);font:400 .875rem var(--mono);background:var(--bg);border:1px solid var(--line);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.open .phase-number{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.complete .phase-number{background:color-mix(in srgb,var(--green) 12%,var(--panel));color:var(--green)}.section-title{min-width:0;flex:1}.section-title strong{font-weight:550;font-size:1rem;display:block}.section-title small{color:var(--muted);font-size:.75rem;display:block;margin-top:3px}.section-count{font:400 .75rem var(--mono);color:var(--muted);white-space:nowrap}.section-count.finished{color:var(--green)}.chevron{color:var(--muted);font-size:1rem;display:block;transition:transform .2s}.open .chevron{transform:rotate(180deg)}.section-body{border-top:1px solid var(--line);padding:0 20px}.check-row{display:flex;gap:13px;padding:17px 0;align-items:flex-start;border-bottom:1px solid var(--line);cursor:pointer;position:relative;min-height:60px}.check-row:last-child{border-bottom:0}.check-row:hover{background:color-mix(in srgb,var(--panel2) 70%,transparent)}.check-row input{appearance:none;width:22px;height:22px;border:1.5px solid var(--muted);border-radius:5px;flex-shrink:0;margin:2px 0 0;cursor:pointer;display:grid;place-items:center}.check-row input:checked{background:var(--accent);border-color:var(--accent-ink)}.check-row input:checked:after{content:'✓';color:var(--accentText);font-size:16px;font-weight:700;line-height:1}.item-content{flex:1;min-width:0}.item-main{display:flex;align-items:baseline;gap:12px}.item-label{font-size:1rem;font-weight:450}.leader{flex:1;min-width:10px;border-bottom:1px dotted var(--line);align-self:center}.response{font:500 .75rem var(--mono);color:var(--green);text-align:right;max-width:46%;overflow-wrap:anywhere}.item-detail{font-size:.875rem;color:var(--muted);line-height:1.6;margin:8px 0 0}.checked .item-label{color:var(--muted)}.checked .response{color:var(--muted)}.radio-row{background:var(--radio);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:8px;padding:16px;margin:13px 0}.radio-row:hover{background:var(--radio)}.radio-row .response{color:var(--blue)}.radio-row .item-label{font-size:.875rem;font-weight:600}.radio-inline{margin-top:10px}.radio-inline blockquote{font-size:.875rem;color:var(--text);margin:8px 0;padding:0;line-height:1.65}.radio-inline .radio-note{font-size:.75rem;color:var(--muted);margin:10px 0 0}.radio-inline .eyebrow{font-size:.75rem;color:var(--blue);letter-spacing:.06em}.aside{position:sticky;top:106px;display:grid;gap:20px}.radio-card{background:var(--radio);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:10px;padding:20px}.radio-card .eyebrow{color:var(--blue);display:flex;justify-content:space-between;margin-bottom:20px}.radio-card h2{font-size:1.2rem;font-weight:500;margin-bottom:7px;line-height:1.4}.radio-station{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-bottom:20px;overflow-wrap:anywhere}.radio-card blockquote{margin:8px 0 20px;padding-left:14px;border-left:2px solid var(--blue);font-size:.875rem;line-height:1.8}.radio-card .label{font:500 .75rem var(--mono);color:var(--blue)}.radio-card .radio-note{font-size:.75rem;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.radio-card .outline-button{width:100%;font-size:.75rem;margin-top:5px}.info-card{padding:0 4px}.info-card h3{margin-bottom:10px}.info-card p{font-size:.875rem;color:var(--muted);line-height:1.7}.info-card .eyebrow{margin-bottom:8px}.info-card button{padding-left:0}.flight-note{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:12px;resize:vertical;min-height:105px;font-size:.875rem}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.mobile-nav{display:none}.complete-banner{background:var(--panel2);border:1px solid var(--accent);border-radius:10px;padding:24px;margin-bottom:20px}.complete-banner h2{color:var(--accent-ink);margin-bottom:8px}.complete-banner p{margin-bottom:0;color:var(--muted)}.storage-warning{border:1px solid var(--amber);padding:12px;color:var(--amber);font-size:.875rem;border-radius:6px;margin-bottom:20px}.empty-search{padding:30px;text-align:center;color:var(--muted)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:0;border-radius:14px;box-shadow:var(--shadow);width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:#040b08bb;backdrop-filter:blur(6px)}.modal-top{padding:25px 28px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;position:sticky;top:0;background:var(--panel);z-index:2;border-bottom:1px solid var(--line)}.modal-top h2{font-size:1.45rem;font-weight:500;margin:0;letter-spacing:-.02em}.modal-top .eyebrow{margin-bottom:8px}.modal-content{padding:24px 28px 28px}.modal-content p{font-size:.875rem;color:var(--muted);line-height:1.7}.modal-content h3{margin-top:24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.warning-symbol{font-size:2rem;color:var(--amber);margin-bottom:8px}.warning-list{color:var(--amber);font-size:.875rem;padding-left:20px}.input-label{font-size:.875rem;display:block;color:var(--muted);margin-bottom:7px}input[type=text],input[type=search],select{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:11px 12px;min-height:44px;width:100%;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.form-divider{border-top:1px solid var(--line);margin:22px 0 18px;padding-top:18px;font-size:.875rem;font-weight:600}.aircraft-list{display:grid;gap:10px;margin-top:18px}.aircraft-option{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;align-items:center;gap:17px;text-align:left;width:100%}.aircraft-option:hover,.aircraft-option.selected{border-color:var(--accent-ink);background:var(--panel2)}.aircraft-code{font:400 1.1rem var(--mono);color:var(--accent-ink);min-width:50px}.aircraft-option strong{display:block;font-weight:550}.aircraft-option small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.aircraft-option .option-count{margin-left:auto;color:var(--muted);font:400 .75rem var(--mono);white-space:nowrap}.source-list{list-style:none;padding:0}.source-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem}.source-list a{display:block;overflow-wrap:anywhere}.radio-guide-item{border-bottom:1px solid var(--line);padding:15px 0}.radio-guide-item h3{margin:0 0 7px}.radio-guide-item blockquote{margin:10px 0;font-size:.875rem}.radio-guide-item .eyebrow{color:var(--blue);margin-top:12px}.radio-guide-item p{font-size:.75rem;margin-bottom:6px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:var(--accent);color:var(--accentText);padding:12px 20px;border-radius:8px;box-shadow:var(--shadow);font-size:.875rem;z-index:30;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 32px)}#toast.visible{opacity:1;transform:translate(-50%,0)}.filter-input{margin-bottom:16px}.filter-input input{font-size:.875rem;background:transparent}body.hide-details .item-detail{display:none}
.item-detail{display:block}body.hide-details .item-detail{display:none!important}
.tools-row,.tools-controls{flex-wrap:wrap}.tools-row h2{min-width:0}.tools-controls{max-width:100%}
:root{--accent-ink:#d4ef89;--header-height:80px;--mobile-nav-height:66px}
:root[data-theme=light]{--accent-ink:#466115}
.progress-orbit strong span{margin-left:.12em}
.sidebar{top:var(--header-height);height:calc(100dvh - var(--header-height))}
.aside{top:calc(var(--header-height) + 26px)}
@media(min-width:1550px){.workspace{padding:42px 55px}.content-grid{grid-template-columns:minmax(0,1fr) 310px;gap:38px}.section-head{padding:22px 24px}.section-body{padding:0 24px}}
@media(max-width:1250px){.content-grid{grid-template-columns:minmax(0,1fr)}.aside{position:static;grid-template-columns:1fr 1fr}.aside .radio-card{grid-row:span 2}.shell{grid-template-columns:235px minmax(0,1fr)}.workspace{padding:28px}.topbar{padding:0 25px}.top-label{display:none}.section-title small{font-size:.75rem}}
@media(max-width:820px){.shell{display:block}.sidebar{display:none}.workspace{padding:25px 20px}.topbar{height:66px;padding:0 20px;gap:10px}.top-actions{gap:6px}.brand{font-size:1.45rem}.brand-mark{margin-right:8px}.sim-badge{display:none}.page-top{margin-bottom:23px;gap:15px}.progress-orbit{min-width:105px}.progress-orbit strong{font-size:2.25rem}.page-top h1{font-size:2.25rem}.mobile-nav{display:flex;gap:10px;margin-bottom:22px;position:sticky;top:66px;background:var(--bg);padding:10px 0;z-index:3}.mobile-nav select{flex:1;font-size:.875rem}.mobile-nav button{white-space:nowrap}.flight-strip{margin-bottom:12px;padding:14px;gap:14px;flex-wrap:wrap}.flight-strip .callsign{min-width:0;padding-right:14px}.flight-strip .route{gap:12px}.flight-strip .airport{font-size:1rem}.flight-strip .outline-button{padding:8px 10px}.section-card{scroll-margin-top:145px}html{scroll-padding-top:145px}.workspace-footer{margin-bottom:10px}.section-head{padding:17px 16px;gap:12px}.section-body{padding:0 16px}}
@media(max-width:520px){.topbar{padding:0 16px}.top-actions .quiet-button{font-size:.75rem;padding:8px}.workspace{padding:22px 14px}.page-top h1{font-size:1.9rem}.page-top .eyebrow{font-size:.75rem;letter-spacing:.08em}.page-top .aircraft-meta{gap:5px}.tag{font-size:.75rem;padding:3px 6px}.progress-orbit{min-width:85px}.progress-orbit strong{font-size:2rem}.progress-orbit p{font-size:.75rem}.page-top p{max-width:235px}.flight-strip{gap:10px}.flight-strip .callsign{display:none}.flight-strip .airport{font-size:.875rem}.flight-strip .route-line{width:22px}.flight-strip .outline-button{font-size:.75rem}.item-main{display:block}.leader{display:none}.response{display:block;max-width:100%;text-align:left;margin-top:5px;font-size:.75rem}.item-label{font-size:1rem}.item-detail{font-size:.875rem}.check-row{padding:16px 0;gap:12px}.radio-row{padding:13px}.section-head{gap:10px}.section-title small{display:none}.section-title strong{font-size:1rem}.section-count{font-size:.75rem}.phase-number{width:30px;height:30px;font-size:.75rem}.tools-row{gap:5px}.tools-controls{gap:0}.tools-controls button{padding:8px 7px}.tools-row h2{font-size:.875rem}.aside{grid-template-columns:1fr}.aside .radio-card{grid-row:auto}.workspace-footer{display:block}.workspace-footer .quiet-button{padding-left:0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-content{padding:20px}.modal-top{padding:20px}.aircraft-option{padding:14px 12px;gap:12px}.aircraft-option .option-count{display:none}.modal-actions>*{flex:1}.mobile-nav{gap:7px}.mobile-nav .outline-button{padding:10px;font-size:.875rem}}
@media(max-width:820px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.top-actions{flex-shrink:0}.mobile-nav{top:var(--header-height);flex-wrap:wrap}.mobile-nav select{flex:1 1 12rem}.section-card{scroll-margin-top:calc(var(--header-height) + var(--mobile-nav-height) + 14px)}.flight-strip .route{flex:1 1 15rem;display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.flight-strip small{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{html,body{background:#fff!important;color:#000!important;font-size:11pt}body{--bg:#fff;--panel:#fff;--text:#000;--muted:#444;--line:#bbb;--green:#222;--radio:#f5f5f5}.topbar,.sidebar,.aside,.tools-row,.mobile-nav,.workspace-footer,.filter-input,.flight-strip button,dialog,#toast{display:none!important}.shell,.content-grid{display:block}.workspace{padding:0}.section-card{break-inside:auto;border-color:#ccc}.section-head{break-after:avoid;min-height:0;padding:12px}.section-body[hidden]{display:block!important}.check-row{break-inside:avoid;padding:8px 0}.item-label{font-size:10pt}.item-detail{font-size:9pt}.radio-inline{display:block!important}.section-title small{display:none}.page-top h1{font-size:24pt}.progress-orbit{display:none}.section-card{margin-bottom:10px}.response{color:#222}.radio-row{background:#f7f7f7}.section-count{color:#444}}
