:root{--bg: #fff8ee;--card: #ffffff;--ink: #3b2f22;--accent: #ffb347;--accent-dark: #e08a1e;--green: #2fae63;font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;border:none;cursor:pointer;touch-action:manipulation}.home{min-height:100%;padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:32px}.home h1{margin:0;font-size:clamp(32px,6vw,56px);color:var(--accent-dark)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,124px);justify-content:center;gap:16px;width:100%;max-width:1000px}.tile{aspect-ratio:1;border-radius:32px;background:var(--card);box-shadow:0 6px #ecdcc4;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .1s}.tile:active{transform:translateY(4px);box-shadow:0 2px #ecdcc4}.tile.mastered{background:#e6f7ec;box-shadow:0 6px #bfe5cc}.tile-glyph{font-size:72px;line-height:1}.tile-stars{font-size:18px;min-height:1.2em}.activity{height:100%;display:flex;flex-direction:column;padding:12px 16px 20px;gap:12px}.activity-bar{display:flex;align-items:center;gap:12px}.activity-glyph{flex:1;text-align:center;font-size:56px;line-height:1}.round-btn{width:72px;height:72px;border-radius:50%;background:var(--card);font-size:34px;box-shadow:0 4px #ecdcc4}.round-btn:active{transform:translateY(3px);box-shadow:0 1px #ecdcc4}.trace-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.trace-canvas{background:var(--card);border-radius:28px;box-shadow:0 6px #ecdcc4;touch-action:none}.level-dots{display:flex;justify-content:center;gap:12px}.level-dots span{width:18px;height:18px;border-radius:50%;background:#ecdcc4}.level-dots span.on{background:var(--accent)}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;background:#3b2f2259;display:flex;align-items:center;justify-content:center;padding:16px}.celebrate-card{background:var(--card);border-radius:36px;padding:32px 40px;text-align:center;animation:pop .35s ease-out}.celebrate-card p{font-size:40px;margin:8px 0 24px}.celebrate-stars{font-size:96px;animation:spin 1s ease-out}.celebrate-actions{display:flex;gap:16px;justify-content:center}.big-btn{min-width:120px;min-height:72px;padding:0 28px;border-radius:36px;background:var(--accent);color:#fff;font-size:30px;box-shadow:0 5px 0 var(--accent-dark)}.big-btn.secondary{background:#f1e6d6;box-shadow:0 5px #ddc9ab}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(-180deg) scale(.3)}to{transform:rotate(0) scale(1)}}.activity-glyph{background:none;font-size:56px;line-height:1;padding:4px 24px;border-radius:24px}.activity-glyph:active{background:#f6ecdd}.home{position:relative}.home-corner{position:absolute;top:12px;right:16px}.hold-btn{position:relative;width:56px;height:56px;border-radius:50%;background:transparent;font-size:26px;opacity:.45;overflow:hidden;-webkit-user-select:none}.hold-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--accent);opacity:.35;transform:scale(0)}.hold-btn.holding{opacity:1}.hold-btn.holding:after{animation:grow var(--hold-ms) linear forwards}@keyframes grow{to{transform:scale(1)}}.parent{max-width:760px;margin:0 auto;padding:16px 16px 48px;user-select:text;-webkit-user-select:text}.parent-bar{display:flex;align-items:center;gap:16px}.parent-bar h1{margin:0;font-size:32px}.parent-intro{line-height:1.5;color:#6b5a45}.parent-message{background:#fdeccf;padding:12px 16px;border-radius:16px}.parent h2{font-size:20px;margin:28px 0 8px;color:var(--accent-dark)}.clip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.clip-row{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:20px;padding:8px 8px 8px 16px;box-shadow:0 3px #ecdcc4}.clip-text{flex:1;min-width:0;display:flex;flex-direction:column}.clip-label{font-size:20px}.clip-label.glyph{font-size:36px;line-height:1.1}.clip-hint{font-size:14px;color:#8a775f}.clip-status{width:28px;text-align:center}.clip-btn{width:56px;height:56px;border-radius:50%;background:#f6ecdd;font-size:22px}.clip-btn:disabled{opacity:.35}.clip-btn.rec{color:#d64545;font-size:26px}.clip-btn.recording{background:#d64545;color:#fff;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.08)}}.celebrate-actions{flex-wrap:wrap}.big-btn.secondary{color:var(--ink)}.case-toggle{display:flex;background:#f1e6d6;border-radius:40px;padding:6px;gap:6px;margin-top:-12px}.case-toggle button{min-width:120px;min-height:64px;border-radius:34px;background:transparent;font-size:34px;color:#8a775f}.case-toggle button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 4px #ddc9ab}.case-toggle.small{margin-top:0;padding:4px;gap:4px}.case-toggle.small button{min-width:64px;min-height:60px;font-size:32px}@media(max-width:640px){.activity-bar{gap:6px}.round-btn{width:52px;height:52px;font-size:24px}.activity-glyph{font-size:40px;padding:4px 8px}.case-toggle.small button{min-width:48px;min-height:48px;font-size:24px}}
