/* Odd Little Games – main stylesheet.
   Layout: plum stage, one 1160px column; games sit on a shelf ledge;
   news is a featured-plus-list rhythm. Single dark brand world. */

@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}

:root{
  --ink:#211A2E; --ink-2:#2C2340; --ink-3:#3A2F52; --muted:#ABA1C0;
  --cream:#FCFCFA; --cream-pale:#FDECAE; --butter:#FCCD6B; --butter-lit:#FDE389;
  --coral:#FD7159; --coral-deep:#FC5F47; --coral-lit:#FEA490; --coral-rim:#D44D39;
  --body-text:#E3DDEC; --shadow:rgba(10,6,18,.55);
  --display:"Bricolage Grotesque","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --step--1:.8125rem; --step-0:1rem; --step-1:1.1875rem; --step-2:1.5rem; --step-3:2.125rem; --step-4:clamp(2.4rem,5.2vw,4.25rem);
  --radius:14px; --wrap:1160px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px)}
img,svg,video,iframe{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,.h3{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-lit)}
.lede{color:var(--muted);font-size:var(--step-1);max-width:34em}
.empty{color:var(--muted);padding:24px 0}
:focus-visible{outline:3px solid var(--butter);outline-offset:3px;border-radius:6px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:var(--butter);color:var(--ink);padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:600}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:999px;padding:12px 20px;border:0;cursor:pointer;font:inherit;font-weight:600;line-height:1.2;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:12px;height:12px;fill:currentColor}
.btn-primary{background:var(--butter);color:var(--ink)}
.btn-primary:hover{background:var(--butter-lit)}
.btn-coral{background:var(--coral);color:var(--ink)}
.btn-coral:hover{background:var(--coral-lit)}
.btn-dark{background:var(--ink);color:var(--cream)}
.btn-dark:hover{background:var(--ink-2)}
.btn-ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--muted)}
.btn-sm{padding:8px 14px;font-size:var(--step--1)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(33,26,46,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-3)}
.admin-bar .site-head{top:32px}
@media (max-width:782px){.admin-bar .site-head{top:0}}
.site-head .wrap{display:flex;align-items:center;gap:16px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:1.2rem;white-space:nowrap}
.brand .mark{width:34px;height:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav-list{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav-list a{display:block;text-decoration:none;color:var(--muted);font-weight:500;padding:8px 12px;border-radius:999px}
.nav-list a:hover,.nav-list .current-menu-item>a,.nav-list .current_page_parent>a,.nav-list a[aria-current]{color:var(--cream);background:var(--ink-2)}
.nav-cta{margin-left:6px}
.menu-toggle{display:none;background:var(--ink-2);color:var(--cream);border:0;border-radius:999px;padding:8px 14px;font:inherit;font-weight:500;cursor:pointer}
@media (max-width:760px){.nav .nav-list{display:none}.menu-toggle{display:inline-flex}}
@media (max-width:420px){.nav-cta{display:none}}
.mobile-nav{border-top:1px solid var(--ink-3)}
.mobile-nav .nav-list{flex-direction:column;gap:0;padding-block:6px}
.mobile-nav .nav-list a{border-radius:0;padding:12px 0;border-bottom:1px solid var(--ink-3);color:var(--cream);background:none}
.mobile-nav .nav-list li:last-child a{border-bottom:0}

section{padding-block:clamp(48px,8vw,96px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.sec-head h2{font-size:var(--step-3);margin-top:8px}
.sec-head .lede{font-size:1rem;max-width:28em}
.sec-head-tight{margin-bottom:16px}
.sec-head-tight h2{margin:0}
.link-arrow{color:var(--butter);text-decoration:none;font-weight:600;white-space:nowrap}
.link-arrow:hover{text-decoration:underline}
.tag{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-lit)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--ink-3);color:var(--cream);white-space:nowrap}
.pill.status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--butter)}
.pill.status-beta::before{background:var(--coral)}
.pill.status-live::before{background:#7BD88F}
.pill.status-development::before{background:var(--muted)}

/* image boxes */
.art{position:relative;display:block;width:100%;max-width:100%;overflow:hidden;background:var(--tile,var(--ink-3))}
.art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.art .tile{position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 15%,rgba(255,255,255,.14),transparent 55%),radial-gradient(90% 80% at 85% 90%,rgba(0,0,0,.35),transparent 60%),var(--tile,var(--ink-3))}
.art-label{position:absolute;right:8px;bottom:8px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(0,0,0,.35);padding:2px 7px;border-radius:999px}
.vid-badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;padding:4px 9px 4px 7px;border-radius:999px;background:var(--coral);color:var(--ink)}
.vid-badge svg{width:10px;height:10px;fill:currentColor}
.big-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(252,205,107,.95);display:grid;place-items:center}
.big-play svg{width:18px;height:18px;margin-left:3px;fill:var(--ink)}

/* video (click-to-load) */
.video{position:relative;display:block;width:100%;max-width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--tile,var(--ink-2));box-shadow:0 30px 60px -30px var(--shadow)}
.video .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video .play{position:absolute;inset:0;display:grid;place-items:center;text-decoration:none;color:var(--ink)}
.video .play-btn{width:78px;height:78px;border-radius:50%;background:var(--butter);display:grid;place-items:center;transition:transform .2s ease,background .2s ease;box-shadow:0 10px 30px -8px rgba(0,0,0,.6)}
.video .play-btn svg{width:26px;height:26px;margin-left:4px;fill:var(--ink)}
.video .play:hover .play-btn,.video .play:focus-visible .play-btn{transform:scale(1.08);background:var(--butter-lit)}
.video .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;background:linear-gradient(transparent,rgba(17,12,26,.85));font-size:var(--step--1);pointer-events:none}
.video .cap b{font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:-.02em;min-width:0}
.video .cap span{color:var(--muted);white-space:nowrap}
.video .video-mark{position:absolute;left:18px;top:16px;width:46px;pointer-events:none}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video.is-playing .cap,.video.is-playing .video-mark{display:none}
.video.soon .soon-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(33,26,46,.88);border:1.5px dashed var(--butter);color:var(--butter);font-weight:600;padding:10px 18px;border-radius:999px;white-space:nowrap;font-size:.9rem;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis}

/* hero */
.hero{padding-block:clamp(40px,7vw,88px) clamp(40px,6vw,72px)}
.hero .wrap{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.hero h1{font-size:var(--step-4)}
.hero h1 em{font-style:normal;color:var(--coral)}
.hero .ctas{margin-top:6px}
.hero .tick{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:var(--step--1)}
.hero .tick span{width:8px;height:8px;border-radius:50%;background:var(--butter);box-shadow:0 0 0 4px rgba(252,205,107,.18)}
.hero-mark{display:grid;place-items:center}
.hero-mark .mark{width:min(320px,70%)}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr}}

/* shelf */
.shelf{background:var(--ink-2)}
.shelf-row{display:grid;grid-template-columns:repeat(6,1fr);column-gap:22px;row-gap:46px}
.slot{grid-column:span 2;position:relative;display:flex;min-width:0;padding-bottom:12px}
.slot::after{content:"";position:absolute;left:-11px;right:-11px;bottom:-14px;height:14px;background:var(--ink-3);box-shadow:0 12px 18px -8px var(--shadow),inset 0 2px 0 rgba(255,255,255,.07)}
.slot:nth-child(3n+1)::after{left:-8px;border-radius:4px 0 0 4px}
.slot:nth-child(3n)::after,.slot:last-child::after{right:-8px;border-radius:0 4px 4px 0}
/* an unfinished last row widens its cards instead of leaving a gap */
.slot:nth-child(3n+1):nth-last-child(2),.slot:nth-child(3n+1):nth-last-child(2)+.slot{grid-column:span 3}
.slot:nth-child(3n+1):nth-last-child(2) .art,.slot:nth-child(3n+1):nth-last-child(2)+.slot .art{aspect-ratio:2/1}
.slot:nth-child(3n+1):last-child{grid-column:1/-1}
.slot:nth-child(3n+1):last-child .art{aspect-ratio:3/1}
/* "More from the shelf": one compact row of equal cards */
.shelf-more{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.shelf-more .slot,.shelf-more .slot:nth-child(n){grid-column:auto}
.shelf-more .slot .art{aspect-ratio:4/3!important}
.shelf-more .slot::after{left:-11px;right:-11px;border-radius:0}
.shelf-more .slot:first-child::after{left:-8px;border-radius:4px 0 0 4px}
.shelf-more .slot:last-child::after{right:-8px;border-radius:0 4px 4px 0}
@media (max-width:880px){
  .shelf-row{grid-template-columns:1fr 1fr}
  .slot,.slot:nth-child(n){grid-column:auto}
  .slot .art{aspect-ratio:4/3!important}
  .slot::after{left:-11px;right:-11px;border-radius:0}
  .slot:nth-child(odd)::after{left:-8px;border-radius:4px 0 0 4px}
  .slot:nth-child(even)::after,.slot:last-child::after{right:-8px;border-radius:0 4px 4px 0}
  .slot:last-child:nth-child(odd){grid-column:1/-1}
  .slot:last-child:nth-child(odd) .art{aspect-ratio:2/1!important}
}
@media (max-width:540px){
  .shelf-row{grid-template-columns:1fr;row-gap:40px}
  .slot::after{left:-8px!important;right:-8px!important;border-radius:4px!important}
  .slot:last-child:nth-child(odd) .art{aspect-ratio:4/3!important}
  /* keep "More from the shelf" compact on phones */
  .shelf-more{grid-template-columns:1fr 1fr;column-gap:14px;row-gap:34px}
  .shelf-more .slot:last-child:nth-child(odd){grid-column:auto}
  .shelf-more .slot::after{left:-7px!important;right:-7px!important;border-radius:0!important}
  .shelf-more .slot:nth-child(odd)::after{left:-8px!important;border-radius:4px 0 0 4px!important}
  .shelf-more .slot:nth-child(even)::after,.shelf-more .slot:last-child::after{right:-8px!important;border-radius:0 4px 4px 0!important}
  .shelf-more .game-card .blurb,.shelf-more .game-card .tag,.shelf-more .game-card .go{display:none}
  .shelf-more .game-card .body{padding:12px}
  .shelf-more .game-card .h3{font-size:1.1rem}
}
.game-card{display:flex;flex-direction:column;flex:1;background:var(--ink);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:transform .2s ease;min-width:0}
.game-card:hover{transform:translateY(-6px) rotate(-.6deg)}
.game-card .art{aspect-ratio:4/3}
.game-card .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.game-card .h3{font-size:1.5rem}
.game-card .blurb{color:var(--muted);font-size:.92rem;line-height:1.5}
.game-card .meta{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:var(--step--1)}
.game-card .go{color:var(--butter);font-weight:600;white-space:nowrap}

/* latest */
.latest-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}
.post-feature{display:flex;flex-direction:column;gap:16px;text-decoration:none;min-width:0}
.post-feature .art{aspect-ratio:16/9;border-radius:var(--radius)}
.post-feature .h3{font-size:var(--step-3)}
.post-feature .excerpt{color:var(--muted)}
.post-feature:hover .h3{color:var(--butter-lit)}
.post-list{display:flex;flex-direction:column;gap:6px;min-width:0}
.post-row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;text-decoration:none;padding:10px;border-radius:var(--radius);min-width:0}
.post-row:hover{background:var(--ink-2)}
.post-row:hover .h3{color:var(--butter-lit)}
.post-row .art{aspect-ratio:16/10;border-radius:10px}
.post-row .h3{font-size:1.15rem;letter-spacing:-.02em}
.post-row .row-text{min-width:0;display:flex;flex-direction:column;gap:6px}
.post-row .big-play{display:none}
.post-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:var(--step--1);color:var(--muted)}
.post-meta .tag{font-size:.7rem}
@media (max-width:880px){.latest-grid{grid-template-columns:1fr}}
@media (max-width:480px){.post-row{grid-template-columns:110px 1fr;gap:12px;padding:8px 0}}

/* newsletter + patreon */
.join .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.panel{border-radius:20px;padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:14px;min-width:0}
.panel h2{font-size:var(--step-3)}
.panel .lede{font-size:1rem}
.panel-news{background:var(--ink-2)}
.panel-patreon{background:var(--coral);color:var(--ink)}
.panel-patreon .eyebrow{color:var(--ink);opacity:.7}
.panel-patreon p{color:#3b1a14}
.panel-patreon .btn{align-self:start}
.sub-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.sub-form input{flex:1 1 220px;min-width:0;background:var(--ink);color:var(--cream);border:1.5px solid var(--ink-3);border-radius:999px;padding:12px 18px;font:inherit}
.sub-form input::placeholder{color:var(--muted)}
.sub-form input:focus{border-color:var(--butter);outline:none}
.form-note{font-size:var(--step--1);color:var(--muted)}
.form-note.is-error{color:var(--coral-lit)}
@media (max-width:820px){.join .wrap{grid-template-columns:1fr}}

/* footer */
.site-foot{border-top:1px solid var(--ink-3);padding-block:40px max(40px,env(safe-area-inset-bottom,0px));color:var(--muted);font-size:var(--step--1)}
.site-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot-h{margin:0 0 10px;color:var(--cream);font-family:var(--body);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.site-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.site-foot a{text-decoration:none}
.site-foot a:hover{color:var(--cream)}
.site-foot .about{display:flex;flex-direction:column;gap:12px;max-width:30em}
.site-foot .brand{color:var(--cream)}
.site-foot .copy{margin-top:12px}
@media (max-width:820px){.site-foot .wrap{grid-template-columns:1fr 1fr}.site-foot .about{grid-column:1/-1}}

/* game page */
.g-hero{position:relative;overflow:hidden;padding-block:0}
.g-hero .g-hero-art{position:absolute;inset:0;height:100%}
.g-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,26,46,.96) 0%,rgba(33,26,46,.82) 45%,rgba(33,26,46,.2) 100%)}
.g-hero .wrap{position:relative;padding-block:clamp(48px,8vw,104px);display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.g-hero h1{font-size:var(--step-4)}
.g-hero .lede{color:var(--cream);opacity:.88}
@media (max-width:700px){.g-hero .shade{background:linear-gradient(180deg,rgba(33,26,46,.7),rgba(33,26,46,.95))}}
.crumbs{font-size:var(--step--1);color:var(--muted)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--cream)}
.facts{display:flex;gap:8px;flex-wrap:wrap}
.g-body .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,56px);align-items:start}
.g-main{display:flex;flex-direction:column;gap:40px;min-width:0}
.g-main h2{font-size:var(--step-2);margin-bottom:12px}
#promo{scroll-margin-top:100px}
.prose{display:flex;flex-direction:column;gap:14px;max-width:65ch;color:var(--body-text)}
.features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.features li{background:var(--ink-2);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.features b{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:1.05rem}
.features span{color:var(--muted);font-size:.92rem;line-height:1.5}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gallery .shot{display:block;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--ink-2)}
.gallery .shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.gallery .shot:hover img{transform:scale(1.04)}
.g-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px;min-width:0}
.card-side{background:var(--ink-2);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px}
.card-side dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.92rem}
.card-side dt{color:var(--muted)}
.card-side dd{margin:0;text-align:right;font-weight:500}
.side-h{font-family:var(--display);font-size:1.15rem;letter-spacing:-.02em}
.side-p{color:var(--muted);font-size:.92rem}
.ext-note{font-size:.75rem;color:var(--muted)}
@media (max-width:880px){.g-body .wrap{grid-template-columns:1fr}.g-side{position:static}}
@media (max-width:520px){.features{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}}

/* news page */
.page-head{padding-block:clamp(40px,6vw,72px) 8px}
.page-head .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.page-head h1{font-size:var(--step-4)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--ink-2);color:var(--muted);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:500;text-decoration:none}
.chip:hover{color:var(--cream)}
.chip[aria-current]{background:var(--cream);color:var(--ink)}
.news-list{padding-top:28px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}
.news-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;min-width:0}
.news-card .art{aspect-ratio:16/10;border-radius:12px}
.news-card .h3{font-size:1.3rem;letter-spacing:-.02em}
.news-card .excerpt{color:var(--muted);font-size:.94rem}
.news-card:hover .h3{color:var(--butter-lit)}
@media (max-width:880px){.news-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.news-grid{grid-template-columns:1fr}}
.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{padding:8px 14px;border-radius:999px;background:var(--ink-2);text-decoration:none;color:var(--muted);font-weight:500}
.pagination .page-numbers.current{background:var(--cream);color:var(--ink)}
.pagination a.page-numbers:hover{color:var(--cream)}

/* single post / page */
.post-head{padding-block:clamp(40px,6vw,72px) 28px}
.post-head .wrap{max-width:860px;display:flex;flex-direction:column;gap:16px}
.post-head h1{font-size:clamp(2rem,4.4vw,3.4rem)}
.post-media{max-width:1000px;margin:0 auto}
.post-media .art,.post-media .video{aspect-ratio:16/9;border-radius:18px}
.post-body{padding-block:40px 24px}
.post-body .wrap{max-width:720px}
.post-nav-wrap{padding-bottom:clamp(48px,8vw,96px)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px;margin:0 auto}
.post-nav a{background:var(--ink-2);border-radius:var(--radius);padding:16px;text-decoration:none;display:flex;flex-direction:column;gap:4px;min-width:0}
.post-nav a:hover{background:var(--ink-3)}
.post-nav small{color:var(--muted)}
.post-nav b{font-family:var(--display);letter-spacing:-.02em}
.post-nav .next{text-align:right;grid-column:2}
@media (max-width:540px){.post-nav{grid-template-columns:1fr}.post-nav .next{grid-column:auto}}
.post-game{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;background:var(--ink-2);border-radius:var(--radius);padding:14px;margin-top:32px}
.post-game .art{aspect-ratio:4/3;border-radius:10px}
.post-game div{min-width:0;display:flex;flex-direction:column;gap:2px}
.post-game b{font-family:var(--display);font-size:1.2rem;letter-spacing:-.02em}
@media (max-width:540px){.post-game{grid-template-columns:80px 1fr}.post-game .btn{grid-column:1/-1}}

/* editor content */
.entry-content{font-size:1.06rem;color:var(--body-text)}
.entry-content>*+*{margin-top:1.15em}
.entry-content h2{font-size:var(--step-2);color:var(--cream);margin-top:1.6em}
.entry-content h3{font-size:1.25rem;color:var(--cream);margin-top:1.4em}
.entry-content a{color:var(--butter);text-underline-offset:3px}
.entry-content a:hover{color:var(--butter-lit)}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li+li{margin-top:.4em}
.entry-content blockquote,.entry-content .wp-block-quote{margin:1.4em 0;padding:6px 0 6px 18px;border-left:3px solid var(--coral);font-family:var(--display);font-weight:600;font-size:1.3rem;letter-spacing:-.02em;color:var(--cream)}
.entry-content blockquote cite{display:block;margin-top:8px;font-family:var(--body);font-size:.85rem;font-weight:500;color:var(--muted);letter-spacing:0}
.entry-content img{border-radius:12px}
.entry-content figure{margin-left:0;margin-right:0}
.entry-content figcaption{font-size:var(--step--1);color:var(--muted);margin-top:8px}
.entry-content hr{border:0;border-top:1px solid var(--ink-3);margin:2em 0}
.entry-content code{background:var(--ink-2);padding:2px 6px;border-radius:6px;font-size:.92em}
.entry-content pre{background:var(--ink-2);padding:16px;border-radius:12px;overflow-x:auto}
.entry-content .wp-block-embed__wrapper iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:12px}
.entry-content .wp-block-button__link{background:var(--butter);color:var(--ink);border-radius:999px;font-weight:600;text-decoration:none}
.entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border-bottom:1px solid var(--ink-3);padding:8px 10px;text-align:left}

/* legal pages: privacy, terms, delete account */
.legal-head .updated{color:var(--muted);font-size:var(--step--1)}
.legal-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start;padding-block:24px clamp(48px,8vw,96px)}
.legal-shell>:only-child{grid-column:1/-1}
.toc{position:sticky;top:96px;font-size:.9rem}
.toc-label{margin:0 0 10px;color:var(--cream);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:10px;padding:5px 10px;border-radius:8px;color:var(--muted);text-decoration:none}
.toc a::before{content:counter(toc,decimal-leading-zero);color:var(--coral-lit);font-variant-numeric:tabular-nums}
.toc a:hover{background:var(--ink-2);color:var(--cream)}
.legal-body{max-width:68ch;counter-reset:sec}
.legal-body .lede{color:var(--muted);font-size:var(--step-1)}
.legal-body h2{counter-increment:sec;border-top:1px solid var(--ink-3);padding-top:1.4em;margin-top:2em}
.legal-body h2::before{content:counter(sec,decimal-leading-zero);display:block;margin-bottom:6px;font-family:var(--body);font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--coral-lit)}
.legal-body .short{margin-top:.6em;color:var(--muted);font-size:.95rem}
.legal-body .short strong{color:var(--coral-lit);font-weight:600}
.legal-body .emph{background:var(--ink-2);border-left:3px solid var(--butter);border-radius:0 12px 12px 0;padding:16px 18px}
.legal-body .emph strong{color:var(--butter-lit)}
@media (max-width:880px){.legal-shell{grid-template-columns:1fr}.toc{position:static;background:var(--ink-2);border-radius:var(--radius);padding:16px}}

/* account deletion form */
.request-form{background:var(--ink-2);border-radius:var(--radius);padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:20px;font-size:1rem}
.request-form .field{margin:0;border:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:6px}
.request-form .field>label,.request-form legend{font-weight:600;color:var(--cream);padding:0}
.request-form legend{margin-bottom:6px}
.request-form .req{color:var(--coral-lit)}
.request-form .hint{font-size:var(--step--1);color:var(--muted)}
.request-form input[type=text],.request-form input[type=email],.request-form select,.request-form textarea{width:100%;background:var(--ink);color:var(--cream);border:1.5px solid var(--ink-3);border-radius:10px;padding:11px 14px;font:inherit}
.request-form textarea{resize:vertical;min-height:100px}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--butter);outline:none}
.request-form .choice{display:flex;gap:10px;align-items:flex-start;color:var(--body-text);cursor:pointer}
.request-form .choice+.choice{margin-top:8px}
.request-form .choice input{margin:5px 0 0;accent-color:var(--coral);flex:0 0 auto}
.request-form .choice strong{color:var(--cream)}
.request-form .btn{align-self:start}
.request-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{border-radius:12px;padding:14px 16px;font-weight:500}
.form-status.ok{background:rgba(252,205,107,.14);border:1px solid var(--butter);color:var(--cream-pale)}
.form-status.err{background:rgba(253,113,89,.14);border:1px solid var(--coral);color:var(--coral-lit)}

/* 404 */
.not-found{padding-bottom:clamp(48px,8vw,96px)}
.not-found .nf-mark{width:96px;transform:rotate(-8deg)}

/* lightbox */
.lightbox{border:0;padding:0;background:transparent;max-width:min(1200px,94vw);max-height:90vh}
.lightbox::backdrop{background:rgba(14,10,22,.9)}
.lightbox img{display:block;max-width:100%;max-height:84vh;width:auto;height:auto;border-radius:12px}
.lightbox form{text-align:right;margin-top:10px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
