@font-face{font-family:Heavyweight;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/heavyweight.woff') format('woff')}
.bw-draft{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.bw-page-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,oklch(44% .14 305/.25),transparent 58%),var(--bw-bg)}
.bw-page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 20%,oklch(80% .15 300/.035),transparent 70%)}
.bw-page-hero .bw-read{position:relative;z-index:1}
.bw-page-hero .bw-h1{font-family:Heavyweight,var(--bw-serif);font-weight:400;letter-spacing:.025em;text-transform:uppercase;font-size:clamp(2.25rem,7vw,4.5rem);max-width:16ch}
.bw-hero-map{margin:2.25rem 0 0}
.bw-map-open{display:grid;width:100%;padding:0;border:1px solid var(--bw-line);border-radius:18px;overflow:hidden;background:var(--bw-surface);cursor:zoom-in;text-align:left;color:var(--bw-ink2)}
.bw-map-open img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#070a12;transition:transform .32s var(--bw-e),filter .32s var(--bw-e)}
.bw-map-open span{padding:.72rem 1rem;font-size:.82rem;color:var(--bw-accent);font-weight:700}
.bw-map-open:hover img{transform:scale(1.015);filter:brightness(1.08)}
.bw-lesson-map{max-width:var(--bw-col);margin:0 auto;padding:1rem 1.5rem 1.35rem;border-top:1px solid var(--bw-hair);border-bottom:1px solid var(--bw-hair);background:color-mix(in srgb,var(--bw-surface) 78%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.bw-lesson-map-label{margin:0 0 .65rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bw-ink4);font-weight:800}
.bw-lesson-map-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.bw-lesson-map a{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:.6rem .7rem;border:1px solid var(--bw-hair);border-radius:10px;color:var(--bw-ink3);text-decoration:none;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}
.bw-lesson-map a:hover{border-color:var(--bw-accent);color:var(--bw-ink)}
.bw-lesson-map a span{color:var(--bw-accent);font-size:.68rem;font-weight:800}
.bw-activity{background:linear-gradient(145deg,var(--bw-surface),color-mix(in srgb,var(--bw-raise) 72%,var(--bw-bg)));box-shadow:0 18px 60px rgba(0,0,0,.18)}
.bw-decision-section{background:linear-gradient(180deg,color-mix(in srgb,var(--bw-accent) 5%,var(--bw-bg)),var(--bw-bg))}
.bw-decision{margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--bw-line);border-radius:16px;background:var(--bw-surface);box-shadow:0 22px 70px rgba(0,0,0,.22)}
.bw-decision-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.bw-decision-option{min-height:48px;padding:.78rem .9rem;border:1px solid var(--bw-line);border-radius:11px;background:var(--bw-raise);color:var(--bw-ink2);font:650 .92rem/1.35 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-align:left;cursor:pointer;overflow-wrap:anywhere;transition:transform .16s var(--bw-e),border-color .16s var(--bw-e),background .16s var(--bw-e)}
.bw-decision-option:hover{transform:translateY(-1px);border-color:var(--bw-accent)}
.bw-decision-option[data-state="correct"]{border-color:var(--bw-good);background:color-mix(in srgb,var(--bw-good) 10%,var(--bw-raise));color:var(--bw-good)}
.bw-decision-option[data-state="wrong"]{border-color:oklch(70% .17 25);background:oklch(70% .17 25/.08);color:oklch(82% .12 25)}
.bw-decision-option:disabled{cursor:default;opacity:.68;transform:none}
.bw-decision-feedback{min-height:1.7em;margin-top:1rem;color:var(--bw-ink3)}
.bw-decision-reveal{margin-top:1rem;padding:1rem;border-left:2px solid var(--bw-accent);background:var(--bw-wash);border-radius:0 10px 10px 0}
.bw-decision-reveal ol{display:grid;gap:.65rem;margin:0;padding-left:1.25rem}
.bw-memory-lock,.bw-board-trap{display:grid;gap:.3rem;margin-top:1rem;padding:1rem 1.1rem;border-radius:12px}
.bw-memory-lock{border:1px solid oklch(84% .085 85/.35);background:oklch(84% .085 85/.08)}
.bw-board-trap{border:1px solid oklch(70% .17 25/.3);background:oklch(70% .17 25/.065)}
.bw-memory-lock span,.bw-board-trap span{font:800 .68rem/1.2 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.11em;text-transform:uppercase}
.bw-memory-lock span{color:var(--bw-gold)}
.bw-board-trap span{color:oklch(78% .13 25)}
.bw-memory-lock strong{font-family:var(--bw-serif);font-size:1.05rem;line-height:1.55;color:var(--bw-ink)}
.bw-board-trap p{margin:0;color:var(--bw-ink3)}
.wt-clue,.wt-clue-blue,.wt-clue-green,.wt-clue-red{background:none!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;transition:color .22s,text-shadow .22s}
.wt-answered .wt-clue{color:#fde68a;text-shadow:0 0 12px rgba(234,179,8,.5),0 0 4px rgba(234,179,8,.28)}
.wt-answered .wt-clue-blue{color:#93c5fd;text-shadow:0 0 12px rgba(59,130,246,.5),0 0 4px rgba(59,130,246,.28)}
.wt-answered .wt-clue-green{color:#86efac;text-shadow:0 0 12px rgba(34,197,94,.5),0 0 4px rgba(34,197,94,.28)}
.wt-answered .wt-clue-red{color:#fca5a5;text-shadow:0 0 12px rgba(239,68,68,.5),0 0 4px rgba(239,68,68,.28)}
.bw-walk-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:1rem 0 1.4rem;padding:.85rem 1rem;border:1px solid var(--bw-hair);border-radius:12px;background:var(--bw-surface)}
.bw-walk-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.bw-walk-tools p{flex:1 1 20rem;margin:0;color:var(--bw-ink4);font-size:.78rem;line-height:1.5}
.bw-case{min-height:24rem}
.bw-case .bw-option{-webkit-touch-callout:none;user-select:none;position:relative}
.bw-case .bw-option.is-crossed{text-decoration:line-through;opacity:.42}
.bw-case .bw-option.is-highlighted{border-color:var(--bw-gold);background:oklch(84% .085 85/.095);color:var(--bw-gold)}
.bw-case .bw-option.is-crossed.is-highlighted{opacity:.55}
.bw-case-progress{font:800 .72rem/1.2 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--bw-accent)}
.bw-choice-reasons{display:grid;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bw-hair)}
.bw-choice-reason{opacity:0;transform:translateY(5px);padding:.75rem .85rem;border-left:2px solid var(--bw-line);background:var(--bw-wash);border-radius:0 9px 9px 0;color:var(--bw-ink3);transition:opacity .28s,transform .28s}
.bw-choice-reason.is-visible{opacity:1;transform:none}
.bw-choice-reason[data-correct="true"]{border-left-color:var(--bw-good)}
.bw-choice-reason[data-chosen="true"]{background:color-mix(in srgb,var(--bw-accent) 9%,var(--bw-surface))}
.bw-choice-reason b{display:block;margin-bottom:.2rem;color:var(--bw-ink2)}
.bw-beats li{opacity:0;transform:translateY(4px);transition:opacity .28s,transform .28s}
.bw-beats li.is-visible{opacity:1;transform:none}
.bw-related{background:linear-gradient(180deg,var(--bw-bg),color-mix(in srgb,var(--bw-accent) 5%,var(--bw-bg)))}
.bw-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.bw-related-card{display:grid;gap:.4rem;min-height:10rem;padding:1.15rem;border:1px solid var(--bw-hair);border-radius:14px;background:var(--bw-surface);text-decoration:none;transition:transform .18s var(--bw-e),border-color .18s var(--bw-e),background .18s var(--bw-e)}
.bw-related-card:hover{transform:translateY(-2px);border-color:var(--bw-accent);background:var(--bw-raise)}
.bw-related-card span{font:800 .65rem/1.2 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.12em;color:var(--bw-accent)}
.bw-related-card strong{font-family:var(--bw-serif);font-size:1.08rem;line-height:1.25;color:var(--bw-ink)}
.bw-related-card small{color:var(--bw-ink4);line-height:1.5}
.bw-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:rgba(3,5,12,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.bw-lightbox[hidden]{display:none}
.bw-lightbox img{display:block;max-width:min(96vw,1200px);max-height:84dvh;object-fit:contain;border-radius:16px;border:1px solid var(--bw-line);background:#070a12;box-shadow:0 30px 100px rgba(0,0,0,.6)}
.bw-lightbox-close{position:fixed;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));min-width:64px;min-height:44px;padding:0 .9rem;border:1px solid var(--bw-line);border-radius:10px;background:var(--bw-surface);color:var(--bw-ink);font:750 .82rem/1 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}
body.bw-lightbox-open{overflow:hidden}
@media(max-width:760px){.bw-lesson-map{padding-inline:1rem}.bw-lesson-map-track{display:grid;grid-template-columns:1fr;overflow:visible;padding-bottom:0}.bw-lesson-map a{min-width:0}.bw-related-grid{grid-template-columns:1fr}.bw-decision-options{grid-template-columns:1fr}.bw-page-hero .bw-h1{font-size:clamp(2rem,12vw,3.35rem)}.bw-case{min-height:28rem}}
@media(max-width:520px){.bw-map-open span{font-size:.78rem}.bw-walk-tools{align-items:flex-start}.bw-walk-actions{width:100%}.bw-walk-actions .bw-btn{flex:1}.bw-choice-reason{font-size:.88rem}.bw-lightbox{padding:.75rem}.bw-lightbox img{max-width:100%;max-height:78dvh}}
@media(prefers-reduced-motion:reduce){.bw-map-open img,.bw-related-card,.bw-decision-option,.bw-choice-reason,.bw-beats li{transition:none!important}.bw-map-open:hover img,.bw-related-card:hover,.bw-decision-option:hover{transform:none}}
.bw-board-rule{display:block;margin-top:1rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--bw-good) 35%,var(--bw-line));border-radius:10px;background:color-mix(in srgb,var(--bw-good) 8%,var(--bw-surface));color:var(--bw-good);font-family:var(--bw-serif);font-size:1rem;line-height:1.55}
.bw-board-rule[hidden]{display:none}

/* Full Bone Wizardry clue and type contract. */
body,.bw-draft,.bw-question,.bw-activity{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.wt-clue,.wt-clue-blue,.wt-clue-green{color:inherit;font-weight:700;transition:color .22s ease,text-shadow .22s ease}
.wt-card.wt-answered .wt-clue,.wt-answered .wt-clue{color:#fde68a;text-shadow:0 0 12px rgba(245,158,11,.48),0 0 4px rgba(245,158,11,.3)}
.wt-card.wt-answered .wt-clue-blue,.wt-answered .wt-clue-blue{color:#93c5fd;text-shadow:0 0 12px rgba(59,130,246,.48),0 0 4px rgba(59,130,246,.3)}
.wt-card.wt-answered .wt-clue-green,.wt-answered .wt-clue-green{color:#86efac;text-shadow:0 0 12px rgba(34,197,94,.48),0 0 4px rgba(34,197,94,.3)}
.bw-board-rule{display:block;margin-top:1rem;color:var(--bw-gold);font-weight:800}
.bw-board-rule[hidden]{display:none}

/* Three-view visual atlas: overview, causal route, and discriminator. */
.bw-visual-atlas{position:relative;overflow:hidden}
.bw-visual-atlas::before{content:"";position:absolute;inset:8% -12% auto;height:70%;background:radial-gradient(circle,rgba(192,132,252,.1),transparent 68%);pointer-events:none}
.bw-atlas-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.bw-atlas-card{appearance:none;text-align:left;padding:0;min-height:44px;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:1rem;background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(2,6,23,.9));box-shadow:0 18px 45px rgba(0,0,0,.25);color:#f8fafc;cursor:zoom-in;transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .24s ease,box-shadow .24s ease}
.bw-atlas-card:hover,.bw-atlas-card:focus-visible{transform:translateY(-4px);border-color:rgba(192,132,252,.62);box-shadow:0 24px 55px rgba(0,0,0,.38),0 0 25px rgba(192,132,252,.12);outline:none}
.bw-atlas-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#020617}
.bw-atlas-copy{display:grid;gap:.35rem;padding:1rem}
.bw-atlas-copy b{font-size:.96rem;letter-spacing:.02em}
.bw-atlas-copy small{font-size:.79rem;line-height:1.48;color:#aebbd0}
@media(max-width:820px){.bw-atlas-grid{grid-template-columns:1fr}.bw-atlas-card{display:grid;grid-template-columns:minmax(130px,42%) 1fr;align-items:stretch}.bw-atlas-card img{height:100%;aspect-ratio:auto}.bw-atlas-copy{align-content:center}}
@media(max-width:480px){.bw-atlas-card{grid-template-columns:1fr}.bw-atlas-card img{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.bw-atlas-card{transition:none}.bw-atlas-card:hover,.bw-atlas-card:focus-visible{transform:none}}


/* BW-GI-PROGRESSIVE-REVEAL */
.wt-clue-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.wt-clue-summary[hidden],.wt-reveal-chain[hidden],.reveal-beat[hidden]{display:none!important}
.wt-clue-summary span{display:block;min-width:0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,currentColor 8%,transparent);overflow-wrap:anywhere}
.wt-reveal-chain{display:grid;gap:10px;margin:18px 0;padding:0;list-style:none}
.wt-chain-beat{display:grid;gap:4px;opacity:.2;transform:translateY(7px);transition:opacity .28s ease,transform .28s ease}
.wt-chain-beat span{color:var(--bw-muted,#94a3b8)}
.wt-chain-beat.is-revealed{opacity:1;transform:none}
.wt-chain-rule{padding:14px 16px;border-left:3px solid var(--bw-accent,#7c3aed);background:rgba(124,58,237,.08);border-radius:0 12px 12px 0}
.wt-card.wt-answered .wt-clue{color:#f8fafc;text-shadow:0 0 14px rgba(248,250,252,.34)}
.wt-card.wt-answered .wt-clue-blue{color:#7dd3fc;text-shadow:0 0 14px rgba(125,211,252,.38)}
.wt-card.wt-answered .wt-clue-green{color:#86efac;text-shadow:0 0 14px rgba(134,239,172,.34)}
.wt-card.wt-answered .wt-clue-red{color:#fda4af;text-shadow:0 0 14px rgba(253,164,175,.34)}
.bw-faq-list{display:grid;gap:12px}
.bw-faq-item{border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(15,23,42,.48);padding:0 16px}
.bw-faq-item summary{cursor:pointer;padding:16px 0;font-weight:800}
.bw-faq-item p{margin:0 0 16px;color:var(--bw-muted,#cbd5e1)}
@media(max-width:600px){.wt-clue-summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wt-chain-beat{transition:none;transform:none}}
