:root{--ink:#172033;--muted:#667085;--world:#172554;--blue:#38bdf8;--mint:#5eead4;--sun:#fcd34d;--coral:#fb7185;--lav:#a78bfa;--cloud:#f8fafc;--surface:rgba(255,255,255,.94);--r:28px;--shadow:0 22px 65px rgba(15,23,42,.18)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Inter,ui-rounded-rounded,system-ui,sans-serif;color:var(--ink);background:#eaf1ff;min-height:100vh}button,input{font:inherit}button{border:0;cursor:pointer}.app{min-height:100vh;padding:clamp(14px,3vw,34px);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.app.child{background:radial-gradient(circle at 20% 20%,#23468c 0,transparent 32%),radial-gradient(circle at 80% 15%,#563b91 0,transparent 28%),linear-gradient(145deg,#101b48,#172554 60%,#203d72);color:white}.app.parent{background:radial-gradient(circle at 10% 10%,#d8f8ff,transparent 35%),radial-gradient(circle at 90% 10%,#ece3ff,transparent 32%),#f5f7fb}.stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:44px 44px;opacity:.12}.shell{width:min(100%,980px);min-height:min(780px,calc(100vh - 28px));background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:36px;box-shadow:var(--shadow);position:relative;overflow:hidden;display:flex;flex-direction:column}.child .shell{background:rgba(16,27,72,.68);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.14)}.top{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;min-height:78px}.brand{font-weight:800;letter-spacing:-1px;font-size:24px;display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--lav));display:grid;place-items:center;color:white;box-shadow:0 8px 22px rgba(56,189,248,.35)}.icon-btn{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.12);color:inherit;font-size:21px}.parent .icon-btn{background:#edf2fa}.content{flex:1;padding:clamp(24px,6vw,64px);display:grid;align-content:center}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}.eyebrow{color:#3157d5;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.child .eyebrow{color:var(--mint)}h1{font-size:clamp(38px,7vw,76px);line-height:.98;letter-spacing:-.055em;margin:14px 0 20px}h2{font-size:clamp(30px,5vw,50px);line-height:1.05;margin:8px 0 16px;letter-spacing:-.04em}p{font-size:clamp(16px,2vw,20px);line-height:1.6;color:var(--muted)}.child p{color:#cbd5e1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.primary,.secondary{min-height:58px;border-radius:19px;padding:0 26px;font-weight:800}.primary{background:linear-gradient(135deg,#3157d5,#5b6ee1);color:white;box-shadow:0 12px 28px rgba(49,87,213,.25)}.child .primary{background:linear-gradient(135deg,var(--sun),#fb923c);color:#4a2b09}.secondary{background:#edf2fa;color:var(--ink)}.child .secondary{background:rgba(255,255,255,.12);color:white}.lumi{width:min(360px,70vw);aspect-ratio:1;margin:auto;position:relative;display:grid;place-items:center}.lumi-core{width:58%;height:58%;border-radius:46% 54% 52% 48%;background:linear-gradient(145deg,var(--mint),var(--blue) 55%,var(--lav));box-shadow:0 0 70px rgba(94,234,212,.45);display:grid;place-items:center;animation:float 4s ease-in-out infinite}.face{font-size:50px}.orbit{position:absolute;inset:8%;border:2px solid rgba(167,139,250,.35);border-radius:50%;transform:rotate(-15deg)}.orbit:after{content:'✦';position:absolute;right:8%;top:5%;font-size:34px;color:var(--sun)}@keyframes float{50%{transform:translateY(-10px) rotate(2deg)}}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.card{background:white;border-radius:24px;padding:22px;border:1px solid #e8ecf4}.card b{display:block;margin-bottom:8px}.form{max-width:650px;margin:auto;width:100%}.field{margin:20px 0}.field label{font-weight:800;display:block;margin-bottom:9px}.field input{width:100%;padding:17px 18px;border:2px solid #e1e7f0;border-radius:16px}.choice-row{display:flex;gap:10px}.choice{flex:1;padding:17px;border-radius:16px;background:#edf2fa}.choice.active{background:#dff8f3;outline:2px solid #26a78d}.handoff{text-align:center;max-width:620px;margin:auto}.progress{display:flex;gap:8px}.dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.22)}.dot.done{background:var(--mint)}.game{display:grid;gap:28px;text-align:center}.instruction{font-size:clamp(25px,4vw,40px);font-weight:800}.object{width:112px;height:112px;margin:auto;border-radius:32px;background:linear-gradient(145deg,var(--sun),#fb923c);display:grid;place-items:center;font-size:58px;box-shadow:0 14px 35px rgba(251,146,60,.3)}.bins{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.bin{padding:28px;border-radius:28px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.16);color:white;font-weight:800;font-size:18px}.bin:hover,.bin:focus-visible{border-color:var(--mint);transform:translateY(-2px)}.feedback{min-height:38px;font-weight:700;color:var(--mint)}.grid{display:grid;grid-template-columns:repeat(3,82px);gap:12px;justify-content:center}.cell{height:82px;border-radius:24px;background:rgba(255,255,255,.1);color:white;font-size:28px}.cell.preview{background:var(--mint);color:var(--world);box-shadow:0 0 28px rgba(94,234,212,.5)}.story{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scene{min-height:150px;border-radius:26px;background:rgba(255,255,255,.1);color:white;padding:16px;font-size:44px}.scene small{display:block;font-size:14px;margin-top:10px}.reward{text-align:center}.reward-icon{font-size:110px;filter:drop-shadow(0 18px 30px rgba(252,211,77,.3))}.gate{max-width:520px;margin:auto;text-align:center}.gate input{text-align:center;letter-spacing:.3em;font-size:26px}.report-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.report-card{padding:24px;border-radius:24px;background:white;border:1px solid #e4eaf3}.report-card.highlight{background:linear-gradient(135deg,#e3faf5,#eefcff);grid-column:1/-1}.tag{display:inline-flex;padding:7px 11px;border-radius:999px;background:#edf2ff;color:#3157d5;font-size:12px;font-weight:800}.skill{display:flex;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid #edf0f5}.skill:last-child{border:0}.notice{background:#fff8e1;padding:16px;border-radius:16px;color:#704c00;font-size:14px}.toast{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 18px;background:#0f172a;color:#fff;border-radius:14px}.reduced *{animation:none!important;transition:none!important}@media(max-width:720px){.shell{border-radius:26px;min-height:calc(100vh - 20px)}.hero,.report-grid{grid-template-columns:1fr}.hero-art{order:-1}.lumi{width:190px}.cards{grid-template-columns:1fr}.content{padding:24px}.top{padding:16px 18px}.bins{gap:10px}.bin{padding:20px 10px}.grid{grid-template-columns:repeat(3,min(24vw,76px))}.cell{height:min(24vw,76px)}.story{gap:8px}.scene{min-height:120px;padding:10px}.report-card.highlight{grid-column:auto}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.tag{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#e8f0ff;color:#3157d5;font-size:12px;font-weight:800}.skill{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #edf0f5}.notice{padding:14px;border-radius:16px;background:#fff7db;color:#6b4b00;font-size:14px}.report-card h3{font-size:24px;line-height:1.3;margin:14px 0}.reduced *{animation:none!important;transition:none!important}@media(max-width:720px){.app{padding:0}.shell{border-radius:0;min-height:100vh}.hero,.report-grid{grid-template-columns:1fr}.hero-art{order:-1}.lumi{width:210px}.cards{grid-template-columns:1fr}.content{padding:24px}.top{padding:14px 18px}.bins{grid-template-columns:1fr 1fr}.story{gap:8px}.scene{min-height:120px}.grid{grid-template-columns:repeat(3,72px)}.cell{height:72px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}button:focus-visible,input:focus-visible{outline:4px solid var(--sun);outline-offset:3px}button{transition:transform .18s ease,box-shadow .18s ease}button:active{transform:scale(.97)}small{color:var(--muted)}
