:root{--bg: #0b0a1f;--bg-2: #16123a;--surface: rgba(255, 255, 255, .06);--surface-hover: rgba(255, 255, 255, .12);--border: rgba(255, 255, 255, .14);--text: #f4f2ff;--text-dim: #a9a4cc;--accent: #8b7cff;--accent-2: #4ad9d9;--danger: #ff8b8b;--radius: 16px;--max-width: 520px;--step: clamp(16px, 4vw, 22px)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(120% 80% at 50% 0%,var(--bg-2) 0%,var(--bg) 60%);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:max(16px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.screen{width:100%;max-width:var(--max-width);display:flex;flex-direction:column;flex:1;animation:rise .26s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.screen,.spinner{animation:none}}.topbar{width:100%;max-width:var(--max-width);display:flex;align-items:center;gap:12px;min-height:40px;margin-bottom:20px}.back{background:none;border:0;color:var(--text-dim);font-size:22px;line-height:1;padding:8px;margin-left:-8px;cursor:pointer;border-radius:12px}.back:hover{color:var(--text);background:var(--surface)}.progress{flex:1;height:4px;background:var(--surface);border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .28s ease}h1,.title{font-size:clamp(24px,6.2vw,32px);line-height:1.2;font-weight:650;letter-spacing:-.02em;margin:0 0 8px}.hint,.lead{color:var(--text-dim);font-size:15px;margin:0 0 20px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--accent);margin-bottom:10px}.options{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;transition:background .14s ease,transform .14s ease,border-color .14s ease}.option:hover{background:var(--surface-hover)}.option:active{transform:scale(.99)}.option[aria-pressed=true]{border-color:var(--accent);background:linear-gradient(90deg,rgba(139,124,255,.22),var(--surface))}.field{width:100%;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit}.field::placeholder{color:var(--text-dim)}.field:focus{outline:2px solid var(--accent);outline-offset:1px}.row{display:flex;gap:10px}.row>*{flex:1;min-width:0}.primary{width:100%;padding:17px 20px;border:0;border-radius:var(--radius);background:linear-gradient(90deg,var(--accent),#6f5cff);color:#fff;font:inherit;font-weight:650;cursor:pointer;transition:opacity .14s ease,transform .14s ease}.primary:disabled{opacity:.45;cursor:default}.primary:not(:disabled):active{transform:scale(.99)}.ghost{background:none;border:0;color:var(--text-dim);font:inherit;padding:12px;cursor:pointer;text-decoration:underline}.actions{margin-top:auto;padding-top:20px;display:grid;gap:8px}.suggestions{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#0b0a1fe6}.suggestions li+li{border-top:1px solid var(--border)}.suggestion{width:100%;text-align:left;padding:14px 16px;background:none;border:0;color:var(--text);font:inherit;cursor:pointer}.suggestion:hover,.suggestion[aria-selected=true]{background:var(--surface-hover)}.suggestion small{display:block;color:var(--text-dim);font-size:13px}.calc{display:flex;flex-direction:column;justify-content:center;flex:1;gap:22px}.calc-steps{display:grid;gap:14px}.calc-step{display:flex;align-items:center;gap:12px;color:var(--text-dim);transition:color .24s ease}.calc-step[data-state=done],.calc-step[data-state=active]{color:var(--text)}.dot{width:20px;height:20px;flex:none;border-radius:50%;border:2px solid var(--border);display:grid;place-items:center;font-size:12px}.calc-step[data-state=done] .dot{border-color:var(--accent-2);color:var(--accent-2)}.spinner{width:20px;height:20px;flex:none;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.contrast{display:grid;gap:14px;margin-bottom:22px}.contrast-row{display:grid;gap:4px}.contrast-row b{color:var(--text-dim);font-weight:500;font-size:13px}.contrast-row span{font-size:17px}.contrast-row[data-kind=computed] span{color:var(--accent-2);font-weight:600}.opens{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}.opens li{display:flex;gap:10px;align-items:flex-start}.opens li:before{content:"✓";color:var(--accent-2)}.plans{display:grid;gap:10px;margin-bottom:18px}.plan{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;text-align:left}.plan[aria-pressed=true]{border-color:var(--accent);background:var(--surface-hover)}.plan .price{font-weight:650;font-size:19px;white-space:nowrap}.plan .period{color:var(--text-dim);font-size:14px}.badge{background:var(--accent-2);color:#05202a;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:650}.consent{display:flex;gap:12px;align-items:flex-start;padding:14px 0;cursor:pointer;font-size:15px}.consent input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--accent)}.fineprint{color:var(--text-dim);font-size:13px;text-align:center;margin-top:12px}.error{color:var(--danger);background:#ff8b8b1a;border:1px solid rgba(255,139,139,.3);border-radius:var(--radius);padding:14px 16px;margin:12px 0;font-size:15px}.attribution{color:var(--text-dim);font-size:12px;margin-top:10px}.member{width:100%;max-width:var(--max-width);flex:1;padding-bottom:76px}.daybar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}.daybar .day-num{font-size:13px;color:var(--text-dim)}.unit{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:12px;overflow:hidden}.unit-head{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;background:none;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.unit-head:hover{background:var(--surface-hover)}.unit-head h3{margin:0 0 4px;font-size:18px;font-weight:620;letter-spacing:-.01em}.unit-head p{margin:0;color:var(--text-dim);font-size:15px}.unit-kind{flex:none;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding-top:3px}.unit-body{padding:0 18px 18px}.prose{font-size:17px;line-height:1.62}.prose h2{font-size:17px;font-weight:640;margin:22px 0 8px;color:var(--accent-2)}.prose h2:first-child{margin-top:0}.prose p{margin:0 0 14px}.prose ul{margin:0 0 14px;padding-left:20px}.prose li{margin-bottom:6px}.prose strong{font-weight:640;color:#fff}.hook{margin-top:16px;padding:14px 16px;border-left:2px solid var(--accent);background:#8b7cff14;border-radius:0 var(--radius) var(--radius) 0;font-size:16px}.checkin{border-color:#4ad9d966}.checkin .unit-kind{color:var(--accent-2)}.checkin-done{display:flex;align-items:center;gap:8px;color:var(--accent-2);font-size:14px;padding:0 18px 18px}.note{width:100%;min-height:84px;resize:vertical;margin-top:10px;font-family:inherit}.report-day{border-left:2px solid var(--border);padding:0 0 16px 14px;margin-left:4px}.report-day[data-outcome=negative]{border-color:var(--danger)}.report-day[data-outcome=positive]{border-color:var(--accent-2)}.report-day .q{color:var(--text-dim);font-size:14px;margin:0 0 4px}.report-day .a{margin:0;font-size:16px}.report-day .n{color:var(--text-dim);font-size:14px;margin:6px 0 0;font-style:italic}.stats{display:flex;gap:10px;margin-bottom:20px}.stat{flex:1;text-align:center;padding:14px 8px}.stat b{display:block;font-size:26px;font-weight:650}.stat span{color:var(--text-dim);font-size:13px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.chart-cell b{display:block;font-size:18px;font-weight:620;margin-bottom:2px}.chart-cell span{color:var(--text-dim);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:6px 11px;border:1px solid var(--border);border-radius:999px;font-size:14px;background:var(--surface)}.chip[data-state=open]{color:var(--text-dim);border-style:dashed}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:4px;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:#0b0a1feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.tab{flex:1;max-width:120px;min-height:48px;display:grid;place-items:center;gap:2px;background:none;border:0;border-radius:12px;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer}.tab[aria-current=page]{color:var(--text);background:var(--surface)}.tab .badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2);display:inline-block;margin-left:4px}.empty{color:var(--text-dim);text-align:center;padding:40px 20px}
