@import "https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&family=Noto+Sans+SC:wght@400;500;700;900&display=swap";:root{color:#26324b;font-synthesis:none;background:#fff9ef;font-family:Nunito,Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#fff0ba,#0000 28%),#fff9ef;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:4px solid #81c8ff}#root{min-height:100vh}.avatar-upload{color:#6848e8;cursor:pointer;font-size:12px;font-weight:900;display:inline-block}.avatar-upload input{display:none}.weakness{color:#9a5a17;background:#fff2c9;border-radius:15px;padding:12px}.danger{margin:22px 0;border-color:#ffd8dc!important}.danger input{border:2px solid #ffd8dc;border-radius:14px;width:100%;margin-bottom:10px;padding:13px}.danger button{color:#b72f45;background:#fff0f2;border:0;border-radius:14px;width:100%;padding:12px;font-weight:900}.battle-scoreboard{text-align:center;background:#fff;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:14px 0 2px;padding:12px;display:grid;box-shadow:0 8px 24px #59472f18}.battle-scoreboard>div{grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.battle-scoreboard small{color:#7c8291;white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.battle-scoreboard b{color:#6848e8;grid-area:1/2/3;font-size:24px}.battle-scoreboard span{color:#999;font-size:10px}.battle-scoreboard>i{color:#ff7d4c;font-size:11px;font-style:normal;font-weight:900}.battle-scoreboard .me{background:#f3efff;border-radius:12px;padding:7px}.battle-result{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.battle-result>div{background:#fff;border:2px solid #eee7dd;border-radius:18px;padding:16px;position:relative}.battle-result>div.mine{border-color:#b7a9ff}.battle-result>div.winner{background:linear-gradient(145deg,#fff9dc,#fff1a9);border-color:#ffc843}.battle-result em{color:#a66a00;font-size:11px;font-style:normal;font-weight:900;position:absolute;top:10px;right:10px}.battle-result h2{margin:0 0 8px;font-size:16px}.battle-result strong{color:#6848e8;font-size:34px;display:block}.battle-result p,.battle-result small{color:#7c8291;font-size:11px}.encourage{color:#3b6f97;background:#eef8ff;border-radius:14px;padding:13px;font-weight:800}:root{--p:#6848e8;--p2:#916cf6;--orange:#ff7d4c;--yellow:#ffc843;--green:#35c98a;--red:#f25c70;--ink:#26324b;--muted:#7c8291;--line:#eee7dd;--shadow:0 14px 38px #59472f18}.page{width:min(100%,700px);margin:auto;padding:28px 22px 70px}h1,h2,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:10px;font-size:clamp(34px,8vw,52px);line-height:1.08}h1 i{color:var(--orange);font-style:normal}h2{font-size:20px}.muted{color:var(--muted)}.eyebrow{color:var(--p);letter-spacing:2px;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}.card{box-shadow:var(--shadow);background:#fff;border:1px solid #f3ece2;border-radius:24px;padding:22px}.primary,.secondary{border:0;border-radius:17px;width:100%;padding:15px 22px;font-size:17px;font-weight:900}.primary{color:#fff;background:linear-gradient(135deg,var(--p),var(--p2));box-shadow:0 8px #4c34ad,0 14px 25px #6848e82e}.primary:active{transform:translateY(4px);box-shadow:0 4px #4c34ad}.primary:disabled{opacity:.5}.secondary{color:var(--ink);border:2px solid var(--line);background:#fff;margin-top:14px}.link,.back{color:var(--p);background:0 0;border:0;font-weight:900}.back{margin-bottom:28px;padding:8px 0}.avatar{color:#fff;background:linear-gradient(145deg,#ffd55e,#ff8b56);border-radius:50%;flex:none;place-items:center;width:35px;height:35px;font-weight:900;display:grid;overflow:hidden}.avatar.big{width:74px;height:74px;font-size:29px}.avatar img{object-fit:cover;width:100%;height:100%}.auth{place-items:center;min-height:100vh;padding:28px;display:grid;position:relative;overflow:hidden}.auth-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:center;background:#ffffffdf;border:1px solid #fff;border-radius:32px;width:min(100%,420px);padding:36px;box-shadow:0 30px 80px #644a2826}.logo{background:linear-gradient(145deg,var(--p),#aa83ff);color:#fff;border-radius:23px;place-items:center;width:70px;height:70px;margin:0 auto 20px;font-size:37px;font-weight:900;display:grid;transform:rotate(-5deg);box-shadow:0 10px #4932a7}.auth form{text-align:left;margin-top:28px}.auth label,.settings label{margin:14px 0;font-weight:900;display:block}.auth input,.settings input,.settings select,.options select,.invite input{border:2px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;margin-top:7px;padding:13px 15px}.auth .primary{margin-top:8px}.auth .link{margin-top:20px}.float-math{color:#f2c44328;white-space:nowrap;font-size:clamp(70px,15vw,150px);font-weight:900;position:absolute;transform:rotate(-10deg)}.error,.notice,.toast{border-radius:12px;padding:11px 14px;font-weight:800}.error{color:#b42d45;background:#fff0f2}.notice{color:#19845a;background:#eafbf3}.toast{z-index:20;color:#fff;background:#26324b;position:fixed;top:15px;left:50%;transform:translate(-50%)}.splash{text-align:center;place-content:center;gap:25px;min-height:100vh;display:grid}header{justify-content:space-between;align-items:center;width:min(100%,920px);margin:auto;padding:18px 24px;display:flex}.brand{align-items:center;gap:8px;font-weight:900;display:flex}.brand b{background:var(--p);color:#fff;border-radius:12px;place-items:center;width:35px;height:35px;display:grid}.user{color:var(--ink);box-shadow:var(--shadow);background:#fff;border:0;border-radius:99px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:flex}.user em{color:var(--p);background:#eee9ff;border-radius:20px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:900}.hero{justify-content:space-between;align-items:center;min-height:245px;display:flex}.hero>div:first-child{max-width:440px}.blob{background:linear-gradient(145deg,var(--yellow),var(--orange));color:#fff;border-radius:52% 48% 43% 57%;place-items:center;width:145px;height:145px;font-size:46px;font-weight:900;display:grid;position:relative;transform:rotate(6deg);box-shadow:0 16px #df7138}.blob small{width:52px;height:52px;color:var(--p);box-shadow:var(--shadow);background:#fff;border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;top:0;left:-18px}.challenge{background:linear-gradient(125deg,var(--p),#9874fa);color:#fff;text-align:left;border:0;border-radius:27px;align-items:center;width:100%;padding:22px 24px;display:flex;box-shadow:0 12px #4c34ac,0 22px 40px #6848e83b}.challenge>b{background:#ffffff24;border-radius:18px;place-items:center;width:52px;height:52px;margin-right:16px;display:grid}.challenge span strong,.challenge span small{display:block}.challenge span strong{font-size:21px}.challenge span small{opacity:.75}.challenge em{margin-left:auto;font-size:30px;font-style:normal}.modes{grid-template-columns:1fr 1fr;gap:15px;margin:25px 0;display:grid}.modes button{text-align:left;color:var(--ink);box-shadow:var(--shadow);background:#fff;border:0;border-radius:23px;padding:21px}.modes i{background:#fff1c6;border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:14px;font-size:24px;font-style:normal;display:grid}.modes button:last-child i{background:#eee9ff}.modes b,.modes small{display:block}.modes b{font-size:18px}.modes small{color:var(--muted);margin-top:4px}.title{justify-content:space-between;align-items:center;display:flex}.title small{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:900}.title h2{margin:3px 0}.title>b{color:var(--orange);font-size:21px}.progress{background:#f1ede6;border-radius:20px;height:10px;margin-top:16px;overflow:hidden}.progress i,.time i{background:linear-gradient(90deg,var(--yellow),var(--orange));border-radius:20px;height:100%;transition:width .3s;display:block}.rank-preview{margin-top:18px}.rank{border-top:1px solid #f1ece5;align-items:center;gap:11px;padding:12px 5px;display:flex}.rank>span{width:28px;color:var(--orange);font-weight:900}.rank>strong{margin-left:auto}.rank>small{color:var(--muted);margin-left:auto}.empty{text-align:center;color:var(--muted);padding:25px}.section-head{margin-top:34px}.grades{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.grades button{color:var(--ink);box-shadow:var(--shadow);background:#fff;border:2px solid #0000;border-radius:18px;padding:15px 8px}.grades span,.grades b,.grades small{display:block}.grades span{color:#d46b2e;background:#fff0b8;border-radius:12px;place-items:center;width:38px;height:38px;margin:auto auto 8px;font-size:20px;font-weight:900;display:grid}.grades small,.speeds small{color:var(--muted);font-size:10px}.grades .selected,.speeds .selected{border-color:var(--p);background:#f4f1ff}.speeds{gap:10px;display:grid}.speeds button{color:var(--ink);text-align:left;background:#fff;border:2px solid #0000;border-radius:18px;align-items:center;padding:14px 16px;display:flex}.speeds i{margin-right:14px;font-size:30px}.speeds b,.speeds small{display:block}.speeds em{color:var(--p);margin-left:auto;font-size:22px;font-style:normal}.launch{margin-top:30px}.launch b{float:right}.game{background:#fff9ef;width:min(100%,560px);min-height:100vh;margin:auto;padding:18px 20px 32px;transition:all .2s}.game.correct{background:#eafff5}.game.wrong{background:#fff0f2;animation:.2s shake}.game.urgent{box-shadow:inset 0 0 0 5px #f25c7040}.game-top{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.game-top>button{width:40px;height:40px;color:var(--muted);background:#fff;border:0;border-radius:50%;font-size:26px}.clock{border:7px solid var(--yellow);text-align:center;width:72px;height:72px;box-shadow:var(--shadow);background:#fff;border-radius:50%;place-content:center;display:grid}.clock b{font-size:27px;line-height:1}.clock small{font-size:9px}.score{text-align:right}.score small,.score b{display:block}.score b{color:var(--p);font-size:26px}.time{background:#ece5dc;border-radius:20px;height:7px;margin:14px 0}.game-info{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.game-info b{color:var(--orange)}.question{text-align:center;padding:38px 0 20px}.question>small{color:var(--muted);font-weight:900}.question h1{margin:23px 0;font-size:clamp(45px,13vw,72px)}.answer{width:72%;height:65px;color:var(--p);background:#fff;border:3px solid #ddd5ca;border-radius:18px;place-items:center;margin:auto;font-size:32px;font-weight:900;display:grid}.answer span{color:#bdb6ad;font-size:16px}.question p{height:30px;color:var(--orange);margin:12px 0 0;font-weight:900}.keypad,.compare{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.keypad button,.compare button{color:var(--ink);background:#fff;border:0;border-radius:16px;padding:13px;font-size:24px;font-weight:900;box-shadow:0 4px #ded7ce}.compare button{padding:25px;font-size:36px}.submit{margin-top:14px}.result{text-align:center}.star{background:linear-gradient(145deg,var(--yellow),var(--orange));color:#fff;border-radius:45%;place-items:center;width:100px;height:100px;margin:30px auto 20px;font-size:50px;animation:.6s pop;display:grid;box-shadow:0 12px #db6d35}.big-score{background:var(--p);color:#fff;border-radius:28px;margin:28px 0;padding:25px;box-shadow:0 10px #4b34ab}.big-score small,.big-score b,.big-score span{display:block}.big-score b{font-size:58px}.big-score span{color:#ffe17d;font-weight:900}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.stats div{box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:17px 7px}.stats b,.stats small{display:block}.stats b{color:var(--p);font-size:22px}.stats small{color:var(--muted);font-size:11px}.list{padding:10px 18px}.rank.mine{background:#f2eeff;border-radius:14px;padding-left:10px;padding-right:10px}.my-rank{background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:18px;margin-top:15px;padding:16px 20px;position:sticky;bottom:15px}.my-rank span{float:right;color:#ffe27d;font-weight:900}.profile{align-items:center;gap:18px;display:flex}.profile h1{margin:0;font-size:35px}.settings{margin:22px 0}.toggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;display:flex!important}.toggle input{height:22px;width:22px!important;margin:0!important}.options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.options select{margin:0}.radar{background:radial-gradient(circle,#eee9ff 0 8%,#0000 9% 32%,#e2dcff 33% 34%,#0000 35% 61%,#e2dcff 62% 63%,#0000 64%);border:1px solid #d8ceff;border-radius:50%;place-items:center;width:180px;height:180px;margin:35px auto 18px;animation:1.5s infinite pulse;display:grid}.radar b{background:var(--p);color:#fff;border-radius:50%;place-items:center;width:62px;height:62px;font-size:28px;display:grid}.match-status{text-align:center;color:var(--muted);font-weight:900}.or{text-align:center;color:var(--muted);margin:25px}.invite{text-align:center}.invite>div{margin-top:14px;display:flex}.invite input{border-radius:14px 0 0 14px;margin:0}.invite button{background:var(--orange);color:#fff;border:0;border-radius:0 14px 14px 0;padding:0 18px;font-weight:900}.modal{background:#1f1a377f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal section{text-align:center;background:#fff;border-radius:28px;width:min(100%,380px);padding:30px}.modal button{margin-top:10px}.reduce *{transition:none!important;animation:none!important}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes pop{0%{transform:scale(.4)rotate(-20deg)}70%{transform:scale(1.12)}}@keyframes pulse{50%{transform:scale(1.04);box-shadow:0 0 0 12px #6848e810}}@media (width<=560px){header{padding:14px 16px}.brand span{display:none}.page{padding:20px 16px 50px}.hero{min-height:215px}.hero h1{font-size:36px}.hero>div:first-child>p:last-child{font-size:13px}.blob{width:100px;height:100px;font-size:33px}.blob small{width:39px;height:39px;font-size:15px}.grades{grid-template-columns:repeat(2,1fr)}.question{padding-top:26px}.question h1{margin:18px 0}.keypad button{padding:11px}.auth-card{padding:28px 22px}.rank>small{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
