.calc-shell{width:100%;max-width:44rem;margin-inline:auto;background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:.4rem;box-shadow:0 1px 2px #0f172a0a,0 12px 32px -20px #0f172a47}.calc-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.25rem;margin-bottom:.45rem}.calc-angle.is-hidden{visibility:hidden}.seg{display:inline-flex;gap:.15rem;padding:.2rem;background:var(--subtle);border:1px solid var(--line);border-radius:.6rem}.seg-btn{border:0;background:transparent;color:var(--muted);font-weight:600;font-size:.85rem;padding:.4rem .85rem;min-height:2.75rem;border-radius:.45rem;cursor:pointer;transition:background-color .12s ease,color .12s ease}.seg-btn.is-active{background:var(--card);color:var(--heading);box-shadow:0 1px 2px #0f172a1f}.calc-display{background:var(--subtle);border:1px solid var(--line);border-radius:.75rem;padding:.4rem .45rem .45rem;margin-bottom:.45rem}.calc-display-top{display:flex;align-items:center;gap:.5rem}.calc-sub{flex:1;min-width:0;min-height:1.25rem;text-align:right;color:var(--muted);font-size:.95rem;font-variant-numeric:tabular-nums;overflow-x:auto;white-space:nowrap}.calc-back{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;background:transparent;color:var(--muted);border-radius:.5rem;cursor:pointer;opacity:.6;transition:opacity .12s ease,background-color .12s ease,color .12s ease}.calc-back:hover{opacity:1;color:var(--heading);background:color-mix(in srgb,var(--muted) 12%,transparent)}.calc-back:focus-visible{opacity:1}.calc-main{text-align:right;color:var(--heading);font-weight:700;font-size:2rem;line-height:1.25;font-variant-numeric:tabular-nums;overflow-x:auto;white-space:nowrap}.calc-display[data-display-state=error] .calc-main{color:var(--color-danger);font-size:1.15rem;font-weight:600}.calc-keypads:has(.sci-panel:not([hidden])){grid-template-columns:5fr 4fr}.calc-keypads{display:grid;gap:.5rem;align-items:start}.sci-panel{--sci-gap: .4rem;min-width:0;margin-bottom:0;padding-bottom:0;border-bottom:0}.keypad{display:grid;gap:.3rem}.keypad--basic{grid-template-columns:repeat(4,1fr)}.keypad--sci-fn{grid-template-columns:repeat(5,1fr);gap:var(--sci-gap)}.keypad--sci-fn-final{display:flex;justify-content:center;gap:var(--sci-gap);margin-top:var(--sci-gap)}.keypad--sci-fn-final .calc-key{flex:0 0 calc((100% - 4 * var(--sci-gap)) / 5)}.calc-key{min-height:2.75rem;min-width:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:.7rem;background:var(--card);color:var(--heading);font-size:1.15rem;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .05s ease}.calc-key:hover{border-color:var(--color-brand-300)}.calc-key:active{transform:translateY(1px)}.calc-key--util{background:var(--subtle);color:var(--heading)}.calc-key--op{color:var(--color-brand-700);background:color-mix(in srgb,var(--color-brand-500) 10%,var(--card))}.calc-key--danger{color:var(--color-danger);font-weight:700}.calc-key--primary{background:var(--color-brand-600);color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff29}.calc-key--primary:hover{background:var(--color-brand-700);border-color:transparent}.calc-key--fn{background:var(--subtle);color:var(--fg);font-size:.9rem;font-weight:600}.keypad--sci-fn .calc-key,.keypad--sci-fn-final .calc-key{min-height:2.75rem}.calc-shell[data-size=compact]{padding:.7rem}.calc-shell[data-size=compact] .calc-top{min-height:2rem;margin-bottom:.55rem}.calc-shell[data-size=compact] .calc-display{padding:.55rem .85rem .6rem;margin-bottom:.55rem}.calc-shell[data-size=compact] .keypad{gap:.4rem}.calc-shell[data-size=compact] .calc-key{min-height:2.75rem}.calc-shell[data-size=compact] .calc-main{font-size:1.85rem}@media(prefers-reduced-motion:reduce){.calc-key,.calc-back,.seg-btn{transition:none}}@media(max-width:480px){.calc-shell{max-width:100%;padding:.75rem}.calc-main{font-size:1.75rem}.calc-key{min-height:3.1rem}.sci-panel{--sci-gap: .3rem}.keypad--sci-fn .calc-key,.keypad--sci-fn-final .calc-key{min-height:2.75rem;font-size:.82rem}}
