:root{--ink: #2b1b5a;--violet: #7b4fd6;--violet-dark: #5b37b0;--sky: #3fa7f5;--green: #34c759;--red: #ff5a5a;--gold: #f2c94c;--paper: #fffaf0;--muted: #6b6390;--radius: 20px;font-family:Arial Rounded MT Bold,Trebuchet MS,Segoe UI,system-ui,sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overscroll-behavior:none}body{background:radial-gradient(circle at 20% 10%,#4b2f96,#2b1b5a 60%);user-select:none;-webkit-user-select:none}button{font:inherit;cursor:pointer;border:0;border-radius:14px;padding:12px 22px;background:var(--violet);color:#fff;font-weight:700;font-size:18px;box-shadow:0 4px 0 var(--violet-dark);transition:transform .06s}button:active{transform:translateY(2px);box-shadow:0 2px 0 var(--violet-dark)}button:disabled{opacity:.5;cursor:default}button.secondary{background:#ece8fb;color:var(--ink);box-shadow:0 4px #cfc6f0}button.danger{background:var(--red);box-shadow:0 4px #c43c3c}button.link{background:none;box-shadow:none;color:var(--violet);padding:6px;text-decoration:underline}input,select{font:inherit;font-size:18px;padding:12px 14px;border-radius:12px;border:2px solid #d8d1f2;background:#fff;color:var(--ink);width:100%;-webkit-user-select:text;user-select:text}.screen{min-height:100%;padding:24px}.center{display:grid;place-items:center}.card{background:var(--paper);border-radius:var(--radius);padding:22px;box-shadow:0 10px 30px #0000002e}.row{display:flex;gap:12px;flex-wrap:wrap}.spacer{flex:1}.note{color:var(--muted);font-size:15px}.error{color:#c43c3c}.title{color:#fff;font-size:clamp(40px,7vw,72px);margin:0;text-shadow:0 4px 0 rgba(0,0,0,.25)}.auth,.gate{width:min(440px,100%);display:grid;gap:12px}.auth .title{color:var(--ink);text-shadow:none;font-size:40px;text-align:center}.check{display:flex;gap:10px;font-size:14px;align-items:flex-start}.check input{width:auto;margin-top:3px}.gate input{font-size:32px;text-align:center;letter-spacing:4px}.home{display:flex;flex-direction:column;align-items:center;gap:18px;position:relative}.subtitle{color:#fff;font-size:28px;margin:0}.grownups{position:absolute;top:16px;right:16px;font-size:15px;padding:8px 14px;background:#ffffff26;box-shadow:none}.kids{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.kid{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--paper);color:var(--ink);box-shadow:0 8px #cfc6f0;padding:18px 24px;border-radius:28px;font-size:26px;min-width:170px}.kid.small{font-size:20px;min-width:0;padding:10px 18px;flex-direction:row}.login{display:flex;flex-direction:column;align-items:center;gap:16px}.picture-code{display:flex;flex-direction:column;align-items:center;gap:14px}.picture-slots{display:flex;gap:12px}.slot{width:72px;height:72px;border-radius:18px;background:#ffffffd9;border:3px dashed var(--violet);display:grid;place-items:center;font-size:44px}.picture-grid{display:grid;grid-template-columns:repeat(3,96px);gap:14px}.picture-btn{width:96px;height:96px;font-size:56px;padding:0;background:#fff;box-shadow:0 6px #cfc6f0;border-radius:24px}.shake{animation:shake .4s}@keyframes shake{20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.game{position:fixed;inset:0;background:#2b1b5a}.game-canvas{position:absolute;inset:0}.hud{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:10px;align-items:center;pointer-events:none}.hud>*{pointer-events:auto}.hud-battle{top:auto;bottom:10px}.hud-btn{width:56px;height:56px;padding:0;font-size:28px;background:#ffffffd9;box-shadow:0 4px #00000026;border-radius:50%}.hud-btn.off{opacity:.4}.hud-pill{background:#ffffffe6;border-radius:999px;padding:10px 18px;font-size:22px;font-weight:700}.hud-battle .hud-btn{width:48px;height:48px;font-size:24px}.overlay{position:fixed;inset:0;background:#140a3299;display:grid;place-items:center;padding:16px;z-index:10}.shop{width:min(900px,100%);max-height:100%;overflow:auto}.shop header{display:flex;align-items:center;gap:16px}.shop h2{flex:1;margin:0;font-size:32px}.coins{font-size:26px;font-weight:700}.close{width:52px;height:52px;padding:0;border-radius:50%;font-size:22px}.shop h3{margin:18px 0 8px}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;color:var(--ink);box-shadow:0 4px #ddd6f5;padding:14px 10px;border:3px solid transparent}.item.worn{border-color:var(--green)}.item.poor{opacity:.55}.swatch{width:54px;height:54px;border-radius:50%;border:3px solid rgba(0,0,0,.1)}.item .name{font-size:15px}.item .price{font-size:15px;color:var(--muted)}.dashboard{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:16px;-webkit-user-select:text;user-select:text}.dash-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#fff}.dash-header h1{margin:0;font-size:28px}.mode{font-size:14px;opacity:.85}.dash-kids{display:flex;gap:10px;flex-wrap:wrap}.kid-tab{display:flex;align-items:center;gap:8px;background:#ffffff26;box-shadow:none;padding:6px 16px 6px 8px}.kid-tab.active{background:var(--paper);color:var(--ink)}.add-child{display:grid;gap:14px;max-width:520px}.add-child label{display:grid;gap:6px;font-weight:700}.add-child h3{margin:8px 0 0}.add-child .slot{background:#fff}.code-preview{font-size:36px;margin:0}.report{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}.report h2{margin:0 0 10px;font-size:22px}.stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:700}.stat-label{font-size:14px;color:var(--muted)}.heatmap{display:grid;grid-template-columns:40px repeat(10,1fr);gap:3px}.hm-cell{aspect-ratio:1;border-radius:6px;display:grid;place-items:center;font-size:12px;color:#0009}.hm-head{background:none;font-weight:700;color:var(--muted)}.tables{display:grid;gap:8px}.table-row{display:grid;grid-template-columns:40px 1fr 120px;gap:10px;align-items:center}.t-label{font-weight:700}.t-state{font-size:14px;color:var(--muted)}.bar{height:16px;background:#ece8fb;border-radius:8px;overflow:hidden}.fill{height:100%;border-radius:8px}.weak{margin:0;padding-left:18px;line-height:1.8}.week{display:flex;gap:10px;align-items:flex-end;height:160px}.day{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.day-bar{flex:1;width:100%;max-width:40px;background:#ece8fb;border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.day-fill{width:100%;background:var(--violet);border-radius:8px}.day-min,.day-label{font-size:13px;color:var(--muted)}.manage{grid-column:1 / -1}@media(prefers-reduced-motion:reduce){.shake{animation:none}}
