:root{--ink:#23334d;--muted:#52647d;--accent:#2562eb;--accent-hover:#174dca;--accent-soft:#edf3ff;--line:#d9e2ef;--paper:#fff;--canvas:#f4f6fa;--surface-subtle:#f7f9fc;--control-border:#a4b3c7;--danger:#a63042;--danger-soft:#fff1f3;--success:#17604a;--warning:#805b13;--red:var(--danger);--radius-control:8px;--radius-panel:14px;--control-height:44px;--font-ui:"Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--shadow-overlay:0 20px 60px #142b5326;--shadow:none;font-family:var(--font-ui);font-synthesis:none;color:var(--ink);background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}::selection{color:var(--ink);background:#dbe7ff}input,textarea{caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}html,body{min-height:100%;margin:0}.icon-definitions{width:0;height:0;position:absolute;overflow:hidden}#login-gate{box-sizing:border-box;background:var(--canvas);min-height:100dvh;color:var(--ink);font:var(--text-sm)/1.65 var(--font-ui);place-items:center;padding:32px 20px;display:grid}.login-gate-card{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--paper);overflow-wrap:anywhere;width:min(100%,440px);padding:32px}#login-gate h1{text-wrap:balance;margin:12px 0;font-size:26px;font-weight:700;line-height:1.4}#login-gate p{margin:12px 0}#login-gate h1+p,#login-gate-status{color:var(--muted)}#login-gate label{gap:8px;margin:20px 0;font-weight:600;display:grid}#login-gate input{box-sizing:border-box;border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--paper);width:100%;min-width:0;min-height:48px;color:var(--ink);caret-color:var(--accent);font:var(--text-md)/1.5 var(--font-ui);padding:10px 12px;transition:border-color .12s}#login-gate input::placeholder{color:var(--muted);opacity:1}#login-gate input:focus-visible{border-color:var(--accent)}#login-gate input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}#login-gate button{box-sizing:border-box;border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);width:100%;min-height:48px;color:var(--paper);font:inherit;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;margin-top:8px;padding:10px 16px;font-weight:600;line-height:1.5;transition:background-color .12s,border-color .12s}#login-gate #login-gate-retry{border-color:var(--control-border);background:var(--paper);color:var(--accent)}#login-gate button:active:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}#login-gate #login-gate-retry:active:not(:disabled){background:var(--accent-soft)}#login-gate :disabled{border-color:var(--line);background:var(--surface-subtle);color:var(--muted);opacity:1;cursor:wait}#login-gate #login-gate-retry:disabled{border-color:var(--line);background:var(--surface-subtle);color:var(--muted)}#login-gate :focus-visible{outline:2px solid var(--accent);outline-offset:3px}#login-gate-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-control);padding:12px}#login-gate .login-gate-note{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);margin-top:24px;padding-top:16px;line-height:1.75}@media (hover:hover){#login-gate input:hover:not(:disabled):not([aria-invalid=true]){border-color:var(--accent)}#login-gate button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}#login-gate #login-gate-retry:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}}@media (width<=420px){#login-gate{padding:20px 16px}.login-gate-card{padding:24px 20px}#login-gate h1{font-size:24px}}@media (orientation:landscape) and (height<=600px){#login-gate{min-height:100dvh;display:block}.login-gate-card{margin:auto}html:has(#login-gate:not([hidden])) body{height:auto!important;overflow:auto!important}}@media (prefers-reduced-motion:reduce){#login-gate input,#login-gate button{transition:none}}
