/* Calculator pages: an instrument panel. Inputs on the left console, the readout on the right.
   Uses the tokens from site.css. */
.wrap{max-width:1120px;margin:0 auto}

header.page-head{text-align:left;margin:0 0 30px;max-width:760px}
header.page-head .eyebrow{display:inline-block}
header.page-head h1{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,5.4vw,56px);line-height:1.05;letter-spacing:-.02em;margin:12px 0 12px;color:var(--fg);text-wrap:balance}
header.page-head p{margin:0;color:var(--fg-mid);font-size:17.5px;line-height:1.6}

/* toolbar: tabs + odds format */
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px}
.tab{font-family:var(--f-body);font-weight:700;font-size:14px;padding:9px 16px;border:none;border-radius:999px;background:transparent;color:var(--fg-mid);cursor:pointer}
.tab:hover{color:var(--fg)}
.tab[aria-selected="true"]{background:var(--surface-3);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line), 0 6px 18px -10px rgba(77,124,255,.7)}
.fmt{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--fg-lo);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em}

@media (max-width:600px){
  .toolbar{flex-direction:column;align-items:stretch}
  .tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;width:100%}
  .tab{border-radius:14px;text-align:center;padding:10px 8px}
  .tab:last-child:nth-child(odd){grid-column:1 / -1}
  .fmt{justify-content:space-between}
}

.seg{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--line);background:var(--bg-2);border-radius:999px}
.seg button{font-family:var(--f-mono);font-size:12.5px;font-weight:600;padding:7px 13px;border:none;border-radius:999px;background:transparent;color:var(--fg-mid);cursor:pointer;text-transform:none;letter-spacing:0}
.seg button:hover{color:var(--fg)}
.seg button[aria-pressed="true"]{background:var(--btn);color:#fff}

/* the instrument */
.ledger{
  display:grid;grid-template-columns:1fr 1fr;border-radius:22px;overflow:hidden;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:0 30px 80px -40px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.02) inset;
}
.page{padding:30px 30px 34px;min-width:0}
.page.inputs{border-right:1px solid var(--line-soft)}
.page.results{
  background:
    radial-gradient(520px 260px at 100% 0%, rgba(92,200,255,.08), transparent 70%),
    var(--bg-2);
}
@media (max-width:860px){.ledger{grid-template-columns:1fr}.page.inputs{border-right:none;border-bottom:1px solid var(--line-soft)}}

.tag{display:inline-block;font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.12em;padding:4px 10px;border-radius:999px;color:var(--side-a);background:var(--side-a-soft);margin-bottom:12px}
.ledger h2{font-family:var(--f-display);font-weight:800;font-size:25px;letter-spacing:-.02em;margin:0 0 6px;color:var(--fg)}
.sub{font-size:14.5px;color:var(--fg-mid);margin-bottom:20px;line-height:1.55}

.group{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:var(--r);padding:16px 16px 6px;margin-bottom:14px}
.group.a{border-left:3px solid var(--side-a)}
.group.b{border-left:3px solid var(--side-b)}
.group-t{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-lo);margin:0 0 10px;font-weight:600}

.row{display:grid;gap:10px;margin-bottom:12px;align-items:end}
.row.c1{grid-template-columns:1fr}
.row.c2{grid-template-columns:1fr 1fr}
.row.c3{grid-template-columns:1fr 1fr 1fr}
.row.oc{grid-template-columns:3.2rem 1fr 6.5rem}
@media (max-width:420px){.row.c3{grid-template-columns:1fr 1fr}}
.field{min-width:0}
.field label,.lbl{display:block;font-size:12.5px;color:var(--fg-mid);margin-bottom:6px;font-weight:600}
.field input,.field select{
  width:100%;font-family:var(--f-mono);font-size:16px;padding:11px 13px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--bg);color:var(--fg);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg-mid) 50%),linear-gradient(135deg,var(--fg-mid) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.field input:focus,.field select:focus{outline:none;border-color:var(--side-a);box-shadow:0 0 0 4px var(--side-a-soft)}
.field input[aria-invalid="true"]{border-color:var(--bad);box-shadow:0 0 0 4px var(--bad-soft)}
.oc-name{font-family:var(--f-mono);font-weight:700;color:var(--fg);padding-bottom:12px;font-size:14px}
.colhead{display:grid;grid-template-columns:3.2rem 1fr 6.5rem;gap:10px;font-size:11px;color:var(--fg-lo);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-family:var(--f-mono)}
.hint{font-size:13px;color:var(--fg-lo);margin:-2px 0 14px;line-height:1.55}
.divider{border-top:1px solid var(--line-soft);margin:18px 0}
.err{background:var(--bad-soft);color:#FFC0CB;font-size:14px;padding:11px 14px;border-left:3px solid var(--bad);border-radius:var(--r-sm);margin-bottom:14px}

/* verdict badge */
.stamp-zone{min-height:48px;margin-bottom:12px}
.stamp{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-weight:700;font-size:13.5px;letter-spacing:.06em;
  color:var(--profit);background:var(--profit-soft);border:1px solid rgba(92,200,255,.45);
  border-radius:999px;padding:8px 16px;box-shadow:0 0 30px -6px rgba(92,200,255,.55);
}
.stamp.no{color:var(--bad);background:var(--bad-soft);border-color:rgba(255,107,129,.45);box-shadow:0 0 30px -10px rgba(255,107,129,.6)}
.stamp.meh{color:var(--warn);background:var(--warn-soft);border-color:rgba(255,194,75,.45);box-shadow:none}
@media (prefers-reduced-motion:no-preference){
  .stamp.pop{animation:pop .4s cubic-bezier(.2,1.4,.4,1)}
  @keyframes pop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
}

.tw{overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--bg)}
table.breakdown{width:100%;border-collapse:collapse;font-family:var(--f-mono);font-size:13.5px;min-width:300px}
table.breakdown th,table.breakdown td{text-align:right;padding:10px 12px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums;color:var(--fg)}
table.breakdown tr:last-child td{border-bottom:none}
table.breakdown th:first-child,table.breakdown td:first-child{text-align:left}
table.breakdown th{color:var(--fg-lo);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;background:var(--surface)}
table.breakdown small{color:var(--fg-lo)}
td.pos{color:var(--profit)!important;font-weight:700}
td.neg{color:var(--bad)!important;font-weight:700}

.summary{margin-top:14px}
.line{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;font-size:14.5px;border-bottom:1px solid var(--line-soft)}
.line:last-child{border-bottom:none}
.line .label{color:var(--fg-mid)}
.line .value{font-family:var(--f-mono);font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--fg)}
.line.big .label{color:var(--fg)}
.line.big .value{font-size:22px;font-weight:800}
.value.pos{color:var(--profit)!important;text-shadow:0 0 24px rgba(92,200,255,.35)}
.value.neg{color:var(--bad)!important}
.note{font-size:13.5px;color:var(--fg-mid);line-height:1.6;margin-top:14px}

/* fee table (Kalshi page) */
.fees{margin-top:26px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px 30px}
.fees h2{font-family:var(--f-display);font-weight:800;font-size:22px;margin:0 0 14px;color:var(--fg)}
.fees table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.fees th,.fees td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--fg-mid)}
.fees th{font-size:10.5px;color:var(--fg-lo);text-transform:uppercase;letter-spacing:.08em;font-weight:600;background:var(--bg-2)}
.fees td:first-child{color:var(--fg);font-weight:600}
.fees td.m{font-family:var(--f-mono);white-space:nowrap;color:var(--side-a)}
.fees p{font-size:13px;color:var(--fg-lo);margin:14px 0 0;line-height:1.6}

/* explainer */
.explain{margin-top:30px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px clamp(20px,4vw,40px)}
.explain h2{font-family:var(--f-display);font-weight:800;font-size:clamp(24px,3vw,30px);letter-spacing:-.02em;margin:0 0 14px;color:var(--fg)}
.explain h3{font-family:var(--f-display);font-weight:700;font-size:18px;color:var(--fg);margin:22px 0 6px}
.explain p{font-size:15.5px;line-height:1.7;margin:0 0 10px;max-width:72ch;color:var(--fg-mid)}
.explain .formula{font-family:var(--f-mono);font-size:14px;background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--side-a);border-radius:var(--r-sm);padding:10px 14px;margin:6px 0 14px;overflow-x:auto;white-space:nowrap;color:var(--fg)}
.disclaimer{margin:26px auto 0;font-size:13px;color:var(--fg-lo);line-height:1.65;text-align:center;max-width:780px}
