:root{--key:#161c33;--key-h:#1f2848;}
  
  
  
  
  
  
  

  
  
  
  
  

  .wrap{max-width:1280px;margin:0 auto;padding:18px 22px 90px;
    display:grid;grid-template-columns:1.55fr 1fr;gap:24px;align-items:start;}
  @media(max-width:980px){.wrap{grid-template-columns:1fr}}

  .panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;
    backdrop-filter:blur(16px);
    box-shadow:0 30px 70px -34px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.04);
    overflow:hidden;}
  .panel-h{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;
    font-family:'Spline Sans Mono',monospace;font-size:11.5px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--dim);}
  .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
  .panel-
  label.fld{display:block;font-family:'Spline Sans Mono',monospace;font-size:10.5px;
    letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}

  /* ===== professional formula input ===== */
  .display{
    background:linear-gradient(180deg,rgba(7,10,20,.85),rgba(10,14,28,.7));
    border:1px solid var(--line2);border-radius:14px;
    min-height:96px;padding:20px 22px;display:flex;align-items:center;
    box-shadow:inset 0 2px 14px rgba(0,0,0,.5);overflow-x:auto;overflow-y:hidden;
    transition:border-color .2s, box-shadow .2s;cursor:text;
  }
  .display.focused{border-color:var(--cyan);box-shadow:inset 0 2px 14px rgba(0,0,0,.5),0 0 0 3px var(--glow)}
  .math{font-family:'STIX Two Math','Newsreader',serif;font-size:30px;color:var(--ink);
    white-space:nowrap;line-height:1.1;width:100%;}
  .math .ph{color:var(--faint);font-style:italic;font-size:24px;font-family:'Newsreader',serif}
  /* math rendering primitives */
  .m-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .12em;}
  .m-frac>.m-num{border-bottom:1.4px solid currentColor;padding:0 .35em 2px}
  .m-frac>.m-den{padding:3px .35em 0}
  .m-sup{font-size:.66em;vertical-align:super;line-height:0}
  .m-sub{font-size:.66em;vertical-align:sub;line-height:0}
  .m-sqrt{display:inline-flex;align-items:stretch;margin:0 .08em}
  .m-sqrt>.m-radical{font-size:1.05em;transform:scaleY(1.25);transform-origin:center;margin-right:.04em}
  .m-sqrt>.m-rad-
  .m-op{margin:0 .16em;color:var(--cyan)}
  .m-eq{margin:0 .26em;color:var(--gold)}
  .m-paren{color:var(--violet)}
  .m-func{font-style:normal;font-family:'Newsreader',serif;margin-right:.02em}
  .m-const{color:var(--gold)}
  .m-num0{color:var(--ink)}
  .m-var{font-style:italic}

  /* hidden real input that drives everything */
  .rawline{display:flex;align-items:center;gap:10px;margin-top:12px}
  #equation{flex:1;background:rgba(7,10,20,.55);border:1px solid var(--line);border-radius:10px;
    padding:11px 14px;color:var(--dim);font-family:'Spline Sans Mono',monospace;font-size:14px;letter-spacing:.02em;}
  #equation:focus{outline:none;border-color:var(--cyan);color:var(--ink);box-shadow:0 0 0 3px var(--glow)}
  #equation::placeholder{color:var(--faint)}
  .rawlabel{font-family:'Spline Sans Mono',monospace;font-size:9.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--faint)}

  .examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
  .chip{font-family:'Spline Sans Mono',monospace;font-size:12px;cursor:pointer;
    background:rgba(169,155,245,.07);border:1px solid var(--line);color:var(--violet);
    padding:7px 12px;border-radius:9px;transition:.18s;}
  .chip:hover{border-color:var(--violet);background:rgba(169,155,245,.15);transform:translateY(-1px)}

  /* ===== scientific keypad ===== */
  .keypad{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}
  .kp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
  @media(max-width:560px){.kp-grid{grid-template-columns:repeat(5,1fr)}}
  .key{font-family:'STIX Two Math','Spline Sans Mono',serif;font-size:17px;
    background:var(--key);border:1px solid var(--line);color:var(--ink);
    border-radius:10px;padding:13px 0;cursor:pointer;transition:.12s;user-select:none;
    display:flex;align-items:center;justify-content:center;min-height:46px;}
  .key:hover{background:var(--key-h);border-color:var(--line2);transform:translateY(-1px)}
  .key:active{transform:translateY(0);background:#243057}
  .key.fn{font-family:'Newsreader',serif;font-style:italic;font-size:16px;color:var(--cyan)}
  .key.op{color:var(--cyan);font-size:19px}
  .key.num{color:var(--ink);font-weight:500;font-family:'Spline Sans Mono',monospace;font-size:16px}
  .key.act{color:var(--gold);font-size:12px;font-family:'Spline Sans Mono',monospace;letter-spacing:.04em}
  .key.danger{color:var(--rose)}

  /* ===== variables ===== */
  .vars{margin-top:22px;display:flex;flex-direction:column;gap:12px}
  .var-row{display:grid;grid-template-columns:auto 1fr 1.15fr;gap:12px;align-items:center;
    background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 15px;
    animation:rise .35s ease both;}
  .var-row.is-const{border-color:rgba(240,198,116,.32);background:rgba(240,198,116,.05)}
  @keyframes rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
  .var-name{font-family:'STIX Two Math',serif;font-style:italic;font-size:25px;color:var(--ink);min-width:44px}
  .var-name sub{font-size:.55em;font-style:normal;vertical-align:sub}
  .var-input{background:rgba(7,10,20,.7);border:1px solid var(--line);border-radius:9px;
    padding:10px 13px;color:var(--ink);font-family:'Spline Sans Mono',monospace;font-size:14px;width:100%;}
  .var-input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--glow)}
  .var-input.const{color:var(--gold)}
  select.var-input{cursor:pointer;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a93b2' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;}
  .var-tag{grid-column:1/-1;font-family:'Spline Sans Mono',monospace;font-size:9.5px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--faint);margin-top:-3px}
  .var-tag.c{color:var(--gold);opacity:.8}
  .var-pick{margin-top:2px}
  .var-pick select{max-width:340px}

  .go{margin-top:22px;width:100%;cursor:pointer;border:none;font-family:'Spline Sans Mono',monospace;
    font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--void);padding:16px;
    border-radius:12px;font-weight:600;background:linear-gradient(118deg,var(--gold),var(--cyan));
    transition:.22s;}
  .go:hover{transform:translateY(-2px);box-shadow:0 14px 36px -10px rgba(98,214,211,.5)}
  .go:active{transform:translateY(0)}
  .err{color:var(--rose);font-family:'Spline Sans Mono',monospace;font-size:13px;padding:10px 0 0;display:none}

  #result{display:none;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
  .res-eq{font-family:'STIX Two Math',serif;color:var(--dim);font-size:18px;margin-bottom:12px}
  .res-value{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,4.5vw,42px);
    color:var(--cyan);letter-spacing:-.01em;word-break:break-word;line-height:1.1}
  .units-grid{display:flex;flex-direction:column;gap:9px;margin-top:20px}
  .unit-line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
    padding:11px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
  .unit-line .u{font-family:'Spline Sans Mono',monospace;font-size:11.5px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}
  .unit-line .v{font-family:'Spline Sans Mono',monospace;font-size:15px;color:var(--ink)}

  .const-search{width:100%;background:rgba(7,10,20,.7);border:1px solid var(--line);border-radius:10px;
    padding:11px 14px;color:var(--ink);font-family:'Spline Sans Mono',monospace;font-size:13.5px;margin-bottom:14px}
  .const-search:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--glow)}
  .const-list{max-height:760px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}
  .const-list::-webkit-scrollbar{width:7px}.const-list::-webkit-scrollbar-thumb{background:var(--line2);border-radius:10px}
  .const-item{padding:12px 15px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);
    transition:.16s;cursor:pointer;position:relative}
  .const-item:hover{border-color:var(--gold);background:rgba(240,198,116,.07);transform:translateY(-2px);
    box-shadow:0 10px 24px -14px rgba(240,198,116,.5)}
  .const-item:active{transform:translateY(0)}
  .const-item:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
  .const-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .const-sym{font-family:'STIX Two Math',serif;font-style:italic;font-size:21px;color:var(--gold)}
  .const-sym sub{font-size:.55em;font-style:normal;vertical-align:sub}
  .const-val{font-family:'Spline Sans Mono',monospace;font-size:12.5px;color:var(--cyan);text-align:right}
  .const-name{color:var(--dim);font-size:13px;margin-top:4px;font-style:italic}
  .const-insert{font-family:'Spline Sans Mono',monospace;font-size:9.5px;letter-spacing:.05em;
    color:var(--cyan);margin-top:6px;opacity:0;transition:.16s;text-transform:uppercase}
  .const-item:hover .const-insert{opacity:.85}
  .const-insert code{background:rgba(98,214,211,.12);padding:1px 5px;border-radius:4px;color:var(--cyan)}

  
  code{font-family:'Spline Sans Mono',monospace}

/* page-specific: fit calculator under the shared site nav */
.calc-wrap{padding-top:0!important}
.calc-intro{max-width:1280px;margin:0 auto;padding:30px 24px 0}
.calc-intro h1{font-family:'Fraunces',serif;font-weight:800;font-size:clamp(30px,5vw,46px);
  letter-spacing:-.02em;background:linear-gradient(118deg,var(--ink) 30%,var(--gold) 70%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.calc-intro p{color:var(--dim);font-size:17px;font-style:italic;margin-top:10px;max-width:620px}


/* Raw-formula writing tips under the live preview */
.raw-tips{margin-top:12px;border:1px solid var(--line);border-radius:11px;
  background:var(--panel2);padding:13px 16px}
.raw-tips-h{font-family:'Spline Sans Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cyan);opacity:.85}
.raw-tips ul{margin:8px 0 0;padding-left:18px}
.raw-tips li{color:var(--dim);font-size:13.5px;margin:5px 0;line-height:1.5}
.raw-tips code{font-family:'Spline Sans Mono',monospace;font-size:12px;color:var(--gold);
  background:rgba(240,198,116,.09);padding:1px 6px;border-radius:5px}
