/* 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}}
/* Descriptive H1s lead; card-room flavor sits beneath them. */
.learn-strapline{font-size:18px;font-weight:600;margin:12px 0}
.learn-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.learn-player{border-top:1px solid var(--line);padding-top:20px;min-width:0}
.learn-player-heading{display:flex;align-items:center;gap:14px;text-decoration:none}
.learn-player-heading img{width:88px;height:88px;flex-shrink:0;border-radius:50%;object-fit:cover;background:#172840;border:2px solid #bca773}
.learn-player-heading strong{display:block;font-size:19px;color:var(--text)}
.learn-player-heading small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px}
.learn-player p{font-size:14px;line-height:1.6;margin:16px 0 6px;color:var(--muted)}
.learn-player-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.learn-player a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1000px){.learn-players{grid-template-columns:1fr}}
.crumb{flex-wrap:wrap}
/* /updates/: releases, roadmap, suggestions */
.learn-article ol.release-list,.learn-article ul.roadmap-list{list-style:none;padding-left:0;margin:0 0 var(--space-4)}.learn-article .release-list li{margin:0}
.release-list li{display:grid;grid-template-columns:7.5rem 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}
.release-list time{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding-top:2px}
.release-list p,.roadmap-list p{margin:4px 0 0;color:var(--muted)}
.release-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.roadmap-status{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.roadmap-status::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;background:var(--muted)}
.roadmap-status[data-status=building]::before{background:#2fb36b}.roadmap-status[data-status=planned]::before{background:var(--accent)}

.roadmap-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:8px;margin-bottom:var(--space-3);background:var(--surface)}
.roadmap-list .want{flex:none;white-space:nowrap}
.roadmap-list .want[aria-pressed=true]{opacity:1;border-color:#2fb36b;color:var(--text)}
.suggest-form{display:grid;gap:var(--space-2);max-width:40rem;margin-top:var(--space-4)}
.suggest-form label{font-weight:600;margin-top:var(--space-3)}.suggest-form .optional{font-weight:400;color:var(--muted)}
.suggest-form select,.suggest-form textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:var(--space-3);min-height:48px;width:100%}
.suggest-form textarea{resize:vertical;min-height:8rem}
.suggest-form select:focus-visible,.suggest-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.suggest-help{margin:0;font-size:var(--text-sm);color:var(--muted)}
.suggest-form [type=submit]{justify-self:start;margin-top:var(--space-3)}
.suggest-status{margin:0;min-height:1.5em}.suggest-status.error{color:#ff8a8a}
[data-theme=light] .suggest-status.error{color:#b3261e}
.suggest-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.learn-latest a{display:inline!important;min-height:0!important}
@media(max-width:760px){.release-list li{grid-template-columns:1fr;gap:2px}.roadmap-list li{flex-direction:column;align-items:stretch}.roadmap-list .want{width:100%}.suggest-form [type=submit]{justify-self:stretch}}
/* Calmer links: navigation and link lists carry no underline (it returns on hover/focus); prose links keep a thin, quiet one. */
.learn-article a{text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
.learn-article a:hover,.learn-article a:focus-visible{text-decoration-color:currentColor}
.learn-menu a,.learn-aside a,.learn-footer a,.crumb a,.learn-player-link,.link-grid strong,.release-list a,.roadmap-list a,.site-map-list a{text-decoration:none}
.learn-menu a:hover,.learn-aside a:hover,.learn-footer a:hover,.crumb a:hover,.learn-player-link:hover,.link-grid a:hover strong,.release-list a:hover,.roadmap-list a:hover,
.learn-menu a:focus-visible,.learn-aside a:focus-visible,.learn-footer a:focus-visible,.crumb a:focus-visible,.learn-player-link:focus-visible,.link-grid a:focus-visible strong,.site-map-list a:hover,.site-map-list a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.learn-latest a{text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
.skip:not(:focus){text-decoration:none}
/* October editorial review: reading size and rhythm, not table-game controls. */
.learn-article h2,.learn-aside h2{font-size:clamp(22px,1.1rem + .6vw,26px)}
.learn-article .rank-list p,.learn-article .blind-table,.learn-player p{font-size:var(--text-base)}
.learn-player-heading small{font-size:14px}
.learn-article p,.learn-article li{overflow-wrap:break-word}
.reviewed{font-size:14px;color:var(--muted);margin:-4px 0 20px}
.crumb{align-items:center;gap:8px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0}
.deciding-card{outline:3px solid var(--accent);outline-offset:2px}
.table-guide>img{display:block;width:min(100%,390px);height:auto;border:1px solid var(--line);border-radius:12px}
.table-guide figcaption{max-width:54ch;margin-top:12px}
.table-key{margin-top:20px}
.table-key li{margin-bottom:12px}
.format-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:24px}
.format-comparison article{padding:20px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.format-comparison h3{font-size:19px}
.format-comparison p{font-size:14px;min-height:3em}
.format-comparison dl{margin:0}
.format-comparison dl div{padding-block:12px;border-top:1px solid var(--line)}
.format-comparison dt{font-size:14px;color:var(--muted)}
.format-comparison dd{font-size:16px;font-weight:600;margin:2px 0 0}
.learn-article .site-map-list{padding:0;list-style:none}
.site-map-list li{border-top:1px solid var(--line);padding-block:12px}
.site-map-list a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.site-map-list p{margin:4px 0 8px;color:var(--muted)}
.guide-jumps{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-block:var(--space-6);padding-block:var(--space-3);border-block:1px solid var(--line)}
.guide-jumps a{display:inline-flex;align-items:center;min-height:44px}
.course-outline{padding-left:var(--space-6)}
.course-outline li{padding-left:var(--space-2);margin-block:var(--space-6)}
.course-outline h3{margin-block:var(--space-2)}
.course-step{font-size:var(--text-sm);color:var(--muted)}
.feature-screenshot{margin-block:var(--space-8);max-width:680px}
.feature-screenshot img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--space-2)}
.feature-screenshot figcaption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--muted)}
.feature-facts{margin-block:var(--space-6)}
.feature-facts>div{padding-block:var(--space-4);border-top:1px solid var(--line)}
.feature-facts dt{font-weight:700}
.feature-facts dd{margin:var(--space-2) 0 0}
.rule-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-block:var(--space-6)}
.rule-split article,.teaching-example{background:var(--surface);border:1px solid var(--line);border-radius:var(--space-2);padding:var(--space-5)}
.rule-split h3,.teaching-example h3{margin-top:0}
.teaching-example{margin-block:var(--space-6)}
.teaching-example .lcards{margin-bottom:var(--space-4)}
.learn-article code{overflow-wrap:anywhere;font-size:.9em}
@media(max-width:480px){.rule-split{grid-template-columns:1fr}.teaching-example{padding:var(--space-4)}}
@media(max-width:1000px){.format-comparison{grid-template-columns:1fr}.format-comparison p{min-height:0}.format-comparison dl{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}}
.legal-table{overflow-x:auto;margin:var(--space-4) 0;-webkit-overflow-scrolling:touch}.legal-table table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--text-sm)}.legal-table caption{text-align:left;font-weight:600;margin-bottom:var(--space-3)}.legal-table th[scope="row"]{font-weight:600;overflow-wrap:anywhere}
.company-card{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--line);border-radius:12px;font-size:var(--text-sm)}.company-card dt{font-weight:600;color:var(--muted)}.company-card dd{margin:0;overflow-wrap:anywhere}
.learn-footer .legal-line{font-size:var(--text-xs,0.8rem)}.learn-footer .legal-line a{display:inline;min-height:0}
@media(max-width:640px){.legal-table table{min-width:0}.legal-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.legal-table tr{display:block;border-bottom:1px solid var(--line);padding:var(--space-3) 0}.legal-table th[scope="row"],.legal-table td{display:block;border:0;padding:var(--space-1) 0}.legal-table td::before{content:attr(data-label);display:block;font-weight:600;color:var(--muted);font-size:var(--text-xs,0.8rem);text-transform:uppercase;letter-spacing:.04em}.legal-table caption{white-space:normal}}
@media(max-width:480px){.company-card{grid-template-columns:1fr;gap:0}.company-card dd{margin-bottom:var(--space-3)}}

.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;pointer-events:none}
.icon-label{display:inline-flex;align-items:center;gap:8px}
.learn-menu nav a.icon-label,.learn-aside nav a.icon-label{display:flex;align-items:flex-start}
.drawer-navigation button .ui-icon,.drawer-utilities button .ui-icon{color:var(--muted)}
.drawer-navigation button[aria-current] .ui-icon,.drawer-navigation button:hover .ui-icon{color:inherit}
#club-drawer .drawer-navigation button>span{width:auto;min-width:0;flex:1;text-align:left;font:inherit;color:inherit}
#club-drawer .drawer-utilities button{justify-content:flex-start;gap:12px}
#club-drawer .drawer-utilities button small{margin-left:auto}
.table-help-menu button{display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left}
.table-help-menu .ui-icon{color:var(--muted)}
.link-grid>a{position:relative;padding-left:54px}
.link-grid>a>.ui-icon{position:absolute;top:20px;left:18px;color:var(--accent)}
.home-guide-icon>.ui-icon{width:32px;height:32px}
.home-key-facts>li>.ui-icon{width:28px;height:28px;flex-basis:28px}
