@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{color:#233b35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#245d48;--muted:#748078;--border:#e1e7de;background:#f4f6f0;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,input,a{touch-action:manipulation}:focus-visible{outline-offset:4px;outline:3px solid #94b8a2}.app{background:radial-gradient(at 80% 15%,#e7eddf 0,#0000 48%),#f4f6f0;min-height:100svh}header{justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:auto;padding:30px 28px;display:flex}.brand{color:inherit;letter-spacing:-.5px;align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand-icon{background:var(--accent);color:#fff;border-radius:11px;place-items:center;width:35px;height:35px;display:grid}.header-note,footer{color:var(--muted);font-size:12px}main{padding:30px 20px 20px}.card{background:#fffefb;border:1px solid #e4e9df;border-radius:26px;width:100%;max-width:560px;margin:0 auto;padding:42px;box-shadow:0 18px 65px #334c3510}.eyebrow{letter-spacing:2px;color:var(--muted);font-size:10px;font-weight:700}h1{letter-spacing:-2px;margin:20px 0 14px;font-family:Manrope,sans-serif;font-size:clamp(34px,6vw,46px);line-height:1.15}.intro{color:var(--muted);font-size:14px;line-height:1.6}.type-picker{margin:28px 0}.type-picker label{display:block}.type-picker select{width:100%;min-height:54px;color:inherit;font:inherit;appearance:none;background:#f1f5ed;border:1px solid #cad7c4;border-radius:12px;padding:14px 48px 14px 14px;font-size:16px}.select-wrap{position:relative}.select-wrap:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:20px;transform:translateY(-70%)rotate(45deg)}.function-label{letter-spacing:0;color:var(--muted);margin-bottom:12px;font-size:20px;display:block}.answer-label{text-align:center;margin-bottom:12px;font-size:13px;font-weight:600}.math-editor>math-field{width:100%;min-height:76px;color:inherit;background:#fff;border:1px solid #cad7c4;border-radius:12px;padding:12px;font-size:28px;display:block}.math-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.math-tools button{border:1px solid var(--border);min-height:46px;color:inherit;background:#f1f5ed;border-radius:10px;padding:8px 4px;font-size:15px}.math-tools button:hover{background:#e3ecd9}.derivative-prompt{text-align:center;margin:24px 0}.math-display{width:fit-content;min-width:0;max-width:100%;color:inherit;font-size:inherit;background:0 0;border:0;margin-inline:auto;padding:4px 0;display:block;overflow-x:auto}.derivative-prompt .math-display{font-size:clamp(24px,5.5vw,34px)}.math-display::part(virtual-keyboard-toggle),.math-display::part(menu-toggle){display:none}.result-detail .math-display{font-size:16px}.solution .math-display{font-size:22px}fieldset{border:0;min-width:0;margin:0;padding:0}legend,label{margin-bottom:12px;font-size:13px;font-weight:600}.presets{grid-template-columns:repeat(4,1fr) 1.4fr;gap:8px;display:grid}.presets button{border:1px solid var(--border);min-height:48px;color:inherit;background:0 0;border-radius:10px;padding:8px 4px;font-size:14px}.presets .selected{color:var(--accent);background:#eaf1e4;border-color:#7d9d6f;font-weight:700}.primary,.secondary{border-radius:12px;width:100%;min-height:54px;margin-top:24px;font-weight:600}.primary{background:var(--accent);border:1px solid var(--accent);color:#fff;justify-content:center;align-items:center;gap:20px;display:flex}.primary:hover:not(:disabled){background:#194b39}.primary>span{font-size:21px}.secondary{border:1px solid var(--border);color:inherit;background:0 0;margin-top:10px}.hint{text-align:center;color:var(--muted);margin:18px 0 0;font-size:12px;line-height:1.6}.custom-count{margin-top:18px}.custom-count label{display:block}input{width:100%;color:inherit;background:#fff;border:1px solid #cad7c4;border-radius:12px;padding:14px;font-size:20px}.session-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.text-button{color:var(--muted);background:0 0;border:0;padding:8px 0 8px 8px;font-size:12px}progress{appearance:none;background:#edf0e9;border:0;border-radius:5px;width:100%;height:5px;margin-top:15px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#edf0e9}progress::-webkit-progress-value{background:#7e9e67}progress::-moz-progress-bar{background:#7e9e67}.exercise-label{text-align:center;color:var(--muted);margin:42px 0 0;font-size:13px}.equation{text-align:center;white-space:nowrap;margin:20px 0;font-size:clamp(44px,10vw,65px)}.timer{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:8px;font-size:17px;display:flex}.timer-dot{background:#a6aea2;border-radius:50%;width:6px;height:6px}.timer-dot.running{background:#76a056}.timer-label{color:var(--muted);font-size:11px}.answer-form{margin-top:34px}.answer-form label{text-align:center;display:block}.answer-form input{text-align:center;font-variant-numeric:tabular-nums;height:74px;font-size:32px}.feedback{text-align:center;margin-top:34px}.verdict{border-radius:12px;padding:14px;font-weight:600}.correct{color:#37683d;background:#edf4e6}.incorrect{color:#9b5140;background:#fbede7}.solution{margin-bottom:8px;font-size:18px}.muted{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0;padding:22px 0;display:grid}.stats div{flex-direction:column;gap:8px;display:flex}.stats span{color:var(--muted);font-size:11px}.stats strong{font-variant-numeric:tabular-nums;letter-spacing:-.8px;font-size:clamp(18px,4vw,24px)}h2{margin-bottom:16px;font-size:14px}.results{margin:0;padding:0;list-style:none}.results li{border-bottom:1px solid #edf0e9;align-items:center;gap:12px;padding:16px 0;display:flex}.result-number{color:var(--muted);flex-shrink:0;width:18px;font-size:11px}.result-detail{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.result-detail strong{font-size:14px}.result-detail>span{font-size:11px}.correct-text{color:#548042}.incorrect-text{color:#aa624c}.result-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}footer{text-align:center;padding:20px 20px 30px}@media (width<=600px){header{padding:22px 20px}.header-note{display:none}main{padding-top:12px}.card{border-radius:22px;padding:28px 22px}.exercise-label{margin-top:32px}}@media (prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}.result-detail .math-display{margin-inline:0}.math-display::part(container),.math-display::part(content){padding:0}.brand-icon{flex-shrink:0}.pwa-status{border:1px solid var(--border);z-index:1000;background:#fffefb;border-radius:14px;max-width:500px;margin:auto;padding:16px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 6px 30px #233b3526}.pwa-status p{margin:0 0 12px;font-size:14px}.pwa-status button{border:1px solid var(--border);color:inherit;background:#f1f5ed;border-radius:8px;margin-right:8px;padding:8px 14px}
