:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#21334b;background:#f3f6fa;font-size:16px;--blue:#245de9;--ink:#20344e;--muted:#6a7890;--line:#e3e9f1}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}button,input,textarea,select{font:inherit}button,a,label.upload-button{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6699ff;outline-offset:3px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}.sidebar{width:252px;background:#172e4c;color:#f2f6ff;position:fixed;inset:0 auto 0 0;padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:700;font-size:18px}.logo{display:grid;place-content:center;border:1px solid #7990b0;border-radius:12px;width:43px;height:43px;font:italic 32px Georgia;position:relative}.logo span{font-size:17px;position:absolute;top:0;right:6px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:7px;color:#a7b8d1}.side-label{font-size:11px;letter-spacing:1.5px;color:#95a8c4;margin:52px 12px 17px}nav{display:grid;gap:7px}nav button{border:0;color:#b9c7db;background:none;border-radius:9px;display:flex;align-items:center;gap:13px;padding:14px 15px;text-align:left;font-size:20px}nav button span{font-size:14px}nav button.selected{background:#2b4464;color:white;box-shadow:inset 3px 0 #83b4ff}.topics-label{margin-top:38px}.topic{display:flex;align-items:center;gap:11px;padding:8px 12px;font-size:14px}.topic-symbol{background:#284264;color:#bdd4f5;border-radius:8px;padding:6px 11px;font:italic 21px Georgia}.topic small{display:block;color:#95a8c4;font-size:12px;margin-top:6px}.side-note{margin: auto 4px 26px;padding:22px 15px 4px;border-top:1px solid #38506c}.side-note span{color:#9db6d6;font-size:10px;letter-spacing:1.5px}.side-note p{font-size:14px;line-height:1.7;color:#c7d4e5}.profile{border-top:1px solid #38506c;padding-top:20px;display:flex;align-items:center;gap:10px;font-size:12px}.profile>span{background:#deebff;color:#24446d;padding:10px 13px;border-radius:50%;font-weight:700}.profile small{display:block;color:#a6b7ce;font-size:10px;margin-top:6px}main{margin-left:252px;padding:0 48px;width:calc(100% - 252px);max-width:1800px}header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}header div span{margin:0 12px;color:#a6b1c0}.local-label{background:#e9eef5;padding:7px 11px;border-radius:5px;font-size:12px}.heading{padding:38px 0 30px;display:flex;justify-content:space-between;align-items:center}.eyebrow{color:#4776ba;letter-spacing:1.8px;font-size:11px;font-weight:700;margin:0 0 13px}h1{font-size:clamp(28px,3vw,39px);font-weight:650;letter-spacing:-1.2px;margin:0 0 12px}.heading p:not(.eyebrow){font-size:15px;color:var(--muted);margin:0;line-height:1.6}.chapter{font:40px Georgia;color:#9cabbe;text-align:center;border-left:1px solid var(--line);padding-left:30px}.chapter span{display:block;font:9px sans-serif;letter-spacing:2px;margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(390px,1.25fr);gap:24px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 24px #1c335706}.input-card{padding:23px}.card-heading{display:flex;align-items:center;gap:10px;margin-bottom:25px}.card-heading h2{font-size:16px;font-weight:650;margin:0}.step-label{background:#edf3ff;color:#487bd3;padding:7px 9px;border-radius:6px;font-size:11px;font-weight:700}.step-label.green{background:#e7f5ee;color:#398067}label{display:block;font-size:13px;margin-bottom:10px;color:#53657d}input,textarea,select{width:100%;border:1px solid #cdd8e5;border-radius:8px;padding:13px;background:white;color:var(--ink)}#equation{font-size:22px;font-family:Georgia,serif;padding:18px 13px;background:#fbfcff}.keypad{display:flex;gap:7px;margin-top:12px}.keypad button{background:white;border:1px solid var(--line);border-radius:5px;min-width:35px;height:30px;color:#526783;font:16px Georgia}.input-help{font-size:11px;color:#77869b;line-height:1.6;margin:10px 0 20px}.interpreted{border-top:1px solid var(--line);padding-top:18px}.interpreted>span,.examples>span,.learning-note>span{font-size:10px;letter-spacing:1.4px;color:#7888a0;font-weight:650}#input-preview{padding:15px 0 18px;min-height:66px;text-align:center;overflow-x:auto;font-size:22px}.primary{border:0;background:var(--blue);color:white;border-radius:8px;padding:13px 17px;font-size:14px;font-weight:600;box-shadow:0 3px 8px #245de920}.primary:hover{background:#174bc4}.primary.full{width:100%;display:flex;justify-content:space-between}.secondary{border:1px solid #d8e2ee;background:white;color:#37506e;border-radius:8px;padding:11px 14px;font-size:13px}.secondary:hover,.examples button:hover{background:#f0f5ff}.upload-area{border-top:1px solid var(--line);margin-top:22px;padding-top:19px;text-align:center}.upload-button{font-size:13px;color:#4b617f;cursor:pointer;margin:0}.upload-area p{font-size:11px;color:#8591a4;margin:8px 0 0}#photo-preview{max-width:100%;max-height:180px;margin:15px 0;border-radius:6px}#photo-status{font-size:13px;margin-top:10px;line-height:1.6}#ocr-review{text-align:left;margin-top:15px}#ocr-review button{margin-top:10px}.error{color:#b83741;font-size:13px;line-height:1.6}.error:empty{display:none}.examples{margin:23px 0}.examples>span{display:block;margin:0 2px 10px}.examples button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#547095;font-size:12px}.examples button span{color:#314968;font-family:Georgia;font-size:15px}.solution-card{min-height:568px;padding:24px}.pill{margin-left:auto;background:#edf3fb;color:#5c779c;font-size:10px;padding:6px 8px;border-radius:5px}.empty-state{padding:62px 20px 38px;text-align:center}.big-math{font:italic 54px Georgia;color:#9db2cf;margin-bottom:32px}.empty-state h3{font-size:19px;font-weight:550;line-height:1.5}.empty-state p{color:var(--muted);line-height:1.8;font-size:14px;max-width:330px;margin:auto}.learning-note{background:#f5f8fc;border-radius:8px;padding:19px;margin-top:26px}.learning-note p{font-size:13px;color:#5d708c;margin-bottom:0;line-height:1.6}.classification{padding:20px;border:1px solid #dae6fa;background:#f4f8ff;border-radius:9px}.classification h3{margin:0 0 9px;font-size:20px}.classification p{font-size:14px;color:#596f8e;line-height:1.7;margin:6px 0}.method{font-size:12px;color:#3974b5;margin:15px 0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.hint{padding:15px;background:#fff7e4;border-radius:8px;font-size:14px;line-height:1.7;margin-bottom:16px}.solution-step{position:relative;border-left:2px solid #e6edf7;margin-left:13px;padding:3px 0 23px 24px}.solution-step .number{position:absolute;left:-13px;top:0;background:#edf3fc;color:#6386b9;width:24px;height:24px;border-radius:50%;display:grid;place-content:center;font-size:11px}.solution-step h4{font-size:13px;margin:0 0 13px;color:#49617f;font-weight:500}.equation-output{font-size:23px;padding:4px 0;overflow:auto}.solution-step p{font-size:13px;color:#647791;line-height:1.7}.solution-step details{font-size:12px;color:#416eaa;margin-top:12px}.solution-step summary{cursor:pointer}.answer{background:#eaf6ef;border:1px solid #cfe9db;border-radius:9px;padding:19px;margin:8px 0 18px}.answer>span{display:block;color:#45806a;letter-spacing:1.3px;font-size:10px;margin-bottom:12px}.answer math{font-size:24px}.check{color:#547363;font-size:12px;line-height:1.7;margin-top:14px}.mini-rule{font-size:13px;color:#596c84;line-height:1.7;border-top:1px solid var(--line);padding-top:17px}.practice-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:25px}.practice-card{padding:30px}.practice-card .equation-output{font-size:34px;text-align:center;padding:40px 0}.practice-card label{margin-top:25px}.practice-card .actions{margin-bottom:0}.practice-side{padding:26px}.practice-side p{font-size:14px;line-height:1.8;color:var(--muted)}.practice-side select{margin:9px 0 18px}.feedback{padding:16px;border-radius:8px;background:#edf3fc;line-height:1.7;font-size:14px;margin-top:18px}.feedback.correct{background:#e9f6ef;color:#216c4a}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rule-card{padding:25px}.rule-card h2{font-size:18px;margin-top:0}.rule-card p,.rule-card li{font-size:14px;line-height:1.8;color:#5a6e88}.rule-card ul{padding-left:20px}.rule-card math{font-size:23px;display:block;padding:15px 0;color:var(--ink)}footer{display:flex;justify-content:space-between;padding:30px 0;font-size:10px;color:#8a98ac;letter-spacing:.4px}math{font-family:"STIX Two Math","Cambria Math",serif}button math{font-size:18px}@media(min-width:1450px){main{padding:0 65px}.workspace{gap:30px}.input-card,.solution-card{padding:30px}}@media(max-width:1120px){.sidebar{width:210px;padding:30px 15px}main{margin-left:210px;width:calc(100% - 210px);padding:0 25px}.workspace{grid-template-columns:1fr 1.1fr;gap:18px}.brand{font-size:15px}.input-card,.solution-card{padding:18px}.pill{display:none}}@media(max-width:850px){.sidebar{position:static;width:100%;padding:17px 22px}.brand small,.side-label,.topic,.side-note,.profile{display:none}body{display:block}nav{display:flex;margin-top:20px;gap:5px}nav button{flex:1;justify-content:center;padding:10px 5px}nav button span{font-size:12px}main{margin:0;width:100%;padding:0 22px}header{height:55px}.heading{padding:27px 0}.workspace,.practice-layout{grid-template-columns:1fr}.solution-card{min-height:350px}.empty-state{padding:25px 15px}.rule-grid{grid-template-columns:1fr}.chapter{display:none}.input-help{font-size:12px}.examples button{font-size:14px}.keypad button{height:36px;min-width:40px}footer span:last-child{display:none}}@media(prefers-reduced-motion:no-preference){.card{animation:appear .3s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
math-field{display:block;min-height:85px;width:100%;padding:16px 12px;font-size:27px;background:#fbfcff;border:1px solid #cdd8e5;border-radius:9px;--caret-color:#245de9;--selection-background-color:#dce8ff;--contains-highlight-background-color:#eef4ff}math-field:focus-within{outline:3px solid #6699ff;outline-offset:3px}math-field::part(virtual-keyboard-toggle),math-field::part(menu-toggle){display:none}.math-keyboard{margin:15px 0}.symbol-keys{display:flex;flex-wrap:wrap;gap:7px}.math-keyboard button{border:1px solid #dbe3ef;background:#fff;border-radius:7px;min-width:39px;height:43px;padding:4px 11px;color:#395474;font:21px Georgia,serif;display:inline-flex;align-items:center;justify-content:center}.math-keyboard button:hover{border-color:#8fb0e9;background:#edf4ff}.fraction-icon{display:inline-flex;flex-direction:column;font:italic 16px Georgia;text-align:center;min-width:16px;line-height:17px}.fraction-icon span:first-child{border-bottom:1.5px solid currentColor;padding:0 3px 1px}.number-panel{margin-top:13px}.number-panel summary{font-size:13px;color:#547095;cursor:pointer}.number-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}.number-keys button{font-family:inherit}.math-keyboard+input[hidden]{display:none}
.step-origin{border:1px solid #dce5ef;border-radius:9px;padding:16px;background:#fcfdff;margin:16px 0}.working-label{font:600 10px/1.6 sans-serif;letter-spacing:1px;color:#5c7290}.term-legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;font-size:11px}.term-legend span{padding:5px 7px;border-radius:4px}.constant-key{background:#fff0c7;color:#745514}.linear-key{background:#dfeeff;color:#255689}.quadratic-key{background:#eee3ff;color:#6a4190}.solution-step .visible-explanation{font-size:15px;color:#354e6e;line-height:1.8}.worked-detail{padding:0 14px 14px;background:#f6f9fd;border-radius:8px;margin-top:12px}.worked-detail h5{font-size:14px;margin:0 0 14px;color:#29486d;font-weight:600}.worked-detail .equation-output{font-size:24px;padding:10px 0}.worked-detail p{font-size:14px;line-height:1.8;margin-bottom:0}.working-arrow{font:24px/1.5 sans-serif;color:#7798c3;padding:4px 0}.reorder-note{padding:15px;border-left:3px solid #81a8df;margin-top:20px;background:#f0f6ff;font-size:14px;line-height:1.8;color:#36577d}.step-result{background:#eaf4ef;padding:17px!important;border-radius:7px;margin:10px 0 18px}.solution-card,.input-column,.workspace>*{min-width:0}
