/* Ludia: bright game surfaces, quiet readable controls, no required animation. */
/* Ludia comparte paleta con styles.css (assets/css/styles.css). Estos
   tokens solo añaden lo específico de la portada de juegos; los colores
   de superficie van con los compartidos para que el tema oscuro y el
   alto contraste lleguen también a estas tarjetas. */
:root{
  --radius:24px;
  /* Paleta propia de la portada, en literales. Antes era
     `--paper: var(--lidia-paper, #faf7f0)` mientras styles.css
     definia `--lidia-paper: var(--paper)`: las dos referencias se
     cruzaban y CSS invalida todo custom property que participa en un
     ciclo, asi que la paleta entera quedaba vacia en tema claro. */
  --paper:#faf7f0;
  --surface:#fffdf8;
  --ink:#223d36;
  --muted:#435a51;
  --green:#214e40;
  --green-light:#e3ebe0;
  --line:#b8c2b5;
  --orange:#9b431f;
  --peach:#f8e5d4;
  font-size:19px
}
/* El resplandor de la esquina solo se pinta en tema claro. El color va
   literal y por selector de tema, no por custom property dentro del
   gradiente: con var() el navegador se quedaba con el fallback
   (lavanda claro) tambien en oscuro y alto contraste, dejando el
   texto blanco a 1.17:1. Los valores oscuro/contraste estan en
   styles.css, junto a los tokens, para que ganen por especificidad. */
:root:not([data-theme]) body,
:root[data-theme=light] body{background:radial-gradient(ellipse at 88% 0,#eeebff 0,transparent 38%),var(--paper)}
header.suite-header{display:flex;max-width:1280px;padding:14px 36px;border-bottom:1px solid var(--line);gap:30px;min-height:80px}.suite-header .suite-brand{min-width:190px}.suite-header .brand{font-size:34px;letter-spacing:-1.8px;color:var(--ink);gap:3px}.brand-dot{font-size:22px;color:var(--lidia-dot,#6856c8);align-self:start}.suite-header .suite-controls{margin-left:auto}.suite-header .suite-attribution{font-size:11px;color:var(--muted)}.top-nav{flex:0;margin-left:auto}.top-nav a{font-size:.85rem;padding:8px 24px;border-radius:999px}.settings-link{padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:999px}.suite-header .suite-brand>img{width:42px;height:42px}
main{max-width:1232px;padding:36px 36px 64px}.button{border-radius:14px;box-shadow:0 3px 0 #30216d18;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-1px);box-shadow:0 4px 0 #30216d25}.button.secondary{border-color:var(--line)}.button.quiet{box-shadow:none}.button:disabled:hover{transform:none}.eyebrow{font-size:.65rem;font-weight:800;letter-spacing:.13em}.chess-navigation{display:flex;flex-wrap:wrap;gap:8px;max-width:1160px;margin:16px auto 0;padding:0 16px}.chess-navigation a{padding:10px 16px;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;font-size:.85rem}
.ludia-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;padding:20px 0 42px}.ludia-hero .eyebrow{color:var(--lidia-eyebrow,#54468c);margin:0 0 18px}.ludia-hero h1{font-size:clamp(2.4rem,4.8vw,3.6rem);font-weight:900;letter-spacing:-.05em;line-height:1.06;margin-bottom:20px}.ludia-hero p:not(.eyebrow){max-width:440px;font-size:1rem;color:var(--muted);line-height:1.55}.pace-pill{display:inline-flex;align-items:center;gap:8px;background:var(--lidia-pill,#eae6fc);color:var(--lidia-pill-text,#3f347c);font-size:.75rem;font-weight:700;padding:7px 14px;border-radius:999px}.hero-play{height:310px;position:relative;border-radius:50%;background:radial-gradient(ellipse,#e9e2fe,transparent 70%)}.hero-tile{position:absolute;width:166px;height:166px;display:grid;place-items:center;border:5px solid white;border-radius:28px;box-shadow:0 18px 30px #3c29631c}.tile-one{top:8px;left:34px;background:#ffe4d0;transform:rotate(-10deg);z-index:2}.tile-one .art-tic{width:108px}.tile-two{top:76px;right:12px;background:#dcdefd;transform:rotate(12deg)}.tile-two .art-chess{width:135px;height:125px}.tile-three{width:150px;height:75px;left:65px;bottom:9px;transform:rotate(-7deg);background:#dcf0d6;display:flex;justify-content:center;gap:12px;color:#2b674b;font-size:28px}.hero-star{position:absolute;right:20px;top:0;font-size:64px;color:#e9a634}.hero-orbit{position:absolute;left:0;bottom:24px;font-size:38px;color:#8571c8}
.ludia-section{display:flex;align-items:center;gap:14px;margin:10px 0 24px}.ludia-section h2{font-size:1.45rem;margin:0}.catalog-count{font:800 .75rem var(--heading);padding:5px 10px;background:var(--lidia-phase-box,#e9e5f5);border-radius:10px}.game-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.game-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;text-decoration:none;background:var(--surface);box-shadow:0 5px 0 #302d5710;transition:transform .18s,box-shadow .18s;min-width:0}.game-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #302d5717}.game-art{height:160px;background:var(--tint);display:grid;place-items:center;position:relative;overflow:hidden}.game-art:after{content:'';position:absolute;width:140px;height:140px;border:1px solid #fff8;border-radius:50%;right:-45px;top:-50px;pointer-events:none}.game-card-copy{padding:20px 18px 16px}.game-tag{font-size:.61rem;font-weight:700;color:var(--muted)}.game-card h3{font-size:1.18rem;margin:8px 0 9px}.game-card p{font-size:.8rem;color:var(--muted);min-height:3em;line-height:1.5;margin-bottom:16px}.card-open{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:.72rem;font-weight:700}.card-open>span{border-radius:50%;width:28px;height:28px;display:grid;place-items:center;background:var(--tint);font-size:20px}.card-progress{display:block;font-size:.65rem;margin-top:10px}.local-note{text-align:center;font-size:.75rem;color:var(--muted);margin:34px 0 0}.theme-peach{--tint:#ffe3cd;--accent:#b7461f}.theme-blue{--tint:#d7e8fc;--accent:#306fb1}.theme-aqua{--tint:#cfefec;--accent:#1f746d}.theme-yellow{--tint:#fff0bc;--accent:#907016}.theme-lilac{--tint:#e5ddfc;--accent:#69509e}.theme-mint{--tint:#daeed3;--accent:#427242}.theme-pink{--tint:#f8dce6;--accent:#a53d67}.theme-purple{--tint:#dfddff;--accent:#6653ad}
.art-tic{display:grid;grid-template-columns:repeat(3,1fr);width:116px;transform:rotate(-6deg);font:bold 32px var(--heading);color:#a84725}.art-tic span{height:38px;display:grid;place-items:center;border-right:3px solid #a8472540;border-bottom:3px solid #a8472540}.art-tic span:nth-child(3n){border-right:0}.art-tic span:nth-child(n+7){border-bottom:0}.art-four{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:#3968a3;padding:12px;border-radius:14px;transform:rotate(7deg);box-shadow:4px 6px 0 #244e8d}.art-four i{display:block;width:20px;height:20px;background:#c0d8f0;border-radius:50%;box-shadow:inset 0 2px 2px #0002}.art-four .disc-1{background:#ffe17a}.art-four .disc-2{background:#ff906d}.art-sea{color:#207672;position:relative;width:150px;height:125px;font-size:45px;text-align:center}.art-sea span{position:absolute;left:15px;top:0}.art-sea span:nth-of-type(2){top:75px;left:80px}.art-sea b{position:absolute;top:32px;left:4px;font-size:40px;transform:rotate(-12deg)}.art-sea i{position:absolute;right:0;top:0;font-size:42px}.art-sudoku{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:#fff9e0;padding:7px;border-radius:12px;transform:rotate(-6deg);box-shadow:5px 5px 0 #bd9c4e40}.art-sudoku i{font-style:normal;width:27px;height:27px;font-size:22px;text-align:center;line-height:27px;background:#f4df93;color:#725516}.art-sudoku i:nth-child(3n){color:#925083}.art-sudoku i:nth-child(4n){color:#32756a}.art-tetris{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;transform:rotate(8deg)}.art-tetris i{width:22px;height:22px;border-radius:4px}.block-1{background:#735ec2;box-shadow:inset 0 -4px 0 #0002}.block-2{background:#d9a843;box-shadow:inset 0 -4px 0 #0002}.block-3{background:#3e91a0;box-shadow:inset 0 -4px 0 #0002}.art-domino{display:flex;gap:12px;transform:rotate(-13deg)}.art-domino b{background:#fffef4;border:2px solid #4c705d;width:44px;text-align:center;font-size:35px;line-height:42px;color:#426e55;box-shadow:3px 4px 0 #4c705d}.art-domino b:nth-child(2){transform:rotate(23deg) translateY(5px)}.art-domino hr{margin:0 4px;border:0;border-top:1px solid #4c705d}.art-chess{position:relative;width:150px;height:130px}.art-chess>div{position:absolute;width:140px;height:80px;bottom:3px;left:5px;transform:rotate(-10deg) skew(15deg);background:conic-gradient(#8c83b2 25%,#f7f2ff 0 50%,#8c83b2 0 75%,#f7f2ff 0) 0 0/40px 40px;border:5px solid #7e729e;border-radius:8px}.art-chess b,.art-chess i{position:absolute;font-style:normal;font-size:95px;line-height:1;left:12px;top:-10px;color:#4a3b70;text-shadow:2px 3px 0 #fff}.art-chess i{font-size:76px;left:85px;top:25px;color:#fff;text-shadow:2px 2px 0 #4a3b70}.art-checkers b{font-size:80px;color:#a1456b;top:0;text-shadow:0 6px 0 #693246}.art-checkers i{font-size:54px;color:#fff4dd;top:49px;text-shadow:0 3px 0 #693246}
.game-overview{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;margin:8px 0 38px}.overview-art{height:240px;display:grid;place-items:center;background:var(--tint);border-radius:30px}.overview-art>div{scale:1.4}.game-overview .eyebrow{margin-bottom:12px}.game-overview h1{margin-bottom:14px}.game-overview p{color:var(--muted)}.phase-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:24px}.phase-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:26px;box-shadow:0 5px 0 #302d5710}.phase-number{width:48px;height:48px;display:grid;place-items:center;background:var(--lidia-phase-box,#eae5fc);border-radius:16px;font-size:24px;margin-bottom:26px;color:var(--lidia-accent,#554192)}.phase-card h2{font-size:1.45rem}.phase-card p{font-size:.9rem;color:var(--muted);flex:1}.phase-card>span:last-child{font-size:.75rem;font-weight:700}.phase-tabs{display:flex;gap:6px;background:var(--lidia-tabs,#eae7f3);border-radius:16px;padding:5px;max-width:480px;margin-bottom:28px}.phase-tabs a{flex:1;min-height:46px;display:grid;place-items:center;border-radius:12px;text-decoration:none;font-size:.86rem;font-weight:700;padding:8px}.phase-tabs a[aria-current]{background:var(--surface);box-shadow:0 2px 4px #302d5718;color:var(--green)}.course-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.course-heading h1{font-size:clamp(1.55rem,3.8vw,2.2rem);margin:0}.course-heading .eyebrow{margin-bottom:10px}.step-pill{white-space:nowrap;background:var(--surface);padding:8px 12px;border:1px solid var(--line);border-radius:12px;font-size:.72rem}.course-progress{display:flex;gap:6px;margin:24px 0}.course-progress i{height:6px;background:var(--line);flex:1;border-radius:4px}.course-progress i.filled{background:var(--green);background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.18) 0 3px,transparent 3px 6px)}.course-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.course-copy,.setup-panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px}.course-instruction{font-size:1.1rem;line-height:1.55}.course-answers{display:grid;gap:12px}.course-answers .button{justify-content:start;text-align:left}.course-feedback{min-height:32px;margin-top:20px;font-size:.9rem}.is-success{color:#285d3c;background:#e4f3e7;padding:16px;border-radius:16px}.answer-correct{background:#e4f3e7!important;border-color:#45835a!important;opacity:1!important}.hint-copy{padding:16px;background:#fff2cb;border-radius:14px;font-size:.85rem}.course-visual{display:flex;flex-direction:column;align-items:center;gap:20px;min-width:0}.course-visual>.ludia-board,.course-visual>div{width:100%}.rule-art{display:grid;place-items:center;border-radius:26px;background:var(--tint);min-height:310px}.rule-art>div{scale:1.8}.course-index{margin-top:30px;background:var(--surface);border-radius:16px;border:1px solid var(--line);padding:18px 22px;font-size:.9rem}.course-index summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.course-index ol{columns:2;padding-left:22px}.course-index a{display:inline-block;padding:9px 0}.course-index a[aria-current]{font-weight:700}.setup-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}.setup-art{background:var(--tint);display:grid;place-items:center;border-radius:28px;min-height:330px}.setup-art>div{scale:1.9}.setup-panel h2{font-size:1.25rem}.setup-panel label{display:block;margin:20px 0;font-size:.9rem}.setup-panel select,.large-select{display:block;min-height:48px;width:100%;max-width:100%;padding:10px 12px;background:var(--surface);border:2px solid var(--line);border-radius:12px;color:var(--ink);margin-top:8px}.save-note{font-size:.72rem;color:var(--muted);margin:20px 0 0}.match-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.match-heading h1{font-size:clamp(1.5rem,3.8vw,2.3rem);margin:0}.match-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:32px;align-items:start}.match-board{min-width:0;max-width:640px;width:100%;margin:auto}.match-panel{padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:24px;min-width:0}.turn-marker{font:800 1.2rem var(--heading);padding:16px;border-radius:16px;background:#efebfc}.match-message{font-size:.86rem;min-height:28px;margin:18px 0}.match-tools{display:flex;flex-wrap:wrap;gap:10px}.match-tools .button{flex:1 1 44%;padding:10px;font-size:.82rem}.ludia-board{display:grid;width:100%;margin:auto;border:8px solid #51458a;border-radius:24px;background:#51458a;gap:6px;overflow:hidden}.ludia-row{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:6px;min-width:0}.ludia-cell{position:relative;border:0;padding:2px;aspect-ratio:1;display:grid;place-items:center;min-width:0;min-height:0;background:#fdfcfe;color:#504471;font:bold clamp(18px,5vw,44px) var(--heading);border-radius:10px;line-height:1;overflow:hidden}.ludia-cell:focus-visible{outline:4px solid #ffdf49;outline-offset:-5px;z-index:1}.board-tic-tac-toe{max-width:420px}.board-tic-tac-toe .ludia-cell{font-size:clamp(32px,7vw,70px)}.side-1{color:#a34427}.side-2{color:#415b9d}.ludia-cell.winning{background:#ddedcb;box-shadow:inset 0 0 0 4px #2e6e40}.ludia-cell.hinted{box-shadow:inset 0 0 0 4px #ba710e}.column-buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:0 8px;margin-bottom:8px}.column-buttons .button{font-size:.8rem;padding:8px 0;min-width:0;border-radius:10px;min-height:44px}.board-connect-four{background:#3c599b;border-color:#3c599b}.board-connect-four .ludia-cell{border-radius:50%;font-size:clamp(16px,4vw,32px);box-shadow:inset 0 3px 4px #1b275126;background:#dfE8fc}.board-connect-four .side-1{background:#ffdc70;color:#714700}.board-connect-four .side-2{background:#fa9379;color:#702a1b}.board-connect-four .winning{outline:3px solid white;outline-offset:-5px}.board-connect-four .hinted{outline:3px dashed #24213a;outline-offset:-5px}
.high-contrast{--paper:#fff;--surface:#fff;--ink:#101020;--muted:#272737;--green:#302262;--line:#454052}.high-contrast .game-tag,.high-contrast .game-card p{color:#292238}.high-contrast .phase-card,.high-contrast .game-card,.high-contrast .match-panel{border:2px solid #302262}.high-contrast .ludia-cell{border:1px solid #27203e}.high-contrast .hint-copy{border:2px dashed #6e440c}
@media(min-width:651px){.suite-header .top-nav{grid-column:auto;grid-row:auto;order:0;margin-top:0}.site-footer{font-size:.72rem}}
@media(max-width:1050px){.game-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-tile{width:145px;height:145px}.tile-one{left:5px}.tile-two{right:0}.tile-three{width:140px;height:65px}.hero-play{height:290px}}
@media(max-width:800px){.game-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.ludia-hero{grid-template-columns:1.35fr .65fr;gap:16px}.hero-play{height:245px}.hero-tile{width:120px;height:120px}.tile-one{left:0;top:10px}.tile-two{top:110px;right:0}.tile-three,.hero-orbit{display:none}.hero-star{font-size:36px;right:0}.hero-tile .art-tic{width:80px;font-size:24px}.hero-tile .art-tic span{height:27px}.hero-tile .art-chess{scale:.8}.game-overview{grid-template-columns:190px 1fr;gap:24px}.overview-art{height:200px}.phase-card{padding:20px}.course-layout,.match-layout{grid-template-columns:1fr;gap:22px}.course-visual{grid-row:1}.course-visual .ludia-board{max-width:400px}.course-visual .rule-art{display:none}.course-visual:has(.rule-art){display:none}.match-panel{padding:20px}.match-tools .button{flex:1}.course-index ol{columns:1}.match-board{max-width:500px}.setup-layout{grid-template-columns:.65fr 1fr}.setup-art>div{scale:1.2}.course-copy{padding:22px}}
@media(max-width:650px){:root{font-size:18px}main{padding:22px 16px 36px}header.suite-header{padding:10px 16px;gap:8px;min-height:67px;display:flex;flex-wrap:wrap}.suite-header .suite-brand{min-width:0;gap:7px}.suite-header .brand{font-size:29px}.suite-header .suite-brand>img{width:34px;height:34px;flex-basis:34px}.brand-dot{font-size:17px}.suite-header .suite-attribution{display:none}.suite-header .top-nav{order:0;flex:0;margin-left:auto;margin-top:0;flex-basis:auto}.top-nav a{padding:7px 12px;font-size:.78rem;min-height:44px}.suite-header .suite-controls{margin-left:0}.settings-link{padding:7px 10px;font-size:.72rem;min-height:44px}.ludia-hero{padding:6px 0 26px;grid-template-columns:1fr}.ludia-hero h1{font-size:2.45rem}.ludia-hero p:not(.eyebrow){font-size:.9rem;margin-bottom:14px;max-width:100%}.ludia-hero .eyebrow{font-size:.56rem;margin-bottom:12px}.hero-play{display:none}.ludia-section{margin:12px 0 18px}.ludia-section h2{font-size:1.15rem}.game-catalog{gap:14px}.game-art{height:135px}.game-card{border-radius:18px}.game-card-copy{padding:14px 12px 12px}.game-tag{font-size:.58rem}.game-card h3{font-size:1.08rem;margin:7px 0}.game-card p{font-size:.76rem;min-height:4.5em;margin-bottom:12px}.card-open{font-size:.65rem;gap:4px}.card-open>span{width:23px;height:23px;flex-shrink:0}.game-art>div{scale:.87}.game-overview{grid-template-columns:96px 1fr;gap:16px;margin:0 0 24px}.overview-art{height:120px;border-radius:20px}.overview-art>div{scale:.67}.game-overview .eyebrow{font-size:.55rem;margin-bottom:7px}.game-overview h1{font-size:1.8rem;margin-bottom:8px}.game-overview p{font-size:.85rem;margin-bottom:8px}.game-overview .pace-pill{display:none}.phase-cards{grid-template-columns:1fr;gap:14px}.phase-card{display:grid;grid-template-columns:48px 1fr;gap:8px 16px;padding:20px}.phase-number{grid-row:1/4;margin:0}.phase-card h2{margin:0;font-size:1.25rem}.phase-card p{margin:0;font-size:.85rem}.phase-card>span:last-child{font-size:.68rem}.phase-tabs{margin-bottom:22px}.phase-tabs a{min-height:44px;font-size:.84rem}.course-heading{align-items:start;gap:12px}.course-heading h1{font-size:1.6rem}.course-heading .eyebrow{font-size:.54rem}.step-pill{white-space:normal;text-align:center;font-size:.62rem;padding:7px;flex-shrink:0;max-width:75px}.course-progress{margin:18px 0}.course-layout{gap:18px}.course-instruction{font-size:1rem}.course-copy{padding:20px}.setup-layout{grid-template-columns:1fr;margin-top:22px}.setup-art{display:none}.setup-panel{padding:22px}.course-visual .ludia-board{max-width:350px}.match-heading{margin-bottom:18px}.match-heading .pace-pill{font-size:.65rem;white-space:nowrap}.match-layout{gap:20px}.match-tools .button{flex:1 1 40%}.ludia-board{border-width:6px;gap:4px;border-radius:18px}.ludia-row{gap:4px}.ludia-cell{border-radius:6px}.chess-navigation{gap:5px;margin-top:10px}.chess-navigation a{font-size:.72rem;padding:8px 10px}.breadcrumb{margin-bottom:14px}.site-footer{padding:12px 16px}}
@media(max-width:350px){.game-card h3{font-size:.95rem}.game-tag{font-size:.52rem}.game-art{height:116px}.game-card-copy{padding:12px 10px}.card-open{font-size:.57rem}.settings-link span:last-child{display:none}.suite-header .brand{font-size:27px}.course-heading h1{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.game-card:hover,.button:hover{transform:none}}
@media(forced-colors:active){.ludia-cell{border:1px solid CanvasText}.ludia-cell.winning{outline:4px solid Highlight;outline-offset:-5px}.ludia-cell.hinted{outline:3px dashed Highlight;outline-offset:-5px}.game-card,.phase-card,.phase-tabs a[aria-current]{border:2px solid CanvasText}.course-progress i.filled{background:Highlight;forced-color-adjust:none}}
/* Make Tres en raya symbols clear and balanced on touch screens. */
.board-tic-tac-toe .ludia-cell > span {
  display: grid;
  place-items: center;
  font-size: clamp(44px, 10vw, 84px);
  font-weight: 900;
  line-height: .78;
  -webkit-text-stroke: 2px currentColor;
}
.board-tic-tac-toe .ludia-cell.side-1 > span { transform: scale(1.12); }
.board-tic-tac-toe .ludia-cell.side-2 > span {
  transform: scale(1.58);
  -webkit-text-stroke: 2.5px currentColor;
}
.match-help {
  margin: 16px 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #faf9ff;
}
.match-help summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 8px 14px;
  cursor: pointer;
  font-weight: 800;
}
.match-help p {
  margin: 0;
  padding: 0 14px 14px;
  font-size: .86rem;
  line-height: 1.45;
}
/* Decorative transforms stay inside their allocated space on tablet layouts. */
.hero-play{overflow:clip;border-radius:0}
.step-pill { display: none; }

/* Responsive guardrails shared by every game screen. */
html, body { max-width: 100%; overflow-x: hidden; }
.course-layout, .match-layout, .setup-layout, .course-visual, .match-panel { min-width: 0; }
.ludia-board, .board-tic-tac-toe, .board-connect-four, .board-battleship, .board-sudoku,
.board-checkers, .board-domino, .board-tetris, .match-board, .course-visual > * { max-width: 100%; }
.ludia-board { align-content: start; grid-auto-rows: max-content; }
.ludia-row { align-self: start; width: 100%; }
.ludia-cell { height: auto; }
/* Explicit fallbacks keep grids usable in browsers that do not inherit the
   board's custom property into nested rows. */
.ludia-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.board-connect-four .ludia-row { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.board-battleship .ludia-row { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.board-sudoku .ludia-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.board-checkers .ludia-row { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.board-tetris .ludia-row { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.match-tools .button, .course-answers .button, .sudoku-tools .button, .shape-palette .button { min-width: 0; }
@media (max-width: 650px) {
  .course-copy, .setup-panel, .match-panel { width: 100%; box-sizing: border-box; }
  .match-layout, .course-layout, .setup-layout { width: 100%; }
  .match-board, .course-visual .ludia-board { width: min(100%, 350px); }
  .tetris-stage { width: 100%; max-width: 330px; }
  .domino-chain { max-width: 100%; overflow-wrap: anywhere; }
  .match-tools { width: 100%; }
  .match-tools .button { flex: 1 1 42%; }
}
