:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{--bg:#101010;--panel:#050505;--key:#292929;--text:#fff;--muted:#929292;--accent:#ff9f0a;--operator:#fff;--utility:#555;--radius:50px;margin:0;background:var(--bg);color:var(--text);min-height:100svh}body[data-theme=samsung]{color-scheme:light;--bg:#efedf6;--panel:#f8f7fc;--key:#e9e5f3;--text:#242236;--muted:#777285;--accent:#b1ecd8;--operator:#184d3d;--utility:#dcd5ee;--radius:24px}body[data-theme=aurora]{--bg:#080e20;--panel:#101a32;--key:#202940;--text:#efffff;--muted:#94a6bd;--accent:#77e5de;--operator:#082c35;--utility:#34304f;--radius:22px;background:radial-gradient(ellipse at 25% 30%,#143c4c,transparent 55%),radial-gradient(ellipse at 85% 70%,#2b1855,transparent 55%),var(--bg)}body[data-theme=black]{--bg:#050505;--panel:#090909;--key:#141414;--text:#fff;--muted:#999;--accent:#eee;--operator:#111;--utility:#222;--radius:18px}body[data-theme=white]{color-scheme:light;--bg:#f1efe9;--panel:#fffdf8;--key:#f2efe8;--text:#252525;--muted:#817e77;--accent:#292929;--operator:#fff;--utility:#e8e4dc;--radius:18px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header,footer{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;color:var(--muted);font-size:12px}header a{font-size:16px;font-weight:600;text-decoration:none;color:var(--text)}header a span{font-weight:400;color:var(--muted)}main{min-height:calc(100svh - 145px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}.calculator{width:100%;max-width:390px;padding:24px;background:var(--panel);border:1px solid #8882;border-radius:36px;box-shadow:0 24px 80px #0002}nav{display:flex;justify-content:space-between}nav button,.screen button{background:transparent;color:var(--muted);font-size:20px}nav span{font-size:12px;margin-left:4px}.screen{padding:38px 0 16px;text-align:right;min-width:0}#expression{font-size:15px;color:var(--muted);height:24px;overflow:auto;white-space:nowrap}output{display:block;font-size:clamp(32px,10vw,64px);font-weight:300;letter-spacing:-2px;line-height:1.3;overflow-x:auto;white-space:nowrap;min-height:84px}.screen button{padding:8px}.keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.keys button{background:var(--key);border-radius:var(--radius);height:70px;font-size:28px;font-weight:400;transition:filter .15s,transform .1s}.keys button:active{transform:scale(.94);filter:brightness(1.4)}.keys .utility{background:var(--utility)}.keys .operator{background:var(--accent);color:var(--operator)}.keys .zero{grid-column:span 2;text-align:left;padding-left:28px}.hint{text-align:center;font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0 0}.hint span{opacity:.65}footer{letter-spacing:2px;font-size:10px}dialog{width:min(420px,calc(100% - 32px));max-height:85svh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid #8884;border-radius:24px;padding:24px}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}h2{font-size:23px;margin:0}.dialog-head button{font-size:30px;background:none}dialog p{color:var(--muted);font-size:14px}#themes{display:grid;gap:10px}#themes button,#clearHistory{padding:16px;border-radius:12px;background:var(--key);text-align:left}#themes button[aria-pressed=true]{outline:2px solid var(--accent)}.small{font-size:12px}#historyList{padding:20px 0;overflow-wrap:anywhere}#historyList div{padding:14px 0;border-bottom:1px solid #8883}#historyList small{display:block;color:var(--muted);margin-bottom:6px}@media(max-width:480px){header{padding:20px}.tag{display:none}main{padding:0 16px;min-height:calc(100svh - 110px)}.calculator{border:0;box-shadow:none;border-radius:24px;padding:20px;width:100%}.hint{display:none}footer{padding:20px}.keys button{height:clamp(56px,9svh,76px)}.screen{padding-top:24px}}@media(max-height:550px) and (min-width:500px){main{padding:12px;min-height:0}.calculator{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}nav{grid-column:1/-1}.keys button{height:44px;font-size:22px}.screen{align-self:center}.hint,footer{display:none}header{padding:14px 5vw}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
