:root{--tone-0:#00000010;--tone-1:#00000030;--tone-2:#215a5012;--tone-3:#568c8733;--tone-4:#0c1420;--tone-5:#0c2922;--tone-6:#0d1119;--tone-7:#101824;--tone-8:#101b28;--tone-9:#111722;--tone-10:#14232d;--tone-11:#172635;--tone-12:#1a2331;--tone-13:#1c2635;--tone-14:#215a50;--tone-15:#223932;--tone-16:#233d40;--tone-17:#243041;--tone-18:#252e3e;--tone-19:#253c39;--tone-20:#254a42;--tone-21:#28364a;--tone-22:#293244;--tone-23:#2b3546;--tone-24:#2c374a;--tone-25:#314453;--tone-26:#31483f;--tone-27:#326155;--tone-28:#354359;--tone-29:#3b4e63;--tone-30:#3c2e31;--tone-31:#3e756a;--tone-32:#412a31;--tone-33:#568c87;--tone-34:#63d9b3;--tone-35:#65dcb7;--tone-36:#6ee7c1;--tone-37:#76cdb6;--tone-38:#85edc9;--tone-39:#87d8c1;--tone-40:#89e3cc;--tone-41:#8aa5b4;--tone-42:#8b9cb1;--tone-43:#93e4c8;--tone-44:#94a4b9;--tone-45:#94a4ba;--tone-46:#9aa8bc;--tone-47:#9aa9bf;--tone-48:#9aabc1;--tone-49:#9aafbf;--tone-50:#9caec4;--tone-51:#9cebd3;--tone-52:#9daabd;--tone-53:#a1b2c9;--tone-54:#a7b8cb;--tone-55:#a9c4d0;--tone-56:#acbdd3;--tone-57:#adf4da;--tone-58:#b5c3d4;--tone-59:#b7f7df;--tone-60:#bbd5df;--tone-61:#d1e0ee;--tone-62:#d4e2f3;--tone-63:#e3eaf2;--tone-64:#f1b49e;--tone-65:#ffaea3;--tone-66:#ffb4a4;--tone-67:#0003;--tone-68:#fff;}
:root[data-theme="light"]{--tone-0:#00000010;--tone-1:#233a2510;--tone-2:#234d3b12;--tone-3:#79a68b33;--tone-4:#f0f3eb;--tone-5:#fff;--tone-6:#f4f6f2;--tone-7:#f0f2ed;--tone-8:#fff;--tone-9:#fafbf8;--tone-10:#eef5ef;--tone-11:#e4eee5;--tone-12:#fff;--tone-13:#f7f8f4;--tone-14:#234d3b;--tone-15:#edf2e8;--tone-16:#eaf0e2;--tone-17:#f2f4ef;--tone-18:#dde3db;--tone-19:#e4eadf;--tone-20:#dcece0;--tone-21:#dce5d5;--tone-22:#dce3d9;--tone-23:#e0e7d9;--tone-24:#d6dfd3;--tone-25:#d4e2d5;--tone-26:#fff;--tone-27:#c9e1cf;--tone-28:#dce4d7;--tone-29:#bdcfbf;--tone-30:#fcf0e8;--tone-31:#a1c1ac;--tone-32:#fff0ec;--tone-33:#79a68b;--tone-34:#28553f;--tone-35:#315d44;--tone-36:#35866a;--tone-37:#44765e;--tone-38:#183f2c;--tone-39:#54764b;--tone-40:#54723d;--tone-41:#607458;--tone-42:#697c63;--tone-43:#3c6230;--tone-44:#68765f;--tone-45:#65755c;--tone-46:#5e6e65;--tone-47:#617166;--tone-48:#657660;--tone-49:#5e7564;--tone-50:#63755d;--tone-51:#315640;--tone-52:#617166;--tone-53:#65755c;--tone-54:#5d7055;--tone-55:#496653;--tone-56:#53664b;--tone-57:#28553f;--tone-58:#56694d;--tone-59:#20352e;--tone-60:#344a39;--tone-61:#304938;--tone-62:#394834;--tone-63:#20352e;--tone-64:#9b5c36;--tone-65:#ac3e38;--tone-66:#ae4c3c;--tone-67:#233a2510;--tone-68:#fff;color-scheme:light}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tone-63);background:var(--tone-6);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--tone-36);outline-offset:3px}.header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--tone-18);background:var(--tone-9)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:750;font-size:21px;color:inherit;letter-spacing:-.7px}.brand-icon{background:var(--tone-14);color:var(--tone-68);width:36px;height:36px;border-radius:10px;display:grid;place-content:center;position:relative;font-size:25px}.brand-icon span{font-size:13px;position:absolute;right:3px;top:1px}.header-note{font-size:13px;color:var(--tone-46)}main{max-width:1600px;margin:auto;padding:55px 5% 30px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--tone-37);font-weight:750}h1{font-size:36px;letter-spacing:-1.7px;margin:13px 0}p{color:var(--tone-52);font-size:14px;line-height:1.8;margin:0}.primary{border:0;background:var(--tone-34);color:white;border-radius:9px;padding:15px 21px;font-weight:650;white-space:nowrap;box-shadow:0 4px 10px var(--tone-2)}.primary:hover{background:var(--tone-38)}.toolbar{display:flex;justify-content:space-between;border-bottom:1px solid var(--tone-22);padding-bottom:17px;margin-bottom:24px;font-size:13px}.toolbar>span:first-child{display:flex;align-items:center;gap:8px;font-weight:650}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--tone-34)}.badge{background:var(--tone-19);padding:2px 7px;border-radius:5px;font-size:11px}#save-status{font-size:11px;color:var(--tone-47)}#workspace{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:22px;align-items:start}.calculator{min-width:0;border:1px solid var(--tone-24);border-radius:15px;background:var(--tone-12);box-shadow:0 5px 18px var(--tone-1);overflow:hidden}.calc-head{display:flex;align-items:center;gap:9px;padding:18px 18px 14px}.calc-number{font-size:10px;color:var(--tone-39);background:var(--tone-15);border-radius:5px;padding:5px 6px;font-weight:700}.name{border:0;background:transparent;min-width:0;width:100%;font-weight:650;color:var(--tone-63);font-size:14px;padding:3px}.remove{border:0;background:transparent;color:var(--tone-48);font-size:21px;border-radius:4px}.remove:hover{color:var(--tone-65);background:var(--tone-32)}.display{margin:0 17px;background:var(--tone-4);border:1px solid var(--tone-21);border-radius:9px;padding:16px 15px 12px;min-height:123px}.display-top{display:flex;justify-content:space-between;color:var(--tone-41);font-size:9px;letter-spacing:1px}.expression{border:0;outline:none;background:transparent;width:100%;color:var(--tone-60);font-family:ui-monospace,monospace;font-size:18px;text-align:right;padding:13px 0 7px}.result{text-align:right;font-size:29px;letter-spacing:-1px;font-family:ui-monospace,monospace;overflow-wrap:anywhere;min-height:35px}.result.error{font-size:13px;color:var(--tone-66);letter-spacing:0}.modes{display:flex;align-items:center;justify-content:space-between;margin:13px 18px;font-size:10px;color:var(--tone-50)}.toggle{display:flex;background:var(--tone-7);padding:3px;border-radius:6px;gap:2px}.toggle button{border:0;border-radius:4px;background:transparent;font-size:10px;color:var(--tone-50);padding:5px 9px}.toggle button.active{background:var(--tone-26);color:var(--tone-51);box-shadow:0 1px 4px var(--tone-0);font-weight:700}.keys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:0 17px 18px}.key{min-height:41px;border:1px solid transparent;background:var(--tone-17);border-radius:7px;color:var(--tone-62);font-size:14px}.key:hover{filter:brightness(.95)}.key.function{font-size:12px;color:var(--tone-56);background:var(--tone-13)}.key.number{background:var(--tone-12);border-color:var(--tone-28);font-weight:600}.key.operator{background:var(--tone-16);color:var(--tone-40);font-size:18px}.key.clear{background:var(--tone-30);color:var(--tone-64);font-size:12px}.key.equals{background:var(--tone-35);color:var(--tone-68);font-size:20px}.history{border-top:1px solid var(--tone-23);padding:14px 18px 17px}.history-label{display:flex;justify-content:space-between;font-size:10px;color:var(--tone-53);margin-bottom:10px}.clear-history{border:0;background:none;color:var(--tone-53);font-size:10px;padding:0}.history-items{height:80px;overflow-y:auto}.history-empty{font-size:11px;color:var(--tone-44);padding-top:14px;text-align:center}.history-item{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;background:none;padding:7px 0;font-family:ui-monospace,monospace;font-size:11px;color:var(--tone-54);text-align:left}.history-item span{overflow-wrap:anywhere}.history-item strong{color:var(--tone-43);overflow-wrap:anywhere;text-align:right}.help{margin-top:30px;border:1px solid var(--tone-24);border-radius:9px;padding:16px 20px}.help summary{font-size:12px;cursor:pointer;color:var(--tone-58)}.help p{font-size:12px;margin-top:12px}footer{max-width:1600px;padding:20px 5% 30px;margin:auto;display:flex;justify-content:space-between;color:var(--tone-45);font-size:10px}footer span:first-child{font-weight:700}@media(min-width:1500px){#workspace{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:730px){.header{height:70px}.header-note{display:none}main{padding-top:30px}.intro{align-items:flex-start;flex-direction:column;margin-bottom:27px}h1{font-size:30px}.primary{width:100%}#workspace{grid-template-columns:1fr}.toolbar{font-size:12px}#save-status{font-size:10px}}

:root{color-scheme:dark}body{background:radial-gradient(ellipse at 50% 0,var(--tone-11) 0,transparent 65%),var(--tone-6)}.primary,.key.equals{color:var(--tone-5);font-weight:750}.key:hover{filter:brightness(1.18)}.calculator:focus-within{border-color:var(--tone-33);box-shadow:0 0 0 1px var(--tone-3),0 8px 25px var(--tone-67)}.expression::placeholder,.name::placeholder{color:var(--tone-42)}.result{color:var(--tone-59)}.result-import{margin:0 17px 15px;padding:12px;border:1px solid var(--tone-25);border-radius:8px;background:var(--tone-10)}.result-import label{display:block;font-size:11px;font-weight:600;color:var(--tone-55);margin-bottom:8px}.import-controls{display:flex;gap:7px}.result-source{min-width:0;flex:1;width:100%;padding:8px;border:1px solid var(--tone-29);border-radius:5px;background:var(--tone-8);color:var(--tone-61);font-size:11px}.import-button{border:1px solid var(--tone-31);border-radius:5px;background:var(--tone-20);color:var(--tone-57);padding:8px 10px;font-size:11px;white-space:nowrap}.import-button:hover{background:var(--tone-27)}.import-button:disabled,.result-source:disabled{opacity:.5;cursor:default}.import-note{font-size:10px;color:var(--tone-49);margin-top:8px;line-height:1.5}

.header-actions{display:flex;align-items:center;gap:22px}.theme-switch{display:flex;gap:3px;padding:4px;border:1px solid var(--theme-border,#354359);border-radius:9px;background:var(--theme-bg,#101824)}.theme-switch button{border:0;background:transparent;border-radius:5px;padding:7px 10px;font-size:12px;color:var(--theme-muted,#a7b8cb)}.theme-switch button[aria-pressed="true"]{background:var(--theme-active,#31483f);color:var(--theme-text,#adf4da);font-weight:700}:root[data-theme="light"]{--theme-border:#d6dfd3;--theme-bg:#eaf0e7;--theme-muted:#5d7055;--theme-active:#fff;--theme-text:#28553f}@media(max-width:480px){.brand{font-size:16px;gap:7px}.brand-icon{width:30px;height:30px}.theme-switch button{font-size:11px;padding:7px}.header-actions{gap:0}.header{padding:0 4%}}

/* Keep the introduction compact so calculators sit closer to the top. */
.header{height:72px}
main{padding-top:32px}
.intro{margin-bottom:26px}
h1{font-size:32px;margin:10px 0}
.eyebrow{position:relative;top:-5px}
.toolbar{padding-bottom:13px;margin-bottom:18px}
@media(max-width:730px){
  .header{height:64px}
  main{padding-top:24px}
  .intro{gap:18px;margin-bottom:22px}
  h1{font-size:30px}
}

#workspace{display:block}
.calculator-row{margin:0 0 22px;min-width:0}
.calculator-row>.row-toggle{display:flex;width:100%;text-align:left;font-family:inherit;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:10px 12px;margin-bottom:12px;border:1px solid var(--tone-24);border-radius:8px;background:var(--tone-9);color:var(--tone-63);font-size:12px;font-weight:650}
.row-range{font-size:11px;font-weight:400;color:var(--tone-47)}
.row-action{margin-left:auto;color:var(--tone-39);font-size:11px}
.calculator-row-body{display:grid;gap:22px;align-items:start;min-width:0}

.import-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-bottom:8px;font-size:11px;font-weight:600;color:var(--tone-55)}
.import-description{font-size:10px;font-weight:400;color:var(--tone-49);line-height:1.5}
.import-note:empty{display:none}

.modes{justify-content:flex-start;gap:10px;flex-wrap:wrap}
.result.radix-result{white-space:nowrap;overflow-x:auto;overflow-wrap:normal;scrollbar-width:thin}

.grouping-toggle{min-width:28px}.grouping-toggle:disabled{opacity:.45;cursor:default}

/* Keep the expression focus ring within its own area, above the result. */
.expression{display:block;margin-bottom:6px;border-radius:5px;padding-left:0;padding-right:0}
.expression:focus-visible{outline:none}
.expression-frame{position:relative}
.expression-frame:focus-within::after{content:"";position:absolute;inset:0 -6px;border:2px solid var(--tone-36);border-radius:5px;pointer-events:none}

.keys[hidden],.result-import[hidden],.history[hidden]{display:none}
