@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Nunito:wght@400;500;600;700;800;900&display=swap";:root{font-family:Nunito,Avenir Next,ui-rounded,sans-serif;color:#27342f;background:#f7f3e9;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #27342f;--muted: #78817a;--paper: #fffdf8;--line: #e8e1d4;--green: #2e6a55;--green-soft: #deeee3;--orange: #f28b50;--yellow: #f7c95d;--shadow: 0 18px 45px rgba(56, 61, 49, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f3e9}button{font:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid rgba(242,139,80,.45);outline-offset:3px}.app-shell{min-height:100svh;padding:0 clamp(18px,4vw,64px) 26px;background:radial-gradient(circle at 78% 3%,rgba(247,201,93,.26),transparent 24rem),linear-gradient(135deg,#f7f3e9,#f9f7f0 48%,#eef3e8)}.topbar{max-width:1440px;margin:0 auto;height:76px;display:flex;align-items:center;gap:24px;border-bottom:1px solid rgba(212,204,188,.55)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:18px;font-weight:900;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;color:#fffaf1;background:var(--green);border-radius:11px 11px 11px 3px;font-size:16px;box-shadow:3px 4px #b8d2bc}.topbar-note{margin:0;color:var(--muted);font-size:13px;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--muted);font-size:12px}.sync-dot{width:7px;height:7px;border-radius:99px;background:#75bc70;box-shadow:0 0 0 4px #75bc7024}.reset-button{margin-left:14px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#ffffff80;cursor:pointer;font-size:12px}.reset-button:hover{color:var(--ink);background:#fffdf8}.main-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr) 286px;gap:clamp(22px,3vw,48px);padding:46px 0 28px}.subject-rail{padding-top:7px}.rail-label,.eyebrow{color:#a08f78;font-family:DM Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.rail-label{margin:0 0 18px 12px}.subject-pill{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;border-radius:13px;color:var(--muted);background:transparent;text-align:left;cursor:pointer;transition:.2s ease}.subject-pill:hover{background:#fffdf8ad;color:var(--ink);transform:translate(3px)}.subject-pill--active{color:var(--ink);background:var(--paper);box-shadow:0 9px 22px #383d3112}.subject-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:11px;color:var(--green);background:var(--green-soft);font-weight:900;font-size:16px}.subject-pill:nth-of-type(3) .subject-icon{color:#a86a2e;background:#fff0d1}.subject-pill:nth-of-type(4) .subject-icon{color:#436a9d;background:#e1ebfa}.subject-pill:nth-of-type(5) .subject-icon{color:#7a6b9f;background:#eee7fb}.subject-copy{display:grid;gap:2px;flex:1}.subject-copy strong{font-size:14px}.subject-copy small{color:#a0a7a0;font-size:11px}.subject-arrow{color:#b9beb7;font-size:21px;line-height:1}.rail-note{position:relative;margin:46px 8px 0;padding:19px 15px;border:1px dashed #d6cdbd;border-radius:16px;color:#8c856f;background:#fffdf852;transform:rotate(-1.5deg)}.rail-note p{margin:7px 0 0;font-size:12px;line-height:1.7}.note-star{color:var(--orange);font-size:21px}.content-column{min-width:0}.welcome-block{display:flex;align-items:flex-start;justify-content:space-between;min-height:134px}.welcome-block h1{margin:11px 0 6px;color:var(--ink);font-size:clamp(30px,4vw,49px);line-height:1.05;letter-spacing:-.06em}.welcome-block h1 em{color:var(--green);font-style:normal;position:relative}.welcome-block h1 em:after{content:"";position:absolute;left:4px;right:0;bottom:-5px;height:7px;background:#f7c95d94;border-radius:50%;transform:rotate(-2deg);z-index:-1}.welcome-block p{margin:0;color:var(--muted);font-size:14px}.sun-doodle{position:relative;width:100px;height:80px;margin:2px 22px 0 16px;color:var(--orange)}.sun-doodle strong{position:absolute;right:10px;top:2px;font-size:62px;font-weight:500;transform:rotate(12deg)}.sun-doodle span{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--yellow)}.sun-doodle span:nth-child(1){left:4px;top:14px}.sun-doodle span:nth-child(2){left:26px;top:62px}.sun-doodle span:nth-child(3){right:0;bottom:8px}.content-tabs{display:flex;align-items:center;gap:24px;margin-bottom:15px;border-bottom:1px solid var(--line)}.content-tab,.content-tabs button{padding:0 0 13px;border:0;color:#a3a79f;background:transparent;cursor:pointer;font-size:13px;font-weight:800;position:relative}.content-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:6px;color:var(--green);background:var(--green-soft);font:11px DM Mono,monospace}.content-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:transparent}.content-tabs button:hover,.content-tabs button.content-tab--active{color:var(--ink)}.content-tabs button.content-tab--active:after{background:var(--orange)}.practice-card,.history-panel{min-height:464px;border:1px solid rgba(228,220,207,.9);border-radius:22px;background:#fffdf8cc;box-shadow:var(--shadow);overflow:hidden}.practice-content{padding:clamp(24px,4vw,48px)}.question-meta{display:flex;align-items:center;gap:10px}.question-number{color:var(--green);font:12px DM Mono,monospace}.question-grade{padding:5px 9px;border-radius:99px;color:#a08f78;background:#f5efe2;font-size:11px}.question-title{max-width:730px;margin:29px 0 35px;font-size:clamp(21px,2.4vw,29px);line-height:1.5;letter-spacing:-.03em}.choice-list{display:grid;gap:11px;max-width:650px}.choice-button{display:flex;align-items:center;gap:12px;width:100%;min-height:53px;padding:13px 16px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#ffffff75;text-align:left;cursor:pointer;transition:.18s ease}.choice-button:not(:disabled):hover{border-color:#a6c5ad;background:#f2f8f0;transform:translate(4px)}.choice-button:disabled{cursor:default}.choice-button--correct{border-color:#8bc29a;color:#2a6b4e;background:#e8f5e8}.choice-button--wrong{border-color:#eeb39c;color:#a55435;background:#fff0e9}.choice-dot{width:11px;height:11px;border:2px solid #c6cbbf;border-radius:50%}.choice-button--correct .choice-dot{border-color:#4d9a69;background:#4d9a69}.choice-button--wrong .choice-dot{border-color:#d67e59;background:#d67e59}.choice-mark{margin-left:auto;font-weight:900}.short-answer{max-width:650px;display:grid;gap:10px}.short-answer label{color:var(--muted);font-size:13px;font-weight:700}.short-answer textarea{resize:vertical;width:100%;padding:14px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fffefa;font:inherit;line-height:1.6}.primary-button{width:fit-content;padding:11px 17px;border:0;border-radius:10px;color:#fffdf8;background:var(--green);cursor:pointer;font-weight:800;box-shadow:0 5px #1f503f;transition:.16s ease}.primary-button:hover:not(:disabled){background:#245b49;transform:translateY(-1px)}.primary-button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}.answer-button{margin-top:4px}.feedback-box{max-width:650px;margin-top:28px;padding:19px 20px 18px;border-radius:15px}.feedback-box--correct{color:#2b644b;background:#e8f5e8}.feedback-box--wrong{color:#8f553d;background:#fff0e8}.feedback-heading{display:flex;align-items:center;gap:8px;font-size:16px}.feedback-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;background:currentColor;font-size:14px}.feedback-box--correct .feedback-icon{color:#4f9b68}.feedback-box--wrong .feedback-icon{color:#d77d59}.feedback-answer{margin:13px 0 0;font-weight:800}.feedback-explanation{margin:10px 0 0;color:#68786c;font-size:13px;line-height:1.75}.knowledge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.knowledge-row span{padding:4px 8px;border-radius:99px;color:#78817a;background:#ffffffb3;font-size:11px}.next-button{display:block;margin:19px 0 0 auto;padding:8px 0;border:0;color:var(--green);background:transparent;cursor:pointer;font-size:13px;font-weight:900}.next-button span{margin-left:5px;font-size:17px}.empty-practice{display:grid;place-items:center;align-content:center;min-height:464px;padding:40px;text-align:center}.empty-illustration{display:grid;place-items:center;width:78px;height:78px;margin-bottom:16px;border-radius:28px 28px 28px 8px;color:#fff;background:var(--green);font-size:38px;transform:rotate(-6deg)}.empty-practice h2{margin:0;font-size:23px}.empty-practice p{max-width:300px;margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.progress-panel{align-self:start;padding:24px 21px;border:1px solid rgba(228,220,207,.9);border-radius:20px;background:#fffdf8b8;box-shadow:0 12px 30px #383d310b}.panel-heading,.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-heading h2,.section-heading h2{margin:7px 0 0;font-size:18px;letter-spacing:-.04em}.accuracy-ring{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at center,var(--paper) 56%,transparent 58%),conic-gradient(var(--orange) var(--progress),#ece6da 0)}.accuracy-ring strong{margin-top:4px;color:var(--green);font-size:19px;line-height:1}.accuracy-ring strong small{font-size:11px}.accuracy-ring span{margin-top:-19px;color:#a09a8c;font-size:9px}.subject-progress-list{display:grid;gap:19px;margin-top:28px}.progress-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.progress-label span{display:flex;align-items:center;gap:7px}.progress-label strong{color:var(--ink);font:11px DM Mono,monospace}.progress-dot{width:8px;height:8px;border-radius:50%}.progress-dot--green{background:#5a9d70}.progress-dot--orange{background:#e99755}.progress-dot--blue{background:#6794c5}.progress-dot--purple{background:#9a86be}.progress-track{height:6px;margin-top:8px;overflow:hidden;border-radius:99px;background:#eee9dd}.progress-fill{display:block;height:100%;border-radius:inherit}.progress-fill--green{background:#5a9d70}.progress-fill--orange{background:#e99755}.progress-fill--blue{background:#6794c5}.progress-fill--purple{background:#9a86be}.streak-card{display:flex;align-items:center;gap:10px;margin-top:29px;padding:12px;border-radius:13px;background:#fff2d0}.streak-icon{display:grid;place-items:center;width:30px;height:30px;color:#ba762f;background:#ffe2a0;border-radius:10px}.streak-card strong{display:block;color:#7e5d32;font-size:12px}.streak-card p{margin:2px 0 0;color:#a08254;font-size:10px}.history-panel{padding:clamp(24px,4vw,39px)}.history-count{color:var(--green);font:12px DM Mono,monospace}.history-list{display:grid;gap:8px;margin-top:28px}.history-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#f7f3e9a6}.history-state{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-weight:900}.history-state--correct{color:#3f8158;background:#dff0df}.history-state--wrong{color:#b56b4e;background:#ffe3d5}.history-row strong{font-size:13px}.history-row p{margin:3px 0 0;color:var(--muted);font-size:11px}.history-row time{margin-left:auto;color:#aaa99f;font:10px DM Mono,monospace}.history-empty{display:grid;place-items:center;align-content:center;min-height:340px;color:#a4a79d;text-align:center}.history-empty span{font-size:42px;color:var(--yellow)}.history-empty p{max-width:280px;font-size:13px;line-height:1.7}.loading-card,.error-card{min-height:464px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid var(--line);border-radius:22px;background:#fffdf8cc;text-align:center}.loading-card p,.error-card p{margin:0;color:var(--muted);font-size:13px}.loading-spinner{width:30px;height:30px;border:3px solid #dfe9dc;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.error-card strong{font-size:18px}.error-card .primary-button{margin-top:12px}.app-footer{max-width:1440px;display:flex;justify-content:center;gap:10px;margin:0 auto;padding-top:4px;color:#aaa99f;font:10px DM Mono,monospace}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.main-layout{grid-template-columns:175px minmax(0,1fr)}.progress-panel{grid-column:2}.subject-rail{grid-row:span 2}.progress-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.subject-progress-list{margin-top:0}.streak-card{margin-top:0;align-self:end}}@media(max-width:760px){.app-shell{padding-inline:15px}.topbar{height:64px;gap:13px}.topbar-note{display:none}.topbar-actions{font-size:10px}.reset-button{margin-left:6px;padding:6px 7px}.main-layout{display:flex;flex-direction:column;gap:18px;padding-top:27px}.subject-rail{display:flex;gap:7px;overflow-x:auto;padding:0 1px 4px}.rail-label,.rail-note{display:none}.subject-pill{flex:0 0 auto;width:auto;min-width:122px;padding:8px}.subject-pill .subject-copy small,.subject-arrow{display:none}.subject-icon{width:29px;height:29px;border-radius:9px}.subject-copy strong{font-size:13px}.welcome-block{min-height:118px}.welcome-block p{max-width:270px;font-size:13px;line-height:1.55}.sun-doodle{transform:scale(.75);transform-origin:top right;margin-right:-5px}.content-tabs{margin-bottom:10px}.practice-card,.history-panel{min-height:500px;border-radius:18px}.practice-content{padding:23px 18px}.question-title{margin:23px 0 27px;font-size:21px}.choice-button{min-height:55px}.progress-panel{display:block;padding:20px 17px}.subject-progress-list{margin-top:25px}.streak-card{margin-top:24px}.app-footer{padding-bottom:max(4px,env(safe-area-inset-bottom))}}@media(max-width:420px){.topbar-actions>span:not(.sync-dot){display:none}.brand{font-size:16px}.welcome-block h1{font-size:32px}.sun-doodle{width:70px}.history-row time{display:none}}.assessment-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.secondary-button{min-height:44px;padding:10px 16px;border:1px solid #b4c8b9;border-radius:10px;color:var(--green);background:var(--paper);cursor:pointer}.history-row{align-items:flex-start}.history-detail{min-width:0;flex:1}.history-detail p{line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.history-detail summary{margin-top:8px;color:var(--green);cursor:pointer;font-size:12px}.history-restore{min-height:44px;margin-top:6px;padding:8px 0;border:0;color:var(--green);background:transparent;cursor:pointer;font-size:12px;font-weight:800}.subject-pill:nth-of-type(2) .subject-icon{color:#a86a2e;background:#fff0d1}.subject-pill:nth-of-type(3) .subject-icon{color:#436a9d;background:#e1ebfa}.subject-pill:nth-of-type(4) .subject-icon{color:#7a6b9f;background:#eee7fb}.feedback-icon{background:transparent}.question-title{white-space:pre-wrap}.content-tabs button,.reset-button{min-height:44px}.app-footer{flex-wrap:wrap;text-align:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.sync-dot--error{background:#c75e39}.save-warning{max-width:1440px;margin:15px auto 0;padding:12px 16px;border-radius:10px;background:#ffe3d5;color:#8f553d;font-size:14px}
