:root{
  --charcoal:#23262b;
  --charcoal-2:#2c3028;
  --parchment:#ece6d6;
  --parchment-2:#e2dac4;
  --olive:#4a5a3a;
  --olive-dark:#374429;
  --brass:#ab7a3d;
  --rust:#7c3626;
  --ink:#2a2620;
  --ink-soft:#544f43;
  --line:#c9c0a5;
}

.calc-widget{
  background:#fff;
  border:1px solid var(--line);
  padding:24px;
  max-width:420px;
  margin:0 auto;
  font-family:'IBM Plex Sans',sans-serif;
  box-sizing:border-box;
}
.calc-widget *{box-sizing:border-box;}
.calc-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--brass);
  display:block;
  margin-bottom:14px;
}
.calc-field{margin-bottom:14px;}
.calc-field label{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:13px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:6px;
}
.calc-input-wrap{position:relative;}
.calc-input{
  width:100%;
  padding:11px 52px 11px 12px;
  border:1px solid var(--line);
  font-family:'IBM Plex Mono',monospace;
  font-size:16px;
  background:var(--parchment);
  color:var(--ink);
}
.calc-input:focus{outline:none;border-color:var(--brass);}
.calc-unit{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  color:var(--ink-soft);
  pointer-events:none;
}
.calc-actions{margin:4px 0 4px;}
.calc-btn-reset{
  display:inline-block;
  background:none;
  color:var(--ink-soft);
  border:1px solid var(--line);
  font-family:'Oswald',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:7px 14px;
  cursor:pointer;
}
.calc-btn-reset:hover{background:var(--parchment-2);}

.calc-result{
  background:var(--parchment-2);
  border-top:2px solid var(--brass);
  padding:16px;
  text-align:center;
  margin-top:18px;
}
.calc-result-row{margin-bottom:10px;}
.calc-result-row:last-child{margin-bottom:0;}
.calc-value{
  font-family:'Oswald',sans-serif;
  font-size:30px;
  font-weight:700;
  color:var(--ink);
  line-height:1.05;
}
.calc-value-unit{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  color:var(--brass);
  text-transform:uppercase;
  letter-spacing:0.06em;
  display:block;
  margin-top:3px;
}
.calc-formula-note{
  font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;
  color:var(--ink-soft);
  text-align:center;
  margin-top:12px;
}

.calc-credit{
  text-align:center;
  margin-top:16px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  color:var(--ink-soft);
}
.calc-credit a{
  color:var(--brass);
  text-decoration:none;
  font-weight:600;
}
.calc-credit a:hover{text-decoration:underline;}

.calc-embed-body{
  margin:0;
  padding:12px;
  background:transparent;
}

.calc-mode-toggle{
  display:flex;
  border:1px solid var(--line);
  margin-bottom:18px;
}
.calc-mode-btn{
  flex:1;
  background:#fff;
  border:none;
  padding:9px 0;
  font-family:'Oswald',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  cursor:pointer;
  color:var(--ink-soft);
}
.calc-mode-btn.active{background:var(--brass);color:#fff;}
.calc-mode-btn:not(.active):hover{background:var(--parchment-2);}

.calc-compare-rows{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:12px;
}
.calc-compare-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.calc-compare-inputs{
  display:flex;
  gap:8px;
  flex:1;
  min-width:0;
}
.calc-compare-inputs .calc-input{
  padding:8px 10px;
  font-size:13px;
  min-width:0;
}
.calc-compare-result{
  flex:0 0 64px;
  text-align:right;
  font-family:'Oswald',sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
}
.calc-compare-result .unit{
  display:block;
  font-family:'IBM Plex Mono',monospace;
  font-size:9px;
  color:var(--brass);
  text-transform:uppercase;
}
.calc-compare-remove{
  flex-shrink:0;
  background:none;
  border:1px solid var(--line);
  width:26px;
  height:26px;
  line-height:1;
  cursor:pointer;
  color:var(--ink-soft);
}
.calc-compare-remove:hover{background:var(--rust);color:#fff;border-color:var(--rust);}
