/* CHESS.COM.GE premium theme: deep emerald and forest surfaces, ivory type, champagne-gold accents.
   Loaded after the base sheets and replaces graphite-theme.css. Most of the platform follows the
   tokens below; the rules after them cover surfaces that the base and module sheets colour directly.
   Typography stays Noto Sans Georgian (self-hosted, SIL OFL). */

/* ---------- Tokens ---------- */
:root{
  --pm-ease:cubic-bezier(.2,.75,.25,1);--pm-ease-out:cubic-bezier(.16,1,.3,1);
  --pm-fast:.14s;--pm-base:.24s;--pm-slow:.42s;
  --pm-gold:#dcc28b;--pm-gold-strong:#efd9a6;--pm-gold-deep:#b8955a;--pm-on-gold:#13221b;
  --pm-emerald:#1f7a57;--pm-emerald-bright:#3fbf8e;--pm-ivory:#f5efe2;
  --bg:#f5f1e8;--surface:#fffdf8;--surface-alt:#f0eadc;--sidebar:#fbf8f1;--text:#132a20;--muted:#5d6b62;
  --line:#e2dac8;--border:#e2dac8;--green:#17694f;--accent:#17694f;--green-soft:#e5efe6;--gold:#a8834a;
  --shadow:0 20px 44px -30px rgba(23,44,33,.38);
  --pm-hairline:rgba(122,96,48,.18);--pm-hairline-strong:rgba(23,105,79,.38);
  --pm-card:linear-gradient(180deg,#fffdf8,#fbf6ea);--pm-card-solid:#fffdf8;
  --pm-focus:#17694f;--pm-link:#17694f;
}
:root[data-theme='dark'],html[data-theme='dark'] body.navigation-preview{
  --bg:#07120e;--surface:#0e1d17;--surface-alt:#132820;--sidebar:#091611;--text:#f3ecdc;--muted:#a3b1a4;
  --line:#1d3328;--border:#1d3328;--green:#dcc28b;--accent:#dcc28b;--green-soft:rgba(220,194,139,.12);--gold:#dcc28b;
  --hero:#0b1a14;--hero-ink:#f5efe2;--shadow:0 24px 50px -30px rgba(0,0,0,.9);
  --st-ink:#f3ecdc;--st-muted:#a3b1a4;--st-line:#1d3328;--brand:#dcc28b;--background:#07120e;accent-color:#dcc28b;
  --pm-hairline:rgba(220,194,139,.14);--pm-hairline-strong:rgba(220,194,139,.42);
  --pm-card:linear-gradient(180deg,rgba(24,47,37,.92),rgba(13,28,22,.92));--pm-card-solid:#0f2019;
  --pm-focus:#ecd49b;--pm-link:#e6cd95;
}
/* Module roots set their own palette; they follow the theme too. */
html[data-theme='dark'] .navigation-preview #main :is(.lichess-puzzles,.rush-page,.studio,.ch-app){--bg:#07120e;--surface:#0e1d17;--surface-alt:#132820;--text:#f3ecdc;--muted:#a3b1a4;--border:#1d3328;--green:#dcc28b;--accent:#dcc28b;--st-ink:#f3ecdc;--st-muted:#a3b1a4;--st-line:#1d3328}
html[data-theme='dark'] body :is(.studio-workbench,.sw-vars){--sw-page:#07120e;--sw-surface:#0e1d17;--sw-soft:#11241c;--sw-sunken:#0a1712;--sw-field:#0a1712;--sw-line:#203a2d;--sw-row:#132820;--sw-hover:#173126;--sw-text:#f0e9d8;--sw-muted:#a3b1a4;--sw-accent:#dcc28b;--sw-on-accent:#13221b;--sw-link:#e6cd95;--sw-comment:#d9c697;--sw-note:#12251c;--sw-note-line:#8a7444;--sw-chip:#12251c;--sw-chip-text:#e6cd95;--sw-black:#050d0a;--sw-mark:#132820;--sw-mark-text:#f0e9d8}

/* ---------- Base ---------- */
body{background:radial-gradient(1100px 520px at 82% -8%,rgba(31,122,87,.08),transparent 62%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[data-theme='dark'] body{background:radial-gradient(1100px 560px at 82% -8%,rgba(31,122,87,.17),transparent 62%),radial-gradient(800px 480px at -6% 24%,rgba(220,194,139,.05),transparent 60%),var(--bg)}
::selection{background:rgba(220,194,139,.34)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--pm-focus);outline-offset:2px}
html{scrollbar-color:color-mix(in srgb,var(--pm-gold-deep) 55%,transparent) transparent}
:is(h1,h2,h3){text-wrap:balance}
.page-heading h1{font-weight:780}
.eyebrow{letter-spacing:.09em}
html[data-theme='dark'] .navigation-preview :is(.section-link,.eyebrow,.ch-text-button,.studio-text-button){color:var(--pm-link)}
.section-title{letter-spacing:-.01em;font-weight:760}
.section-link{transition:color var(--pm-fast),gap var(--pm-base) var(--pm-ease)}
.section-link:hover{gap:11px}

/* ---------- Shell ---------- */
.sidebar{background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 88%,var(--green-soft)));border-right-color:var(--pm-hairline)}
html[data-theme='dark'] .sidebar{background:linear-gradient(180deg,#0a1813,#07120e 70%);border-color:var(--pm-hairline)}
.brand-mark{color:var(--pm-emerald)!important;text-shadow:0 6px 18px rgba(31,122,87,.35)}
html[data-theme='dark'] .brand-mark{color:var(--pm-emerald-bright)!important;text-shadow:0 0 22px rgba(63,191,142,.35)}
.topbar{background:color-mix(in srgb,var(--surface) 86%,transparent);border-bottom-color:var(--pm-hairline)}
html[data-theme='dark'] .topbar{background:linear-gradient(180deg,rgba(11,25,19,.92),rgba(8,19,15,.86));border-bottom-color:var(--pm-hairline)}
.nav-list>.nav-item,.nav-group>summary{background:var(--pm-card-solid);border:1px solid var(--pm-hairline);border-radius:12px;box-shadow:none;transition:background var(--pm-base),border-color var(--pm-base),color var(--pm-base),box-shadow var(--pm-base)}
html[data-theme='dark'] .nav-list>.nav-item,html[data-theme='dark'] .nav-group>summary{background:rgba(19,40,32,.55);color:var(--text);border:1px solid var(--pm-hairline);box-shadow:none}
.nav-list>.nav-item:hover,.nav-group>summary:hover{background:color-mix(in srgb,var(--green-soft) 70%,var(--pm-card-solid));border-color:var(--pm-hairline-strong)}
html[data-theme='dark'] .nav-list>.nav-item:hover,html[data-theme='dark'] .nav-group>summary:hover{background:rgba(31,122,87,.16);border-color:rgba(220,194,139,.26)}
.navigation-preview .nav-list>.nav-item.active,.navigation-preview .nav-group.has-active>summary,.navigation-preview .nav-group[open]>summary{background:linear-gradient(90deg,rgba(23,105,79,.13),rgba(23,105,79,.03));border-color:rgba(23,105,79,.42);color:#0f4d39;box-shadow:inset 3px 0 0 var(--green)}
html[data-theme='dark'] .navigation-preview .nav-list>.nav-item.active,html[data-theme='dark'] .navigation-preview .nav-group.has-active>summary,html[data-theme='dark'] .navigation-preview .nav-group[open]>summary{background:linear-gradient(90deg,rgba(220,194,139,.16),rgba(220,194,139,.03));border-color:rgba(220,194,139,.46);color:#f7ebcd;box-shadow:inset 3px 0 0 var(--pm-gold)}
html[data-theme='dark'] .nav-group.has-active>summary .nav-chevron,html[data-theme='dark'] .nav-group[open]>summary .nav-chevron{color:var(--pm-gold)}
.navigation-preview .nav-children .nav-item.active{background:var(--green-soft);color:var(--green);border-left:2px solid var(--green)}
html[data-theme='dark'] .navigation-preview .nav-children .nav-item.active{background:rgba(220,194,139,.09);color:#f0d9a3;border-left:2px solid var(--pm-gold)}
html[data-theme='dark'] .nav-children{border-color:var(--pm-hairline)}
html[data-theme='dark'] .nav-children .nav-item:hover{background:rgba(31,122,87,.14)}
html[data-theme='dark'] .preview-label{color:#f0d9a3;background:rgba(220,194,139,.1);border-color:rgba(220,194,139,.28)}
.page-footer{border-top-color:var(--pm-hairline)}

/* ---------- Components ---------- */
.btn{border-radius:12px;transition:background var(--pm-base),border-color var(--pm-base),color var(--pm-base),box-shadow var(--pm-base),transform var(--pm-fast) var(--pm-ease)}
.btn:active{transform:translateY(1px)}
.navigation-preview :is(.btn.primary,.studio-primary,.chip.active),.navigation-preview .rush-start.primary{background:linear-gradient(180deg,#1f8a65,#17694f);border-color:#17694f;color:#fffaf0;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 22px -14px rgba(23,105,79,.8);font-weight:720}
.navigation-preview :is(.btn.primary,.studio-primary):hover{background:linear-gradient(180deg,#23966e,#1a7457);border-color:#1a7457}
html[data-theme='dark'] .navigation-preview :is(.btn.primary,.studio-primary,.chip.active),html[data-theme='dark'] .navigation-preview .rush-start.primary{background:linear-gradient(180deg,var(--pm-gold-strong),#cfae6c);border-color:#e3c98f;color:var(--pm-on-gold);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 12px 26px -14px rgba(220,194,139,.7);font-weight:740}
html[data-theme='dark'] .navigation-preview :is(.btn.primary,.studio-primary):hover{background:linear-gradient(180deg,#f6e3b6,#d8b878);border-color:#f0dcab}
html[data-theme='dark'] .navigation-preview :is(.btn.primary,.studio-primary):active{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 12px -8px rgba(220,194,139,.7)}
.btn.secondary{background:var(--pm-card-solid);border-color:color-mix(in srgb,var(--pm-gold-deep) 30%,var(--line))}
.btn.secondary:hover{border-color:var(--pm-hairline-strong)}
html[data-theme='dark'] :is(.btn.secondary,.studio-button){background:rgba(19,40,32,.62);border-color:rgba(220,194,139,.24);color:var(--text);box-shadow:none}
html[data-theme='dark'] :is(.btn.secondary,.studio-button):hover{background:rgba(31,122,87,.2);border-color:rgba(220,194,139,.42)}
html[data-theme='dark'] :is(.brain-games button,.brain-panel,.rush-panel,.lichess-panel,.account-panel,.sidebar-callout,.updates-dialog article){background:var(--pm-card-solid);border-color:var(--pm-hairline);color:var(--text)}
:is(.quote-card,.feature-card,.book-card,.panel,.route-card){border-color:var(--pm-hairline);box-shadow:var(--shadow)}
html[data-theme='dark'] :is(.quote-card,.feature-card,.book-card,.panel,.route-card,.updates-dialog,.brain-finish){background:var(--pm-card);border-color:var(--pm-hairline)}
:is(.feature-card,.route-card,.book-card){transition:border-color var(--pm-base),box-shadow var(--pm-slow) var(--pm-ease),transform var(--pm-slow) var(--pm-ease-out)}
@media(hover:hover){:is(.feature-card,.route-card,.book-card):hover{border-color:var(--pm-hairline-strong);transform:translateY(-3px);box-shadow:0 26px 48px -30px rgba(0,0,0,.55)}}
html[data-theme='dark'] .hero{background:#0b1a14;border-color:var(--pm-hairline)}
html[data-theme='dark'] .hero-copy em{color:var(--pm-gold)}
html[data-theme='dark'] .brain-games button[aria-pressed=true]{background:rgba(220,194,139,.08);border-color:var(--pm-gold);box-shadow:inset 0 0 0 1px rgba(220,194,139,.25)}
html[data-theme='dark'] :is(.brain-large-icon,.brain-benefits span){background:rgba(220,194,139,.06);border-color:rgba(220,194,139,.22)}
html[data-theme='dark'] .brain-prompt:not(.is-error){background:rgba(220,194,139,.06);border-color:rgba(220,194,139,.3)}
html[data-theme='dark'] .navigation-preview .rush-modes button[aria-pressed=true]{background:rgba(220,194,139,.1);border-color:var(--pm-gold);color:#f0d9a3}
html[data-theme='dark'] :is(.analysis-tabs [aria-selected=true],.analysis-moves .active,.analysis-controls button.active){background:var(--pm-gold);color:var(--pm-on-gold);border-color:var(--pm-gold)}
html[data-theme='dark'] .updates-tabs [aria-selected=true]{background:#0b1813;border-color:var(--pm-gold);box-shadow:inset 0 -3px var(--pm-gold);color:#fff}
html[data-theme='dark'] .day-streak{background:#08140f;border-color:var(--pm-hairline);box-shadow:inset 0 2px 5px rgba(0,0,0,.45)}
:is(input,select,textarea){transition:border-color var(--pm-fast),box-shadow var(--pm-fast)}
html[data-theme='dark'] :is(input,select,textarea){color:var(--text);background-color:#0a1712;border-color:#25402f}
:is(input,select,textarea):focus-visible{border-color:var(--pm-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--pm-focus) 22%,transparent)}
html[data-theme='dark'] :is(.brain-best strong,.brain-score,.brain-leaderboard td:last-child){color:var(--pm-gold)}
html[data-theme='dark'] .brain-page .square-rush-feedback.correct{color:#65ce9b}
html[data-theme='dark'] .brain-memory-play,html[data-theme='dark'] .brain-knight-play{background-color:#07120e}
html[data-theme='dark'] .studio-promotion{background:var(--pm-card-solid);color:var(--text);border-color:var(--pm-hairline)}
html[data-theme='dark'] .studio-promotion-choice{background:#0a1712;color:var(--text);border-color:#25402f}
html[data-theme='dark'] .studio-promotion-choice:hover,html[data-theme='dark'] .studio-promotion-choice:focus-visible{background:rgba(220,194,139,.1);border-color:var(--pm-gold);outline-color:var(--pm-gold)}
html[data-theme='dark'] .navigation-preview .lichess-tags span{background:rgba(220,194,139,.1);color:#ecd49b}
html[data-theme='dark'] .notice{background:#16241b;border-color:#3d4a32;color:#e7d6ab}

/* ---------- Boards: a little depth around every board surface ---------- */
.studio-board-frame .studio-board{border-radius:8px;box-shadow:0 1px 0 rgba(255,255,255,.06),0 26px 50px -26px rgba(0,0,0,.65),0 0 0 1px rgba(122,96,48,.18)}
html[data-theme='dark'] .studio-board-frame .studio-board{box-shadow:0 1px 0 rgba(255,255,255,.05),0 30px 60px -28px rgba(0,0,0,.95),0 0 0 1px rgba(220,194,139,.2)}

/* ---------- Home: hero ---------- */
.pm-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:clamp(540px,72vh,740px);margin:0 0 24px;border-radius:28px;overflow:hidden;isolation:isolate;color:var(--pm-ivory);background:radial-gradient(900px 560px at 74% 40%,rgba(31,122,87,.3),transparent 62%),radial-gradient(600px 420px at 6% 100%,rgba(220,194,139,.1),transparent 62%),linear-gradient(160deg,#0c1c16,#07120e 55%,#050d0a);border:1px solid rgba(220,194,139,.18);box-shadow:0 44px 90px -54px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.05)}
.pm-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,15,11,.94) 0%,rgba(6,15,11,.72) 30%,rgba(6,15,11,.12) 56%,rgba(6,15,11,0) 70%)}
.pm-hero::after{content:'';position:absolute;inset:auto 0 0;height:30%;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(5,13,10,.55),transparent)}
.pm-stage{position:absolute;inset:0 0 0 36%;z-index:0}
.pm-stage-still,.pm-stage-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pm-stage-still{transition:opacity 1.1s var(--pm-ease)}
.pm-stage-canvas{opacity:0;transition:opacity 1.3s var(--pm-ease)}
.pm-stage.is-live .pm-stage-canvas{opacity:1}
.pm-stage.is-live .pm-stage-still{opacity:0}
.pm-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;max-width:min(640px,58%);padding:clamp(30px,4.6vw,76px)}
.pm-kicker{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 9px;border-radius:999px;border:1px solid rgba(220,194,139,.26);background:rgba(255,255,255,.035);color:#ead5a2;font-size:13px;font-weight:650;letter-spacing:.02em;backdrop-filter:blur(6px)}
.pm-kicker>span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3fbf8e,#176b52 70%);color:#f7f1e3;font-family:'Segoe UI Symbol',Georgia,serif;font-size:17px;box-shadow:0 0 18px rgba(63,191,142,.35)}
.pm-hero-title{margin:0;font-size:clamp(34px,4.3vw,64px);line-height:1.12;font-weight:800;letter-spacing:-.012em;color:var(--pm-ivory);text-wrap:balance}
.pm-word{display:inline-block}
.pm-word.is-accent{background:linear-gradient(100deg,#f6e3b4,#dcc28b 45%,#b8955a);-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-motto{margin:0;font-size:clamp(18px,1.7vw,23px);font-weight:650;letter-spacing:.01em;color:#ead5a2}
.pm-lead{margin:0;max-width:30em;font-size:16px;line-height:1.75;color:rgba(245,239,226,.74)}
.pm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.pm-actions .btn{min-height:52px;padding:12px 22px;border-radius:14px;font-size:15px}
.pm-hero .pm-actions .btn.primary{background:linear-gradient(180deg,var(--pm-gold-strong),#cfae6c);border-color:#e3c98f;color:var(--pm-on-gold);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 16px 32px -16px rgba(220,194,139,.75);font-weight:760}
.pm-hero .pm-actions .btn.primary:hover{background:linear-gradient(180deg,#f8e8c0,#d8b878)}
.pm-hero .pm-actions .btn.secondary{background:rgba(255,255,255,.045);border-color:rgba(220,194,139,.3);color:var(--pm-ivory);backdrop-filter:blur(8px)}
.pm-hero .pm-actions .btn.secondary:hover{background:rgba(220,194,139,.1);border-color:rgba(220,194,139,.55)}
.pm-hero .btn:focus-visible{outline-color:#efd9a6}
.pm-stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none}
.pm-stats li{display:grid;gap:1px;min-width:118px;padding:11px 16px;border-radius:14px;border:1px solid rgba(220,194,139,.18);background:rgba(10,24,18,.55);backdrop-filter:blur(8px)}
.pm-stats strong{font-size:22px;line-height:1.3;color:#efd9a6;font-weight:780}
.pm-stats span{font-size:12px;color:rgba(245,239,226,.66)}
@media(prefers-reduced-motion:no-preference){
  .pm-word{animation:pm-word .95s var(--pm-ease-out) backwards;animation-delay:calc(var(--i,0)*85ms + 60ms)}
  .pm-kicker,.pm-motto,.pm-lead,.pm-actions,.pm-stats{animation:pm-rise .9s var(--pm-ease-out) backwards}
  .pm-motto{animation-delay:.42s}.pm-lead{animation-delay:.5s}.pm-actions{animation-delay:.58s}.pm-stats{animation-delay:.68s}
  .pm-stage-still{animation:pm-still 1.4s var(--pm-ease-out) backwards}
}
@keyframes pm-word{from{opacity:.001;transform:translateY(.42em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes pm-rise{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pm-still{from{opacity:.001;transform:scale(1.04)}to{opacity:1;transform:none}}
@keyframes pm-fade{from{opacity:.001}to{opacity:1}}
@media(forced-colors:active){.pm-word.is-accent{background:none;color:CanvasText}}

/* ---------- Home: quote, bento and section motion ---------- */
.pm-quote{margin:0 0 8px}
.pm-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 30px}
.pm-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:24px;border-radius:20px;background:var(--pm-card);border:1px solid var(--pm-hairline);box-shadow:var(--shadow);overflow:hidden;isolation:isolate;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:transform .55s var(--pm-ease-out),border-color var(--pm-base),box-shadow var(--pm-slow) var(--pm-ease)}
.pm-card::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity var(--pm-slow);background:radial-gradient(460px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--pm-gold) 16%,transparent),transparent 46%)}
.pm-card h3{margin:2px 0 0;font-size:19px;line-height:1.35;font-weight:760}
.pm-card p{margin:0;color:var(--muted);line-height:1.7;font-size:14.5px}
.pm-card .feature-icon{margin-bottom:6px}
.pm-card .eyebrow{margin:0}
.pm-card .section-link{margin-top:auto;padding-top:10px}
@media(hover:hover){.pm-card:hover{--lift:-4px;border-color:var(--pm-hairline-strong);box-shadow:0 34px 60px -34px rgba(0,0,0,.6)}.pm-card:hover::after{opacity:1}}
.pm-card:focus-within{border-color:var(--pm-hairline-strong)}
.pm-card-puzzles{grid-column:span 2;grid-row:span 2;justify-content:space-between;gap:22px;padding:30px}
.pm-card-puzzles .pm-card-text{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.pm-card-puzzles h3{font-size:clamp(22px,1.9vw,27px)}
.pm-card-puzzles p{max-width:34em}
.pm-card-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:10px}
.pm-card-links .section-link{margin:0;padding:0}
.pm-card-play,.pm-card-library,.pm-card-studio{grid-column:span 2}
.pm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}
.pm-chips a{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 14px;border-radius:999px;border:1px solid var(--pm-hairline);background:color-mix(in srgb,var(--surface-alt) 60%,transparent);color:var(--text);font-size:13.5px;font-weight:650;transition:border-color var(--pm-base),background var(--pm-base)}
.pm-chips a:hover{border-color:var(--pm-hairline-strong);background:var(--green-soft)}
.pm-mini-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;width:min(100%,340px);align-self:center;border-radius:12px;overflow:hidden;box-shadow:0 30px 50px -26px rgba(0,0,0,.8),0 0 0 1px rgba(220,194,139,.28);transform:perspective(900px) rotateX(16deg) rotateZ(-3deg);transition:transform .8s var(--pm-ease-out)}
@media(hover:hover){.pm-card-puzzles:hover .pm-mini-board{transform:perspective(900px) rotateX(6deg) rotateZ(-1deg) translateY(-4px)}}
.pm-mini-board span{position:relative;display:grid;place-items:center;background:#e8dfc8}
.pm-mini-board span.is-dark{background:#3f7a5f}
.pm-mini-board span.is-from{box-shadow:inset 0 0 0 100px rgba(220,194,139,.35)}
.pm-mini-board span.is-to::after{content:'';position:absolute;inset:14%;border-radius:50%;border:2px solid #b8955a;box-shadow:0 0 0 3px rgba(220,194,139,.35);animation:pm-pulse 2.6s var(--pm-ease) infinite}
.pm-mini-board img{width:86%;height:86%;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35))}
@keyframes pm-pulse{0%,100%{transform:scale(.92);opacity:.75}50%{transform:scale(1);opacity:1}}
.pm-reveal:not(.is-in){opacity:.001;transform:translateY(26px)}
.pm-reveal.is-in{animation:pm-rise .85s var(--pm-ease-out) var(--pm-delay,0ms) backwards}
.page.pm-enter{animation:pm-fade .32s var(--pm-ease) backwards}
@media(prefers-reduced-motion:reduce){.pm-card,.pm-mini-board,.section-link,:is(.feature-card,.route-card,.book-card){transition:none}.pm-mini-board span.is-to::after{animation:none}.page.pm-enter{animation:none}}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .pm-hero-copy{max-width:min(620px,66%)}
  .pm-stage{inset:0 0 0 40%}
  .pm-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-card-puzzles{grid-row:auto}
}
@media(max-width:760px){
  .pm-hero{display:flex;flex-direction:column;min-height:0;border-radius:22px;margin-bottom:18px}
  .pm-stage{position:relative;inset:auto;order:-1;height:clamp(250px,74vw,380px);flex:none}
  .pm-hero::before,.pm-hero::after{display:none}
  .pm-stage::after{content:'';position:absolute;inset:auto 0 0;height:46%;pointer-events:none;background:linear-gradient(180deg,rgba(6,15,11,0),#07120e 92%)}
  .pm-hero-copy{max-width:none;margin-top:-42px;padding:0 20px 24px;gap:14px}
  .pm-hero-title{font-size:clamp(31px,9vw,42px)}
  .pm-lead{font-size:15px}
  .pm-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .pm-actions .btn{min-height:50px;padding:11px 12px;font-size:14px}
  .pm-actions .btn.primary{grid-column:1/-1}
  .pm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}
  .pm-stats li{min-width:0;padding:9px 10px}
  .pm-stats strong{font-size:18px}
  .pm-bento{grid-template-columns:minmax(0,1fr);gap:12px}
  .pm-card,.pm-card-puzzles,.pm-card-play,.pm-card-library,.pm-card-studio{grid-column:auto;grid-row:auto}
  .pm-card-puzzles{padding:22px}
  .pm-card{padding:20px;border-radius:18px}
  .pm-mini-board{width:min(100%,300px);transform:perspective(900px) rotateX(10deg)}
}
@media(max-width:420px){.pm-actions{grid-template-columns:minmax(0,1fr)}}
