:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#414963;background:#f5f6fc;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:35px 20px;background:radial-gradient(ellipse at 20% 20%,#dbe7ff,transparent 55%),radial-gradient(ellipse at 85% 75%,#e5dafa,transparent 55%),#f6f7fc}body::before,body::after{content:"";position:fixed;width:360px;height:360px;border:1px solid #ffffffb0;border-radius:50%;z-index:0;pointer-events:none}body::before{left:calc(50% - 340px);top:calc(50% - 210px)}body::after{right:calc(50% - 340px);bottom:calc(50% - 210px);width:440px;height:440px}main{position:relative;z-index:1;width:min(445px,100%);background:#ffffffa8;padding:43px 39px 30px;border-radius:27px;border:1px solid #fff;box-shadow:0 20px 80px #6565a416,inset 0 1px 0 #fff;backdrop-filter:blur(24px);text-align:center}.brand{font-size:12px;letter-spacing:.19em;font-weight:800;color:#53618a;margin:0 0 37px}.brand::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#4b83ff,#a762e3);vertical-align:top;margin:1px 0 0 4px}.login-tag{display:inline-block;border-radius:20px;border:1px solid #e6e8fa;background:#ffffff70;color:#727b95;padding:5px 11px;font-size:9px;letter-spacing:.04em;margin-bottom:18px}h1{font-size:37px;line-height:1.15;font-weight:600;letter-spacing:-.045em;margin:0 0 16px}h1 span{background:linear-gradient(100deg,#397fff,#9262d4);color:transparent;background-clip:text;-webkit-background-clip:text}main>p:not(.brand){color:#68738e;font-size:12px;line-height:1.8;margin:0 auto;max-width:310px}#google-login{display:flex;align-items:center;justify-content:center;gap:12px;margin:29px 0 15px;padding:13px;border-radius:12px;border:1px solid #dce3f3;background:#ffffffcf;box-shadow:0 3px 10px #55649406;color:#55607c;text-decoration:none;font-size:12px;font-weight:600;transition:transform .18s,box-shadow .18s}#google-login:hover{transform:translateY(-2px);box-shadow:0 8px 18px #55649413}#google-login[aria-disabled="true"]{opacity:.5;pointer-events:none}a:focus-visible{outline:3px solid #91a6fa;outline-offset:4px}#login-status{min-height:62px;font-size:10px;color:#727b95}.login-divider{height:1px;background:#e4e8f4;margin:20px 0}main>p.note{font-size:9px;color:#727b95;max-width:290px}.login-footer{position:fixed;bottom:18px;font-size:9px;color:#9ca5bf;letter-spacing:.04em;z-index:1}@media(max-width:500px){main{padding:32px 26px}h1{font-size:33px}body::before,body::after{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}#google-login:hover{transform:none}}@supports not (backdrop-filter:blur(1px)){main{background:#f9faff}}

/* The existing light appearance is unchanged; only controls are added. */
.login-theme{position:fixed;top:20px;right:24px;z-index:2;display:flex;align-items:center;gap:10px;font-size:11px;color:#68738e}
.login-theme select{font:inherit;color:inherit;background:#ffffff80;border:1px solid #dce3f3;border-radius:9px;padding:7px 9px}
.login-theme select:focus-visible{outline:3px solid var(--focus,#91a6fa);outline-offset:3px}
:root[data-theme='dark']{color:var(--ink);background:var(--background)}
html[data-theme='dark'] body{background:radial-gradient(ellipse at 20% 20%,#ff8a1512,transparent 55%),radial-gradient(ellipse at 85% 75%,#9855eb1c,transparent 55%),var(--background)}
html[data-theme='dark'] body::before,html[data-theme='dark'] body::after{border-color:var(--edge-highlight)}
html[data-theme='dark'] main{background:var(--glass);border-color:var(--edge-highlight);box-shadow:0 20px 80px #00000040,inset 0 1px 0 var(--edge-highlight)}
html[data-theme='dark'] .brand{color:var(--ink)}
html[data-theme='dark'] .brand::after{background:linear-gradient(135deg,var(--accent),var(--purple))}
html[data-theme='dark'] .login-tag{color:var(--text-secondary);background:var(--surface-tag);border-color:var(--border)}
html[data-theme='dark'] h1 span{background-image:linear-gradient(100deg,var(--brand-start),var(--brand-end))}
html[data-theme='dark'] main>p:not(.brand),html[data-theme='dark'] #login-status,html[data-theme='dark'] main>p.note,html[data-theme='dark'] .login-footer{color:var(--text-secondary)}
html[data-theme='dark'] #google-login{background:var(--surface-button);color:var(--ink);border-color:var(--field-border);box-shadow:0 3px 10px #00000020}
html[data-theme='dark'] #google-login:hover{background:var(--surface-hover);box-shadow:0 8px 18px #00000040}
html[data-theme='dark'] a:focus-visible{outline-color:var(--focus)}
html[data-theme='dark'] .login-divider{background:var(--border)}
html[data-theme='dark'] .login-theme{color:var(--text-secondary)}
html[data-theme='dark'] .login-theme select{background:var(--surface-field);border-color:var(--field-border)}
@supports not (backdrop-filter:blur(1px)){html[data-theme='dark'] main{background:var(--fallback-surface)}}
@media(max-width:500px){.login-theme{top:12px;right:16px}body{padding-top:64px}}

/* Explicit option colors avoid bright native popups on dark Windows browsers. */
.login-theme option{background:#fbfcff;color:#414963}
html[data-theme='dark'] .login-theme option{background:var(--surface-field);color:var(--ink)}

/* Approved F mark; keep the original wordmark and dot below it. */
.brand-mark.login-brand-mark{display:block;width:112px;height:112px;margin:0 auto 12px}
@media(max-height:800px){
  .brand-mark.login-brand-mark{width:88px;height:88px}
  .login-footer{position:static;margin-top:20px}
}

/* Match the stronger light canvas without changing white glass surfaces. */
html:not([data-theme='dark']) body{background:radial-gradient(ellipse at 20% 20%,var(--ambient-one),transparent 55%),radial-gradient(ellipse at 85% 75%,var(--ambient-two),transparent 55%),var(--background)}
html:not([data-theme='dark']) #login-status,html:not([data-theme='dark']) main>p:not(.brand),html:not([data-theme='dark']) .login-tag,html:not([data-theme='dark']) .login-theme,html:not([data-theme='dark']) .login-footer{color:var(--text-secondary)}

.login-footer a { color: inherit; text-underline-offset: 3px; }
.login-footer { line-height: 1.9; }
