.calculator-hero { max-width: 1040px; margin: 0 auto; }
.calculator-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 26px 0 16px; padding: 7px; border: 1px solid #e1d2cd; border-radius: 14px; background: #fff; }
.calculator-tab { min-height: 44px; border: 0; border-radius: 9px; background: #fff7f5; color: #5e2620; font-weight: 850; padding: 9px 10px; }
.calculator-tab:hover { background: #ffefec; }
.calculator-tab.is-active { background: #b80d0a; color: #fff; box-shadow: 0 5px 12px rgba(184,13,10,.18); }
.calculator-panel { margin-top: 12px; }
.calculator-panel[hidden] { display: none; }
.physical-calculator { width: min(520px,100%); margin: 0 auto; border: 1px solid #cfc1bc; border-radius: 22px; background: #282725; padding: 18px; box-shadow: 0 18px 38px rgba(26,19,17,.18); }
.wide-calculator { width: min(720px,100%); }
.calculator-display-wrap { margin-bottom: 14px; padding: 12px; border-radius: 12px; background: #dfe4d6; box-shadow: inset 0 2px 6px rgba(0,0,0,.22); color: #182017; }
.display-toolbar { display: flex; justify-content: space-between; align-items: center; min-height: 28px; margin-bottom: 2px; font-size: .72rem; font-weight: 800; color: #3b4938; text-transform: uppercase; letter-spacing: .06em; }
.mode-button { border: 1px solid #73806d; border-radius: 5px; background: rgba(255,255,255,.35); color: #263322; padding: 3px 8px; font-size: .72rem; font-weight: 900; }
.calculator-expression { min-height: 23px; overflow: hidden; text-align: right; color: #53604f; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; white-space: nowrap; text-overflow: ellipsis; }
.calculator-display { display: block; width: 100%; border: 0; outline: 0; background: transparent; color: #10170f; text-align: right; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: clamp(2rem,7vw,3.25rem); line-height: 1.15; font-weight: 650; }
.calculator-keys { display: grid; gap: 8px; }
.basic-keys { grid-template-columns: repeat(4,1fr); }
.scientific-keys { grid-template-columns: repeat(6,1fr); }
.calc-key { min-height: 54px; border: 1px solid #46433f; border-radius: 10px; background: #f6f2ed; color: #211d1b; box-shadow: 0 3px 0 #aaa39c; font-weight: 850; font-size: 1.02rem; }
.calc-key:hover { background: #fff; }
.calc-key:active { transform: translateY(2px); box-shadow: 0 1px 0 #aaa39c; }
.calc-key.operator { background: #ece2dd; color: #75110d; }
.calc-key.function { background: #d8d4cf; font-size: .88rem; }
.calc-key.danger { background: #7e1712; border-color: #66100d; color: #fff; box-shadow: 0 3px 0 #4f0b08; }
.calc-key.equals { background: #b80d0a; border-color: #8f0a07; color: #fff; box-shadow: 0 3px 0 #6f0806; }
.calc-key.span-two { grid-column: span 2; }
.calculator-history { margin-top: 16px; padding: 11px 12px; border-radius: 10px; background: #1e1d1b; color: #ddd8d3; font-size: .78rem; }
.calculator-history strong { color: #fff; }
.calculator-history ol { max-height: 130px; margin: 7px 0 0; padding-left: 1.4em; overflow-y: auto; }
.calculator-history li { margin: 3px 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.engineering-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.special-card { border: 1px solid #e0d0cb; border-radius: 17px; background: #fff; padding: 19px; box-shadow: 0 10px 25px rgba(61,31,26,.045); }
.special-card h2 { margin: 0 0 16px; font-size: 1.08rem; }
.special-card label { display: block; margin: 10px 0 5px; color: #4f342e; font-size: .82rem; font-weight: 820; }
.special-input, .special-select { width: 100%; min-height: 44px; border: 1px solid #cabbb6; border-radius: 9px; background: #fff; color: #1e1512; padding: 9px 11px; }
.special-input:focus, .special-select:focus { outline: none; border-color: #b80d0a; box-shadow: 0 0 0 3px rgba(184,13,10,.09); }
.special-result { display: flex; justify-content: space-between; gap: 15px; align-items: baseline; margin-top: 14px; padding: 11px 12px; border-radius: 10px; background: #fff5f2; }
.special-result span { color: #72554e; font-size: .8rem; font-weight: 750; }
.special-result strong { text-align: right; color: #201310; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.constant-result { display: grid; gap: 4px; margin: 14px 0; padding: 14px; border-radius: 10px; background: #f7f5ef; }
.constant-result strong { font-size: 1.3rem; }
.constant-result span { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-weight: 750; overflow-wrap: anywhere; }
.constant-result small { color: #6e5a53; }
.two-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.value-unit-row { display: grid; grid-template-columns: 1fr 105px; gap: 9px; align-items: end; }
.value-unit-row .special-select { margin-bottom: 0; }
.result-stack { display: grid; gap: 8px; margin-top: 14px; }
.result-line { display: flex; justify-content: space-between; gap: 12px; padding: 9px 11px; border-radius: 9px; background: #fff5f2; }
.result-line span { color: #72554e; font-size: .8rem; font-weight: 750; }
.result-line strong { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; text-align: right; }
#calculatorStatus { margin-top: 15px; }
@media (max-width: 820px) {
  .calculator-tabs { grid-template-columns: repeat(2,1fr); }
  .engineering-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .calculator-tabs { grid-template-columns: 1fr 1fr; }
  .scientific-keys { grid-template-columns: repeat(4,1fr); }
  .calc-key { min-height: 50px; }
  .two-field-row { grid-template-columns: 1fr; }
}

/* v0.3.3 calculator expansion */
.electrical-grid .special-card{align-content:start}.electrical-grid .special-result{margin-top:12px}.electrical-grid .result-stack{margin-top:12px}
