:root{--text:#33403a;--bg:#f5f7f3;--border:#d7e1d3;--accent:#5b8a82;--error:#b97562;--card-bg:#e7efe6;--correct:#5f8f56;--correct-bg:#5f8f5624;--incorrect:#b97562;--incorrect-bg:#b9756221;--font-body:system-ui, "Segoe UI", Roboto, sans-serif;--font-heading:"Zen Maru Gothic", "Yu Gothic UI", "Meiryo", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e3ebe4;--bg:#1a1f1c;--border:#333f38;--accent:#7fb0a7;--error:#cf8c78;--card-bg:#212a24;--correct:#86bf78;--correct-bg:#86bf782e;--incorrect:#cf8c78;--incorrect-bg:#cf8c7829}}body{font:16px/1.6 var(--font-body);color:var(--text);background:var(--bg);margin:0}h1,button{font-family:var(--font-heading)}#root{max-width:640px;margin:0 auto;padding:24px 16px}h1{font-size:24px}button{font-family:var(--font-heading);border:1px solid var(--border);background:var(--card-bg);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;padding:10px 18px;font-size:16px}.login-page form{flex-direction:column;gap:12px;max-width:320px;display:flex}.login-page label{flex-direction:column;gap:4px;font-size:14px;display:flex}.login-page input,.login-page button{border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:16px}.login-page input{font-family:var(--font-body);width:100%}.login-page button{background:var(--accent);color:#fff;cursor:pointer;border:none}.password-field{display:flex;position:relative}.password-field input{padding-right:40px}.login-page button.password-toggle{width:32px;height:32px;color:var(--text);opacity:.6;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-page button.password-toggle:hover{opacity:1;background:var(--card-bg)}.problem-page header,.history-page header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.header-actions{align-items:center;gap:12px;display:flex}.header-actions a,.header-actions button{min-height:auto;color:var(--text);white-space:nowrap;background:0 0;border-radius:20px;padding:6px 14px;font-size:14px;text-decoration:none}.problem-card{background:var(--card-bg);border-radius:16px;padding:16px}.problem-meta{opacity:.7;margin-bottom:8px;font-size:13px}.problem-question{white-space:pre-wrap}.option-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.option{text-align:left;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-size:15px;font-family:var(--font-body);cursor:pointer;border-radius:12px;padding:10px 12px}.option:disabled{cursor:default;opacity:.85}.option-selected{border-color:var(--accent)}.option-correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct)}.option-incorrect{border-color:var(--incorrect);background:var(--incorrect-bg);color:var(--incorrect)}.explanation-panel{margin-top:16px}.explanation-panel button,.done-panel button{background:var(--accent);color:#fff;border:none;width:100%;margin-top:16px;padding:14px 20px;font-size:17px;font-weight:600;display:block}.result-correct{color:var(--correct);font-weight:600}.result-incorrect{color:var(--incorrect);font-weight:600}.explanation-text{white-space:pre-wrap}.similar-heading{margin-bottom:8px;font-weight:600}.history-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.history-item{background:var(--card-bg);border-radius:16px;padding:12px 16px}.history-row{align-items:center;gap:12px;display:flex}.history-similar-row{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.history-date,.history-elapsed{opacity:.7;font-size:13px}.error{color:var(--error)}.done-panel{text-align:center;padding:32px 0;position:relative}.celebration{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.9;width:8px;height:14px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-14px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)translate(0)rotate(0)}to{transform:translateY(110vh) translateX(var(--drift,0px)) rotate(540deg);opacity:0}}.celebration-floater{font-size:32px;animation-name:celebration-float-up;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;bottom:-48px}@keyframes celebration-float-up{0%{opacity:1;transform:translateY(0)translate(0)scale(.8)}to{transform:translateY(-110vh) translateX(var(--drift,0px)) scale(1.2);opacity:0}}.celebration-message{text-align:center;animation:.6s cubic-bezier(.34,1.56,.64,1) celebration-pop;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.celebration-emoji{font-size:64px;display:block}.celebration-message p{color:var(--accent);margin-top:8px;font-size:24px;font-weight:700}@keyframes celebration-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width<=480px){#root{padding:16px 12px}h1{font-size:20px}.problem-page header,.history-page header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-end;width:100%}}
