:root{--bg:#0b0b0d;--bg-raised:#16161a;--bg-card:#1c1c22;--text:#f5f5f3;--text-dim:#b8b8b4;--pink:#ff2e7e;--pink-press:#e0246c;--green:#3ddc84;--amber:#ffb648;--line:#2a2a31;--radius:14px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:16px/1.55 Inter,-apple-system,system-ui,sans-serif}h1,h2,h3{margin:0 0 .5rem;font-family:Inter Tight,Inter,sans-serif;font-weight:800;line-height:1.1}h1{text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.9rem,6vw,2.8rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}p{margin:0 0 1rem}a{color:var(--pink)}.dim{color:var(--text-dim)}.small{font-size:.85rem}.shell{max-width:34rem;margin:0 auto;padding:1.25rem 1.25rem 4rem}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.btn{background:var(--pink);color:#fff;border-radius:var(--radius);cursor:pointer;text-align:center;border:0;width:100%;padding:1rem 1.25rem;font:600 1.05rem Inter,sans-serif;text-decoration:none;transition:background .15s;display:block}.btn:hover{background:var(--pink-press)}.btn:disabled{background:var(--line);color:var(--text-dim);cursor:default}.btn.secondary{border:2px solid var(--line);color:var(--text);background:0 0}.btn.secondary:hover{border-color:var(--pink)}.btn+.btn{margin-top:.75rem}label{margin:1rem 0 .35rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=date],input[type=number],select,textarea{border:1px solid var(--line);background:var(--bg-raised);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:.85rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--pink);outline-offset:1px}.checkrow{align-items:flex-start;gap:.75rem;margin:.85rem 0;display:flex}.checkrow input{width:1.35rem;height:1.35rem;accent-color:var(--pink);flex-shrink:0;margin-top:.15rem}.checkrow span{font-size:.95rem}.tracker{gap:4px;margin:1rem 0 1.5rem;display:flex}.tracker .step{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);flex:1;font-size:.62rem}.tracker .bar{background:var(--line);border-radius:3px;height:6px;margin-bottom:.35rem}.tracker .done .bar{background:var(--green)}.tracker .live .bar{background:var(--pink)}.tracker .live{color:var(--text);font-weight:600}.progress{background:var(--line);border-radius:3px;height:6px;margin:1rem 0;overflow:hidden}.progress>div{background:var(--pink);height:100%;transition:width .3s}.likert{flex-wrap:wrap;gap:6px;margin:.5rem 0 1.25rem;display:flex}.likert button{border:1px solid var(--line);background:var(--bg-raised);min-width:2.6rem;color:var(--text);cursor:pointer;border-radius:10px;flex:1;padding:.8rem .25rem;font:600 .95rem Inter,sans-serif}.likert button.on{background:var(--pink);border-color:var(--pink);color:#fff}.optlist button{text-align:left;border:1px solid var(--line);background:var(--bg-raised);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;margin-bottom:.5rem;padding:.85rem 1rem;display:block}.optlist button.on{border-color:var(--pink);background:#ff2e7e1f}.anchors{color:var(--text-dim);justify-content:space-between;font-size:.75rem;display:flex}input[type=range]{width:100%;accent-color:var(--pink)}.bignum{color:var(--pink);font:900 3.2rem/1 Inter Tight,sans-serif}.statgrid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;display:grid}.statgrid .card{margin:0;padding:.9rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .4rem}th{color:var(--text-dim);font-weight:600}.safeguard{border-top:1px solid var(--line);color:var(--text-dim);margin-top:2rem;padding-top:1rem;font-size:.85rem}.safeguard strong{color:var(--text)}.pill{background:var(--line);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.pill.ok{color:var(--green);background:#3ddc842e}.pill.warn{color:var(--amber);background:#ffb6482e}.err{color:#ff6b6b;margin:.5rem 0;font-size:.9rem}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.tabs button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem .9rem;font:600 .85rem Inter,sans-serif}.tabs button.on{background:var(--pink);border-color:var(--pink);color:#fff}.dimmed{opacity:.35;pointer-events:none}
