:root{--ink:#102321;--muted:#64736f;--paper:#f5f2e9;--card:#fffdf8;--green:#194e43;--lime:#c9ef76;--line:#d9ddd4}html{font-size:16px}body{margin:0;color:var(--ink);background:linear-gradient(145deg,#eef1e8 0,#faf8f0 50%,#e9eee8 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.navbar{background:rgba(255,253,248,.88)!important;backdrop-filter:blur(18px);border-color:rgba(16,35,33,.1)!important}.navbar-brand{font-weight:800;letter-spacing:-.03em;color:var(--green)!important}.page-shell,.container{max-width:1180px}.hero{padding:7rem 0 5rem;position:relative}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#547067;margin:0 0 1rem}.hero h1{font-size:clamp(3.1rem,7vw,6rem);line-height:.92;letter-spacing:-.065em;font-weight:800;max-width:900px;margin:0}.hero h1 span{color:var(--green)}.hero-copy{color:var(--muted);font-size:1.12rem;line-height:1.7;max-width:680px;margin:1.8rem 0 2.2rem}.route-form{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:.75rem;padding:1rem;background:rgba(255,255,255,.75);border:1px solid rgba(16,35,33,.12);border-radius:22px;box-shadow:0 24px 70px rgba(28,55,48,.11)}.route-form label{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.route-form input{display:block;width:100%;border:0;border-bottom:2px solid var(--line);background:transparent;padding:.65rem .15rem .4rem;font-weight:800;font-size:1.55rem;text-transform:uppercase;color:var(--ink);outline:0}.route-form input:focus{border-color:var(--green)}.swap{border:0;background:#e6ebe3;border-radius:50%;width:42px;height:42px;font-size:1.4rem;color:var(--green);margin-bottom:.2rem}.build-button,.print-button{border:0;background:var(--green);color:white;border-radius:14px;padding:1rem 1.35rem;font-weight:750;white-space:nowrap}.build-button span{color:var(--lime);padding-left:.6rem}.suggestions{position:absolute;z-index:10;margin-top:.6rem;width:min(520px,90%);background:white;border-radius:14px;box-shadow:0 20px 50px rgba(16,35,33,.2);overflow:hidden}.suggestions button{display:flex;width:100%;gap:1rem;text-align:left;border:0;background:white;padding:.8rem 1rem;border-bottom:1px solid #edf0eb}.suggestions button:hover{background:#f2f7ed}.suggestions span{color:var(--muted)}.error{margin-top:1rem;padding:1rem;border-radius:12px;background:#fff0ec;color:#8a2e20}.kneeboard{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 90px rgba(26,48,43,.13);margin-bottom:5rem;overflow:hidden}.board-header{display:flex;align-items:center;gap:2rem;padding:1.5rem 1.7rem;background:var(--ink);color:white}.board-header .eyebrow{color:var(--lime);margin-bottom:.25rem}.board-header h2{margin:0;font-size:2rem;letter-spacing:-.04em}.route-stats{display:flex;gap:2rem;margin-left:auto}.route-stats span{display:flex;flex-direction:column;color:#aebeba;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.route-stats strong{color:white;font-size:1.35rem;letter-spacing:0}.print-button{background:var(--lime);color:var(--ink)}.airport-grid{display:grid;grid-template-columns:1fr 1fr}.airport-card{padding:2rem}.airport-card+ .airport-card{border-left:1px solid var(--line)}.airport-title>span{font-size:.65rem;font-weight:900;letter-spacing:.16em;color:var(--green)}.airport-title h3{font-size:3rem;line-height:1;margin:.35rem 0}.airport-title p{color:var(--muted);min-height:2.4rem}.metrics{display:grid;grid-template-columns:repeat(3,1fr);background:#edf1e9;border-radius:12px;padding:1rem;margin:1.2rem 0}.metrics div{display:flex;flex-direction:column}.metrics small{color:var(--muted);font-size:.62rem;font-weight:800}.metrics strong{font-size:1rem}.airport-card h4{text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;margin:1.5rem 0 .5rem;color:var(--muted)}.data-list{border-top:1px solid var(--line)}.data-list>div{display:grid;grid-template-columns:1fr 2fr 1fr;gap:.5rem;border-bottom:1px solid var(--line);padding:.48rem .15rem;font-size:.82rem}.data-list span{color:var(--muted)}.frequencies>div{grid-template-columns:1fr 2fr}.weather-strip{margin-top:1rem;background:#f3f0df;border-left:4px solid #d5bd4b;padding:.7rem .8rem;display:flex;justify-content:space-between;font-size:.8rem}.board-footer{text-align:center;padding:.85rem;background:#f0eee6;color:var(--muted);font-size:.68rem}.footer{position:static!important;padding:1.5rem 0;height:auto!important}@media(max-width:800px){.hero{padding:4rem 0}.route-form{grid-template-columns:1fr}.swap{transform:rotate(90deg);justify-self:center}.airport-grid{grid-template-columns:1fr}.airport-card+.airport-card{border-left:0;border-top:1px solid var(--line)}.board-header{align-items:flex-start;flex-wrap:wrap}.route-stats{margin-left:0}.print-button{margin-left:auto}}
@media print{@page{size:letter portrait;margin:.28in}.no-print,.navbar,body>footer{display:none!important}body{background:white;font-size:10px}.container,.page-shell{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.kneeboard{box-shadow:none;border:1px solid #222;border-radius:0;margin:0;break-inside:avoid}.board-header{padding:.3in}.board-header h2{font-size:24px}.airport-card{padding:.22in}.airport-title h3{font-size:26px}.metrics{padding:.1in;margin:.12in 0}.airport-card h4{margin:.12in 0 .04in}.data-list>div{padding:3px 1px}.weather-strip{margin-top:.08in;padding:5px}.board-footer{padding:5px}.footer{display:none}}
.usage-metrics{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.4rem 1.15rem;margin-top:-.55rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.09);color:#82958f;font-size:.68rem;letter-spacing:.02em}.usage-metrics span:first-child{color:#9baca6;font-weight:750}.usage-metrics b{color:#aebeba;font-weight:750}
.flight-category{float:right;color:var(--green);font-size:.75rem}.weather-report{background:#edf1e9;border-radius:10px;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.weather-report strong{color:var(--green)}.weather-report p{margin:.2rem 0 .65rem;line-height:1.45;overflow-wrap:anywhere}.weather-report p:last-child{margin-bottom:0}@media print{.weather-report{padding:5px;font-size:8px}.weather-report p{margin:1px 0 4px}}
.print-button{text-decoration:none}.print-button:hover{color:var(--ink)}
.site-footer{margin-top:2rem;padding:2.4rem 0;background:#102321;color:#dce6e2;border-top:1px solid rgba(255,255,255,.12)}.support-footer{display:grid;grid-template-columns:.8fr 2fr 1.1fr;gap:2.5rem;align-items:start}.footer-stat{display:flex;flex-direction:column}.footer-stat strong{color:var(--lime);font-size:2.2rem;line-height:1;font-weight:850;letter-spacing:-.04em}.footer-stat span,.footer-contact span{margin-top:.5rem;color:#aebeba;font-size:.78rem;line-height:1.45}.footer-support strong,.footer-contact strong{display:block;color:#fff;font-size:.86rem;letter-spacing:.05em;text-transform:uppercase}.footer-support p{max-width:590px;margin:.55rem 0 .9rem;color:#b9c8c3;font-size:.86rem;line-height:1.55}.support-button{display:inline-flex;padding:.68rem 1rem;border:1px solid rgba(201,239,118,.55);border-radius:10px;color:var(--lime);font-size:.8rem;font-weight:800;text-decoration:none}.support-button:hover{background:var(--lime);color:var(--ink)}.footer-contact{display:flex;flex-direction:column}.footer-contact a{margin-top:.7rem;color:var(--lime);font-size:.82rem;font-weight:750;text-decoration:none}.footer-contact a:hover{text-decoration:underline}@media(max-width:800px){.support-footer{grid-template-columns:1fr;gap:1.75rem}.site-footer{padding:2rem 0}}

/* Aviation-blue website theme. Print/PDF kneeboards retain their own monochrome styling. */
:root{--ink:#102a43;--muted:#65788a;--paper:#f5f7f8;--card:#fffefa;--green:#1f6594;--lime:#ffbd59;--line:#d7e0e7}
body{background:linear-gradient(145deg,#edf4f8 0,#fbfaf4 50%,#e8f1f6 100%)}
.navbar{border-bottom:3px double rgba(31,101,148,.24)!important}
.eyebrow{color:#557a95}
.hero-intro{position:relative}
.hero-intro::before{content:"";position:absolute;left:0;top:-.75rem;width:72px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--green) 0 68%,var(--lime) 68% 100%)}
.hero-visual::before{background:rgba(31,101,148,.14)}
.hero-visual::after{content:"";position:absolute;z-index:-1;inset:-7px 8px 7px -8px;border:2px solid rgba(255,189,89,.72);border-radius:24px;transform:rotate(-1.6deg)}
.route-form{position:relative;border-color:rgba(31,101,148,.2);box-shadow:0 24px 70px rgba(24,69,101,.12);overflow:hidden}
.route-form::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#1f6594 0%,#55a2c8 50%,#1f6594 100%)}
.trip-options label:has(input:checked){background:#edf5fa}
.swap{background:#e6f0f6}
.build-button{box-shadow:inset 0 -3px 0 rgba(9,44,68,.2)}
.board-header{background:linear-gradient(100deg,#102a43,#174d70);border-bottom:3px solid var(--lime)}
.metrics,.weather-report{background:#edf4f8}
.weather-strip{background:#fff4dc;border-left-color:var(--lime)}
.site-footer{background:#102a43;border-top:4px double rgba(255,189,89,.8)}
.support-button{border-color:rgba(255,189,89,.65)}

/* Friendlier second pass: relaxed type, warm paper, and a hint of flight-path whimsy. */
body{background:radial-gradient(circle at 82% 18%,rgba(255,189,89,.13),transparent 24%),linear-gradient(145deg,#edf6fa 0,#fffaf0 54%,#eaf3f8 100%)}
.hero-intro h1{font-family:ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;letter-spacing:-.045em;line-height:.98;max-width:760px}
.hero-intro h1 span{color:#247ca8}
.hero-intro::after{content:"";position:absolute;z-index:-1;top:25%;right:18%;width:165px;height:70px;border-top:2px dashed rgba(36,124,168,.32);border-radius:50%;transform:rotate(-9deg)}
.hero-intro .eyebrow{display:inline-flex;padding:.3rem .55rem;border:1px solid rgba(36,124,168,.18);border-radius:999px;background:rgba(255,255,255,.55);letter-spacing:.13em}
.route-form{border-radius:28px;background:rgba(255,254,250,.84);box-shadow:8px 10px 0 rgba(31,101,148,.07),0 20px 55px rgba(24,69,101,.08)}
.trip-options label{transition:transform .15s ease,box-shadow .15s ease}
.trip-options label:hover{transform:translateY(-1px) rotate(-.35deg)}
.trip-options label:has(input:checked){background:#fff8e6;box-shadow:3px 3px 0 rgba(255,189,89,.7);transform:rotate(-.5deg)}
.build-button,.print-button{border-radius:999px}
.swap{box-shadow:2px 3px 0 rgba(255,189,89,.52);transform:rotate(-4deg)}
.support-button{border-radius:999px}
@media(max-width:800px){.hero-intro::after{display:none}.swap{transform:rotate(86deg)}}

.navbar-brand{display:inline-flex;align-items:center;gap:.55rem;padding:.25rem 0;font-family:ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;font-size:1.08rem}
.brand-mark{display:block;width:31px;height:37px;object-fit:contain;transition:transform .16s ease}
.navbar-brand:hover .brand-mark{transform:rotate(-2deg) translateY(-1px)}
.nav-data-cycle{display:flex;align-items:center;gap:.45rem;margin-left:auto;padding:.36rem .65rem;border:1px solid rgba(31,101,148,.14);border-radius:999px;background:rgba(237,246,250,.75);color:#65788a;font-size:.68rem;line-height:1;white-space:nowrap}
.nav-data-cycle::before{content:"";width:6px;height:6px;border-radius:50%;background:#55a2c8;box-shadow:0 0 0 3px rgba(85,162,200,.13)}
.nav-data-cycle strong{color:#1f6594;font-weight:850}

/* Phone review mode: get the route controls and airport facts on screen quickly. */
@media(max-width:600px){
  html{font-size:16px}
  body{background:linear-gradient(160deg,#edf6fa 0,#fffaf0 42%,#f5f8f9 100%)}
  .container,.page-shell{width:100%;max-width:none;padding-left:14px;padding-right:14px}
  main.pb-3{padding-bottom:.5rem!important}
  .navbar{min-height:48px;margin-bottom:0!important;padding:.35rem 0;border-bottom:1px solid rgba(31,101,148,.18)!important}
  .navbar .container{padding-left:14px;padding-right:14px}
  .navbar-brand{gap:.42rem;font-size:.95rem}
  .brand-mark{width:25px;height:30px}
  .navbar-toggler,.navbar-collapse{display:none!important}
  .navbar .container{display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem}
  .nav-data-cycle{display:flex;grid-column:1/-1;justify-self:start;margin:0 0 .1rem;padding:.3rem .5rem;font-size:.62rem}

  .hero{padding:1rem 0 1.5rem}
  .beta-notice{display:flex;align-items:center;flex-direction:row;gap:.45rem;width:100%;margin:0 0 .55rem;padding:.42rem .5rem;border-radius:12px}
  .beta-notice strong{font-size:.64rem;padding:.24rem .42rem}
  .beta-notice span{font-size:.72rem}
  .beta-notice span::after{display:none!important}
  .data-cycle-notice{align-items:flex-start;margin:.35rem 0 .45rem;font-size:.72rem;line-height:1.35}
  .data-cycle-notice::before{flex:0 0 7px;margin-top:.22rem}
  .version-one-link{margin:0 0 .9rem;font-size:.72rem}
  .hero-intro{display:block;margin-bottom:.85rem}
  .hero-intro::before{top:-.2rem;width:52px;height:3px}
  .hero-intro .eyebrow{margin:.45rem 0 .45rem;padding:.2rem .42rem;font-size:.62rem}
  .hero-intro h1{max-width:340px;font-size:2.15rem;line-height:.94;letter-spacing:-.045em}
  .hero-intro h1 br{display:block}
  .hero-intro h1 span{display:block}
  .hero-intro .hero-copy{margin:.65rem 0 0;font-size:.88rem;line-height:1.45}
  .hero-visual{display:none}

  .route-form{grid-template-columns:1fr 42px 1fr!important;gap:.65rem;padding:.8rem;border-radius:18px;box-shadow:4px 5px 0 rgba(31,101,148,.06),0 12px 30px rgba(24,69,101,.08);overflow:visible}
  .trip-options{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:.45rem;padding-bottom:.1rem}
  .trip-options label{justify-content:center;min-height:42px;padding:.45rem .38rem;border-radius:12px;font-size:.67rem;line-height:1.15;text-align:center}
  .departure-input{grid-column:1/2}
  .arrival-input{grid-column:3/4}
  .route-form>label.standard-input{font-size:.65rem}
  .route-form input{padding:.5rem .1rem .35rem;font-size:1.25rem}
  .swap.standard-input{display:block;grid-column:2/3;align-self:end;justify-self:center;width:38px;height:38px;margin:0 0 .05rem;transform:none;font-size:1.15rem}
  .multi-input{grid-column:1/-1!important}
  .rules-toggle{grid-column:1/2;justify-self:stretch!important;justify-content:center;min-height:46px;height:46px}
  .build-button{grid-column:2/-1;min-height:46px;padding:.75rem .9rem;font-size:.88rem}
  .diagram-choice{grid-column:1/-1;display:block;padding:.25rem .1rem 0}
  .diagram-check{min-height:38px}
  .diagram-style{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.2rem 0 0;padding:.55rem 0 0;border-left:0;border-top:1px solid var(--line)}
  .diagram-style>span{grid-column:1/-1}

  .kneeboard{margin:0 0 1.5rem;border-radius:16px;box-shadow:0 14px 35px rgba(26,48,43,.1)}
  .board-header{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:1rem}
  .board-header>div:first-child{grid-column:1/-1}
  .board-header h2{font-size:1.45rem;line-height:1.05}
  .board-header .eyebrow{font-size:.62rem}
  .route-stats{grid-column:1/2;gap:1rem;margin:0}
  .route-stats strong{font-size:1.08rem}
  .download-action{grid-column:2/3;align-items:flex-end!important;width:auto!important}
  .download-action small{display:none}
  .download-action .print-button{min-height:42px;margin:0!important;padding:.72rem 1rem;font-size:.78rem;text-decoration:none}
  .leg-strip{gap:.4rem;padding:.75rem 1rem;overflow-x:auto;flex-wrap:nowrap}
  .leg-strip span{flex:0 0 auto;font-size:.68rem}
  .airport-grid{display:block}
  .airport-card{padding:1.15rem 1rem}
  .airport-title h3{font-size:2.25rem;margin:.25rem 0}
  .airport-title p{min-height:0;margin-bottom:.75rem;font-size:.86rem}
  .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.85rem 0;padding:.75rem}
  .metrics small{font-size:.53rem}
  .metrics strong{font-size:.82rem;white-space:nowrap}
  .airport-card h4{margin:1rem 0 .38rem;font-size:.64rem}
  .data-list>div{grid-template-columns:minmax(68px,.8fr) minmax(0,1.6fr) minmax(52px,.7fr);gap:.35rem;padding:.55rem .1rem;font-size:.78rem}
  .frequencies>div{grid-template-columns:82px minmax(0,1fr)}
  .weather-strip{gap:.5rem;align-items:flex-start;font-size:.72rem}
  .weather-strip span{text-align:right}
  .weather-report{font-size:.69rem}
  .board-footer{padding:.7rem .85rem;font-size:.61rem;line-height:1.35}

  .site-footer{margin-top:1rem;padding:1.35rem 0}
  .support-footer{gap:1.2rem}
  .footer-stat strong{font-size:1.7rem}
  .footer-support p{font-size:.78rem}
  .usage-metrics{font-size:.68rem}
}
