:root{--ink:#fff;--muted:#bcb7d7;--card:#24213f;--bg:#100d27;--pink:#fd5f98;--yellow:#ffd44d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 20% 0,#33245d 0,transparent 32%),radial-gradient(circle at 90% 20%,#243e71 0,transparent 28%),var(--bg);font-family:'Baloo Da 2',sans-serif;min-height:100vh}.stars{position:fixed;inset:0;pointer-events:none;opacity:.3;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:47px 47px}.shell{max-width:1180px;margin:auto;padding:24px;position:relative}header{display:flex;justify-content:space-between;align-items:center}.brand{font:700 28px Fredoka,sans-serif;color:#fff;text-decoration:none}.brand span{color:var(--yellow);text-shadow:0 0 18px #ffd44d}.brand small{font-size:10px;letter-spacing:2px;color:var(--pink);margin-left:5px}.head-actions{display:flex;gap:10px;align-items:center}.outline,.logout{font:600 15px inherit;background:transparent;border:1px solid #746b9b;color:#fff;border-radius:12px;padding:9px 14px;text-decoration:none;cursor:pointer}.parent-pill{background:#443568;padding:8px 12px;border-radius:10px}.hero{display:flex;justify-content:space-between;align-items:center;padding:46px 6% 25px}.eyebrow{font:600 13px Fredoka,sans-serif;letter-spacing:1.5px;color:var(--yellow);margin:0}.hero h1{font:700 clamp(38px,6vw,68px) Fredoka,sans-serif;margin:2px 0}.hero em{font-style:normal;color:var(--pink)}.sub{font-size:18px;color:var(--muted);margin:0}.coin-orbit{font-size:86px;position:relative;filter:drop-shadow(0 0 25px #ffc400)}.coin-orbit b,.coin-orbit i{position:absolute;font:700 26px Fredoka;color:#73f4ce}.coin-orbit b{right:-10px;top:0}.coin-orbit i{left:-21px;bottom:0;color:var(--pink)}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.player-card,.panel,.tip,.parent-zone{background:linear-gradient(135deg,#2d2950,#211d3d);border:1px solid #4a4271;border-radius:22px;box-shadow:0 17px 35px #07051455}.player-card{padding:20px;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;position:relative;overflow:hidden}.player-card:before{content:'';position:absolute;width:140px;height:140px;border-radius:50%;background:var(--accent);opacity:.1;right:-45px;top:-45px}.rank{position:absolute;right:18px;top:13px;color:#a79fc8;font:600 15px Fredoka}.avatar,.mini{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--accent);font:700 27px Fredoka;color:#fff}.player-card h2{font:600 23px Fredoka;margin:0}.player-card p,.history p{color:var(--muted);margin:1px 0;font-size:14px}.score{text-align:right;align-self:end}.score span{display:block;font:700 38px Fredoka;color:var(--yellow)}.score small{color:#d4cbe8}.meter{grid-column:1/-1;height:8px;background:#17142e;border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#73f4ce);border-radius:9px}.lower{display:grid;grid-template-columns:2.2fr 1fr;gap:18px;margin-top:20px}.panel{padding:22px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel h2,.tip h3,.parent-zone h2{font:600 25px Fredoka;margin:0}.panel-title span{font-size:25px}.history{display:flex;gap:12px;align-items:center;border-top:1px solid #40395f;padding:13px 0}.mini{width:37px;height:37px;min-width:37px;border-radius:11px;font-size:18px}.history b{font-size:17px}.history strong{margin-left:auto;font:600 18px Fredoka;white-space:nowrap}.earn{color:#73f4ce}.loss{color:#ff779e}.photo{color:#fff;text-decoration:none;font-size:17px}.tip{padding:30px;background:linear-gradient(145deg,#554289,#302752)}.tip span{font-size:52px}.tip p{color:#e0daf2;font-size:16px}.parent-zone{margin-top:22px;padding:26px}.parent-intro p:not(.eyebrow){color:var(--muted);margin:4px 0 18px}.mission-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{color:#dcd5f1;font-size:15px}input,select{display:block;width:100%;margin-top:4px;border:1px solid #615987;background:#17142e;color:white;border-radius:10px;padding:10px 12px;font:16px inherit}.wide{grid-column:1/-1}.type-buttons{display:flex;gap:8px;align-items:end}.type-buttons label{margin:0}.type-buttons input{position:absolute;opacity:0}.type-buttons span{display:block;padding:10px;border:1px solid #615987;border-radius:10px;cursor:pointer}.type-buttons input:checked+span{border-color:var(--yellow);background:#4c3b1e}.points{grid-column:1/-1}.points p{margin:0 0 4px;color:#dcd5f1}.points button{border:0;border-radius:9px;background:#3c3560;color:#fff;font:600 16px Fredoka;padding:8px 13px;margin-right:5px;cursor:pointer}.points button:hover{background:var(--pink)}.points input{display:inline-block;width:105px;margin-left:4px}.upload{border:1px dashed #8179a7;border-radius:10px;padding:10px;cursor:pointer}.upload input{border:0;padding:0}.save{border:0;border-radius:11px;background:linear-gradient(90deg,#ff5c95,#ff7e5d);color:#fff;font:600 17px Fredoka;padding:12px 17px;cursor:pointer;box-shadow:0 7px 15px #ed497433}.add-child{display:flex;gap:10px;align-items:center;border-top:1px solid #4d456e;margin-top:23px;padding-top:20px}.add-child input{margin:0;max-width:240px}.add-child input[type=color]{width:50px;padding:3px}.add-child button{padding:8px 14px;border:0;border-radius:8px;background:#625783;color:#fff;font:600 15px inherit}.toast{background:#166a58;border:1px solid #55d4ae;padding:11px 16px;border-radius:10px;margin:12px 0}.empty{color:var(--muted)}dialog{background:linear-gradient(135deg,#342b58,#201b3d);color:#fff;border:1px solid #776d9c;border-radius:22px;max-width:380px;width:calc(100% - 30px);box-shadow:0 25px 60px #000}dialog::backdrop{background:#070416bb}dialog form{text-align:center;padding:20px;position:relative}.lock{font-size:48px}.x{position:absolute;right:5px;top:2px;background:transparent;border:0;color:#fff;font-size:30px;cursor:pointer}dialog p{color:var(--muted)}dialog .save{width:100%;margin-top:15px}@media(max-width:680px){.shell{padding:15px}.hero{padding:34px 4% 20px}.coin-orbit{font-size:58px}.lower{grid-template-columns:1fr}.tip{display:none}.mission-form{grid-template-columns:1fr}.add-child{flex-wrap:wrap}.head-actions .parent-pill{display:none}.type-buttons{align-items:stretch}.history{gap:8px}.history p{font-size:12px}.score-grid{grid-template-columns:1fr}}
