:root{color:var(--text);background:var(--background)}
.apple-sign-in{margin-top:11px}.apple-sign-in button{display:flex;align-items:center;justify-content:center;padding:0;background:#000;color:#fff;overflow:hidden;min-height:50px;border:0}.apple-sign-in img{display:block;width:100%;max-width:375px;height:50px;object-fit:contain}
*{box-sizing:border-box}body{margin:0;min-height:100svh;padding:32px 16px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.5}.account-card{width:100%;max-width:460px;padding:24px 30px;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.brand{display:flex;justify-content:center;width:fit-content;margin:auto}.brand img{object-fit:contain}h1{font-size:25px;line-height:1.25;text-align:center;margin:12px 0 8px}h2{font-size:19px}.intro{text-align:center;font-size:14px;color:var(--muted);margin:0 0 22px}.account-form{display:flex;flex-direction:column;gap:8px}label{font-size:14px;font-weight:600;margin-top:4px}input{min-width:0;width:100%;height:50px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:12px 14px;font:inherit}button{font:inherit;font-weight:600;cursor:pointer;border-radius:12px;min-height:50px;width:100%;padding:12px 16px;border:1px solid transparent}button:disabled{opacity:.65;cursor:wait}.primary{background:var(--primary);color:var(--on-primary);margin-top:10px}.primary:hover{background:var(--primary-hover)}.secondary{background:var(--surface);color:var(--primary);border-color:var(--border)}.secondary:hover{background:var(--light)}a{color:var(--primary);text-underline-offset:3px;font-weight:600}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.forgot{align-self:flex-end;min-height:40px;display:flex;align-items:center;font-size:14px}.password-field{position:relative}.password-field:has(button:not([hidden])) input{padding-right:76px}.show-password{position:absolute;right:3px;top:3px;min-height:44px;width:68px;padding:8px;background:transparent;color:var(--primary);font-size:13px}.divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:13px}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--border)}nav{text-align:center;font-size:14px;margin-top:14px}nav p{margin:0}nav>a{display:block;padding:10px 0}nav p a{display:inline-block;padding:10px 4px}small{color:var(--muted)}.notice{background:var(--light);padding:12px 14px;border-radius:12px;margin:0 0 16px;font-size:14px}.error{background:var(--error-background);color:var(--danger);border:1px solid var(--error-border)}.welcome{background:var(--light);border-radius:14px;padding:4px 18px 12px;margin:20px 0}.welcome p{color:var(--muted);font-size:15px}footer{display:flex;gap:12px;align-items:center;margin-top:16px;font-size:12px;color:var(--muted)}footer a{padding:10px}[hidden]{display:none!important}@media(max-width:480px){body{padding:16px 12px}.account-card{padding:20px;border-radius:20px}.brand img{width:108px;height:108px}}

.theme-toggle{width:auto;min-height:44px;background:transparent;color:var(--primary);font-size:12px;padding:8px 10px}
.login-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin:0 0 18px;background:var(--light);border:1px solid var(--border);border-radius:14px}.login-mode button{min-height:42px;padding:8px;background:transparent;color:var(--muted);border:0}.login-mode button[aria-selected="true"]{background:var(--surface);color:var(--primary);box-shadow:0 2px 8px #00000012}.code-panel form{display:flex;flex-direction:column;gap:9px}.code-panel input{text-transform:uppercase;letter-spacing:.22em;text-align:center;font-size:20px;font-weight:700}.code-help{margin:2px 0;color:var(--muted);font-size:13px}.code-preview{display:grid;gap:8px;margin-top:15px}.code-preview h2{margin:0 0 4px}.code-choice{text-align:left;height:auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);color:var(--text);border-color:var(--border)}.code-choice small{display:block;font-weight:400}.code-choice b{font-size:22px;color:var(--primary)}
