/* 已批准的 Studio 视觉层；业务页样式由各页面模块负责。 */
:root { --studio-bg:#f7f8fa; --studio-text:#202a29; --studio-muted:#737e7b; --studio-line:#e6eae8; --studio-green:#26715d; --studio-green-soft:#eaf3ee; }
body { margin:0; background:var(--studio-bg); color:var(--studio-text); font-family:var(--ni-font-sans); }
#appShell.web-shell { --ni-sidebar-width:220px; --ni-topbar-height:72px; grid-template-columns:220px minmax(0,1fr); color:var(--studio-text); background:var(--studio-bg); font-size:14px; }
#appShell.web-shell.is-sidebar-collapsed { --ni-sidebar-width:72px; grid-template-columns:72px minmax(0,1fr); }
#webSidebar.web-sidebar { width:auto; height:100dvh; min-width:0; display:flex; flex-direction:column; padding:0; border-right:1px solid var(--studio-line); background:#fff; color:var(--studio-text); box-shadow:none; }
#webSidebar .sidebar-head { min-height:82px; padding:20px; gap:10px; border:0; background:none; }
#webSidebar .brand-mark { width:34px; height:36px; border:0; border-radius:10px; background:var(--studio-green); color:white; font-size:24px; font-weight:750; box-shadow:none; }
#webSidebar .brand-name { font-size:16px; font-weight:750; color:var(--studio-text); letter-spacing:-.5px; }
#webSidebar .brand-subtitle { font-size:9px; letter-spacing:1.1px; line-height:1.65; color:#8a9490; text-transform:uppercase; }
#webSidebar .nav { display:flex; flex:1; min-height:0; flex-direction:column; gap:22px; overflow-y:auto; padding:4px 12px 16px; scrollbar-width:thin; }
#webSidebar .nav-main { display:grid; gap:20px; flex:0 0 auto; }
#webSidebar .nav-group { margin:0; padding:0; border:0; display:grid; gap:4px; }
#webSidebar .nav-group-label { margin:0; padding:0 12px 4px; height:auto; color:#929b97; font-size:11px; font-weight:400; line-height:20px; letter-spacing:0; }
#webSidebar .nav-link { min-height:40px; height:40px; width:100%; padding:0 12px; display:flex; align-items:center; gap:11px; border:0; border-radius:8px; background:transparent; color:#58635f; box-shadow:none; font-size:12px; font-weight:450; line-height:1.4; text-align:left; transition:background 140ms ease,color 140ms ease; }
#webSidebar .nav-link::before,#webSidebar .nav-link::after { display:none; }
#webSidebar .nav-link svg { flex:none; width:17px; height:17px; color:#87948e; }
#webSidebar .nav-link:hover { background:#f4f7f5; color:var(--studio-green); transform:none; }
#webSidebar .nav-link.active,#webSidebar .nav-link.is-selected { background:var(--studio-green-soft); color:var(--studio-green); box-shadow:none; font-weight:650; }
#webSidebar .nav-link.active svg { color:var(--studio-green); }
#webSidebar .nav-bottom { margin-top:auto; padding:0; border:0; flex:0 0 auto; }
#webSidebar .sidebar-footer { flex:0 0 auto; padding:12px; border-top:1px solid var(--studio-line); background:white; }
#webSidebar .nav-collapse { display:flex; width:100%; min-height:34px; padding:7px 12px; align-items:center; gap:11px; border:0; border-radius:8px; color:#87918c; background:transparent; font-size:11px; }
#webSidebar .nav-collapse svg { width:17px; height:17px; }
#webSidebar .nav-collapse:hover { color:var(--studio-green); background:var(--studio-green-soft); }
#appShell.is-sidebar-collapsed #webSidebar .sidebar-head { padding:20px 18px; }
#appShell.is-sidebar-collapsed #webSidebar .brand-copy,#appShell.is-sidebar-collapsed #webSidebar .nav-group-label,#appShell.is-sidebar-collapsed #webSidebar .nav-link-label,#appShell.is-sidebar-collapsed #webSidebar .nav-collapse-label { display:none; }
#appShell.is-sidebar-collapsed #webSidebar .nav-link { justify-content:center; padding:0; }
#appShell.is-sidebar-collapsed #webSidebar .nav-collapse { justify-content:center; padding:7px 0; }
#appShell.is-sidebar-collapsed #webSidebar .nav-main { gap:14px; }
#webMain.web-main { min-width:0; height:100dvh; overflow:auto; background:var(--studio-bg); }
#webTopbar.web-topbar { position:sticky; top:0; z-index:40; min-height:72px; height:72px; padding:0 32px; gap:16px; border-bottom:1px solid var(--studio-line); background:rgba(255,255,255,.97); color:var(--studio-text); box-shadow:none; backdrop-filter:blur(10px); }
#webTopbar .topbar-title { display:flex; align-items:center; gap:16px; margin:0; color:#75817b; font-size:12px; font-weight:400; }
#webTopbar .topbar-title::before { content:'创作工作台'; color:#9aa39e; }
#webTopbar .topbar-title::after { content:none; }
#webTopbar .topbar-actions { gap:12px; flex-wrap:nowrap; min-width:0; }
/* 云端 Web 状态卡与版本号并排；高度与顶栏其它控件统一为 40px。 */
#webTopbar .cloud-status-pill { display:inline-flex; align-items:center; gap:7px; height:40px; min-height:40px; padding:0 11px; border:1px solid var(--studio-line); border-radius:8px; background:#fff; color:#839088; font-size:11px; box-sizing:border-box; white-space:nowrap; }
#webTopbar .version-badge { display:inline-flex; align-items:center; height:40px; min-height:40px; padding:0 11px; border:1px solid var(--studio-line); border-radius:8px; background:#fff; color:#75817b; box-shadow:none; font-size:11px; font-weight:600; letter-spacing:0; line-height:1; box-sizing:border-box; white-space:nowrap; }
#webTopbar .version-badge::before { display:none; }
/* 窄屏与云端状态卡保持同一可见性，顶栏只留图标与账户入口。 */
@media(max-width:840px) { #webTopbar .version-badge { display:none; } }
#webMain .content { max-width:1600px; padding:32px; margin:0 auto; min-width:0; }
#webMain .content>.page,#webMain .content>.wide-page { margin:0; max-width:none; min-width:0; width:100%; }
#appShell :is(.ni-button,.primary-btn,.secondary-btn,.ghost-btn,.compact-btn,.vben-page-btn,.studio-btn) { font-family:inherit; border-radius:7px; box-shadow:none; font-size:12px; font-weight:550; transition:background 140ms ease,border-color 140ms ease; transform:none; }
#appShell :is(.primary-btn,.ni-button:not(.ni-button--secondary):not(.ni-button--ghost):not(.ghost-btn):not(.secondary-btn)):not(:where(.danger,.ni-button--danger)) { background:var(--studio-green); border-color:var(--studio-green); color:#fff; }
#appShell :is(.secondary-btn,.ghost-btn,.compact-btn,.ni-button--secondary,.ni-button--ghost):not(:where(.danger,.ni-button--danger)) { color:#58645e; background:white; border:1px solid var(--studio-line); }
#appShell :is(.primary-btn,.ni-button,.secondary-btn,.ghost-btn) { min-height:38px; padding:9px 14px; }
#appShell button:disabled { cursor:not-allowed; opacity:.5; }
#appShell :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select) { border-color:#dfe5e1; border-radius:7px; background:white; color:var(--studio-text); box-shadow:none; font-family:inherit; font-size:13px; }
#appShell :is(input,textarea,select)::placeholder { color:#99a29c; }
#appShell :is(input,textarea,select):focus { outline:none; border-color:#559680; box-shadow:0 0 0 3px #26715d12; }
#appShell .vben-select-trigger { border-color:#dfe5e1; background:white; box-shadow:none; border-radius:7px; }
#appShell :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid var(--studio-green); outline-offset:3px; }
/* 危险按钮由页面定义红色；全局普通按钮配色不能通过 ID 优先级覆盖它。 */
#appShell :is(button.danger,.ni-button--danger):focus-visible { outline-color:var(--ni-danger, #b64b45); }
.studio-btn { display:inline-flex; gap:8px; justify-content:center; align-items:center; min-height:38px; padding:9px 14px; border:1px solid var(--studio-line); border-radius:7px; background:white; color:var(--studio-text); cursor:pointer; font:550 12px var(--ni-font-sans); text-decoration:none; white-space:nowrap; }
.studio-btn:hover { background:#f4f7f5; }
.studio-btn--primary { background:var(--studio-green); color:white; border-color:var(--studio-green); }
.studio-btn--primary:hover { background:#1d604d; }
.studio-btn svg { width:17px; height:17px; }
.studio-search-trigger { display:flex; gap:8px; align-items:center; border:0; background:none; color:#99a19c; padding:8px; font-size:11px; cursor:pointer; }
.studio-search-trigger svg { width:15px; height:15px; }
.studio-search-trigger kbd { padding:2px 4px; border:1px solid var(--studio-line); font-size:9px; border-radius:3px; background:white; }
.studio-task-shortcut { width:34px; height:34px; border:0; border-left:1px solid var(--studio-line); background:none; color:#69776f; cursor:pointer; padding-left:12px; }
.studio-task-shortcut svg { width:17px; height:17px; }
.studio-account { position:relative; }
.studio-account summary { list-style:none; }
.studio-account summary::-webkit-details-marker { display:none; }
.studio-account-trigger { display:flex; align-items:center; gap:9px; padding:3px 0 3px 7px; border:0; background:transparent; cursor:pointer; color:var(--studio-text); }
.studio-avatar { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:var(--studio-green); background:var(--studio-green-soft); font-size:12px; font-weight:650; flex:none; }
.studio-account-text { min-width:0; display:grid; gap:2px; text-align:left; }
.studio-account-text strong { max-width:96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:550; }
.studio-account-text small { font-size:9px; color:#929b96; }
.studio-account-chevron { font-size:11px; color:#96a099; }
.studio-account-dropdown { position:absolute; top:calc(100% + 14px); right:0; width:190px; padding:6px; border:1px solid var(--studio-line); border-radius:10px; background:white; box-shadow:0 12px 35px #182a211a; z-index:100; }
#appShell .studio-account-dropdown button { width:100%; text-align:left; justify-content:flex-start; padding:10px; border:0; border-radius:5px; background:white; color:var(--studio-text); font-size:12px; cursor:pointer; }
#appShell .studio-account-dropdown button:hover { background:var(--studio-green-soft); }
.studio-dropdown-version { padding:9px 10px; border-top:1px solid var(--studio-line); color:#8a9690; font-size:10px; }
.studio-page-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:24px; }
.studio-page-head h1 { margin:5px 0 0; font-size:28px; line-height:1.35; color:var(--studio-text); font-weight:720; letter-spacing:-1px; }
.studio-page-head p { margin:0; font-size:12px; color:#8b9690; }
.studio-actions { display:flex; gap:10px; }
#homePage.studio-home { display:block; padding:0; background:none; }
#homePage.studio-home.hidden { display:none; }
.studio-home-banner { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr); gap:24px; border:1px solid #e4e9df; border-radius:13px; padding:28px 30px; background:linear-gradient(115deg,#eef1e8,#eef2eb 63%,#e4eade); min-height:252px; }
.studio-banner-copy { position:relative; z-index:1; }
.studio-banner-eyebrow { font-size:9px; color:#859780; letter-spacing:2px; margin:0 0 16px; }
.studio-banner-copy h2 { margin:0; font-size:28px; font-weight:700; line-height:1.45; letter-spacing:-1px; }
.studio-banner-copy h2 span { color:#5c7f61; }
.studio-banner-copy>p:not(.studio-banner-eyebrow) { margin:10px 0 20px; color:#8b9789; font-size:12px; }
.studio-quick-form { display:flex; gap:6px; padding:5px; border:1px solid #dfe5db; background:white; border-radius:8px; }
#appShell #homeQuickPrompt { flex:1; width:0; min-width:0; border:0; background:none; padding:7px 9px; font-size:12px; }
#appShell #homeQuickPrompt:focus { box-shadow:none; }
.studio-quick-form .studio-btn { min-height:34px; padding:8px 10px; font-size:11px; }
.studio-banner-art { position:relative; min-height:190px; }
.studio-banner-art img { position:absolute; border:5px solid white; border-radius:8px; object-fit:cover; box-shadow:0 10px 18px #28372014; }
.studio-banner-art .art-product { left:2%; top:21px; width:42%; height:180px; transform:rotate(-12deg); }
.studio-banner-art .art-interior { right:6%; top:-13px; width:53%; height:212px; transform:rotate(10deg); }
.studio-banner-art .art-orange { right:-4%; bottom:-8px; width:28%; height:94px; transform:rotate(-6deg); }
.studio-banner-art small { position:absolute; left:4%; bottom:-6px; padding:5px 9px; background:#ffffffeb; border-radius:4px; color:#8a9585; font-size:8px; transform:rotate(-5deg); }
.studio-section { margin-top:28px; }
.studio-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:15px; }
.studio-section-head h2 { display:inline; margin:0; font-size:17px; font-weight:650; color:var(--studio-text); letter-spacing:-.4px; }
.studio-section-head small { margin-left:12px; font-size:11px; color:#9aa39d; }
.studio-text-button { border:0; background:none; padding:5px 0; color:#638675; font-size:11px; cursor:pointer; }
.studio-tools { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.studio-tool { display:flex; align-items:center; gap:10px; padding:18px 12px; min-width:0; text-align:left; border:1px solid var(--studio-line); border-radius:10px; background:white; cursor:pointer; color:var(--studio-text); }
.studio-tool:hover { border-color:#aac9b9; background:#fcfefd; }
.studio-tool-icon { flex:none; display:grid; place-items:center; width:32px; height:34px; border-radius:8px; background:#eff5ef; color:#718d79; }
.studio-tool:nth-child(2) .studio-tool-icon { background:#f6f0e8; color:#9a846d; }
.studio-tool:nth-child(3) .studio-tool-icon { background:#eff2f7; color:#8693a4; }
.studio-tool:nth-child(4) .studio-tool-icon { background:#f2eff6; color:#9a87a8; }
.studio-tool:nth-child(5) .studio-tool-icon { background:#f3f2e9; color:#9d9969; }
.studio-tool:nth-child(6) .studio-tool-icon { background:#edf5f3; color:#729891; }
.studio-tool-icon svg { width:20px; height:20px; }
.studio-tool-copy { display:grid; gap:5px; min-width:0; }
.studio-tool-copy strong { font-size:12px; font-weight:600; white-space:nowrap; }
.studio-tool-copy small { font-size:10px; color:#9ba29c; white-space:nowrap; }
.studio-recent-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; min-height:150px; }
.studio-work-card { overflow:hidden; border:1px solid var(--studio-line); border-radius:10px; background:white; min-width:0; }
.studio-work-preview { position:relative; padding:0; border:0; width:100%; aspect-ratio:1.42; display:grid; place-items:center; background:#eef1ee; cursor:pointer; overflow:hidden; color:#87938b; }
.studio-work-preview img { width:100%; height:100%; object-fit:cover; }
.studio-work-kind { position:absolute; left:10px; top:10px; padding:4px 5px; border-radius:5px; background:#fffffff0; color:#64756a; font-size:9px; }
.studio-work-copy { padding:13px 14px; display:grid; gap:9px; }
.studio-work-copy strong { font-size:12px; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:550; }
.studio-work-copy>span { color:#9aa29d; font-size:10px; }
.studio-home-bottom { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr); gap:24px; }
.studio-card { background:white; border:1px solid var(--studio-line); border-radius:12px; padding:22px; min-width:0; }
.studio-card h2 { margin:0; font-size:17px; }
.studio-activity-row { display:flex; gap:12px; align-items:center; width:100%; padding:13px 0; background:none; border:0; border-bottom:1px solid #f0f2ef; text-align:left; cursor:pointer; font-family:inherit; }
.studio-activity-row:last-child { border-bottom:0; }
.studio-activity-icon { background:#f0f5f1; color:#748e7c; display:grid; place-items:center; width:34px; height:34px; border-radius:8px; }
.studio-activity-copy { flex:1; display:grid; gap:5px; min-width:0; }
.studio-activity-copy strong { font-size:12px; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.studio-activity-copy small { font-size:10px; color:#9ba49d; }
.studio-status { border-radius:5px; padding:4px 7px; background:#f0f2f1; color:#8c9690; font-size:10px; }
.studio-status--success { color:#528268; background:#edf5ef; }
.studio-status--running,.studio-status--queued { color:#92793b; background:#faf5e9; }
.studio-status--error { color:#a6635d; background:#fbefed; }
.studio-usage-value { font-size:38px; font-weight:650; letter-spacing:-1.5px; margin:20px 0 8px; line-height:1.2; }
.studio-usage-value small { font-size:12px; font-weight:400; letter-spacing:0; color:#99a39b; }
.studio-usage-caption { font-size:12px; color:#7b8980; }
.studio-usage-note { font-size:11px; color:#99a49c; line-height:1.8; margin:12px 0 0; }
.studio-usage progress { width:100%; height:6px; margin-top:16px; border:0; border-radius:10px; accent-color:var(--studio-green); }
.studio-operations { margin-top:20px; border-top:1px solid var(--studio-line); padding-top:16px; }
.studio-operations summary { font-size:12px; color:#8e9a91; cursor:pointer; }
.studio-operations-grid { display:flex; gap:24px; font-size:11px; color:#8b978f; margin-top:14px; }
.studio-operations-grid strong { font-weight:550; color:#647a6c; margin-left:8px; }
#homePage .home-task-list { margin-top:14px; display:grid; gap:6px; }
#homePage .home-task-row { display:flex; justify-content:space-between; padding:4px 0; border:0; background:none; color:#84958b; font-size:11px; box-shadow:none; }
.studio-empty { grid-column:1/-1; padding:35px 24px; width:100%; box-sizing:border-box; text-align:center; background:#fff; border:1px dashed var(--studio-line); border-radius:12px; color:#92a096; font-size:12px; }
.studio-empty strong { display:block; font-weight:550; color:#687d6f; font-size:14px; }
.studio-empty p { margin:10px 0 16px; line-height:1.8; }
.studio-empty--compact { padding:25px 12px; border:0; }
.studio-account-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:stretch; gap:22px; }
.studio-account-profile { display:flex; gap:16px; align-items:center; padding-bottom:24px; border-bottom:1px solid var(--studio-line); margin-bottom:8px; }
.studio-account-profile .studio-avatar { width:56px; height:56px; font-size:23px; }
.studio-account-profile h2 { font-size:20px; margin:0 0 6px; }
.studio-account-profile p { color:#8c9990; font-size:12px; margin:0; }
.studio-account-data { margin:0; }
.studio-account-data>div { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid #f0f2ef; font-size:12px; }
.studio-account-data dt { color:#8c9890; flex:none; }
.studio-account-data dd { margin:0; text-align:right; color:#52655a; overflow-wrap:anywhere; }
.studio-account-security { margin-top:20px; }
.studio-account-security p { color:#8b9990; font-size:12px; line-height:1.8; }
.studio-search-dialog { width:min(500px,calc(100% - 32px)); max-height:75dvh; padding:16px; border:1px solid var(--studio-line); border-radius:12px; color:var(--studio-text); box-shadow:0 24px 80px #1b352730; font-family:var(--ni-font-sans); }
.studio-search-dialog::backdrop { background:#1b292d55; backdrop-filter:blur(3px); }
.studio-search-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.studio-search-heading h2 { margin:0; font-size:16px; }
#studioSearchInput { width:100%; box-sizing:border-box; min-height:42px; padding:10px 12px; border:1px solid var(--studio-line); border-radius:7px; font:13px var(--ni-font-sans); }
.studio-search-results { display:grid; gap:3px; max-height:45dvh; overflow:auto; margin-top:12px; }
.studio-search-result { display:flex; justify-content:space-between; padding:12px; border:0; border-radius:7px; color:#5b6e62; background:white; text-align:left; cursor:pointer; font:13px var(--ni-font-sans); }
.studio-search-result:hover { background:var(--studio-green-soft); }
#loginScreen.login-editorial { min-height:100dvh; padding:40px; display:grid; place-items:center; background:#f4f6f3; }
#loginScreen.login-editorial.hidden { display:none; }
#loginScreen .login-editorial-shell { width:min(1080px,100%); min-height:620px; max-height:none; display:grid; grid-template-columns:1.1fr 1fr; border:1px solid #e4e9e2; border-radius:18px; overflow:hidden; background:white; box-shadow:0 18px 60px #193d2510; }
#loginScreen .login-editorial-story { padding:38px 40px; min-height:0; background:#edf1e7; color:var(--studio-text); overflow:hidden; }
#loginScreen .login-editorial-story::before,#loginScreen .login-editorial-story::after { display:none; }
#loginScreen .login-editorial-brand { color:#607758; font-size:12px; gap:10px; letter-spacing:0; }
#loginScreen .login-editorial-mark { width:32px; height:34px; color:white; background:var(--studio-green); border:0; border-radius:9px; }
#loginScreen .login-editorial-copy { padding:48px 0 20px; }
#loginScreen .login-editorial-eyebrow { color:#8b9c7f; font-size:9px; letter-spacing:2px; margin-bottom:14px; }
#loginScreen .login-editorial-title { font-size:37px; line-height:1.4; letter-spacing:-1px; color:#34593e; max-width:360px; font-weight:680; }
#loginScreen .login-editorial-lead { color:#87977d; font-size:12px; line-height:1.9; margin-top:16px; }
#loginScreen .login-editorial-visual { min-height:210px; height:230px; background:none; border:0; margin:0; padding:0; }
#loginScreen .login-editorial-visual .studio-banner-art { height:205px; width:88%; margin-left:10px; }
#loginScreen .login-editorial-panel { padding:42px; gap:23px; display:flex; flex-direction:column; justify-content:center; background:white; color:var(--studio-text); }
#loginScreen .login-panel-eyebrow { font-size:9px; letter-spacing:1.8px; color:#91a196; }
#loginScreen .login-panel-heading { font-size:27px; font-weight:650; color:#253d2f; margin:6px 0 10px; }
#loginScreen .login-panel-copy { color:#919d94; font-size:12px; line-height:1.8; }
#loginScreen .login-status-cluster { margin-bottom:0; }
#loginScreen .login-editorial-form { display:grid; gap:18px; }
#loginScreen .field { gap:8px; margin:0; }
#loginScreen .field label { color:#718273; font-size:12px; font-weight:500; }
#loginScreen input { min-height:43px; border:1px solid #e0e7dd; background:#fff; color:var(--studio-text); border-radius:7px; font-size:13px; padding:10px 12px; width:100%; box-sizing:border-box; box-shadow:none; }
#loginScreen input:focus { outline:2px solid #26715d66; outline-offset:1px; }
#loginScreen .login-editorial-submit { width:100%; border-radius:7px; min-height:42px; background:var(--studio-green); color:white; border:1px solid var(--studio-green); font-size:13px; font-weight:550; box-shadow:none; }
#loginScreen .login-connection-panel { margin:0; padding:14px 0 0; border:0; border-top:1px solid var(--studio-line); border-radius:0; background:none; color:#95a38f; }
#loginScreen .login-connection-head { font-size:11px; color:#95a38f; }
#loginScreen #loginModeHint { font-size:10px; color:#99a691; margin:8px 0; }
#loginScreen .login-connection-meta { display:none; }
#loginScreen .login-cloud-check { font-size:10px; padding:4px 6px; color:#648969; border:0; background:#f1f6ee; border-radius:4px; }
#loginScreen .login-cloud-status,#loginScreen .version-badge { font-size:10px; min-height:23px; padding:3px 7px; border:1px solid #e6ecdf; background:#f7f9f4; color:#87a075; }
.studio-password { position:relative; }
#loginScreen .studio-password input { padding-right:58px; }
#passwordToggle { position:absolute; right:8px; top:6px; height:31px; border:0; background:none; font-size:11px; color:#819478; cursor:pointer; }
@media(min-width:841px) { #sidebarToggle.web-sidebar-toggle { display:none; } }
@media(max-width:1200px) { .studio-tools { grid-template-columns:repeat(3,minmax(0,1fr)); } .studio-tool { padding:15px; } #webMain .content { padding:26px; } #webTopbar.web-topbar { padding:0 26px; } .studio-search-trigger kbd { display:none; } }
@media(max-width:1000px) { .studio-banner-art { display:none; } .studio-home-banner { grid-template-columns:1fr; min-height:0; } .studio-recent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .studio-search-trigger span { display:none; } #webTopbar .topbar-title::before { display:none; } #loginScreen .login-editorial-panel { padding:32px; } }
@media(max-width:840px) { #appShell.web-shell,#appShell.web-shell.is-sidebar-collapsed { grid-template-columns:minmax(0,1fr); --ni-sidebar-width:220px; --ni-topbar-height:62px; } #webSidebar.web-sidebar { width:220px; } #webTopbar.web-topbar { height:62px; min-height:62px; padding:0 18px; gap:10px; } #webTopbar .topbar-actions { gap:8px; } #sidebarToggle.web-sidebar-toggle { display:flex; padding:5px; min-width:26px; min-height:32px; border:0; background:none; } #sidebarToggle svg { width:20px; height:20px; } #webMain .content { padding:24px 20px; } #appShell .studio-home-bottom,#appShell .studio-account-grid { grid-template-columns:1fr; } .studio-page-head h1 { font-size:25px; } .studio-search-trigger { padding:5px; } #loginScreen .login-editorial-shell { grid-template-columns:1fr 1fr; } #loginScreen .login-editorial-story { padding:32px 25px; } #loginScreen .login-editorial-title { font-size:29px; } #loginScreen .login-editorial-visual { min-height:190px; } #loginScreen .login-editorial-visual .studio-banner-art { display:block; } }
@media(max-width:600px) { .studio-page-head { align-items:flex-start; margin-bottom:20px; } .studio-page-head h1 { font-size:23px; letter-spacing:-.5px; } .studio-page-head p { font-size:10px; } .studio-page-head .studio-actions { display:none; } .studio-home-banner { padding:23px 20px; } .studio-banner-copy h2 { font-size:25px; } .studio-banner-copy>p:not(.studio-banner-eyebrow) { font-size:11px; margin-bottom:18px; } .studio-banner-eyebrow { font-size:8px; letter-spacing:1.4px; } .studio-tools { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .studio-tool { padding:14px 11px; } .studio-tool-copy small { font-size:9px; } .studio-section-head h2 { font-size:16px; } .studio-section-head small { display:none; } .studio-section { margin-top:24px; } .studio-card { padding:18px; } .studio-recent-grid { gap:11px; } .studio-work-copy { padding:10px; } .studio-work-copy strong { font-size:11px; } #webTopbar .cloud-status-pill { display:none; } .studio-account-text strong { max-width:62px; font-size:10px; } .studio-account-text small { display:none; } .studio-account-chevron { display:none; } .studio-task-shortcut { border:0; width:25px; padding:0; } .studio-avatar { width:28px; height:28px; } #webTopbar .topbar-title { font-size:11px; } #loginScreen.login-editorial { padding:22px; } #loginScreen .login-editorial-shell { grid-template-columns:1fr; min-height:0; } #loginScreen .login-editorial-story { padding:24px; } #loginScreen .login-editorial-copy { padding:24px 0 0; } #loginScreen .login-editorial-title { font-size:26px; max-width:none; } #loginScreen .login-editorial-visual,#loginScreen .login-editorial-lead,#loginScreen .login-editorial-eyebrow { display:none; } #loginScreen .login-editorial-panel { padding:26px; gap:20px; } #loginScreen .login-panel-heading { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { #appShell *,#loginScreen * { animation:none!important; scroll-behavior:auto!important; transition:none!important; } }

/* 旧内嵌导航的高优先级选中规则不能覆盖正式主题。 */
#webSidebar .nav button.nav-link[aria-current="page"] { background:var(--studio-green-soft); color:var(--studio-green); box-shadow:none; border-color:transparent; font-weight:650; }
#webSidebar .nav button.nav-link:focus-visible { outline:3px solid #559680; outline-offset:2px; }

#accountPage:not(.hidden) { display:block; }
#webTopbar.web-topbar { display:flex; flex-flow:row nowrap; align-items:center; }
#webTopbar .topbar-title { width:auto; flex:1 1 auto; }
#webTopbar .topbar-actions { width:auto; flex:0 0 auto; margin-left:auto; }
@media(max-width:840px) {
  #webTopbar .topbar-title { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #sidebarToggle.web-sidebar-toggle { flex:0 0 30px; width:30px; height:36px; }
}

/* 账户弹层直接位于 body；顶栏 actions 仅负责触发器，不再形成滚动裁切链。 */
#webTopbar .topbar-actions { overflow:visible; min-height:44px; }
#webTopbar .studio-account-portal-trigger { min-width:120px; min-height:40px; height:40px; max-width:200px; padding:5px 10px 5px 5px; border:1px solid var(--studio-line); border-radius:9px; box-sizing:border-box; background:#fff; }
#webTopbar .studio-account-portal-trigger:hover,
#webTopbar .studio-account-portal-trigger[aria-expanded="true"] { background:var(--studio-green-soft); }
body .studio-account-layer { position:fixed; z-index:var(--ni-z-dropdown,180); width:288px; max-width:calc(100vw - 16px); box-sizing:border-box; }
body .studio-account-layer[hidden],
body .studio-account-portal[hidden] { display:none !important; }
body .studio-account-portal { position:static; inset:auto; width:100%; min-width:0; margin:0; padding:8px; border:1px solid var(--studio-line); border-radius:12px; background:#fff; color:var(--studio-text); box-shadow:0 12px 32px rgb(32 51 44 / 13%); box-sizing:border-box; overflow-x:hidden; overscroll-behavior:contain; overflow-wrap:anywhere; }
body .studio-account-portal [role="menuitem"] { display:flex; align-items:center; justify-content:flex-start; width:100%; min-width:0; min-height:44px; margin:0; padding:10px 12px; gap:10px; border:0; border-radius:7px; background:transparent; color:var(--studio-text); box-shadow:none; font:inherit; font-size:13px; line-height:1.5; text-align:start; white-space:normal; overflow-wrap:anywhere; cursor:pointer; transform:none; box-sizing:border-box; }
body .studio-account-portal [role="menuitem"]:hover { background:var(--studio-green-soft); }
body .studio-account-portal #logoutBtn { margin-top:7px; border-top:1px solid var(--studio-line); border-radius:0 0 7px 7px; color:#a13e36; }
body .studio-account-portal #logoutBtn:hover { background:#fff2ef; }
body .studio-account-portal [role="menuitem"]:focus-visible,
#webTopbar .studio-account-portal-trigger:focus-visible { outline:2px solid var(--studio-green); outline-offset:-2px; }
body .studio-account-portal [role="menuitem"]:disabled { cursor:not-allowed; opacity:.55; }
body .studio-account-menu-identity { display:flex; align-items:flex-start; gap:11px; padding:10px 10px 13px; margin-bottom:6px; border-bottom:1px solid var(--studio-line); }
body .studio-account-menu-identity .studio-avatar { flex:0 0 36px; width:36px; height:36px; font-size:16px; }
body .studio-account-menu-copy { display:grid; gap:4px; min-width:0; }
body .studio-account-menu-copy strong { font-size:14px; font-weight:600; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
body .studio-account-menu-copy small { color:var(--studio-muted); font-size:12px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
body .studio-account-portal .studio-dropdown-version { padding:10px 12px 3px; color:var(--studio-muted); font-size:11px; white-space:normal; }
@media (forced-colors:active) {
  body .studio-account-portal [role="menuitem"]:focus-visible,
  #webTopbar .studio-account-portal-trigger:focus-visible { outline-color:Highlight; }
}


/* 账户、月度统计和安全表单共用正式会话；不包含演示状态控件。 */
#webTopbar .topbar-actions { gap:10px; }
#webTopbar .studio-account-trigger { gap:10px; }
#webTopbar .studio-account-trigger .studio-avatar { width:28px; height:28px; font-size:12px; background:var(--studio-green); color:#fff; }
#webTopbar .studio-account-text { display:block; flex:1; min-width:0; }
#webTopbar .studio-account-text strong { display:block; max-width:130px; font-size:13px; line-height:20px; white-space:nowrap; }
#webTopbar .studio-account-chevron { display:block; flex:none; width:14px; font-size:14px; text-align:center; transition:transform 140ms ease; }
#webTopbar .studio-account-trigger[aria-expanded="true"] .studio-account-chevron { transform:rotate(180deg); }
#webTopbar .studio-search-trigger,#webTopbar .studio-task-shortcut { display:inline-flex; align-items:center; justify-content:center; flex:none; height:40px; min-height:40px; padding:8px; border:1px solid var(--studio-line); border-radius:8px; background:#fff; box-sizing:border-box; }
#webTopbar .studio-task-shortcut { width:40px; }
#webTopbar .studio-search-trigger:hover,#webTopbar .studio-task-shortcut:hover { color:var(--studio-green); background:#f4f8f5; }
#webTopbar .studio-search-trigger svg,#webTopbar .studio-task-shortcut svg { width:17px; height:17px; }
body .studio-account-portal [hidden],#appShell [data-usage-retry][hidden] { display:none !important; }
body .studio-account-portal [role="menuitem"] svg { flex:none; width:17px; height:17px; color:#8b9b92; }
body .studio-account-menu-identity { align-items:center; padding:14px 11px; margin:0; border:0; }
body .studio-account-menu-identity .studio-avatar { width:38px; height:38px; flex-basis:38px; }
body .studio-account-menu-copy { gap:3px; }
body .studio-account-menu-copy small { font-size:11px; }
body .studio-account-portal .studio-menu-usage-summary { margin:0 0 8px; }
body .studio-account-portal .studio-account-menu-usage { display:block; min-height:0; padding:13px 14px; border-radius:9px; background:#f0f5ef; }
body .studio-account-portal .studio-account-menu-usage:hover { background:#e8f1e8; }
body .studio-account-portal .studio-menu-usage-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; color:#6d8274; font-size:11px; }
body .studio-account-portal .studio-menu-usage-title small { font-size:10px; color:#819086; }
body .studio-account-portal .studio-menu-usage-value { display:flex; align-items:baseline; gap:6px; margin-top:6px; }
body .studio-account-portal .studio-menu-usage-value strong { color:var(--studio-green); font-size:28px; font-weight:600; line-height:1.15; letter-spacing:-.8px; overflow-wrap:anywhere; }
body .studio-account-portal .studio-menu-usage-value small { font-size:11px; color:#819086; }
body .studio-account-portal .studio-menu-usage-value>span { margin-left:auto; color:#92a598; }
body .studio-account-portal .studio-menu-usage-status { display:block; margin-top:6px; font-size:10px; color:#6d8274; }
body .studio-account-portal #studioMenuUsageRetry { color:var(--studio-green); }
body .studio-account-portal .studio-dropdown-version { padding:10px 12px 6px; font-size:10px; border-top:1px solid #f0f2ef; }
.studio-home-bottom { grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr); }
#accountPage .studio-page-head { align-items:center; }
#accountPage .studio-page-head>div>p { text-transform:none; letter-spacing:0; }
#accountPage .studio-account-intro { margin:10px 0 0; color:var(--studio-muted); font-size:13px; line-height:1.7; }
.studio-account-left { display:grid; grid-template-rows:auto 1fr; align-items:stretch; gap:20px; min-width:0; }
#accountPage .studio-card { padding:24px; }
#accountPage .studio-account-profile { gap:14px; margin-bottom:4px; padding-bottom:24px; }
#accountPage .studio-account-profile>div { min-width:0; }
#accountPage .studio-account-profile .studio-avatar { width:52px; height:52px; font-size:22px; }
#accountPage .studio-account-profile h2 { font-size:20px; overflow-wrap:anywhere; line-height:1.5; }
#accountPage .studio-account-data>div { padding:18px 0; align-items:baseline; font-size:12px; }
#accountPage .studio-account-data>div:last-child { border-bottom:0; padding-bottom:2px; }
#accountSessionState { color:var(--studio-green); }
#accountPage .studio-account-security { display:flex; flex-direction:column; margin:0; }
.studio-security-symbol svg { width:18px; height:18px; color:#8b9e93; }
.studio-security-row { display:flex; align-items:center; gap:12px; margin:22px 0 0; }
.studio-security-row>div { flex:1; min-width:0; }
.studio-security-row h3,.studio-security-logout h3 { font-size:13px; font-weight:550; margin:0 0 5px; line-height:1.5; }
.studio-security-row p,.studio-security-logout p { font-size:11px; line-height:1.7; margin:0; }
.studio-security-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:40px; height:40px; border-radius:10px; background:#eef5f0; color:#8a9f92; }
.studio-security-icon svg { width:19px; height:19px; }
#accountPage .studio-security-note { display:flex; align-items:flex-start; gap:7px; margin:18px 0; padding:11px 12px; border-radius:6px; background:#f6f8f5; font-size:11px; color:#6e8075; }
.studio-security-note svg { width:14px; height:14px; flex:none; margin-top:3px; }
.studio-security-logout { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:20px; margin-top:auto; border-top:1px solid var(--studio-line); }
#studioAccountLogout { color:#aa675e; flex:none; }
#studioAccountLogout:hover { color:#8f3d32; }
.studio-account-usage { display:flex; flex-direction:column; min-width:0; }
.studio-month-label { color:#7e8c83; font-size:11px; text-align:right; line-height:1.6; }
.studio-usage-total-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:24px; }
.studio-usage-total-row .studio-usage-value { margin:0; color:#284c3d; font-size:46px; font-weight:600; letter-spacing:-1.8px; overflow-wrap:anywhere; min-width:0; }
.studio-usage-total-row .studio-usage-value small { font-size:13px; }
.studio-quota-chip { padding:4px 7px; max-width:48%; border-radius:4px; background:#f4f7f3; color:#768a7b; font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.studio-usage-state-row { display:flex; gap:10px; align-items:center; min-height:26px; margin:3px 0 18px; }
.studio-usage-state-row p { margin:0; font-size:11px; }
.studio-usage-state-row [data-usage-retry] { padding:4px 7px; margin-left:auto; }
.studio-usage-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:18px 0; border-top:1px solid #edf0ec; border-bottom:1px solid #edf0ec; }
.studio-usage-stats>div { min-width:0; padding:0 14px; border-right:1px solid #edf0ec; }
.studio-usage-stats>div:first-child { padding-left:0; }
.studio-usage-stats>div:last-child { border:0; padding-right:0; }
.studio-usage-stats dt { display:flex; gap:5px; align-items:center; color:#7c8a80; font-size:11px; line-height:1.6; }
.studio-usage-stats dd { margin:5px 0 0; color:#5d7264; font-size:25px; line-height:1.25; font-weight:550; overflow-wrap:anywhere; }
.studio-state-dot { width:8px; height:8px; border:1px solid #90a798; border-radius:50%; flex:none; }
.studio-state-dot--failed { border-color:#ba9791; }
.studio-state-dot--running { border-color:#b5aa82; }
.studio-breakdown-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:22px 0 14px; }
.studio-breakdown-heading h3 { margin:0; color:#586f60; font-size:12px; font-weight:550; }
.studio-breakdown-heading>span { color:#8b978e; font-size:10px; }
.studio-usage-breakdown { display:grid; gap:12px; }
.studio-usage-feature { display:grid; grid-template-columns:100px minmax(24px,1fr) minmax(24px,auto); align-items:center; gap:12px; font-size:11px; color:#657a6a; }
.studio-usage-feature>span:first-child { display:flex; gap:8px; align-items:center; }
.studio-usage-feature svg { width:14px; height:14px; color:#8b9d90; flex:none; }
.studio-usage-feature strong { font-size:11px; font-weight:500; color:#3a5445; text-align:right; font-variant-numeric:tabular-nums; }
.studio-usage-track { display:block; height:4px; border-radius:10px; background:#f0f3ef; overflow:hidden; }
.studio-usage-track i { display:block; height:100%; border-radius:10px; background:#91aa98; }
.studio-usage-placeholder { margin:0; padding:14px 0; color:#7d8f82; font-size:12px; line-height:1.8; }
.studio-usage-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #edf0ec; margin:24px 0 0; padding-top:16px; }
.studio-account-usage .studio-usage-footer { margin-top:auto; padding-top:16px; }
.studio-account-usage .studio-usage-breakdown { padding-bottom:24px; }
.studio-usage-footer p { margin:0; font-size:11px; color:#7d8e80; line-height:1.8; }
.studio-usage-footer button { flex:none; }
.studio-usage-details { margin-top:15px; color:#6e8274; font-size:11px; }
.studio-usage-details summary { cursor:pointer; width:fit-content; padding:4px 0; font-size:11px; }
.studio-usage-details[open]>summary { margin-bottom:12px; }
.studio-usage-details p { color:#7a8b7e; line-height:1.9; margin:8px 0 0; overflow-wrap:anywhere; }
.studio-usage [data-usage-status="error"],#accountUsagePanel[data-usage-status="error"] .studio-usage-value,body .studio-account-portal [data-usage-status="error"] .studio-menu-usage-value strong { color:#8a968e; }
.studio-usage [data-usage-status="loading"],#accountUsagePanel[data-usage-status="loading"] .studio-usage-value { color:#8a968e; }
.studio-password-dialog { position:fixed; inset:0; width:min(480px,calc(100vw - 32px)); height:fit-content; max-height:calc(100dvh - 40px); margin:auto; padding:28px; border:1px solid #e3e9e3; border-radius:16px; overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; background:#fff; color:var(--studio-text); box-shadow:0 24px 80px rgb(26 52 36 / 20%); font:13px/1.6 var(--ni-font-sans); }
.studio-password-dialog::backdrop { background:rgb(39 61 47 / 32%); backdrop-filter:blur(4px); }
.studio-password-dialog h2 { margin:18px 0 8px; color:#283e31; font-size:23px; line-height:1.4; font-weight:600; }
.studio-password-description { color:#78877d; font-size:12px; margin:0 0 24px; line-height:1.8; }
.studio-password-close { position:absolute; top:20px; right:20px; display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:8px; border:0; border-radius:8px; background:transparent; color:#7b8c81; cursor:pointer; }
.studio-password-close svg { width:18px; height:18px; }
.studio-password-close:hover { background:#f2f6f2; color:var(--studio-green); }
.studio-password-field { margin:18px 0 0; }
.studio-password-field:first-child { margin-top:0; }
.studio-password-field label { display:block; margin-bottom:7px; color:#3e5646; font-size:13px; font-weight:550; }
.studio-password-input { position:relative; }
.studio-password-input input { box-sizing:border-box; width:100%; min-width:0; height:44px; margin:0; padding:10px 46px 10px 12px; border:1px solid #dfe6df; border-radius:7px; color:#2d4133; background:#fff; box-shadow:0 1px 2px rgb(35 57 43 / 3%); font:13px/1.5 var(--ni-font-sans); }
.studio-password-input input::placeholder { color:#8a988d; }
.studio-password-input input:focus { outline:none; border-color:#82a18c; box-shadow:0 0 0 3px rgb(68 113 83 / 10%); }
.studio-password-input input[aria-invalid="true"] { border-color:#ba7e70; }
.studio-password-input input:disabled { background:#f6f8f5; color:#7b8c80; }
.studio-password-input button { position:absolute; right:4px; top:3px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:9px; border:0; border-radius:6px; background:transparent; color:#7f9084; cursor:pointer; }
.studio-password-input button:hover { background:#f0f5f0; color:#3f6d50; }
.studio-password-input svg { width:17px; height:17px; }
.studio-eye-slash { display:none; }
.studio-password-input [aria-pressed="true"] .studio-eye-slash { display:block; }
.studio-password-hint { margin:5px 0 0; font-size:11px; color:#7f8f83; }
.studio-password-field-error { margin:5px 0 0; font-size:12px; color:#a65041; line-height:1.6; }
.studio-password-feedback { margin:18px 0 0; padding:10px 12px; color:#994e40; background:#fcf3ef; border:1px solid #f1ded6; border-radius:7px; font-size:12px; overflow-wrap:anywhere; }
.studio-password-field-error:empty,.studio-password-feedback:empty { display:none; }
.studio-password-after-note { display:flex; align-items:flex-start; gap:7px; margin:22px 0; color:#788d7e; font-size:11px; line-height:1.8; }
.studio-password-after-note svg { width:14px; height:14px; flex:none; margin-top:3px; }
.studio-password-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:20px; border-top:1px solid #edf0ea; }
.studio-password-actions .studio-btn { min-height:40px; padding:9px 18px; font-size:12px; }
.studio-password-dialog :is(button,input):focus-visible { outline:2px solid var(--studio-green); outline-offset:2px; }
.studio-password-dialog button:disabled { cursor:not-allowed; opacity:.55; }
@media(max-width:1100px) and (min-width:841px) {
  #accountPage .studio-card { padding:20px; }
  .studio-usage-feature { grid-template-columns:92px minmax(20px,1fr) minmax(24px,auto); gap:8px; }
  .studio-security-row { gap:9px; flex-wrap:wrap; }
  .studio-security-row .studio-btn { padding:9px 11px; }
  .studio-security-logout { align-items:flex-start; flex-wrap:wrap; }
  .studio-usage-stats>div { padding:0 9px; }
}
@media(max-width:840px) {
  .studio-account-left { grid-template-rows:auto auto; }
  #accountPage .studio-account-grid { grid-template-columns:1fr; }
  .studio-account-usage .studio-usage-footer { margin-top:0; }
}
@media(max-width:600px) {
  #webTopbar.web-topbar { padding:0 12px; gap:8px; }
  #webTopbar .topbar-actions { gap:6px; }
  #webTopbar .studio-search-trigger { display:none; }
  #webTopbar .studio-account-portal-trigger { min-width:104px; max-width:144px; gap:7px; padding-right:7px; }
  #webTopbar .studio-account-text strong { max-width:68px; font-size:12px; }
  #webTopbar .studio-account-chevron { display:block; width:12px; }
  #accountPage .studio-card { padding:20px; }
  #accountPage .studio-page-head { align-items:flex-start; gap:12px; }
  .studio-usage-stats>div { padding:0 10px; }
  .studio-usage-stats dt { font-size:10px; }
  .studio-usage-stats dd { font-size:23px; }
  .studio-security-row { flex-wrap:wrap; gap:10px; }
  .studio-security-logout { flex-wrap:wrap; }
  .studio-usage-feature { grid-template-columns:94px minmax(20px,1fr) minmax(24px,auto); gap:8px; }
  .studio-password-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:24px 20px; border-radius:14px; }
  .studio-password-close { top:16px; right:14px; }
  .studio-password-input input { font-size:16px; }
}
@media(max-width:400px) {
  #webMain .content { padding:16px 14px; }
  #webTopbar.web-topbar { padding:0 10px; }
  #webTopbar .studio-account-portal-trigger { min-width:96px; max-width:120px; }
  #webTopbar .studio-account-text strong { max-width:50px; }
  #webTopbar #studioHelpBtn { display:none; }
  .studio-usage-total-row { flex-wrap:wrap; gap:8px; }
  .studio-quota-chip { max-width:100%; }
  .studio-security-row .studio-btn { margin-left:50px; }
}

/* iPhone 安全区域：顶栏用 min-height 增量容纳灵动岛，不能压缩固定高度内容盒。 */
@supports(padding:env(safe-area-inset-top)) {
  #webTopbar.web-topbar { height:auto; min-height:calc(72px + env(safe-area-inset-top)); padding-top:env(safe-area-inset-top); }
  #webSidebar.web-sidebar { padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
}
@media(max-width:840px) {
  @supports(padding:env(safe-area-inset-top)) {
    #webTopbar.web-topbar { min-height:calc(62px + env(safe-area-inset-top)); }
  }
}
@media(prefers-reduced-motion:reduce) {
  .studio-password-dialog *,body .studio-account-portal *,#webTopbar .studio-account-chevron { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
@media(forced-colors:active) {
  .studio-usage-track { border:1px solid CanvasText; }
  .studio-usage-track i { background:Highlight; }
  .studio-password-dialog :is(button,input):focus-visible { outline-color:Highlight; }
}
