/* Flat-Fee Pricing Lab — shared styles (light + dark) */
:root{
  --ink:#1F2A44;
  --muted:#666666;
  --line:#bbbbbb;
  --paper:#FFF9E6;
  --page:#ffffff;
  --out:#E6F0FF;
  --bad:#B23B3B;
  --ok:#2A7348;
  --gold:#F5B83D;
  --cta-fg:#ffffff;
  --cta-alt-fg:#1F2A44;
  --code-bg:#f4f4f4;
  --hairline:#e6e6e6;
  --link:#0000ee;
  --page-rgb:255,255,255;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#e6e6e6;
    --muted:#b4bac4;
    --line:#4a5160;
    --paper:#1c212c;
    --page:#12141a;
    --out:#1a2740;
    --bad:#f08080;
    --ok:#7ddea2;
    --gold:#F5B83D;
    --cta-fg:#0f1115;
    --cta-alt-fg:#1F2A44;
    --code-bg:#1c212c;
    --hairline:#2e3542;
    --link:#8ab4ff;
    --page-rgb:18,20,26;
    color-scheme:dark;
  }
}
html[data-theme="light"]{
  --ink:#1F2A44;
  --muted:#666666;
  --line:#bbbbbb;
  --paper:#FFF9E6;
  --page:#ffffff;
  --out:#E6F0FF;
  --bad:#B23B3B;
  --ok:#2A7348;
  --gold:#F5B83D;
  --cta-fg:#ffffff;
  --cta-alt-fg:#1F2A44;
  --code-bg:#f4f4f4;
  --hairline:#e6e6e6;
  --link:#0000ee;
  --page-rgb:255,255,255;
  color-scheme:light;
}
html[data-theme="dark"]{
  --ink:#e6e6e6;
  --muted:#b4bac4;
  --line:#4a5160;
  --paper:#1c212c;
  --page:#12141a;
  --out:#1a2740;
  --bad:#f08080;
  --ok:#7ddea2;
  --gold:#F5B83D;
  --cta-fg:#0f1115;
  --cta-alt-fg:#1F2A44;
  --code-bg:#1c212c;
  --hairline:#2e3542;
  --link:#8ab4ff;
  --page-rgb:18,20,26;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--page)}
body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;max-width:760px;margin:0 auto;padding:24px;color:var(--ink);line-height:1.55}
h1{font-size:1.9rem;line-height:1.2;margin:.4em 0 .5em}
h2{font-size:1.25rem;margin:1.6em 0 .5em}
p,li{margin:0 0 .8em}
a{color:var(--link)}
label{display:block;margin:10px 0 4px;font-weight:600}
input,select,textarea{width:100%;padding:10px;font-size:1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);color-scheme:inherit}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus-visible,select:focus-visible,textarea:focus-visible,.theme-toggle:focus-visible,.cta:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.row{grid-template-columns:1fr}}
.out{background:var(--out);border-radius:10px;padding:16px;margin:18px 0;color:var(--ink)}
.out b{font-variant-numeric:tabular-nums}
.bad{color:var(--bad);font-weight:700}
.ok{color:var(--ok);font-weight:700}
.cta{display:inline-block;background:var(--ink);color:var(--cta-fg);padding:12px 18px;border-radius:8px;text-decoration:none;margin:6px 8px 6px 0}
.cta.alt{background:var(--gold);color:var(--cta-alt-fg)}
small,footer,nav{color:var(--muted)}
nav{font-size:.9rem;border-bottom:1px solid var(--hairline);padding:0 48px 14px 0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px 14px;position:relative}
nav a{color:var(--ink)}
nav a[aria-current="page"]{font-weight:700;text-decoration:none}
footer{margin:36px 0 8px;padding-top:16px;border-top:1px solid var(--hairline);font-size:.9rem}
footer a{color:var(--ink)}
details{margin:0 0 8px}
details summary{cursor:pointer;font-weight:600}
code,.formula{background:var(--code-bg);padding:.15em .35em;border-radius:4px;font-size:.95em}
table{width:100%;border-collapse:collapse;margin:0 0 1em}
th,td{border:1px solid var(--line);padding:8px;text-align:left;color:var(--ink)}
th{background:var(--paper)}
.theme-toggle{position:absolute;top:0;right:0;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center;line-height:1;font-size:1.05rem}
.theme-toggle .icon-sun{display:none}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block}
html[data-theme="dark"] .theme-toggle .icon-moon{display:none}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]) .theme-toggle .icon-sun{display:block}
  html:not([data-theme="light"]) .theme-toggle .icon-moon{display:none}
}
