/* Account authentication shares the onboarding canvas and component geometry. */
:root{--blue:#1f5bff;--blue-dark:#1849dc;--ink:#1d1d1f;--muted:#515154;--line:#e8e8ed;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",sans-serif}
html{background:#f5f5f7}body{position:relative;display:flex;flex-direction:column;min-height:100svh;background:transparent;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 900px 900px at 0% 0%,#1f5bff33,transparent 70%),radial-gradient(ellipse 900px 900px at 100% 100%,#ff6b5736,transparent 70%),#f5f5f7}
.account-header{position:relative;flex:none;max-width:1280px;width:100%;min-height:76px;margin:0 auto;padding:0 48px;border:0;border-radius:0;background:transparent;backdrop-filter:none}
.brand{gap:10px;font-size:19px;letter-spacing:-.02em}.brand img{width:32px;height:32px}.back-link{padding:0;font-size:14px;font-weight:400;color:var(--muted)}
.account-layout{position:relative;flex:1;align-content:center;align-items:center;grid-template-columns:minmax(0,540px) minmax(0,432px);gap:clamp(48px,9vw,116px);width:100%;max-width:1280px;min-height:0;margin:0 auto;padding:40px clamp(32px,7.5vw,96px) 60px;border-radius:0;background:transparent;overflow:visible}
.account-story{display:flex;justify-content:center;align-self:center;gap:40px;min-height:0;padding:0;background:transparent;color:var(--ink);overflow:visible}.account-story::after{display:none}.eyebrow{font-size:11px;color:#6e6e73;letter-spacing:.12em;font-weight:600}.account-story h1{margin:18px 0;font-size:clamp(42px,4.55vw,58px);line-height:1.02;font-weight:700;letter-spacing:-.05em}.account-story h1 span{color:inherit}.coral-highlight{background:linear-gradient(180deg,transparent 58%,#ff6b576b 58%,#ff6b576b 92%,transparent 92%);padding:0 6px;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.intro{width:auto;max-width:470px;font-size:19px;line-height:1.45;color:var(--muted)}
.glass{isolation:isolate;background:#ffffff8c;backdrop-filter:blur(30px) saturate(180%);border:1px solid #ffffffcc;box-shadow:inset 0 1px 0 #fffffff2,0 1px 2px #1018400a,0 18px 48px #1018401a}.sf-float{max-width:100%;margin-top:0!important;transform:rotate(-2deg)}
.account-card{width:100%;max-width:none;min-width:0;align-self:center;margin:0;padding:36px;border-radius:30px;background:#ffffffc7;border:1px solid #fffffff2;backdrop-filter:blur(40px) saturate(200%);box-shadow:inset 0 1px 0 #fff,0 2px 6px #1018400f,0 40px 100px #10184029}
.account-card h2{margin:24px 0 8px;font-size:28px;line-height:1.15;letter-spacing:-.03em}.account-card #form-description{margin:0 0 20px;font-size:15px;line-height:1.5}.auth-tabs{border-color:#0000000c;background:#f5f5f7;border-radius:999px}.auth-tabs button{border-radius:999px;font-weight:600;font-size:13px;min-height:40px}.auth-tabs button[aria-pressed=true]{box-shadow:0 1px 3px #1018400c}.google-button{min-height:52px;border-radius:26px;margin-top:0;font-size:16px;font-weight:600;border-color:#0000001f}.auth-divider{margin:20px 0 0;font-size:13px;color:#6e6e73}.account-card form{gap:16px;margin-top:20px}.account-card label{font-size:13px;font-weight:600;color:var(--ink);gap:6px}.account-card input{min-height:50px;border-radius:14px;border-color:#0000001f;background:#ffffffe6;padding:12px 16px}.account-card input:focus-visible{outline:none;box-shadow:0 0 0 4px #1f5bff2e;border-color:var(--blue)}.primary{min-height:54px;border-radius:27px;font-size:17px;font-weight:600;box-shadow:inset 0 1px 0 #ffffff59,0 10px 30px #1f5bff59}.primary:active{transform:scale(.98)}.text-button{font-size:14px;font-weight:600;min-height:44px}.local-footnote{display:block;text-align:center;border:0;padding:0;margin-top:22px;color:#6e6e73!important;font-size:12px!important;line-height:1.5}.local-footnote a{text-decoration:underline}.message{margin-bottom:0}.account-legal{position:relative;padding:20px 24px;font-size:12px;color:#6e6e73}.legal-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 24px}.legal-nav a{min-height:24px}.loading{min-height:360px}
/* Cover the login canvas until the first session check selects the destination. */
body.auth-pending #loading{position:fixed;inset:0;z-index:100;min-height:100svh;margin:0;background:#f5f5f7}
body.auth-pending .account-card{backdrop-filter:none}
body.auth-pending .account-header,body.auth-pending .account-story,body.auth-pending .account-legal,body.auth-pending .account-card>:not(#loading){visibility:hidden}
/* Give the signed-in workspace room without changing its controls. */
body.is-authenticated .account-layout{grid-template-columns:minmax(0,1fr);max-width:1100px;gap:0}body.is-authenticated .account-story{display:none}body.is-authenticated .account-card{max-width:860px;justify-self:center}.connection-card{grid-template-columns:minmax(0,1fr) minmax(0,320px)}.terms-consent input{min-height:18px;width:18px;padding:0}.setting-button{background:transparent}.account-card .dashboard-head h2{margin-top:18px}
@media(max-width:1100px){.account-layout{grid-template-columns:minmax(0,1fr) minmax(0,432px);gap:40px;padding-inline:40px}.account-story h1{font-size:44px}.intro{font-size:17px}.sf-float{width:100%!important}.sf-float>span.glass{right:0!important}}
@media(max-width:800px){.account-header{padding:0 24px}.account-layout{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 24px 40px;gap:0;align-content:center}.account-story{display:none}.account-card{max-width:432px;justify-self:center;padding:32px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid article{display:grid;grid-template-columns:38px 1fr}.dashboard-icon{grid-row:1/4;margin:0}.connection-card{grid-template-columns:minmax(0,1fr)}.back-link{max-width:none;font-size:14px}}
@media(max-width:420px){.account-header{padding-inline:20px}.account-layout{padding:20px 20px 32px}.account-card{padding:28px 24px}.account-card h2{font-size:28px}.account-legal{padding-inline:20px}.legal-nav{gap:10px 18px}.brand{font-size:19px}}
button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.primary{transition:none}}

/* Reference illustration, external styles for the strict page CSP. */
.login-art-0{position: relative; margin-top: 40px; width: 430px; height: 214px; box-sizing: border-box; border-radius: 22px; padding: 14px;}
.login-art-1{position: relative; width: 100%; height: 100%; border-radius: 14px; background: #FFFFFF; border: 1px solid rgba(0,0,0,0.05); overflow: hidden;}
.login-art-2{height: 30px; display: flex; align-items: center; gap: 6px; padding: 0 12px; border-bottom: 1px solid #F0F0F3;}
.login-art-3{width: 12px; height: 12px; border-radius: 4px; background: #7A5CFF;}
.login-art-4{font-size: 10px; font-weight: 700;}
.login-art-5{position: absolute; left: 16px; top: 44px; width: 210px; height: 14px; border-radius: 7px; background: #1D1D1F;}
.login-art-6{position: absolute; left: 16px; top: 70px; width: 250px; height: 8px; border-radius: 4px; background: #E3E3E8;}
.login-art-7{position: absolute; left: 16px; top: 98px; width: 190px; height: 24px; box-sizing: border-box; border-radius: 6px; border: 1px solid #E3E3E8;}
.login-art-8{position: absolute; left: 16px; top: 134px; width: 60px; height: 24px; border-radius: 6px; border: 1px solid #E3E3E8; box-sizing: border-box;}
.login-art-9{position: absolute; left: 84px; top: 134px; width: 60px; height: 24px; border-radius: 6px; background: #E5E5EA;}
.login-art-10{position: absolute; left: 290px; top: 44px; width: 90px; height: 118px; border-radius: 10px; background: #F5F5F7;}
.login-art-11{position: absolute; left: 216px; top: 36px; width: 22px; height: 22px; box-sizing: border-box; border-radius: 11px; border: 3px solid #FFFFFF; background: #1F5BFF;}
.login-art-12{position: absolute; left: 134px; top: 124px; width: 22px; height: 22px; box-sizing: border-box; border-radius: 11px; border: 3px solid #FFFFFF; background: #1F5BFF;}
.login-art-13{position: absolute; left: 196px; top: 140px; width: 22px; height: 22px; box-sizing: border-box; border-radius: 11px; border: 3px solid #FFFFFF; background: #1F5BFF;}
.login-art-14{position: absolute; right: -26px; bottom: -18px; height: 40px; padding: 0 14px; border-radius: 20px; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700;}
.login-art-15{width: 22px; height: 22px; border-radius: 11px; background: #E8452F; color: #FFFFFF; font-size: 11px; display: flex; align-items: center; justify-content: center;}

.auth-switch{text-align:center;margin:20px 0 0;font-size:14px;color:var(--muted)}.auth-switch a{color:var(--blue);font-weight:600}.auth-switch a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
