:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--surface-muted:#e8eef0;--surface-raised:#edf2f4;--ink:#172026;--ink-muted:#5b6870;--number:#f8fafb;--function:#e6f0ec;--function-hover:#d9e7e1;--operator:#0f5d6b;--operator-hover:#0b4c58;--equals:#bd4f19;--equals-hover:#9c4115;--danger:#b42318;--focus:#2d6cdf;--border:#d7e0e3;--display-surface:#10242b;--display-ink:#fff;--display-muted:#b8c8ce;--display-error:#ffcbc5;--shadow:0 18px 45px #17202624;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}body,button,input{font:inherit}#app{place-items:center;min-height:100vh;padding:24px;display:grid}.calculator{border:1px solid var(--border);background:var(--surface);width:min(100%,380px);box-shadow:var(--shadow);border-radius:8px;padding:18px}.calculator[data-theme=dark]{--surface:#16242a;--surface-muted:#263941;--surface-raised:#203239;--ink:#f5fafb;--ink-muted:#b4c2c8;--number:#1f3037;--function:#213b37;--function-hover:#2b4a44;--operator:#24a0b7;--operator-hover:#1a879c;--equals:#e06b2c;--equals-hover:#bf551d;--danger:#ff8f83;--focus:#8ab4ff;--border:#395159;--display-surface:#0b161a;--display-ink:#fff;--display-muted:#9fb5bd;--display-error:#ffc2ba;--shadow:0 18px 45px #00000047}.calculator-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calculator-toolbar h1{color:var(--ink);margin:0;font-size:1rem;font-weight:800}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.theme-toggle,.mode-toggle{border:1px solid var(--border);background:var(--surface-raised);min-width:72px;min-height:38px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:8px;padding-inline:10px;font-size:.95rem;font-weight:800;transition:background .14s,border-color .14s,color .14s,transform 80ms}.theme-toggle:hover,.mode-toggle:hover,.theme-toggle[aria-pressed=true],.mode-toggle[aria-pressed=true]{background:var(--surface-muted)}.theme-toggle:active,.mode-toggle:active{transform:translateY(1px)}.theme-toggle:focus-visible,.mode-toggle:focus-visible,.formula-input:focus-visible,.formula-submit:focus-visible,.formula-chip:focus-visible,.secondary-button:focus-visible,.history-item:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.display-shell{background:var(--display-surface);min-height:132px;color:var(--display-ink);border-radius:8px;align-content:end;gap:8px;margin-bottom:14px;padding:18px;display:grid}.display{width:100%;min-height:52px;color:var(--display-ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(2rem,10vw,3rem);font-weight:700;line-height:1.08;overflow:hidden}.expression{min-height:20px;color:var(--display-muted);text-align:right;font-size:.95rem}.error-message{min-height:20px;color:var(--display-error);text-align:right;margin:0;font-size:.95rem}.advanced-panel{gap:12px;margin-bottom:14px;display:grid}.advanced-panel[hidden]{display:none}.formula-form{gap:6px;display:grid}.formula-label,.advanced-section-header h2{color:var(--ink-muted);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.formula-entry{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.formula-input{border:1px solid var(--border);background:var(--number);min-width:0;min-height:42px;color:var(--ink);border-radius:8px;padding:8px 10px}.formula-submit,.secondary-button,.formula-chip,.history-item{border:1px solid var(--border);background:var(--surface-raised);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:8px;font-weight:800;transition:background .14s,border-color .14s,color .14s,transform 80ms}.formula-submit{border-color:var(--operator);background:var(--operator);color:#fff;min-height:42px;padding-inline:12px}.formula-submit:hover{background:var(--operator-hover)}.formula-chip:hover,.secondary-button:hover,.history-item:hover{background:var(--surface-muted)}.formula-submit:active,.formula-chip:active,.secondary-button:active,.history-item:active{transform:translateY(1px)}.formula-insertions{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.formula-chip{min-width:0;min-height:34px;padding-inline:4px;font-size:.86rem}.advanced-grid{gap:10px;display:grid}.memory-panel,.history-panel{border-top:1px solid var(--border);gap:8px;padding-top:10px;display:grid}.advanced-section-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.advanced-section-header h2,.memory-value,.history-empty,.storage-status{margin:0}.secondary-button{min-height:34px;padding-inline:10px;font-size:.86rem}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.memory-value,.history-empty,.storage-status{color:var(--ink-muted);font-size:.9rem}.compact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.history-list{gap:6px;max-height:154px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.history-item{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 9px;display:grid}.history-item span,.history-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-item strong{color:var(--operator)}.keypad{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.key{border:1px solid var(--border);background:var(--number);min-height:58px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:8px;font-size:1.2rem;font-weight:700;transition:background .14s,border-color .14s,color .14s,transform 80ms}.key:hover{background:var(--surface-muted)}.key:active{transform:translateY(1px)}.key:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.key.utility{background:var(--surface-raised);color:var(--ink-muted)}.key.function{background:var(--function);color:var(--ink)}.key.function:hover{background:var(--function-hover)}.key.operator{border-color:var(--operator);background:var(--operator);color:#fff}.key.operator:hover{background:var(--operator-hover)}.key.equals{border-color:var(--equals);background:var(--equals);color:#fff;grid-row:span 2}.key.equals:hover{background:var(--equals-hover)}.key.wide{grid-column:span 2}.has-error .display{color:var(--display-error)}@media (width<=420px){#app{align-items:stretch;padding:12px}.calculator{align-self:center;padding:14px}.calculator-toolbar{align-items:flex-start;margin-bottom:12px}.toolbar-actions{gap:6px;max-width:178px}.theme-toggle,.mode-toggle{min-width:82px;min-height:36px;padding-inline:8px;font-size:.86rem}.display-shell{min-height:118px;padding:14px}.keypad{gap:8px}.key{min-height:54px;padding-inline:6px;font-size:1.08rem}.formula-entry{grid-template-columns:1fr}.formula-submit{width:100%}.formula-insertions{grid-template-columns:repeat(4,minmax(0,1fr))}.history-item{grid-template-columns:1fr;gap:2px}}
