:root{font-family:ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light;--bg:#f3f5fa;--surface:#fff;--ink:#192842;--muted:#56657b;--accent:#087f88;--line:#d9e2ee;--selected:#d7eff0;font-size:17px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}body[data-theme=space]{--accent:#7953b9;--selected:#e9defa}body[data-theme=forest]{--accent:#267449;--selected:#ddf2df}body[data-theme=sea]{--accent:#087b95;--selected:#d9f1f5}body[data-appearance=dark]{color-scheme:dark;--bg:#101723;--surface:#1a2639;--ink:#f1f5fc;--muted:#b9c8da;--line:#35465f;--selected:#35435f;--accent:#9ecaff}@media(prefers-color-scheme:dark){body[data-appearance=system]{color-scheme:dark;--bg:#101723;--surface:#1a2639;--ink:#f1f5fc;--muted:#b9c8da;--line:#35465f;--selected:#35435f;--accent:#9ecaff}}a{color:var(--accent)}.child-shell{max-width:1100px;margin:auto;padding:24px}#child-app{min-height:70vh}.child-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 24px}h1{font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.2}h2{font-size:1.25rem;line-height:1.3;overflow-wrap:anywhere}h3{overflow-wrap:anywhere}p{line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);border-radius:16px;padding:12px 18px;min-height:48px;background:var(--surface);color:var(--accent);cursor:pointer;font-weight:650;overflow-wrap:anywhere}button:hover{border-color:var(--accent)}button:disabled{opacity:.48;cursor:default}.primary{background:var(--accent);color:var(--bg);border-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.icon-button{font-size:1.6rem;padding:7px 14px}.child-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.child-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.child-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink)}.child-tabs .selected{background:var(--selected);border:2px solid var(--accent)}.child-art,.child-symbol{display:inline-flex;position:relative;align-items:center;justify-content:center;width:72px;height:72px;flex:0 0 auto;overflow:hidden;vertical-align:middle}.child-symbol{font-size:2.6rem}.child-art img{display:block;width:100%;height:100%;object-fit:contain}.large{width:140px;height:140px;font-size:5rem}.child-wallet{display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:var(--selected);border-radius:24px;padding:20px;margin-bottom:20px}.child-wallet>span{color:var(--accent);font-size:2.5rem}.child-wallet strong{font-size:2rem}.child-wallet small{margin-left:auto;color:var(--muted)}.child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px;margin:20px 0}.child-card,.child-login,.child-goal{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:24px}.child-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.child-card h2,.child-card p{margin:0}.child-card button{width:100%}.child-status,.muted{color:var(--muted)}.child-goal{margin-bottom:20px}.child-goal progress{width:100%;height:16px;accent-color:var(--accent)}.child-goal strong{margin-left:12px}.child-login{max-width:560px;margin:32px auto}.child-login label,.child-card label{display:block;width:100%;margin-bottom:18px}.child-login input,.child-card select,textarea{display:block;width:100%;padding:12px;margin-top:8px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px}.child-login input[name=code]{text-transform:uppercase;letter-spacing:2px}.child-login button{width:100%}.child-toggle{display:flex;align-items:center;gap:12px;margin:16px 0}.child-toggle input{width:24px;height:24px;accent-color:var(--accent)}.child-notice{padding:16px;border-radius:16px;background:var(--selected)}dialog{max-width:min(520px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:28px;padding:28px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#0009}.child-confirm{text-align:center;margin:16px 0 24px}.child-confirm label{text-align:left;display:block}.info{margin-left:10px;font-size:1.4rem}.fingerprint{font-family:ui-monospace,monospace;font-size:1.5rem;letter-spacing:2px}footer{padding:24px 0;color:var(--muted);display:flex;flex-wrap:wrap;gap:20px}@media(max-width:480px){.child-shell{padding:14px}.child-header{align-items:flex-start}.child-tabs{gap:6px}.child-tabs button{padding:10px 4px;font-size:.9rem}.child-card,.child-login{padding:18px}.child-actions{gap:6px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Bounded decorative feedback; never captures clicks or changes layout. */
.child-celebration{position:fixed;inset:0;z-index:20;pointer-events:none;display:grid;place-items:center;contain:strict}
.child-celebration-motif{font-size:88px;line-height:1.2;padding:20px;border-radius:50%;background:var(--surface);box-shadow:0 8px 35px #0002;animation:child-cheer 1.6s ease-out both}
.child-celebration-particle{position:absolute;left:calc(50% - 4px);top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--color);animation:child-burst 1.6s ease-out both}
@keyframes child-cheer{from{transform:scale(.7)}to{transform:scale(1.05)}}
@keyframes child-burst{from{transform:rotate(var(--angle)) translateX(12px);opacity:1}to{transform:rotate(var(--angle)) translateX(135px);opacity:0}}
@media(prefers-reduced-motion:reduce){.child-celebration-motif{animation:none}.child-celebration-particle{display:none}}

.child-particle-0{--angle:0deg;--color:hsl(0 80% 55%)}
.child-particle-1{--angle:20deg;--color:hsl(40 80% 55%)}
.child-particle-2{--angle:40deg;--color:hsl(80 80% 55%)}
.child-particle-3{--angle:60deg;--color:hsl(120 80% 55%)}
.child-particle-4{--angle:80deg;--color:hsl(160 80% 55%)}
.child-particle-5{--angle:100deg;--color:hsl(200 80% 55%)}
.child-particle-6{--angle:120deg;--color:hsl(240 80% 55%)}
.child-particle-7{--angle:140deg;--color:hsl(280 80% 55%)}
.child-particle-8{--angle:160deg;--color:hsl(320 80% 55%)}
.child-particle-9{--angle:180deg;--color:hsl(360 80% 55%)}
.child-particle-10{--angle:200deg;--color:hsl(400 80% 55%)}
.child-particle-11{--angle:220deg;--color:hsl(440 80% 55%)}
.child-particle-12{--angle:240deg;--color:hsl(480 80% 55%)}
.child-particle-13{--angle:260deg;--color:hsl(520 80% 55%)}
.child-particle-14{--angle:280deg;--color:hsl(560 80% 55%)}
.child-particle-15{--angle:300deg;--color:hsl(600 80% 55%)}
.child-particle-16{--angle:320deg;--color:hsl(640 80% 55%)}
.child-particle-17{--angle:340deg;--color:hsl(680 80% 55%)}
