@font-face{font-family:"Newsreader";src:url(/connect/newsreader.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/connect/public-sans.woff2) format("woff2");font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
:root{--cn-line:rgb(255 255 255/.1);--cn-shadow:0 24px 48px -28px rgb(0 0 0/.6);--cn-dash-v:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='10'%3E%3Crect width='2' height='6' rx='1'/%3E%3C/svg%3E");--cn-dash-h:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='2'%3E%3Crect width='6' height='2' rx='1'/%3E%3C/svg%3E");--cn-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
:root[data-pageweave-theme=daylight]{--cn-line:var(--pw-hairline);--cn-shadow:0 24px 48px -28px rgb(23 48 76/.28)}
html{background:var(--pw-canvas)}
body{margin:0;min-height:100dvh;font-family:var(--pw-font-sans);color:var(--pw-text-primary);background:var(--pw-canvas);-webkit-font-smoothing:antialiased}
.stage{position:relative;min-height:100dvh;display:grid;place-items:center;padding:96px 40px 64px}
.back{position:absolute;inset-block-start:32px;inset-inline-start:40px;min-height:40px;display:inline-flex;align-items:center;gap:12px;color:var(--pw-text-secondary);font-size:14px;text-decoration:none}
.back:hover{color:var(--pw-text-primary)}
.back svg,.assure svg{flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.back svg{width:20px;height:20px}
[dir=rtl] .back svg{transform:scaleX(-1)}
.card{position:relative;width:min(100%,1040px);min-height:560px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--cn-line);border-radius:var(--pw-radius-2);background:var(--pw-surface);box-shadow:var(--cn-shadow)}
.art{min-height:100%;background:var(--pw-surface-sunken) url(/connect/scene-night.webp) 45% 58%/cover no-repeat}
:root[data-pageweave-theme=daylight] .art{background-image:url(/connect/scene-day.webp);background-position:46% 52%}
/* the seam: the only thread on this page. A dashed rust stitch with a round knob at its middle. */
.seam{position:absolute;inset-block:0;inset-inline-start:50%;width:2px;margin-inline-start:-1px;pointer-events:none;background:var(--pw-accent);-webkit-mask:var(--cn-dash-v) repeat-y;mask:var(--cn-dash-v) repeat-y}
.knob{position:absolute;inset-inline-start:50%;inset-block-start:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--pw-accent);pointer-events:none}
[dir=rtl] .knob{margin:-6px -6px 0 0}
.form{display:flex;flex-direction:column;justify-content:center;padding:48px;min-width:0}
.brand{display:block;width:fit-content;text-decoration:none;color:inherit}
.lockup{display:block;width:200px;height:auto}
.lockup-day,:root[data-pageweave-theme=daylight] .lockup-night{display:none}:root[data-pageweave-theme=daylight] .lockup-day{display:block}
h1{margin:32px 0 12px;font:600 52px/1.04 var(--pw-font-display);letter-spacing:-.015em}
#intro{margin:0;max-width:30ch;color:var(--pw-text-secondary);font-size:16px;line-height:1.55}
.panel{margin:32px 0 0;display:grid;gap:16px}
#status{margin:0;color:var(--pw-text-secondary);font-size:14px;line-height:1.55;overflow-wrap:anywhere}#status:empty{display:none}
#account{margin:0;font-weight:600;font-size:14px;overflow-wrap:anywhere}#account:empty{display:none}
button{position:relative;width:100%;min-height:48px;padding:12px 20px;border:1px solid var(--pw-accent);border-radius:var(--pw-radius-1);background:var(--pw-accent);color:var(--pw-accent-on-accent);font:600 16px/1.2 var(--pw-font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:filter var(--pw-duration-base) var(--pw-ease)}
button:hover:not(:disabled){filter:brightness(1.07)}
button:disabled{opacity:.6;cursor:wait}
.stage[data-state=rest] #action::before{content:"";position:absolute;inset-inline-start:12px;inset-block-start:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.5 0 6.6 1.2 9.1 3.6l6.8-6.8C35.8 2.4 30.3 0 24 0 14.6 0 6.5 5.4 2.6 13.2l7.9 6.1C12.4 13.6 17.7 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.5 24.5c0-1.6-.1-3.1-.4-4.5H24v9h12.7c-.6 3-2.3 5.5-4.8 7.2l7.6 5.9c4.4-4.1 7-10.1 7-17.6z'/%3E%3Cpath fill='%23FBBC05' d='M10.5 28.7c-.5-1.5-.8-3-.8-4.7s.3-3.2.8-4.7l-7.9-6.1C.9 16.4 0 20.1 0 24s.9 7.6 2.6 10.8l7.9-6.1z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.5 0 11.9-2.1 15.9-5.8l-7.6-5.9c-2.1 1.4-4.9 2.3-8.3 2.3-6.3 0-11.6-4.1-13.5-9.8l-7.9 6.1C6.5 42.6 14.6 48 24 48z'/%3E%3C/svg%3E") center/18px no-repeat}
.secondary{background:transparent;color:var(--pw-text-primary);border-color:var(--pw-hairline-strong)}
.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--pw-text-primary) 8%,transparent);filter:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--pw-accent);outline-offset:3px}
.or{display:flex;align-items:center;gap:16px;color:var(--pw-text-muted);font-size:14px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--cn-line)}
.quiet{margin:0;color:var(--pw-text-muted);font-size:14px;line-height:1.55}.quiet strong{color:var(--pw-text-secondary);font-weight:600}
.stage:not([data-state=rest]) .alt{display:none}
.stage[data-state=error] #status{padding:12px 16px;border:1px solid var(--pw-accent);border-radius:var(--pw-radius-1);color:var(--pw-text-primary)}
:root[data-pageweave-theme=daylight] .stage[data-state=error] #status{background:var(--pw-accent-muted)}
.what{margin:20px 0 0}
.what summary{display:inline-flex;align-items:center;gap:8px;min-height:40px;cursor:pointer;color:var(--pw-text-secondary);font-size:14px;list-style:none;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.what summary::-webkit-details-marker{display:none}
.what summary::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--cn-arrow) center/16px no-repeat;mask:var(--cn-arrow) center/16px no-repeat}
[dir=rtl] .what summary::after{transform:scaleX(-1)}
.what[open] summary::after{transform:rotate(90deg)}
.note{margin:8px 0 0;padding-inline-start:20px;color:var(--pw-text-muted);font-size:14px;line-height:1.55}.note li+li{margin-top:8px}
.assure{display:flex;gap:16px;align-items:center;margin:20px 0 0;padding-top:20px;border-top:1px solid var(--cn-line);color:var(--pw-text-secondary);font-size:14px;line-height:1.5}
.assure svg{width:24px;height:24px}
[hidden]{display:none!important}
@media (max-width:1100px){.form{padding:40px 32px}h1{font-size:44px}}
@media (max-width:720px){
 .stage{place-items:start center;padding:0 0 32px}
 .back{position:static;padding:8px 20px;width:100%}
 .card{width:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:42dvh auto;border-inline:0;border-radius:0;box-shadow:none}
 .art{min-height:0}
 .seam{inset-block:auto;inset-inline:0;inset-block-start:42dvh;width:auto;height:2px;margin:-1px 0 0;-webkit-mask:var(--cn-dash-h) repeat-x;mask:var(--cn-dash-h) repeat-x}
 .knob,[dir=rtl] .knob{inset-block-start:42dvh;inset-inline-start:auto;inset-inline-end:24px;margin:-6px 0 0}
 .form{padding:32px 20px 8px}
 h1{font-size:40px;margin-top:24px}
 .lockup{width:176px}
}
/* the extension opens this page in a 520x720 popup: keep the scene but shorten it so the action stays in view */
@media (max-width:720px) and (max-height:820px){
 .stage{padding-bottom:0}
 .back{min-height:36px;padding:4px 20px}
 .card{grid-template-rows:24dvh auto}
 .seam,.knob,[dir=rtl] .knob{inset-block-start:24dvh}
 .art{background-position:45% 62%}
 .form{padding:20px 20px 8px}
 .lockup{width:150px}
 h1{font-size:32px;margin:16px 0 8px}
 #intro{font-size:15px;line-height:1.5}
 .panel{margin-top:20px;gap:12px}
 .what{margin-top:12px}
 .assure{margin-top:12px;padding-top:12px}
}
@media (prefers-reduced-motion:reduce){button{transition:none}}
