:root{
  --pure:#FFFFFF;--warm-white:#FCFAF7;--ivory:#F4EFE8;--sand:#D1C1AF;--taupe:#A99786;
  --emerald:#0F6A4B;--olive:#576B4A;--sage:#87986F;--pastel:#BFDCC4;--silver:#C9D2CC;
  --ink:#23302a;--ink-soft:#566159;--head:#0F6A4B;--hair:rgba(15,106,75,0.14);--hair-strong:rgba(15,106,75,0.30);
  --bg:#E7EFE7;--r:16px;--r-lg:24px;--shadow:0 22px 54px rgba(60,72,60,0.16);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Jost',-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;
  background-image:radial-gradient(1100px 700px at 16% -8%,rgba(135,152,111,0.42),rgba(231,239,231,0) 60%),
    radial-gradient(1000px 800px at 92% 2%,rgba(191,220,196,0.55),rgba(231,239,231,0) 62%),
    radial-gradient(900px 760px at 50% 120%,rgba(15,106,75,0.14),rgba(231,239,231,0) 60%);background-attachment:fixed}
.wrap{max-width:640px;margin:0 auto;padding:0 22px 70px}
.topbar{padding:18px 0;text-align:center}
.brand{font-weight:700;font-size:19px;letter-spacing:.12em;color:var(--emerald);text-decoration:none}
.brand i{color:var(--olive);font-style:normal}
.head{text-align:center;padding:8px 0 18px}
.kicker{font-weight:600;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--olive)}
h1{font-weight:300;font-size:clamp(26px,4.6vw,38px);color:var(--head);margin:10px 0 8px;letter-spacing:-.01em}
.sub{color:var(--ink-soft);font-weight:300;font-size:.95rem;max-width:480px;margin:0 auto}
.compare{display:inline-flex;gap:8px;margin-top:14px}
.compare a{font-size:.8rem;text-decoration:none;color:var(--emerald);border:1px solid var(--hair-strong);border-radius:30px;padding:6px 14px}
.compare a.on{background:#0F1D2D;color:#fff;border-color:transparent;background:linear-gradient(150deg,#0c5a40,#1aa06d)}
.glass{background:linear-gradient(165deg,rgba(255,255,255,0.84),rgba(244,239,230,0.62));border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.stage{padding:24px;text-align:center;margin-bottom:16px}
.sig{width:300px;height:300px;max-width:100%;margin:0 auto;filter:drop-shadow(0 18px 36px rgba(15,106,75,0.3));transition:opacity .35s}
.dom{margin-top:14px}
.dom .nm{font-weight:600;font-size:1.7rem;color:var(--head)}
.dom .sh{color:var(--ink-soft);font-size:.9rem;margin-top:2px}

.panel{padding:18px 20px;margin-bottom:14px}
.panel h3{font-weight:500;color:var(--head);font-size:.95rem;margin-bottom:10px;letter-spacing:.01em}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{font-family:inherit;font-size:12.5px;color:var(--olive);background:rgba(191,220,196,0.35);border:1px solid var(--hair);border-radius:30px;padding:7px 13px;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--emerald);color:var(--emerald)}
.chip.on{background:linear-gradient(150deg,#0c5a40,#1aa06d);color:#fff;border-color:transparent}

.toggle{display:inline-flex;border:1px solid var(--hair-strong);border-radius:30px;overflow:hidden}
.toggle button{font-family:inherit;font-size:12.5px;padding:8px 16px;border:none;background:rgba(255,255,255,0.5);color:var(--ink-soft);cursor:pointer}
.toggle button.on{background:linear-gradient(150deg,#0c5a40,#1aa06d);color:#fff}
.row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.row .lab{font-size:.82rem;color:var(--ink-soft);min-width:96px}
.seed input{font-family:'Fragment Mono',monospace;font-size:.82rem;border:1px solid var(--hair);border-radius:10px;padding:8px 11px;background:#fff;outline:none;width:150px}
.seed button{font-family:inherit;font-size:.78rem;margin-left:8px;border:1px solid var(--hair-strong);background:rgba(255,255,255,0.6);color:var(--emerald);border-radius:10px;padding:8px 12px;cursor:pointer}

/* evolve */
.evobar{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
.evostep{font-family:'Fragment Mono',monospace;font-size:.68rem;letter-spacing:.03em;padding:5px 9px;border-radius:30px;border:1px solid var(--hair);color:var(--ink-soft);background:rgba(255,255,255,0.5)}
.evostep.done{border-color:var(--emerald);color:var(--emerald);background:rgba(191,220,196,0.45);font-weight:600}
.evostep.free.done{background:rgba(135,152,111,0.3)}
.evocap{min-height:40px;display:flex;flex-direction:column;justify-content:center;margin-bottom:10px}
.evocap .q{font-weight:600;color:var(--head);font-size:.95rem}
.evocap .d{color:var(--ink-soft);font-size:.82rem;font-weight:300}
.mini{font-family:inherit;font-size:.82rem;font-weight:600;border-radius:30px;padding:9px 16px;cursor:pointer;border:1px solid var(--hair-strong);background:rgba(255,255,255,0.6);color:var(--emerald);margin:0 4px}
.mini[disabled]{opacity:.35;cursor:default}
.mini.solid{background:linear-gradient(150deg,#0c5a40,#1aa06d);color:#fff;border-color:transparent}

/* readout */
.factors{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.frow{display:flex;align-items:center;gap:10px;font-size:.88rem}
.frow .dot{width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 7px currentColor}
.frow .fn{flex:1;color:var(--ink)}
.frow .val{font-family:'Fragment Mono',monospace;color:var(--emerald)}
.frow .band{font-size:.72rem;letter-spacing:.04em;border-radius:20px;padding:2px 9px;font-weight:600}
.band.b0{background:rgba(169,151,134,0.2);color:#7a6450}
.band.b1{background:rgba(135,152,111,0.26);color:var(--olive)}
.band.b2{background:linear-gradient(150deg,#0c5a40,#1aa06d);color:#fff}
.privacy{font-size:.8rem;color:var(--ink-soft);font-weight:300;margin-top:12px;border-top:1px dashed var(--hair-strong);padding-top:10px}
.privacy b{color:var(--emerald)}
.note{text-align:center;color:var(--ink-soft);font-size:.78rem;font-weight:300;margin-top:8px}
