@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/redesign/9Bt43C1KxNDXMspQ1lPyU89-1h6ONRlW45G056IkUwCybQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/redesign/9Bt43C1KxNDXMspQ1lPyU89-1h6ONRlW45G056IqUwA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/redesign/9Bt23C1KxNDXMspQ1lPyU89-1h6ONRlW45G07JIoSwQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/redesign/9Bt23C1KxNDXMspQ1lPyU89-1h6ONRlW45G04pIo.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/redesign/9Bt73C1KxNDXMspQ1lPyU89-1h6ONRlW45G8Wbc9eiWPVFw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/redesign/9Bt73C1KxNDXMspQ1lPyU89-1h6ONRlW45G8Wbc9dCWP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51ncANwr.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51fcANwr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51bcANwr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/redesign/wXKrE3kTposypRyd51jcAA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #2b2733;--ink-soft: #6b6577;--indigo: #2b2733;--faded-ink: #6b6577;--border: #2b2733;--cream: #fff4e4;--paper: #ffffff;--mascot-bg: #ffe0c4;--amber: #fbb024;--amber-dark: #d98a12;--amber-text: #8a5806;--ochre: #fbb024;--ochre-dark: #d98a12;--ochre-wash: #fbf0d8;--sage: #6fb06a;--sage-dark: #4a7a44;--sage-wash: #e4f0e2;--radius: 26px;--radius-sm: 14px;--radius-pill: 20px;--radius-wobble: 60% 40% 55% 45% / 50% 55% 45% 50%;--shadow-sm: 2px 2px 0 var(--border);--shadow-md: 4px 4px 0 var(--border);--shadow-lg: 5px 6px 0 var(--border);--font-display: "Baloo 2", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--focus: #4e8fd1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);line-height:1.55;min-height:100vh;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cg fill='%23ffffff' fill-opacity='0.5'%3E%3Cellipse cx='75' cy='88' rx='20' ry='16'/%3E%3Cellipse cx='54' cy='60' rx='8' ry='9.5'/%3E%3Cellipse cx='72' cy='51' rx='8.5' ry='10'/%3E%3Cellipse cx='92' cy='55' rx='8' ry='9.5'/%3E%3Cellipse cx='104' cy='72' rx='7' ry='8'/%3E%3C/g%3E%3C/svg%3E") repeat,linear-gradient(180deg,#ffe7c9,#ffd7bc 52%,#ffe3d0);background-attachment:fixed;background-size:150px 150px,cover}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.2;font-weight:800}a{color:var(--amber-dark);text-decoration:none;font-weight:700}a:hover{color:var(--amber)}:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.site-header{border-bottom:3px solid var(--border);background:var(--cream);position:sticky;top:0;z-index:30}.header-content{max-width:1100px;margin:0 auto;padding:14px clamp(16px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{color:inherit;display:flex;align-items:center;gap:12px}.brand h1{font-size:clamp(20px,3vw,26px);margin:0}.tagline{font-size:.8rem;color:var(--ink-soft);margin:0}.site-nav{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.site-nav a{font-weight:700;color:var(--ink)}.page{max-width:1100px;margin:0 auto;padding:clamp(16px,3vw,32px) clamp(16px,4vw,32px)}button,.btn{font-family:var(--font-display);font-weight:700;font-size:1rem;padding:.6rem 1.2rem;border:3px solid var(--border);border-radius:var(--radius-sm);background:var(--amber);color:var(--ink);cursor:pointer;min-height:44px;box-shadow:var(--shadow-sm);transition:transform .1s,box-shadow .1s}button:hover,.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--border)}button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--paper);color:var(--ink)}.nav-btn{padding:.4rem .9rem;font-size:.95rem}.nav-cta{background:var(--amber);border:3px solid var(--border);border-radius:var(--radius-sm);padding:.5rem 1rem;box-shadow:var(--shadow-sm);color:var(--ink)!important;min-height:44px;display:inline-flex;align-items:center}.full{width:100%}.card{border:3px solid var(--border);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-lg);padding:22px}.auth-wrap{max-width:440px;margin:2rem auto}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.field label{font-weight:700}.field input,.field select,.field textarea{padding:.7rem .85rem;border:3px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:1rem;font-family:var(--font-body)}.error-box{background:#ffe3e3;color:#a11;border:3px solid #a11;border-radius:var(--radius-sm);padding:.6rem .8rem;margin-bottom:1rem;font-weight:700}.muted{color:var(--ink-soft)}.switch-line{margin-top:1.2rem;text-align:center;color:var(--ink-soft)}.switch-line a{color:var(--amber-text);font-weight:700}.hero{text-align:center;padding:2rem 0 1rem}.hero h2{font-size:clamp(28px,5vw,44px)}.hero p{max-width:40rem;margin:.6rem auto;color:var(--ink-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:clamp(14px,2.2vw,22px);margin-top:1.5rem}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.stat{border:3px solid var(--border);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-sm);padding:1.1rem;text-align:center}.stat .value{font-family:var(--font-display);font-size:2.2rem;color:var(--ink);font-weight:800}.stat.accent{background:var(--sage-wash)}.list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.list li{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem .7rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:#fff}.list li.mastered{background:var(--sage-wash);border-color:var(--sage)}.checklist{display:grid;gap:.5rem}.checklist label{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;border:3px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-weight:600}.suggestion{background:var(--sage-wash);border:3px solid var(--sage);border-radius:var(--radius-sm);padding:.7rem .9rem;margin-bottom:1rem}.section-title{text-align:center;font-size:clamp(24px,4vw,34px);margin-bottom:1.2rem}.game-player-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.brand-avatar{width:56px;height:56px;object-fit:cover;object-position:50% 30%;border:3px solid var(--border);background:var(--mascot-bg);border-radius:var(--radius-wobble);flex:0 0 auto}.mascot{object-fit:cover;object-position:50% 30%;border:4px solid var(--border);background:var(--mascot-bg);border-radius:62% 38% 55% 45%/52% 55% 45% 48%}@keyframes wolfie-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wolfie-wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes wolfie-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes wolfie-in{0%{transform:translateY(16px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.wolfie-float{animation:wolfie-float 3.4s ease-in-out infinite}.wolfie-wiggle{animation:wolfie-wiggle .5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.wolfie-float,.wolfie-wiggle{animation:none}}.hub-hero{display:flex;align-items:center;gap:clamp(14px,3vw,28px);border:3px solid var(--border);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-lg);padding:clamp(16px,3vw,26px);margin-bottom:1.6rem}.hub-hero .mascot{width:clamp(96px,20vw,140px);height:clamp(96px,20vw,140px);flex:0 0 auto}.hub-hero h2{font-size:clamp(24px,4vw,38px);margin-bottom:.3rem}.hub-hero p{color:var(--ink-soft);font-size:clamp(15px,2.2vw,20px);max-width:34rem}.hero-read{margin-left:auto;flex:0 0 auto;width:52px;height:52px;padding:0;font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center}.hub-toolbar{display:flex;align-items:center;gap:.7rem;justify-content:flex-end;margin-bottom:1rem;flex-wrap:wrap}.sticker-btn{display:inline-flex;align-items:center;gap:.5rem}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border:2px solid var(--border);border-radius:999px;background:var(--amber);font-family:var(--font-display);font-weight:800;font-size:.9rem;color:var(--ink)}.icon-btn{width:52px;height:52px;padding:0;font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;background:var(--paper)}.game-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:clamp(14px,2.2vw,22px)}.game-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;border:3px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:20px 16px;color:var(--ink);transition:transform .12s,box-shadow .12s}.game-card:hover{transform:translate(-3px,-3px);box-shadow:7px 8px 0 var(--border);color:var(--ink)}.game-card .bubble{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:34px;background:var(--paper);border:3px solid var(--border);border-radius:58% 42% 55% 45%/50% 55% 45% 50%}.game-card h3{font-size:19px}.game-card .tag{font-size:13px;font-weight:700;color:var(--ink);text-transform:capitalize}.game-card{position:relative}.time-badge{position:absolute;top:8px;right:8px;z-index:1;background:var(--amber);color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:12px;padding:2px 9px;border-radius:var(--radius-pill);border:2px solid var(--border);box-shadow:2px 2px 0 var(--border);white-space:nowrap}.game-card .pill{margin-top:auto;padding:.35rem .9rem;border:3px solid var(--border);border-radius:var(--radius-pill);background:var(--paper);font-family:var(--font-display);font-weight:800;font-size:14px;box-shadow:var(--shadow-sm)}.cat-speech-articulation{background:#ff8f86}.cat-reading{background:#5fd0c8}.cat-numbers-math{background:#ffb25e}.cat-memory-cognition{background:#b79bf2}.cat-life-skills{background:#93a8f5}.cat-early-learning{background:#8fdb8a}.cat-communication{background:#ff9fcb}.cat-switch-access{background:#7fc6f5}.play-area{border:3px solid var(--border);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-lg);min-height:440px;padding:clamp(18px,3vw,30px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.game-target-word{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,6vw,52px);color:var(--ink)}.game-prompt{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,4vw,34px);text-align:center}.big-start{font-size:clamp(1.1rem,3vw,1.4rem);padding:.8rem 1.8rem;background:var(--amber);border:3px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#26333f8c;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-panel{background:var(--cream);border:4px solid var(--border);border-radius:28px;box-shadow:6px 8px 0 var(--border);padding:clamp(20px,4vw,34px);max-width:560px;width:100%;max-height:88vh;overflow-y:auto;animation:wolfie-in .25s ease-out}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.modal-head h2{font-size:clamp(22px,4vw,30px)}.modal-close{width:44px;height:44px;padding:0;font-size:1.2rem;background:var(--paper)}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:12px}.sticker-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:2.2rem;background:var(--paper);border:3px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.sticker-tile.fresh{animation:wolfie-pop .5s cubic-bezier(.2,1.4,.5,1)}.sticker-empty{text-align:center;color:var(--ink-soft);padding:1.5rem}.settings-section{background:var(--paper);border:3px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:1rem}.settings-section h3{font-size:17px;margin-bottom:.7rem}.segmented{display:flex;gap:.5rem;flex-wrap:wrap}.segmented button{flex:1;min-width:90px;background:var(--paper)}.segmented button.on{background:var(--amber)}.toggle-row{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border:3px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);margin-bottom:.6rem;font-weight:700}.toggle-row.on{background:#fbf0d8}.toggle-row .toggle-label{flex:1}.toggle-pill{min-width:62px;font-size:.85rem;padding:.3rem .6rem}.toggle-pill.on{background:var(--amber)}.toggle-pill.off{background:var(--paper)}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;pointer-events:none}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:119}.praise-card{pointer-events:auto;background:var(--paper);border:4px solid var(--border);border-radius:28px;box-shadow:6px 8px 0 var(--border);padding:clamp(20px,4vw,32px);text-align:center;animation:wolfie-pop .4s cubic-bezier(.2,1.5,.5,1);max-width:380px}.praise-card .mascot{width:150px;height:150px;margin:0 auto .6rem}.praise-line{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,5vw,38px);color:var(--amber-dark)}.praise-sticker{font-size:1.2rem;font-weight:700;margin-top:.4rem}.color-tile{width:clamp(120px,22vw,180px);height:clamp(120px,22vw,180px);background:var(--paper);border:3px solid var(--border);border-radius:22px;box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s}.color-dot{width:62%;height:62%;border-radius:50%;border:3px solid rgba(43,39,51,.25)}.color-tile.correct{animation:wolfie-glow .6s ease;border-color:var(--sage)}.color-tile.wrong{animation:wolfie-shake .4s ease}@keyframes wolfie-glow{0%{box-shadow:var(--shadow-md)}50%{box-shadow:0 0 0 8px #6fb06a80}to{box-shadow:var(--shadow-md)}}@keyframes wolfie-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.big-red-button{width:clamp(180px,34vw,260px);height:clamp(180px,34vw,260px);border-radius:50%;border:8px solid var(--border);background:radial-gradient(circle at 38% 30%,#f5806e,#e9614e 55%,#c13f2d);box-shadow:0 10px #8e2a1c,0 14px 22px #00000040;cursor:pointer;position:relative}.big-red-button:hover{transform:none;box-shadow:0 10px #8e2a1c,0 14px 22px #00000040}.big-red-button:active{transform:translateY(6px);box-shadow:0 4px #8e2a1c,0 6px 12px #00000040}.big-red-button:after{content:"";position:absolute;top:14%;left:16%;width:44%;height:34%;border-radius:50%;background:#ffffff59}.wolfie-companion{display:flex;align-items:center;gap:12px;max-width:34rem;margin:0 auto}.wolfie-avatar-wrap{position:relative;flex:0 0 auto}.wolfie-companion .mascot{width:clamp(72px,16vw,104px);height:clamp(72px,16vw,104px)}.wolfie-badge{position:absolute;bottom:-4px;right:-6px;font-size:1.15rem;background:#fff;border:2px solid var(--border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.speech-bubble{position:relative;background:var(--cream);border:3px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);padding:.7rem 1rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,3vw,1.45rem);color:var(--ink);text-align:left;animation:wolfie-pop .35s ease}.speech-bubble:before{content:"";position:absolute;left:-15px;top:50%;transform:translateY(-50%);border:8px solid transparent;border-right-color:var(--border)}.speech-bubble:after{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);border:7px solid transparent;border-right-color:var(--cream)}.bubble-replay{padding:.05rem .45rem;font-size:.85rem;margin-left:.4rem;vertical-align:middle;min-height:auto}@keyframes wolfie-nudge{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-6deg)}60%{transform:translateY(0) rotate(4deg)}}.wolfie-nudge{animation:wolfie-nudge .6s ease}.story-intro{gap:1rem}.story-intro .mascot{width:clamp(110px,26vw,160px);height:clamp(110px,26vw,160px)}.story-bubble{max-width:32rem;text-align:center;font-size:clamp(1.1rem,3.2vw,1.5rem)}.story-bubble:before,.story-bubble:after{display:none}.how-to-play{max-width:34rem;margin:0 auto;font-size:clamp(.95rem,2.4vw,1.15rem);color:var(--ink);background:var(--cream);border:3px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .9rem;box-shadow:var(--shadow-sm);text-align:center}.how-to-play strong{color:var(--amber-text)}.speech-controls{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.enter-hint{font-size:.85rem;margin-top:.4rem}.browser-notice{display:flex;align-items:center;justify-content:center;gap:.75rem 1rem;flex-wrap:wrap;background:var(--amber);color:var(--ink);border:3px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.6rem 1rem;margin-bottom:1rem;font-weight:600}.browser-notice-text{text-align:center}.browser-notice-btn{background:var(--paper);color:var(--ink);border:2px solid var(--border);border-radius:var(--radius-pill);padding:.3rem .9rem;font-weight:800;white-space:nowrap}.big-character{font-size:clamp(5rem,24vw,11rem);line-height:1;transition:transform .15s ease-out;will-change:transform}@keyframes chomp{0%,to{transform:scale(1)}35%{transform:scale(1.28) rotate(-5deg)}65%{transform:scale(.92) rotate(3deg)}}.chomp{animation:chomp .5s ease}@keyframes rocket-shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-1.5deg)}75%{transform:translate(3px) rotate(1.5deg)}}.rocket-shake{animation:rocket-shake .22s linear infinite}@keyframes blast-off{0%{transform:translateY(0)}to{transform:translateY(-60vh) scale(.7);opacity:0}}.blast-off{animation:blast-off 1s cubic-bezier(.4,0,.6,1) forwards}.color-morph{transition:color .4s ease,transform .3s ease}.color-morph.pop{transform:scale(1.2)}.chameleon{width:clamp(120px,30vw,190px);height:clamp(120px,30vw,190px);border-radius:50%;border:4px solid var(--border);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;transition:background .4s ease}.chameleon .big-character{font-size:clamp(3.5rem,16vw,7rem);filter:drop-shadow(0 2px 0 rgba(0,0,0,.2))}@media (prefers-reduced-motion: reduce){.wolfie-nudge,.chomp,.rocket-shake,.speech-bubble{animation:none}}.simon-board{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:min(84vw,360px)}.simon-pad{aspect-ratio:1;border:4px solid var(--border);border-radius:20px;cursor:pointer;filter:brightness(.82);transition:filter .1s,box-shadow .1s;box-shadow:var(--shadow-md)}.simon-pad.lit{filter:brightness(1.25)}
