:root{--reflet-blue: #29abe2;--reflet-blue-dark: #0087cc;--reflet-blue-deeper: #005ba0;--reflet-blue-light: #e8f7fd;--reflet-yellow: #f5c400;--reflet-yellow-light: #fffbe6;--reflet-pink: #f06292;--reflet-pink-light: #fce4ec;--reflet-green: #4cb85c;--reflet-teal: #00bcd4;--reflet-navy: #003366;--xp-color: #7b2fbe;--coin-color: #f5c400;--star-color: #ff6b35;--streak-color: #ff4500;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-500: #6b7280;--gray-700: #374151;--gray-900: #111827;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .18);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .22);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Nunito,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;background-color:var(--reflet-blue-light);color:var(--gray-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;min-height:100vh;min-height:100dvh;user-select:none;-webkit-user-select:none}h1,h2,h3,h4{font-family:Nunito,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-weight:700;line-height:1.2}button{font-family:Nunito,sans-serif;cursor:pointer}input,select,textarea{font-family:Nunito,sans-serif}a{color:inherit;text-decoration:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}@keyframes bounce-in{0%{transform:scale(.5) translateY(20px);opacity:0}60%{transform:scale(1.15) translateY(-4px);opacity:1}80%{transform:scale(.95)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes xp-fill{0%{width:0%}}@keyframes coin-pop{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.3) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes star-burst{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.4) rotate(20deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-bounce-in{animation:bounce-in .5s cubic-bezier(.175,.885,.32,1.275) forwards}.animate-float{animation:float 3s ease-in-out infinite}.animate-slide-up{animation:slide-up .35s cubic-bezier(.33,1,.68,1) forwards}.animate-fade-in{animation:fade-in .3s ease forwards}@keyframes typo-bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-22px) scale(1.08)}65%{transform:translateY(-10px) scale(1.04)}}@keyframes typo-explode{0%{transform:scale(0) rotate(-12deg);opacity:0}55%{transform:scale(1.28) rotate(4deg);opacity:1}75%{transform:scale(.94) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes typo-rainbow{0%{color:#ff4040}16%{color:#ff8c00}33%{color:#fe0}50%{color:#4d4}66%{color:#48f}83%{color:#c4f}to{color:#ff4040}}@keyframes typo-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-8px) rotate(-4deg)}40%{transform:translate(8px) rotate(4deg)}60%{transform:translate(-5px) rotate(-2deg)}80%{transform:translate(5px) rotate(2deg)}}@keyframes typo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes typo-flash{0%{opacity:.45}to{opacity:0}}.hw-exam{--hw-paper: #f6f7f9;--hw-surface: #ffffff;--hw-ink: #1a2540;--hw-ink-muted: #586079;--hw-accent: #2c5cc5;--hw-correct: #2c7be5;--hw-wrong: #e0463e;--hw-rule: #e6e8ee;background:var(--hw-paper);color:var(--hw-ink);font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif}.hw-exam .hw-qnum{font-family:Roboto Slab,Noto Sans JP,Hiragino Sans,Georgia,serif;font-weight:700}.hw-desk{--hw-bg: #f3f6ff;--hw-panel: #ffffff;--hw-ink: #1b2147;--hw-ink-muted: #6b76a8;--hw-gain: #16b583;--hw-down: #f2604e;--hw-vocab: #e8920f;--hw-grammar: #2f86e0;--hw-reading: #8b4fd6;--hw-listening: #11a89c;--hw-rule: #dce3f2;background:var(--hw-bg);color:var(--hw-ink);font-family:"M PLUS Rounded 1c",Hiragino Sans,sans-serif}.hw-desk .hw-num{font-family:Roboto Mono,"M PLUS Rounded 1c",ui-monospace,monospace;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.hw-anim{animation:none!important;transition:none!important}}
