:root{--bg:#f7fafc;--panel:rgba(255,255,255,.86);--panel-solid:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--soft:#f1f5f9;--accent:#0ea5e9;--accent2:#14b8a6;--danger:#ef4444;--shadow:0 16px 40px rgba(15,23,42,.07)}
.model-selection-tip{margin:-8px 0 16px;color:var(--muted);font-size:12px;line-height:1.6}
.referral-page{max-width:900px}.referral-hero{text-align:center;margin:10px auto 28px}.referral-hero h1{margin:7px 0 10px;font-size:clamp(32px,5vw,46px);letter-spacing:-.04em}.referral-share-card,.referral-redeem-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.referral-share-card h2{font-family:"JetBrains Mono",Consolas,monospace;font-size:22px;letter-spacing:.03em;margin:8px 0}.referral-share-card p,.referral-reward p,.referral-login-card p,.referral-redeem-panel p{color:var(--muted);font-size:13px}.referral-rewards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.referral-reward{display:flex;flex-direction:column;align-items:flex-start}.referral-reward.ready{border-color:var(--accent);box-shadow:0 14px 32px rgba(14,165,233,.13)}.referral-reward h2{margin:13px 0 4px}.referral-reward .btn-primary,.referral-reward .btn-secondary{margin-top:auto}.reward-number{padding:5px 9px;border-radius:99px;background:rgba(14,165,233,.1);color:var(--accent);font-size:11px;font-weight:800}.referral-login-card{text-align:center;padding:44px}.referral-login-card .btn-primary{margin-top:10px}.referral-redeem-panel{margin-top:16px}.referral-redeem-panel h2{margin:7px 0}.referral-redeem-panel p{margin:0}.referral-redeem-form{display:flex;gap:9px;flex:1;min-width:min(100%,360px)}.error-text{color:var(--danger)!important}@media(max-width:600px){.referral-rewards{grid-template-columns:1fr}.referral-redeem-form{flex-direction:column;width:100%}.referral-share-card,.referral-redeem-panel{align-items:stretch}}
.service-alert{max-width:1320px;margin:0 auto 18px;padding:13px 16px;display:flex;align-items:center;gap:10px;border:1px solid #f59e0b;border-radius:12px;background:rgba(245,158,11,.12);color:#b45309;text-decoration:none;font-size:13px}.dark .service-alert{color:#fbbf24}.service-alert small{margin-left:auto;color:inherit;opacity:.75}.service-alert.hidden{display:none}
.dark{--bg:#08111f;--panel:rgba(15,23,42,.86);--panel-solid:#0f172a;--text:#e5eef9;--muted:#94a3b8;--line:#263449;--soft:#172235;--shadow:0 20px 50px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,rgba(14,165,233,.09),transparent 30%),var(--bg);font-family:Inter,"Noto Sans SC","PingFang SC",system-ui,sans-serif;color:var(--text);transition:background .2s,color .2s}button,input,textarea,select{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:26px 18px;background:var(--panel);border-right:1px solid var(--line);backdrop-filter:blur(18px);display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px;color:var(--text);font-size:18px;font-weight:750;text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 18px rgba(14,165,233,.25)}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--muted);padding:11px 12px;border-radius:11px;text-decoration:none;cursor:pointer;transition:.18s}.nav-item i{width:18px;text-align:center}.nav-item:hover,.nav-item.active{color:var(--text);background:var(--soft)}.nav-item.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:6px}.user-chip{display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid var(--line);margin-top:8px}.avatar{width:32px;height:32px;flex:none;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#2dd4bf);color:#fff;font-weight:700}.avatar.large{width:64px;height:64px;border-radius:20px;font-size:24px}.main-content{min-width:0;width:calc(100% - 244px);margin-left:244px;padding:42px}.mobile-header{display:none}.page-wrap{max-width:1320px;margin:auto}.page-wrap.narrow{max-width:1100px}.page-title-row,.hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:30px}.hero-row h1,.page-title-row h1{font-size:clamp(28px,4vw,46px);line-height:1.12;letter-spacing:-.035em;margin:5px 0 12px;max-width:720px}.page-title-row h1{font-size:36px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--accent);margin:0;text-transform:uppercase}.subtitle,.hint,.microcopy{color:var(--muted)}.subtitle{margin:0;font-size:16px}.microcopy{font-size:11px;margin:12px 0 0}.panel,.quota-card,.stat-card,.record-card,.empty-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(16px);border-radius:18px}.quota-card{width:280px;flex:none;padding:20px}.quota-line{display:flex;justify-content:space-between;margin:17px 0 7px;font-size:13px}.status-dot,.live-dot{width:9px;height:9px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.progress{height:6px;border-radius:99px;background:var(--soft);overflow:hidden}.progress.large{height:9px}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));max-width:100%}.form-stack{display:flex;flex-direction:column;gap:20px}.panel{padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-heading>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.panel-heading h2{font-size:17px;margin:0}.step{font-size:11px;font-weight:800;color:var(--accent);background:rgba(14,165,233,.1);padding:5px 7px;border-radius:7px}.hint{font-size:12px}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-card{position:relative;padding:18px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:var(--panel-solid);transition:.18s}.model-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(15,23,42,.08)}.model-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(14,165,233,.12)}.model-card input{position:absolute;opacity:0}.model-card h3,.manage-card h3,.record-card h3{margin:0 0 4px;font-size:16px}.model-card p,.manage-card p,.record-card p{color:var(--muted);font-size:12px;margin:0}.effort,.group-pill,.free-badge{font-size:10px;font-weight:750;border-radius:99px;padding:5px 9px;background:var(--soft);color:var(--muted)}.free-badge{display:inline-block;color:#0f766e;background:rgba(20,184,166,.12);margin-top:10px}.difficulty-range{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}.difficulty-range span{font-size:9px;font-weight:750;border-radius:99px;padding:4px 7px;color:var(--tag);background:color-mix(in srgb,var(--tag) 12%,transparent);border:1px solid color-mix(in srgb,var(--tag) 28%,transparent)}.field{display:flex;flex-direction:column;gap:8px;margin-top:16px}.field>span{font-size:12px;font-weight:650;color:var(--muted)}input,textarea,select{width:100%;color:var(--text);background:var(--panel-solid);border:1px solid var(--line);border-radius:11px;padding:11px 13px;outline:0;transition:.18s}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(14,165,233,.12)}.code-input,.stream-output,pre code{font-family:"JetBrains Mono","Fira Code",Consolas,monospace}.code-input{font-size:13px;tab-size:4}.submit-row{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:16px}.captcha-wrap{display:flex;gap:8px;max-width:260px}.captcha-wrap img{height:42px;width:130px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.btn-primary,.btn-secondary,.btn-quiet{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:11px;padding:10px 15px;cursor:pointer;text-decoration:none;font-weight:650;transition:.18s}.btn-primary{background:linear-gradient(135deg,var(--accent),#0284c7);color:#fff;box-shadow:0 8px 20px rgba(14,165,233,.2)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--panel-solid);border:1px solid var(--line);color:var(--text)}.btn-quiet{padding:7px 10px;background:var(--soft);color:var(--muted)}.btn-large{padding:13px 22px}.actions{display:flex;gap:8px}.details-panel{padding:0;margin-bottom:14px}.details-panel summary{display:flex;align-items:center;gap:9px;cursor:pointer;padding:18px 22px;font-weight:700;list-style:none}.details-panel summary span{font-size:11px;color:var(--muted);font-weight:500}.details-panel summary i{margin-left:auto;transition:.2s}.details-panel[open] summary i{transform:rotate(180deg)}.details-panel .markdown-body,.details-panel pre{border-top:1px solid var(--line);margin:0;padding:22px}.response-panel{min-height:300px}.live-dot{display:inline-block;margin-right:2px;animation:pulse 1.7s infinite}.live-dot.done{animation:none}.live-dot.error{background:var(--danger);box-shadow:0 0 0 5px rgba(239,68,68,.12);animation:none}.stream-status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:10px 0}.stream-status.error{color:var(--danger)}.stream-spinner{width:17px;height:17px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.stream-spinner.small{width:14px;height:14px}.stream-output{white-space:pre-wrap;word-break:break-word;background:transparent;color:var(--text);font-size:14px;line-height:1.75;padding:12px 0;margin:0;overflow:visible}.markdown-body{font-size:15px;line-height:1.75;overflow-wrap:anywhere}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1.5em 0 .6em;letter-spacing:-.02em}.markdown-body p{margin:.7em 0}.markdown-body pre,pre{overflow:auto;background:#0b1220;color:#dbeafe;border-radius:12px;padding:16px}.dark .markdown-body pre,.dark pre{background:#050b14}.markdown-body table{width:100%;border-collapse:collapse}.markdown-body th,.markdown-body td{padding:8px;border:1px solid var(--line)}.markdown-body blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--accent);color:var(--muted)}.error-state{display:flex;gap:14px;padding:20px;color:var(--danger);background:rgba(239,68,68,.07);border-radius:12px}.error-state h3,.error-state p{margin:0}.record-grid,.management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.record-card{display:block;padding:18px;text-decoration:none;color:var(--text);transition:.18s}.record-card:hover{transform:translateY(-2px);border-color:var(--accent)}.record-id{font-family:monospace;color:var(--accent);font-size:12px}.record-card h3{margin-top:22px}.record-meta{display:flex;justify-content:space-between;margin-top:18px;color:var(--muted);font-size:11px}.state{font-size:10px;padding:4px 8px;border-radius:99px;background:var(--soft);color:var(--muted)}.state-1{color:#16a34a;background:rgba(34,197,94,.1)}.state-2{color:#dc2626;background:rgba(239,68,68,.1)}.empty-card{text-align:center;padding:70px 20px}.empty-card h2{margin:14px 0 6px}.empty-card p{color:var(--muted);margin:0 0 20px}.empty-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:auto;background:var(--soft);color:var(--accent);font-weight:800}.empty-inline{grid-column:1/-1;text-align:center;padding:30px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:18px;margin-top:24px}.pagination a{color:var(--accent)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-panel,.plan-panel{grid-column:1/-1;display:flex;align-items:center;gap:16px}.profile-panel h2,.profile-panel p{margin:0 0 5px}.profile-panel p,.usage-panel p,.plan-panel p{color:var(--muted)}.usage-panel .panel-heading{margin:0 0 16px}.usage-panel>p{font-size:12px;margin-bottom:0}.plan-panel{justify-content:space-between;flex-wrap:wrap}.plan-price{font-size:24px;font-weight:800}.plan-price small{font-size:12px;color:var(--muted);font-weight:500}.admin-wrap{display:flex;flex-direction:column;gap:18px}.admin-wrap>.page-title-row{margin-bottom:5px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{padding:18px;display:flex;flex-direction:column;min-height:112px}.stat-card>span{font-size:12px;color:var(--muted)}.stat-card strong{font-size:21px;margin-top:14px;word-break:break-word}.stat-card small{font-size:11px;color:var(--muted);margin-top:4px}.skeleton{animation:pulseOpacity 1s infinite}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-box{height:270px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;font-weight:650;padding:10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);margin-top:3px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;color:var(--muted);padding:11px 17px;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--accent);border-color:var(--accent)}.hidden{display:none!important}.manage-card{padding:18px;background:var(--panel-solid);border:1px solid var(--line);border-radius:14px}.manage-card dl{margin:18px 0 0}.manage-card dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px}.manage-card dt{color:var(--muted)}.manage-card dd{margin:0;font-weight:650;text-align:right}.card-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.card-actions button{border:0;background:transparent;color:var(--accent);cursor:pointer}.card-actions .danger{color:var(--danger)}.compact-input{max-width:230px;padding:8px 11px}.editor-dialog{width:min(560px,calc(100% - 28px));max-height:90vh;overflow:auto;color:var(--text);background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.3)}.editor-dialog::backdrop{background:rgba(2,6,23,.55);backdrop-filter:blur(4px)}.editor-dialog form{padding:22px}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0;font-size:20px}.icon-btn{width:38px;height:38px;border:0;border-radius:10px;display:grid;place-items:center;color:var(--muted);background:var(--soft);cursor:pointer}.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin:12px 0 24px}.dialog-actions{justify-content:flex-end;gap:8px}.check-field{display:flex;align-items:center;gap:8px;margin-top:17px;font-size:13px}.check-field input{width:auto}.toast{max-width:1320px;margin:0 auto 18px;padding:12px 16px;border:1px solid #86efac;color:#166534;background:#dcfce7;border-radius:11px}.toast.error{border-color:#fca5a5;color:#991b1b;background:#fee2e2}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@keyframes pulseOpacity{50%{opacity:.5}}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.record-grid,.management-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-105%);transition:.22s;width:250px}.sidebar.open{transform:none}.main-content{width:100%;margin:0;padding:76px 16px 28px}.mobile-header{position:fixed;inset:0 0 auto;z-index:40;height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.hero-row,.page-title-row{flex-direction:column}.quota-card{width:100%}.model-grid,.account-grid,.stat-grid,.record-grid,.management-grid{grid-template-columns:1fr}.profile-panel,.plan-panel{grid-column:auto}.submit-row{align-items:stretch;flex-direction:column}.captcha-wrap{max-width:none}.actions{width:100%;flex-wrap:wrap}.dialog-fields{grid-template-columns:1fr}.panel{padding:18px}.hero-row h1{font-size:32px}}

/* 紧凑模型选择卡片 */
.model-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.model-card{padding:13px;border-radius:12px;min-width:0}
.model-card h3{font-size:14px;margin-bottom:2px}
.model-card p{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-card .effort{padding:4px 7px;font-size:9px}
.model-card .difficulty-range{gap:4px;margin-top:9px}
.model-card .difficulty-range span{font-size:8.5px;padding:3px 6px}
.model-card .free-badge{margin-top:7px;padding:4px 7px;font-size:9px}
.model-card.unavailable{cursor:not-allowed;opacity:.58;filter:grayscale(.35)}
.model-card.unavailable:hover{transform:none;box-shadow:none;border-color:var(--line)}
.unavailable-badge{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:99px;background:rgba(100,116,139,.12);color:var(--muted);font-size:9px;font-weight:750}

/* 卡片右上角徽标不能被 flex 的默认 stretch 拉成圆块 */
.effort,.state{align-self:flex-start;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:24px;line-height:1.15;white-space:nowrap}
.model-card .effort{min-height:0;line-height:1.2}

/* 管理弹窗表单 */
.editor-dialog form{padding:24px}
.editor-dialog .dialog-fields{gap:3px 16px;margin:16px 0 24px}
.editor-dialog .field{gap:7px;margin-top:10px}
.editor-dialog .field>span{font-size:12px;line-height:1.35}
.editor-dialog input:not([type=checkbox]),.editor-dialog select{height:42px;min-height:42px;padding:9px 12px;font-size:14px;line-height:1.25;border-radius:10px}
.editor-dialog input[type=number]{appearance:textfield;-moz-appearance:textfield;font-variant-numeric:tabular-nums}
.editor-dialog input[type=number]::-webkit-inner-spin-button,.editor-dialog input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.editor-dialog .check-field input{width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--accent)}
.editor-dialog .field>.field-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted)}
.editor-dialog .field-label>span{font-size:12px;font-weight:650}
.currency-conversion{display:inline-block;min-height:16px;color:var(--accent);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.dialog-actions{padding-top:2px}
.icon-btn{font-size:16px}
@media(max-width:760px){.model-grid{grid-template-columns:1fr}.editor-dialog form{padding:20px}.editor-dialog .dialog-fields{grid-template-columns:1fr}}
.mistake-type-field{border:0;padding:0}.mistake-type-field legend{padding:0;font-size:12px;font-weight:650;color:var(--muted)}.mistake-type-options{display:flex;flex-wrap:wrap;gap:8px}.mistake-type-options label{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel-solid);cursor:pointer;font-size:13px;transition:.18s}.mistake-type-options label:has(input:checked){border-color:var(--accent);background:rgba(14,165,233,.1);color:var(--accent)}.mistake-type-options input{width:15px;height:15px;margin:0;padding:0;accent-color:var(--accent)}
.model-access{margin-top:12px;padding:9px 10px;border-radius:10px;background:var(--soft)}
.model-access>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:650}
.model-access>div{display:flex;flex-wrap:wrap;gap:5px}
.model-access b{padding:3px 7px;border-radius:99px;background:var(--panel-solid);color:var(--text);font-size:10px;font-weight:650}
.model-access em{color:var(--muted);font-size:11px;font-style:normal}
.group-access-field{grid-column:1/-1;margin:13px 0 2px;padding:0;border:0}
.group-access-field legend{margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:650}
.group-access-field>div{display:flex;flex-wrap:wrap;gap:8px}
.group-access-field label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);cursor:pointer;font-size:12px}
.group-access-field label:has(input:checked){border-color:var(--accent);background:rgba(14,165,233,.1);color:var(--accent)}
.group-access-field input{width:15px!important;height:15px!important;min-height:15px!important;margin:0;accent-color:var(--accent)}
.group-access-field small{padding:2px 5px;border-radius:99px;background:rgba(20,184,166,.12);color:#0f766e;font-size:9px}
.test-result{display:block;margin-top:8px;font-size:11px;line-height:1.5;word-break:break-word}.test-result.pending{color:var(--muted)}.test-result.ok{color:#16a34a}.test-result.err{color:var(--danger)}
.empty-hint{margin:24px 0;color:var(--muted);font-size:13px;text-align:center}
.reasoning-panel{margin:0 0 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft);overflow:hidden}.reasoning-panel summary,.reasoning-live-title{display:flex;align-items:center;gap:8px;padding:12px 14px;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;list-style:none}.reasoning-panel summary i:last-child{margin-left:auto;transition:.2s}.reasoning-panel[open] summary i:last-child{transform:rotate(180deg)}.reasoning-panel pre{max-height:280px;overflow:auto;margin:0;padding:0 14px 14px;background:transparent;color:var(--muted);font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:12px;line-height:1.65;white-space:pre-wrap}.reasoning-live-title{padding-bottom:6px}.reasoning-live-title i{color:var(--accent)}
.reasoning-steps{max-height:320px;overflow:auto;list-style:none;margin:0;padding:4px 18px 18px 20px}.reasoning-steps li{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;padding:7px 0;color:var(--muted);font-size:12px;line-height:1.6}.reasoning-steps li:not(:last-child)::after{content:"";position:absolute;left:5px;top:21px;bottom:-7px;width:1px;background:var(--line)}.reasoning-step-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;border:2px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:50%;background:var(--panel-solid)}.reasoning-steps li.active .reasoning-step-marker{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}.reasoning-step-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.reasoning-summary{display:flex;align-items:center;width:100%;gap:9px;padding:11px 14px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer}.reasoning-summary>i:first-child{color:var(--accent)}.reasoning-summary span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reasoning-summary span.live{color:var(--muted);animation:reasoningTextBlink 2.4s ease-in-out infinite}@supports ((-webkit-background-clip:text) or (background-clip:text)){.reasoning-summary span.live{color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,var(--muted) 0%,var(--muted) 26%,color-mix(in srgb,var(--muted) 66%,#ffffff) 38%,color-mix(in srgb,var(--muted) 56%,#ffffff) 50%,color-mix(in srgb,var(--muted) 66%,#ffffff) 62%,var(--muted) 74%,var(--muted) 100%);background-size:200% 100%;background-repeat:repeat-x;-webkit-background-clip:text;background-clip:text;animation:reasoningTextShimmer 4s linear infinite}}@keyframes reasoningTextShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}.reasoning-summary>i:last-child{margin-left:auto;font-size:11px;transition:transform .2s}.reasoning-summary.open>i:last-child{transform:rotate(180deg)}.reasoning-live-indicator{display:none;width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent)}.reasoning-summary:has(.live) .reasoning-live-indicator{display:block;animation:reasoningBlink 1.15s ease-in-out infinite}.reasoning-summary:has(.live)>i:last-child{margin-left:0}.reasoning-chain{border-top:1px solid var(--line)}.tool-node{grid-template-columns:16px minmax(0,1fr)!important}.tool-marker{display:grid;place-items:center;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel-solid));color:var(--accent);font-size:6px}.tool-node-body{min-width:0}.tool-node-head{display:flex;align-items:center;width:100%;padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:12px;text-align:left;cursor:pointer}.tool-node-head b{font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-weight:700}.tool-node-head>i{margin-left:auto;color:var(--muted);font-size:10px;transition:transform .2s}.tool-node.expanded .tool-node-head>i{transform:rotate(180deg)}.tool-node-detail{display:none;margin-top:8px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid)}.tool-node.expanded .tool-node-detail{display:block}.tool-detail-label{margin:0 0 4px;color:var(--muted);font-size:10px;font-weight:700}.tool-node-detail pre{max-height:210px;margin:0 0 10px!important;padding:0!important;overflow:auto;background:transparent!important;color:var(--muted)!important;font-size:11px!important;white-space:pre-wrap}.tool-node-detail pre:last-child{margin-bottom:0!important}@keyframes reasoningBlink{50%{opacity:.25;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 13%,transparent)}}@keyframes reasoningTextBlink{50%{opacity:.38}}
.redebug-dialog{padding:22px}.redebug-dialog>.hint{margin:12px 0 0}.redebug-dialog .dialog-fields{margin-bottom:10px}.redebug-dialog .dialog-fields button{justify-content:center}.redebug-model-locked{opacity:.5;cursor:not-allowed}.redebug-extra-field{margin-top:8px}.redebug-dialog .dialog-actions{margin-top:22px}
.pricing-wrap{max-width:1220px}.pricing-hero{text-align:center;max-width:680px;margin:12px auto 26px}.pricing-hero h1{margin:8px 0 12px;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}.current-plan-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px;padding:14px 18px;border:1px solid rgba(14,165,233,.26);border-radius:14px;background:linear-gradient(100deg,rgba(14,165,233,.12),rgba(20,184,166,.08));color:var(--muted);font-size:13px}.current-plan-banner>div{display:flex;align-items:center;gap:10px}.current-plan-banner strong{color:var(--text);font-size:15px}.current-plan-label{padding:4px 8px;border-radius:99px;background:var(--panel-solid);color:var(--accent);font-size:10px;font-weight:800}.pricing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}.pricing-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:22px 19px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.pricing-card.current{border:2px solid var(--accent);box-shadow:0 16px 38px rgba(14,165,233,.16)}.pricing-card-head p{margin:0 0 8px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.pricing-card-head h2{min-height:44px;margin:0;color:var(--text);font-size:17px;line-height:1.35}.pricing-price{display:flex;align-items:baseline;gap:5px;margin:22px 0 5px}.pricing-price strong{font-size:30px;letter-spacing:-.04em}.pricing-price span{color:var(--muted);font-size:12px}.pricing-price.pending strong{font-size:20px}.pricing-quota{min-height:38px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.pricing-divider{height:1px;margin:18px 0;background:var(--line)}.pricing-includes-title{margin:0 0 10px;color:var(--text);font-size:12px;font-weight:750}.pricing-includes{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.pricing-includes li{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:1.45}.pricing-includes i{margin-top:2px;color:var(--accent2);font-size:10px}.pricing-action{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:auto;padding-top:18px;color:var(--accent);font-size:12px;font-weight:750;text-decoration:none}.current-action{color:var(--muted)}.current-card-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:99px;background:var(--accent);color:#fff;font-size:9px;font-weight:800}.pricing-card.current .pricing-card-head{padding-right:66px}@media(max-width:1080px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.current-plan-banner{align-items:flex-start;flex-direction:column}.pricing-grid{grid-template-columns:1fr}.pricing-card-head h2{min-height:auto}}
:root{--token-audit-marker:1}
.token-audit{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-10px 0 20px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);font-size:12px}.token-audit strong{color:var(--text)}.audit-warning{color:#b45309}.record-tokens{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}.record-tokens span{padding:4px 7px;border-radius:6px;background:var(--soft)}.record-tokens .tokens-missing{color:#b45309;background:rgba(245,158,11,.1)}.record-tokens .record-upstream{color:var(--accent);background:rgba(14,165,233,.1);font-weight:600}.btn-danger{display:inline-flex;align-items:center;gap:9px;border-radius:11px;padding:10px 15px;cursor:pointer;text-decoration:none;font-weight:650;transition:.18s;background:var(--panel-solid);border:1px solid var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.stream-elapsed{margin-left:10px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.working-time-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
/* === 订阅卡密与紧凑卡片（追加） === */
.pricing-card{padding:18px 14px}.pricing-card-head h2{min-height:34px;font-size:15px}.pricing-card-head p{font-size:10px}.pricing-price{margin:14px 0 4px}.pricing-price strong{font-size:23px}.pricing-quota{min-height:34px;font-size:11px}.pricing-divider{margin:12px 0}.pricing-includes-title{margin:0 0 8px;font-size:11px}.pricing-includes{gap:8px}.pricing-includes li{font-size:11px}.pricing-action{min-height:34px;padding-top:14px;font-size:11px}.current-card-badge{top:8px;right:8px}.buy-link{color:var(--accent)}.buy-link:hover{color:var(--accent2)}.buy-link i{margin-left:4px;font-size:9px}
.redeem-card-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(20,184,166,.26);border-radius:14px;background:linear-gradient(100deg,rgba(20,184,166,.1),rgba(14,165,233,.07))}.redeem-card-info h2{margin:2px 0 6px;font-size:18px}.redeem-card-info>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:560px}.card-redeem-form{display:flex;gap:8px;flex-wrap:wrap;min-width:min(420px,100%)}.card-redeem-form input{flex:1;min-width:240px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-size:13px;outline:none}.card-redeem-form input:focus{border-color:var(--accent)}.card-redeem-form .btn-primary{white-space:nowrap}.card-redeem-message{margin:10px 0 0;width:100%}.card-redeem-message.error-text{color:var(--danger)}
.card-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}.card-toolbar .compact-input{max-width:180px}.card-code{font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:12px;letter-spacing:.03em;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;color:var(--muted);font-size:12px}.pager button{padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);color:var(--text);cursor:pointer;font-size:12px}.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pager button:disabled{opacity:.45;cursor:not-allowed}
.pager input.user-jump-input{width:64px;min-width:0;max-width:none;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);color:var(--text);font:inherit;font-size:12px;text-align:center;outline:none}.pager input.user-jump-input:focus{border-color:var(--accent)}
.group-invite-banner{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:13px 18px;border:1px solid rgba(14,165,233,.26);border-radius:14px;background:linear-gradient(100deg,rgba(14,165,233,.12),rgba(20,184,166,.08));color:var(--muted);font-size:13px;text-align:center}.group-invite-banner a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:750;text-decoration:none;transition:.18s}.group-invite-banner a:hover{color:var(--accent2);text-decoration:underline}.group-invite-banner a i{font-size:10px}
.card-redeem-message.success-text{color:#16a34a}
/* Keep the five plans on one compact desktop/tablet row; phones still stack them. */
@media (min-width:601px) and (max-width:1080px){.pricing-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* 登录前用户协议确认弹窗 */
.terms-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,17,31,.5);backdrop-filter:blur(4px)}.terms-modal.hidden{display:none}.terms-modal-box{width:min(430px,100%);background:var(--panel-solid);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.terms-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.terms-modal-head h3{margin:0;font-size:17px}.terms-modal-text{margin:0 0 14px;color:var(--muted);font-size:13.5px;line-height:1.6}.terms-modal-link{display:inline-flex;align-items:baseline;gap:4px;color:var(--accent);font-weight:650;text-decoration:underline;text-underline-offset:3px;margin-bottom:14px}.terms-modal-link:hover{color:var(--accent2)}.terms-modal-link i{font-size:10px;align-self:center}.terms-agree-check{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;color:var(--text);padding:10px 0}.terms-agree-check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.terms-agree-error{margin:0 0 4px;color:var(--danger);font-size:12.5px}.terms-agree-error.hidden{display:none}.terms-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
/* 首页：条款更新提示横幅（可关闭、按版本记住，不打断操作） */
.terms-update-banner{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:13px 16px;border:1px solid rgba(14,165,233,.32);border-left:4px solid var(--accent);border-radius:12px;background:linear-gradient(100deg,rgba(14,165,233,.12),rgba(20,184,166,.08));box-shadow:0 10px 26px rgba(14,165,233,.1)}.terms-update-banner.hidden{display:none}.terms-update-banner-icon{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:16px;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 6px 14px rgba(14,165,233,.3)}.terms-update-banner-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.7;color:var(--muted)}.terms-update-banner-body strong{color:var(--text);font-size:13.5px}.terms-update-banner-body a{display:inline-flex;align-items:center;gap:5px;margin-top:2px;color:var(--accent);font-weight:650;text-decoration:none;width:fit-content}.terms-update-banner-body a:hover{color:var(--accent2);text-decoration:underline;text-underline-offset:3px}.terms-update-banner-body a i{font-size:9px}.terms-update-banner-btn{flex:none;white-space:nowrap;padding:8px 15px;border-radius:10px;font-size:12.5px}.terms-update-banner-close{flex:none;color:var(--muted)}.terms-update-banner-close:hover{color:var(--danger)}@media(max-width:760px){.terms-update-banner{align-items:flex-start;flex-wrap:wrap}.terms-update-banner-btn{width:100%}.terms-update-banner-close{position:absolute;top:10px;right:10px}.terms-update-banner{position:relative;padding-right:40px}}
/* 用户协议正式排版 */
.terms-doc{padding:40px 48px;line-height:1.95;font-size:14.5px}.terms-doc-head{border-bottom:2px solid var(--accent);padding-bottom:20px;margin-bottom:26px}.terms-doc-head h2{margin:0 0 12px;font-size:23px;letter-spacing:.02em}.terms-doc-meta{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:12.5px;line-height:1.7}.terms-doc .clause{margin:0 0 10px;color:var(--text);text-align:justify}.terms-doc .clause .no{display:inline-block;min-width:3em;color:var(--accent);font-weight:750;font-variant-numeric:tabular-nums}.terms-doc section{margin-top:30px}.terms-doc h3{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:8px 14px;background:rgba(14,165,233,.08);border-left:4px solid var(--accent);border-radius:8px;font-size:15.5px;letter-spacing:.02em}.terms-doc ul.sub{margin:0 0 12px;padding-left:3em;list-style:disc;color:var(--text)}.terms-doc ul.sub li{margin-bottom:6px}.terms-doc a{color:var(--accent)}.terms-doc-foot{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px}.terms-doc-foot p{margin:0}@media(max-width:760px){.terms-doc{padding:22px 18px}.terms-doc ul.sub{padding-left:1.6em}}
/* 管理后台：自动封号记录（追加） */
.state-3{color:#2563eb;background:rgba(59,130,246,.12)}.nowrap{white-space:nowrap}.banlog-evidence,.ban-reason{color:var(--muted);font-size:11px;line-height:1.6;word-break:break-all}.banlog-evidence{max-width:360px}.ban-reason{max-width:300px}
/* 管理后台：按对话审计 AI Chat 内容与聚合用量 */
.chat-admin-dialog{width:min(980px,calc(100% - 28px));padding:22px}.chat-admin-dialog>.dialog-head{position:sticky;top:-22px;z-index:2;margin:-22px -22px 12px;padding:18px 22px;border-bottom:1px solid var(--line);background:var(--panel-solid)}.chat-admin-dialog>.dialog-head h2,.chat-admin-dialog>.dialog-head p{margin:0}.chat-admin-dialog>.record-tokens{margin:0 0 14px}.chat-admin-messages{display:flex;flex-direction:column;gap:12px}.chat-admin-message{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.chat-admin-message.assistant{background:var(--panel-solid)}.chat-admin-message header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.chat-admin-message header time{margin-left:auto;color:var(--muted);font-size:10px}.chat-admin-message footer{margin-top:10px;color:var(--muted)}.chat-admin-user-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.chat-admin-reasoning{margin:0 0 12px;color:var(--muted);font-size:11px}.chat-admin-reasoning summary{cursor:pointer;font-weight:700}.chat-admin-reasoning pre{max-height:260px;margin:8px 0 0;padding:12px;white-space:pre-wrap;font-size:11px}
