.auth-page{position:relative;min-height:100dvh;display:flex;flex-direction:column;color:#0f172a;font-family:Plus Jakarta Sans,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#f5f9fc,#e8f0f7);overflow-x:hidden}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.auth-bg-aurora{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 20% 25%,rgba(56,189,248,.28) 0%,transparent 42%),radial-gradient(circle at 85% 20%,rgba(148,163,184,.32) 0%,transparent 46%),radial-gradient(circle at 70% 85%,rgba(56,189,248,.22) 0%,transparent 40%),radial-gradient(circle at 10% 80%,rgba(15,23,42,.12) 0%,transparent 36%);filter:blur(70px);animation:authAurora 18s ease-in-out infinite alternate}.auth-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(15,23,42,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.022) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 0%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 72%)}@keyframes authAurora{0%{transform:translate(-2%,-2%) scale(1)}to{transform:translate(2%,2%) scale(1.06)}}.auth-topbar{position:relative;z-index:1;padding:20px 24px;display:flex;justify-content:center}.auth-brand-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;background:#ffffffb8;border:1px solid rgba(15,23,42,.08);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 20px #0f172a0f}.auth-brand-pill img{width:32px;height:32px;border-radius:8px;object-fit:contain;background:#fff;flex-shrink:0}.auth-brand-name{font-size:15px;font-weight:600;color:#0f172a;letter-spacing:-.01em;white-space:nowrap}.auth-brand-tag{display:none;font-size:13px;color:#64748b;padding-left:10px;border-left:1px solid rgba(15,23,42,.1)}.auth-main{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.auth-card.ant-card{position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:24px;box-shadow:0 24px 80px #0f172a14;color:#0f172a;animation:authCardEnter .55s cubic-bezier(.16,1,.3,1) both}.auth-card .ant-card-body{padding:0}.auth-card-body{padding:24px}.auth-card-header{text-align:center;margin-bottom:24px}.auth-card-header h3{margin:0 0 8px!important;font-size:26px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.auth-card-header .ant-typography-secondary{color:#475569;font-size:14px}.auth-card .ant-typography-secondary{color:#475569}.auth-card .ant-form-item-label>label{color:#475569;font-weight:500;font-size:13px}.auth-card .ant-form-item-explain-error{color:#ef4444;font-size:12px;margin-top:4px}.auth-card .ant-input,.auth-card .ant-input-affix-wrapper,.auth-card .ant-input-password{background:#fff!important;border:1px solid rgba(15,23,42,.12)!important;border-radius:12px!important;color:#0f172a!important;transition:border-color .15s ease,box-shadow .15s ease}.auth-card .ant-input::placeholder,.auth-card .ant-input-affix-wrapper .ant-input::placeholder,.auth-card .ant-input-password .ant-input::placeholder{color:#94a3b8!important}.auth-card .ant-input:hover,.auth-card .ant-input-affix-wrapper:hover,.auth-card .ant-input-password:hover{border-color:#0f172a40!important}.auth-card .ant-input:focus,.auth-card .ant-input-focused,.auth-card .ant-input-affix-wrapper:focus,.auth-card .ant-input-affix-wrapper-focused,.auth-card .ant-input-password:focus,.auth-card .ant-input-password-focused{border-color:#0f172a!important;box-shadow:0 0 0 3px #0f172a0f!important}.auth-card .ant-input-affix-wrapper .ant-input-suffix{color:#64748b}.auth-card .ant-btn-primary{background:#0f172a;border-color:#0f172a;color:#fff;font-weight:600;border-radius:12px;height:48px;box-shadow:0 4px 16px #0f172a1f;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.auth-card .ant-btn-primary:hover,.auth-card .ant-btn-primary:focus{background:#1e293b;border-color:#1e293b;color:#fff;box-shadow:0 8px 24px #0f172a2e}.auth-card .ant-btn-primary:active{transform:translateY(1px)}.auth-card .ant-btn-default{background:transparent;border:1px solid rgba(15,23,42,.15);color:#0f172a;border-radius:12px;height:48px;font-weight:500;transition:background .2s ease,border-color .2s ease}.auth-card .ant-btn-default:hover,.auth-card .ant-btn-default:focus{background:#0f172a0a;border-color:#0f172a40;color:#0f172a}.auth-card .ant-divider-inner-text{color:#94a3b8;font-size:12px;padding:0 12px}.auth-card .ant-divider-horizontal.ant-divider-with-text:before,.auth-card .ant-divider-horizontal.ant-divider-with-text:after{border-top-color:#0f172a14}.auth-card .ant-alert-info{background:#38bdf814;border:1px solid rgba(56,189,248,.18);color:#0284c7;border-radius:10px}.auth-card .ant-alert-info .ant-alert-message{color:#0284c7;font-size:13px}.auth-footer-link{margin-top:20px;text-align:center;font-size:13px;color:#475569}.auth-footer-link a{color:#0f172a;font-weight:500;margin-left:4px;transition:color .2s ease}.auth-footer-link a:hover{color:#1e293b;text-decoration:underline}.auth-role-hint{margin-top:6px;min-height:22px}.auth-form-row{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:16px}@keyframes authCardEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 480px){.auth-brand-tag{display:inline}.auth-card-body{padding:32px}.auth-card-header h3{font-size:28px}}@media (min-width: 1200px){.auth-card.ant-card{max-width:460px}.auth-card-body{padding:36px}}@media (min-width: 640px){.auth-form-row{grid-template-columns:1fr 1fr;gap:16px}}@media (min-width: 768px){.auth-topbar{justify-content:flex-start;padding:24px 32px}.auth-main{padding:24px 32px}}@media (prefers-reduced-motion: reduce){.auth-bg-blob,.auth-card.ant-card{animation:none}}:root{--color-primary: #0f172a;--color-primary-hover: #334155;--color-primary-light: #f1f5f9;--color-info: #2563eb;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{font-family:Inter,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--slate-800);background:var(--slate-50)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.page-container{max-width:1280px;margin:0 auto;padding:32px 24px}.page-title{margin-bottom:8px!important}.page-subtitle{color:var(--slate-500);margin-bottom:32px}.section-card{background:#fff;border:1px solid var(--slate-200);border-radius:12px;padding:24px}.param-range{display:flex;align-items:center;gap:6px;margin-top:-8px;margin-bottom:6px}.param-range__label{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--slate-500);white-space:nowrap}.param-range__tilde{color:var(--slate-500);font-size:12px}.param-range .ant-input-number{width:100%}.param-range__warn{margin-top:4px;margin-bottom:6px;font-size:11px;line-height:1.4;color:var(--color-warning)}.search-mode{border:1px solid var(--slate-200);background:#fff;border-radius:12px;padding:14px 16px}.search-mode__head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.search-mode__eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-info)}.search-mode__providers{padding-left:16px}.toggle-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;height:44px;padding:4px;border:1px solid var(--slate-200);border-radius:14px;background:var(--slate-100);cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent}.toggle-switch__thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 5px);background:#fff;border-radius:10px;box-shadow:0 2px 8px #0f172a24,0 0 0 1px #0f172a0a;transition:transform .32s cubic-bezier(.22,1,.36,1),background .24s ease}.toggle-switch.is-on .toggle-switch__thumb{transform:translate(100%);background:var(--color-primary);box-shadow:0 2px 10px #0f172a59,0 0 0 1px #0f172a14}.toggle-switch__label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--slate-400);transition:color .2s ease;white-space:nowrap}.toggle-switch:not(.is-on) .toggle-switch__left{color:var(--slate-900)}.toggle-switch.is-on .toggle-switch__right{color:#fff}.toggle-switch:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}@media (prefers-reduced-motion: reduce){.toggle-switch__thumb,.toggle-switch__label{transition:none}}.agent-log{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:8px;padding:12px}.agent-log__body{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.agent-log__line{font-family:SF Mono,JetBrains Mono,monospace;font-size:12px;color:var(--slate-600);line-height:1.5;word-break:break-all}a{color:var(--color-info);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--slate-200);color:var(--slate-900)}.ai-console-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;height:calc(100vh - 152px);min-height:620px}.ai-console-shell.has-workspace{grid-template-columns:minmax(500px,1.08fr) minmax(480px,.92fr)}.ai-console-shell>.ant-card{min-height:0}.requirement-bubble{background:#f8fafc;border:1px solid var(--slate-200);border-left:3px solid #60a5fa;border-radius:10px;padding:14px 16px}.requirement-bubble--diagnosis{background:#fffbeb;border-left-color:#f59e0b}.requirement-suggestions{display:flex;flex-direction:column;gap:8px}.requirement-suggestion{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid var(--slate-200);border-radius:8px}.requirement-panel__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.requirement-popover .ant-tag{margin-inline-end:0}@media (max-width: 1180px){.ai-console-shell,.ai-console-shell.has-workspace{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}}@media (max-width: 680px){.requirement-suggestion{flex-direction:column}}@media (max-width: 576px){.brand-text{display:none}.ant-layout-header{padding-inline:16px!important}}
