/* deep-ancestry — application chrome. The module's own styles live in render.js
   so the preview and the exported file cannot drift apart. */

:root{
  --bg:#070707; --p1:#0e0e0d; --p2:#141413; --p3:#1b1b19;
  --line:#282825; --soft:#1c1c1a;
  --tx:#f2f2ee; --t2:#a8a7a0; --t3:#6d6c66; --t4:#57564f;
  --blue:#3987e5; --orange:#d95926; --green:#199e70; --amber:#c98500; --violet:#9085e9;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:15px;line-height:1.62;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,52px);}
code{font-family:var(--mono);font-size:.9em;color:var(--t2);background:var(--p2);
  padding:1px 5px;border-radius:2px;}
b{font-weight:600;color:var(--tx);}

.hd{border-bottom:1px solid var(--line);}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;}
.brand{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);}
.brand .mark{color:var(--green);letter-spacing:0;margin-right:6px;}
.gh{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--t3);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;}
.gh:hover{color:var(--tx);border-color:var(--t3);}

h1{font-size:clamp(30px,4.4vw,46px);line-height:1.02;font-weight:660;letter-spacing:-.028em;
  margin:56px 0 18px;text-wrap:balance;}
h2.s2{font-size:19px;font-weight:640;letter-spacing:-.014em;margin:52px 0 18px;
  padding-top:22px;border-top:1px solid var(--line);}
.lede{font-size:16.5px;line-height:1.58;color:var(--t2);max-width:66ch;margin:0 0 30px;}
.lede.small{font-size:14px;margin-bottom:22px;}

.drop{border:1px dashed #3a3a35;border-radius:4px;background:var(--p1);padding:52px 28px;
  text-align:center;cursor:pointer;transition:border-color .15s,background .15s;}
.drop:hover,.drop:focus-visible,.drop.over{border-color:var(--green);background:#0f120f;outline:none;}
.dropbig{font-size:19px;font-weight:600;letter-spacing:-.012em;}
.dropsub{font-family:var(--mono);font-size:11px;letter-spacing:.07em;color:var(--t3);margin-top:9px;}
.drop.busy .dropin{display:none;}
.prog{display:flex;align-items:center;gap:14px;justify-content:center;}
.prog .bar{width:min(420px,60%);height:3px;background:var(--p3);border-radius:2px;overflow:hidden;}
.prog .bar i{display:block;height:100%;width:0;background:var(--green);transition:width .12s linear;}
#progtxt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--t3);}
.tryline{font-size:13.5px;color:var(--t3);margin:14px 0 0;}
.link{background:none;border:none;padding:0;font:inherit;color:var(--green);cursor:pointer;
  border-bottom:1px solid rgba(25,158,112,.4);}
.link:hover{border-bottom-color:var(--green);}

.privacy{margin:42px 0 0;padding:22px 24px;background:var(--p1);border:1px solid var(--line);
  border-left:2px solid var(--green);border-radius:3px;}
.privacy .pk{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--green);}
.privacy p{margin:9px 0 0;font-size:14px;line-height:1.62;color:var(--t2);max-width:84ch;}

.claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:22px;margin:22px 0 70px;}
.claim{padding:22px 24px;background:var(--p1);border:1px solid var(--line);border-radius:3px;}
.claim .ck{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;
  text-transform:uppercase;margin-bottom:14px;}
.claim.can .ck{color:var(--green);} .claim.cant .ck{color:var(--orange);}
.claim ul{margin:0;padding:0;list-style:none;display:grid;gap:12px;}
.claim li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.6;color:var(--t2);}
.claim li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:#4e4d47;}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.cell{background:var(--p1);padding:16px 18px;display:flex;flex-direction:column;gap:5px;}
.cell .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);}
.cell .v{font-size:22px;font-weight:660;letter-spacing:-.024em;line-height:1.06;}
.cell .n{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--t4);line-height:1.6;}
.cell .v.green{color:var(--green);} .cell .v.amber{color:var(--amber);} .cell .v.orange{color:var(--orange);}
.cell.wide{grid-column:1/-1;}
.cell.wide .n{font-family:var(--sans);font-size:13.5px;color:var(--t2);letter-spacing:0;max-width:88ch;}

.forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px 30px;}
.fld{display:flex;flex-direction:column;gap:7px;}
.fld.wide{grid-column:1/-1;}
.fld label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--t2);}
.fld label .opt{color:var(--t4);letter-spacing:.08em;text-transform:none;font-size:9.5px;}
input[type=text],input:not([type]),textarea{background:var(--p2);border:1px solid var(--line);
  border-radius:3px;color:var(--tx);font-family:var(--mono);font-size:13px;padding:10px 12px;
  line-height:1.55;resize:vertical;}
input:focus,textarea:focus{outline:none;border-color:var(--green);}
.help{margin:0;font-size:12.5px;line-height:1.55;color:var(--t3);max-width:70ch;}
.compout{margin-top:6px;display:flex;flex-wrap:wrap;gap:7px;}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--p2);border:1px solid var(--line);
  border-radius:2px;padding:5px 10px;font-family:var(--mono);font-size:11px;color:var(--t2);}
.chip i{width:8px;height:8px;border-radius:1px;display:inline-block;}
.chip b{color:var(--tx);font-weight:600;}
.compout .bad{color:var(--orange);border-color:#4a2a1c;}

.toggles{gap:12px;}
.tog{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;cursor:pointer;
  font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:14px;color:var(--tx);}
.tog input{margin-top:4px;accent-color:var(--green);}
.tog em{grid-column:2;font-style:normal;font-size:12.5px;color:var(--t3);line-height:1.55;}

.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 70px;}
.btn{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  background:var(--p2);color:var(--t2);border:1px solid var(--line);border-radius:3px;
  padding:12px 20px;cursor:pointer;transition:border-color .15s,color .15s;}
.btn:hover{color:var(--tx);border-color:var(--t3);}
.btn:focus-visible{outline:1px solid var(--green);outline-offset:2px;}
.btn.primary{background:var(--green);border-color:var(--green);color:#04120c;font-weight:600;}
.btn.primary:hover{background:#1fb37f;border-color:#1fb37f;color:#04120c;}
.btn[disabled]{opacity:.4;cursor:not-allowed;}
.outhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;}
.outhead .actions{margin:0 0 8px;}
.preview{margin:0 0 70px;}

.ft{border-top:1px solid var(--line);padding:26px 0 46px;}
.ft p{font-family:var(--mono);font-size:10.5px;line-height:1.85;letter-spacing:.03em;color:var(--t4);
  max-width:92ch;margin:0 0 8px;}
.ft .warn{color:#57564f;}
.err{margin:18px 0 0;padding:16px 18px;background:#160e0a;border:1px solid #4a2a1c;border-radius:3px;
  color:#e8a184;font-size:13.5px;}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}
[hidden]{display:none !important;}
