/* Shared public design tokens. Authentication behavior remains in existing scripts. */
:root{--ink:#f4f7fc;--surface:#111f34;--pulse-canvas:#0a1424;--pulse-raised:#1a2c45;--pulse-accent:#9bbffe;--pulse-on-accent:#0b1728;--public-accent:#3487ff;--public-accent-text:#fff;--public-soft:#1a2c45;--public-shadow:0 18px 50px #0002;--public-error:#ffacb7;--public-success:#84dfbb}
html[data-theme="light"]{color-scheme:light;--bg:#f4f1eb;--text:#222a36;--ink:#222a36;--muted:#596373;--line:#ded8cd;--surface:#fffcf7;--pulse-canvas:#f4f1eb;--pulse-raised:#f0eae0;--pulse-accent:#426da6;--pulse-on-accent:#fff;--public-accent:#426da6;--public-soft:#eee9e1;--public-shadow:0 15px 45px #27354b0c;--public-error:#a5243f;--public-success:#267357}
html[data-theme="light"] body{background:radial-gradient(ellipse at 90% 0,#e6eaf0,transparent 42%),var(--bg);color:var(--text)}
#public-theme-toggle{font:inherit;font-size:12px;font-weight:650;border:1px solid var(--line);background:var(--public-soft);color:var(--ink);padding:9px 12px;min-height:42px;border-radius:12px;cursor:pointer;flex-shrink:0;white-space:nowrap}
#public-theme-toggle:hover{border-color:var(--pulse-accent)}
button:focus-visible,input:focus-visible{outline:3px solid var(--pulse-accent);outline-offset:3px}
.primary-nav{gap:22px}.site-header{gap:20px}
html[data-theme="light"] .primary{background:linear-gradient(135deg,#537fb7,#426da6);border-color:#426da6;box-shadow:inset 0 1px #ffffff30,0 7px 20px #426da61a}
html[data-theme="light"] .quiet{background:linear-gradient(135deg,#fffcf7,#f0eae0)}
html[data-theme="light"] .primary-nav a:hover,html[data-theme="light"] .site-footer a:hover{color:#223e66}
html[data-theme="light"] .eyebrow{color:#426da6}
html[data-theme="light"] .feature-card,html[data-theme="light"] .conversation-card,html[data-theme="light"] .shorts-card,html[data-theme="light"] .policy-card{background:linear-gradient(140deg,#fffcf7,#f7f4ee);box-shadow:var(--public-shadow)}
html[data-theme="light"] .join-card{background:radial-gradient(ellipse at 90% 0,#e0e8f3,transparent 65%),#fffcf7;box-shadow:var(--public-shadow)}
html[data-theme="light"] .join-card ul{color:#3e4e63}
html[data-theme="light"] .join-card li:before,html[data-theme="light"] .text-link,html[data-theme="light"] .about-copy a,html[data-theme="light"] .policy-card b{color:#426da6}
html[data-theme="light"] .text-link:hover{color:#223e66}
html[data-theme="light"] .signin-link strong{color:#29466d}
html[data-theme="light"] .join-card small,html[data-theme="light"] .about-copy .availability,html[data-theme="light"] .site-footer small,html[data-theme="light"] .policy-card>span,html[data-theme="light"] .feature-top span{color:#596b84}
html[data-theme="light"] .sample-caption{color:#526178}
html[data-theme="light"] .discovery-visual{background:radial-gradient(circle at 50% 100%,#c7d7ed,transparent 70%),#eee9e1}
html[data-theme="light"] .topic{background:#fffcf7;border-color:#c7d0dd;color:#3d587e}
html[data-theme="light"] .soft-icon{filter:none}
html[data-theme="light"] .closing{background:radial-gradient(ellipse at 80% 50%,#dbe5f1,transparent 70%),#fffcf7;box-shadow:var(--public-shadow)}
/* Photos stay legible in both themes. Their overlays do not become cream. */
.hero{color:#f4f7fc}.hero .eyebrow{color:#c0d8ff!important}.hero .hero-lead{color:#e1ebfa}.hero .hero-link{color:#f4f7fc}.short-preview{color:#f4f7fc}

/* Legal pages: one reading width, same header, cards and typography as H-B. */
.legal{max-width:1180px;margin:auto;padding:0 32px 32px}
.legal .nav{display:flex;align-items:center;gap:22px;min-height:100px;border-bottom:1px solid var(--line);margin-bottom:56px}
.legal .nav>.back-home{margin-left:auto;font-size:13px;color:var(--muted)}
.legal .nav .mark{width:44px;height:44px;box-shadow:none;background:none}
.legal>h1,.legal>.lead,.legal>.eyebrow,.legal>section,.legal>footer{max-width:880px;margin-left:auto;margin-right:auto}
.legal>h1{font-size:clamp(34px,4.7vw,56px);line-height:1.04;margin-bottom:20px}
.legal>.lead{font-size:18px;line-height:1.7;margin-bottom:34px}
.legal>section{padding:28px 30px;background:linear-gradient(135deg,var(--surface),var(--pulse-canvas));border:1px solid var(--line);border-radius:20px;margin-bottom:16px;box-shadow:var(--public-shadow)}
.legal>section h2{font-size:21px;margin-bottom:14px}
.legal>section p{font-size:15px;line-height:1.85;margin:0 0 12px}
.legal>section p:last-child{margin-bottom:0}
.legal>section a:not(.button){color:var(--pulse-accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:13px;background:var(--public-accent);color:white;font-size:14px;font-weight:650;border:1px solid transparent;margin:8px 0 16px}
.legal .contact-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--public-soft);margin:18px 0}
.legal .contact-card>span{display:block;color:var(--muted);font-size:11px;letter-spacing:1.4px;font-weight:700;margin-bottom:8px}
.legal .contact-card>a:not(.button){display:block;width:fit-content}
.legal .contact-card .button{margin-bottom:0;width:fit-content}
.legal .hint{font-size:12px!important;color:var(--muted)!important}
.public-footer,.legal>footer{border-top:1px solid var(--line);padding-top:28px;margin-top:35px;font-size:12px;color:var(--muted)}
.public-footer nav{display:flex;gap:12px 22px;flex-wrap:wrap;margin-bottom:18px}
.public-footer a,.legal>footer a{color:var(--pulse-accent)}
.legal #public-theme-toggle{margin-left:0}

/* Existing account form IDs, modes, hidden flags and handlers are retained. */
.public-auth .auth-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:auto;padding:24px 32px;border-bottom:1px solid var(--line)}
.public-auth .auth-shell{max-width:530px;margin:42px auto;padding:0 22px}
.public-auth .auth-brand{display:none}
.public-auth .auth-card{position:relative;border:1px solid var(--line);border-radius:24px;background:linear-gradient(140deg,var(--surface),var(--pulse-canvas));padding:36px;box-shadow:var(--public-shadow)}
.public-auth .auth-card h1{font-size:36px;line-height:1.06;margin-bottom:16px}
.public-auth .auth-lead{font-size:14px;line-height:1.7;margin-bottom:25px}
.public-auth .auth-tabs{display:flex;gap:4px;padding:4px;background:var(--public-soft);border:1px solid var(--line);border-radius:14px;margin-bottom:24px}
.public-auth .auth-tabs button{flex:1;min-height:42px;border:0;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.public-auth .auth-tabs button.active{background:var(--public-accent);color:white}
.public-auth .auth-field{display:grid;gap:8px;margin:0 0 18px;color:var(--ink);font-size:13px;font-weight:650}
.public-auth .auth-field input{display:block;width:100%;min-width:0;min-height:50px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--pulse-canvas);color:var(--ink);font:inherit;font-size:16px}
.public-auth .auth-field input::placeholder{color:var(--muted);opacity:.85}
.public-auth .auth-field input:focus{border-color:var(--pulse-accent)}
.public-auth .auth-field small{font-size:11px;font-weight:400;color:var(--muted)}
.public-auth .password-control{position:relative;display:block}
.public-auth .password-control input{padding-right:72px}
.public-auth .password-toggle{position:absolute;right:6px;top:6px;min-height:38px;padding:6px 10px;border:0;border-radius:9px;background:var(--public-soft);color:var(--pulse-accent);font:inherit;font-size:12px;cursor:pointer}
.public-auth .auth-message{font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:12px 0;color:var(--muted)}
.public-auth .auth-message:empty{display:none}
.public-auth .auth-message.error{color:var(--public-error)}
.public-auth .auth-message.success{color:var(--public-success)}
.public-auth .auth-submit{display:block;width:100%;min-height:50px;padding:12px 18px;border:0;border-radius:13px;background:var(--public-accent);color:white;font:inherit;font-weight:650;cursor:pointer;margin-top:8px}
.public-auth button:disabled{opacity:.6;cursor:wait}
.public-auth .text-action{display:block;margin:20px auto 0;border:0;background:none;color:var(--pulse-accent);font:inherit;font-size:12px;cursor:pointer}
.public-auth .auth-footnote{font-size:12px;color:var(--muted);text-align:center;margin-top:20px}
.public-auth .auth-back{display:block;text-align:center;font-size:12px;color:var(--pulse-accent);margin:24px auto}
.public-auth .reset-visual,.public-auth .reset-checklist{display:none}
.public-auth.reset-mode .reset-visual{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--public-soft);margin-bottom:24px}
.public-auth .reset-visual-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:var(--public-accent);color:#fff;border-radius:12px;font-size:23px}
.public-auth .reset-visual p{color:var(--pulse-accent);font-size:10px;letter-spacing:1px;font-weight:700}
.public-auth .reset-visual span{color:var(--muted);font-size:12px}
.public-auth.reset-mode .reset-checklist{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:11px;color:var(--muted)}
.public-auth .public-footer{max-width:1180px;margin:40px auto 0;padding:26px 32px}
[hidden]{display:none!important}

/* Legacy root recovery/confirmation entry: keep all inline security logic. */
.public-recovery{display:block;padding:0;min-height:100vh}
.public-recovery:before{display:none}
.public-recovery>main{width:100%;max-width:1180px;margin:auto;padding:0 32px 32px}
.public-recovery .auth-header{display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:100px;border-bottom:1px solid var(--line);margin-bottom:42px}
.public-recovery .brand{margin:0;font-size:28px}
.public-recovery .card{width:min(100%,510px);margin:auto;padding:32px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(140deg,var(--surface),var(--pulse-canvas));box-shadow:var(--public-shadow)}
.public-recovery .card .hero{position:static;min-height:0;border:1px solid var(--line);background:var(--public-soft);border-radius:15px;padding:14px;margin-bottom:24px;color:var(--ink)}
.public-recovery .hero-icon{background:var(--public-accent);color:#fff;box-shadow:none}
.public-recovery .hero small{color:var(--pulse-accent)}
.public-recovery .hero span{color:var(--muted)}
.public-recovery h1{font-size:36px;line-height:1.08;letter-spacing:-.035em}
.public-recovery .lead,.public-recovery .invalid p,.public-recovery .requirements,.public-recovery .message,.public-recovery .privacy{color:var(--muted)}
.public-recovery label{color:var(--ink)}
.public-recovery input{background:var(--pulse-canvas);color:var(--ink);border-color:var(--line)}
.public-recovery input:focus{border-color:var(--pulse-accent);box-shadow:0 0 0 3px #426da622}
.public-recovery .visibility{color:var(--pulse-accent);background:var(--public-soft)}
.public-recovery button.submit{background:var(--public-accent);color:white;box-shadow:none}
.public-recovery .privacy{border-color:var(--line)}
.public-recovery .message.error{color:var(--public-error)}
.public-recovery .message.success,.public-recovery .privacy b,.public-recovery .requirement.ok{color:var(--public-success)}
.public-recovery .back{display:block;text-align:center;color:var(--pulse-accent)}
.public-recovery .public-footer{max-width:880px;margin:36px auto 0}
.public-recovery:has(#confirmed-content.show) .card>.hero,.public-recovery:has(#invalid-content.show) .card>.hero{display:none}

@media(max-width:1100px){.primary-nav{gap:14px;font-size:12px}.site-header{gap:12px}.site-header .btn{padding-left:16px;padding-right:16px}}
@media(max-width:850px){.legal{padding:0 22px 28px}.legal .nav{min-height:88px;margin-bottom:36px}.public-auth .auth-header{padding:20px 22px}.public-recovery>main{padding:0 22px 28px}}
@media(max-width:560px){.site-header{flex-wrap:wrap;padding:16px 0;gap:12px}.site-header #public-theme-toggle{order:3;margin-left:auto;min-height:36px;padding:6px 12px;font-size:11px}.site-header .account-actions{margin-left:auto}.legal{padding:0 16px 24px}.legal .nav{gap:12px;flex-wrap:wrap;padding:16px 0;margin-bottom:28px}.legal .nav .brand{font-size:25px}.legal .nav .mark{width:36px;height:36px}.legal .nav>.back-home{font-size:11px}.legal #public-theme-toggle{margin-left:auto}.legal>h1{font-size:36px;overflow-wrap:anywhere}.legal>.lead{font-size:16px;margin-bottom:24px}.legal>section{padding:22px 20px;border-radius:18px}.legal>section h2{font-size:20px}.legal>section p{font-size:14px}.legal .button{max-width:100%;font-size:13px;text-align:center}.legal .contact-card{padding:15px}.legal .contact-card a{max-width:100%;overflow-wrap:anywhere}.public-auth .auth-header{padding:18px 16px}.public-auth .auth-shell{padding:0 16px;margin:28px auto}.public-auth .auth-card{padding:26px 22px}.public-auth .auth-card h1{font-size:32px}.public-auth .public-footer{padding:24px 16px}.public-recovery>main{padding:0 16px 24px}.public-recovery .auth-header{margin-bottom:28px;min-height:82px}.public-recovery .card{padding:24px 20px}.public-recovery h1{font-size:32px}.public-recovery .hero span{font-size:11px}}

