html.kids-mode{--radius-s:10px;--radius:16px;--radius-l:24px;--accent:#ff7a59;--accent-strong:#ff6a45;--accent-ink:#2a0d05;--accent-soft:#ff7a5929;--good:#3fc47a;--info:#4aa8f0;--kids-1:#ff5c93;--kids-2:#ffd23f;--kids-3:#4aa8f0;--kids-4:#3fc47a;font-size:17px}html.kids-mode[data-theme=dark]{--bg:#1b1a33;--bg-elev:#232245;--surface:#2a2952;--surface-2:#33325f;--surface-hover:#3c3a6c;--border:#45437a}html.kids-mode[data-theme=light]{--bg:#fff7ec;--bg-elev:#fffaf3;--surface:#fff;--surface-2:#fff0dd;--surface-hover:#ffe6c7;--border:#f3d9b8;--accent:#f0623d;--accent-strong:#e0532f}html.kids-mode .btn{border-radius:999px;font-weight:600}html.kids-mode .btn-lg{padding-block:14px}html.kids-mode .nav-item{border-radius:14px;font-size:1.05rem}html.kids-mode .panel,html.kids-mode .side-card{border-width:2px}html.kids-mode .page-title,html.kids-mode .hub-title{background:linear-gradient(90deg, var(--kids-1), var(--kids-3));color:#0000;-webkit-background-clip:text;background-clip:text}.kids-badge{color:#2a0d05;background:linear-gradient(90deg,#ff5c93,#ffb547);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.kids-blocked{text-align:center;justify-items:center;gap:12px;max-width:520px;margin:48px auto;padding:24px 16px;display:grid}.kids-blocked-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.kids-settings .kids-pin-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.kids-settings .kids-pin-row input{letter-spacing:.3em;width:160px}.kids-settings h2{align-items:center;gap:6px;display:flex}.celebration{pointer-events:none;z-index:200;position:fixed;inset:0;overflow:hidden}.confetti{border-radius:3px;width:10px;height:14px;animation:1.9s ease-in forwards confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{to{transform:translate(var(--drift,0), 105vh) rotate(540deg);opacity:.6}}.celebration-text{background:var(--surface);border:3px solid var(--accent);box-shadow:var(--shadow);color:var(--text);border-radius:999px;padding:14px 28px;font-size:1.6rem;font-weight:800;animation:.5s cubic-bezier(.2,1.6,.4,1) cheer-pop;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}@keyframes cheer-pop{0%{transform:translate(-50%,-50%)scale(.3)}}@media (prefers-reduced-motion:reduce){.celebration-text{animation:none}}.bot-avatar{border-radius:50%;flex:none;display:block}.char-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:300px;padding:2px;display:grid;overflow-y:auto}.char-card{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;justify-items:center;gap:3px;padding:8px 4px;transition:transform .12s,border-color .12s;display:grid;position:relative}.char-card:hover{transform:translateY(-2px)}.char-card.on{border-color:var(--char,var(--accent));background:var(--surface-hover);box-shadow:0 0 0 2px color-mix(in srgb, var(--char,var(--accent)) 35%, transparent)}.char-name{text-align:center;font-size:.8rem;font-weight:600;line-height:1.15}.char-level{color:var(--text-3);font-size:.72rem}.char-beaten{color:var(--accent);position:absolute;top:4px;right:6px}.char-custom-icon{background:var(--surface);width:52px;height:52px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.char-detail{border-radius:var(--radius);border-left:4px solid var(--char,var(--accent));background:var(--surface-2);align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.char-detail p{margin:2px 0 0;font-size:.88rem}.bot-speech-row{align-items:flex-start;gap:8px;min-height:64px;padding:10px 12px;display:flex}.bot-speech{border:2px solid var(--accent);background:var(--surface-2);border-radius:14px;gap:2px;padding:8px 12px;font-size:.92rem;animation:.25s ease-out speech-in;display:grid;position:relative}.bot-speech strong{color:var(--text-2);font-size:.75rem}.bot-speech:before{content:"";border:7px solid #0000;border-right-color:inherit;border-left:0;position:absolute;top:14px;left:-8px}@keyframes speech-in{0%{opacity:0;transform:translateY(6px)scale(.96)}}.char-badges{margin-top:24px}.char-badges h2{align-items:center;gap:8px;font-size:1.15rem;display:flex}.char-badge-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.char-badge{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text-2);justify-items:center;gap:4px;max-width:100%;padding:10px 6px;font-size:.82rem;text-decoration:none;display:grid}.char-badge:not(.won) .bot-avatar{filter:grayscale()opacity(.45)}.char-badge.won{color:var(--text);border-color:var(--accent)}.emote-bar{flex-wrap:wrap;align-items:center;gap:4px;padding:8px 10px;display:flex}.emote-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:50%;width:36px;height:36px;font-size:1.15rem;line-height:1;transition:transform .1s}.emote-btn:hover:not(:disabled){transform:scale(1.15)}.emote-btn:disabled{opacity:.45;cursor:default}.emote-mute{margin-left:auto}.emote-mute.on{color:var(--bad)}.emote-note{width:100%;font-size:.8rem}.player-bar{position:relative}.emote-bubble{z-index:20;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);pointer-events:none;border-radius:18px;padding:6px 8px;font-size:1.8rem;line-height:1;animation:2.6s ease-out forwards emote-float;position:absolute;top:-18px;right:72px}@keyframes emote-float{0%{opacity:0;transform:translateY(10px)scale(.6)}12%{opacity:1;transform:translateY(0)scale(1.1)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-14px)}}@media (prefers-reduced-motion:reduce){.emote-bubble{animation:none}}.streaks-panel{gap:8px;margin-bottom:16px;display:grid}.streaks-head{align-items:center;gap:12px;display:flex}.streaks-head h2{margin:0;font-size:1.1rem}.streaks-head p{margin:2px 0 0}.streak-flame{color:var(--text-3)}.streak-flame.lit{color:#ff7a2f}.streak-nudge{color:var(--accent);margin:0;font-weight:600}.streaks-freeze{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.freeze-dot{color:var(--text-3);opacity:.4}.freeze-dot.on{color:#6cc8ff;opacity:1}.streaks-help{margin:0;font-size:.82rem}.streak-chip{color:#ff7a2f;vertical-align:middle;background:#ff7a2f1f;border-radius:999px;align-items:center;gap:2px;margin-left:6px;padding:0 7px;font-size:.78rem;font-weight:700;display:inline-flex}.streak-chip:not(.done){opacity:.75;outline:1px dashed #ff7a2f99}.micro-page{max-width:640px;margin:0 auto;padding:16px}.micro-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.micro-hearts{color:var(--text-3);gap:2px;display:inline-flex}.micro-hearts .on{color:#ff4f6d}.micro-stats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0;display:grid}.micro-goal,.micro-streak{align-items:center;gap:12px;display:flex}.micro-goal .segmented{flex-wrap:wrap;margin-top:6px}.micro-goal .segmented button{font-size:.78rem}.micro-streak{color:#ff7a2f}.micro-streak div{color:var(--text);display:grid}.micro-wait{text-align:center;color:var(--bad);font-weight:600}.micro-path{justify-items:center;gap:18px;margin:0;padding:12px 0 24px;list-style:none;display:grid}.micro-node{transform:translateX(var(--offset,0));justify-items:center;gap:4px;display:grid}.micro-node-btn{width:64px;height:64px;font:inherit;background:var(--surface-2);color:var(--text-3);box-shadow:0 5px 0 var(--border);border:0;border-radius:50%;place-items:center;display:grid}.micro-node.done .micro-node-btn{background:var(--good);color:#fff;box-shadow:0 5px 0 color-mix(in srgb, var(--good) 60%, #000)}.micro-node.current .micro-node-btn{background:var(--accent);width:80px;height:80px;color:var(--accent-ink);box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 60%, #000);cursor:pointer;animation:1.6s ease-in-out infinite node-bounce}.micro-node.current .micro-node-btn:disabled{opacity:.5;cursor:default;animation:none}@keyframes node-bounce{50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.micro-node.current .micro-node-btn{animation:none}}.micro-node-label{text-align:center;max-width:220px;font-size:.85rem;font-weight:600}.micro-foot{text-align:center;font-size:.85rem}.micro-top{align-items:center;gap:10px;margin-bottom:12px;display:flex}.micro-progress{background:var(--surface-2);border-radius:999px;flex:1;height:14px;overflow:hidden}.micro-progress span{background:var(--good);border-radius:999px;height:100%;transition:width .3s;display:block}.micro-exercise{gap:12px;display:grid}.micro-prompt{margin:0;font-size:1.05rem;font-weight:600}.micro-board{width:min(100%,440px);margin:0 auto}.micro-options{gap:8px;display:grid}.micro-option.right{background:var(--good-soft);border-color:var(--good)}.micro-option.wrong{background:var(--bad-soft);border-color:var(--bad)}.micro-feedback{border-radius:var(--radius-l);gap:8px;margin-top:14px;padding:14px;animation:.2s ease-out speech-in;display:grid;position:sticky;bottom:0}.micro-feedback.ok{background:var(--good-soft);border:2px solid var(--good)}.micro-feedback.bad{background:var(--bad-soft);border:2px solid var(--bad)}.micro-done{text-align:center;justify-items:center;gap:8px;padding-top:40px;display:grid}.micro-xp{color:var(--accent);margin:0;font-size:2.4rem;font-weight:800}.parent-page{max-width:820px;margin:0 auto;padding:16px}.parent-card{margin-bottom:16px}.parent-card h2{align-items:center;gap:8px;margin:0 0 10px;font-size:1.15rem;display:flex}.parent-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.parent-stats div{border-radius:var(--radius);background:var(--surface-2);padding:8px 10px;display:grid}.parent-stats strong{font-size:1.4rem}.parent-sub{margin:14px 0 6px;font-size:.85rem}.parent-chart{grid-template-columns:repeat(14,1fr);align-items:end;gap:4px;height:120px;display:grid}.parent-bar{grid-template-rows:1fr auto;place-items:end center;min-width:0;height:100%;display:grid}.parent-bar-fill{background:var(--info);border-radius:4px 4px 0 0;width:100%;min-height:2px}.parent-bar-label{color:var(--text-3);max-width:100%;font-size:.65rem;overflow:hidden}html.kids-mode .comments{display:none}.kids-settings{justify-items:start;gap:8px;display:grid}.kids-settings p{margin:0}.kids-settings .kids-pin-row input::placeholder{letter-spacing:normal}
