body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg: #111318;--panel: #1a1d24;--panel-alt: #151820;--display: #0d1117;--text: #f3f4f6;--muted: #a7adba;--accent: #14b8a6;--accent-2: #6366f1;--accent-3: #f59e0b;--danger: #fb7185;--border: rgba(255, 255, 255, .09);--shadow: 0 18px 45px rgba(0, 0, 0, .28);--button: #242832;--button-hover: #2d3340}body[data-theme=contrast]{--bg: #05070a;--panel: #0b0f16;--panel-alt: #080b11;--display: #000;--text: #f8fafc;--muted: #d6dbe5;--accent: #f59e0b;--accent-2: #fb7185;--accent-3: #22d3ee;--border: rgba(245, 158, 11, .25);--button: #11151d;--button-hover: #1a2230}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overscroll-behavior:none}.page{max-width:1080px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top)) 18px calc(56px + env(safe-area-inset-bottom))}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.header h1{margin:4px 0;font-size:34px;letter-spacing:0;line-height:1.05}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--muted)}.tagline{margin:8px 0 0;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(280px,.85fr);gap:14px}.calculator-wrapper{background:var(--panel);border-radius:8px;padding:18px;box-shadow:var(--shadow),0 0 0 1px var(--border);border:1px solid var(--border);outline:none}.display{background:var(--display);border:1px solid var(--border);border-radius:8px;padding:12px 14px;box-shadow:inset 0 1px #ffffff0d;margin-bottom:14px}.expression{min-height:24px;font-size:16px;color:var(--muted);text-align:right;word-wrap:break-word;overflow-wrap:anywhere}.result-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.result{font-size:32px;font-weight:700;letter-spacing:0;text-align:right;flex:1;overflow-wrap:anywhere}.display-actions{display:flex;align-items:center;gap:10px}.status{min-width:88px;font-size:12px;color:var(--muted)}.preview{margin-top:6px;font-size:14px;color:var(--muted)}.error{margin-top:8px;color:var(--danger);font-size:14px}.buttons-group{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.buttons-group button{height:52px;border-radius:8px;border:1px solid var(--border);background:var(--button);color:var(--text);font-size:18px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease;box-shadow:0 10px 30px #0000002e}.buttons-group button:hover{transform:translateY(-2px);background:var(--button-hover);box-shadow:0 12px 35px #0000004d}.buttons-group button:active{transform:translateY(0)}.buttons-group button.operator{background:var(--accent-2);color:#eef2ff}.buttons-group button.control{background:#0891b2;color:#ecfeff}.buttons-group button.memory{background:#059669;color:#ecfdf3}.buttons-group button.function{background:var(--accent-3);color:#fff7ed}.buttons-group button.equals{grid-column:span 2;background:var(--accent);color:#042f2e}.calculator-wrapper:focus-visible{box-shadow:0 0 0 3px #0ea5e959,var(--shadow)}.buttons-group button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 3px #0ea5e940}.panel{background:var(--panel-alt);border-radius:8px;padding:16px;box-shadow:var(--shadow),0 0 0 1px var(--border);border:1px solid var(--border)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.panel h2{margin:0 0 4px}.muted{color:var(--muted);margin:0}.history ol{padding-left:20px;margin:10px 0 0}.history li{margin-bottom:10px;color:var(--text)}.history-expression{font-weight:600}.history-result{color:var(--muted)}.help ul{list-style:none;padding:0;margin:10px 0}.help li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--border);padding:6px 0}.help li span{color:var(--muted)}.ghost{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer;transition:background .12s ease,color .12s ease,border .12s ease}.ghost:hover{background:var(--button-hover);border-color:var(--accent)}.toggles{display:flex;gap:10px}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;position:absolute;white-space:nowrap}@media(max-width:900px){.layout{grid-template-columns:1fr}}@media(max-width:540px){.buttons-group{grid-template-columns:repeat(4,minmax(0,1fr))}.buttons-group button{height:60px;font-size:16px;touch-action:manipulation}.header{flex-direction:column}.page{padding:calc(18px + env(safe-area-inset-top)) 12px calc(28px + env(safe-area-inset-bottom))}.calculator-wrapper,.panel{padding:12px}.result-row{align-items:flex-end;flex-direction:column}.display-actions{width:100%;justify-content:flex-end}}
