:root { --ink:#222820; --accent:#d85d37; --paper:#f6f5ef; --line:#dedfd5; --muted:#71776c; --primary:#d85d37; --primary-hover:#ba4826; --text:#222820; --bg:#f6f5ef; --border:#dedfd5; }
* { box-sizing:border-box; }
:root { --primary:#2563eb; --primary-hover:#1d4ed8; }
.login-submit { background:#2563eb !important; }
.login-submit:hover { background:#1d4ed8 !important; }
.dashboard-page button.secondary { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.dashboard-page button.secondary:hover { background:#dbeafe; }
.decision-question { padding:16px; margin:12px 0; border:1px solid var(--line); border-radius:10px; background:#fafbf8; }
#modelWorkspace #chatLog { background:#f8fafc; color:var(--ink); border:1px solid #e2e8f0; border-radius:10px; padding:16px; }
#chatLog:empty::before { content:'有什么想聊的？从一个问题开始。'; color:var(--muted); font-family:inherit; }
#chatLog > div { padding:10px 0; font-family:inherit; }
#systemOneSendBtn { margin-top:16px; }
#systemOneResult { overflow-x:auto; }
[hidden] { display:none !important; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--accent); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
:focus-visible { outline:3px solid #d85d3766; outline-offset:3px; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px 0; border-bottom:1px solid var(--line); }
.brand { font-size:21px; font-weight:700; letter-spacing:-.7px; display:flex; align-items:center; gap:10px; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; background:var(--ink); color:var(--paper); width:39px; height:39px; font-size:34px; line-height:1; border-radius:11px; font-family:Georgia,serif; }
.site-header nav { display:flex; align-items:center; flex-wrap:wrap; gap:24px; font-size:13px; }
.eyebrow { color:var(--accent); letter-spacing:2px; font-size:11px; font-weight:700; margin:0 0 20px; }
.site-shell { max-width:1260px; margin:auto; padding:0 48px; }
.landing { min-height:calc(100vh - 175px); display:grid; grid-template-columns:1fr 440px; align-items:center; gap:80px; padding:64px 0; }
.hero h1 { font-size:clamp(42px,4.6vw,66px); line-height:1.23; font-weight:600; letter-spacing:-3px; margin:0 0 26px; }
.hero h1 em { color:var(--accent); font-style:normal; }
.hero-copy { max-width:380px; color:var(--muted); font-size:16px; line-height:1.9; }
.orbit-art { margin:46px 0 22px; width:min(100%,350px); height:130px; position:relative; overflow:hidden; }
.orbit-art::before,.orbit-art::after { content:''; position:absolute; width:190px; height:90px; border:1px solid #9da48f; border-radius:50%; top:15px; transform:rotate(-28deg); }
.orbit-art::after { left:120px; transform:rotate(28deg); border-color:var(--accent); }
.orbit-art span { position:absolute; top:14px; left:185px; width:11px; height:11px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 6px #d85d3710; }
.hero-tags { display:flex; gap:18px; color:var(--muted); font-size:12px; }
.hero-tags span::before { content:'↗'; color:var(--accent); margin-right:5px; }
.login-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:34px; box-shadow:0 18px 60px #26301b06; }
.login-card h2 { font-size:26px; letter-spacing:-.8px; margin:0 0 5px; }
.login-card .intro { color:var(--muted); font-size:13px; margin:0 0 26px; }
.segment { display:flex; padding:4px; background:#f5f5f0; border-radius:10px; gap:4px; margin:16px 0; }
.segment button { flex:1; background:none; border:0; padding:9px 10px; font-size:13px; color:var(--muted); border-radius:7px; }
.segment button[aria-pressed=true] { background:white; box-shadow:0 1px 4px #0000000d; color:var(--ink); font-weight:600; }
.login-card label,.key-form label { display:block; font-size:12px; font-weight:600; margin-bottom:7px; }
.login-card input,.login-card select,.key-form input { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font-size:14px; }
.login-card input:focus { outline:2px solid #d85d3755; border-color:var(--accent); }
.login-card .field { margin:17px 0; }
.login-card .phone-row { display:flex; gap:8px; align-items:center; }
.login-card .phone-row select {
    flex:0 0 126px; width:126px; height:48px; padding:0 32px 0 13px;
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center;
}
.login-card .phone-row input { flex:1; min-width:0; height:48px; }
.code-row { display:flex; gap:8px; }
.code-row input { min-width:0; }
.code-row button { white-space:nowrap; border:1px solid var(--line); border-radius:9px; background:white; color:var(--ink); padding:0 13px; font-size:12px; }
.login-submit { width:100%; border:0; border-radius:9px; padding:13px; background:var(--ink); color:#fff; margin-top:6px; font-weight:600; }
.login-submit:hover { background:#3b4437; }
.login-note { font-size:11px; color:var(--muted); text-align:center; margin:12px 0 0; }
.login-divider { display:flex; align-items:center; gap:13px; color:#92978c; font-size:11px; margin:24px 0 18px; }
.login-divider::before,.login-divider::after { content:''; flex:1; border-top:1px solid var(--line); }
.feishu-login { width:100%; padding:11px; border:1px solid var(--line); border-radius:9px; background:white; color:var(--ink); }
.login-message { min-height:23px; font-size:12px; color:#b63829; margin-top:12px; }
.login-message.success { color:#377442; }
.site-footer { padding:22px 0; border-top:1px solid var(--line); color:var(--muted); display:flex; justify-content:space-between; gap:16px; font-size:11px; }
.dashboard-page { padding:0 32px 40px; }
.dashboard-page .container { max-width:1280px; }
.dashboard-page:not(.dashboard-ready) > .container { display:none; }
.session-gate { text-align:center; padding:25vh 24px; color:var(--muted); }
.session-gate a { display:block; margin-top:18px; font-size:13px; }
.workspace-intro { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:48px 0 30px; }
.workspace-intro .eyebrow { margin-bottom:10px; }
.workspace-intro h1 { font-size:34px; font-weight:600; letter-spacing:-1px; }
.workspace-intro .subtitle { margin:9px 0 0; }
.dashboard-page .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.dashboard-page .card { border-radius:15px; padding:24px; box-shadow:none; min-width:0; }
.dashboard-page h2 { margin-top:0; font-size:18px; border:0; }
.dashboard-page button { border-radius:7px; }
.dashboard-page .pair { grid-template-columns:repeat(2,minmax(0,1fr)); }
.key-card { grid-column:1/-1; }
.account-panel { grid-column:1/-1; }
.profile-nav { position:relative; }
.dashboard-page .profile-toggle { display:flex; align-items:center; gap:9px; background:white; color:var(--ink); border:1px solid var(--line); padding:7px 12px; }
.profile-chevron { flex-shrink:0; margin-left:5px; color:var(--muted); transition:transform .18s ease,color .18s ease; }
.profile-toggle:hover .profile-chevron { color:var(--primary); }
.profile-toggle[aria-expanded=true] .profile-chevron { transform:rotate(180deg); color:var(--primary); }
@media(prefers-reduced-motion:reduce) { .profile-chevron { transition:none; } }
.profile-avatar { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e8eddf; color:#657653; font-size:13px; }
.profile-menu { position:absolute; right:0; top:calc(100% + 10px); z-index:20; width:225px; padding:8px; background:white; border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 35px #22282018; }
.profile-menu-label { margin:6px 12px 8px; color:var(--muted); font-size:11px; }
.profile-menu a,.profile-menu button { display:block; width:100%; padding:10px 12px; border-radius:6px; text-align:left; font-size:13px; }
.profile-menu a:hover,.profile-menu a[aria-current=page] { background:var(--paper); color:var(--accent); }
.dashboard-page .profile-menu button { margin-top:6px; border:0; border-top:1px solid var(--line); background:white; color:#b7442c; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.section-title .eyebrow { margin-bottom:5px; }
.key-form { display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end; margin:20px 0; }
.key-form button { padding:12px 20px; }
.key-form input { padding:10px 12px; }
.key-message { color:var(--muted); font-size:13px; min-height:21px; }
.secret-box { background:#f4f7ef; border:1px solid #ccd6be; padding:18px; border-radius:10px; margin-bottom:20px; }
.secret-box strong { font-size:14px; }
.secret-box p { font-size:12px; color:#59654d; margin:5px 0 12px; }
.secret-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.secret-line code { flex:1; overflow-wrap:anywhere; font-size:13px; }
.table-scroll { overflow-x:auto; }
.key-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.key-table th { font-size:11px; color:var(--muted); font-weight:500; background:#fafbf7; }
.key-table th,.key-table td { padding:13px 12px; border-bottom:1px solid #eceee5; }
.key-table code { white-space:nowrap; }
.key-table button { font-size:12px; background:transparent; color:#b7442c; border:1px solid #e5c9c0; }
.key-badge { border-radius:5px; padding:3px 7px; font-size:11px; background:#eaf1e1; color:#526c35; }
.key-badge.off { background:#f0f0ec; color:#8a8e83; }
.key-empty { text-align:center; color:var(--muted); padding:28px !important; }
.revoke-dialog { width:min(430px,calc(100vw - 32px)); border:1px solid var(--line); border-radius:16px; padding:28px; }
.revoke-dialog::backdrop { background:#1a211a66; }
.revoke-dialog p { font-size:14px; color:var(--muted); }
.revoke-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
@media(max-width:1000px) { .landing { gap:35px; grid-template-columns:1fr 400px; } .site-shell { padding:0 28px; } .hero h1 { font-size:46px; } }
@media(max-width:760px) { .landing { grid-template-columns:1fr; padding:32px 0; gap:26px; } .hero h1 { font-size:38px; letter-spacing:-1.5px; } .hero-copy { font-size:14px; } .orbit-art,.hero-tags { display:none; } .hero .eyebrow { margin-bottom:14px; } .site-header { padding:21px 0; } .site-header nav { gap:12px; } .login-card { padding:26px; } .site-shell { padding:0 20px; } .dashboard-page { padding:0 16px 25px; } .dashboard-page .grid,.dashboard-page .pair { grid-template-columns:1fr; } .workspace-intro { align-items:flex-start; flex-direction:column; gap:10px; padding:30px 0; } .workspace-intro h1 { font-size:28px; } .dashboard-page .site-header { flex-wrap:wrap; } .key-form { grid-template-columns:1fr; } .site-footer { flex-wrap:wrap; } }

/* 登录表单与账户导航 */
.login-card { padding:36px; border-color:#e3e6ec; box-shadow:0 12px 44px #21355008; }
.login-card h2 { font-size:25px; letter-spacing:-.7px; line-height:1.35; }
.login-card .intro { margin:10px 0 28px; color:#7b8190; }
.login-card .segment { background:#f2f4f8; border:1px solid #edf0f5; }
.login-card .segment button { min-height:38px; transition:background .15s,color .15s; }
.login-card .segment button[aria-pressed=true] { color:#245bd8; box-shadow:0 2px 6px #263d6710; }
.login-card .segment[aria-label="登录方式"] { padding:0; background:transparent; border:0; border-bottom:1px solid #e8edf4; border-radius:0; gap:22px; }
.login-card .segment[aria-label="登录方式"] button { flex:initial; padding:9px 0; border-radius:0; box-shadow:none; border-bottom:2px solid transparent; }
.login-card .segment[aria-label="登录方式"] button[aria-pressed=true] { border-bottom-color:#2563eb; background:transparent; }
.login-card input,.login-card select { min-height:46px; border-color:#dfe4ed; background:#fcfdff; border-radius:10px; transition:border-color .15s,box-shadow .15s; }
.login-card input:focus { outline:0; border-color:#5083ee; box-shadow:0 0 0 3px #2563eb12; }
.login-card input::placeholder { color:#a0a7b4; }
.login-submit { min-height:48px; border-radius:10px; box-shadow:0 4px 10px #2563eb18; }
.login-note { color:#88909d; line-height:1.7; }
.login-message:empty { display:none; }
.login-divider { margin:24px 0 16px; color:#98a0ad; }
.login-divider::before,.login-divider::after { border-color:#e9edf3; }
.feishu-login { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; border:1px solid #dce5f3; border-radius:10px; color:#32435c; font-size:14px; font-weight:500; transition:background .15s,border-color .15s; }
.feishu-login:hover { background:#f5f8ff; border-color:#a8c4f7; }
.feishu-login img { flex:none; }
.feishu-arrow { color:#8e9cb0; margin-left:5px; }
.dashboard-page .site-header { position:sticky; top:0; z-index:30; background:var(--paper); padding:16px 0; }
.profile-identity { display:flex; flex-direction:column; align-items:flex-start; line-height:1.5; }
.profile-account { font-size:11px; font-weight:400; color:var(--muted); white-space:nowrap; cursor:text; -webkit-user-select:text; user-select:text; }
.dashboard-page .profile-avatar { width:32px; height:32px; }
[data-account-panel] { scroll-margin-top:140px; }
@media(max-width:760px) { .login-card { padding:26px; } .login-card h2 { font-size:24px; } }
.key-playground { margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.key-example-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.example-curl { background:#1f2937; color:#dbeafe; padding:18px; border-radius:10px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.example-result { background:#f8fafc; border:1px solid #e2e8f0; padding:16px; border-radius:10px; white-space:pre-wrap; overflow-wrap:anywhere; min-height:65px; }
#keyExampleStatus { margin-left:12px; }
@media(max-width:760px) { .key-example-fields { grid-template-columns:1fr; gap:0; } }
.key-dialog-form { grid-template-columns:1fr; }
.protocol-options { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 20px; }
.dashboard-page .protocol-options button { background:#f4f6fa; color:#526078; border:1px solid #e0e6ef; padding:9px 14px; }
.dashboard-page .protocol-options button[aria-pressed=true] { background:#eff6ff; color:#1d4ed8; border-color:#2563eb; box-shadow:0 0 0 1px #2563eb; }
