:root{--cream:#fffaf0;--ink:#163e39;--teal:#166e64;--coral:#e97555;--yellow:#f6cf77}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'Trebuchet MS',sans-serif}button,a,select{touch-action:manipulation}button,select{font:inherit}button{cursor:pointer}a{color:inherit}header{display:flex;align-items:center;gap:18px;max-width:1300px;padding:22px 5%;margin:auto}.brand{margin-right:auto;display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:900;font-size:26px;line-height:1.1}.brand:first-letter{color:var(--coral)}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}header button,.home{background:transparent;border:1px solid #d9dfd3;border-radius:24px;padding:8px 14px;font-size:12px;text-decoration:none}main{max-width:1180px;padding:35px 5%;margin:auto}.welcome{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:35px}h1,h2,p{margin:0}h1{font:700 clamp(36px,4.2vw,55px)/1.15 Georgia;letter-spacing:-1px}h1 em{color:var(--coral);font-style:normal}.welcome>div>p:last-child{margin-top:18px;color:#65766d}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:900;color:var(--teal);margin-bottom:12px}.passport{padding:25px;background:#f3eacb;border:1px dashed #d5bd7a;border-radius:22px;display:flex;gap:18px;align-items:center;min-width:270px;transform:rotate(2deg)}.bigstar{font-size:55px;color:#cc8626}.passport strong{font-size:23px}.passport p{font-size:11px}.mini-stars{color:#c48321;font-size:15px;letter-spacing:5px}.games{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:30px 0}.games button{border:2px solid transparent;background:#e8eee3;color:var(--ink);border-radius:17px;min-height:130px;padding:15px 8px;font-weight:bold;transition:transform .18s,box-shadow .18s}.games button:nth-child(2){background:#f9e5d9}.games button:nth-child(3){background:#e6edf4}.games button:nth-child(4){background:#f2e5ed}.games button:nth-child(5){background:#f5edcf}.games button:hover{transform:translateY(-3px)}.games button[aria-current=true]{border-color:var(--teal);box-shadow:0 4px 0 var(--teal)}.games button>span{display:block;font-size:32px;line-height:1.3;margin-bottom:9px}.games button small{display:block;font-weight:normal;font-size:10px;margin-top:5px}.playground{background:#fff;border:1px solid #e4e7dc;border-radius:25px;min-height:550px;padding:32px;box-shadow:0 10px 35px #254c3710}.game-head{display:flex;justify-content:space-between;gap:15px;align-items:center}h2{font:700 30px/1.2 Georgia}.game-head .eyebrow{margin-bottom:6px}select{border:1px solid #d4ddcf;padding:8px;border-radius:9px;background:var(--cream);color:var(--ink);font-size:13px;margin-left:8px}label{font-size:12px}.instructions{text-align:center;margin:22px auto;color:#5c7166;max-width:600px}#board{margin:20px auto;max-width:560px}.game-bottom{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.primary,.secondary{border:0;border-radius:10px;padding:11px 22px;font-size:14px;font-weight:bold;background:var(--teal);color:white}.secondary{background:#f0f2e9;color:var(--ink)}.message{min-height:38px;text-align:center;font-weight:bold;font-size:16px;margin:10px auto;color:var(--teal);max-width:650px}.message.win{background:#fff4cf;padding:15px;border-radius:14px}.puzzle{display:grid;gap:5px;aspect-ratio:1.43;max-width:530px!important;background:#e8e9db;padding:6px;border-radius:10px}.tile{border:0;background-image:url('assets/family.webp');background-size:300% 388%;border-radius:4px;position:relative;min-width:0}.tile.selected{outline:4px solid var(--coral);outline-offset:-4px;z-index:1}.tile span{position:absolute;left:4px;top:4px;background:#ffffffe6;color:var(--ink);border-radius:50%;width:23px;height:23px;font-size:11px;display:grid;place-items:center}.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:480px!important}.card{aspect-ratio:1.1;border:2px solid #d5e7dd;border-radius:15px;font-size:40px;background:var(--teal);color:#fff;transition:transform .15s}.card.shown{background:#fff8e8;color:var(--ink)}.card.matched{background:#e8f2de;border-color:#accf93}.card:disabled{opacity:1;cursor:default}.question{text-align:center;background:#f7f7ec;border-radius:18px;padding:25px}.objects{font-size:42px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;max-width:400px;margin:10px auto 25px;line-height:1.3}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.answer{background:#fff;border:2px solid #ceded2;border-radius:14px;padding:16px;color:var(--ink);font-weight:bold;font-size:28px}.answer:hover{background:#eaf0df}.answer:disabled{opacity:.65}.quest-title{font:700 24px/1.4 Georgia;margin:10px 0 20px}.quest-emoji{font-size:60px}.quest .answers{grid-template-columns:1fr}.quest .answer{font-size:16px;padding:14px}.rounds{font-size:12px;color:#637b6d;text-align:center;margin:12px}.studio{background:#fcfaf3;border-radius:16px;padding:16px;text-align:center}.studio svg{width:100%;height:auto;max-height:350px}.paint{cursor:pointer}.palette{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:15px auto}.swatch{width:39px;height:39px;border-radius:50%;border:3px solid #fff;outline:1px solid #ccc}.swatch[aria-pressed=true]{outline:3px solid var(--ink)}.scene-choice{display:flex;gap:8px;justify-content:center;margin-bottom:15px}.scene-choice button{border:1px solid #d8dfd2;background:#f8f6ec;padding:8px 15px;border-radius:22px;color:var(--ink);font-size:12px}.scene-choice button[aria-pressed=true]{background:var(--teal);color:white}.gentle{display:flex;gap:15px;justify-content:center;align-items:center;margin:28px 0;font-size:14px;color:#687b70}.gentle>span{font-size:30px;color:var(--coral)}footer{padding:25px;text-align:center;background:#e9eee2;font-size:12px}footer a{font-weight:bold;text-decoration:none}dialog{max-width:520px;width:90%;border:0;border-radius:22px;padding:35px;background:var(--cream);color:var(--ink)}dialog p{margin:18px 0;font-size:14px}dialog::backdrop{background:#153e3999}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px;color:var(--ink)}.reference{width:100%;aspect-ratio:1.43;background:url('assets/family.webp') center bottom/cover;border-radius:12px;margin:20px 0}:focus-visible{outline:4px solid var(--coral);outline-offset:4px}.confetti{position:fixed;top:-40px;pointer-events:none;z-index:20;font-size:25px;animation:fall 1.8s ease-in forwards}@keyframes fall{to{transform:translateY(105vh) rotate(300deg);opacity:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){header{gap:8px;flex-wrap:wrap}.brand{font-size:21px}header button,.home{font-size:10px;padding:7px 10px}header #parents{margin-left:auto}main{padding-top:20px}.welcome{display:block}.welcome>div>p:last-child{font-size:14px}.passport{margin-top:25px;padding:12px 20px;min-width:0;transform:none}.bigstar{font-size:36px}.passport strong{font-size:20px}.games{grid-template-columns:repeat(3,1fr);gap:9px;margin:25px 0}.games button{font-size:12px;min-height:105px}.games button>span{font-size:27px}.games button small{font-size:9px}.playground{padding:22px 14px;border-radius:18px;min-height:480px}.game-head{align-items:start}h2{font-size:25px}.game-head label{font-size:0}select{max-width:135px;margin:0}.instructions{font-size:13px}.memory{gap:8px}.card{font-size:28px;border-radius:10px}.objects{font-size:34px;gap:8px}.question{padding:18px 10px}.answer{font-size:25px;padding:12px}.quest-title{font-size:21px}.gentle{font-size:12px}.tile span{width:18px;height:18px;font-size:9px}.swatch{height:33px;width:33px}.game-bottom button{font-size:12px;padding:11px 17px}}
/* A bright little world for curious explorers. */
:root{--cream:#fff9ef;--ink:#234568;--teal:#008c89;--coral:#ed6385;--yellow:#ffcc4d}body{background-color:#f0fbff;background-image:radial-gradient(#c9eaf2 1.4px,transparent 1.4px);background-size:24px 24px;color:var(--ink);font-family:'Trebuchet MS',Verdana,sans-serif}header{max-width:none;padding:18px max(5%,calc((100vw - 1160px)/2));background:#fff;border-bottom:4px solid #d6f1f4;position:relative;z-index:1}.brand{color:#008c89;font-size:27px}.brand small{color:#e85d82}header button,.home{background:#f1faff;border:2px solid #dceff6;font-weight:bold;font-size:12px;padding:10px 16px;min-height:42px}.home{background:#fff2c7;border-color:#ffe393}header #sound[aria-pressed=true]{background:#d8f6df;border-color:#80d9a8}main{max-width:1250px;padding-top:32px}.welcome{position:relative;background:#fff0cf;border:4px solid #fff;border-radius:32px;padding:35px 38px;box-shadow:0 7px 0 #cce8ed;overflow:hidden;gap:20px}.welcome:before{content:'✦';position:absolute;right:35%;top:-35px;font-size:150px;color:#ffd35c;opacity:.65;transform:rotate(15deg);pointer-events:none}.welcome:after{content:'☁';position:absolute;left:48%;bottom:-36px;font-size:130px;color:#fff;opacity:.75;pointer-events:none}.welcome>div{position:relative;z-index:1}.welcome h1{font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:900;letter-spacing:-2px;line-height:1.08;font-size:clamp(37px,4.4vw,59px);max-width:650px}.welcome h1 em{color:#ed6385;text-shadow:0 3px 0 #fff}.welcome .eyebrow{display:inline-block;background:#fff;border-radius:20px;padding:5px 12px;letter-spacing:1.5px;color:#007f83}.welcome>div>p:last-child{color:#53728b;font-size:15px;max-width:460px}.passport{background:#fff;border:3px solid #ffcf59;box-shadow:5px 6px 0 #f5c965;border-radius:24px;padding:22px;min-width:230px;transform:rotate(3deg)}.passport .bigstar{color:#ffbd24;text-shadow:0 3px 0 #ffe7a4;font-size:62px}.passport strong{color:#008c89}.passport p{font-size:10px;color:#6c7f96}.mini-stars{color:#efad16;letter-spacing:5px;font-size:19px}.games{gap:15px;margin:32px 0}.games button{border:3px solid #fff;box-shadow:0 6px 0 #a9d7db;border-radius:23px;padding:18px 8px;min-height:158px;background:#c9f3ea;font-size:15px;color:#185f64;position:relative;overflow:hidden}.games button:nth-child(2){background:#ffdf96;box-shadow:0 6px 0 #ebbd60;color:#80511a}.games button:nth-child(3){background:#d8e5ff;box-shadow:0 6px 0 #b4c8ed;color:#3d5793}.games button:nth-child(4){background:#ffd7e7;box-shadow:0 6px 0 #e9b0ca;color:#963e66}.games button:nth-child(5){background:#e8daff;box-shadow:0 6px 0 #cab4eb;color:#6b4592}.games button>span{background:#ffffffb8;border:2px solid #ffffffb8;border-radius:20px;height:61px;min-width:61px;display:table;margin:0 auto 10px;padding:5px 12px;font-size:34px;line-height:1.35;transform:rotate(-6deg)}.games button:nth-child(even)>span{transform:rotate(7deg)}.games button small{font-size:10px}.games button:hover{transform:translateY(-5px) rotate(-1deg)}.games button[aria-current=true]{border:3px solid #008c89;box-shadow:0 6px 0 #008c89;transform:translateY(-3px)}.games button[aria-current=true]:after{content:'LET’S PLAY!';position:absolute;right:-16px;top:8px;transform:rotate(35deg);background:#fff;padding:1px 20px;font-size:7px;letter-spacing:.5px;color:#008c89}.playground{border:4px solid #fff;border-radius:30px;box-shadow:0 8px 0 #cae5ed,0 20px 45px #487ea412;padding:30px;background:linear-gradient(#fff,#fffdf6);position:relative}.game-head{padding:0 0 20px;border-bottom:2px dashed #dce8ec}h2{font-family:'Trebuchet MS',Verdana,sans-serif;font-weight:900;color:#234568;letter-spacing:-.5px;font-size:31px}.game-head .eyebrow{color:#ed6385;letter-spacing:1.5px}.game-head select{background:#e9f9fb;border:2px solid #bce7e9;border-radius:13px;padding:10px;color:#186e74;font-weight:bold}.instructions{color:#5b7891;background:#f0f9ff;border-radius:16px;padding:12px 18px;font-size:15px}.primary{background:#008c89;box-shadow:0 4px 0 #006562;border:2px solid #ffffff88;border-radius:15px;padding:13px 25px;font-size:15px}.secondary{background:#fff0c0;color:#885a19;box-shadow:0 4px 0 #e5ca7b;border:2px solid #ffffff88;border-radius:15px;padding:13px 23px}.primary:hover,.secondary:hover{filter:brightness(1.05);transform:translateY(-2px)}.primary:active,.secondary:active{transform:translateY(3px);box-shadow:none}.puzzle{border:5px solid #8cdacf;background:#c8f3e9;border-radius:15px;gap:6px;box-shadow:0 5px 0 #51b9af}.tile{border-radius:7px}.tile.selected{outline:5px solid #ffcb4f}.tile span{background:#fff6cc;color:#72521a;font-weight:bold}.memory{gap:14px}.card{background:#55bfb3;border:4px solid #c9f3ea;box-shadow:0 4px 0 #349f96;border-radius:20px;color:#fff5cc;font-size:44px}.card.shown{background:#fff4cd;border-color:#ffdc82;box-shadow:0 4px 0 #ecc56b}.card.matched{background:#d6f6d7;border-color:#96d99e;box-shadow:0 4px 0 #7fc68a}.question{background:#f1f7ff;border:3px solid #dbeaff;border-radius:24px}.question h3{font-family:'Trebuchet MS',Verdana,sans-serif;color:#365681}.answers .answer{border:3px solid #c4d9f2;border-radius:18px;box-shadow:0 4px 0 #b3cce8;color:#4765a0;min-height:60px;background:#fff;font-size:32px}.answers .answer:hover{background:#fff0c0;border-color:#f5ce6b;transform:translateY(-2px)}.quest{background:#fff0f5;border-color:#ffdae8}.quest .answer{font-size:16px;border-color:#f0bfd4;box-shadow:0 4px 0 #e5adc5;color:#934266}.quest-emoji{background:#fff;border-radius:50%;width:98px;margin:0 auto;padding:7px}.quest-title{color:#7f3f68!important}.message.win{background:#fff1b8;color:#846025;border:3px solid #ffda69;border-radius:20px;font-size:18px;padding:18px;box-shadow:0 4px 0 #f6d578}.studio{background:#fffdf5;border:3px solid #e7ddfa;border-radius:22px}.studio svg{filter:drop-shadow(0 3px 0 #e7e7df)}.swatch{height:43px;width:43px;border:4px solid white;box-shadow:0 3px 0 #c9c5d9;outline:1px solid #d8d5e2}.swatch[aria-pressed=true]{outline:3px solid #9c70c5;transform:translateY(-4px)}.scene-choice button{border:2px solid #ded0f2;background:#f6efff;color:#73509a;min-height:42px;font-weight:bold;border-radius:14px}.scene-choice button[aria-pressed=true]{background:#a77bd0;border-color:#a77bd0;color:#fff}.gentle{background:#fff;border:2px solid #e0f1f6;border-radius:22px;margin:30px auto;padding:13px 20px;max-width:680px;color:#56788c}.gentle span{font-size:36px;color:#ed6385}footer{background:#008c89;color:#fff;border-top:7px solid #91ddd2;padding:30px}footer a{font-size:16px}footer p{color:#d4ffef;margin-top:7px}dialog{border:5px solid #fff;box-shadow:0 8px 0 #d5e9ef;border-radius:28px}dialog h2{color:#008c89}dialog p{color:#526e84}.reference{border:4px solid #b5e8dd}
@media(max-width:700px){header{padding:16px 5%;gap:7px}.brand{font-size:23px}.brand small{font-size:8px}header button,.home{font-size:10px;padding:7px 10px;min-height:36px}.welcome{padding:25px 22px;border-radius:26px}.welcome h1{font-size:39px;letter-spacing:-1.4px}.welcome .eyebrow{font-size:8px;padding:5px 9px;letter-spacing:1px}.welcome:before{right:-10px;top:70px;font-size:130px}.welcome:after{display:none}.welcome>div>p:last-child{font-size:13px}.passport{margin-top:23px;padding:10px 16px;max-width:290px;border-width:2px;box-shadow:3px 4px 0 #f5c965;transform:rotate(-2deg);gap:14px}.passport .bigstar{font-size:40px}.passport strong{font-size:19px}.mini-stars{font-size:15px}.games{grid-template-columns:repeat(3,1fr);gap:13px 9px}.games button{min-height:135px;font-size:11px;border-radius:19px;padding:14px 5px}.games button>span{height:45px;min-width:45px;font-size:26px;padding:3px 8px;border-radius:15px}.games button small{font-size:8px;line-height:1.5}.games button[aria-current=true]:after{font-size:5px;padding:1px 16px;right:-13px;top:7px}.playground{padding:20px 12px;border-radius:24px}.game-head{padding-bottom:15px;gap:8px}.game-head h2{font-size:25px}.game-head select{padding:8px 5px;font-size:11px;max-width:117px}.game-head .eyebrow{font-size:8px}.instructions{font-size:12px;padding:10px 12px}.card{font-size:30px;border-width:3px;border-radius:15px}.memory{gap:10px}.answers .answer{font-size:27px}.quest .answer{font-size:14px}.primary,.secondary{font-size:12px;padding:12px 18px}.message.win{font-size:15px}.gentle{font-size:11px;padding:10px 13px;gap:10px}.swatch{height:35px;width:35px}.scene-choice{gap:5px}.scene-choice button{font-size:10px;padding:8px 10px}.puzzle{border-width:3px;gap:4px}}
/* Six choices and a generous, untimed looking game. */
.games{grid-template-columns:repeat(6,minmax(0,1fr))}.games>a{grid-column:1/-1;justify-self:end;font-weight:bold;font-size:14px;text-underline-offset:4px}.games button[data-game=puzzle]{background:#c9f3ea;box-shadow:0 6px 0 #a9d7db;color:#185f64}.games button[data-game=memory]{background:#ffdf96;box-shadow:0 6px 0 #ebbd60;color:#80511a}.games button[data-game=count]{background:#d8e5ff;box-shadow:0 6px 0 #b4c8ed;color:#3d5793}.games button[data-game=kindness]{background:#ffd7e7;box-shadow:0 6px 0 #e9b0ca;color:#963e66}.games button[data-game=colour]{background:#e8daff;box-shadow:0 6px 0 #cab4eb;color:#6b4592}.games button[data-game=difference]{background:#ffe5c6;box-shadow:0 6px 0 #e3c39a;color:#86552a}.games button[aria-current=true]{border-color:#008c89;box-shadow:0 6px 0 #008c89}
#board.difference{max-width:1100px;margin:18px auto 22px}.difference-progress{display:table;margin:16px auto 0;padding:8px 19px;border:2px solid #d4ebdf;border-radius:30px;background:#e8f8e9;color:#207568;font-size:17px;font-weight:900}.difference-pictures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.difference-picture{min-width:0;margin:0;padding:10px;background:#fff9df;border:3px solid #dce7f8;border-radius:20px;overflow:hidden}.difference-picture figcaption{text-align:center;color:#365e82;font-weight:900;font-size:17px;line-height:1.3;margin:2px 0 9px}.difference-picture svg{display:block;width:100%;height:auto;border-radius:14px;touch-action:manipulation}.difference-target{cursor:pointer;outline:none}.difference-hit{fill:transparent;stroke:transparent;stroke-width:7;pointer-events:all}.difference-target:focus-visible .difference-hit{stroke:#b673cf;stroke-dasharray:10 7;fill:#ffffff2b}.difference-target.found .difference-hit{stroke:#008c89;fill:#b7f3c41f;stroke-dasharray:none}.difference-check{font-family:sans-serif;font-size:40px;font-weight:900;fill:#008c89;stroke:#fff;stroke-width:5px;paint-order:stroke;pointer-events:none}
/* The parent play area supplies navigation when a game is embedded. */
body.embedded-play{min-height:100dvh;background:#f2fbff;overscroll-behavior-y:contain}.embedded-play>header,.embedded-play .welcome,.embedded-play .games,.embedded-play .gentle,.embedded-play>footer{display:none!important}.embedded-play>main{max-width:none;margin:0;padding:12px}.embedded-play .playground{max-width:1480px;margin:0 auto;min-height:calc(100dvh - 24px);padding:20px 24px;border-radius:24px;box-shadow:none}.embedded-play .game-head{padding-bottom:13px}.embedded-play .game-head h2{font-size:30px}.embedded-play .game-head select{min-height:48px;font-size:14px;padding:9px 12px}.embedded-play .instructions{margin:14px auto;font-size:15px;padding:9px 16px;max-width:900px}.embedded-play #board{max-width:700px;margin:15px auto}.embedded-play #board.difference{max-width:1200px}.embedded-play #board.puzzle{width:100%;max-width:min(760px,calc((100dvh - 260px)*1.43))!important}.embedded-play #board.memory{max-width:620px!important}.embedded-play .primary,.embedded-play .secondary{min-height:50px;font-size:15px}.embedded-play .swatch{width:52px;height:52px}.embedded-play .scene-choice{flex-wrap:wrap}.embedded-play .scene-choice button{min-height:48px;font-size:14px;padding:9px 15px}.embedded-play .game-bottom{padding-bottom:5px}.embedded-play .message{margin:11px auto;min-height:30px}.embedded-play .quest .answer{min-height:58px;font-size:17px}.embedded-play .difference-picture{padding:8px}.embedded-play .difference-picture figcaption{font-size:16px}
@media(max-width:900px){.games{grid-template-columns:repeat(3,minmax(0,1fr))}.difference-pictures{gap:12px}.difference-picture{padding:7px}.difference-picture figcaption{font-size:15px}.embedded-play .playground{padding:17px 14px}.embedded-play .game-head h2{font-size:27px}}
@media(max-width:700px){.difference-pictures{grid-template-columns:1fr;gap:15px}.difference-picture{max-width:560px;width:100%;margin:auto}.difference-progress{font-size:15px;margin-top:12px}.embedded-play>main{padding:7px}.embedded-play .playground{min-height:calc(100dvh - 14px);padding:15px 10px;border-radius:18px}.embedded-play .game-head h2{font-size:25px}.embedded-play .game-head .eyebrow{font-size:8px}.embedded-play .game-head select{font-size:12px;padding:8px;max-width:125px;min-height:48px}.embedded-play .instructions{font-size:13px;padding:10px 12px}.embedded-play .quest .answer{font-size:15px}.embedded-play .game-bottom .primary,.embedded-play .game-bottom .secondary{font-size:13px;padding:11px 15px}.embedded-play .swatch{width:48px;height:48px}.embedded-play .scene-choice button{font-size:12px;padding:8px 11px}.embedded-play .difference-picture{padding:5px}.embedded-play #board.puzzle{max-width:100%!important}}

/* Big, simple picture choices and 4 / 6 / 9 piece puzzles. */
.puzzle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:900px;margin:0 auto 12px;padding:12px 16px;background:#fff5d8;border:3px solid white;border-radius:20px;box-shadow:0 3px 0 #e8dba7}
.puzzle-caption{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;color:#32566f}
.puzzle-caption strong,.puzzle-caption h3{font:900 17px/1.3 'Trebuchet MS',sans-serif;margin:0}
#puzzle-piece-count{display:inline-flex;align-items:center;min-height:30px;background:white;border-radius:20px;padding:5px 10px;font:900 12px/1.3 'Trebuchet MS',sans-serif;color:#397a79;white-space:nowrap}
.puzzle-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.puzzle-change,.puzzle-next{min-height:49px;border:2px solid #fff;border-radius:15px;padding:10px 16px;font-size:14px;font-weight:900;touch-action:manipulation;background:#008c89;color:white;box-shadow:0 3px 0 #006c6c;cursor:pointer}
.puzzle-next{background:white;border-color:#d5e5eb;color:#35717c;box-shadow:0 3px 0 #d1e2e1}
#board.puzzle{grid-auto-rows:minmax(0,1fr)}
#board.puzzle .tile{background-image:none;position:relative;display:block;padding:0;min-height:0;overflow:hidden;touch-action:manipulation}
#board.puzzle .tile svg{display:block;width:100%;height:100%;pointer-events:none}
#board.puzzle .tile span{z-index:1;pointer-events:none}
.embedded-play #board.puzzle{max-width:min(760px,calc((100dvh - 350px)*var(--puzzle-aspect,1.43)))!important;min-width:260px}
.embedded-play .game-head select{max-width:none;min-width:164px}
#puzzle-picker{width:min(930px,94vw);max-width:930px;max-height:88dvh;overflow:auto;border:5px solid white;border-radius:27px;padding:22px;background:#fff9e9;color:#234568;box-shadow:0 7px 0 #9cbdbb}
#puzzle-picker::backdrop{background:#173e59a6;backdrop-filter:blur(3px)}
.puzzle-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.puzzle-picker-heading h2{font-size:28px;line-height:1.15;margin:0;font-weight:900}
.puzzle-picker-heading p{font-size:11px;font-weight:900;color:#008c89;letter-spacing:1.2px;margin:0 0 6px}
.puzzle-picker-close{min-height:50px;border:2px solid white;border-radius:15px;background:#008c89;color:white;font-size:14px;font-weight:900;padding:10px 18px;box-shadow:0 3px 0 #006c6c;white-space:nowrap}
.puzzle-picture-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.puzzle-picture-choices button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:7px 7px 11px;background:white;border:3px solid #dbe7e8;border-radius:19px;box-shadow:0 3px 0 #cedfda;color:#254d67;font-size:13px;font-weight:900;line-height:1.3;cursor:pointer;touch-action:manipulation}
.puzzle-picture-choices button[aria-pressed=true]{border-color:#008c89;background:#dcf4ec;box-shadow:0 3px 0 #9dcbbf}
.puzzle-picture-choices svg,.puzzle-picture-choices img{display:block;width:100%;height:115px;border-radius:12px;object-fit:cover;background:#edf7f5;pointer-events:none}
.puzzle-picture-choices strong{font-size:13px;line-height:1.3}
#picture-dialog{max-width:840px;max-height:91dvh;overflow:auto;width:min(90vw,840px);padding:24px}
#picture-dialog .reference{background:none;width:min(100%,calc(65dvh * var(--puzzle-aspect,1.43)));max-height:none;margin:16px auto;overflow:hidden}
#picture-dialog .reference svg{display:block;width:100%;height:100%;max-height:65dvh}
@media(max-width:900px){.puzzle-picture-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-toolbar{max-width:760px}.puzzle-caption strong,.puzzle-caption h3{font-size:16px}}
@media(max-width:700px){.game-head{flex-wrap:wrap}.embedded-play .game-head select{min-width:154px;max-width:175px;font-size:12px}.puzzle-toolbar{padding:10px 12px;gap:11px;border-radius:17px}.puzzle-caption{justify-content:space-between;width:100%;gap:7px}.puzzle-caption strong,.puzzle-caption h3{font-size:15px}.puzzle-actions{width:100%;gap:9px}.puzzle-change,.puzzle-next{font-size:13px;min-height:49px;flex:1;padding:10px 12px}.embedded-play #board.puzzle{max-width:100%!important;min-width:0}.puzzle-picture-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}.puzzle-picture-choices button{padding:6px 6px 10px;border-radius:16px;font-size:12px}.puzzle-picture-choices svg,.puzzle-picture-choices img{height:100px;border-radius:10px}.puzzle-picture-choices strong{font-size:12px}#puzzle-picker{padding:15px;border-width:3px;border-radius:22px}.puzzle-picker-heading{gap:10px;margin-bottom:16px}.puzzle-picker-heading h2{font-size:23px}.puzzle-picker-heading p{font-size:8px;letter-spacing:.7px}.puzzle-picker-close{font-size:12px;padding:10px 13px;min-height:48px}#picture-dialog{padding:19px}.puzzle-toolbar #puzzle-piece-count{font-size:10px;padding:5px 8px}}
