/* Shared presentation only. Boards, timers, saved progress and access stay owned by each game. */
.pgs-root,.gc-menu,.free-play-intro,.mw-arcade-shell{--gd-deep:var(--bl-deep-plum,#37324f);--gd-teal:var(--bl-teal,#116b66);--gd-blue:var(--bl-blue,#315da3);--gd-plum:var(--bl-plum,#684879);--gd-mint:var(--bl-mint,#e1f1ec);--gd-sky:var(--bl-sky,#deebfc);--gd-lilac:var(--bl-lavender,#eee7f4);--gd-white:var(--bl-white,#fff);--gd-ink:var(--bl-ink,#1a1a1a);--gd-body:var(--bl-body,#555);--gd-ui:'Nunito Sans',system-ui,sans-serif;--gd-meta:13px;--gd-copy:14px;--gd-title:clamp(28px,3vw,36px);--gd-radius:20px;--gd-duration:180ms;--gd-ease:cubic-bezier(.2,.8,.2,1)}
.pgs-root--menu,.pgs-root--over{min-height:0}
.pgs-root--menu .pgs-scroll,.pgs-root--over .pgs-scroll{overflow:visible}
.pgs-root .pgs-back{min-height:44px;margin-bottom:12px;background:var(--gd-deep);color:var(--gd-white);box-shadow:none}
.gc-menu .gc-menu-grid{gap:16px;align-items:start}
.gc-menu .gc-menu-hero{position:relative;min-height:152px;padding:24px 120px 24px 24px;background:var(--gd-deep);box-shadow:none;overflow:hidden}
.gc-menu .gc-eyebrow{color:var(--gd-mint);font-size:var(--gd-meta)}
.gc-menu .gc-title{font-size:var(--gd-title);color:var(--gd-white);text-wrap:balance}
.gc-menu .gc-sub{font-size:var(--gd-copy);line-height:1.6;color:var(--gd-mint)}
.gd-menu-art{position:absolute;right:24px;top:24px;width:72px;height:72px;border-radius:16px;background:var(--gd-white);overflow:hidden;transform:rotate(3deg)}
.gd-menu-art svg{display:block;width:100%;height:100%}
.gd-menu-art svg>rect:first-child{fill:var(--gd-white)}
.arcade-player .arcade-launch-copy{padding:24px;background:var(--gd-deep);color:var(--gd-white)}
.arcade-player .arcade-launch :is(h1,.arcade-launch-copy>p:first-child){color:var(--gd-white)}
.arcade-player .arcade-launch :is(.arcade-launch-description,.arcade-launch-meta){color:var(--gd-mint)}
.arcade-player .arcade-launch .gc-btn-primary{background:var(--gd-mint);color:var(--gd-teal)}
.arcade-player .arcade-launch summary{color:var(--gd-mint)}
.arcade-player .arcade-launch-art{padding:24px}
.arcade-player .arcade-launch-levels .gc-level-btn{background:var(--gd-sky)}
.imported-game,.mm-library,.grammar-quest{--gd-deep:var(--bl-deep-plum,#37324f);--gd-mint:var(--bl-mint,#e1f1ec);--gd-white:var(--bl-white,#fff)}
.imported-game>header{padding:16px;background:var(--gd-deep);color:var(--gd-white);border-radius:20px;margin-bottom:12px}
.imported-game>header a{padding:8px 16px;background:var(--gd-mint);color:var(--gd-deep);border-radius:100px;text-decoration:none}
.imported-game>header :is(h1,span){color:var(--gd-white)}
.mm-library .mm-library-hero{background:var(--gd-deep);color:var(--gd-white)}
.mm-library .mm-library-hero h1{color:var(--gd-white)}
.mm-library .mm-library-meta{color:var(--gd-mint)}
.grammar-quest>header{padding:20px 24px;background:var(--gd-deep);color:var(--gd-white);border-radius:20px}
.grammar-quest>header :is(h1,p){color:var(--gd-white)}
.grammar-quest>a:first-child,.mm-library>a.mm-library-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;padding:8px 16px;border-radius:100px;background:var(--gd-deep);color:var(--gd-white);font-size:13px;font-weight:800;text-decoration:none}
.gc-menu .gd-instructions{margin-top:12px;padding:0 16px;background:var(--gd-mint);border-radius:16px}
.gd-instructions summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;font:800 var(--gd-copy)/1.4 var(--gd-ui);color:var(--gd-teal);cursor:pointer;list-style:none}
.gd-instructions summary::after{content:'+';font-size:20px}
.gd-instructions[open] summary::after{content:'−'}
.gd-instructions summary::-webkit-details-marker{display:none}
.gd-instructions .gc-howto-label{display:none}
.gd-instructions .gc-howto-list{padding-bottom:16px;gap:12px}
.gd-instructions .gc-howto-step{color:var(--gd-ink);font-size:var(--gd-copy)}
.gd-instructions .gc-howto-num{background:var(--gd-teal);color:var(--gd-white)}
.gc-menu .gc-picker:has(>.gc-level-btn){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;overflow:visible}
.gc-menu .gc-level-btn{position:relative;min-height:88px;height:auto;padding:16px 32px 16px 16px;background:var(--gd-mint);box-shadow:none;transition:transform var(--gd-duration) var(--gd-ease),background-color var(--gd-duration)}
.gc-menu .gc-level-btn:nth-child(3n+2){background:var(--gd-sky)}
.gc-menu .gc-level-btn:nth-child(3n){background:var(--gd-lilac)}
.gc-menu .gc-level-btn::after{content:'↗';position:absolute;right:12px;top:16px;color:var(--gd-teal);font-size:16px;font-weight:800}
.gc-menu .gc-level-btn:hover:not(:disabled){background:var(--gd-white);box-shadow:0 4px 16px #1a1a1a12;transform:translateY(-2px)}
.gc-menu .gc-level-btn-title{font-size:16px;line-height:1.3;color:var(--gd-ink)}
.gc-menu .gc-level-btn-sub{font-size:var(--gd-meta);line-height:1.45;color:var(--gd-body);white-space:normal}
.gc-menu .gc-btn-primary,.pgs-root .pgs-btn-play{background:var(--gd-teal);color:var(--gd-white);box-shadow:none}
.gc-menu .gc-btn-ghost{background:var(--gd-sky);color:var(--gd-blue)}
.pgs-root .gc-over{background:var(--gd-mint);padding:24px;box-shadow:none}
.pgs-root .gc-stat{background:var(--gd-white)}
.pgs-root .gc-stat-lbl{color:var(--gd-body)}
.pgs-root .gc-voice-btn{width:44px;height:44px;background:var(--gd-sky);color:var(--gd-blue)}
.pgs-root :is(.pgs-back,.gc-level-btn,.gc-btn-primary,.gc-btn-accent,.gc-btn-ghost,.gc-voice-btn,.gd-instructions summary):focus-visible{outline:3px solid var(--gd-blue);outline-offset:4px}
.free-play.free-play-intro{max-width:720px;margin:16px auto;padding:24px;gap:12px;background:var(--gd-deep);color:var(--gd-white);font-size:15px;line-height:1.6}
.free-play.free-play-intro .free-play-label{color:var(--gd-mint)}
.free-play.free-play-intro h1{font-size:clamp(28px,4vw,36px);color:var(--gd-white)}
.free-play.free-play-intro :is(button,a.free-play-button){background:var(--gd-mint);color:var(--gd-teal)}
.free-play.free-play-intro :is(button,a):focus-visible{outline-color:var(--gd-mint)}
.free-play.free-play-intro>p:empty{display:none}
.mw-arcade-shell .mw-arcade-back{min-height:44px;background:var(--gd-deep);color:var(--gd-white);border:0;box-shadow:none}
.mw-arcade-shell--intro .mw-arcade-intro{background:var(--gd-mint);box-shadow:none}
.mw-arcade-shell--intro .mw-arcade-intro>h1{color:var(--gd-deep)}
.mw-arcade-shell--intro .mw-arcade-intro>p:not(.mw-arcade-eyebrow){color:var(--gd-body)}
.mw-arcade-shell--intro .mw-arcade-eyebrow{color:var(--gd-teal)}
.mw-arcade-shell .mw-arcade-primary{background:var(--gd-teal);color:var(--gd-white)}
.catalogue-result-line{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:-4px 0 16px;font:600 13px/1.5 'Nunito Sans',sans-serif;color:var(--ce-mint)}
.catalogue-result-line p{margin:0}
.catalogue-result-line span{color:var(--ce-paper)}
.catalogue-browser .catalogue-original a.portal-game-tile>div:first-child>span{position:static;display:inline-flex;width:max-content;max-width:100%;margin:0 0 8px;padding:0;background:transparent;box-shadow:none;color:var(--ce-teal);font-size:13px;letter-spacing:.02em;white-space:normal}
.catalogue-browser .catalogue-load-more{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%;min-height:48px;margin-top:16px;padding:12px 20px;border:0;border-radius:100px;background:var(--ce-lilac);color:var(--ce-deep);font:800 14px/1.4 'Nunito Sans',sans-serif;cursor:pointer}
.catalogue-load-more span{font-size:13px;font-weight:600}
@media(min-width:768px){.gc-menu .gc-menu-grid{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}}
@media(max-width:600px){.gc-menu .gc-menu-hero{min-height:136px;padding:20px 96px 20px 20px}.gd-menu-art{width:56px;height:56px;right:20px;top:20px;border-radius:12px}.gc-menu .gc-menu-grid{gap:12px}.gc-menu .gc-level-btn{min-height:96px;padding:12px 24px 12px 12px}.gc-menu .gc-level-btn::after{right:8px;top:12px}.gc-menu .gc-level-btn-title{font-size:15px}.gc-menu .gc-picker:has(>.gc-level-btn){gap:8px}.free-play.free-play-intro{margin:8px auto;padding:20px}.catalogue-result-line{display:block}.catalogue-result-line span{display:block;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.gc-menu .gc-level-btn,.pgs-root .pgs-back{transition:none}.gc-menu .gc-level-btn:hover{transform:none}}
