:root{color-scheme:dark;--bg:#070b10;--surface:#101923;--text:#f4f5f7;--muted:#b4c1cf;--line:#455667;--accent:#7bc8ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#112a41,transparent 65%),var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6;min-height:100vh}button,input{font:inherit}button{cursor:pointer;min-height:48px;border-radius:7px}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,.error:focus{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:14px;max-width:1080px;margin:0 auto;padding:30px 24px;font-weight:600}.brand img{object-fit:contain}.brand small{display:block;font-size:11px;letter-spacing:.2em;color:var(--muted)}.access-card{width:calc(100% - 32px);max-width:500px;margin:28px auto 48px;padding:36px;border:1px solid #2b3c4e;background:var(--surface);border-radius:16px;box-shadow:0 20px 70px #0005}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:700;margin-top:0}h1{font-family:Georgia,serif;font-weight:400;line-height:1.12;font-size:43px;margin:14px 0 20px}h1 em{color:var(--accent);font-weight:400}h2{font-size:22px;line-height:1.3}.intro,.note,.boundary{color:var(--muted)}.intro{font-size:15px}.channel-switch{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);padding:4px;border-radius:9px;gap:4px;margin:24px 0}.channel-switch button{border:1px solid transparent;background:transparent;color:var(--muted);font-weight:600}.channel-switch button[aria-pressed=true]{background:#223c52;color:#fff;border-color:var(--accent)}label{display:block;font-weight:600;font-size:14px;margin:16px 0 8px}input{display:block;width:100%;min-width:0;min-height:50px;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:10px 12px;border-radius:7px;font-size:16px}.note{font-size:13px;margin:8px 0 20px}.primary,.secondary{width:100%;padding:12px 16px;font-weight:700;margin-top:16px}.primary{background:var(--accent);color:#071522;border:1px solid var(--accent)}.primary:hover,.primary:focus-visible{background:#a4d9ff;color:#071522}.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.secondary:hover{background:#203143}.text-button{background:transparent;border:0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:10px 4px}.text-button:hover{color:#c5e6ff}.account-option{border-top:1px solid #2b3c4e;margin-top:24px;padding-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;color:var(--muted);font-size:14px}.boundary{font-size:12px;border-top:1px solid #2b3c4e;padding-top:18px;margin-bottom:0}.error{color:#ffcbc6;border:1px solid #ae665f;background:#391e21;padding:12px;border-radius:7px;font-size:14px}.status{color:#c4e7ff;font-size:14px;overflow-wrap:anywhere}.status:empty{display:none}footer{text-align:center;color:var(--muted);font-size:10px;letter-spacing:.14em;padding:0 16px 24px}.skip-link{position:absolute;left:16px;top:-100px;background:var(--text);color:var(--bg);padding:12px;z-index:2}.skip-link:focus{top:8px}#code{letter-spacing:.35em}@media(max-width:390px){.brand{padding:22px 16px;font-size:14px;gap:10px}.access-card{padding:24px 20px;margin-top:12px}h1{font-size:34px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.account-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:24px 0 20px}.account-switch button{min-width:0;padding:12px 6px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:14px;font-weight:700}.account-switch button[aria-pressed=true]{background:#223c52;border-color:var(--accent)}.account-switch button:hover,.account-switch button:focus-visible{background:#203143;border-color:var(--accent);color:#fff}.method-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:24px 0 0}.method-divider:before,.method-divider:after{content:"";height:1px;flex:1;background:var(--line)}.google-button{margin-top:12px}.google-button:disabled{cursor:not-allowed}.access-help{border-top:1px solid #2b3c4e;margin-top:24px;padding-top:12px}.access-help summary{cursor:pointer;color:var(--accent);font-size:14px;padding:12px 0;min-height:48px}.access-help summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.access-help .note:last-child{margin-bottom:8px}

.google-button { display:flex; align-items:center; justify-content:center; gap:12px; }
.google-button svg { flex:none; }
