:root{--page-bg:radial-gradient(120% 120% at 50% 0%, #495460 0%, #2a3037 55%, #14171b 100%);--calc-grad:linear-gradient(180deg, #3b4148 0%, #24282d 58%, #16191c 100%);--calc-border:#474d54;--brand:#eaeff3;--label:#b7c0c9;--slider-bg:#15181b;--lcd-bg:#c5cdba;--lcd-ink:#1f2a1c;--white:#fdfeff;--blue:#e2ebf2;--ink:#2a3744;--pink:#d6356f;--green:#1f8a55;--shadow:0 1px 0 rgba(255,255,255,.7),0 2px 5px rgba(30,50,70,.30);--radius:11px}[data-theme=silver]{--page-bg:radial-gradient(120% 120% at 50% 0%, #aab4bd 0%, #7e8a95 55%, #5a646e 100%);--calc-grad:linear-gradient(180deg, #e7ecf0 0%, #bcc4cb 58%, #a3acb4 100%);--calc-border:#d2d9df;--brand:#2c3a47;--label:#45525d;--slider-bg:#4a5765}[data-theme=white]{--page-bg:radial-gradient(120% 120% at 50% 0%, #d9dee3 0%, #b3bcc4 55%, #8e98a1 100%);--calc-grad:linear-gradient(180deg, #fdfefe 0%, #eef1f4 58%, #dfe4e9 100%);--calc-border:#e7ebef;--brand:#3a4650;--label:#5a6670;--slider-bg:#5d6a76}[data-theme=blue]{--page-bg:radial-gradient(120% 120% at 50% 0%, #aec5dc 0%, #7f9bbb 55%, #5a799b 100%);--calc-grad:linear-gradient(180deg, #dde8f3 0%, #b9cce0 58%, #a3b9d2 100%);--calc-border:#d3e0ee;--brand:#2f4258;--label:#44586e;--slider-bg:#4a5a6e}[data-theme=beige]{--page-bg:radial-gradient(120% 120% at 50% 0%, #d9cab8 0%, #b3a08b 55%, #8c7a66 100%);--calc-grad:linear-gradient(180deg, #efe4d6 0%, #ddccb8 58%, #cbb9a2 100%);--calc-border:#e8ddcd;--brand:#4a3f33;--label:#6b5b49;--slider-bg:#6a5d4d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;min-height:100%;background:var(--page-bg);font-family:"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);display:flex;justify-content:center;align-items:flex-start;padding:max(16px,env(safe-area-inset-top)) 10px calc(16px + env(safe-area-inset-bottom))}.calc{width:100%;max-width:420px;background:var(--calc-grad);border-radius:22px;padding:16px 16px 20px;border:1px solid var(--calc-border);box-shadow:0 16px 50px rgba(20,35,50,.55),inset 0 1px 0 rgba(255,255,255,.85),inset 0 -2px 6px rgba(40,60,80,.25)}.calc__head{position:relative;display:flex;align-items:center;gap:10px;padding:2px 4px 12px}.brand{font-weight:800;font-style:italic;letter-spacing:.5px;font-size:22px;color:var(--brand);text-shadow:0 1px 0 rgba(255,255,255,.25)}.solar{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:22px;background:linear-gradient(180deg,#2a2f33,#0c0e10);border-radius:3px;border:1px solid #44494d;box-shadow:inset 2px 0 0 #1a1d20,inset 14px 0 0 -13px #3a3f44,inset 30px 0 0 -29px #3a3f44,inset 46px 0 0 -45px #3a3f44,inset 62px 0 0 -61px #3a3f44}.model{margin-left:auto;font-weight:700;font-size:13px;color:var(--label);display:flex;align-items:center;gap:5px}.model__digits{display:flex;flex-direction:column;align-items:center;line-height:1;gap:1px}.model b{border-radius:3px;padding:1px 4px;font-size:12px}.model small{font-size:7px;letter-spacing:.5px}@font-face{font-family:DSEG7;src:url("../fonts/DSEG7Classic-BoldItalic.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}.lcd{background:linear-gradient(180deg,#b9c1ad,var(--lcd-bg));border-radius:6px;padding:6px 12px 8px;border:1px solid #8c9684;box-shadow:inset 0 2px 7px rgba(20,30,15,.4);container-type:inline-size;display:flex;flex-direction:column;min-height:74px}.lcd__flags{display:flex;gap:12px;align-items:center;font-size:9px;font-weight:700;color:#6a7560;min-height:12px;letter-spacing:.5px}.flag{opacity:.18;transition:opacity .1s}.flag--on{opacity:1;color:var(--lcd-ink)}.flag--err.flag--on{color:#b00}.flag[data-flag="M"]{margin-left:auto}.lcd__value{text-align:right;font-family:DSEG7,"Courier New",ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:400;font-style:normal;font-size:clamp(20px, 7vw, 28px);font-size:7.5cqi;letter-spacing:.02em;color:var(--lcd-ink);line-height:1.05;margin-top:auto;overflow:hidden;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.3)}.lcd__value .grp{display:inline-block;position:relative;width:.3em;vertical-align:baseline}.lcd__value .grp::before{content:"";position:absolute;left:50%;bottom:.82em;transform:translateX(-50%);border-left:.14em solid transparent;border-right:.14em solid transparent;border-top:.18em solid currentColor;opacity:.9}.controls{display:flex;align-items:flex-start;gap:8px;margin:10px 2px 14px}.sliders{display:flex;gap:12px;min-width:0}.switch{display:flex;flex-direction:column;gap:4px}.switch__caps{display:flex;gap:1px;padding:0 3px}.switch__caps span{flex:1;min-width:0;text-align:center;white-space:nowrap;font-size:9px;font-weight:700;color:var(--label);letter-spacing:.3px}.switch__caps sub{font-size:7px}.taxgroup{display:flex;flex-direction:column;align-items:center;gap:4px;margin-left:auto}.faceplate__tax{font-size:9px;font-weight:700;color:var(--label);letter-spacing:.3px;white-space:nowrap}.slider{display:flex;background:var(--slider-bg);border-radius:7px;padding:3px;gap:1px;box-shadow:inset 0 1px 3px rgba(0,0,0,.5)}.slider__opt{flex:1;min-width:0;border:0;background:0 0;color:#c4d0db;font-size:10px;font-weight:700;padding:4px 7px;border-radius:5px;cursor:pointer;transition:background .1s,color .1s}#dec-switch .slider__opt,#round-switch .slider__opt{padding-left:4px;padding-right:4px}#round-switch .slider__opt:first-child,.switch:first-child .switch__caps span:first-child{flex:0 0 26px}#round-switch .slider__opt:nth-child(2),.switch:first-child .switch__caps span:nth-child(2){flex:0 0 46px}#round-switch .slider__opt:nth-child(3),.switch:first-child .switch__caps span:nth-child(3){flex:0 0 38px}.slider__opt[aria-checked=true]{background:linear-gradient(180deg,#eef3f7,#cfd9e1);color:#2a3744;box-shadow:0 1px 2px rgba(0,0,0,.4)}.taxkeys{display:flex;gap:6px}.keypad{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:50px;gap:14px;margin-top:6px}.cell{position:relative;display:flex}.cell .key{flex:1;width:100%;height:100%}.cap{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:700;color:var(--label);letter-spacing:.4px;white-space:nowrap;pointer-events:none;z-index:2}.cell--on .cap.left-cap{left:-8px;top:50%;transform:translate(-50%,-50%);font-size:6px}.cell--on .cap{left:1px;transform:none}.key{position:relative;border:0;border-radius:var(--radius);padding:0;font-size:19px;font-weight:700;color:var(--ink);background:linear-gradient(180deg,var(--blue) 0,#cdd9e3 100%);box-shadow:var(--shadow);cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:center;transition:transform .05s,filter .1s}.key--active,.key:active{transform:translateY(1px);filter:brightness(.95)}.key--num{background:linear-gradient(180deg,var(--white) 0,#eef2f6 100%);font-size:22px}.key--op{background:linear-gradient(180deg,#dbe6ef,#bccdda);font-size:23px}.key--fn{font-size:15px;color:#2f3d49}.key--clear{color:var(--pink);font-size:18px}.key--tax{background:linear-gradient(180deg,#e7eff5,#c8d6e0);color:var(--green);font-size:14px;padding:7px 11px;border-radius:13px}.key--equals{background:linear-gradient(180deg,var(--white) 0,#e7ebef 100%);font-size:24px}.key--plus{grid-row:span 2;font-size:26px}.help-btn{display:block;margin:16px auto 0;background:0 0;border:0;color:var(--label);font-size:12px;text-decoration:underline;cursor:pointer}.help{border:0;border-radius:14px;max-width:380px;width:90%;background:#29313b;color:#e6ebf1;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.6)}.help::backdrop{background:rgba(0,0,0,.55)}.help__head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.help h2{margin:0;font-size:17px;flex:1;line-height:1.3}.help__lang{display:flex;gap:4px;flex:0 0 auto}.help__lang-btn{background:#3a4654;color:#c7d0db;border:0;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.help__lang-btn--on{background:#e7b54a;color:#2a2017}.help__body p{margin:0 0 12px;font-size:13px;line-height:1.55;color:#c7d0db}.help ul{margin:0 0 16px;padding-left:18px;line-height:1.55;font-size:13px}.help li{margin-bottom:6px}.help b{color:#e7b54a}.help__close{background:#4a5765;color:#fff;border:0;border-radius:8px;padding:9px 18px;font-weight:700;cursor:pointer;float:right}.settings-btn{position:fixed;z-index:20;top:max(10px,env(safe-area-inset-top));right:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(20,28,36,.55);color:#eef3f7;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-btn:active{transform:translateY(1px)}.settings-btn svg{width:20px;height:20px}.sheet{border:0;border-radius:14px;max-width:340px;width:90%;background:#29313b;color:#e6ebf1;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.6)}.sheet::backdrop{background:rgba(0,0,0,.55)}.sheet__head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sheet__head h2{margin:0;font-size:17px;flex:1}.sheet__close{background:#3a4654;color:#c7d0db;border:0;border-radius:8px;width:30px;height:30px;font-size:18px;line-height:1;cursor:pointer}.set-label{font-size:12px;font-weight:700;color:#aab4bf;margin-bottom:10px;letter-spacing:.3px}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.theme{display:flex;flex-direction:column;align-items:center;gap:6px;background:0 0;border:0;padding:4px;border-radius:10px;cursor:pointer}.theme__sw{width:100%;aspect-ratio:1/1;border-radius:10px;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.theme__name{font-size:11px;font-weight:700;color:#c7d0db}.theme--on{outline:#e7b54a solid 2px;outline-offset:2px}.theme--on .theme__name{color:#e7b54a}.theme__sw[data-sw=black]{background:linear-gradient(180deg,#3b4148,#16191c)}.theme__sw[data-sw=silver]{background:linear-gradient(180deg,#e7ecf0,#a3acb4)}.theme__sw[data-sw=white]{background:linear-gradient(180deg,#fdfefe,#dfe4e9)}.theme__sw[data-sw=blue]{background:linear-gradient(180deg,#dde8f3,#a3b9d2)}.theme__sw[data-sw=beige]{background:linear-gradient(180deg,#efe4d6,#cbb9a2)}@media (max-width:360px){.keypad{grid-auto-rows:44px;gap:10px}.key{font-size:17px}.key--num{font-size:19px}.sliders{gap:10px}.slider__opt{padding:4px 5px}}