.brand-mark{border-radius:9px;flex:none;display:block}.brand-mark-img{object-fit:contain;background:0 0;border-radius:9px}.brand-mark-svg .bm-bg-light,:root[data-theme=light] .brand-mark-svg .bm-bg{display:none}:root[data-theme=light] .brand-mark-svg .bm-bg-light{display:block}.brand-mark[width="56"],.brand-mark[width="64"]{border-radius:16px}.stage{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.stage:before,.stage:after{content:"";filter:blur(90px);opacity:.2;pointer-events:none;border-radius:50%;position:absolute}.stage:before{background:radial-gradient(circle at 30% 30%, var(--acc-identity), transparent 70%);width:520px;height:520px;top:-140px;right:-120px}.stage:after{background:radial-gradient(circle at 30% 30%, var(--acc-info), transparent 70%);width:560px;height:560px;bottom:-180px;left:-140px}.topbar{padding:var(--space-5);z-index:2;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.lang{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.lang svg{width:16px;height:16px;stroke:var(--acc-info);fill:none;stroke-width:1.8px;flex:none}.lang select{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;outline:none}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 12.5px var(--font-body);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:5px 6px 5px 12px;display:inline-flex}.theme-toggle .knob{background:var(--bg);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.card{z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:412px;box-shadow:var(--shadow-lg);padding:var(--space-8);position:relative}.brand{text-align:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.brand .brand-mark{width:56px;height:56px;box-shadow:var(--shadow)}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:26px;font-weight:800}.brand-sub{color:var(--text-muted);margin-top:-2px;font-size:13px}.flash{background:color-mix(in srgb,var(--acc-attention) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc-attention) 40%,transparent);color:var(--acc-attention-fg);border-radius:var(--radius-sm);margin-bottom:var(--space-4);padding:10px 12px;font-size:13px}.flash.error{background:color-mix(in srgb,var(--acc-error) 14%,transparent);border-color:color-mix(in srgb,var(--acc-error) 40%,transparent);color:var(--acc-error-fg)}.field{margin-bottom:var(--space-4);flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-muted);font-size:12.5px;font-weight:600}.inp{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:9px;padding:0 12px;display:flex}.inp:focus-within{border-color:var(--acc-info);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc-info) 22%, transparent)}.inp svg{width:17px;height:17px;stroke:var(--text-faint);fill:none;stroke-width:1.8px;flex:none}.inp input{color:var(--text);font:inherit;background:0 0;border:0;outline:none;width:100%;padding:11px 0}.inp .eye{color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:4px;display:flex}.inp .eye svg{stroke:currentColor}.row{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;gap:10px;display:flex}.check{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check input{width:16px;height:16px;accent-color:var(--acc-info)}.link{color:var(--acc-info-fg);font-size:13px;text-decoration:none}.link:hover{text-decoration:underline}button.link{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.btn{background:var(--acc-info);width:100%;color:var(--on-accent);border-radius:var(--radius-sm);font:700 14.5px var(--font-body);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:12px 14px;display:inline-flex}.btn:hover{filter:brightness(1.06)}.btn svg{stroke:currentColor;fill:none;stroke-width:2.2px;width:17px;height:17px}.sso-sep{margin:var(--space-5) 0 var(--space-4);color:var(--text-faint);align-items:center;gap:12px;font-size:12px;display:flex}.sso-sep:before,.sso-sep:after{content:"";background:var(--border);flex:1;height:1px}.sso-list{flex-direction:column;gap:10px;display:flex}.btn-sso{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font:600 14px var(--font-body);cursor:pointer;justify-content:center;align-items:center;gap:9px;padding:11px 14px;text-decoration:none;display:inline-flex}.btn-sso:hover{border-color:var(--acc-info);background:var(--surface)}.btn-sso svg{width:18px;height:18px;stroke:var(--acc-info);fill:none;stroke-width:1.9px;flex:none}.login-choose{margin:0 0 var(--space-4);text-align:center;color:var(--text-muted);font-size:13.5px}.sso-primary{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--acc-info) 35%,transparent);background:color-mix(in srgb,var(--acc-info) 8%,var(--surface));flex-direction:column;display:flex}.btn-sso-primary{background:var(--acc-info);width:100%;color:var(--on-accent);border-radius:var(--radius-sm);font:700 15.5px var(--font-body);box-shadow:var(--shadow);justify-content:center;align-items:center;gap:10px;padding:14px 16px;text-decoration:none;display:inline-flex}.btn-sso-primary:hover{filter:brightness(1.06)}.btn-sso-primary:focus-visible{outline:3px solid color-mix(in srgb,var(--acc-info) 40%,transparent);outline-offset:2px}.btn-sso-primary svg{stroke:currentColor;fill:none;stroke-width:1.9px;flex:none;width:20px;height:20px}.sso-hint{text-align:center;color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.local-login{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.local-login>summary{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;list-style:none;display:flex}.local-login>summary::-webkit-details-marker{display:none}.local-login>summary:hover{color:var(--text)}.local-login>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--acc-info) 35%,transparent);outline-offset:2px}.local-login>summary svg{stroke:currentColor;fill:none;stroke-width:2px;flex:none;width:18px;height:18px;transition:transform .15s}.local-login[open]>summary svg{transform:rotate(180deg)}.local-login-body{padding:0 16px 16px}.foot{margin-top:var(--space-6);color:var(--text-faint);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.ver{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:999px;padding:2px 8px}.dot{background:var(--text-faint);opacity:.6;border-radius:50%;width:4px;height:4px}@media (width<=480px){.card{padding:var(--space-6)}.brand-name{font-size:23px}}
