.math-page,.math-admin{margin:0;color:var(--learn-ink);background:var(--learn-paper);font-family:Manrope,"Noto Sans SC","PingFang SC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.math-page *,.math-admin *{box-sizing:border-box}.math-page [hidden],.math-admin [hidden]{display:none!important}
.math-page button,.math-admin button,.math-admin select{font:inherit}.math-page button,.math-admin button{cursor:pointer}.math-page button:disabled,.math-admin button:disabled{cursor:default;opacity:.45}
.math-page :focus-visible,.math-admin :focus-visible{outline:3px solid var(--learn-blue);outline-offset:3px}
.math-shell{width:min(1500px,100%);margin:auto;padding:0 var(--learn-pad) 28px}
.math-nav{min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;border-bottom:1px solid var(--learn-line);font:500 10px/1.4 "DM Mono",monospace;letter-spacing:.1em}
.math-nav a{color:var(--learn-blue);text-decoration:none}.math-nav a:hover{text-decoration:underline;text-underline-offset:4px}.math-nav>:last-child{justify-self:end}
.math-header{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:30px 0 24px;border-bottom:1px solid var(--learn-ink);margin-bottom:20px}
.math-kicker{color:var(--learn-blue);font:500 10px/1.4 "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.math-header h1{margin:8px 0 0;font-size:clamp(42px,5vw,68px);line-height:.9;letter-spacing:-.065em;font-weight:800}.math-header p{color:var(--learn-muted);margin:12px 0 0;font-size:13px}
.session-counter{padding:12px 16px;background:var(--learn-acid);border:1px solid var(--learn-ink);font:500 11px/1.3 "DM Mono",monospace;white-space:nowrap}
.math-button{min-height:44px;padding:11px 17px;border:1px solid var(--learn-ink);border-radius:0;background:white;color:var(--learn-ink);font-size:13px!important;font-weight:600!important}
.math-button:hover:not(:disabled){background:var(--learn-acid)}.math-button.primary{background:var(--learn-ink);color:white}.math-button.primary:hover:not(:disabled){background:var(--learn-blue);border-color:var(--learn-blue)}
.math-button.text-button{padding-left:0;padding-right:0;background:transparent;border-color:transparent;color:var(--learn-blue)}
.muted{color:var(--learn-muted);font-size:12px;line-height:1.65}.math-notice{padding:13px 16px;border:1px solid #ab3423;color:#8e291c;background:#fff0eb;margin-bottom:16px;line-height:1.5;font-size:13px}
.math-home{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);border:1px solid var(--learn-ink)}
.home-intro{padding:clamp(24px,4vw,54px);background:var(--learn-blue);color:white;border-right:1px solid var(--learn-ink)}.home-intro .math-kicker{color:var(--learn-acid)}
.home-intro h2{margin:18px 0;font-size:clamp(34px,4vw,56px);line-height:1.1;letter-spacing:-.055em}.home-intro p{max-width:540px;font-size:14px;line-height:1.8;opacity:.85}
.home-example{display:flex;flex-direction:column;align-items:start;gap:12px;margin:35px 0;font:400 clamp(21px,2.6vw,32px)/1.4 "Cambria Math",Georgia,serif;overflow-wrap:anywhere}.example-arrow{color:var(--learn-acid)}
.home-tags{display:flex;flex-wrap:wrap;gap:8px}.home-tags span{padding:7px 9px;border:1px solid #ffffff70;font-size:11px}
.home-start{background:#fffefb;padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;align-items:start}.home-count{margin-top:20px;font-size:90px;font-weight:800;line-height:1;letter-spacing:-.075em}.home-count span{font-size:16px;font-weight:500;margin-left:10px;letter-spacing:0}
.session-notes{list-style:none;margin:24px 0 30px;padding:0;width:100%}.session-notes li{font-size:12px;line-height:1.7;padding:10px 0;border-bottom:1px solid var(--learn-line)}.home-start .math-button{width:100%;margin-bottom:8px}.home-start #start-button{margin-top:auto}
.math-progress{height:5px;background:#dddacf;margin-bottom:18px}.math-progress span{display:block;height:100%;background:var(--learn-blue);width:0;transition:width .2s ease}
.practice-layout{display:grid;grid-template-columns:200px minmax(0,1fr);border:1px solid var(--learn-ink)}.practice-side{background:var(--learn-acid);padding:22px;border-right:1px solid var(--learn-ink)}.practice-side h2{font-size:25px;letter-spacing:-.04em;margin:14px 0 22px}
.question-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.question-nav button{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:9px;font-size:12px;background:transparent;border:1px solid var(--learn-ink)}.question-nav button[aria-current="true"]{background:var(--learn-ink);color:white}.question-nav button .q-mark{font-weight:800}.practice-side .muted{margin-top:20px}
.math-question{padding:clamp(20px,3.4vw,42px);background:#fffefb;min-width:0}.question-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.challenge-label{background:var(--learn-purple);color:var(--learn-ink);padding:7px 10px;font-size:11px}
.question-instruction{color:var(--learn-muted);font-size:12px;margin:18px 0 8px}.math-expression{font-family:"Cambria Math",Cambria,Georgia,"Noto Sans SC",serif!important;overflow-wrap:anywhere;white-space:pre-wrap}.question-expression{font-size:clamp(25px,4vw,40px);line-height:1.45;padding:12px 0 24px}
.pad-label{font-size:12px;font-weight:600;margin:0 0 9px;display:flex;justify-content:space-between;gap:10px}.pad-editor{background:white;border:1px solid var(--learn-line);min-height:64px;padding:14px;width:100%;text-align:left;display:flex;flex-wrap:wrap;align-items:center;border-radius:0;color:var(--learn-ink)}.pad-editor[aria-pressed="true"]{border-color:var(--learn-blue);box-shadow:inset 0 -3px 0 var(--learn-blue)}
.pad-token{font:400 24px/1.5 "Cambria Math",Cambria,Georgia,serif;white-space:pre}.pad-caret{width:2px;height:28px;background:var(--learn-blue);margin:0 2px}.pad-placeholder{font-size:13px;color:var(--learn-muted)}
.pad-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.pad-tools-group{display:flex;gap:8px}.pad-tools button{min-height:44px;padding:6px 10px;background:transparent;border:1px solid var(--learn-line);color:var(--learn-ink);font-size:12px}
.pad-keys{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.pad-keys button{min-width:0;min-height:53px;border:1px solid var(--learn-line);border-radius:0;background:white;color:var(--learn-ink);font-size:20px}.pad-keys button.pad-symbol{background:#ebe8df}.pad-keys button.pad-edit{font-size:12px}.pad-keys button:hover:not(:disabled){background:var(--learn-acid)}.pad-keys button:active:not(:disabled){background:var(--learn-blue);color:white}
.pad-scratch{padding:14px 0 8px}.pad-scratch .muted{margin:0 0 8px}.pad-scratch-row{display:flex;align-items:stretch;gap:7px;margin-bottom:8px}.pad-scratch-row .pad-editor{min-height:54px;flex:1;min-width:0}.pad-remove{border:1px solid var(--learn-line);background:transparent;min-width:44px;font-size:12px}.pad-extra-keys{display:flex;gap:6px;margin-bottom:8px}.pad-extra-keys button{min-height:44px;min-width:60px;border:1px solid var(--learn-line);background:var(--learn-purple);font-size:20px}
.answer-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.answer-actions #submit-button{margin-left:auto}.math-hints{background:#f4efd9;border-left:3px solid var(--learn-orange);padding:12px 16px;margin-top:16px}.math-hints p{margin:4px 0;font-size:13px;line-height:1.8}
.skip-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;border:1px solid var(--learn-line);margin-top:14px;font-size:12px}.feedback-block{padding:20px;border:1px solid var(--learn-ink);background:#f4efdf}.feedback-block.correct{background:#eef2dd}.feedback-block h3{margin:0 0 10px;font-size:22px}.feedback-block p{font-size:13px;line-height:1.7}
.answer-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.answer-pair>div{border-top:1px solid var(--learn-line);padding-top:10px;min-width:0}.answer-pair small{display:block;color:var(--learn-muted);font-size:11px;margin-bottom:6px}.answer-pair .math-expression{font-size:20px;line-height:1.5}.solution-steps{padding-left:20px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.next-button{margin-top:18px}
.result-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:32px 0 24px}.result-heading h2{font-size:clamp(28px,4vw,44px);margin:8px 0;letter-spacing:-.05em}
.math-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--learn-ink);border-left:1px solid var(--learn-ink);margin-bottom:24px}.math-metric{padding:22px;border-right:1px solid var(--learn-ink);border-bottom:1px solid var(--learn-ink);background:white;min-width:0}.math-metric:first-child{background:var(--learn-blue);color:white}.math-metric:nth-child(2){background:var(--learn-acid)}.math-metric:nth-child(3){background:var(--learn-purple)}.math-metric small{display:block;font-size:11px}.math-metric strong{display:block;font-size:clamp(27px,3vw,42px);line-height:1.2;letter-spacing:-.05em;margin-top:12px}.math-metric span{display:block;margin-top:8px;font-size:11px;line-height:1.5}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.review-heading h3{margin:0;font-size:24px}.review-heading label{display:inline-flex;align-items:center;gap:6px;font-size:12px;min-height:44px}.review-heading input{width:18px;height:18px;accent-color:var(--learn-blue)}
.review-item{border:1px solid var(--learn-line);background:#fffefb;margin-bottom:10px}.review-item summary{cursor:pointer;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.review-item summary::-webkit-details-marker{display:none}.review-item summary>span:first-child{min-width:0;overflow-wrap:anywhere}.review-item summary .math-expression{font-size:20px}.review-status{padding:6px 8px;background:#e5ead4;font-size:11px;white-space:nowrap;flex-shrink:0}.review-status.wrong{background:#ffe1d5}.review-status.pending{background:#ebe8df}
.review-content{padding:0 18px 18px;border-top:1px solid var(--learn-line)}.review-content p{font-size:13px;line-height:1.7}.empty-state{border:1px dashed var(--learn-line);padding:40px 24px;text-align:center;color:var(--learn-muted);font-size:13px}
.math-footer{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--learn-line);padding-top:22px;margin-top:48px;font:400 9px/1.6 "DM Mono",monospace;letter-spacing:.09em}
.history-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.history-toolbar select{background:white;border:1px solid var(--learn-line);min-height:44px;padding:10px;font-size:13px}.history-layout{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid var(--learn-ink);background:#fffefb}.history-list{border-right:1px solid var(--learn-ink)}
.history-item{display:block;width:100%;padding:18px;text-align:left;border:0;border-bottom:1px solid var(--learn-line);background:transparent;color:var(--learn-ink)}.history-item[aria-pressed="true"]{background:var(--learn-acid)}.history-item strong,.history-item span{display:block}.history-item strong{font-size:13px}.history-item span{margin-top:8px;font-size:11px;color:var(--learn-muted)}
.history-detail{padding:25px;min-width:0}.history-detail h2{font-size:27px;margin:0 0 10px;letter-spacing:-.045em}.history-summary{padding:15px;border:1px solid var(--learn-line);background:var(--learn-purple);font-size:13px;line-height:1.8;margin-bottom:18px}.history-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.math-admin .math-header h1{font-size:clamp(30px,4vw,48px)}
@media(max-width:900px){.math-home{grid-template-columns:1fr 1fr}.practice-layout{grid-template-columns:1fr}.practice-side{border-right:0;border-bottom:1px solid var(--learn-ink);padding:14px 18px}.practice-side h2,.practice-side>.math-kicker,.practice-side .muted{display:none}.question-nav{grid-template-columns:repeat(10,minmax(0,1fr))}.question-nav button{justify-content:center;gap:4px;padding:4px}.practice-side #pause-button{margin-top:6px;min-height:32px;font-size:11px!important}.history-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:650px){.math-nav{font-size:9px;gap:8px}.math-header{align-items:start}.math-header h1{font-size:46px}.session-counter{padding:9px;font-size:10px}.math-home,.history-layout{grid-template-columns:1fr}.home-intro{border-right:0;border-bottom:1px solid var(--learn-ink)}.home-example{margin:25px 0}.home-count{font-size:68px}.math-question{padding:18px 12px}.question-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.question-nav button{justify-content:space-between;padding:8px}.pad-keys{gap:4px}.pad-keys button{min-height:48px}.pad-tools{gap:6px}.pad-tools-group{gap:4px}.pad-tools button{padding:6px 8px}.answer-actions #submit-button{width:100%;margin-left:0}.answer-pair{grid-template-columns:1fr}.result-heading{align-items:start;flex-direction:column}.math-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.math-metric{padding:17px}.review-heading{align-items:start;flex-direction:column;gap:4px}.review-item summary{padding:12px}.history-list{border-right:0;border-bottom:1px solid var(--learn-ink);max-height:300px;overflow-y:auto}.history-detail{padding:16px 12px}.math-footer{flex-direction:column;margin-top:32px}}
@media(prefers-reduced-motion:reduce){.math-progress span{transition:none}}
