:root{--bg0: #062a2c;--bg1: #0a4d51;--bg2: #0d7377;--ink: #f7f3e8;--ink-dim: rgba(247, 243, 232, .72);--accent: #ff9f1c;--accent-2: #e07a5f;--good: #7ec8a3;--bad: #f28482;--panel: rgba(8, 40, 42, .72);--pad: #143f42;--pad-press: #1f5c60;--shadow: 0 12px 40px rgba(0, 0, 0, .35);--font-display: "Fredoka", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(255,159,28,.22),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(72,202,228,.18),transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1) 45%,#083c3f);overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font-family:inherit;cursor:pointer;border:none}.app-shell{height:100%;padding:calc(12px + var(--safe-top)) 16px calc(12px + var(--safe-bottom));display:flex;flex-direction:column}.daily-xp-bar{display:block;width:100%;text-align:left;background:#00000047;border:1px solid rgba(247,243,232,.12);border-radius:16px;padding:.55rem .85rem .45rem;margin-bottom:.65rem;color:var(--ink);flex:0 0 auto}.daily-xp-bar.done{border-color:#7ec8a38c;background:#7ec8a31f}.daily-xp-label{display:flex;align-items:baseline;gap:.65rem;font-weight:800;margin-bottom:.35rem}.daily-xp-label span:first-child{color:var(--ink-dim);font-size:.9rem}.daily-xp-goal-met{color:var(--good)!important;margin-left:auto;font-size:.9rem!important}.daily-xp-track{height:12px;border-radius:999px;background:#00000059;overflow:hidden}.daily-xp-fill{height:100%;background:linear-gradient(90deg,#ff9f1c,#7ec8a3);transition:width .35s ease}.daily-xp-hint{margin:.3rem 0 0;font-size:.78rem;color:var(--ink-dim);font-weight:700}.week-xp-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;margin-top:.5rem}.week-xp-day{background:#00000047;border-radius:12px;padding:.45rem .25rem;text-align:center;display:flex;flex-direction:column;gap:.15rem;border:2px solid transparent;font-size:.85rem}.week-xp-day.today{border-color:var(--accent)}.week-xp-day.met{background:#7ec8a32e}.week-xp-day strong{font-size:1.15rem}.calendar-panel{flex:1;min-height:0;overflow:auto}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:.35rem;text-align:center;font-weight:800;font-size:.8rem;color:var(--ink-dim)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.cal-cell{aspect-ratio:1;border-radius:12px;background:#00000047;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;border:2px solid transparent;min-height:0}.cal-cell.empty{background:transparent}.cal-cell.today{border-color:var(--accent)}.cal-cell.has-xp{background:#ff9f1c29}.cal-cell.met{background:#7ec8a338}.cal-date{font-size:.8rem;font-weight:800;color:var(--ink-dim)}.cal-xp{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.voice-answer{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin-top:.35rem;width:min(100%,280px)}.voice-answer.unsupported{opacity:.8}.voice-mic{width:100%;min-height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(180deg,#1f5c60,#143f42);color:var(--ink);border:2px solid rgba(255,159,28,.45);box-shadow:0 6px #00000059;font-family:var(--font-display);font-weight:700;font-size:1.35rem}.voice-mic.listening{border-color:var(--good);background:linear-gradient(180deg,#2d6a4f,#143f42);animation:pulse-hp 1s ease infinite}.voice-mic:disabled{opacity:.45}.voice-mic-icon{width:28px;height:40px;border-radius:14px;background:var(--accent);position:relative;box-shadow:inset 0 -4px #0003}.voice-mic-icon:after{content:"";position:absolute;left:50%;bottom:-10px;width:18px;height:10px;border:3px solid var(--accent);border-top:none;border-radius:0 0 12px 12px;transform:translate(-50%)}.voice-status{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-weight:800;min-height:1.4em}.voice-error{color:var(--bad);font-size:.9rem;text-align:center}.play-layout.with-voice .question-board{justify-content:space-evenly;padding:.5rem}.brand{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;margin:0}.brand-lg{font-size:clamp(2.4rem,6vw,4rem);line-height:1.05;text-shadow:0 4px 0 rgba(0,0,0,.25)}.brand-sm{font-size:1.35rem}.sub{color:var(--ink-dim);margin:.35rem 0 0;font-size:1.05rem}.screen{flex:1;min-height:0;display:flex;flex-direction:column;animation:rise .35s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes bounce-in{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pulse-hp{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}.btn{border-radius:16px;padding:.85rem 1.25rem;font-weight:800;font-size:1.05rem;color:var(--bg0);background:var(--accent);box-shadow:0 6px #00000040;transition:transform .12s ease,box-shadow .12s ease}.btn:active{transform:translateY(3px);box-shadow:0 3px #00000040}.btn.secondary{background:#f7f3e824;color:var(--ink)}.btn.ghost{background:transparent;color:var(--ink);box-shadow:none;border:2px solid rgba(247,243,232,.25)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.spacer{flex:1}.panel{background:var(--panel);border:1px solid rgba(247,243,232,.12);border-radius:24px;padding:1.1rem 1.25rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input{width:100%;border-radius:14px;border:2px solid rgba(247,243,232,.2);background:#00000040;color:var(--ink);font-size:1.25rem;font-weight:700;padding:.85rem 1rem;outline:none}.input:focus{border-color:var(--accent)}.pin-dots{display:flex;gap:.6rem;justify-content:center}.pin-dot{width:56px;height:64px;border-radius:14px;background:#00000047;border:2px solid rgba(247,243,232,.2);font-size:1.6rem;font-weight:800;color:var(--ink);text-align:center}.segment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;overflow:auto;padding-bottom:.5rem}.segment-card{text-align:left;padding:1rem;border-radius:20px;background:#00000047;border:2px solid rgba(247,243,232,.12);color:var(--ink);min-height:120px;display:flex;flex-direction:column;gap:.35rem;transition:transform .15s ease,border-color .15s ease}.segment-card:not(:disabled):hover,.segment-card:not(:disabled):active{transform:translateY(-2px);border-color:var(--accent)}.segment-card:disabled{opacity:.45}.segment-card h3{margin:0;font-family:var(--font-display);font-size:1.15rem}.segment-card p{margin:0;color:var(--ink-dim);font-size:.9rem}.progress-pill{margin-top:auto;font-size:.85rem;font-weight:800;color:var(--accent)}.monster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;overflow:auto}.monster-grid-single{grid-template-columns:minmax(220px,360px);justify-content:center}@media(max-width:900px){.monster-grid{grid-template-columns:repeat(2,1fr)}}.monster-tile{border-radius:18px;padding:.75rem;background:#00000047;border:2px solid transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:.35rem;min-height:120px}.monster-tile.available{border-color:#ff9f1c8c}.monster-tile.beaten{border-color:#7ec8a38c}.monster-tile.locked{opacity:.4}.monster-face{width:64px;height:64px;border-radius:50% 45%;position:relative;animation:bounce-in .45s ease}.monster-face:before,.monster-face:after{content:"";position:absolute;background:#1a1a1a;border-radius:50%}.monster-face .eye-l,.monster-face .eye-r{position:absolute;width:10px;height:14px;background:#1a1a1a;border-radius:50%;top:38%}.monster-face .eye-l{left:28%}.monster-face .eye-r{right:28%}.monster-face .mouth{position:absolute;width:22px;height:10px;border-radius:0 0 12px 12px;background:#1a1a1a;bottom:22%;left:50%;transform:translate(-50%)}.play-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);gap:.55rem}.play-layout.pad-left{grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr)}.play-layout.pad-left .pad-panel{order:-1}.pad-panel{padding:.45rem!important;display:flex;min-height:0;height:100%}.play-stage{display:flex;flex-direction:column;gap:.75rem;min-height:0}.hud{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.stat{background:#00000047;border-radius:14px;padding:.45rem .75rem;font-weight:800;font-size:.95rem}.stat.timer.warn{color:var(--accent);animation:pulse-hp .8s ease infinite}.stat.timer.danger{color:var(--bad)}.question-board{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border-radius:24px;background:#00000047;border:1px solid rgba(247,243,232,.1);position:relative;overflow:hidden}.question-board.correct{box-shadow:inset 0 0 0 3px var(--good)}.question-board.wrong{box-shadow:inset 0 0 0 3px var(--bad);animation:shake .28s ease}.prompt{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,4.2rem);font-weight:700;margin:0;letter-spacing:.04em;text-align:center;padding:0 .5rem}.feedback{font-size:1.25rem;font-weight:800;min-height:1.5em}.feedback.good{color:var(--good)}.feedback.bad{color:var(--bad)}.monster-battle{display:flex;align-items:center;gap:.75rem}.hp-bar{flex:1;height:14px;border-radius:999px;background:#00000059;overflow:hidden}.hp-fill{height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .25s ease}.number-pad{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(3,1fr);gap:.35rem;width:100%;height:100%;flex:1;min-height:0}.num-btn{min-height:0;width:100%;height:100%;border-radius:16px;background:var(--pad);color:var(--ink);font-family:var(--font-display);font-size:clamp(1.55rem,4.8vw,3rem);font-weight:700;border:2px solid rgba(247,243,232,.08);box-shadow:0 5px #00000059;transition:transform .08s ease,background .08s ease;line-height:1}.num-btn:active{transform:translateY(3px);background:var(--pad-press);box-shadow:0 2px #00000059}.num-btn:disabled{opacity:.5}.duration-picks{display:flex;gap:.5rem}.chip{border-radius:999px;padding:.55rem .95rem;font-weight:800;background:#00000047;color:var(--ink);border:2px solid transparent}.chip.active{border-color:var(--accent);background:#ff9f1c2e;color:var(--accent)}.records-list{overflow:auto;display:flex;flex-direction:column;gap:.55rem}.record-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.5rem;padding:.75rem .9rem;border-radius:14px;background:#00000047;font-weight:700;align-items:center}.tips-list{overflow:auto;display:grid;gap:.75rem}.tip-card h3{margin:0 0 .35rem;font-family:var(--font-display)}.tip-card p{margin:.25rem 0;color:var(--ink-dim)}.tip-card .example{color:var(--accent);font-weight:800}.results-hero{text-align:center;padding:1rem 0}.results-hero .score{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);margin:.25rem 0}.badge{display:inline-block;padding:.35rem .75rem;border-radius:999px;font-weight:800;font-size:.9rem}.badge.win{background:#7ec8a340;color:var(--good)}.badge.try{background:#f2848233;color:var(--bad)}.badge.pb{background:#ff9f1c38;color:var(--accent)}.login-hero{flex:1;display:grid;grid-template-columns:1.1fr 1fr;gap:1.25rem;align-items:center;min-height:0}@media(max-width:800px){.login-hero{grid-template-columns:1fr;overflow:auto}.play-layout,.play-layout.pad-left{grid-template-columns:1fr}.play-layout.pad-left .pad-panel{order:0}.number-pad{grid-template-columns:repeat(7,1fr)}.record-row{grid-template-columns:1fr 1fr}}.hero-art{position:relative;height:min(420px,55vh);border-radius:28px;background:radial-gradient(circle at 30% 40%,rgba(255,159,28,.35),transparent 45%),radial-gradient(circle at 70% 60%,rgba(126,200,163,.3),transparent 40%),linear-gradient(180deg,#0d737780,#062a2c33);overflow:hidden;border:1px solid rgba(247,243,232,.12)}.hero-monster{position:absolute;width:140px;height:140px;border-radius:50% 42% 50% 45%;animation:float 3.2s ease-in-out infinite}.hero-monster.m1{left:12%;top:28%;background:#7ec8a3;animation-delay:0s}.hero-monster.m2{right:18%;top:18%;width:110px;height:110px;background:#f4d35e;animation-delay:.4s}.hero-monster.m3{right:28%;bottom:12%;width:160px;height:160px;background:#e07a5f;animation-delay:.8s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.path-scroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:.5rem}.path-block{display:flex;flex-direction:column;gap:.55rem}.path-head h2{margin:0;font-family:var(--font-display);font-size:1.25rem}.path-head .sub{margin:.15rem 0 0}.segment-grid{overflow:visible}.digit-pad-wrap{display:flex;flex-direction:column;gap:.35rem;width:100%;height:100%;flex:1;min-height:0}.digit-entry{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;text-align:center;min-height:1.1em;letter-spacing:.08em;color:var(--accent);flex:0 0 auto}.digit-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:.4rem;width:100%;flex:1;min-height:0;max-width:none;margin:0}.digit-pad .num-btn{font-size:clamp(1.8rem,5.5vw,3.2rem)}.pad-action{background:#ff9f1c2e!important;color:var(--accent)!important}.results-screen{overflow:auto}.victory-reward{position:relative;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,159,28,.35),transparent 50%),#00000059;border:1px solid rgba(247,243,232,.14);padding:1.25rem 1rem 1rem;min-height:210px}.victory-burst{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.confetti{position:absolute;top:-12px;border-radius:2px;animation:confetti-fall linear forwards;opacity:.95}.confetti.spin{border-radius:50%}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(230px) rotate(540deg);opacity:.15}}.victory-stage{position:relative;z-index:1;text-align:center;animation:bounce-in .5s ease}.victory-monster-wrap{position:relative;display:inline-block;animation:monster-ko .7s ease forwards}@keyframes monster-ko{0%{transform:scale(1) rotate(0);filter:none}40%{transform:scale(1.12) rotate(-6deg)}to{transform:scale(.92) rotate(8deg);filter:grayscale(.35) brightness(.9)}}.ko-stamp{position:absolute;right:-18%;top:-8%;font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--accent);background:#062a2cd9;border:3px solid var(--accent);border-radius:12px;padding:.15rem .45rem;transform:rotate(12deg);animation:bounce-in .45s .15s both}.victory-title{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;margin:.65rem 0 .2rem}.victory-sub{margin:0;color:var(--ink-dim);font-weight:700}.trophy-row{display:flex;justify-content:center;gap:.85rem;margin:.75rem 0 .35rem}.trophy-cup{width:34px;height:28px;background:linear-gradient(180deg,#ffd166,#ff9f1c);border-radius:4px 4px 10px 10px;position:relative;box-shadow:0 4px #b08900;animation:bounce-in .5s .2s both}.trophy-cup:before{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-8px;width:18px;height:8px;background:#c9a227;border-radius:2px}.trophy-gem{width:28px;height:28px;background:linear-gradient(135deg,#48cae4,#0077b6);clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);animation:bounce-in .5s .3s both}.victory-loot{margin:0;font-weight:800;color:var(--good)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-card{width:min(420px,100%);animation:bounce-in .3s ease;max-height:min(90vh,720px);overflow:auto}.modal-card-wide{width:min(640px,100%)}.parent-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.75rem;max-height:45vh;overflow:auto}.parent-pick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left}.parent-monster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.75rem;max-height:50vh;overflow:auto}.parent-monster-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left}.parent-monster-btn.active-next{border:2px solid var(--accent);background:#ff9f1c2e}.parent-monster-grid.single{grid-template-columns:1fr}.toast{background:#ff9f1c33;border:1px solid rgba(255,159,28,.45);color:var(--accent);font-weight:800;border-radius:14px;padding:.65rem .9rem;margin-bottom:.65rem}.pass-row{grid-template-columns:1.4fr 1.3fr .7fr .9fr}.pass-row.head{opacity:.7;font-size:.9rem}@media(max-width:800px){.pass-row{grid-template-columns:1fr 1fr}}
