/* Android InstrumentColors and keypad geometry. The calculator owns one viewport;
   long expressions/results scroll inside their displays, never below the keypad. */
@font-face{font-family:"CalcMax Math";src:url("fonts/STIXTwoMath-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
math{font-family:"CalcMax Math","Cambria Math",math;font-weight:400;font-synthesis:none;line-height:normal}
.mode-picker{position:relative;flex:0 1 176px;width:176px;max-width:55%;min-width:0;margin-right:auto;color:var(--ink)}
.mode-picker::after{content:"";position:absolute;left:12px;top:50%;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.mode-bar .mode-picker #mode-status{width:100%;max-width:none;padding-left:30px;padding-right:8px;color:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.catalog-dialog[open]{display:flex;flex-direction:column;overflow:hidden;height:min(720px,85dvh)}
.catalog-dialog .dialog-heading{flex:none}
.catalog-dialog #dialog-body{display:flex;flex:1;min-height:0;overflow:hidden}
.catalog-content{display:flex;flex-direction:column;gap:8px;width:100%;min-height:0;overflow:hidden}
.catalog-tools{display:flex;align-items:center;gap:8px;flex:none}
.catalog-tools input{flex:1;min-width:0}.catalog-tools button{flex:none}
.catalog-search{position:relative;flex:1;min-width:0}.catalog-search input{padding-right:40px;width:100%}
.catalog-search-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);padding:5px 8px;line-height:1;color:var(--muted)}
.catalog-content .catalog-tabs{flex:none;padding-bottom:6px}
.catalog-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.catalog-content>.hint{flex:none;margin:0;font-size:11px}
.catalog-help-block{padding:7px 0}.catalog-help-block code{overflow-wrap:anywhere}
.catalog-help-block .hint{margin:4px 0}.catalog-example{text-align:left;padding:5px 0;overflow-wrap:anywhere;font-weight:400}
.regression-section{border-block:1px solid var(--line);padding:14px 0;margin:16px 0}.regression-section h2{margin-bottom:12px}
#tip-percent:disabled,#tip-fixed:disabled{opacity:.45;cursor:not-allowed}
#statistics-editor{margin-bottom:16px}#statistics-editor>label{margin-bottom:0}
.matrix-grid{display:block;margin:20px 0;overflow:auto}
.editable-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--panel)}
.editable-table td,.editable-table th{border:1px solid var(--line);padding:0}
.editable-table th{padding:7px 10px;text-align:center;font-weight:500;background:var(--bar)}
.editable-table thead th{z-index:2}
.editable-table tbody th{position:sticky;left:0;top:auto;z-index:1}
.editable-table input{display:block;width:100%;min-width:0;margin:0;padding:9px 10px;border:0;border-radius:0;background:transparent;text-align:right;box-shadow:none}
.editable-table input:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg)}
.editable-table .table-row-action{text-align:center}
.editable-table .table-row-action button{padding:5px 8px}
label:has(>input:disabled),label:has(>select:disabled){color:var(--muted)}
input:disabled,select:disabled{opacity:.45;cursor:default}
:root[data-engineering-conversion="true"] .key[data-input="ENG"]{color:var(--accent);background:var(--bar)}
.shortcut-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:260px;overflow:auto}
.shortcut-choices button{text-align:left;overflow-wrap:anywhere}
:root{--bg:#e9ede9;--panel:#f3f6ee;--bar:#d8e0da;--ink:#162a26;--muted:#53635d;--line:#b3c0b8;--accent:#006d5b;--key:#d8e0da;--number:#fafbf8;--lime:#acca4a;--gold:#785600;--alpha:#754584;--operator:#c6d9d2}
:root[data-theme="dark"]{--bg:#111916;--panel:#09120f;--bar:#202d27;--ink:#e6f0e7;--muted:#9eb3a6;--line:#3c5246;--accent:#79dbb7;--key:#202d27;--number:#2b3731;--lime:#acca4a;--gold:#e7c36e;--alpha:#d6ace9;--operator:#29443a}
.title-button{display:inline-flex;align-items:center;gap:8px;font:inherit;letter-spacing:inherit;color:inherit;padding:4px 0;min-height:0;border:0;border-radius:4px}.title-icon{display:block;flex-shrink:0;width:24px;height:24px}.about-content{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.about-content p{margin:0}.about-content a{font-size:12px}.about-content button{align-self:flex-end}
.mode-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preferences{width:100%;padding:0;margin-bottom:18px;border:0;gap:16px}.preferences label{flex:1}.preferences select{width:100%;font-size:14px;padding:10px 24px 10px 12px}#digits-indicator{white-space:nowrap;font-size:10px;color:var(--muted)}#key-modifier{font-size:10px;color:var(--gold)}#key-modifier.alpha{color:var(--alpha)}#insert-mode{color:var(--muted);font-weight:400;font-size:10px;padding:4px}.mode-bar #mode{max-width:none;min-width:0;flex:1}.mode-bar #angle{width:70px;flex-shrink:0}.edit-actions #commit-indicator{margin-right:auto;color:var(--muted)}.answer-toolbar{overflow-x:auto;white-space:nowrap}.answer-toolbar button{flex-shrink:0}.answer-toolbar #exact-toggle{margin-right:0}.answer-toolbar button.active{color:var(--accent);background:var(--bar)}
:root body{padding:0}
:root .instrument{min-height:100dvh;border-radius:0}
:root[data-workspace="scientific"] body{height:100dvh;min-height:0;overflow:hidden}
:root[data-workspace="scientific"] .instrument{height:100dvh;min-height:0;max-height:100dvh;display:grid;grid-template-areas:"header" "mode" "runtime" "main";grid-template-rows:44px 48px auto minmax(0,1fr);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
:root[data-workspace="scientific"] header{grid-area:header}
:root[data-workspace="scientific"] .mode-bar{grid-area:mode}
:root[data-workspace="scientific"] .runtime-bar{grid-area:runtime}
:root[data-workspace="scientific"] main{grid-area:main}
:root header{height:44px;padding:0 14px;flex-wrap:nowrap;gap:8px}
:root h1{font-size:18px;letter-spacing:2px}
:root .header-actions{gap:0}
:root .header-actions button{font-size:11px;padding:6px 8px;white-space:nowrap}
:root .mode-bar{height:48px;padding:0 8px;gap:6px}
:root .mode-bar #mode-status{font-size:12px;font-weight:400;padding-left:30px;letter-spacing:0}
:root .mode-bar #angle{font-size:11px;width:62px;padding-right:12px}
:root[data-workspace="scientific"] .runtime-bar{min-width:0;padding:2px 14px;font-size:10px}
:root[data-workspace="scientific"] #status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-workspace="scientific"][data-engine="ready"] .runtime-bar{display:none}
/* Keep keypad geometry tied to the viewport; tall math scrolls in the tape. */
:root[data-workspace="scientific"] main{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,min(68%,520px))}
:root[data-workspace="scientific"] .workspace[data-mode="scientific"]:not(.keypad-workspace){grid-row:1;min-height:0;overflow:hidden;padding:0 14px;display:grid;grid-template-rows:28px minmax(0,1fr)}
:root[data-workspace="scientific"] .edit-actions{height:28px;min-width:0;margin:0;padding:0;align-items:center;gap:1px;overflow-x:auto;white-space:nowrap}
:root[data-workspace="scientific"] .edit-actions button{min-width:0;flex-shrink:0;font-size:11px;padding:5px 8px}
:root[data-workspace="scientific"] .edit-actions #stop{flex:0 0 44px}
:root[data-workspace="scientific"] #expression{display:none;resize:none;height:100%;min-height:0;padding:4px 0;font-size:clamp(16px,3vw,28px);line-height:1.35;overflow:auto}
:root[data-workspace="scientific"] .expression-preview{display:flex;align-items:center;min-width:0;min-height:0;overflow:auto;padding:4px 0;font-family:"Cambria Math",Cambria,serif;font-size:clamp(20px,4vw,32px);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}
:root[data-workspace="scientific"] .expression-preview math{margin:0;flex-shrink:0}
.input-math,.math-frame{position:relative;display:inline-block;flex-shrink:0}
:root[data-workspace="scientific"][data-word-wrap="true"] .calculation-display .expression-preview{align-items:flex-start;white-space:pre-wrap;overflow-x:hidden}
.input-flow{display:flex;flex-wrap:nowrap;align-items:baseline;width:max-content;white-space:pre-wrap}
.input-wrapped{flex-wrap:wrap;width:100%;min-width:0;overflow-wrap:anywhere}
.input-part{display:inline-block;max-width:100%;flex-shrink:0}
.calc-value>.input-wrapped{flex:1;min-width:0;width:auto}
:root[data-word-wrap="true"] #expression{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden}
.math-root-overlay{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;color:var(--math-ink)}
.math-root-painted{color:transparent}
.math-root-painted>.math-root-content{color:var(--math-ink)}
.expression-preview .selected{background:var(--operator)}.expression-preview .input-slot{color:var(--muted);border:1px dashed var(--line)}
.input-caret{position:absolute;display:block;width:2px;background:var(--accent);pointer-events:none;animation:input-blink 1.1s step-end infinite}.text-caret{color:var(--accent);animation:input-blink 1.1s step-end infinite}
@keyframes input-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.input-caret,.text-caret{animation:none}}
:root[data-calc-active="true"] .expression-preview{flex-direction:column;align-items:stretch;justify-content:center;gap:4px}
.calc-source{font:12px Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.calc-value{display:flex;align-items:center;min-height:0;gap:6px}
:root[data-workspace="scientific"][data-typing="true"] #expression{display:block}
:root[data-workspace="scientific"][data-typing="true"] .expression-preview{display:none}
:root[data-workspace="scientific"] .answer-panel{grid-row:2;min-height:0;min-width:0;overflow:hidden;border:0;padding:0 14px;display:grid;grid-template-rows:minmax(0,1fr) auto 30px}
:root[data-workspace="scientific"] #answer{min-height:0;min-width:0;margin:0;padding:2px 0;overflow:auto;align-items:safe center;font-size:clamp(22px,4vw,34px);line-height:1.2}
:root[data-workspace="scientific"] #note{max-height:16px;overflow:auto;white-space:nowrap;font-size:10px;line-height:16px;margin:0}
:root[data-workspace="scientific"] .answer-toolbar{height:30px;min-width:0;gap:6px;align-items:center;scrollbar-width:none}
:root[data-workspace="scientific"] .answer-toolbar button{font-size:11px;padding:5px 9px}
.answer-toolbar #engineering-toggle:not(.active),.answer-toolbar #screen-toggle:not(.active),.answer-toolbar #grouping-toggle:not(.active){color:var(--muted);opacity:.45}
:root[data-workspace="scientific"] .keypad-workspace{grid-row:3;min-height:0;min-width:0;overflow:hidden;padding:4px 8px;background:var(--bg);container-type:size}
:root[data-workspace="scientific"] .calculation-display{grid-column:1;grid-row:1 / span 2;min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-rows:28px minmax(0,1fr) 30px;padding:0 14px}
.calculation-tape{min-height:0;min-width:0;overflow:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;scrollbar-width:none;padding-right:8px;overflow-anchor:none}
.tape-history{flex:none;min-width:0}
.tape-active{flex:none;min-width:0;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start}
:root[data-workspace="scientific"] .calculation-display .workspace[data-mode="scientific"]:not(.keypad-workspace){display:block;grid-row:auto;overflow:visible;padding:0;flex:none}
:root[data-workspace="scientific"] .calculation-display .expression-preview{min-height:60px;overflow-x:auto;align-items:center}
:root[data-workspace="scientific"] .calculation-display #expression{height:64px;min-height:64px}
:root[data-workspace="scientific"] .calculation-display .answer-panel{display:block;grid-row:auto;padding:0;flex:none;overflow:visible}
:root[data-workspace="scientific"] .calculation-display #answer{min-height:56px}
.tape-entry{padding:10px 0;border-bottom:1px solid var(--line);min-width:0}
.tape-expression{display:block;width:100%;min-width:0;padding:0;border:0;border-radius:0;color:var(--ink);font-family:"Cambria Math",Cambria,serif;font-size:clamp(16px,3.4vw,27px);font-weight:400;line-height:1.5;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto}
.tape-expression:hover{background:var(--operator)}.tape-expression:disabled{opacity:1}
.tape-result{display:flex;justify-content:flex-end;min-width:0;padding:6px 8px 10px 0;font-family:"Cambria Math",Cambria,serif;font-size:clamp(18px,3.3vw,28px);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto}
.tape-expression math,.tape-result math{margin:0;flex-shrink:0}
.tape-expression math{display:inline-block}
.tape-note{font-size:10px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.formula-preview{min-width:0;overflow-x:auto;padding:8px 0;font-family:"Cambria Math",Cambria,serif;font-size:clamp(16px,2.6vw,24px);color:var(--ink)}
.formula-line{min-width:0;overflow-x:auto;padding:4px 0}.formula-preview math{margin:0;display:inline-block}
/* Tall fractions can overflow MathML line boxes. Keep scrolling available
   without native scrollbar tracks inside the calculation display. */
.expression-preview,#answer,.tape-expression,.tape-result,.formula-preview,.formula-line{scrollbar-width:none}
.calculation-tape::-webkit-scrollbar,.expression-preview::-webkit-scrollbar,#answer::-webkit-scrollbar,.tape-expression::-webkit-scrollbar,.tape-result::-webkit-scrollbar,.formula-preview::-webkit-scrollbar,.formula-line::-webkit-scrollbar{display:none}
:root[data-workspace="scientific"] .expression-preview{font-size:var(--input-font,24px)}
#answer,:root[data-workspace="scientific"] #answer{font-size:var(--output-font,30px)}
#answer,:root[data-workspace="scientific"] #answer{padding-right:8px;padding-bottom:10px}
#answer math{max-width:none}.graph-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}.graph-toolbar label{margin:0;min-width:100px}.graph-toolbar button{background:var(--bar)}
.graph-toolbar .graph-curve-picker{flex-direction:row;align-items:center;gap:10px}.graph-curve-picker span{white-space:nowrap}.graph-curve-picker select{width:auto;min-width:85px}
#graph-formulas .formula-line[role="button"]{cursor:pointer}#graph-formulas .selected-curve{background:var(--bar);font-weight:600;border-left-width:5px}
.interactive-plot{touch-action:none;user-select:none;cursor:grab}.interactive-plot:active{cursor:grabbing}.interactive-plot svg{display:block;aspect-ratio:800/460;width:100%;height:auto;max-height:none}.interactive-plot canvas{display:block;aspect-ratio:800/460;width:100%;height:auto;max-height:none}
#graph-formulas .formula-line{border-left:3px solid var(--accent);padding-left:8px}.analysis-point{display:inline-block;margin:4px;background:var(--bar)}
#graph-parameters label{min-width:200px}#graph-analysis{padding:12px 0}#graph-table tr[tabindex]{cursor:pointer}#graph-table tr[tabindex]:hover{background:var(--bar)}
.graph-range-pair{flex:1 1 240px;min-width:0}.graph-range-fields{display:flex;gap:12px}.graph-range-fields label{min-width:0!important;flex:1}.graph-range-fields output{font-variant-numeric:tabular-nums}
.graph-range-slider{position:relative;height:36px;margin:4px 0 8px;isolation:isolate}
.graph-range-slider::before{content:"";position:absolute;left:10px;right:10px;top:16px;height:4px;border-radius:2px;background:linear-gradient(to right,var(--line) 0 var(--range-start),var(--accent) var(--range-start) var(--range-end),var(--line) var(--range-end) 100%)}
.graph-range-slider input[type="range"]{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:36px;margin:0;padding:0;border:0;border-radius:0;background:transparent;pointer-events:none}
.graph-range-slider input[type="range"]::-webkit-slider-runnable-track{height:4px;background:transparent}
.graph-range-slider input[type="range"]::-moz-range-track{height:4px;background:transparent}
.graph-range-slider input[type="range"]::-moz-range-progress{background:transparent}
.graph-range-slider input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-8px;border:2px solid var(--accent);border-radius:50%;background:var(--number);pointer-events:auto;cursor:ew-resize}
.graph-range-slider input[type="range"]::-moz-range-thumb{box-sizing:border-box;width:20px;height:20px;border:2px solid var(--accent);border-radius:50%;background:var(--number);pointer-events:auto;cursor:ew-resize}
.graph-range-slider input[type="range"]:focus-visible{outline:none;z-index:1}
.graph-range-slider input[type="range"]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:3px}
.graph-range-slider input[type="range"]:focus-visible::-moz-range-thumb{outline:2px solid var(--accent);outline-offset:3px}
.graph-range-slider:has(input:disabled){opacity:.45}
.graph-range-slider input[type="range"]:disabled::-webkit-slider-thumb{pointer-events:none;cursor:default}
.graph-range-slider input[type="range"]:disabled::-moz-range-thumb{pointer-events:none;cursor:default}
.graph-surface-panel{display:grid;gap:16px;padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:8px;background:var(--number)}
.graph-surface-appearance,.graph-surface-camera{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.graph-surface-panel label{margin:0;min-width:0;gap:6px}.graph-surface-panel label>span{line-height:20px}
.graph-surface-appearance select,.graph-surface-appearance input[type="color"]{height:42px;min-width:0;width:100%}
.graph-surface-appearance input[type="color"]{padding:5px;cursor:pointer}
.graph-surface-slider{display:flex;align-items:center;gap:10px;min-width:0;height:42px}
.graph-surface-slider input[type="range"]{flex:1;min-width:0;width:100%;height:36px;padding:0;border:0;background:transparent}
.graph-surface-slider output{flex:none;min-width:5ch;text-align:right;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink)}
.graph-surface-density-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:20px;margin-bottom:6px;line-height:20px}.graph-surface-density-heading .check{padding:0;gap:4px}.graph-surface-density-heading input{margin:0}
.graph-surface-z-range{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.graph-surface-z-range .check{padding:0;gap:8px;min-height:24px}.graph-surface-z-range .form-row{margin:0}
@media(max-width:600px){.graph-surface-appearance{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-surface-density{grid-column:1/-1}.graph-surface-camera{grid-template-columns:minmax(0,1fr);gap:8px}.graph-surface-camera label{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px}}
:root[data-workspace="scientific"] footer{display:none}
.keypad{--keypad-font-height:100cqh;height:100%;min-height:0;display:flex;flex-direction:column;gap:4px}
.keypad-top{flex:2;min-height:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));column-gap:4px;row-gap:4px}
.keypad-row{flex:1;min-height:0;display:grid;gap:5px;grid-template-columns:repeat(6,minmax(0,1fr))}
.keypad-row.numeric-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.keypad .key{background:transparent;border:0;border-radius:0;padding:0;min-height:0;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:0;color:var(--ink);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.keypad .key:hover{background:transparent;filter:none}
.keypad .key:active .key-face{filter:brightness(.86)}
.keypad .key-hints{flex:0 0 25%;max-height:15px;min-height:0;overflow:hidden;white-space:nowrap;text-align:center;font-size:clamp(6px,calc(var(--keypad-font-height) * .018),10px);line-height:1.5;color:var(--gold);font-weight:400}
.keypad .alpha-legend{color:var(--alpha)}
.keypad .key .key-face{display:flex;flex:1;min-height:0;min-width:0;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px 7px 4px 4px;background:var(--key);font-size:clamp(10px,3.5cqh,24px);line-height:1;font-weight:600;overflow:hidden;white-space:nowrap}
.key-fraction{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:.5em;line-height:1}
.key-fraction-bar{width:1.6em;min-width:10px;border-top:1px solid currentColor}
.key-integral{display:inline-flex;align-items:center;gap:1px;font-weight:500}
.key-integral-limits{display:flex;flex-direction:column;align-items:center;font-size:max(6px,.52em);line-height:1}
.key-backspace{display:block;width:1.333333em;height:1em;flex-shrink:0}
.keypad .numeric .key-face{background:var(--number);font-size:clamp(12px,calc(var(--keypad-font-height) * .048),24px)}
.keypad .danger .key-face{background:var(--lime);color:#18210e;font-size:clamp(12px,calc(var(--keypad-font-height) * .048),24px)}
.keypad .action .key-face{background:var(--operator);font-size:clamp(9px,2.6cqh,18px)}
.keypad .utility{padding:3px 0}
.keypad .utility .key-hints{display:none}
.keypad .utility .key-face{border-radius:8px;font-size:clamp(10px,2.7cqh,16px);font-weight:700;background:var(--operator)}
.keypad .utility[data-input="SHIFT"] .key-face{background:var(--gold);color:white}
.keypad .utility[data-input="ALPHA"] .key-face{background:var(--alpha);color:white}
.keypad .utility[data-input="MODE"] .key-face{background:var(--accent);color:white}
.keypad .active .key-face{outline:2px solid var(--ink);outline-offset:-2px}
[data-theme="dark"] .keypad .utility:not([data-input="SECOND"]) .key-face{color:var(--panel)}
.direction-pad{grid-column:3 / span 2;grid-row:1 / span 2;position:relative;min-height:0;min-width:0}
.direction-pad::before{content:"";position:absolute;inset:6%;border:1px solid var(--line);border-radius:50%;background:var(--key)}
.direction-key,.direction-key:hover{position:absolute;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:35%;background:linear-gradient(var(--number),var(--key));color:var(--ink);overflow:hidden;touch-action:manipulation;user-select:none}
.direction-key:hover{filter:brightness(.97)}.direction-key:active{filter:brightness(.86)}
.direction-key .key-hints{display:none}.direction-key .key-face{font-size:12px;line-height:1}
.direction-key.up,.direction-key.down{left:35%;width:30%;height:34%}
.direction-key.up{top:0}.direction-key.down{bottom:0}
.direction-key.left,.direction-key.right{top:34%;width:36%;height:32%}
.direction-key.left{left:0}.direction-key.right{right:0}
:root[data-workspace="scientific"][data-screen-expanded="true"] main{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,calc((min(68%,520px) - 36px) * 4 / 9 + 20px))}
/* Undo the numeric-only track's 4/9 height reduction for font sizing.
   With 8px workspace padding, the full content height is 9/4 of the
   reduced content height plus 1px, in both portrait and landscape. */
:root[data-workspace="scientific"][data-screen-expanded="true"] .keypad{--keypad-font-height:calc(225cqh + 1px)}
:root[data-screen-expanded="true"] .keypad-top,:root[data-screen-expanded="true"] .scientific-row{display:none}
@media(min-width:651px) and (max-height:592px){
  :root[data-workspace="scientific"] main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
  :root[data-workspace="scientific"] .workspace[data-mode="scientific"]:not(.keypad-workspace){grid-column:1;grid-row:1}
  :root[data-workspace="scientific"] .answer-panel{grid-column:1;grid-row:2}
  :root[data-workspace="scientific"] .keypad-workspace{grid-column:2;grid-row:1 / span 2}
  :root[data-workspace="scientific"][data-screen-expanded="true"] main{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
  :root[data-workspace="scientific"][data-screen-expanded="true"] .keypad-workspace{align-self:end;height:calc((100% - 36px) * 4 / 9 + 20px)}
}
@media(max-height:480px) and (max-width:650px){
  :root[data-workspace="scientific"] .instrument{grid-template-rows:34px 34px auto minmax(0,1fr)}
  :root header,:root .mode-bar{height:34px}
  :root[data-workspace="scientific"] .edit-actions{height:22px}
  :root[data-workspace="scientific"] .workspace[data-mode="scientific"]:not(.keypad-workspace){grid-template-rows:22px minmax(0,1fr)}
  :root[data-workspace="scientific"] .answer-panel{grid-template-rows:minmax(0,1fr) auto 22px}
  :root[data-workspace="scientific"] .answer-toolbar{height:22px}
  :root[data-workspace="scientific"] .calculation-display{grid-template-rows:22px minmax(0,1fr) 22px}
  :root[data-workspace="scientific"] .keypad-workspace{padding:2px 6px}
  /* The compact layout has 4px workspace padding instead of 8px. */
  :root[data-workspace="scientific"][data-screen-expanded="true"] .keypad{--keypad-font-height:calc(225cqh - 4px)}
  .keypad,.keypad-row,.keypad-top{gap:2px}
}

.graph-plot-frame{position:relative;margin:18px 0}.graph-plot-frame .plot{margin:0}.graph-plot-frame:has(.plot:empty){display:none}#graph-height-toggle{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font-size:19px;line-height:1}#graph-height-toggle[aria-pressed="true"]{color:var(--accent)}

.graph-range-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
