:root{color-scheme:light dark;--page:#eef2f5;--panel:#fff;--text:#18212a;--muted:#687580;--line:#c7ced5;--shell:#e8ecef;--shell-edge:#aeb6be;--lcd:#dbe6d4;--lcd-edge:#8f9e90;--lcd-ink:#162317;--yellow:#8a6a00;--alpha:#a91e59;--focus:#2f72d6}
@media(prefers-color-scheme:dark){:root{--page:#10151b;--panel:#192129;--text:#f3f5f7;--muted:#adb7c0;--line:#35414c}}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--page);color:var(--text);font-family:"Segoe UI",Tahoma,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.site-shell{width:min(1960px,calc(100% - 20px));margin:auto;padding:16px 0 44px}.desktop-layout{display:grid;grid-template-columns:190px 210px minmax(680px,1fr) 210px 190px;grid-template-areas:"outer-left left center right outer-right" "bottom-left bottom-left center bottom-right bottom-right";gap:22px;align-items:start}.center-column{grid-area:center;min-width:0}.site-header{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:760px;margin-inline:auto}.site-header h1{font-size:clamp(1.15rem,2.6vw,1.8rem);margin:0}.site-header small,.advanced-note{color:var(--muted)}.site-actions,.site-tabs,.advanced-actions{display:flex;gap:8px;flex-wrap:wrap}.site-actions button,.site-tabs button,.file-action{min-height:42px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:7px 12px}.site-tabs{margin:12px auto 18px;max-width:760px}.site-tabs .active{background:#dce8f6;color:#173b61;font-weight:700}.page-section{display:none}.page-section.active{display:block}.calculator-stage{display:flex;justify-content:center;min-height:620px;align-items:flex-start}.ad-slot[hidden]{display:none!important}.ad-slot{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--muted);font-size:.78rem;letter-spacing:.04em;min-width:0}.ad-outer-left{grid-area:outer-left}.ad-left{grid-area:left}.ad-right{grid-area:right}.ad-outer-right{grid-area:outer-right}.ad-left,.ad-right,.ad-outer-left,.ad-outer-right{height:720px;position:static;top:auto;align-self:start}.ad-bottom-left{grid-area:bottom-left;height:240px}.ad-bottom-right{grid-area:bottom-right;height:240px}.ad-bottom{height:120px;width:min(100%,980px);margin:24px auto 0}.ad-bottom-secondary{height:100px;width:min(100%,980px);margin:14px auto 0}
.calculator-shell{position:relative;width:min(100%,500px);background:linear-gradient(155deg,#fafbfc,#e8ecef 55%,#d5dbe0);border:1px solid var(--shell-edge);border-radius:24px 24px 34px 34px;padding:12px 12px 18px;box-shadow:0 16px 34px rgba(25,34,44,.18);color:#171b20}.calculator-brand{display:flex;justify-content:space-between;align-items:flex-end;padding:0 3px 7px}.calculator-brand>div{display:flex;flex-direction:column}.calculator-brand strong{font-size:.82rem}.calculator-brand small,.calculator-brand>span{font-size:.56rem;color:#66717b}
.calculator-display{background:#cfd5d9;border:1px solid #9ea7ad;border-radius:8px;padding:6px;margin-bottom:10px}.display-status,.math-input,.math-result{background:var(--lcd);color:var(--lcd-ink);font-family:Consolas,"Courier New",monospace}.display-status{display:flex;gap:7px;min-height:16px;padding:5px 8px 0;border:2px solid var(--lcd-edge);border-bottom:0;border-radius:4px 4px 0 0;font-size:.6rem;opacity:.76}.display-status .active{font-weight:900}.math-input{min-height:49px;padding:7px 8px;border-inline:2px solid var(--lcd-edge);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:2px;overflow-x:auto;font-size:.94rem}.math-result{display:block;min-height:37px;padding:4px 8px 7px;border:2px solid var(--lcd-edge);border-top:0;border-radius:0 0 4px 4px;text-align:right;font-size:1.45rem;font-weight:800}.math-placeholder{opacity:.65}
.math-fraction{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;min-width:1.3em;margin-inline:.13em;text-align:center;line-height:1.04}.math-numerator,.math-denominator{display:block;min-width:1.15em;padding:.05em .18em}.math-denominator{border-top:1.5px solid currentColor}.active-slot{outline:1.5px dashed currentColor;outline-offset:1px;background:rgba(255,255,255,.2)}.math-root{display:inline-flex;align-items:flex-start}.math-root .radicand{border-top:1.5px solid currentColor;padding-inline:.12em}.math-power sup{font-size:.72em;vertical-align:super}.math-mixed{display:inline-flex;align-items:center;gap:.12em}
.control-deck{display:grid;grid-template-columns:1fr 1.35fr 1.25fr;gap:7px;align-items:center;margin-bottom:9px}.control-side{display:grid;gap:5px}.control-side .calc-key{min-height:31px;border-radius:14px;padding:4px 3px;background:linear-gradient(#e7eaed,#c3c9ce);color:#1d252c;border:1px solid #727a82;box-shadow:0 2px 0 #929aa0;font-size:.6rem}.control-left [data-key-id="SHIFT"]{color:#6d5500}.control-left [data-key-id="ALPHA"]{color:#8e2753}
.replay-pad{direction:ltr;display:grid;grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:". up ." "left center right" ". down .";align-items:center;justify-items:center;min-height:78px}.replay-up{grid-area:up}.replay-down{grid-area:down}.replay-left{grid-area:left}.replay-right{grid-area:right}.replay-center{grid-area:center;width:58px;height:42px;border-radius:50%;display:grid;place-items:center;background:#5f86af;border:1px solid #3c5f83;color:#173657;font-size:.5rem;font-weight:900;box-shadow:inset 0 0 0 6px #7498bd}.replay-pad .calc-key{min-width:34px;min-height:25px;border:0;border-radius:12px;background:#31547c;color:#fff;box-shadow:0 2px 0 #203b59;padding:2px 5px}.replay-pad .shift-legend,.replay-pad .alpha-legend{display:none}
.scientific-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-bottom:8px}.numeric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.calc-key{position:relative;min-height:42px;border-radius:6px;border:1px solid #20252a;padding:12px 2px 4px;font-weight:800;line-height:1}.role-function{background:linear-gradient(#3d4248,#25292e);color:#fff;font-size:.69rem}.role-number{background:linear-gradient(#fff,#e2e3e0);color:#171d22;border-color:#989fa6;font-size:.96rem}.role-operator{background:linear-gradient(#eef1f3,#c9ced3);color:#172028;border-color:#8e969d;font-size:.93rem}.role-danger{background:linear-gradient(#f2a171,#dc743c);color:#23140d;border-color:#a25a34}.role-equals{background:linear-gradient(#79a3d0,#537ca7);color:#fff;border-color:#42678d}.role-modifier,.role-control,.role-nav{font-size:.62rem}.shift-legend,.alpha-legend{position:absolute;top:2px;font-size:.43rem;white-space:nowrap;max-width:47%;overflow:hidden}.shift-legend{inset-inline-start:3px;color:var(--yellow)}.alpha-legend{inset-inline-end:3px;color:var(--alpha)}.shift-legend.empty{visibility:hidden}.primary-label{display:flex;align-items:center;justify-content:center;min-height:20px}.key-fraction-icon{width:18px;display:inline-grid;grid-template-rows:auto 1px auto;gap:1px;line-height:.7;font-size:.7rem}.key-fraction-icon .bar{display:block;background:currentColor;height:1px;width:100%}
.calculator-menu{position:absolute;inset:48px 14px auto;z-index:5;background:var(--lcd);color:var(--lcd-ink);border:2px solid var(--lcd-edge);border-radius:7px;padding:9px;box-shadow:0 8px 18px rgba(0,0,0,.25)}.menu-title{font-weight:900;margin-bottom:6px}.menu-list,.setup-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.setup-group{margin-block:7px}.setup-group strong{display:block;font-size:.72rem;margin-bottom:3px}.menu-item,.menu-cancel{min-height:34px;border:1px solid #829180;border-radius:4px;background:#eff5e9;color:#172318;padding:5px;font-size:.72rem}.menu-cancel{width:100%;margin-top:7px}
.advanced-panel{max-width:850px;margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.advanced-panel textarea{width:100%;min-height:95px;direction:ltr;text-align:left;border:1px solid var(--line);border-radius:10px;padding:10px}.file-action{display:inline-flex;align-items:center}.file-action input{display:none}
/* Desktop layout: enlarged calculator with four vertical ad rails and lower ad inventory. */
@media(min-width:1500px){
  .site-shell{width:min(1960px,calc(100% - 24px));padding-top:18px}
  .desktop-layout{grid-template-columns:clamp(170px,11vw,220px) clamp(185px,12vw,240px) minmax(760px,1fr) clamp(185px,12vw,240px) clamp(170px,11vw,220px);gap:clamp(14px,1.3vw,24px)}
  .center-column{width:100%}
  .site-header,.site-tabs{max-width:940px}
  .calculator-stage{min-height:780px;padding-top:6px}
  .calculator-shell{width:clamp(610px,40vw,700px);padding:18px 18px 24px;border-radius:30px 30px 42px 42px}
  .calculator-brand strong{font-size:1rem}.calculator-brand small,.calculator-brand>span{font-size:.7rem}
  .calculator-display{padding:8px;margin-bottom:14px}
  .display-status{min-height:22px;font-size:.76rem;padding:7px 10px 1px}
  .math-input{min-height:70px;font-size:1.22rem;padding:10px 12px}
  .math-result{min-height:50px;font-size:1.95rem;padding:6px 12px 9px}
  .control-deck{gap:10px;margin-bottom:13px}
  .control-side{gap:7px}.control-side .calc-key{min-height:40px;font-size:.9rem}
  .replay-pad{min-height:98px}
  .replay-center{width:76px;height:56px;font-size:.72rem}
  .replay-pad .calc-key{min-width:44px;min-height:32px;font-size:.9rem}
  .scientific-grid{gap:7px;margin-bottom:11px}.numeric-grid{gap:9px}
  .calc-key{min-height:58px;padding:16px 4px 6px;border-radius:8px}
  .role-function{font-size:1.08rem}.role-number{font-size:1.4rem}.role-operator{font-size:1.28rem}
  .role-danger,.role-equals{font-size:1.12rem}
  .shift-legend,.alpha-legend{font-size:.68rem;top:3px}
  .primary-label{min-height:28px}.key-fraction-icon{width:24px;font-size:.92rem}
  .ad-left,.ad-right,.ad-outer-left,.ad-outer-right{height:min(76vh,860px);min-height:660px}
  .ad-bottom-left,.ad-bottom-right{height:260px}
  .ad-bottom{height:145px;margin-top:30px}.ad-bottom-secondary{height:120px;margin-top:16px}
}

/* Standard desktop keeps the calculator large, but uses two vertical ad rails. */
@media(min-width:1200px) and (max-width:1499px){
  .site-shell{width:min(1480px,calc(100% - 24px))}
  .desktop-layout{grid-template-columns:220px minmax(700px,1fr) 220px;grid-template-areas:"left center right" "bottom-left center bottom-right";gap:20px}
  .ad-outer-left,.ad-outer-right{display:none}
  .calculator-stage{min-height:740px}
  .calculator-shell{width:min(100%,680px);padding:18px 18px 24px}
  .calc-key{min-height:58px;padding:16px 4px 6px}
  .role-function{font-size:1.04rem}.role-number{font-size:1.36rem}.role-operator{font-size:1.24rem}
  .role-danger,.role-equals{font-size:1.08rem}
  .shift-legend,.alpha-legend{font-size:.66rem}
  .control-side .calc-key{min-height:40px;font-size:.88rem}
  .replay-pad{min-height:96px}.replay-center{width:74px;height:54px}
  .ad-left,.ad-right{height:760px}.ad-bottom-left,.ad-bottom-right{height:220px}
}
/* Tablet / compact desktop: one central column and no side ad rails. */
@media(min-width:601px) and (max-width:1199px){
  .site-shell{width:min(980px,calc(100% - 20px))}
  .desktop-layout{grid-template-columns:1fr;grid-template-areas:"center";gap:0}
  .ad-left,.ad-right,.ad-outer-left,.ad-outer-right,.ad-bottom-left,.ad-bottom-right{display:none}
  .center-column{width:100%}
  .site-header,.site-tabs{max-width:720px}
  .calculator-stage{min-height:auto}
  .calculator-shell{width:min(100%,580px);padding:14px 14px 20px}
  .calc-key{min-height:48px}
  .role-function{font-size:.76rem}.role-number,.role-operator{font-size:1.05rem}
  .ad-bottom{height:100px;max-width:820px}
}

/* Mobile layout: purpose-built compact face that fills the phone width. */
@media(max-width:600px){
  .site-shell{width:100%;padding:8px 8px 24px}
  .desktop-layout{display:block}
  .ad-left,.ad-right,.ad-outer-left,.ad-outer-right,.ad-bottom-left,.ad-bottom-right{display:none}
  .center-column{width:100%}
  .site-header{align-items:flex-start;flex-direction:column;max-width:none;padding-inline:2px}
  .site-tabs{max-width:none;margin:10px 0 12px;overflow-x:auto;flex-wrap:nowrap}
  .site-tabs button{white-space:nowrap}
  .calculator-stage{min-height:auto;display:block}
  #calculator-root{width:100%}
  .calculator-shell{width:100%;max-width:430px;margin-inline:auto;padding:10px 9px 14px;border-radius:20px 20px 28px 28px}
  .calculator-brand strong{font-size:.8rem}.calculator-brand small,.calculator-brand>span{font-size:.55rem}
  .calculator-display{padding:5px;margin-bottom:8px}
  .display-status{min-height:15px;font-size:.55rem;padding:4px 6px 0}
  .math-input{min-height:48px;font-size:.92rem;padding:6px}
  .math-result{min-height:34px;font-size:1.35rem;padding:3px 6px 6px}
  .control-deck{grid-template-columns:.95fr 1.25fr 1.1fr;gap:5px;margin-bottom:7px}
  .control-side{gap:4px}.control-side .calc-key{min-height:29px;font-size:.54rem;padding:3px 2px}
  .replay-pad{min-height:70px}.replay-center{width:50px;height:36px;font-size:.46rem}
  .replay-pad .calc-key{min-width:31px;min-height:23px;font-size:.55rem}
  .scientific-grid{gap:3px;margin-bottom:6px}.numeric-grid{gap:4px}
  .calc-key{min-height:39px;padding:10px 1px 4px;border-radius:5px}
  .role-function{font-size:.61rem}.role-number,.role-operator{font-size:.88rem}.role-danger,.role-equals{font-size:.74rem}
  .shift-legend,.alpha-legend{font-size:.4rem;top:2px}
  .primary-label{min-height:18px}.key-fraction-icon{width:17px;font-size:.65rem}
  .ad-bottom{height:84px;width:100%;margin:16px 0 0}.ad-bottom-secondary{display:none}
  .advanced-panel{padding:12px;border-radius:12px}
}
@media(prefers-contrast:more){.calculator-shell,.calculator-display,.calc-key,.menu-item{border-width:2px}.active-slot{outline-width:2px}}

.calculator-prompt{position:absolute;inset:96px 18px auto;z-index:6;background:var(--lcd);color:var(--lcd-ink);border:2px solid var(--lcd-edge);border-radius:7px;padding:10px;box-shadow:0 8px 18px rgba(0,0,0,.25)}


/* Scientific key typography hierarchy: readable labels above the key face. */
.scientific-key-cell{
  display:grid;
  grid-template-rows:minmax(24px,auto) auto;
  gap:4px;
  min-width:0;
  direction:ltr;
}
.key-legend-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:end;
  gap:6px;
  min-width:0;
  padding-inline:3px;
  line-height:1.05;
}
.key-legend{
  display:block;
  min-width:0;
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.key-legend-shift{color:var(--yellow);text-align:left}
.key-legend-alpha{color:var(--alpha);text-align:right}
.key-legend.empty{visibility:hidden}
.scientific-key-button{
  padding:6px 4px!important;
}
.scientific-key-button .primary-label{
  min-height:30px;
  font-size:17px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.05;
}
.scientific-key-button .shift-legend,
.scientific-key-button .alpha-legend{display:none!important}
.scientific-grid{row-gap:10px}

@media(min-width:1500px){
  .scientific-key-cell{grid-template-rows:minmax(28px,auto) auto;gap:5px}
  .key-legend{font-size:14px}
  .scientific-key-button .primary-label{font-size:19px;min-height:32px}
  .scientific-grid{row-gap:12px}
}
@media(min-width:1200px) and (max-width:1499px){
  .scientific-key-cell{grid-template-rows:minmax(26px,auto) auto;gap:4px}
  .key-legend{font-size:13px}
  .scientific-key-button .primary-label{font-size:18px;min-height:31px}
  .scientific-grid{row-gap:11px}
}
@media(min-width:601px) and (max-width:1199px){
  .scientific-key-cell{grid-template-rows:minmax(22px,auto) auto;gap:3px}
  .key-legend{font-size:11px}
  .scientific-key-button .primary-label{font-size:16px;min-height:28px}
  .scientific-grid{row-gap:8px}
}
@media(max-width:600px){
  .scientific-key-cell{grid-template-rows:minmax(18px,auto) auto;gap:2px}
  .key-legend-row{gap:3px;padding-inline:1px}
  .key-legend{font-size:9px;line-height:1}
  .scientific-key-button{padding:5px 2px!important}
  .scientific-key-button .primary-label{font-size:14px;min-height:22px}
  .scientific-grid{row-gap:6px}
}

/* Web-specific controls: keep replay arrows physically correct in RTL UI and balance two control buttons. */
.control-right{align-content:center}
.control-right .calc-key{min-height:38px}

/* Physical-calculator parity: the calculator face always keeps hardware-like LTR geometry. */
.calculator-face{direction:ltr}
.calculator-brand{direction:ltr}
.control-deck,.scientific-grid,.numeric-grid{direction:ltr}
.control-left,.control-right{direction:ltr}
.calc-key{direction:ltr}
.key-legend-row{direction:ltr}

/* Familiar 5-column numeric keypad: 7-8-9 / 4-5-6 / 1-2-3 / 0-. with operators on the right. */
.numeric-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-template-areas:
    "n7 n8 n9 del ac"
    "n4 n5 n6 mul div"
    "n1 n2 n3 add sub"
    "n0 dec exp ans eq";
}
.numeric-grid [data-key-id="DIGIT_7"]{grid-area:n7}.numeric-grid [data-key-id="DIGIT_8"]{grid-area:n8}.numeric-grid [data-key-id="DIGIT_9"]{grid-area:n9}
.numeric-grid [data-key-id="DIGIT_4"]{grid-area:n4}.numeric-grid [data-key-id="DIGIT_5"]{grid-area:n5}.numeric-grid [data-key-id="DIGIT_6"]{grid-area:n6}
.numeric-grid [data-key-id="DIGIT_1"]{grid-area:n1}.numeric-grid [data-key-id="DIGIT_2"]{grid-area:n2}.numeric-grid [data-key-id="DIGIT_3"]{grid-area:n3}
.numeric-grid [data-key-id="DIGIT_0"]{grid-area:n0}.numeric-grid [data-key-id="DECIMAL"]{grid-area:dec}
.numeric-grid [data-key-id="MULTIPLY"]{grid-area:mul}.numeric-grid [data-key-id="DIVIDE"]{grid-area:div}
.numeric-grid [data-key-id="ADD"]{grid-area:add}.numeric-grid [data-key-id="SUBTRACT"]{grid-area:sub}
.numeric-grid [data-key-id="DEL"]{grid-area:del}.numeric-grid [data-key-id="AC"]{grid-area:ac}.numeric-grid [data-key-id="EQUALS"]{grid-area:eq}
.numeric-grid [data-key-id="EXP"]{grid-area:exp}.numeric-grid [data-key-id="ANS"]{grid-area:ans}

/* Secondary legends remain printed like a physical calculator, but primary labels dominate. */
.key-legend{opacity:.92}
.scientific-key-button .primary-label{font-weight:850}

/* Traditional scientific grouping: fixed physical rows, clear gap before the numeric keypad. */
.scientific-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-flow:row;
  column-gap:7px;
  row-gap:10px;
  margin-bottom:18px;
}
.scientific-spacer{visibility:hidden;pointer-events:none}
.numeric-grid{margin-top:2px}
@media(min-width:1500px){
  .scientific-grid{column-gap:8px;row-gap:11px;margin-bottom:20px}
}
@media(max-width:600px){
  .scientific-grid{column-gap:3px;row-gap:6px;margin-bottom:12px}
}

/* Comfort pass: reduce visual noise while preserving the physical calculator map. */
.calculator-face{font-family:"Segoe UI",Arial,sans-serif}
.scientific-grid{padding-top:2px;border-top:1px solid rgba(65,76,88,.14)}
.numeric-grid{padding-top:14px;border-top:1px solid rgba(65,76,88,.2)}
.role-function{background:#30353b;box-shadow:0 2px 0 rgba(0,0,0,.28)}
.role-number{background:#f6f6f3;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.role-operator{background:#dce1e5;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.role-danger{background:#e88b54;box-shadow:0 2px 0 rgba(0,0,0,.22)}
.role-equals{background:#5f86b3;box-shadow:0 2px 0 rgba(0,0,0,.22)}
.calc-key:hover{filter:brightness(1.035)}
.calc-key:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.2)}
.scientific-key-button .primary-label{font-family:Arial,"Segoe UI",sans-serif}
.numeric-grid .primary-label{font-variant-numeric:tabular-nums;font-weight:800}
.key-legend{font-family:Arial,"Segoe UI",sans-serif;line-height:1.12}
.key-legend-shift{color:#6f5700}
.key-legend-alpha{color:#962250}
.control-side .primary-label{font-weight:800;letter-spacing:.015em}
@media(min-width:1200px){
  .numeric-grid .role-number .primary-label{font-size:1.08em}
  .numeric-grid .role-operator .primary-label{font-size:1.04em}
}

/* Exact results use textbook-style vertical fractions, matching traditional scientific calculators. */
.math-result{display:flex;align-items:center;justify-content:flex-end;gap:.2em}
.result-fraction{display:inline-grid;grid-template-rows:auto auto;min-width:1.5em;vertical-align:middle;text-align:center;line-height:1.02}
.result-numerator,.result-denominator{display:block;padding:.03em .18em}
.result-denominator{border-top:2px solid currentColor}
.result-mixed{display:inline-flex;align-items:center;gap:.22em}
.result-whole{display:inline-block}
@media(min-width:1200px){
  .result-fraction{font-size:1.05em}
  .result-denominator{border-top-width:2px}
}

/* Direction boundaries: localized site follows locale; physical calculator and math remain LTR. */
#calculator-root,.calculator-shell,.calculator-face,.calculator-display,.control-deck,.replay-pad,.scientific-grid,.numeric-grid,.math-input,.math-result{
  direction:ltr;
  unicode-bidi:isolate;
}

/* Traditional calculator editing cursor. */
.math-cursor{display:inline-block;width:2px;height:1.15em;min-height:14px;background:currentColor;vertical-align:-.18em;margin:0 1px;animation:math-cursor-blink 1s steps(1,end) infinite}
@keyframes math-cursor-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.math-cursor{animation:none}}

.advanced-solve{min-height:42px;border:1px solid var(--line);background:var(--text);color:var(--panel);border-radius:10px;padding:7px 16px;font-weight:800}
.advanced-result{display:block;min-height:48px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--page);direction:ltr;text-align:left;font-family:Consolas,"Courier New",monospace;font-size:1rem}

.advanced-examples{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.advanced-examples button{min-height:38px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);padding:6px 11px;font-size:.86rem}
.advanced-examples button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}


/* Workspace navigation inspired by desktop calculator tool pickers. */
.site-brand{display:flex;align-items:center;gap:10px}.sidebar-toggle{display:none;min-width:42px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}
.workspace-shell{direction:inherit;display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.tool-sidebar{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 8px 28px rgba(20,30,40,.07)}
.tool-group+.tool-group{margin-top:14px}.tool-group-title{padding:4px 9px 7px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.tool-item,.tool-item-static{width:100%;min-height:44px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;border:0;border-radius:9px;padding:7px 9px;background:transparent;color:var(--text);text-align:left}
.tool-item:hover{background:color-mix(in srgb,var(--line) 28%,transparent)}.tool-item.active{background:color-mix(in srgb,var(--focus) 12%,var(--panel));box-shadow:inset 3px 0 var(--focus);font-weight:700}
.tool-icon{font-size:1.05rem;text-align:center}.tool-item-static{opacity:.55}.tool-item-static small{font-size:.62rem;color:var(--muted)}
.workspace-content{min-width:0;direction:ltr}.workspace-content .page-section{min-width:0}
html[dir="rtl"] .workspace-content{direction:rtl}
html[dir="rtl"] .tool-sidebar{direction:rtl}
html[dir="rtl"] .tool-item,html[dir="rtl"] .tool-item-static{text-align:right}
html[dir="rtl"] .tool-item.active{box-shadow:inset -3px 0 var(--focus)}

.tool-page{max-width:1000px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.tool-page-head h2{margin:.15rem 0 .35rem}.tool-page-head p,.tool-page-head small,.muted{color:var(--muted)}
.formula-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:12px;margin:16px 0}.formula-controls label{display:grid;gap:6px}.formula-controls input,.formula-controls select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.formula-count{margin:0 0 10px;color:var(--muted);font-size:.88rem}
.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formula-card{border:1px solid var(--line);border-radius:12px;padding:13px;background:color-mix(in srgb,var(--panel) 94%,var(--page))}.formula-card h3{margin:.2rem 0 .45rem;font-size:1rem}.formula-card-meta{font-size:.72rem;color:var(--muted)}.formula-expression{padding:10px;border-radius:8px;background:var(--page);font-family:"Cambria Math","Times New Roman",serif;font-size:1.05rem;overflow-x:auto}.formula-card p{margin:.5rem 0 0;color:var(--muted);font-size:.86rem}

.mathlab-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px}.mathlab-editor-panel,.mathlab-results section{border:1px solid var(--line);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--panel) 96%,var(--page))}.mathlab-editor-panel label{display:grid;gap:6px}.mathlab-editor-panel textarea{width:100%;min-height:330px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;background:#111820;color:#eef5fb;font-family:Consolas,"Courier New",monospace;font-size:.95rem;line-height:1.5}.mathlab-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.mathlab-toolbar button{min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:5px 9px}.mathlab-results{display:grid;gap:12px;align-content:start}.mathlab-results h3{margin:0 0 8px}.mathlab-results pre{margin:0;min-height:150px;max-height:300px;overflow:auto;white-space:pre-wrap;direction:ltr;text-align:left;background:#111820;color:#d7f7d7;border-radius:8px;padding:10px;font:13px/1.45 Consolas,"Courier New",monospace}.mathlab-workspace{display:grid;gap:6px}.workspace-row{display:grid;grid-template-columns:minmax(40px,auto) 1fr;gap:8px;align-items:start;border-bottom:1px solid var(--line);padding:6px 0}.workspace-row code{overflow-wrap:anywhere;white-space:pre-wrap}.mathlab-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.mathlab-actions .category-tool{min-height:40px}.mathlab-editor-panel .advanced-note{margin:8px 0 0}

@media(max-width:900px){
  .sidebar-toggle{display:inline-grid;place-items:center}
  .workspace-shell{grid-template-columns:1fr}
  .tool-sidebar{display:none;position:fixed;z-index:50;top:70px;left:10px;right:10px;max-height:calc(100vh - 84px);box-shadow:0 20px 50px rgba(0,0,0,.28)}
  .tool-sidebar.open{display:block;overscroll-behavior:contain}
  .formula-grid{grid-template-columns:1fr}
  .mathlab-layout{grid-template-columns:1fr}
}
@media(max-width:600px){
  .formula-controls{grid-template-columns:1fr}
  .tool-page{padding:12px;border-radius:12px}
  .mathlab-editor-panel textarea{min-height:240px}
}

.converter-card{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto minmax(120px,1fr);gap:10px;align-items:end;margin-top:18px}.converter-card label{display:grid;gap:6px}.converter-card input,.converter-card select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.converter-card button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}.converter-result{display:block;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--page);direction:ltr;text-align:left;font:600 1.05rem/1.4 Consolas,"Courier New",monospace}
@media(max-width:700px){.converter-card{grid-template-columns:1fr 1fr}.converter-card>label:first-child{grid-column:1/-1}.converter-card button{order:4}}

.graph-controls{display:grid;grid-template-columns:minmax(240px,1fr) repeat(4,minmax(92px,110px)) auto;gap:10px;align-items:end;margin:16px 0}.graph-controls label{display:grid;gap:6px}.graph-controls input{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.graph-canvas-wrap{direction:ltr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}#graph-canvas{display:block;width:100%;height:auto;min-height:300px;background:linear-gradient(to right,color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px);background-size:38px 38px}.graph-grid-line{stroke:var(--line);stroke-width:.7;opacity:.55}.graph-axis{stroke:var(--muted);stroke-width:1.35}.graph-tick-label{fill:var(--muted);font:11px/1 Consolas,"Courier New",monospace;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round}.graph-path{fill:none;stroke:var(--focus);stroke-width:2.5;vector-effect:non-scaling-stroke}
.programmer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.programmer-grid label{display:grid;gap:6px}.programmer-grid input,.programmer-grid select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.programmer-grid .advanced-solve{align-self:end}.programmer-result{display:grid;gap:8px;margin-top:14px;direction:ltr}.programmer-result>div{display:grid;grid-template-columns:52px 1fr;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--page)}.programmer-result code{overflow-wrap:anywhere;font-family:Consolas,"Courier New",monospace}
@media(max-width:700px){.graph-controls{grid-template-columns:1fr 1fr}.graph-controls label:first-child{grid-column:1/-1}.programmer-grid{grid-template-columns:1fr}}

.date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.date-grid section{border:1px solid var(--line);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--panel) 96%,var(--page))}.date-grid h3{margin:0 0 12px}.date-grid label{display:grid;gap:6px;margin-bottom:10px}.date-grid input{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.date-grid output{display:block;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--page);direction:ltr;text-align:left;font-weight:700}
@media(max-width:700px){.date-grid{grid-template-columns:1fr}}

.graph-controls textarea{min-height:96px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px;font-family:Consolas,"Courier New",monospace;resize:vertical}
.graph-expression-field small{color:var(--muted);font-size:.78rem;line-height:1.35}
.graph-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;direction:ltr}
.graph-legend-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font:12px/1.2 Consolas,"Courier New",monospace}
.graph-legend-item::before{content:"";display:inline-block;width:18px;border-top:3px solid currentColor}
.graph-path.graph-series-1{stroke-dasharray:8 5}.graph-path.graph-series-2{stroke-dasharray:3 4}.graph-path.graph-series-3{stroke-dasharray:12 4 3 4}.graph-path.graph-series-4{stroke-dasharray:1 4}.graph-path.graph-series-5{stroke-dasharray:9 3 2 3 2 3}
.graph-legend-item.graph-series-1::before{border-top-style:dashed}.graph-legend-item.graph-series-2::before{border-top-style:dotted}

.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.category-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--panel) 96%,var(--page))}.category-card h3{margin:0 0 10px}.category-tools{display:grid;gap:7px}.category-tool{min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:7px 9px;text-align:start}.category-tool.planned,.category-empty{color:var(--muted);font-size:.85rem}
.ramp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:16px}.ramp-grid label{display:grid;gap:6px}.ramp-grid input,.ramp-grid select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.ramp-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.ramp-result>div{display:flex;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:10px;background:var(--page);padding:10px;direction:ltr}.consent-banner{position:fixed;z-index:90;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:900px;margin:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 50px rgba(0,0,0,.25);padding:14px}.consent-banner[hidden]{display:none}.consent-banner p{margin:.25rem 0 0;color:var(--muted)}.consent-actions{display:flex;gap:8px}.consent-actions button{min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:7px 14px}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ramp-grid{grid-template-columns:1fr 1fr}.ramp-grid .advanced-solve{grid-column:1/-1}.consent-banner{align-items:stretch;flex-direction:column}}
@media(max-width:560px){.category-grid{grid-template-columns:1fr}.ramp-grid{grid-template-columns:1fr}.ramp-result{grid-template-columns:1fr}}

/* Keyboard navigation */
.skip-link{
  position:fixed;
  inset-block-start:12px;
  inset-inline-start:12px;
  z-index:10000;
  padding:10px 14px;
  border-radius:8px;
  background:Canvas;
  color:CanvasText;
  border:2px solid currentColor;
  transform:translateY(-160%);
}
.skip-link:focus{
  transform:translateY(0);
  outline:3px solid currentColor;
  outline-offset:3px;
}

@media(forced-colors:active){
  .tool-item.active{outline:2px solid Highlight;box-shadow:none}
  .skip-link{forced-color-adjust:auto}
  .calc-key,.advanced-solve,.category-tool,.tool-item{forced-color-adjust:auto}
}


/* Informational content and footer */
.workspace-info{
  max-width:1000px;
  margin:28px auto 0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
}
.workspace-info>h2{margin:0 0 8px}
.workspace-info>p{margin:.25rem 0 18px;color:var(--muted);line-height:1.65}
.workspace-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.workspace-info-grid section{padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 96%,var(--page))}
.workspace-info-grid h3{margin:0 0 8px;font-size:1rem}
.workspace-info-grid p{margin:0;color:var(--muted);line-height:1.6}
.site-footer{max-width:1000px;margin:14px auto 0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.site-footer a{color:inherit;text-underline-offset:3px}
.footer-link-button{border:0;background:transparent;color:inherit;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.footer-link-button:hover{color:var(--text)}
.empty-state{grid-column:1/-1;margin:0;padding:24px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}
@media(max-width:800px){.workspace-info-grid{grid-template-columns:1fr}.workspace-info{padding:14px}}


/* Knowledge libraries and formula workbench */
.formula-open{
  width:100%;
  display:block;
  border:0;
  background:transparent;
  color:inherit;
  text-align:inherit;
  padding:0;
}
.formula-open:hover .formula-card-action{text-decoration:underline}
.formula-card-action{display:inline-block;margin-top:10px;color:var(--focus);font-weight:700;font-size:.82rem}
.knowledge-page .formula-grid{margin-top:16px}
.formula-detail-toolbar{display:flex;justify-content:flex-start;margin-bottom:12px}
.formula-detail-expression{
  margin:16px 0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--page);
  font-family:"Cambria Math","Times New Roman",serif;
  font-size:1.15rem;
  overflow-x:auto;
}
.formula-detail-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.formula-detail-form label{display:grid;gap:6px}
.formula-detail-form input{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  padding:8px 10px;
}
.formula-detail-actions{margin-top:14px}
.formula-detail-result{
  display:block;
  min-height:46px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--page);
  line-height:1.5;
}
.formula-detail-result-primary{font-weight:800}
@media(max-width:700px){.formula-detail-form{grid-template-columns:1fr}}


/* Formula explanations */
.formula-explanation{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel) 97%,var(--page));
}
.formula-explanation h3{margin:0 0 8px;font-size:1rem}
.formula-explanation p{margin:0;color:var(--muted);line-height:1.7}
.formula-variable-guide{margin-top:14px}
.formula-variable-guide h4{margin:0 0 8px;font-size:.92rem}
.formula-variable-guide dl{display:grid;gap:6px;margin:0}
.formula-variable-guide dl>div{display:grid;grid-template-columns:minmax(52px,auto) 1fr;gap:10px;align-items:start}
.formula-variable-guide dt{font-weight:800;color:var(--text)}
.formula-variable-guide dd{margin:0;color:var(--muted)}


/* Formula workbench validation and actions */
.formula-detail-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.formula-detail-status{display:block;min-height:1.35em;margin-top:8px;color:var(--muted);font-weight:700}
.formula-detail-form input[aria-invalid="true"]{border-color:#c62828;outline:2px solid color-mix(in srgb,#c62828 35%,transparent);outline-offset:1px}


/* Searchable tool navigation */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.tool-search{
  position:sticky;
  top:0;
  z-index:2;
  padding:10px;
  background:var(--panel);
  border-bottom:1px solid var(--line);
}
.tool-search input{
  width:100%;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--page);
  color:var(--text);
  padding:8px 10px;
}
.tool-group[hidden],.tool-item[hidden],.tool-item-static[hidden]{display:none!important}


/* Math Lab command reference */
.mathlab-command-reference{
  margin-top:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}
.mathlab-command-reference summary{
  cursor:pointer;
  padding:10px 12px;
  font-weight:700;
}
.mathlab-command-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  padding:0 12px 12px;
}
.mathlab-command-grid p{display:grid;gap:4px;margin:0}
.mathlab-command-grid code{overflow-wrap:anywhere;color:var(--muted);font-size:.82rem}
@media(max-width:700px){.mathlab-command-grid{grid-template-columns:1fr}}

.graph-actions{display:flex;gap:8px;align-items:stretch}.graph-actions button{min-height:44px;white-space:nowrap}@media(max-width:980px){.graph-controls{grid-template-columns:1fr 1fr}.graph-controls .graph-expression-field,.graph-actions{grid-column:1/-1}}@media(max-width:520px){.graph-controls{grid-template-columns:1fr}.graph-controls .graph-expression-field,.graph-actions{grid-column:auto}.graph-actions{flex-direction:column}.graph-canvas-wrap{overflow-x:auto}#graph-canvas{min-width:620px}}

.programmer-grid input:disabled{opacity:.6;cursor:not-allowed}.programmer-result>div{align-items:start}.programmer-result>div span{font-size:.78rem;color:var(--muted);font-weight:700}.tool-help{margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}

.date-inline-action{margin:0 0 10px;min-height:40px}.date-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.date-detail-grid>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:var(--page);display:grid;gap:4px}.date-detail-grid span{font-size:.78rem;color:var(--muted)}.date-detail-grid strong{font-variant-numeric:tabular-nums}.date-weekday{margin:8px 0 0;color:var(--muted);font-size:.85rem}.date-grid select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}@media(max-width:460px){.date-detail-grid{grid-template-columns:1fr}}

.converter-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,180px);gap:10px;margin-top:18px}.converter-toolbar label{display:grid;gap:6px}.converter-toolbar select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.converter-factor{margin:8px 0 0;color:var(--muted);font-size:.84rem;direction:ltr;text-align:left;font-variant-numeric:tabular-nums}@media(max-width:700px){.converter-toolbar{grid-template-columns:1fr}.converter-card{grid-template-columns:1fr}.converter-card>label:first-child{grid-column:auto}.converter-card button{order:0;width:100%}}

.ramp-panel{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px}.ramp-panel h3{margin:0 0 10px}.ramp-design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}.ramp-design-grid label{display:grid;gap:6px}.ramp-design-grid input,.ramp-design-grid select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.ramp-derived-note{margin:8px 0 0;color:var(--muted);font-size:.84rem}@media(max-width:900px){.ramp-design-grid{grid-template-columns:1fr 1fr}.ramp-design-grid .advanced-solve{grid-column:1/-1}}@media(max-width:560px){.ramp-design-grid{grid-template-columns:1fr}.ramp-design-grid .advanced-solve{grid-column:auto}}

.advanced-toolbar{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:12px;align-items:end;margin:12px 0}.advanced-toolbar label{display:grid;gap:6px}.advanced-toolbar select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.advanced-toolbar .advanced-note{margin:0}.advanced-result-meta{margin:8px 0 0;color:var(--muted);font-size:.82rem;direction:ltr;text-align:left;font-variant-numeric:tabular-nums}@media(max-width:640px){.advanced-toolbar{grid-template-columns:1fr}}

.formula-detail-expression-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.formula-capability{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.formula-capability.is-calculable{background:var(--page)}.formula-capability.is-reference{color:var(--muted)}@media(max-width:560px){.formula-detail-expression-row{align-items:stretch}.formula-capability{width:max-content}}

.mathlab-workspace{overflow:auto}.mathlab-workspace-table{width:100%;border-collapse:collapse;font-size:.82rem}.mathlab-workspace-table th,.mathlab-workspace-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.mathlab-workspace-table th{position:sticky;top:0;background:var(--panel);font-size:.75rem;color:var(--muted);z-index:1}.mathlab-workspace-table code{white-space:nowrap;display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis}.mathlab-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.mathlab-section-heading h3{margin:0}.mathlab-mini-action{border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--muted);padding:4px 7px;font-size:.76rem}.mathlab-history{display:grid;gap:5px;max-height:180px;overflow:auto}.mathlab-history-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:6px 2px;cursor:pointer}.mathlab-history-item:hover,.mathlab-history-item:focus-visible{background:var(--page)}.mathlab-history-item code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mathlab-results pre{min-height:210px;max-height:380px}.mathlab-results{grid-template-rows:auto auto auto}@media(max-width:700px){.mathlab-workspace-table{min-width:460px}.mathlab-history{max-height:140px}}

.mathlab-variable-editor{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.mathlab-variable-editor[hidden]{display:none}.mathlab-variable-editor label{display:grid;gap:5px;margin-top:8px}.mathlab-variable-editor input,.mathlab-variable-editor textarea{width:100%;box-sizing:border-box}.mathlab-editor-actions{display:flex;gap:8px;margin-top:9px}.mathlab-row-action{border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);padding:4px 7px;cursor:pointer}.mathlab-row-action:hover,.mathlab-row-action:focus-visible{background:var(--page)}


/* Lecture-ready direct expression entry */
.calculator-direct-entry{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  padding:7px 10px;
  border:1px solid rgba(89,159,255,.28);
  border-radius:10px;
  background:rgba(3,16,32,.58);
}
.calculator-direct-entry input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  color:inherit;
  font:600 .88rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;
  direction:ltr;
  text-align:left;
}
.calculator-direct-entry input::placeholder{opacity:.55;font-weight:500}
.calculator-direct-entry span{opacity:.55;font-size:.8rem}
.calculator-direct-entry:focus-within{
  border-color:rgba(89,159,255,.72);
  box-shadow:0 0 0 2px rgba(89,159,255,.12);
}


/* Expert scientific function palette */
.calculator-expert-tools{
  margin-top:8px;
  border:1px solid rgba(89,159,255,.2);
  border-radius:10px;
  background:rgba(3,16,32,.44);
  overflow:hidden;
}
.calculator-expert-tools summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  cursor:pointer;
  list-style:none;
}
.calculator-expert-tools summary::-webkit-details-marker{display:none}
.calculator-expert-tools summary small{opacity:.58;font-size:.72rem;font-weight:500}
.expert-tool-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:0 10px 10px;
}
.expert-tool-groups section{
  min-width:0;
  border:1px solid rgba(255,255,255,.06);
  border-radius:8px;
  padding:8px;
  background:rgba(255,255,255,.02);
}
.expert-tool-groups section>span{
  display:block;
  margin-bottom:6px;
  opacity:.68;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.expert-tool-groups section>div{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.expert-tool-groups button{
  border:1px solid rgba(89,159,255,.24);
  border-radius:7px;
  padding:5px 7px;
  background:rgba(89,159,255,.08);
  color:inherit;
  font:600 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  cursor:pointer;
}
.expert-tool-groups button:hover{background:rgba(89,159,255,.16);border-color:rgba(89,159,255,.48)}
@media (max-width:680px){.expert-tool-groups{grid-template-columns:1fr}.calculator-expert-tools summary small{display:none}}

.scientific-precision-note{
  margin:0 10px 10px;
  padding:7px 9px;
  border-left:2px solid rgba(89,159,255,.45);
  background:rgba(89,159,255,.05);
  opacity:.72;
  font-size:.7rem;
  line-height:1.35;
}


/* Professor / Research Mode */
.research-page{max-width:1320px;margin:0 auto}
.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.research-card{
  min-width:0;
  border:1px solid rgba(89,159,255,.18);
  border-radius:16px;
  padding:18px;
  background:linear-gradient(180deg,rgba(13,31,55,.88),rgba(5,18,34,.9));
  box-shadow:0 12px 32px rgba(0,0,0,.14);
}
.research-card h3{margin:0 0 6px;font-size:1rem}
.research-card>p{margin:0 0 14px;opacity:.68;line-height:1.45}
.research-card label{display:grid;gap:6px;margin:10px 0;font-size:.78rem;font-weight:700}
.research-card input,.research-card select{
  width:100%;box-sizing:border-box;border:1px solid rgba(125,170,225,.2);border-radius:9px;
  padding:9px 10px;background:rgba(1,12,25,.7);color:inherit;outline:none
}
.research-card input:focus,.research-card select:focus{border-color:rgba(89,159,255,.66);box-shadow:0 0 0 2px rgba(89,159,255,.1)}
.research-result{
  display:block;min-height:58px;margin-top:12px;padding:12px;border-radius:10px;
  border:1px solid rgba(89,159,255,.16);background:rgba(2,12,24,.62);
  white-space:pre-wrap;overflow-wrap:anywhere;font:600 .82rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace
}
.research-measure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.research-constants-list{display:grid;gap:6px;max-height:360px;overflow:auto;padding-right:4px}
.research-constant-row{
  display:grid;grid-template-columns:58px minmax(120px,1fr) minmax(145px,auto);align-items:center;gap:10px;
  padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.045)
}
.research-constant-symbol{font-weight:800}
.research-constant-name{opacity:.72;font-size:.75rem}
.research-constant-row code{font-size:.72rem;white-space:nowrap}
.research-integrity-note{
  margin:16px 0 0;padding:12px 14px;border-left:3px solid rgba(89,159,255,.5);
  background:rgba(89,159,255,.055);border-radius:8px;font-size:.78rem;line-height:1.5;opacity:.8
}
@media(max-width:900px){.research-grid{grid-template-columns:1fr}}
@media(max-width:560px){.research-measure-grid{grid-template-columns:1fr}.research-constant-row{grid-template-columns:48px 1fr}.research-constant-row code{grid-column:1/-1}}

.seo-discovery{margin:20px 0;padding:18px;border:1px solid rgba(89,159,255,.14);border-radius:14px;background:rgba(10,24,42,.55)}
.seo-discovery h2{margin:0 0 12px;font-size:.95rem}
.seo-discovery-links{display:flex;flex-wrap:wrap;gap:8px}
.seo-discovery-links a{display:inline-block;padding:7px 9px;border:1px solid rgba(89,159,255,.18);border-radius:8px;color:inherit;text-decoration:none;font-size:.78rem}
.seo-discovery-links a:hover,.seo-discovery-links a:focus-visible{border-color:rgba(89,159,255,.5);background:rgba(89,159,255,.07)}
