:root{color:#e8eaf0;font-synthesis:none;--bg:#11131a;--panel:#191c25;--panel-2:#20232d;--border:#2b303d;--text:#e8eaf0;--muted:#8d93a3;--accent:#b9f35a;--accent-2:#a5db4d;--lav:#b9a7ff;--danger:#f77;--shadow:0 20px 60px #0004;background:#11131a;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 0,#26334655,transparent 36%),var(--bg);min-width:320px;margin:0}.app-shell{min-height:100vh;padding:28px clamp(16px,4vw,64px) 40px}.topbar{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto 28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--accent);color:#111;border-radius:13px;place-items:center;width:40px;height:40px;font:800 24px Georgia;display:grid;transform:rotate(-8deg);box-shadow:0 0 24px #b9f35a33}.brand strong{letter-spacing:.16em;font-size:14px;display:block}.brand small{color:var(--muted);letter-spacing:.12em;margin-top:2px;font:500 9px DM Mono,monospace;display:block}.top-actions{gap:8px;display:flex}.icon-btn,.text-btn,.close-btn{color:var(--muted);cursor:pointer;background:0 0;border:0}.icon-btn{border-radius:10px;padding:9px;font-size:19px}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.workspace{grid-template-columns:minmax(560px,2fr) minmax(280px,1fr);gap:24px;max-width:1280px;margin:auto;display:grid}.calculator-card,.side-panel{background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px}.calculator-card{padding:22px}.display-wrap{border:1px solid var(--border);background:linear-gradient(145deg,#1e222d,#151820);border-radius:18px;flex-direction:column;align-items:stretch;min-height:216px;padding:19px 22px 14px;display:flex}.display-meta{color:var(--muted);align-items:center;gap:10px;font:11px DM Mono,monospace;display:flex}.mode-pill{color:#131711;background:var(--accent);border-radius:5px;padding:4px 7px;font-weight:600}.memory-indicator{color:var(--lav);font-weight:700}.display-hint{white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.expression{min-height:55px;color:var(--muted);word-break:break-all;text-align:right;margin-top:22px;font:500 clamp(20px,3vw,31px) DM Mono,monospace}.result{text-align:right;letter-spacing:-.06em;color:var(--text);word-break:break-all;font:500 clamp(34px,5vw,54px) DM Mono,monospace}.result-error{color:var(--danger);font-size:30px}.display-tools{justify-content:flex-end;gap:8px;margin-top:auto;display:flex}.display-tools button{color:var(--muted);cursor:pointer;background:0 0;border:0;font:11px DM Mono,monospace}.display-tools button:hover{color:var(--accent)}.angle-row{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;justify-content:space-between;align-items:center;padding:19px 2px 12px;font:11px DM Mono,monospace;display:flex}.segmented{background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding:3px;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 11px;font:11px DM Mono,monospace}.segmented button.active{background:var(--lav);color:#171525;font-weight:700}.memory-row{grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 12px;display:grid}.memory-row button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:9px;font:11px DM Mono,monospace}.memory-row button:hover{color:var(--accent)}.scientific-grid{border-bottom:1px solid var(--border);grid-template-columns:repeat(6,1fr);gap:8px;padding-bottom:16px;display:grid}.key{border:1px solid var(--border);background:var(--panel-2);height:49px;color:var(--text);cursor:pointer;border-radius:12px;font:500 16px DM Mono,monospace;transition:transform .12s,background .12s,border-color .12s}.key:hover{background:#2a2e3a;border-color:#4a5163}.key:active{transform:scale(.94)}.scientific{color:#c6bfef;background:#242331;height:39px;font-size:12px}.scientific:hover{background:#302e42;border-color:#6a5f99}.basic-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding-top:16px;display:grid}.basic-grid .utility{color:var(--lav)}.operator{color:var(--accent);font-size:21px}.clear{color:var(--danger);background:#34272d}.equals{color:#101510;background:var(--accent);border-color:var(--accent);grid-column:3/5;font-size:24px}.equals:hover{background:var(--accent-2);border-color:var(--accent-2)}.side-panel{flex-direction:column;min-height:100%;padding:24px;display:flex}.side-heading{justify-content:space-between;align-items:flex-start;display:flex}.eyebrow{letter-spacing:.17em;color:var(--accent);font:500 10px DM Mono,monospace;display:block}.side-heading h2,.modal h2{letter-spacing:-.04em;margin:7px 0 0;font-size:20px}.text-btn{color:var(--lav);font:11px DM Mono,monospace}.text-btn:hover{color:var(--text)}.history-list,.modal-history{flex-direction:column;gap:5px;margin-top:22px;display:flex}.history-item{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:space-between;align-items:center;padding:13px 11px;font-family:DM Mono,monospace;display:flex}.history-item:hover{background:var(--panel-2);border-color:var(--border)}.history-item span{white-space:nowrap;text-overflow:ellipsis;max-width:65%;font-size:12px;overflow:hidden}.history-item strong{color:var(--text);font-size:14px;font-weight:500}.empty-history{text-align:center;color:var(--muted);flex:1;place-content:center;min-height:240px;display:grid}.empty-history span{color:var(--border);font-size:45px}.empty-history p{color:var(--text);margin:14px 0 5px;font-size:14px}.empty-history small{font:11px DM Mono,monospace}.tip-card{background:#232b2b;border:1px solid #3c4552;border-radius:14px;margin-top:auto;padding:15px}.tip-card span{color:var(--accent);font:500 10px DM Mono,monospace}.tip-card p{color:#b5bdc3;margin:8px 0 0;font-size:12px;line-height:1.6}.tip-card kbd{color:var(--text);border:1px solid #59615e;border-radius:4px;padding:2px 5px;font:10px DM Mono,monospace}.modal-backdrop{z-index:5;background:#08090dcc;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:20px;width:min(520px,100%);max-height:88vh;padding:24px;overflow:auto;box-shadow:0 30px 100px #0008}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.close-btn{font-size:26px;line-height:1}.danger-btn{color:#ff9898;cursor:pointer;background:#34272d;border:1px solid #66373f;border-radius:10px;width:100%;margin-top:20px;padding:12px;font:11px DM Mono,monospace}.muted{color:var(--muted);font:13px DM Mono,monospace}.setting-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:17px 0;font-size:13px;display:flex}.setting-row span{color:var(--text)}.setting-row small{color:var(--muted);margin-top:4px;font:10px DM Mono,monospace;display:block}.setting-row select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px;font:11px DM Mono,monospace}.setting-row input{accent-color:var(--accent);width:18px;height:18px}@media (width<=900px){.workspace{grid-template-columns:1fr}.side-panel{min-height:250px}.empty-history{min-height:140px}.tip-card{margin-top:18px}}@media (width<=620px){.app-shell{padding:14px 10px 28px}.topbar{margin-bottom:14px}.calculator-card{border-radius:18px;padding:11px}.display-wrap{min-height:182px;padding:14px}.display-hint{display:none}.angle-row{padding-top:14px}.segmented button{padding:7px 8px}.scientific-grid,.basic-grid{gap:5px}.key{border-radius:10px;height:46px}.scientific{height:36px;font-size:11px}.side-panel{display:none}.brand strong{font-size:12px}.top-actions{gap:0}}html[data-theme=light]{--bg:#eef0f4;--panel:#fff;--panel-2:#f0f2f7;--border:#dfe2e9;--text:#22242c;--muted:#777d8d;--shadow:0 20px 60px #30364718}html[data-theme=light] body{background:radial-gradient(circle at 12% 0,#dce5f555,transparent 36%),var(--bg)}html[data-theme=light] .display-wrap{background:linear-gradient(145deg,#f8f9fc,#eef0f6)}html[data-theme=light] .scientific{background:#eeeafb}html[data-theme=light] .tip-card{background:#eef6e9;border-color:#d4e4cf}
