:root{color-scheme:dark;--bg:#0b111c;--surface:#111b2a;--surface2:#142235;--border:#283b4e;--text:#e7f1f7;--muted:#9cb1c1;--accent:#a7ead3;--accent2:#7ec8b3;font:14px/1.65 Inter,-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",sans-serif}
*{box-sizing:border-box;min-width:0}
body{background:var(--bg);color:var(--text);margin:0}
button,input,textarea,select{font:inherit}button{cursor:pointer}
a{color:var(--accent);text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #acffec;outline-offset:3px}
.hidden{display:none!important}
.skip{position:absolute;left:-9999px;padding:10px;background:white;color:#111;z-index:50}.skip:focus{left:12px;top:12px}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:17px;border-bottom:1px solid var(--border);background:#0c1523;padding:0 29px;position:sticky;top:0;z-index:8}
.logo{color:#e7f5f2;font-size:16px;font-weight:860;letter-spacing:.03em;text-decoration:none;white-space:nowrap}
.logo b{color:var(--accent)}.logo-mark{font-size:26px;vertical-align:-2px;margin-right:8px;color:var(--accent)}
.topnav{display:flex;align-items:center;gap:19px;flex-wrap:wrap}.topnav a{color:#b6cbd9;font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}
.topnav a:hover{color:#fff}.status{font-size:10px;letter-spacing:.01em;color:#a8dcce;border:1px solid #315a58;border-radius:100px;padding:6px 11px}
#mobileMenu{display:none;background:#182739;border:1px solid #476176;border-radius:8px;color:#d6f3ee;padding:9px 12px}
.layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:calc(100vh - 76px)}
.sidebar{border-right:1px solid var(--border);background:#0e1725;align-self:stretch}
.sidebar nav button{display:flex;align-items:center;gap:9px;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;text-align:left;color:#adc0ce;font-size:12px;font-weight:650}
.sidebar nav button span.count{margin-left:auto;color:#94aebd;font-variant-numeric:tabular-nums}
.sidebar nav button.current{background:#1d3643;color:#ccffee}.sidebar nav button:hover:not(.current){background:#182739;color:#f3faff}
.sidebar nav button .bullet{display:inline-grid;place-items:center;width:24px;font-size:16px;color:#88cab4}
.sidebar .sidetitle,.sideheading{font-size:10px;letter-spacing:.17em;font-weight:850;color:#7894a9}
.sidebar .sidetitle{padding:29px 19px 12px}
.sidebar nav{padding:0 10px}
.sideheading{display:flex;align-items:center;justify-content:space-between;padding:28px 19px 12px}
.sideheading button{border:0;background:transparent;color:#9cdec8;font-size:10px;letter-spacing:normal}
.sidefoot{color:#8ea8b8;font-size:11px;line-height:1.8;padding:26px 19px;border-top:1px solid #24384d;margin:25px 10px}
#content{max-width:1620px;width:100%;margin:0 auto;padding:0 clamp(20px,4vw,74px)}
.hero{padding:68px 0 46px;border-bottom:1px solid var(--border);background:radial-gradient(ellipse at 82% 35%,rgba(79,130,130,.12),transparent 64%)}
.eyebrow{font-size:10px;font-weight:850;letter-spacing:.18em;color:#93d5bd;text-transform:uppercase;margin:0 0 12px}
h1{font-size:clamp(47px,6.1vw,84px);line-height:1.03;letter-spacing:-.07em;font-weight:850;margin:0 0 22px}
h1 em{font-style:normal;color:var(--accent)}.hero>p:not(.eyebrow){max-width:760px;font-size:16px;line-height:1.85;color:#b6c9d6;margin:0}
.heroactions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:8px;font-size:12px;font-weight:760;text-decoration:none;min-height:42px}
.primary{background:var(--accent);border:1px solid var(--accent);color:#132b2e}
.secondary{background:#192b3d;border:1px solid #456273;color:#d2f3ed}
.primary:hover,.secondary:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--border);margin:0 0 19px}
.stats>div{padding:23px 17px 22px;border-right:1px solid var(--border)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border-right:0}
.stats strong{display:block;font-size:clamp(22px,2.6vw,38px);line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stats small{display:block;color:#83a3b2;letter-spacing:.105em;font-weight:850;font-size:9px;margin-top:5px}
.disclosure{padding:13px 16px;border:1px solid #3c615f;border-radius:9px;background:#14282f;color:#bfdad8;font-size:11px;margin:0 0 19px}
.workspace{padding:44px 0 70px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:25px}
.section-head h2{font-size:clamp(28px,3.7vw,44px);letter-spacing:-.055em;line-height:1.1;margin:0 0 6px}
.section-head p{color:#a7bed0;margin:0}.section-head>span{color:#8ca5b8;font-size:10px}
.section-head>a{font-size:12px;font-weight:750}
.filters{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap}
.filters input,.filters select{min-height:44px;border:1px solid #3d566d;border-radius:9px;background:#121f30;color:#e7f2f6;padding:11px 13px;outline-offset:2px}
.filters input{min-width:240px;flex:1}.filters select{min-width:158px}
.filters select option{background:#121f30;color:#e7f2f6}
.chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:16px 0}
.chip{background:#142238;color:#a9c2d4;border:1px solid #334b62;padding:7px 12px;font-size:11px;border-radius:24px;font-weight:700}
.chip.on{background:#23483e;color:#c9ffeb;border-color:#538e77}
#resultCount{color:#9ab2c1;margin:11px 0 16px;font-size:12px}
.resource-grid,.provider-grid,.systems-grid,.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.resource-card,.provider-card,.plane-card,.journey-card{border:1px solid #31485f;background:#122034;border-radius:12px;padding:20px;display:flex;flex-direction:column;min-width:0}
.resource-card:hover,.provider-card:hover{border-color:#719b9b}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.marker{font-size:10px;color:#96e9d4;font-weight:850;letter-spacing:.07em}
.verified{color:#9ae5c7;font-size:10px;border:1px solid #365c5b;padding:3px 7px;border-radius:40px}
.unverified{color:#ffca9e;font-size:10px}
.resource-card h3,.provider-card h3,.plane-card h3,.journey-card h3{font-size:18px;line-height:1.3;letter-spacing:-.035em;margin:18px 0 8px;overflow-wrap:anywhere}
.resource-card p,.provider-card p,.plane-card p,.journey-card p{font-size:12px;line-height:1.75;color:#aabfd0;margin:0 0 17px;flex:1}
.route{font:11px/1.5 ui-monospace,SFMono-Regular,monospace;color:#83a8bb;overflow-wrap:anywhere;margin-bottom:15px}
.card-bottom{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:15px;border-top:1px solid #2a3e54}
.card-bottom a,.card-bottom button,.provider-card a,.provider-card button,.journey-card a,.plane-card a{font-size:11px;font-weight:800;padding:8px 10px;border-radius:7px;text-decoration:none;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
.card-bottom a,.provider-card a,.journey-card a,.plane-card a{background:#a2ebd2;color:#0e2828}
.card-bottom button,.provider-card button{background:#1d3048;color:#bfe1dd;border:1px solid #3e5b71}
.card-bottom button.saved{background:#345b53;color:#dcfff1}
.taglist{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.taglist span{font-size:10px;color:#bfd0dc;background:#1c3145;padding:3px 8px;border-radius:14px}
.more{text-align:center;margin:25px 0}.more .secondary{min-width:220px}
.empty{border:1px dashed #54737c;background:#142331;padding:25px;text-align:center;color:#c5d8e2;border-radius:10px}
.empty button{background:transparent;border:0;color:#adf2de;text-decoration:underline}
.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.journey-card h3{margin:4px 0 7px}.journey-card ol{counter-reset:step;list-style:none;padding:0;margin:10px 0}
.journey-card li{display:flex;align-items:center;gap:11px;margin:10px 0;font-size:12px;color:#b6cedb}
.journey-card li:before{counter-increment:step;content:counter(step);background:#254039;color:#9affdd;border-radius:50%;display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0;font-size:11px;font-weight:800}
.journey-card li a{background:transparent;color:#c2ffdf;text-decoration:underline;display:inline;font-size:12px;padding:0;min-height:0}
.provider-card{min-height:270px}.provider-card h3{margin:12px 0 7px}.provider-card small,.plane-card small{color:#93ccbf;font-size:11px}.provider-meta{font-size:11px;color:#c4d4dc;line-height:1.9;margin:7px 0 17px}
.provider-meta strong{color:#9ff3da}.plane-card{min-height:210px}.plane-card a{margin-top:auto;align-self:flex-start}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compare-item{padding:22px;border:1px solid #38516a;background:#132136;border-radius:12px}.compare-item dt{font-size:10px;color:#9dc2bf;margin-top:17px;font-weight:800}.compare-item dd{margin:3px 0;color:#d5eaf3;font-size:12px;overflow-wrap:anywhere}.compare-item h3{line-height:1.3}
.deskactions{display:flex;gap:11px;flex-wrap:wrap;margin:22px 0}.import-label{cursor:pointer;position:relative}
.import-label input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.note-label{display:block;font-size:11px;font-weight:850;color:#9ee2d2;letter-spacing:.12em;margin:35px 0 12px}
#scratchpad{display:block;width:100%;min-height:160px;border:1px solid #3c5871;background:#101d30;border-radius:10px;color:#e8f8f5;padding:17px;resize:vertical}
#deskSaveState{font-size:11px;color:#9bbac2}
footer{padding:25px 0 35px;border-top:1px solid #30435a;color:#8ea6b7;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px}
.backdrop{position:fixed;inset:0;background:#03070daa;z-index:20}
.inspector{position:fixed;right:0;top:0;bottom:0;z-index:21;background:#122034;border-left:1px solid #456076;width:min(480px,100%);overflow:auto;box-shadow:-28px 0 70px #0006}
.inspector-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#15263a;border-bottom:1px solid #395069;padding:17px 24px;color:#a5e5cd;font-size:10px;font-weight:850;letter-spacing:.1em}
.inspector-head button{background:transparent;border:0;color:#e1f1ff;font-size:30px;line-height:1}
#inspectorContent{padding:23px}.detail-title{font-size:31px;letter-spacing:-.048em;line-height:1.17;margin:15px 0}.detail-desc{color:#b5cbdb}
.detail-label{font-size:10px;color:#8dcbbf;letter-spacing:.13em;font-weight:850;margin-top:23px}
.detail-value{color:#e6f3fc;overflow-wrap:anywhere;font-size:12px;margin-top:4px}
.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.detail-actions a,.detail-actions button{display:inline-flex;justify-content:center;align-items:center;padding:10px 14px;font-weight:750;font-size:12px;text-decoration:none;border-radius:8px}
.detail-actions a{color:#102824;background:#a6edcf}.detail-actions button{color:#e0f5f0;background:#1c3047;border:1px solid #4f6882}
.toast{position:fixed;z-index:31;bottom:25px;left:50%;transform:translateX(-50%);background:#cef3df;color:#14302e;border-radius:7px;padding:9px 16px;box-shadow:0 8px 30px #0009;display:none;font-size:12px}
.toast.visible{display:block}
@media(max-width:1300px){.resource-grid,.provider-grid,.systems-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topnav{gap:10px}}
@media(max-width:990px){.layout{grid-template-columns:205px minmax(0,1fr)}.topnav .status{display:none}.resource-grid,.provider-grid,.systems-grid{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}}
@media(max-width:730px){.topbar{height:auto;min-height:65px;padding:12px 16px;flex-wrap:wrap}.topnav{margin-left:auto}.topnav>a{display:none}#mobileMenu{display:inline-flex}.layout{display:block}.sidebar{display:none;position:fixed;left:0;right:0;top:66px;bottom:0;overflow:auto;z-index:13;background:#0e1725;padding-bottom:30px}.sidebar.visible{display:block}#content{padding:0 16px}.hero{padding:40px 0 30px}.hero p{font-size:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.stats>div:nth-child(3){padding-left:0}.journey-grid{grid-template-columns:1fr}.section-head{align-items:flex-start}.filters input{flex-basis:100%;min-width:0}.filters select{flex:1}.resource-grid{grid-template-columns:1fr}}
@media(max-width:380px){.logo{font-size:13px}.topbar{gap:5px}.hero h1{font-size:44px}.filters select{flex-basis:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
