@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:#eef0f3;background:#15171b;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 35%,#242931 0%,#15171b 65%)}header{height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #303238}header a{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:700;letter-spacing:2px;font-size:19px}.mark{background:#c4f568;color:#202814;border-radius:9px;width:31px;height:31px;display:grid;place-items:center;font-size:25px}.title{font-size:14px;font-weight:400;color:#a3a8b2;letter-spacing:0;border-left:1px solid #494c53;padding-left:15px;margin-left:5px}.header-note{font-size:14px;color:#9ba1ac}main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 20px 32px}.calculator{width:380px;max-width:100%;padding:24px;border:1px solid #454a53;border-radius:27px;background:linear-gradient(155deg,#30353d,#24282e);box-shadow:0 30px 60px #0005,inset 0 1px #ffffff0d}.topline{display:flex;justify-content:space-between;color:#b5bdc8;font-size:12px;letter-spacing:2px}.topline span:last-child{letter-spacing:0}.screen{padding:27px 2px 22px;text-align:right;min-height:161px}.expression{font-size:2.25rem;font-weight:700;color:#f4f6fa;font-variant-numeric:tabular-nums}output{display:block;font-size:1.125rem;line-height:1.5;letter-spacing:0;font-weight:400;color:#a1aab7;min-height:1.7em;margin-top:8px;overflow-wrap:anywhere;white-space:normal;font-variant-numeric:tabular-nums;scrollbar-width:thin}.status{font-size:12px;color:#a1aab7;min-height:18px;margin-top:7px}.keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.keypad button{min-height:40px;font-size:17px;border-radius:9px}button{font:500 25px 'DM Sans',system-ui,sans-serif;min-height:64px;border-radius:14px;border:1px solid #ffffff06;background:#3d424b;color:#f2f4f8;cursor:pointer;box-shadow:0 3px 0 #171a20;transition:background .12s,transform .1s,box-shadow .1s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}button:hover{background:#505661}button:active,button.pressed{transform:translateY(3px);box-shadow:0 0 0 #171a20;background:#626a76}button:focus-visible{outline:3px solid #d2ffa0;outline-offset:3px}.utility{background:#505764;font-size:21px}.operator{background:#424e3b;color:#d0f4a1;font-size:29px}.operator:hover,.operator.selected{background:#5b6d4a}.equals{background:#c4f568;color:#243416;font-size:31px;box-shadow:0 3px 0 #799c3f}.equals:hover{background:#d4ff86}.back{font-size:23px;color:#bfc7d3}.tips{text-align:center;margin-top:27px;font-size:14px;color:#a9b0bc}.keyboard-icon{font-size:20px;margin-right:8px}.tips div{font-size:12px;color:#9098a5;margin-top:11px}kbd{font-family:inherit;font-size:12px;color:#c1c6cf}.divider{margin:0 9px;color:#525963}footer{margin:0 5%;padding:24px 0;display:flex;justify-content:space-between;border-top:1px solid #303238;font-size:12px;color:#818996;letter-spacing:1.6px}@media(max-width:480px){header{height:75px}.header-note{display:none}main{padding:28px 18px}.calculator{padding:21px;border-radius:23px}button{min-height:61px}footer{font-size:10px;letter-spacing:1px}.tips{margin-top:23px}}@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Keep the full expression readable, including long calculations. */
.expression{height:auto;min-height:25px;max-width:100%;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.35;padding-bottom:5px}

/* Scientific controls and directly editable full expression. */
.calculator{width:420px}.topline{align-items:center}.angle{min-height:32px;padding:5px 12px;font-size:14px;color:#d0f4a1;background:#424e3b;border-radius:8px}.functions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #4b5059}.functions button{min-height:40px;font-size:17px;background:#323d36;color:#d0e6bb;border-radius:9px}.functions button:hover{background:#4a5844}textarea.expression{display:block;width:100%;resize:none;border:0;border-radius:5px;background:transparent;font-family:inherit;text-align:right;padding:0;min-height:49px;outline-offset:4px}textarea.expression:focus-visible{outline:1px solid #90a278}textarea.expression::placeholder{color:#f4f6fa;opacity:1}.math-help{font-size:12px;line-height:1.8;color:#a1aab7;margin:14px 0 0}main{padding-top:28px}.screen{padding-top:20px;min-height:145px}@media(max-width:480px){.functions button{min-height:42px}.keypad button{min-height:42px}.expression{font-size:2rem}}
/* Separate calculator and variable-based function worksheet. */
[hidden]{display:none!important}.mode-tabs{display:flex;width:420px;max-width:100%;gap:6px;background:#22262c;border:1px solid #424750;border-radius:14px;padding:5px;margin-bottom:18px}.mode-tabs button{flex:1;min-height:42px;font-size:15px;border:0;border-radius:9px;box-shadow:none;background:transparent;color:#aab3c0}.mode-tabs button[aria-selected=true]{background:#c4f568;color:#243416;font-weight:700}.formula-panel .field-label{display:block;margin:24px 0 10px;font-size:14px;color:#d7dee7;font-weight:600}.formula-panel textarea.expression{font-size:1.8rem;min-height:100px;background:#20242b;padding:12px;border:1px solid #4b535f;border-radius:10px;resize:vertical;text-align:left;overflow:auto}.field-help{font-size:14px;color:#aeb8c6;line-height:1.7;margin:12px 0}.formula-examples{display:flex;flex-wrap:wrap;gap:8px}.formula-examples button{min-height:36px;font-size:13px;padding:6px 12px;box-shadow:none;border-radius:8px;background:#384331;color:#d0e6bb}.variable-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.variable-field{display:flex;align-items:center;gap:10px;color:#d8efb6;font-size:18px;font-weight:600;min-width:0}.variable-field input{width:100%;min-width:0;font-family:inherit;font-weight:400;font-size:18px;color:#eef0f3;background:#20242b;border:1px solid #535c68;border-radius:9px;padding:12px 10px}.variable-field input:focus{outline:2px solid #c4f568;outline-offset:2px}.formula-answer{border-top:1px solid #4b535f;margin-top:24px}.formula-answer output{font-size:1.25rem;color:#aeb8c6;min-height:30px}.formula-answer .field-label{margin-top:20px}.formula-answer .field-help{min-height:24px}@media(max-width:380px){.variable-fields{grid-template-columns:1fr}.formula-panel textarea.expression{font-size:1.5rem}}
.formula-pad{margin-top:22px;border-top:1px solid #4b535f;padding-top:18px}.pad-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;color:#d0e6bb}.pad-heading button{font-size:14px;min-height:36px;padding:6px 12px;box-shadow:none;border-radius:8px}.formula-pad .variable-keys{border:0;padding-bottom:0;margin-bottom:8px}.formula-pad button:disabled{opacity:.32;cursor:default;transform:none;box-shadow:none}.formula-panel .pad-active{border-color:#c4f568;box-shadow:0 0 0 1px #c4f568}.formula-pad .field-help{font-size:13px}
/* Keep the equation and the full keypad together in a compact workspace. */
.formula-panel{width:860px;padding:20px}.formula-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start;margin-top:12px}.formula-editor{min-width:0}.formula-panel .field-label{margin:10px 0 6px}.formula-panel textarea.expression{min-height:76px;height:76px;padding:8px 10px;font-size:1.6rem}.formula-panel .variable-fields{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.formula-panel .variable-field{gap:6px;font-size:16px}.formula-panel .variable-field input{padding:7px 8px;font-size:16px}.formula-panel .formula-answer{margin-top:12px;padding-top:4px}.formula-answer .field-label{display:inline-block;margin:4px 10px 0 0}.formula-answer output{display:inline-block;margin-top:0;font-size:1.125rem}.formula-answer .field-help{margin:4px 0;line-height:1.4;min-height:20px}.formula-panel .formula-pad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0;min-width:0}.formula-pad .pad-heading{grid-column:1/-1;margin:0 0 2px;min-height:30px}.formula-pad .pad-heading button{min-height:30px;padding:4px 8px}.formula-pad .functions,.formula-pad .keypad{gap:5px;margin:0;padding:0;border:0;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}.formula-pad .functions button,.formula-pad .keypad button{min-height:40px;padding:2px;font-size:14px;border-radius:7px}.formula-guide{margin-top:14px;border-top:1px solid #4b535f;padding-top:10px}.formula-guide summary{cursor:pointer;color:#abb6c4;font-size:14px;padding:4px 0}.formula-guide .field-help{font-size:14px}.formula-guide .formula-examples{margin:10px 0}body:has(#function-panel:not([hidden])) main{justify-content:flex-start;padding-top:16px}body:has(#function-panel:not([hidden])) header{height:64px}body:has(#function-panel:not([hidden])) .mode-tabs{margin-bottom:12px}body:has(#function-panel:not([hidden])) footer{padding:12px 0}
@media(max-width:700px){.formula-panel{width:480px;padding:14px;border-radius:18px}.formula-workspace{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:4px}.formula-editor{position:sticky;top:6px;z-index:2;background:#292e35;border-radius:10px;padding:2px}.formula-panel textarea.expression{height:66px;min-height:66px;font-size:1.5rem}.formula-panel .formula-pad{gap:6px}.formula-pad .functions,.formula-pad .keypad{gap:4px}.formula-pad .functions button,.formula-pad .keypad button{min-height:36px;font-size:14px}.formula-guide{margin-top:10px;padding-top:6px}body:has(#function-panel:not([hidden])) header{height:48px}body:has(#function-panel:not([hidden])) main{padding:10px 10px 14px}body:has(#function-panel:not([hidden])) .mode-tabs{margin-bottom:8px}body:has(#function-panel:not([hidden])) .mode-tabs button{min-height:34px}}
.function-graph{margin-bottom:8px;min-width:0}.graph-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;color:#bdc8d6}.graph-toolbar label,.graph-toolbar>div{display:flex;align-items:center;gap:5px}.graph-toolbar select{font:inherit;background:#20242b;color:#e7edfa;border:1px solid #535c68;border-radius:6px;min-height:30px;max-width:70px}.graph-toolbar button{min-height:30px;min-width:30px;font-size:14px;padding:3px 7px;border-radius:6px;box-shadow:none}#function-graph{display:block;width:100%;height:auto;aspect-ratio:1 / 1;background:#1c2128;border:1px solid #485362;border-radius:9px;touch-action:none;cursor:grab}#function-graph:active{cursor:grabbing}#function-graph:focus-visible{outline:2px solid #c4f568;outline-offset:2px}.graph-status{font-size:12px;line-height:1.4;color:#aeb8c6;margin:5px 0;min-height:17px}@media(max-width:700px){#function-graph{height:auto;aspect-ratio:1 / 1}.formula-editor{position:static}.formula-panel .formula-answer{margin-top:6px}.formula-workspace{gap:8px}}
.graph-plot{position:relative}.graph-coordinates{position:absolute;z-index:1;top:8px;left:8px;right:8px;margin:0;padding:6px 8px;background:#10161fe8;border:1px solid #728953;border-radius:7px;color:#eaf8d9;font-size:13px;line-height:1.4;min-height:0;pointer-events:none;white-space:normal;overflow-wrap:anywhere}
/* Independent workspaces for limits, probability, and calculus. */
.mode-tabs{width:680px}.mode-tabs button{white-space:nowrap;padding:7px 5px;font-size:14px}.math-panel{width:680px;padding:24px}.math-panel h1{font-size:24px;font-weight:600;margin:18px 0}.math-label,.math-fields label{display:block;font-size:14px;color:#c9d2df;margin:14px 0 7px}.math-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.math-panel input,.math-panel select{display:block;width:100%;min-width:0;min-height:42px;padding:9px 10px;margin-top:6px;font:400 16px 'DM Sans',system-ui,sans-serif;background:#20242b;border:1px solid #535c68;border-radius:8px;color:#eef2f8}.math-panel input:focus-visible,.math-panel select:focus-visible{outline:2px solid #c4f568;outline-offset:2px}.math-panel textarea.math-expression{border:1px solid #535c68;border-radius:10px;background:#20242b;min-height:78px;padding:10px 12px;font-size:1.75rem;text-align:left;resize:vertical}.math-insert{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.math-insert button{min-height:36px;min-width:42px;padding:4px 10px;font-size:15px;border-radius:8px;background:#384331;color:#d0e6bb;box-shadow:none}.math-submit{display:block;width:100%;margin-top:20px;min-height:44px;font-size:16px;border-radius:10px;background:#c4f568;color:#233317;font-weight:700;box-shadow:none}.math-submit:hover{background:#d4ff86}.math-result{border-top:1px solid #4b535f;margin-top:22px;padding-top:18px}.math-result>span{font-size:14px;color:#bdc8d6}.math-result output{font-size:1.75rem;font-weight:600;color:#e9f4db;overflow-wrap:anywhere;line-height:1.5}.math-result p{font-size:14px;line-height:1.7;color:#aeb8c6;min-height:24px}.math-panel details{margin:14px 0;font-size:14px;color:#bdc8d6}.math-panel summary{cursor:pointer;padding:8px 0}.sample-table-wrap{max-height:240px;overflow:auto}.math-panel table{width:100%;border-collapse:collapse;font-size:14px;text-align:right;font-variant-numeric:tabular-nums}.math-panel th,.math-panel td{padding:8px;border-bottom:1px solid #414953}.math-panel th:first-child,.math-panel td:first-child{text-align:left}body:has(.math-panel:not([hidden])) main{justify-content:flex-start;padding-top:16px}body:has(.math-panel:not([hidden])) header{height:64px}@media(max-width:480px){.mode-tabs{gap:2px;padding:4px}.mode-tabs button{font-size:13px;padding:6px 3px;min-height:36px}.math-panel{padding:18px}.math-fields{gap:0 10px}.math-result output{font-size:1.4rem}.math-panel h1{margin:12px 0}.math-panel textarea.math-expression{font-size:1.5rem}}@media(max-width:350px){.math-fields{grid-template-columns:1fr}}
/* Textbook notation stays prominent; plain input is available for precise editing. */
.math-notation{font-family:'Cambria Math','STIX Two Math',serif;font-size:1.85rem;color:#f4f6fa;line-height:1.6;min-height:68px;padding:12px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;max-width:100%;border-radius:8px}.math-notation math{font-family:inherit;font-size:inherit;min-width:min-content}.math-notation[data-edit]{cursor:text}.math-notation:focus-visible{outline:2px solid #c4f568;outline-offset:2px}.math-notation mtext{font-family:system-ui,sans-serif;font-size:.7em}.screen .math-notation{font-size:2.15rem;text-align:right}.screen .math-notation math{margin-left:auto}.calculator textarea.expression,.formula-panel textarea.expression,.math-panel textarea.math-expression{font-size:1rem;font-weight:400;color:#b8c4d3;min-height:42px;height:44px;padding:8px;line-height:1.4;border:1px solid #4b535f;border-radius:8px;background:#20242b;text-align:left}.formula-editor .math-notation{padding:8px 2px;font-size:1.75rem;min-height:58px}.math-panel{width:920px}.advanced-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}.advanced-inputs{min-width:0}.shared-math-pad{min-width:0;position:sticky;top:12px;padding-top:10px}.shared-pad-heading{display:flex;align-items:center;gap:8px;color:#c9d2df;font-size:14px;margin:0 0 12px}.shared-pad-heading select{width:auto;flex:1;min-width:0;margin:0;min-height:36px;padding:6px;font-size:14px}.shared-pad-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.shared-pad-groups .functions,.shared-pad-groups .keypad{gap:4px;margin:0;padding:0;border:0;align-content:start}.shared-pad-groups button{font-size:14px;min-height:40px;padding:2px;border-radius:7px}.shared-pad-groups button[data-math-key=nextarg]{font-size:12px}.shared-pad-groups button:disabled{opacity:.3;cursor:default}.shared-math-pad .field-help{font-size:13px;margin:12px 0}.math-panel .pad-active{border-color:#c4f568;box-shadow:0 0 0 1px #c4f568}.math-panel>.math-notation{margin-bottom:12px}.math-panel .math-result{margin-top:16px}.math-fields{gap:0 10px}@media(max-width:760px){.math-panel{width:520px}.advanced-workspace{grid-template-columns:minmax(0,1fr);gap:10px}.shared-math-pad{position:static;padding:0}.shared-pad-heading{margin-bottom:8px}.shared-pad-groups button{min-height:36px}.math-notation{font-size:1.6rem;padding:8px 3px}.math-fields label{margin-top:8px}.math-submit{margin-top:12px}.math-panel h1{margin:12px 0}}@media(max-width:380px){.shared-pad-groups button[data-math-key=nextarg]{font-size:12px}.screen .math-notation{font-size:1.8rem}}
.symbolic-result{border:1px solid #566649;background:#283128;border-radius:12px;padding:16px;margin-top:20px}.symbolic-result>span{font-size:14px;color:#ccdfb7;font-weight:600}.symbolic-result .math-notation{font-size:1.8rem;padding:10px 0;min-height:0}.symbolic-result #calculus-substitution{font-size:1.35rem;color:#c0cebc}.symbolic-result .field-help{margin:8px 0 0;font-size:13px;line-height:1.6}@media(max-width:480px){.symbolic-result{padding:12px}.symbolic-result .math-notation{font-size:1.5rem}}

#calculus-graph{display:block;width:100%;height:auto;aspect-ratio:1 / 1;background:#1c2128;border:1px solid #485362;border-radius:9px;touch-action:none;cursor:grab}#calculus-graph:active{cursor:grabbing}#calculus-graph:focus-visible{outline:2px solid #c4f568;outline-offset:2px}.graph-legend{font-size:12px;line-height:1.6;color:#cbd5e3;margin:6px 0}.calculus-graph{margin-bottom:12px}

@media(max-width:480px){.mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}#fraction-result{display:block;overflow-x:auto;padding:14px 4px}

.calculation-history{margin-top:22px;border-top:1px solid #4b535f;padding-top:14px;text-align:left}.calculation-history summary{cursor:pointer;color:#d7e7c2;font-size:16px;padding:8px 0}.calculation-history ol{list-style:none;margin:10px 0;padding:0;max-height:420px;overflow:auto}.calculation-history li{border-bottom:1px solid #48505a;padding:12px 0;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.calculation-history time{display:block;font-size:12px;color:#9ca9ba}.history-answer{color:#d3f6a2;font-weight:600}.calculation-history button{font-size:13px;min-height:34px;padding:6px 10px;margin-top:8px;border-radius:7px;box-shadow:none}

.calculus-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0 14px}.calculus-choice button{min-width:0;min-height:70px;padding:10px 8px;background:#20242b;color:#c9d2df;border:2px solid #535c68;border-radius:10px;box-shadow:none;text-align:left}.calculus-choice button[aria-pressed=true]{background:#c4f568;color:#233317;border-color:#c4f568}.calculus-choice strong{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:20px}.calculus-choice strong span{font-family:serif;font-size:22px}.calculus-choice small{display:block;font-size:11px;line-height:1.5;margin-top:5px}.calculus-choice button:focus-visible{outline:2px solid #eef7df;outline-offset:3px}

.derivative-choice button{min-height:60px;padding:8px}.derivative-choice strong{font-size:16px}.derivative-choice{margin-bottom:5px}#derivative-repeat-field>.field-help{font-size:12px;margin-top:6px}

.brand-icon{display:block;flex:none;border-radius:8px}.brand-name{font-size:19px;letter-spacing:.04em}@media(max-width:480px){.brand-name{font-size:18px}}

.settings-panel{width:680px;max-width:100%;margin-top:22px;padding:18px 20px;border:1px solid #454a53;border-radius:14px;background:#22262c}.settings-panel h2{font-size:17px;margin:0 0 14px}.settings-panel label{font-size:14px;margin-right:14px}.settings-panel select{background:#30353d;border:1px solid #657080;border-radius:7px;color:#fff;font:inherit;padding:8px 14px;min-height:40px}.settings-panel p{font-size:12px;color:#aeb8c6;margin:12px 0 0}html[lang=en] .mode-tabs button{white-space:normal;font-size:12px}html[lang=en] .calculus-choice strong{font-size:16px}html[lang=en] .calculus-choice small{line-height:1.4}html[lang=en] .functions button{font-size:12px}
