:root{--bg:#f6f8fc;--surface:#fff;--line:#e5eaf2;--text:#172033;--muted:#718096;--primary:#4f46e5;--primary-dark:#3730a3;--soft:#eef2ff;--shadow:0 18px 50px rgba(30,41,59,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,"Microsoft YaHei",sans-serif}.maintenance-banner{margin:0;padding:10px 24px;text-align:center;color:#854d0e;background:#fef3c7;border-bottom:1px solid #fcd34d;font-size:14px}.public-header{height:76px;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.public-brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:18px;text-decoration:none}.brand-mark,.auth-logo{display:grid;place-items:center;background:linear-gradient(135deg,#818cf8,#4f46e5);color:#fff;font-weight:800}.brand-mark{width:34px;height:34px;border-radius:10px}.public-nav{display:flex;align-items:center;gap:24px}.public-nav a,.public-footer a{color:var(--muted);text-decoration:none}.public-nav a:hover,.public-footer a:hover{color:var(--primary)}.nav-button,.primary-button{background:var(--primary)!important;color:#fff!important;border:0;border-radius:9px;padding:9px 18px;cursor:pointer;font:inherit;font-weight:650;text-decoration:none}.nav-button:hover,.primary-button:hover{background:var(--primary-dark)!important}.hero{max-width:1160px;margin:0 auto;padding:110px 24px 90px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.eyebrow{color:var(--primary);font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.hero h1{font-size:clamp(38px,5vw,64px);line-height:1.12;letter-spacing:-.05em;margin:16px 0}.hero p{max-width:590px;color:var(--muted);font-size:18px}.hero-actions{display:flex;gap:12px;margin-top:30px}.secondary-button{border:1px solid var(--line);border-radius:9px;padding:9px 18px;color:var(--text);text-decoration:none;background:#fff}.hero-card{background:linear-gradient(145deg,#1e1b4b,#312e81);border-radius:24px;padding:30px;color:#fff;box-shadow:var(--shadow)}.hero-card .mini-label{color:#c7d2fe;font-size:12px}.hero-card h2{font-size:27px;margin:10px 0 22px}.status{display:flex;gap:9px;align-items:center;color:#d1fae5}.status-dot{width:8px;height:8px;border-radius:50%;background:#34d399}.features{max-width:1160px;margin:0 auto;padding:0 24px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}.feature-card h3{margin:8px 0}.feature-card p{color:var(--muted);margin:0}.feature-icon{color:var(--primary);font-size:24px}.public-footer{max-width:1160px;margin:auto;padding:25px 24px 35px;color:var(--muted);display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:13px}.footer-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.footer-links a{color:var(--muted);text-decoration:none;white-space:nowrap}.footer-links a:hover{color:var(--primary)}.auth-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:45px 20px}.auth-card{width:min(100%,460px);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:var(--shadow)}.auth-logo{width:46px;height:46px;border-radius:13px;margin-bottom:20px}.auth-card h1{margin:0;font-size:28px}.auth-description{color:var(--muted);margin:7px 0 25px}.form-fields{display:grid;gap:15px}.form-field{display:grid;gap:6px}.form-field[hidden]{display:none}.form-field label{font-weight:650}.field-hint{min-height:1.35em;font-size:12px;color:var(--muted)}.field-hint.invalid{color:#b91c1c}.field-hint.valid{color:#047857}.form-field input{display:block;width:100%;height:44px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font:inherit;line-height:1.45;outline:none}.form-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.password-input-wrap{position:relative;width:100%}.password-input-wrap input{padding:11px 48px 11px 12px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:17px}.password-toggle:hover{background:var(--soft);color:var(--primary)}.verification-panel{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfcff}.verification-panel-title{font-weight:750;font-size:15px}.verification-panel-hint{color:var(--muted);font-size:13px;margin:3px 0 14px}.input-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.captcha-gated{opacity:0.5;cursor:not-allowed}.captcha-gated.captcha-ready{opacity:1;cursor:pointer}.secondary-button.captcha-waiting{background:#cbd5e1;color:#64748b;border-color:#cbd5e1;cursor:not-allowed}.primary-button.captcha-waiting{background:#cbd5e1!important;color:#64748b!important;border-color:#cbd5e1!important;cursor:not-allowed}.secondary-button.captcha-ready{background:var(--primary);color:#fff;border-color:var(--primary)}.button-spinner{display:inline-block;width:14px;height:14px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.reset-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.reset-methods .secondary-button{margin-top:0;text-align:center}.verification-panel .full-button{margin-top:8px}.settings-alert{padding:11px 13px;border-radius:9px;background:var(--soft);color:var(--text);margin:12px 0}.form-notice{padding:11px 13px;border-radius:9px;background:var(--soft);color:var(--text);margin:12px 0;transition:opacity .2s ease}.form-notice[hidden]{display:none}.form-notice.error{background:#fef2f2;color:#b91c1c}.form-notice.success{background:#ecfdf5;color:#047857}.v2-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.v2-modal[hidden]{display:none}.v2-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(3px)}.v2-modal-card{position:relative;width:min(100%,390px);padding:30px 28px 25px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.22);text-align:center;animation:v2-modal-in .18s ease-out}.v2-modal-card h2{margin:12px 0 6px;font-size:21px}.v2-modal-card p{margin:0 0 22px;color:var(--muted);white-space:pre-wrap;word-break:break-word}.v2-modal-card .primary-button{min-width:110px}.v2-modal-close{position:absolute;top:9px;right:12px;border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}.v2-modal-icon{display:grid;place-items:center;width:46px;height:46px;margin:auto;border-radius:50%;background:#ecfdf5;color:#047857;font-size:25px;font-weight:800}.v2-modal-icon.error{background:#fef2f2;color:#b91c1c}@keyframes v2-modal-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-alert.error{background:#fef2f2;color:#b91c1c}.settings-alert.success{background:#ecfdf5;color:#047857}.settings-alert.warning{background:#fffbeb;color:#92400e}.auth-links{display:flex;justify-content:space-between;margin-top:17px;font-size:13px}.auth-links a,.back-link{color:var(--primary);text-decoration:none}.back-link{display:block;text-align:center;margin-top:22px}.models-page{max-width:1160px;margin:0 auto;padding:70px 24px 90px}.models-hero{max-width:680px;margin-bottom:35px}.models-hero h1{font-size:42px;line-height:1.2;margin:12px 0}.models-hero p{color:var(--muted);font-size:17px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.model-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.model-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.model-tag{padding:4px 9px;border-radius:999px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:700}.model-provider{color:var(--muted);font-size:13px}.model-card h2{font-size:21px;margin:18px 0 7px}.model-description{color:var(--muted);font-size:14px;min-height:50px;margin:0}.model-pricing{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;border-top:1px solid var(--line);padding-top:15px}.model-pricing span,.model-pricing strong{display:block}.model-pricing span{color:var(--muted);font-size:12px}.model-pricing strong{font-size:13px;margin-top:3px}.model-action{margin-top:auto;text-align:center}.models-note{text-align:center;color:var(--muted);font-size:13px;margin:28px 0 0}@media(max-width:900px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.legal-page{max-width:820px;margin:55px auto;padding:0 24px 80px}.legal-page h1{font-size:38px}.legal-page h2{margin-top:32px}.legal-page p,.legal-page li{color:var(--muted)}.legal-updated{font-size:13px;color:var(--muted);margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--line)}@media(max-width:760px){.hero-actions{flex-wrap:wrap}.model-grid{grid-template-columns:1fr}.reset-methods{grid-template-columns:1fr}.input-action-row .secondary-button{width:100%}.public-header{height:auto;padding:16px 20px;align-items:flex-start}.public-nav{gap:10px;font-size:13px;flex-wrap:wrap;justify-content:flex-end}.public-nav>a:not(.nav-button){display:none}.hero{grid-template-columns:1fr;padding-top:65px;gap:35px}.features{grid-template-columns:1fr}.public-footer{display:block}.public-footer span{display:block;margin-top:5px}.auth-card{padding:28px 22px}}
/* ─── 模型广场：真实数据版 ─────────────────────── */
.model-tag.tiered{background:#fef3c7;color:#b45309}.model-tag.alias{background:#ecfdf5;color:#047857}.model-tag.paused{background:#fef2f2;color:#b91c1c}.model-card.unavailable{opacity:.55}.model-card.unavailable h2{color:var(--muted)}.model-alias-of{margin:0 0 4px;color:var(--muted);font-size:12px;word-break:break-all}.model-pricing.tiered{grid-template-columns:1fr;gap:8px}.tier-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.tier-row span{color:var(--muted);font-size:12px}.tier-row strong{font-size:14px}.tier-note{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.model-pricing.default strong{color:var(--muted);font-weight:600}.ms-usd-note{margin:-12px 0 16px;color:var(--muted);font-size:11px}.ms-tier-details{margin:2px 0 14px;font-size:12px}.ms-tier-details summary{color:var(--primary);cursor:pointer;font-weight:650}.ms-tier-details[open] summary{margin-bottom:6px}.ms-tier-line{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted)}.ms-tier-line strong{color:var(--text)}.ms-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 26px}.ms-group-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 16px}.ms-group-card.main{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.10)}.ms-group-name{font-weight:750}.ms-group-ratio{color:var(--primary);font-weight:800;font-size:19px;margin:2px 0}.ms-group-desc{color:var(--muted);font-size:12px}.ms-groups-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.ms-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 18px;flex-wrap:wrap}.ms-toolbar input,.ms-toolbar select{height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;background:#fff;color:var(--text)}.ms-toolbar input{width:250px}.ms-count{color:var(--muted);font-size:13px}.secondary-button.disabled{color:#94a3b8;cursor:not-allowed}.model-grid-empty{text-align:center;color:var(--muted);padding:60px 0}


/* ─── 暗色模式 ─── */
:root.dark{--bg:#0f172a;--surface:#1e293b;--line:#334155;--text:#e2e8f0;--muted:#94a3b8;--primary:#818cf8;--primary-dark:#6366f1;--soft:#312e81;--shadow:0 18px 50px rgba(0,0,0,.3)}
:root.dark .console-sidebar{--sb-bg:#1e293b;--sb-bg-2:#334155;--sb-fg:#cbd5e1;--sb-fg-muted:#64748b}
:root.dark .console-topbar{background:rgba(15,23,42,.88)}
:root.dark .console-user-trigger{background:var(--surface);border-color:var(--line)}
:root.dark .console-user-dropdown{background:var(--surface);border-color:var(--line);box-shadow:0 12px 40px rgba(0,0,0,.4)}
:root.dark .console-dropdown-item:hover{background:var(--soft)}
:root.dark .console-dropdown-logout:hover{background:rgba(220,38,38,.12)}
:root.dark .console-sidebar-overlay{background:rgba(0,0,0,.5)}
:root.dark .console-footer{border-color:var(--line)}
:root.dark .public-header{background:rgba(15,23,42,.88)}
:root.dark .secondary-button{background:var(--surface)}
:root.dark .logs-table tbody tr:hover{background:rgba(129,140,248,.06)}
:root.dark .log-detail{background:#1a2332}
:root.dark .ld-pre{background:#0f172a;border-color:var(--line)}
