.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold);z-index:200}
.blog{max-width:62rem;margin:0 auto;padding:8rem 1.5rem 5rem}
.head{max-width:48rem;margin:0 auto 2.75rem;text-align:center}
.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.blog h1{font:500 clamp(2rem,4.6vw,3.1rem)/1.12 'Playfair Display',serif;color:var(--ivory);margin:1rem 0}
.sub{font:italic 400 1.15rem/1.5 'Playfair Display',serif;color:var(--ivory-dim)}
.meta{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-dim);margin-top:1.25rem}
.hero{margin:2.5rem auto}
.hero img,.photo img{width:100%;display:block;object-fit:cover}
.hero img{aspect-ratio:2/1}
.blog figcaption{font-size:.78rem;line-height:1.5;color:var(--ivory-dim);margin-top:.6rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:.5px solid var(--border);margin:0 auto 3rem;max-width:48rem}
.stats div{background:var(--surface);padding:1.25rem .75rem;text-align:center}
.stats b{display:block;font:500 2rem 'Playfair Display',serif;color:var(--gold)}
.stats span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-dim)}
.prose>*{max-width:40rem;margin-left:auto;margin-right:auto}
.prose p{font-size:1.08rem;line-height:1.85;margin-top:1.3rem;color:var(--ivory);opacity:.86}
.prose>p:first-child{font:400 1.35rem/1.65 'Playfair Display',serif;opacity:1;margin-top:0}
.prose strong{font-weight:600;color:var(--ivory)}
.prose a{color:var(--gold)}
.prose h2{font:500 1.65rem/1.2 'Playfair Display',serif;color:var(--ivory);margin-top:3.5rem;padding-top:1.25rem;border-top:.5px solid var(--border)}
.prose blockquote{max-width:44rem;margin:2.75rem auto;padding-left:1.5rem;border-left:3px solid var(--gold)}
.prose blockquote p{font:italic 500 1.65rem/1.35 'Playfair Display',serif;color:var(--ivory);opacity:1;margin:0}
.game{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;background:var(--surface);border:.5px solid var(--border);border-left:3px solid var(--gold);padding:1rem 1.25rem;margin-top:1.5rem}
.game .rd{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.game .vs{flex:1;min-width:12rem;color:var(--ivory);font-weight:500}
.game .res{font:600 1rem 'Playfair Display',serif;color:var(--gold);border:.5px solid var(--gold);padding:.15rem .7rem}
.prose>figure{margin-top:2.75rem;margin-bottom:0}
.prose>figure.diagram{max-width:40rem;background:var(--surface);border:.5px solid var(--border);padding:1.1rem 1.1rem .8rem}
.diagram .q{font-weight:600;font-size:1.05rem;color:var(--gold);text-align:center;margin:0 0 .9rem;opacity:1}
.diagram img{width:100%;max-width:26rem;display:block;margin:0 auto}
.diagram figcaption{text-align:center}
.dn{font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory)}
.prose>figure.photo{max-width:52rem}
.photo img{aspect-ratio:16/9}
.prose>figure.embed{max-width:44rem;background:var(--surface);border:.5px solid var(--border);padding:.75rem}
.embed-head{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:.6rem;color:var(--ivory-dim)}
.embed iframe{width:100%;aspect-ratio:4/3;border:0;display:block}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:2rem;margin-top:3rem}
.card{display:block;text-decoration:none;background:var(--surface);border:.5px solid var(--border)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.card div:not(.banner){padding:1.25rem 1.5rem 1.5rem}
.banner{aspect-ratio:2.4/1;display:grid;place-items:center;background:repeating-conic-gradient(var(--surface2) 0 25%,var(--surface) 0 50%) 0 0/3.5rem 3.5rem}
.banner span{font:500 2.2rem 'Playfair Display',serif;color:var(--gold);background:var(--black);padding:.35rem 1.5rem;border:.5px solid var(--gold)}
.series{max-width:40rem;margin:4.5rem auto 0;padding-top:2rem;border-top:.5px solid var(--border)}
.series .eyebrow{text-align:center}
.series .parts{display:grid;gap:.6rem;margin-top:1rem}
.series .part{display:flex;gap:1rem;align-items:baseline;padding:.9rem 1.1rem;background:var(--surface);border:.5px solid var(--border);text-decoration:none;color:var(--ivory)}
.series .part span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);min-width:4.5rem}
.series .part b{font:500 1.15rem 'Playfair Display',serif}
.series .part.on{border-left:3px solid var(--gold)}
.series .part:hover b{color:var(--gold)}
.series .pn{display:flex;justify-content:space-between;gap:1rem;margin-top:1.25rem;font-size:.85rem}
.series .pn a{color:var(--gold);text-decoration:none}
.card h3{font:500 1.6rem/1.2 'Playfair Display',serif;color:var(--ivory)}
.card p{margin-top:.6rem;font-size:.95rem;line-height:1.6;color:var(--ivory-dim)}
.card:hover h3{color:var(--gold)}
.board{display:grid;grid-template-columns:minmax(0,26rem) minmax(10rem,1fr);gap:1.25rem}
.board .bl{min-width:0}
.board svg{width:100%;height:auto;display:block;cursor:pointer;touch-action:manipulation;user-select:none}
.board .ctrls{display:flex;gap:.4rem;justify-content:center;margin-top:.8rem}
.board .ctrls button{width:2.7rem;height:2.4rem;display:grid;place-items:center;background:transparent;color:var(--ivory);border:.5px solid var(--border);cursor:pointer}
.board .ctrls button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.board .ctrls button:disabled{opacity:.4;cursor:default}
.board .moves{display:flex;flex-direction:column;border:.5px solid var(--border-soft);background:var(--charcoal);min-height:9rem}
.board .tabs{display:flex;flex:none;border-bottom:.5px solid var(--border-soft)}
.board .tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:.6rem .4rem;font:600 .68rem 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-dim);cursor:pointer}
.board .tabs button.on{color:var(--gold);border-bottom-color:var(--gold)}
.board .mwrap{position:relative;flex:1;min-height:0}
.board .mlist{position:absolute;inset:0;overflow:auto;padding:.5rem .6rem}
.board .line{line-height:2}
.board .pm{white-space:nowrap}
.board .line .n{color:var(--ivory-dim);font-size:.78rem;margin:0 .1rem 0 .35rem}
.board button.mv{display:inline;background:none;border:0;color:var(--ivory);padding:.15rem .35rem;font:500 .92rem 'DM Sans',sans-serif;cursor:pointer}
.board button.mv:hover{color:var(--gold)}
.board button.mv.on{background:var(--gold);color:var(--black)}
.board .ann{color:var(--gold);font-weight:700}
.board .ann.bad{color:#a53a2a}
[data-theme="dark"] .board .ann.bad{color:#e58b7c}
.board button.mv.on .ann{color:inherit}
.board .var{margin:.2rem 0 .2rem .6rem;padding-left:.6rem;border-left:2px solid var(--border);font-size:.92em}
.board .coord{fill:var(--ivory-dim)}
.board .note{grid-column:1/-1;margin:0;padding:.8rem 1rem;background:var(--charcoal);border:.5px solid var(--border-soft);border-left:3px solid var(--gold);font-size:.95rem;line-height:1.6;color:var(--ivory)}
.board .note b{color:var(--gold);font-weight:700;margin-right:.15rem}
.signup{max-width:40rem;margin:4rem auto 0;padding:1.6rem 1.5rem;background:var(--surface);border:.5px solid var(--border);border-left:3px solid var(--gold)}
.signup h3{font:500 1.6rem/1.2 'Playfair Display',serif;color:var(--ivory);margin:.5rem 0}
.blog .signup p{font-size:.95rem;line-height:1.6;margin:0 0 1rem;color:var(--ivory);opacity:1}
.blog .signup p.eyebrow{color:var(--gold);margin:0}
.signup .row{display:flex;gap:.6rem;flex-wrap:wrap}
.signup input[type=email]{flex:1;min-width:12rem;padding:.75rem .9rem;font:500 1rem 'DM Sans',sans-serif;background:var(--black);color:var(--ivory);border:.5px solid var(--border)}
.signup button{padding:.75rem 1.4rem;font:600 .78rem 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--black);border:0;cursor:pointer}
.signup button:hover{filter:brightness(1.08)}
.sr{position:absolute;left:-9999px}
.blog .board .empty{color:var(--ivory-dim);font-size:.85rem;line-height:1.5;margin:0;padding:.35rem;opacity:1}
.blog .hint{grid-column:1/-1;font-size:.74rem;color:var(--ivory-dim);text-align:center;margin:0;opacity:1}
@media(max-width:700px){.board{grid-template-columns:1fr}.board .moves{max-height:14rem}.board .mwrap{min-height:7rem}.prose>figure.embed{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:.5rem 0;border-left:0;border-right:0}.embed-head{padding:0 1rem}.embed iframe{aspect-ratio:auto;height:min(132vw,88svh)}.prose>figure.diagram{padding:.8rem .7rem .6rem}}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}.prose blockquote p{font-size:1.35rem}}