:root{--bg: #141033;--bg2: #1e1650;--panel: #241b5e;--panel-light: #2f2475;--ink: #fff;--ink-dim: #b8b0e8;--line: #0c0825;--yellow: #ffd117;--yellow-dark: #c99e00;--pink: #ff4d8d;--pink-dark: #c22560;--cyan: #3ddcff;--cyan-dark: #1aa3c4;--green: #7bff5e;--green-dark: #3fc426;--orange: #ff8a2a;--orange-dark: #c75f0a;--red: #ff3b3b;--font-display: "Lilita One", "Nunito", sans-serif;--font-body: "Nunito", sans-serif;--radius: 18px;--shadow-pop: 0 6px 0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(123,72,255,.35),transparent),radial-gradient(ellipse 60% 40% at 90% 110%,rgba(61,220,255,.12),transparent),repeating-linear-gradient(135deg,transparent 0 34px,rgba(255,255,255,.02) 34px 68px);color:var(--ink);font-family:var(--font-body);overscroll-behavior:none;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}#root{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 20px)}h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;margin:0;-webkit-text-stroke:0}.logo{font-family:var(--font-display);font-size:44px;line-height:1;text-align:center;color:var(--yellow);text-shadow:0 3px 0 var(--yellow-dark),0 7px 0 var(--line),0 10px 24px rgba(0,0,0,.6);transform:rotate(-2deg)}.logo .star{color:var(--cyan);text-shadow:0 3px 0 var(--cyan-dark),0 7px 0 var(--line)}.btn{font-family:var(--font-display);font-size:20px;color:var(--ink);background:linear-gradient(180deg,var(--panel-light),var(--panel));border:3px solid var(--line);border-radius:var(--radius);padding:14px 20px;box-shadow:var(--shadow-pop) var(--line);cursor:pointer;transition:transform .06s,box-shadow .06s;text-align:center}.btn:active{transform:translateY(5px);box-shadow:0 1px 0 var(--line)}.btn-yellow{background:linear-gradient(180deg,#ffe35e,var(--yellow));color:#4a3a00;box-shadow:var(--shadow-pop) var(--yellow-dark)}.btn-yellow:active{box-shadow:0 1px 0 var(--yellow-dark)}.btn-pink{background:linear-gradient(180deg,#ff7cab,var(--pink));color:#fff;box-shadow:var(--shadow-pop) var(--pink-dark)}.btn-pink:active{box-shadow:0 1px 0 var(--pink-dark)}.btn-cyan{background:linear-gradient(180deg,#7ce9ff,var(--cyan));color:#003a4a;box-shadow:var(--shadow-pop) var(--cyan-dark)}.btn-cyan:active{box-shadow:0 1px 0 var(--cyan-dark)}.btn-green{background:linear-gradient(180deg,#a5ff90,var(--green));color:#0c4100;box-shadow:var(--shadow-pop) var(--green-dark)}.btn-green:active{box-shadow:0 1px 0 var(--green-dark)}.btn-big{font-size:24px;padding:18px 24px;width:100%}.btn:disabled{filter:grayscale(.8) brightness(.7);pointer-events:none}.panel{background:linear-gradient(180deg,var(--panel-light),var(--panel));border:3px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 0 var(--line),inset 0 2px #ffffff1f;padding:16px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--line);border-radius:999px;padding:5px 12px;font-weight:900;font-size:15px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.backbtn{font-family:var(--font-display);font-size:18px;background:var(--line);color:var(--ink);border:none;border-radius:12px;padding:8px 14px;cursor:pointer}.xpbar{height:14px;background:var(--line);border-radius:999px;overflow:hidden;position:relative}.xpbar>div{height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:999px;transition:width .5s cubic-bezier(.22,1.2,.36,1)}.tile{position:relative;border:3px solid var(--line);border-radius:22px;padding:18px 14px 14px;text-align:center;cursor:pointer;box-shadow:0 6px 0 var(--line);transition:transform .06s,box-shadow .06s;overflow:hidden}.tile:active{transform:translateY(5px);box-shadow:0 1px 0 var(--line)}.tile .big-emoji{font-size:44px;display:block;filter:drop-shadow(0 4px 4px rgba(0,0,0,.35))}.tile h3{font-size:21px;margin-top:6px;color:#16103a}.tile .count{font-size:13px;font-weight:900;color:#0a0828a6}.road{display:flex;flex-direction:column;gap:14px;position:relative;padding-left:26px}.road:before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:6px;border-radius:3px;background:repeating-linear-gradient(180deg,var(--yellow) 0 14px,var(--line) 14px 24px)}.roadnode{position:relative}.roadnode:before{content:"";position:absolute;left:-24px;top:50%;width:16px;height:16px;border-radius:50%;transform:translateY(-50%);background:var(--yellow);border:3px solid var(--line)}.badge-new{position:absolute;top:-10px;right:-8px;background:var(--pink);color:#fff;font-family:var(--font-display);font-size:13px;padding:4px 10px;border-radius:999px;border:2px solid var(--line);transform:rotate(8deg);animation:pulse 1.2s ease-in-out infinite;z-index:2}@keyframes pulse{50%{transform:rotate(8deg) scale(1.12)}}.stars{letter-spacing:2px;font-size:18px}.stars .off{opacity:.25;filter:grayscale(1)}.question{font-family:var(--font-display);font-size:32px;text-align:center;line-height:1.25;min-height:86px;display:flex;align-items:center;justify-content:center;text-shadow:0 3px 0 var(--line)}.question.small{font-size:23px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices.single{grid-template-columns:1fr}.choice{font-family:var(--font-display);font-size:19px;background:linear-gradient(180deg,var(--panel-light),var(--panel));color:var(--ink);border:3px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 0 var(--line);padding:16px 10px;cursor:pointer;transition:transform .06s,box-shadow .06s,background .1s}.choice:active{transform:translateY(4px);box-shadow:0 1px 0 var(--line)}.choice.right{background:linear-gradient(180deg,#a5ff90,var(--green));color:#0c4100;animation:pop .3s}.choice.wrong{background:linear-gradient(180deg,#ff7c7c,var(--red));animation:shake .35s}@keyframes pop{40%{transform:scale(1.07)}}@keyframes shake{20%{transform:translate(-7px)}45%{transform:translate(6px)}70%{transform:translate(-4px)}90%{transform:translate(3px)}}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.numpad .btn{font-size:26px;padding:12px}.answerline{font-family:var(--font-display);font-size:36px;text-align:center;min-height:52px;border-bottom:4px dashed var(--ink-dim);margin:0 40px 16px;color:var(--yellow)}.word-input{width:100%;font-family:var(--font-display);font-size:28px;text-align:center;color:var(--yellow);background:transparent;border:none;border-bottom:4px dashed var(--ink-dim);border-radius:0;padding:10px 8px;outline:none}.word-input:focus{border-bottom-color:var(--cyan)}.word-input::placeholder{color:var(--ink-dim);opacity:.5;font-size:20px}.timerbar{height:16px;background:var(--line);border-radius:999px;overflow:hidden}.timerbar>div{height:100%;background:linear-gradient(90deg,var(--green),var(--yellow),var(--orange),var(--red));transition:width .3s linear}.combo{font-family:var(--font-display);color:var(--orange);font-size:22px;text-shadow:0 2px 0 var(--line);animation:pop .3s}.scorefloat{position:absolute;font-family:var(--font-display);font-size:26px;color:var(--yellow);text-shadow:0 2px 0 var(--line);animation:floatup .8s ease-out forwards;pointer-events:none}@keyframes floatup{to{transform:translateY(-60px);opacity:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08051cd1;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:fadein .18s}@keyframes fadein{0%{opacity:0}}.explain-card{background:linear-gradient(180deg,var(--panel-light),var(--panel));border:3px solid var(--cyan);border-radius:22px;padding:22px;max-width:400px;width:100%;box-shadow:0 8px 0 var(--line),0 20px 60px #00000080;animation:slideup .25s cubic-bezier(.22,1.2,.36,1);text-align:center}@keyframes slideup{0%{transform:translateY(40px) scale(.95);opacity:0}}.explain-card h3{color:var(--cyan);font-size:24px;margin-bottom:10px}.explain-card p{font-size:17px;font-weight:700;line-height:1.5;color:var(--ink);margin:0 0 16px}.grade-circle{width:120px;height:120px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:60px;border:5px solid var(--line);box-shadow:0 6px 0 var(--line);animation:pop .5s}.lb-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--line);font-weight:900}.lb-row.me{outline:3px solid var(--yellow)}.lb-rank{font-family:var(--font-display);width:34px;font-size:19px;color:var(--ink-dim)}.lb-row:nth-child(1) .lb-rank{color:var(--yellow)}.lb-row:nth-child(2) .lb-rank{color:#cfd6e4}.lb-row:nth-child(3) .lb-rank{color:var(--orange)}.boxstage{text-align:center;padding:30px 0}.thebox{font-size:110px;display:inline-block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}.thebox.shaking{animation:boxshake .5s ease-in-out infinite}@keyframes boxshake{0%,to{transform:rotate(0)}20%{transform:rotate(-8deg) scale(1.03)}60%{transform:rotate(8deg) scale(1.06)}}.reward-pop{animation:rewardpop .6s cubic-bezier(.22,1.6,.36,1);font-size:90px}@keyframes rewardpop{0%{transform:scale(0) rotate(-180deg)}}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.avatar-pick{font-size:34px;padding:10px 0;text-align:center;background:var(--line);border:3px solid transparent;border-radius:16px;cursor:pointer}.avatar-pick.selected{border-color:var(--yellow);background:var(--panel-light);transform:scale(1.08)}.avatar-bubble{width:54px;height:54px;border-radius:50%;background:var(--panel-light);border:3px solid var(--yellow);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}input[type=text]{width:100%;font-family:var(--font-body);font-weight:900;font-size:19px;color:var(--ink);background:var(--line);border:3px solid var(--panel-light);border-radius:14px;padding:13px 16px;outline:none;text-align:center}input[type=text]:focus{border-color:var(--cyan)}input::placeholder{color:var(--ink-dim);opacity:.6;font-weight:700}.label{font-weight:900;font-size:14px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 6px}.error-msg{color:var(--pink);font-weight:900;text-align:center;margin-top:10px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.center{text-align:center}.grow{flex:1}.mt{margin-top:16px}.dim{color:var(--ink-dim);font-weight:700}.screen{animation:screenin .25s ease-out;display:flex;flex-direction:column;flex:1}@keyframes screenin{0%{opacity:0;transform:translateY(14px)}}.correct-flash{font-family:var(--font-display);color:var(--green);font-size:26px;text-align:center;text-shadow:0 2px 0 var(--line);animation:pop .35s}
