/* Companion pages: paper, generous type and a shared portfolio signature. */
:root{--bg:#eeebe2;--bg-2:#e4dfd3;--ink:#252821;--text:#4b4f46;--muted:#6b6e63;--accent:#ad6148;--accent-2:#ad6148;--line:#25282126;--line-2:#25282142;--pad:clamp(22px,5vw,80px);--maxw:1440px}
body.journal-page,body.lab-page,body.lm-body{background:var(--bg);color:var(--text)}
[hidden]{display:none!important}
.top,.top.scrolled{height:78px;padding:0 var(--pad);background:#eeebe2f2;border-bottom:1px solid var(--line);backdrop-filter:blur(15px);gap:25px}
.brand{font:400 11px/1.4 var(--f-sans);gap:14px;letter-spacing:0;white-space:nowrap}.page-monogram{font:italic 32px/1 var(--f-disp);color:#ad6148;letter-spacing:-.09em}
.links{margin-left:auto;gap:25px}.links>a{font-size:11px}.links .lang{margin-left:25px}.lang-btn{font-size:10px;min-width:24px;min-height:35px;color:#73766a}.lang-btn.active{color:#ad6148}.nav-lab:before{display:none}
.page-motion{display:grid;place-items:center;width:29px;height:29px;border:1px solid #25282138;border-radius:50%;background:none;color:var(--ink);font-size:11px;cursor:pointer;flex-shrink:0}
.menu-btn{margin-left:0;flex-shrink:0}.menu{z-index:35;background:var(--bg)}.menu>a{font:400 clamp(42px,7vw,70px)/1.1 var(--f-disp);padding:10px 0}
:focus-visible{outline:2px solid #ad6148;outline-offset:5px}.eyebrow .dot{animation:none;box-shadow:none}.eyebrow{font-size:10px;letter-spacing:.1em}
.page-label{font:10px var(--f-mono);letter-spacing:.08em}.page-footer{max-width:1440px;margin:40px auto 0;padding:45px var(--pad) 60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line)}
.page-footer a{display:flex;flex-direction:column;gap:12px;color:var(--ink)}.page-footer a:last-child{text-align:right}.page-footer span{font:10px var(--f-mono);color:var(--muted)}.page-footer i{font:italic clamp(25px,3vw,45px)/1.1 var(--f-disp);transition:color .3s}.page-footer a:hover i{color:#ad6148}
/* Journal cover and story index. */
.blog-main{max-width:1440px;padding-top:145px;padding-bottom:45px}.blog-hero{grid-template-columns:1.35fr 1fr;gap:22px 70px;padding:0 0 55px;margin:0;align-items:end}.blog-hero .eyebrow{margin:0 0 24px}
.blog-title{font:400 clamp(100px,13.5vw,194px)/.82 var(--f-disp);letter-spacing:-.055em;color:var(--ink)}.blog-title .amber{color:var(--ink);font-style:italic;padding-left:.3em}.blog-lede{font-size:15px;line-height:1.8;max-width:31ch;padding:0 0 9px}
.journal-index{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:40px}.blog-filter{padding:0;margin:0;border:0;gap:24px}.cat-chip{font:11px var(--f-sans);padding:10px 0;border:0;border-radius:0;background:none!important;display:flex;gap:7px;align-items:start}.cat-chip.active{color:#ad6148}.category-count{font:9px var(--f-mono);opacity:.65;position:relative;top:-2px}
.post-list{gap:45px 55px}.post-card{padding-bottom:40px}.post-card:first-child{grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding-bottom:45px}.post-card .post-cover{height:350px;border:0;border-radius:2px;position:relative;isolation:isolate;margin-bottom:25px}.post-card:first-child .post-cover{height:455px}
.post-card h2{font:400 clamp(32px,3.7vw,52px)/1.05 var(--f-disp);letter-spacing:-.025em;transition:color .25s}.post-card:first-child h2{font-size:clamp(40px,4.7vw,68px);margin:20px 0}.post-card:hover h2{color:#ad6148;transform:none}.post-meta{font-size:10px;line-height:1.8;letter-spacing:0}.post-cat{color:#ad6148}.post-excerpt{font-size:14px;line-height:1.9;max-width:46ch}.post-tags .tag{font:9px var(--f-mono);padding:0 8px 0 0;color:var(--muted);border:0;background:none}.post-more{font:11px var(--f-sans);color:var(--ink);padding-bottom:6px;border-bottom:1px solid #ad6148;margin-top:24px}
.match-art{background:#273c35;color:#e7e5d7;display:flex;align-items:center;justify-content:center;gap:25px;overflow:hidden}.match-art>span{position:relative;z-index:2;font:italic clamp(50px,6.2vw,94px)/1 var(--f-disp)!important;letter-spacing:-.045em}.match-art>i{font:400 32px var(--f-disp);color:#cd9279;position:relative;z-index:2}.match-art>small{position:absolute;left:25px;bottom:23px;font:9px var(--f-mono);letter-spacing:.1em;color:#d5dccc}
.journal-pitch{position:absolute;inset:35px 28px;border:1px solid #b7cbb426;transform:perspective(700px) rotateX(20deg) rotateZ(-15deg) scale(1.2);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.journal-pitch:before{content:'';position:absolute;inset:0 50% 0 auto;border-left:1px solid #b7cbb426}.journal-pitch:after{content:'';width:110px;height:110px;border:1px solid #b7cbb426;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.journal-pitch i,.journal-pitch b{position:absolute;width:15%;height:50%;top:25%;border:1px solid #b7cbb426}.journal-pitch i{left:-1px}.journal-pitch b{right:-1px}.post-card:hover .journal-pitch{transform:perspective(700px) rotateX(0deg) rotateZ(0deg) scale(1)}
.post-card-music .post-cover{background:#cdc6b9;overflow:hidden;padding:48px}.post-cover-album:before{content:'';position:absolute;width:240px;height:240px;border-radius:50%;background:repeating-radial-gradient(circle,#242924 0 1px,#303630 2px 3px);left:52%;top:50%;transform:translate(-15%,-50%);box-shadow:0 15px 25px #262c2526;transition:transform .9s}.post-cover-album:after{content:'';position:absolute;left:calc(52% + 76px);top:calc(50% - 6px);width:12px;height:12px;border:4px solid #aa6650;border-radius:50%;background:#c9c4b9}.post-cover-album img{position:relative;z-index:2;width:auto;max-width:85%;transform:translateX(-25px);box-shadow:0 20px 25px #25282133}.post-card:hover .post-cover-album img{transform:translateX(-40px) rotate(-3deg)}
/* Reader stays quiet, with an index and a clear next article. */
.is-reading .journal-index{display:none}.is-reading .blog-main{max-width:1000px;padding-top:125px}.is-reading .post-view{max-width:760px}.post-back{font-size:11px;margin-bottom:40px}.post-view .post-title{font:400 clamp(43px,5.8vw,80px)/1.02 var(--f-disp);letter-spacing:-.035em;margin:16px 0 25px}.post-body{font-size:17px;line-height:1.95}.post-body h2{font:400 36px/1.15 var(--f-disp);scroll-margin-top:115px}.post-body blockquote{font:italic 29px/1.4 var(--f-disp);padding-left:26px;margin:40px 0;border-color:#ad6148}.post-view .post-tags{margin-bottom:35px}
.reader-contents{border-block:1px solid var(--line);padding:17px 0;margin:0 0 35px}.reader-contents summary{cursor:pointer;font:11px var(--f-mono);color:var(--ink)}.reader-contents nav{display:grid;gap:3px;padding-top:16px}.reader-contents button{font:12px/1.6 var(--f-sans);color:var(--muted);background:none;border:0;text-align:left;padding:8px 0;cursor:pointer}.reader-contents button:hover{color:#ad6148}.reader-next{display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--line);margin-top:65px;padding:32px 0;color:var(--ink)}.reader-next>span{font:10px var(--f-mono);color:var(--muted)}.reader-next strong{font:400 38px/1.15 var(--f-disp)}.reader-next:hover{color:#ad6148}
.post-body .statgrid,.post-body .pred,.post-body .players .pcard,.post-body .scorers,.post-body .track,.post-body .tierlist{border-radius:2px;box-shadow:none}.post-body .statn{font-weight:400}.post-body .album-hero .cover{border-radius:0;box-shadow:0 25px 40px #25282126}.post-body .album-hero .cover:after{animation-iteration-count:1}.post-body .chip.w,.post-body .sc-name i{color:#526445}.post-body .sc-row.gold .sc-val{color:#936c21}
/* Lab: an open playing room and a deep green connection board. */
.lab-main{padding-top:135px}.lab-hero{max-width:1440px;padding-top:0;padding-bottom:48px;grid-template-columns:1.25fr 1fr}.lab-title{font:400 clamp(95px,12vw,170px)/.85 var(--f-disp);letter-spacing:-.055em}.lab-hero .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.1em}.lab-lede{font-size:15px;line-height:1.85;max-width:35ch}.lab-wrap{max-width:1440px}
.lm-feature{min-height:365px;padding:46px 50px;border:0;border-radius:2px;background:#263b33;color:#eae9dc;box-shadow:none;overflow:hidden;transition:background .5s}.lm-feature:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 60%,#607f6445,transparent 60%);pointer-events:none}.lm-feature:hover{transform:none;background:#20372e}.lm-feature-tag{font-size:9px;letter-spacing:.1em;color:#a4b5a0}.lm-feature-title{font:400 clamp(54px,6vw,86px)/.9 var(--f-disp);color:#ecebdd;letter-spacing:-.035em;margin:12px 0 15px}.lm-feature-title span{color:#cf987e}.lm-feature-desc{color:#b7c3b4;font-size:13px;line-height:1.8;max-width:40%}.lm-feature-cta{color:#e6e9dc;border-color:#cd9279;font-size:11px}.feature-board{width:41%;height:94%;right:3%;top:3%;filter:none;transform:rotate(-13deg);z-index:1;transition:transform 1s}.lm-feature:hover .feature-board{transform:rotate(-3deg) scale(1.04)}.feature-board circle[fill="#c9c1af"]{fill:#63786a;stroke:#90a18d;stroke-width:.5}.feature-board circle[fill="#33382f"]{fill:#e0e4ce}.feature-board circle[fill="#b84025"]{fill:#d59879}.feature-path{stroke:#d59879}.collection-label{margin:50px 0 20px;font-size:10px;letter-spacing:.1em}
.lab-playroom{border-radius:0;background:none;box-shadow:none;border-width:1px 0;grid-template-columns:240px minmax(0,1fr);overflow:visible}.picker{background:none;padding:25px 25px 25px 0;position:sticky;top:78px;align-self:start;border:0;gap:0}.pick{min-height:88px;font:400 24px/1.1 var(--f-disp);border-radius:0;border:0;border-bottom:1px solid var(--line);padding:20px 12px;gap:15px}.pick-number{font:10px var(--f-mono)}.pick.active{background:#263b33;color:#e7eadb;box-shadow:none}.pick.active .pick-number{color:#d19b83}.panel{min-height:690px;padding:30px 0 30px 45px;border-left:1px solid var(--line)}.panel-title{font:400 44px/1 var(--f-disp);letter-spacing:-.03em}.panel-sub{font-size:10px}.game-status{font-size:11px}.game-intro{max-width:62ch;font-size:14px}.surface-caption{font-size:12px}.game-controls{font-size:12px}.game-note{font-size:10px}.board{background:#d7d1c1;border-radius:5px;box-shadow:0 12px 30px #263b3317;gap:9px;padding:14px}.cell{border-radius:3px;box-shadow:inset 0 1px #fff9,0 3px 0 #bcb19f}.board-wrap{max-width:345px}.score{margin:20px 0}.sc-n{font:400 38px var(--f-disp)}.sc-l{font-size:9px}.nim-rows,.rps-arena,.chomp-grid{border-radius:3px}.btn-ghost,.lm-btn{border-radius:0;min-height:42px}.lab-back{font-size:11px}
/* Last Move: a spacious board, a separate move ledger. */
.lm-main{max-width:1440px;padding-top:135px}.lm-intro{grid-template-columns:1.3fr 1fr;gap:24px 65px;margin-bottom:50px}.lm-title{font:400 clamp(72px,9vw,130px)/.9 var(--f-disp);letter-spacing:-.05em}.lm-title .amber{display:block;font-style:italic;color:#ad6148;padding-left:.8em}.lm-lede{font-size:15px;line-height:1.8;max-width:37ch}.lm-intro .eyebrow{font-size:10px}.lm-layout{grid-template-columns:minmax(0,1fr) 290px;gap:55px}.lm-body .lm-stage{background:none;border-radius:0;border:0;padding:0}.board-edition{font-size:10px;padding-bottom:16px}.lm-legend{margin:25px 0 12px}.lm-leg{font-size:11px}.lm-howto{font-size:12px;margin-bottom:22px}
.lm-board-wrap{--accent:#e2e5ce;--accent-2:#d89779;--bg-2:#344c3f;--muted:#9fad99;--line-2:#9cac99;background:radial-gradient(ellipse at 25% 15%,#3e5848,#233b2d);border:1px solid #526851;border-radius:4px;padding:20px;box-shadow:0 6px 0 #172b20,0 25px 45px #21392322}.lm-node .nc{fill:#405b46;stroke:#84977b}.lm-node .stone-label{fill:#d2dbc6}.lm-node.you .nc{stroke:#f1f1de}.lm-node.ai .nc{stroke:#e4af91}.lm-node.you .stone-label{fill:#2b402f}.lm-node.ai .stone-label{fill:#563420}.lm-node.empty:hover .nc,.lm-node.empty:focus-visible .nc{fill:#658568;stroke:#e2e5ce}.lm-node:focus-visible .nc{stroke:#fff;stroke-width:1}.lm-border{opacity:.8}.lm-turn{color:#42583c;font-size:12px;padding-top:24px}.lm-controls{margin-top:17px}.lm-count,.lm-note{font-size:11px}.lm-notebook{border-left:1px solid var(--line);padding:0 0 0 28px}.lm-notebook h2{font-size:39px;line-height:1.05}.notebook-label{font-size:9px;letter-spacing:.08em}.lm-speak{font-size:24px;color:#ad6148;margin:25px 0}.lm-body .lm-overlay{border:0;border-left:2px solid #ad6148;border-radius:0;padding:18px;background:#e4dfd3}.lm-verdict{font-size:30px}.lm-verdict-sub{font-size:12px}#moveLog li{font-size:11px;padding:9px 0}.game-explainer{font-size:12px;line-height:1.8}
/* Only finite entrance motion. Decoration follows the same pause preference. */
@keyframes page-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.blog-title,.lab-title,.lm-title{animation:page-enter .85s cubic-bezier(.2,.7,.2,1) both}.blog-lede,.lab-lede,.lm-lede{animation:page-enter 1s .12s cubic-bezier(.2,.7,.2,1) both}
body.page-motion-paused *,body.page-motion-paused *:before,body.page-motion-paused *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}body.page-motion-paused .feature-path{stroke-dashoffset:0}body.page-motion-paused .post-card:hover .journal-pitch{transform:perspective(700px) rotateX(20deg) rotateZ(-15deg) scale(1.2)}
@media(max-width:1050px){.links{gap:16px}.links .lang{margin-left:0}.top{gap:18px}.post-card:first-child{gap:35px}.blog-hero{gap:25px 35px}.lab-playroom{grid-template-columns:190px minmax(0,1fr)}.pick{font-size:21px}.panel{padding-left:28px}.lm-layout{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.lm-notebook{padding-left:22px}.lm-feature-title{font-size:62px}.lm-feature-desc{max-width:45%}.lm-feature{padding:38px}}
@media(max-width:800px){.top,.top.scrolled{height:68px;padding-inline:22px}.links{display:none}.page-motion{margin-left:auto}.menu-btn{display:flex}.brand{font-size:10px}.page-monogram{font-size:30px}.blog-main,.lab-main,.lm-main{padding-top:115px}.blog-hero,.lab-hero,.lm-intro{grid-template-columns:1fr;gap:30px}.blog-hero{padding-bottom:40px}.blog-hero .eyebrow{margin:0}.blog-title{font-size:clamp(95px,17vw,140px)}.blog-lede,.lab-lede,.lm-lede{max-width:42ch;font-size:14px}.blog-title .amber{padding-left:.16em}.post-card:first-child{grid-template-columns:1fr;gap:25px}.post-card:first-child .post-cover{height:370px}.post-card:first-child h2{font-size:46px;margin-top:10px}.post-list{gap:35px}.post-card .post-cover{height:290px}.post-card h2{font-size:35px}.post-excerpt{font-size:13px}.post-meta{font-size:9px}.lab-title{font-size:120px}.lm-feature{padding:30px}.lm-feature-title{font-size:58px}.lm-feature-desc{max-width:47%}.lm-feature .feature-board{position:absolute;width:43%;height:80%;right:0;top:10%;margin:0}.lab-playroom{grid-template-columns:1fr}.picker{position:static;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:12px 0;gap:4px}.pick{font:12px/1.5 var(--f-sans);flex-direction:column;align-items:start;gap:6px;min-height:75px;padding:12px 9px}.panel{padding:28px 0;border:0;min-height:0}.panel-head{flex-direction:row;align-items:center}.panel-title{font-size:38px}.lm-title{font-size:100px}.lm-intro{margin-bottom:35px}.lm-layout{grid-template-columns:1fr;gap:45px}.lm-notebook{border:0;padding:25px 0 0;border-top:1px solid var(--line)}.lm-legend{flex-direction:row;gap:10px}.lm-board-wrap{padding:14px}.page-footer{gap:25px}.page-footer i{font-size:30px}}
@media(max-width:550px){.blog-title{font-size:clamp(82px,21vw,115px)}.blog-hero{gap:25px}.journal-index{align-items:start;gap:14px;flex-direction:column;padding:18px 0;margin-bottom:26px}.blog-filter{gap:25px}.post-list{grid-template-columns:1fr}.post-card:first-child .post-cover,.post-card .post-cover{height:310px}.post-card:first-child h2{font-size:42px}.post-card h2{font-size:36px}.post-card{padding-bottom:32px}.post-card:first-child{padding-bottom:32px}.match-art>span{font-size:59px!important}.match-art{gap:18px}.match-art>small{font-size:8px;left:20px;bottom:20px}.post-cover-album:before{width:200px;height:200px}.post-cover-album:after{left:calc(52% + 64px)}.post-card-music .post-cover{padding:48px 32px}.is-reading .blog-main{padding-top:105px}.post-view .post-title{font-size:44px}.post-body{font-size:16px;line-height:1.9}.post-body h2{font-size:30px}.post-body blockquote{font-size:26px}.reader-next strong{font-size:31px}.lab-title{font-size:100px}.lab-hero{padding-bottom:32px}.lab-lede{font-size:14px}.lm-feature{padding:28px 25px 220px;min-height:0;margin-bottom:30px}.lm-feature-title{font-size:57px}.lm-feature-desc{max-width:100%;font-size:12px}.lm-feature .feature-board{width:75%;height:210px;top:auto;bottom:0;right:10%;transform:rotate(-10deg)}.lm-feature-tag{font-size:8px}.collection-label{margin-top:32px;font-size:9px}.picker{grid-template-columns:1fr 1fr}.pick{flex-direction:row;align-items:center;min-height:59px;font-size:12px;padding:14px 10px;gap:10px}.panel-title{font-size:34px}.panel-head{align-items:start;flex-direction:column;gap:12px}.game-status{font-size:10px}.panel-sub{font-size:9px}.game-intro{font-size:13px}.score{gap:20px}.sc{min-width:62px}.rps-btn{width:80px}.lm-main{padding-top:108px}.lm-title{font-size:clamp(69px,19vw,100px)}.lm-lede{font-size:13px}.lm-intro .eyebrow{font-size:9px}.board-edition{font-size:8px}.lm-legend{flex-direction:column;gap:10px}.lm-leg{font-size:11px}.lm-howto{font-size:11px}.lm-board-wrap{padding:9px}.lm-controls{gap:12px}.lm-notebook{display:block}.page-footer{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:40px}.page-footer a:last-child{text-align:left}.page-footer i{font-size:32px}.page-footer span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.feature-path{stroke-dashoffset:0}}
.lm-board-wrap{max-width:680px;margin-inline:auto}.lm-leg.you i{background:#e2e5ce;border:1px solid #738366}.lm-leg.ai i{background:#d89779;border:1px solid #ad755e}
