:root,:root[data-theme=light]{--bg: #f3f4f6;--bg-alt: #e5e7eb;--card-bg: #ffffff;--text: #111827;--text-muted: #6b7280;--border: #e5e7eb;--input-bg: #f9fafb;--primary: #24292f;--primary-hover: #1b1f24;--primary-fg: #ffffff;--shadow: 0 10px 30px -12px rgba(0, 0, 0, .15);--ring: rgba(36, 41, 47, .18)}:root[data-theme=dark]{--bg: #0d1117;--bg-alt: #161b22;--card-bg: #161b22;--text: #e6edf3;--text-muted: #8b949e;--border: #30363d;--input-bg: #0d1117;--primary: #f0f6fc;--primary-hover: #ffffff;--primary-fg: #0d1117;--shadow: 0 10px 30px -12px rgba(0, 0, 0, .6);--ring: rgba(240, 246, 252, .2)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Microsoft JhengHei,Roboto,Helvetica Neue,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}body{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-alt) 100%);background-attachment:fixed;transition:background .3s ease,color .3s ease}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:420px;background:var(--card-bg);padding:32px;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow);animation:fadeUp .5s cubic-bezier(.22,1,.36,1);transition:background .3s,border-color .3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{width:56px;height:56px;margin:0 auto 14px;border-radius:14px;background:var(--primary);color:var(--primary-fg);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -6px var(--ring)}.auth-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}.auth-subtitle{margin:6px 0 0;font-size:13px;color:var(--text-muted)}.top-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px}.lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:6px 28px 6px 10px;font-size:12px;color:var(--text);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%239ca3af' stroke-width='1.5' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s}.lang-select:hover{border-color:var(--text-muted)}.lang-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.theme-toggle:hover{border-color:var(--text-muted)}.theme-toggle:active{transform:scale(.95)}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:500;color:var(--text)}.field-input{padding:11px 14px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);font-size:14px;color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s;font-family:inherit}.field-input::placeholder{color:var(--text-muted);opacity:.7}.field-input:hover{border-color:var(--text-muted)}.field-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.btn-primary{margin-top:4px;padding:12px 16px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:var(--primary-fg);font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s,background .15s,opacity .15s;font-family:inherit}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active{transform:translateY(1px)}.btn-link{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px;text-align:center;font-family:inherit;transition:color .15s}.btn-link:hover{color:var(--text);text-decoration:underline}.divider{height:1px;background:var(--border);margin:8px 0 4px}
