
:root{
  --bg:#f8fafc;--surface:#fff;--surface2:#f1f5f9;--surface3:#eef2f7;--ink:#0f172a;--muted:#334155;--line:#cbd5e1;
  --red:#c1121f;--red2:#9f1239;--blue:#2563eb;--teal:#0f766e;--amber:#a16207;--purple:#7c3aed;--green:#047857;
  --shadow:0 18px 45px rgba(15,23,42,.12);--soft:0 10px 30px rgba(15,23,42,.08);--radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45}
a{color:inherit}.skip:not(:focus){position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.skip:focus{position:fixed;z-index:99;left:1rem;top:1rem;background:#fff;border:2px solid var(--red);border-radius:12px;padding:.75rem 1rem}
.app{max-width:1280px;margin:auto;padding:clamp(.75rem,2vw,1.5rem) clamp(.75rem,2vw,1.75rem) calc(5.8rem + env(safe-area-inset-bottom))}
.home{min-height:100svh;display:grid;align-content:center;gap:1rem}.hero{text-align:center;max-width:880px;margin:auto}
.logo{display:block;width:min(520px,86vw);height:auto;margin:.25rem auto .45rem}.kicker{margin:0 0 .35rem;color:var(--red2);text-transform:uppercase;letter-spacing:.13em;font-weight:950;font-size:.78rem}
h1,h2,h3{line-height:1.02;letter-spacing:-.04em;margin:.2rem 0 .55rem}h1{font-size:clamp(2.2rem,7vw,5.2rem)}h2{font-size:clamp(1.75rem,4.5vw,3.3rem)}h3{font-size:clamp(1.25rem,3.5vw,2rem)}
p{color:var(--muted);font-weight:650}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft);padding:clamp(1rem,2vw,1.5rem);text-decoration:none;display:block}
.tile{min-height:142px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.tile:hover,.tile:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--red)}.tile:active,.pressed{transform:translateY(2px) scale(.985)!important;box-shadow:inset 0 3px 10px rgba(15,23,42,.22),0 2px 8px rgba(15,23,42,.08)!important}
.quick{background:linear-gradient(135deg,#fff,#fff1f2)}.learn{background:linear-gradient(135deg,#fff,#eff6ff)}.calcs{background:linear-gradient(135deg,#fff,#fff7ed)}.rescue{background:linear-gradient(135deg,#fff,#fff1f2)}.video{background:linear-gradient(135deg,#fff,#ecfeff)}.decks{background:linear-gradient(135deg,#fff,#f5f3ff)}.green{background:linear-gradient(135deg,#fff,#ecfdf5)}
small{display:block;color:var(--muted);font-weight:750;font-size:.95rem}.navbar{position:sticky;top:0;z-index:20;background:rgba(248,250,252,.96);backdrop-filter:blur(16px);border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:.45rem;max-width:860px;margin:0 auto 1rem;border-radius:0 0 20px 20px}
.navbar a,.navbar button{appearance:none;background:#fff;color:var(--ink);border:1px solid #94a3b8;border-radius:999px;text-decoration:none;font-weight:900;padding:.62rem .75rem;text-align:center}
.bottom{position:fixed;z-index:30;left:50%;bottom:calc(.7rem + env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);gap:.1rem;width:min(520px,calc(100vw - 1rem));background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:.4rem}
.bottom a{text-align:center;text-decoration:none;font-weight:900;color:#334155;border-radius:16px;padding:.45rem .25rem}.bottom a[aria-current="page"]{background:#fff1f2;color:var(--red2)}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;font-weight:950;border-radius:999px;border:1px solid var(--red);background:var(--red);color:#fff;padding:.8rem 1rem}
.btn.secondary{background:#fff;color:var(--ink);border-color:#94a3b8}.check{display:grid;gap:.65rem}.check label{display:flex;gap:.65rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:.8rem;font-weight:800}
input,select,textarea{width:100%;padding:.8rem;border-radius:14px;border:1px solid #94a3b8;background:#fff;color:var(--ink);font:inherit}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.output{margin-top:1rem;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:1rem}
.calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.calc-keys button{min-height:3.2rem;border:1px solid #94a3b8;border-radius:16px;background:#fff;font-size:1.2rem;font-weight:950}.calc-display{font-size:1.4rem;text-align:right;font-weight:900}
.video-frame{aspect-ratio:16/9;border-radius:22px;border:1px solid #1f2937;background:#0b0d10;color:#fff;display:grid;place-items:center;text-align:center;padding:1rem;cursor:pointer;overflow:hidden}.video-frame iframe{width:100%;height:100%;border:0;border-radius:22px}
.notice{font-size:.92rem;color:#475569;margin-top:1rem}.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;background:#fff;color:var(--muted);font-weight:800;font-size:.8rem;margin:.15rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.section{margin-top:1rem}.search{margin:.75rem 0 1rem}.hidden{display:none!important}
.flip{min-height:220px;perspective:1000px}.flip-inner{position:relative;transition:transform .4s;transform-style:preserve-3d;min-height:220px}.flip.is-flipped .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1rem;overflow:auto}.flip-back{transform:rotateY(180deg);background:#f8fafc}
.zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}.zone{border:1px solid #94a3b8;border-radius:14px;padding:.65rem;text-align:center;font-weight:950;text-decoration:none}
@media(max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.tile{min-height:118px}.navbar{font-size:.9rem}.hero p{font-size:.92rem}.app{padding-left:.6rem;padding-right:.6rem}.bottom{font-size:.86rem}}
@media(min-width:1000px){.tile{min-height:176px}.app{padding-bottom:6rem}.wide{grid-column:span 2}}
@media(prefers-color-scheme:dark){:root{--bg:#080a0d;--surface:#111827;--surface2:#1f2937;--surface3:#0f172a;--ink:#f8fafc;--muted:#dbe4ef;--line:#64748b}.navbar,.bottom{background:rgba(8,10,13,.94)}.navbar a,.navbar button,.card,.tile,input,select,textarea,.calc-keys button,.check label,.flip-front,.flip-back{background:#111827;color:#f8fafc}.btn.secondary{background:#111827;color:#f8fafc}.output{background:#0f172a}.tag{background:#111827}.quick,.learn,.calcs,.rescue,.video,.decks,.green{background:#111827}}


/* v1.1 canonical AirwayOfTheMonth.org wide regular-O logo */
.hero{max-width:1120px}
.logo{
  width:min(1000px,96vw)!important;
  height:auto!important;
  margin:.05rem auto .2rem!important;
  object-fit:contain!important;
}
@media(max-width:720px){
  .logo{width:96vw!important;margin-bottom:.15rem!important}
}


/* v1.3 checklist + responsive formatting fixes */
.app {
  padding-bottom: calc(7.25rem + env(safe-area-inset-bottom)) !important;
}

.check {
  display: grid;
  gap: .72rem;
}

.check label {
  display: grid !important;
  grid-template-columns: 1.35rem minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  column-gap: .85rem !important;
  min-height: 0 !important;
  padding: .85rem .95rem !important;
  font-size: clamp(.98rem, 3.5vw, 1.08rem) !important;
  line-height: 1.28 !important;
  text-align: left !important;
}

.check input[type="checkbox"],
.check input[type="radio"],
input[type="checkbox"],
input[type="radio"] {
  width: 1.2rem !important;
  height: 1.2rem !important;
  min-width: 1.2rem !important;
  max-width: 1.2rem !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  margin: .12rem 0 0 0 !important;
  accent-color: var(--red);
}

.check .actions {
  margin-top: .25rem !important;
}

.check .actions .btn,
.check .actions button {
  width: auto !important;
  min-width: 0 !important;
}

/* Make detail pages less cramped on phones and less oversized on desktop. */
.card {
  overflow-wrap: anywhere;
}

.card > h1,
.card > h2 {
  overflow-wrap: normal;
}

.navbar {
  width: min(100%, 860px);
}

.navbar a,
.navbar button {
  min-width: 0;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .app {
    padding-left: .55rem !important;
    padding-right: .55rem !important;
  }

  .navbar {
    gap: .32rem !important;
    padding: .38rem !important;
  }

  .navbar a,
  .navbar button {
    font-size: .86rem !important;
    padding: .58rem .45rem !important;
  }

  .card,
  .tile {
    border-radius: 22px !important;
    padding: .95rem !important;
  }

  .check label {
    grid-template-columns: 1.25rem minmax(0, 1fr) !important;
    column-gap: .72rem !important;
    padding: .72rem .78rem !important;
    font-size: .98rem !important;
  }

  .bottom {
    width: min(100vw - .6rem, 520px) !important;
    padding: .32rem !important;
  }

  .bottom a {
    font-size: .78rem !important;
    padding: .38rem .15rem !important;
  }
}

@media (min-width: 900px) {
  .app {
    max-width: 1280px;
  }

  .check label {
    font-size: 1.05rem !important;
  }
}
