@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#292727;--muted:#77756e;--paper:#f7f4ea;--purple:#8976e8;--lime:#d9ed71;--coral:#ff8975;--line:#e6e1d5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;min-height:100vh}.app-shell{width:min(100% - 48px,1000px);min-height:100vh;margin:auto;display:flex;flex-direction:column}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.8px;text-decoration:none}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--purple);color:white;font-size:21px;transform:rotate(-7deg)}.brand-four{color:var(--purple)}.tiny-badge{font-size:11px;color:#76736c;background:#efecdf;padding:8px 11px;border-radius:30px;display:flex;gap:7px;align-items:center}.live-dot{width:6px;height:6px;border-radius:50%;background:#91b332}.home-view{padding:51px 0 36px;flex:1}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.eyebrow{margin:0 0 13px;font-size:10px;font-weight:800;letter-spacing:1.6px;color:#837d6e}.welcome-row h1,.game-heading h1{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:clamp(38px,6vw,58px);letter-spacing:-3.2px;line-height:.99;margin:0}.welcome-row h1 span{color:var(--purple)}.sun-doodle{width:100px;height:100px;border-radius:50%;background:#ede8d8;display:grid;place-items:center;position:relative;color:#c5b9ff;font-size:37px}.sun-doodle span{position:absolute;right:5px;top:-4px;font-size:21px;color:#f5a28c}.sun-doodle i{font-style:normal;color:#8b78e5;font-size:43px;transform:rotate(12deg)}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-label h2{font-family:'Space Grotesk',sans-serif;font-size:16px;margin:0;letter-spacing:-.3px}.section-label>span{font-size:11px;color:var(--muted)}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.game-card{height:300px;border:0;border-radius:18px;padding:18px 19px 20px;text-align:left;position:relative;overflow:hidden;color:var(--ink);cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:flex-start}.game-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #4c3b1718}.game-card:focus-visible,.back-button:focus-visible,.action-button:focus-visible,.memory-tile:focus-visible{outline:3px solid #4533b9;outline-offset:3px}.card-reflex{background:#ded8ff}.card-memory{background:#f4cf9e}.card-bubble{background:#c6e8d7}.card-number{font-size:9px;font-weight:800;letter-spacing:1.25px;opacity:.62}.game-art{height:160px;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.reflex-art .target-ring{width:94px;height:94px;border:14px solid #fff9;border-radius:50%;background:var(--coral);box-shadow:inset 0 0 0 11px #f17362;position:relative}.reflex-art .target-ring:after{content:'';position:absolute;width:17px;height:17px;background:#fff;border-radius:50%;top:24px;left:24px}.spark{position:absolute;font-style:normal;font-size:28px;color:white;right:24%;top:23px;transform:rotate(12deg)}.memory-art{gap:0;transform:rotate(-4deg)}.memory-art i{font-style:normal;width:67px;height:83px;background:#fff8;border-radius:12px;display:grid;place-items:center;font-size:34px;box-shadow:0 5px 10px #6d44171c;border:2px solid #fff9}.memory-art i:nth-child(2){transform:translateY(-12px) rotate(8deg);z-index:1;background:#fff}.memory-art i:first-child{transform:rotate(-11deg) translateX(7px)}.memory-art i:last-child{transform:rotate(11deg) translateX(-7px)}.bubble-art{gap:10px}.bubble-art i{font-style:normal;display:grid;place-items:center;border-radius:50%;width:54px;height:54px;color:#fff;background:#86cbb3;border:3px solid #fff9;font-size:23px;box-shadow:inset -7px -8px 0 #4ea88b35}.bubble-art i:nth-child(2){width:72px;height:72px;background:#ffa48f;transform:translateY(-14px);font-size:0}.bubble-art i:nth-child(3){width:40px;height:40px;background:#a295ed;font-size:0}.bubble-art i:nth-child(4){position:absolute;right:17%;top:23px;color:#fff;background:none;border:0;box-shadow:none;font-size:17px;width:auto;height:auto}.card-title{font-family:'Space Grotesk',sans-serif;font-size:23px;letter-spacing:-.8px;font-weight:700;margin-top:auto}.card-subtitle{font-size:11px;margin-top:4px;opacity:.68}.play-arrow{position:absolute;right:18px;bottom:19px;width:29px;height:29px;border-radius:50%;background:#ffffff80;display:grid;place-items:center;font-size:16px}.bottom-note{display:flex;align-items:center;gap:10px;margin-top:24px;color:#77756e;font-size:11px}.note-star{color:#9a89eb;font-size:16px}.note-dash{height:1px;width:32px;background:#d6d0c1;margin-left:3px}.footer{height:55px;display:flex;align-items:center;justify-content:center;gap:8px;color:#98948a;font-size:10px;border-top:1px solid var(--line)}.footer-dot{font-size:5px;color:#a390ef}.hidden{display:none!important}.game-view{flex:1;padding:28px 0 40px}.game-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.back-button{border:0;background:#ede9dc;color:var(--ink);padding:10px 14px;border-radius:30px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.back-button span{margin-left:5px}.game-category{font-size:10px;font-weight:800;letter-spacing:1px;color:#888174}.game-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.game-heading h1{font-size:clamp(36px,6vw,50px)}.game-heading .eyebrow{margin-bottom:9px}.score-pill{background:#e9e4d7;padding:9px 13px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}.game-board{background:#fffdf7;border:1px solid #eee9dd;border-radius:22px;min-height:350px;padding:clamp(20px,5vw,42px);display:flex;align-items:center;justify-content:center;overflow:hidden}.game-content{text-align:center;width:min(100%,500px)}.game-content h2{font-family:'Space Grotesk',sans-serif;font-size:25px;letter-spacing:-.8px;margin:0 0 8px}.game-content p{font-size:13px;color:var(--muted);line-height:1.55;margin:0 auto 23px;max-width:340px}.action-button{border:0;background:var(--ink);color:white;padding:14px 23px;border-radius:30px;font:700 13px 'DM Sans',sans-serif;cursor:pointer;transition:transform .15s,background .15s}.action-button:hover{transform:scale(1.04);background:#5145a1}.reflex-stage{height:220px;width:min(100%,380px);margin:0 auto 20px;border-radius:20px;background:#efecdf;display:grid;place-items:center;cursor:pointer;user-select:none;touch-action:manipulation;transition:background .2s}.reflex-stage.waiting{background:#ffcf68}.reflex-stage.ready{background:#9edd8d}.reflex-stage.early{background:#ffaaa0}.stage-label{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;max-width:260px}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(48px,72px));gap:10px;justify-content:center;margin:0 auto 22px}.memory-tile{aspect-ratio:1;border:0;border-radius:14px;background:#e6e0ff;cursor:pointer;font-size:29px;transition:transform .18s,background .18s;box-shadow:0 3px 0 #c9c0f5}.memory-tile:hover{transform:translateY(-2px)}.memory-tile.open{background:#fff0cf;box-shadow:0 3px 0 #e9d6a9}.memory-tile.matched{background:#d5efd9;box-shadow:0 3px 0 #b5d9ba;cursor:default}.bubble-stage{height:250px;width:min(100%,500px);background:#e5f3e9;border-radius:20px;position:relative;margin:0 auto 20px;overflow:hidden;touch-action:manipulation}.pop-target{position:absolute;border:0;border-radius:50%;width:55px;height:55px;background:#8c7be4;box-shadow:inset -8px -9px 0 #5e4cbd55,0 4px 9px #6251a833;cursor:pointer;animation:pop-in .18s ease-out}.pop-target::after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#ffffffa8;top:11px;left:12px}.pop-target:hover{filter:brightness(1.08)}@keyframes pop-in{from{transform:scale(.6)}to{transform:scale(1)}}.round-info{font-size:11px;font-weight:700;color:#77756e;margin-bottom:14px}.result-emoji{font-size:40px;margin-bottom:12px}@media(max-width:700px){.app-shell{width:min(100% - 32px,500px)}.topbar{height:68px}.home-view{padding:37px 0 28px}.welcome-row{margin-bottom:30px}.welcome-row h1{font-size:43px}.sun-doodle{width:76px;height:76px;font-size:29px}.sun-doodle i{font-size:34px}.games-grid{grid-template-columns:1fr;gap:11px}.game-card{height:142px;border-radius:16px;padding:15px 16px}.card-number{font-size:8px}.game-art{position:absolute;right:24px;top:6px;width:125px;height:118px;transform:scale(.72)}.memory-art{right:17px}.bubble-art{right:16px}.card-title{font-size:20px;margin-top:auto}.card-subtitle{font-size:10px}.play-arrow{right:15px;bottom:15px;width:25px;height:25px;font-size:14px}.card-subtitle{max-width:190px}.bottom-note{margin-top:19px}.footer{height:48px}.game-view{padding-top:19px}.game-topline{margin-bottom:34px}.game-board{min-height:370px;padding:20px 14px}.game-heading{margin-bottom:19px}.game-heading h1{font-size:39px}.reflex-stage{height:205px}.bubble-stage{height:235px}.memory-grid{gap:8px}.memory-tile{border-radius:12px}.tiny-badge{font-size:10px;padding:7px 9px}}@media(max-width:370px){.app-shell{width:calc(100% - 24px)}.welcome-row h1{font-size:38px}.game-art{right:8px}.card-subtitle{max-width:170px}.game-heading h1{font-size:34px}}