:root{--pip-bg: #FFF3C4;--pip-primary: #FF6B6B;--pip-accent: #FFD93D;--rex-bg: #D8F9F0;--rex-primary: #00BBF9;--rex-accent: #06D6A0;--nova-bg: #2B2D5C;--nova-primary: #9B5DE5;--nova-accent: #4ECDC4;--ink: #2D2A32;--muted: #6B6580;--card: #FFFFFF;--radius: 28px;--tap: 88px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:19px;line-height:1.45;background:#fff7e6;min-height:100vh}h1,h2,h3,.display{font-family:Fredoka,Nunito,sans-serif;letter-spacing:.5px}.app{margin:0 auto;max-width:560px;padding:20px 16px 90px;min-height:100vh}.theme-pip{background:linear-gradient(180deg,#fff3c4,#ffe9a8 45%,#ffd9c4)}.theme-rex{background:linear-gradient(180deg,#d8f9f0,#c4f0ff 55%,#d6ffe9)}.theme-nova{background:linear-gradient(180deg,#2b2d5c,#3d348b 60%,#191736);color:#fff}.theme-nova .sub,.theme-nova h1,.theme-nova h2{color:#fff}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}.home-btn{width:64px;height:64px;border-radius:22px;border:none;background:#fff;font-size:28px;box-shadow:0 4px #0000001f;cursor:pointer}.home-btn:active{transform:scale(.92)}h1{font-size:2.1rem;text-align:center;margin:8px 0 4px}.sub{font-size:1.2rem;text-align:center;color:var(--muted);font-weight:800}.theme-nova .sub{color:#d9d4ff}.islands{display:grid;gap:18px;margin-top:18px}.island{border:none;border-radius:32px;padding:22px 18px;cursor:pointer;display:flex;align-items:center;gap:16px;text-align:left;min-height:120px;box-shadow:0 8px #0000001f;transition:transform .15s ease;width:100%}.island:active{transform:scale(.96)}.island-pip{background:#fff;border:5px solid var(--pip-accent)}.island-rex{background:#fff;border:5px solid var(--rex-accent)}.island-nova{background:#fff;border:5px solid var(--nova-accent);color:var(--ink)}.island-name{font-family:Fredoka;font-size:1.7rem;font-weight:700}.island-team{font-weight:900;opacity:.7;font-size:1rem}.island-tag{font-weight:800;font-size:1.1rem}.missions{display:grid;gap:14px;margin-top:14px}.mission{background:var(--card);border-radius:24px;padding:18px;display:flex;gap:14px;align-items:center;cursor:pointer;min-height:var(--tap);border-left:10px solid #ccc;box-shadow:0 4px 12px #0000001a;transition:transform .12s ease;color:var(--ink)}.mission:active{transform:scale(.97)}.mission .emoji{font-size:3rem}.mission .title{font-family:Fredoka;font-size:1.4rem}.stars{font-size:1.5rem;letter-spacing:2px}.card{background:#fff;color:var(--ink);border-radius:24px;padding:20px;margin:14px 0;box-shadow:0 4px 14px #0000001a;font-size:1.25rem;font-weight:700}.step-nav{display:flex;gap:12px}.big-btn{border:none;border-radius:24px;color:#fff;cursor:pointer;display:block;font-family:Fredoka;font-size:1.5rem;font-weight:600;margin:12px 0;padding:20px;width:100%;min-height:var(--tap);box-shadow:0 6px #00000026;transition:transform .12s ease}.big-btn:active{transform:scale(.95)}.choice{background:#fff;color:var(--ink);border:4px solid #eee;border-radius:22px;cursor:pointer;font-size:1.3rem;font-weight:800;margin:10px 0;padding:20px;width:100%;min-height:var(--tap);transition:transform .12s ease,border-color .12s}.choice:active{transform:scale(.96)}.choice.right{border-color:#06d6a0;background:#e8fff8;animation:pop .4s ease}.choice.wrong{border-color:#ff6b6b;background:#fff0f0;animation:wiggle .4s ease}.center{text-align:center}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.15) rotate(-2deg)}to{transform:scale(1.05)}}@keyframes wiggle{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes burst{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}.hero-bob{animation:bob 2.2s ease-in-out infinite}.hero-bob svg{width:100%;height:100%;display:block}.hero-brave{animation:pop .5s ease}.hero-celebrate{animation:bob .8s ease-in-out infinite}.win-burst{font-size:4rem;animation:burst .6s ease;text-align:center}.parent-gate{background:#fff;color:var(--ink);border-radius:24px;padding:22px;margin-top:20px}.parent-gate input{font-size:1.5rem;padding:14px;border-radius:16px;border:3px solid #ddd;width:100%;margin:10px 0}@media (prefers-reduced-motion: reduce){.hero-bob,.hero-brave{animation:none}}
