.public-frame,.auth-page{flex-direction:column;min-height:100svh;display:flex}.public-header,.auth-header{min-height:72px;padding-top:max(12px, env(safe-area-inset-top));padding-right:max(var(--page-gutter), env(safe-area-inset-right));padding-bottom:12px;padding-left:max(var(--page-gutter), env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:20px;display:flex}.public-frame>main{flex:1}.public-content,.legal-content{width:min(1080px, calc(100% - (2 * var(--page-gutter))));margin:clamp(22px,4vw,32px) auto clamp(44px,7vw,64px)}.public-content>h1,.legal-content>h1{max-width:780px;margin-top:12px}.public-content>p,.legal-content>p{max-width:780px;color:var(--text-muted);margin-top:14px;font-size:.96rem}.legal-meta{color:var(--text-subtle);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:.72rem;font-weight:700;display:flex}.legal-summary,.legal-toc{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);margin-top:18px;padding:16px 18px}.legal-summary strong,.legal-toc strong{letter-spacing:.03em;text-transform:uppercase;font-size:.78rem}.legal-summary p{max-width:760px;color:var(--text-muted);margin-top:7px}.legal-toc ul{flex-wrap:wrap;gap:8px 18px;margin:10px 0 0;padding:0;list-style:none;display:flex}.legal-toc a{color:var(--text-muted);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;font-size:.78rem}.legal-toc a:hover{color:var(--text);text-decoration-color:currentColor}.legal-content{width:min(820px, calc(100% - (2 * var(--page-gutter))))}.legal-content section{margin-top:28px;scroll-margin-top:88px}.legal-content section h2{letter-spacing:-.02em;font-size:clamp(1.08rem,2vw,1.28rem)}.legal-content section h3{color:var(--text);letter-spacing:.02em;margin-top:18px;font-size:.82rem}.legal-content ul{padding-left:20px}.legal-content li+li{margin-top:7px}.legal-definition-list{border-top:1px solid var(--border);margin-top:14px}.legal-definition-list>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.legal-definition-list dt{font-size:.78rem;font-weight:750}.legal-definition-list dd{color:var(--text-muted);font-size:.82rem}.legal-review-note{background:var(--bg-subtle);color:var(--text-muted);border:1px dashed var(--border-strong);margin-top:28px}.auth-page{overflow-x:clip}.auth-grid{width:min(var(--auth-content-max), 100%);min-height:calc(100svh - 166px);padding:0 var(--page-gutter) 28px;flex:1;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:clamp(24px,3vw,40px);margin-inline:auto;display:grid}.auth-story{flex-direction:column;justify-content:center;min-height:360px;padding:clamp(18px,3vw,32px) 0;display:flex}.auth-story h1{letter-spacing:-.065em;max-width:580px;margin-top:12px;font-size:clamp(2.15rem,3.2vw,2.95rem);font-weight:560}.auth-story__lede{max-width:550px;color:var(--text-muted);margin-top:16px;font-size:clamp(.92rem,1.2vw,1.04rem)}.auth-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);align-self:center;padding:clamp(20px,2.2vw,26px)}.auth-grid .auth-panel{justify-self:stretch;width:100%;max-width:480px}.auth-panel__heading h2,.auth-panel--verify h1{margin-top:9px;font-size:clamp(1.55rem,2.3vw,2.05rem)}.auth-panel__heading>p:last-child,.auth-panel--verify>p{color:var(--text-muted);margin-top:14px}.auth-notice{color:var(--text-subtle);align-items:center;gap:10px;margin-top:18px;font-size:.72rem;display:flex}.auth-notice span{background:var(--surface-strong);border-radius:50%;flex:none;width:7px;height:7px}.auth-page--centered .auth-header{width:100%}.auth-panel--verify{width:min(520px,100%)}.auth-panel--verify>.feature-icon{margin-bottom:18px}.auth-panel--mfa{width:min(620px,100%)}.mfa-setup{gap:14px;margin-top:20px;display:grid}.mfa-qr{border:1px solid var(--border);border-radius:var(--radius-md);color:#111;background:#fff;justify-items:center;gap:9px;width:fit-content;max-width:100%;margin:0;padding:12px;display:grid}.mfa-qr img{width:min(224px,100%);height:auto;image-rendering:pixelated;display:block}.mfa-qr figcaption{text-align:center;max-width:224px;font-size:.72rem;font-weight:650}.mfa-setup ol{color:var(--text-muted);gap:7px;padding-left:20px;font-size:.82rem;display:grid}.mfa-setup .button{width:fit-content}.mfa-setup-key{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);gap:7px;padding:13px;display:grid}.mfa-setup-key span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:680}.mfa-setup-key code{overflow-wrap:anywhere;color:var(--text);letter-spacing:.08em;font-size:.9rem;font-weight:700}@media (max-width:1080px){.auth-grid{grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:28px}.auth-story{padding-right:0}}@media (max-width:960px){.auth-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px}.auth-story{min-height:auto;padding:24px 0 0}.auth-story h1,.auth-story__lede{max-width:680px}.auth-grid .auth-panel{justify-self:center;max-width:480px}}@media (max-width:820px){.auth-grid{grid-template-columns:1fr;gap:22px}.auth-story{min-height:auto;padding:28px 0 0}.auth-story h1{font-size:clamp(2.15rem,6vw,2.75rem)}.auth-grid .auth-panel{justify-self:center}}@media (max-width:640px){.public-header,.auth-header{min-height:64px;padding-top:max(10px, env(safe-area-inset-top));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:10px;padding-left:max(16px, env(safe-area-inset-left))}.public-content,.legal-content{width:calc(100% - 32px);margin-top:24px;margin-bottom:52px}.legal-meta{gap:5px 12px}.legal-summary,.legal-toc{padding:14px}.legal-toc ul{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.legal-definition-list>div{grid-template-columns:1fr;gap:5px}.auth-grid{padding:0 max(16px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.auth-story{padding-top:24px}.auth-story h1{margin-top:13px;font-size:clamp(2rem,8.5vw,2.65rem)}.auth-panel{border-radius:var(--radius-lg);padding:20px}}@media (max-width:480px){.mfa-setup .button,.mfa-qr{width:100%}}@media (max-height:700px) and (min-width:821px){.auth-story{min-height:320px;padding-block:20px}}
