/* Editorial companion to the game, using the existing navy/cream identity. */
:root{color-scheme:dark;--bg:#101c2e;--surface:#172840;--text:#f5ead3;--muted:#bbc6d5;--line:#405069;--accent:#e5c78f;--ink:#172840;--card:#f5ead3;--red:#9e2333;--text-sm:clamp(.875rem,.8rem + .3vw,1rem);--text-base:clamp(1rem,.96rem + .2vw,1.125rem);--text-lg:clamp(1.25rem,1.1rem + .6vw,1.6rem);--text-xl:clamp(2rem,1.5rem + 2vw,3rem);--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem}
[data-theme=light]{color-scheme:light;--bg:#f4f0e8;--surface:#fffaf1;--text:#18263a;--muted:#4b596b;--line:#c9c1b3;--accent:#243f62}
body{background:var(--bg);color:var(--text);font:var(--text-base)/1.65 Switzer,Arial,sans-serif}
a{text-underline-offset:4px}p{margin:0 0 var(--space-5);max-width:75ch}
h1,h2,h3{line-height:1.15;margin:0 0 var(--space-5)}h1,h2{font-family:"Barlow Condensed",Arial,sans-serif}h1{font-size:var(--text-xl);max-width:24ch}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}
button,.lbutton{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:var(--space-3) var(--space-4);min-height:48px;font-weight:600;font-size:var(--text-sm)}
.lbutton{display:inline-flex;align-items:center;text-decoration:none;justify-content:center}.lbutton.primary{background:var(--text);color:var(--bg);border-color:var(--text)}
button:hover:not(:disabled),.lbutton:hover{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.65}.correct{outline:3px solid var(--accent);opacity:1!important}
.learn-header{max-width:1200px;margin:auto;padding:var(--space-4) var(--space-6);display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap}
.learn-brand{display:flex;align-items:center;gap:var(--space-3);margin-right:auto;text-decoration:none;font-weight:700;font-size:var(--text-sm);line-height:1.1}.learn-brand img{width:42px;height:42px}.learn-brand small{display:block;letter-spacing:.25em;margin-top:4px}
.learn-menu{position:relative}.learn-menu>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:var(--space-3);border:1px solid var(--line);border-radius:6px;font-size:var(--text-sm);font-weight:600}
.learn-menu nav{position:absolute;right:0;top:100%;width:min(288px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);padding:var(--space-3);z-index:5;box-shadow:0 12px 24px #0004}
.learn-menu a{display:block;padding:var(--space-3);min-height:48px}
.learn-main{max-width:1120px;margin:auto;padding:var(--space-8) var(--space-6) var(--space-12)}.crumb{font-size:var(--text-sm);margin-bottom:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap}
.label{font-size:var(--text-sm);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.lede{max-width:65ch}.learn-intro{margin-bottom:var(--space-8)}.learn-intro .lbutton{margin:0 var(--space-2) var(--space-2) 0}
.learn-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--space-10)}.learn-article{min-width:0}.learn-article>section{margin-bottom:var(--space-10);scroll-margin-top:var(--space-6)}
.learn-aside{border-left:1px solid var(--line);padding-left:var(--space-6)}.learn-aside nav{position:sticky;top:var(--space-6)}.learn-aside a{display:block;min-height:48px;padding:var(--space-3) 0}.learn-aside p{font-size:var(--text-sm);color:var(--muted)}
.note,.trainer,.puzzle-board,.walkthrough{background:var(--surface);padding:var(--space-6);border:1px solid var(--line);border-radius:12px;margin-block:var(--space-6)}
.lcards{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}
.lcard{display:flex;flex-direction:column;justify-content:space-between;width:48px;height:70px;flex-shrink:0;background:var(--card);color:var(--ink);border-radius:6px;padding:4px 8px;font-size:var(--text-lg);font-weight:700;line-height:1.1;box-shadow:0 3px 0 #0003}.lcard small{font-size:inherit}.lcard.red{color:var(--red)}
.rank-list{list-style:none;padding:0;counter-reset:rank}.rank-list>li{counter-increment:rank;border-top:1px solid var(--line);padding:var(--space-6) 0}.rank-list h3::before{content:counter(rank,decimal-leading-zero) " / ";color:var(--muted)}
.rank-list p{font-size:var(--text-sm);margin-bottom:0}.trainer-answers{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.trainer [role=status],.puzzle-board [role=status]{margin-top:var(--space-5)}.trainer [data-next]{margin-top:var(--space-3)}
.puzzle-choices{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-5) 0}.puzzle-choices button{flex:1}.puzzle-holes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
details>summary{padding:var(--space-3) 0;min-height:48px;cursor:pointer;font-weight:600}details[open]>summary{margin-bottom:var(--space-3)}
.share-fallback input{width:100%;margin-top:var(--space-2)}.share-fallback{margin-top:var(--space-4)}
.learn-article ul,.learn-article ol:not(.rank-list){padding-left:var(--space-6)}.learn-article li{margin-bottom:var(--space-3)}
.link-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.link-grid a{display:block;border-top:1px solid var(--line);padding:var(--space-5) 0;text-decoration:none}.link-grid strong{display:block;text-decoration:underline}.link-grid span{font-size:var(--text-sm);display:block;margin-top:var(--space-2);color:var(--muted)}
.blind-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.blind-table caption{text-align:left;font-weight:600;margin-bottom:var(--space-4)}th,td{border-bottom:1px solid var(--line);text-align:left;padding:var(--space-3) var(--space-2)}
.seat-map{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.seat-map span{border:1px solid var(--line);padding:var(--space-3);font-size:var(--text-sm);border-radius:6px}.seat-map b{display:block;color:var(--accent)}
.learn-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:var(--space-3)}figcaption{font-size:var(--text-sm);color:var(--muted)}figure{margin:var(--space-6) 0}
.learn-video{display:block;width:min(100%,320px);height:auto;aspect-ratio:390/844;background:#101c2e;border:1px solid var(--line);border-radius:12px;margin-block:var(--space-5)}
.embed-code{width:100%;min-height:160px;resize:vertical;padding:var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--line);font:14px/1.5 monospace}
.embed-main{max-width:680px;margin:auto;padding:var(--space-4)}.embed-main h1{font-size:var(--text-lg)}.embed-main .puzzle-board{margin-block:var(--space-4)}.embed-main>p{font-size:var(--text-sm)}
.learn-footer{max-width:1120px;margin:auto;border-top:1px solid var(--line);padding:var(--space-6);font-size:var(--text-sm)}.learn-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-4)}.learn-footer a{display:inline-flex;min-height:44px;align-items:center}.learn-footer p{color:var(--muted)}
@media(max-width:760px){.learn-layout{grid-template-columns:1fr}.learn-aside{border-left:0;border-top:1px solid var(--line);padding:var(--space-6) 0 0}.learn-aside nav{position:static}.learn-main{padding:var(--space-6) var(--space-4)}.learn-header{padding:var(--space-3) var(--space-4)}.learn-header>.lbutton{display:none}.trainer,.puzzle-board,.note,.walkthrough{padding:var(--space-4)}.link-grid{grid-template-columns:1fr}.lcards{gap:6px}.lcard{width:42px;height:64px;padding:5px 7px}.learn-footer{padding:var(--space-6) var(--space-4)}}
@media print{.learn-header,.learn-aside,.learn-footer,.trainer,.lbutton,button{display:none!important}body{background:white;color:black}.learn-layout{display:block}.learn-main{max-width:none}.rank-list>li{break-inside:avoid}}
