:root{--surface-0:#0b0b0e;--surface-1:rgba(255,255,255,0.04);--surface-2:rgba(255,255,255,0.07);--surface-3:rgba(255,255,255,0.10);--text-primary:#f5f5f7;--text-secondary:rgba(245,245,247,0.72);--text-tertiary:rgba(245,245,247,0.48);--accent-pink:#ff3d6e;--accent-purple:#a855f7;--accent-cyan:#7fb3ff;--accent-gradient:linear-gradient(135deg,var(--accent-pink) 0%,var(--accent-purple) 50%,var(--accent-cyan) 100%);--hairline:rgba(255,255,255,0.08);--hairline-strong:rgba(255,255,255,0.14);--r-md:10px;--r-lg:16px;--r-pill:999px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--danger:#ff6b7a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--surface-0);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body{background:radial-gradient(ellipse at top left,rgba(255,61,110,.08),transparent 55%),radial-gradient(ellipse at bottom right,rgba(168,85,247,.08),transparent 60%),var(--surface-0);background-attachment:fixed}a{color:var(--accent-cyan)}a:hover{color:var(--accent-pink)}.shell{max-width:880px;margin:0 auto;padding:var(--sp-8) var(--sp-6)}.wordmark{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:14px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-primary)}.wordmark:before{content:"";display:inline-block;width:10px;height:10px;border-radius:var(--r-pill);background:var(--accent-gradient);box-shadow:0 0 10px rgba(255,61,110,.55)}.hero{margin-top:12vh;text-align:left}.hero h1{font-size:clamp(34px,6vw,64px);font-weight:800;line-height:1.02;letter-spacing:-.03em;margin:var(--sp-5) 0 var(--sp-4)}.hero h1 .accent{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--text-secondary);font-size:18px;line-height:1.5;max-width:520px;margin:0 0 var(--sp-6)}.cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--sp-3);padding:14px 24px;border-radius:var(--r-pill);border:0;color:white;background:var(--accent-gradient);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;text-decoration:none;box-shadow:0 8px 28px -10px rgba(255,61,110,.55);transition:transform .14s ease,box-shadow .24s ease}.cta:hover{color:white;transform:translateY(-1px);box-shadow:0 12px 36px -10px rgba(255,61,110,.75),0 0 24px -4px rgba(168,85,247,.45)}.cta:active{transform:translateY(0)}.ghostButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--sp-2);padding:8px 16px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--hairline);font:inherit;font-size:13px;cursor:pointer;text-decoration:none}.ghostButton:hover{color:var(--text-primary);background:var(--surface-3)}.panel{margin-top:var(--sp-6);padding:var(--sp-5);background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg)}.panelTitle{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 var(--sp-4)}.householdCard{padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);margin-bottom:var(--sp-3)}.householdCard h3{margin:0 0 var(--sp-2);font-size:15px;font-weight:700}.householdCard .muted{color:var(--text-tertiary);font-size:12px;font-family:JetBrains Mono,ui-monospace,monospace}.groupRow{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 0;border-top:1px solid var(--hairline);font-size:13px}.groupRow:first-of-type{border-top:0}.groupName{font-weight:600}.groupMembers{color:var(--text-tertiary);font-size:12px}.errorBox{padding:var(--sp-4);border-radius:var(--r-md);background:rgba(255,107,122,.08);border:1px solid rgba(255,107,122,.25);color:var(--danger);font-size:14px}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--sp-6);border-bottom:1px solid var(--hairline);margin-bottom:var(--sp-4)}