:root{--color-bg-page:radial-gradient(circle at top, #bfdbfea6, transparent 32%), linear-gradient(180deg, #eff6ff 0%, #f8fafc 28%, #eef2ff 100%);--color-bg-card:#fff;--color-bg-card-alt:linear-gradient(180deg, #eff6ff 0%, #fff 100%);--color-bg-card-usage:linear-gradient(135deg, #fff 0%, #f8fafc 100%);--color-bg-subtle:#f8fafc;--color-bg-input:#fff;--color-bg-hover:#f8fafc;--color-bg-code:#e0e7ff;--color-bg-json:#0f172a;--color-bg-active-row:#eff6ff;--color-bg-active-row-green:#ecfdf5;--color-bg-tag-blue:#eff6ff;--color-bg-tag-blue-light:#e0f2fe;--color-bg-tag-green:#dcfce7;--color-bg-tag-red:#fee2e2;--color-bg-tag-yellow:#fef3c7;--color-bg-tag-gray:#e2e8f0;--color-bg-tag-orange:#fff7ed;--color-bg-success:#f0fdf4;--color-bg-error:#fef2f2;--color-nav-bg:#ffffffb8;--color-nav-bg-button:#fffc;--color-nav-bg-tab:#ffffffe0;--color-nav-border:#94a3b83d;--color-text-primary:#0f172a;--color-text-body:#1f2937;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-muted-alt:#334155;--color-text-link:#2563eb;--color-text-link-hover:#1d4ed8;--color-text-white:#fff;--color-text-code:#3730a3;--color-text-json:#cbd5e1;--color-text-dark:#0b0f15;--color-text-green:#166534;--color-text-red:#991b1b;--color-text-red-bright:#dc2626;--color-text-orange:#92400e;--color-text-orange-dark:#9a3412;--color-nav-text:#334155;--color-nav-text-active:#fff;--color-nav-brand:#0f172a;--color-nav-logout:#b91c1c;--color-border-primary:#dbe3f0;--color-border-secondary:#cbd5e1;--color-border-tertiary:#e2e8f0;--color-border-blue:#bfdbfe;--color-border-blue-hover:#93c5fd;--color-border-green:#bbf7d0;--color-border-green-light:#86efac;--color-border-red:#fecaca;--color-border-orange:#fed7aa;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-light:#3b82f6;--color-accent-gradient:linear-gradient(135deg, #2563eb, #0f766e);--color-accent-gradient-hover:linear-gradient(135deg, #1d4ed8, #0d6560);--color-success:#22c55e;--color-success-border:#bbf7d0;--color-error:#ef4444;--color-error-dark:#dc2626;--color-error-darker:#b91c1c;--color-warning-border:#fecaca;--color-shadow:#0f172a14;--color-shadow-hover:#2563eb1f;--color-chart-area:#2563eb1f;--color-chart-line:#111827;--color-chart-axis:#cbd5e1;--color-chart-dot-fill:#fff;--color-chart-dot-stroke:#2563eb;--color-user-muted-bg:#e2e8f0;--color-user-muted-text:#475569;--color-user-id:#334155;--color-user-danger:#dc2626;--color-user-danger-hover:#b91c1c;--color-sysdict-meta-bg:#f8fafc;--color-sysdict-meta-text:#475569;--color-sysdict-card-header-bg:#f8fafc;--color-learning-card-header-bg:#f8fafc;--color-learning-detail-bg:#fff;--color-paper-tag-bg:#e0f2fe;--color-paper-tag-text:#075985;--color-paper-answer-bg:#f8fafc;--color-paper-editor-bg:#f8fafc;--color-paper-editor-actions-bg:#fff;--color-sw-text:#1e2424;--color-sw-text-sub:#66706d;--color-sw-border:#d9ddd5;--color-sw-border-sub:#e5e9e2;--color-sw-bg-card-header:#f8faf8;--color-sw-bg-error:#fff7f7;--color-sw-text-error:#9f1d1d;--color-sw-border-error:#f5c2c7;--color-sw-accent:#0f766e;--color-sw-button-quiet:#f8faf8}@media (prefers-color-scheme:dark){:root{--color-bg-page:#1a1a1a;--color-bg-card:#262626;--color-bg-card-alt:linear-gradient(180deg, #262626 0%, #1f1f1f 100%);--color-bg-card-usage:linear-gradient(135deg, #262626 0%, #1f1f1f 100%);--color-bg-subtle:#1f1f1f;--color-bg-input:#333;--color-bg-hover:#2a2a2a;--color-bg-code:#2a2a2a;--color-bg-json:#1a1a1a;--color-bg-active-row:#22c55e14;--color-bg-active-row-green:#22c55e14;--color-bg-tag-blue:#22c55e1f;--color-bg-tag-blue-light:#22c55e1f;--color-bg-tag-green:#22c55e26;--color-bg-tag-red:#ef444426;--color-bg-tag-yellow:#f59e0b26;--color-bg-tag-gray:#333;--color-bg-tag-orange:#22c55e1a;--color-bg-success:#22c55e1f;--color-bg-error:#ef44441f;--color-nav-bg:#1a1a1ad9;--color-nav-bg-button:#262626d9;--color-nav-bg-tab:#262626e0;--color-nav-border:#ffffff0f;--color-text-primary:#f5f5f5;--color-text-body:#f5f5f5;--color-text-secondary:#f5f5f5;--color-text-muted:#6b6b6b;--color-text-muted-alt:#b0b0b0;--color-text-link:#22c55e;--color-text-link-hover:#4ade80;--color-text-white:#fff;--color-text-code:#4ade80;--color-text-json:#9e9e9e;--color-text-dark:#0b0f15;--color-text-green:#4ade80;--color-text-red:#f87171;--color-text-red-bright:#f87171;--color-text-orange:#fbbf24;--color-text-orange-dark:#fbbf24;--color-nav-text:#b0b0b0;--color-nav-text-active:#fff;--color-nav-brand:#f5f5f5;--color-nav-logout:#f87171;--color-border-primary:#404040;--color-border-secondary:#404040;--color-border-tertiary:#3a3a3a;--color-border-blue:#333;--color-border-blue-hover:#22c55e;--color-border-green:#22c55e40;--color-border-green-light:#22c55e33;--color-border-red:#ef444440;--color-border-orange:#22c55e33;--color-accent:#22c55e;--color-accent-hover:#4ade80;--color-accent-light:#22c55e;--color-accent-gradient:linear-gradient(135deg, #22c55e, #10b981);--color-accent-gradient-hover:linear-gradient(135deg, #16a34a, #059669);--color-success:#22c55e;--color-success-border:#22c55e40;--color-error:#ef4444;--color-error-dark:#f87171;--color-error-darker:#f87171;--color-warning-border:#ef444440;--color-shadow:#00000040;--color-shadow-hover:#22c55e1f;--color-chart-area:#22c55e26;--color-chart-line:#e8e8e8;--color-chart-axis:#555;--color-chart-dot-fill:#262626;--color-chart-dot-stroke:#22c55e;--color-user-muted-bg:#333;--color-user-muted-text:#9e9e9e;--color-user-id:#8a8a8a;--color-user-danger:#ef4444;--color-user-danger-hover:#f87171;--color-sysdict-meta-bg:#1f1f1f;--color-sysdict-meta-text:#9e9e9e;--color-sysdict-card-header-bg:#1f1f1f;--color-learning-card-header-bg:#1f1f1f;--color-learning-detail-bg:#262626;--color-paper-tag-bg:#22c55e1f;--color-paper-tag-text:#4ade80;--color-paper-answer-bg:#1f1f1f;--color-paper-editor-bg:#1f1f1f;--color-paper-editor-actions-bg:#262626;--color-sw-text:#e8e8e8;--color-sw-text-sub:#999;--color-sw-border:#3a3a3a;--color-sw-border-sub:#333;--color-sw-bg-card-header:#1f1f1f;--color-sw-bg-error:#ef44441f;--color-sw-text-error:#f87171;--color-sw-border-error:#ef444440;--color-sw-accent:#22c55e;--color-sw-button-quiet:#1f1f1f}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{--app-action-button-height:36px;--app-action-button-width:calc(var(--app-action-button-height) / .618);--app-nav-button-width:9ch;background:var(--color-bg-page);min-height:100vh;color:var(--color-text-body)}.app-shell{grid-template-columns:max-content minmax(0,1fr);min-height:100vh;display:grid}.app-main-shell{min-width:0}.login-shell{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:32px 20px;display:flex}.login-card-wrap{width:min(100%,480px)}.login-loading{background:var(--color-bg-card);border:1px solid var(--color-border-primary);width:100%;box-shadow:0 16px 40px var(--color-shadow);color:var(--color-text-secondary);border-radius:18px;padding:18px 20px}.auth-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);box-sizing:border-box;width:100%;box-shadow:0 16px 40px var(--color-shadow);border-radius:18px;padding:20px}.dashboard-page code,.login-shell code{background:var(--color-bg-code);color:var(--color-text-code);border-radius:6px;padding:2px 6px}.dashboard-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-link);margin:0 0 12px;font-size:13px;font-weight:700}.auth-tabs{gap:8px;margin-bottom:12px;display:flex}.auth-tabs button{border:1px solid var(--color-border-secondary);background:var(--color-bg-subtle);color:var(--color-text-body);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px}.auth-tabs button.active{background:var(--color-accent-light);border-color:var(--color-accent-light);color:var(--color-text-white)}.auth-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.auth-link-button{color:var(--color-text-link);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:700}.auth-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.auth-card-header h3{margin:0;font-size:18px}.change-password-card{margin-top:0}.auth-form .field{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.auth-form label{color:var(--color-text-secondary);font-size:14px}.auth-form input,.auth-form select{border:1px solid var(--color-border-secondary);background:var(--color-bg-input);color:var(--color-text-primary);border-radius:8px;padding:8px 10px}.verify-code-row{grid-template-columns:minmax(0,1fr) 112px;gap:8px;display:grid}.auth-form .secondary-action{border:1px solid var(--color-accent);background:var(--color-bg-tag-blue);color:var(--color-text-link-hover);cursor:pointer;white-space:nowrap;border-radius:8px;font-weight:700}.auth-form .secondary-action:disabled{border-color:var(--color-border-secondary);background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:not-allowed}.auth-form .submit{background:var(--color-success);width:100%;color:var(--color-text-dark);cursor:pointer;border:none;border-radius:8px;padding:10px 12px;font-weight:700}.auth-form .invalid,.auth-form input.invalid,.auth-form select.invalid{border-color:var(--color-error)}.field-error{color:var(--color-text-red-bright);font-size:12px}.msg{border-radius:8px;margin:8px 0;padding:8px 10px;font-size:14px}.msg.error{background:var(--color-bg-tag-red);color:var(--color-text-red)}.msg.success{background:var(--color-bg-tag-green);color:var(--color-text-green)}.page-title{margin:0 0 8px;font-size:clamp(30px,4vw,42px)}.panel-tip{color:var(--color-text-muted);font-size:14px;line-height:1.5}.health-line{color:var(--color-text-muted-alt);margin-top:18px;font-size:14px}.dashboard-page{margin:0;padding:16px 28px 56px 8px}.app-side-nav{box-sizing:border-box;background:var(--color-nav-bg);border-right:1px solid var(--color-nav-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;gap:10px;height:100vh;padding:18px 8px;display:flex;position:sticky;top:0}.app-brand-block{inline-size:var(--app-nav-button-width);padding:8px 0 6px}.app-brand-title{text-align:center;letter-spacing:0;inline-size:100%;color:var(--color-text-primary);white-space:nowrap;font-size:13px;font-weight:800;line-height:1.05}.app-nav-list{inline-size:var(--app-nav-button-width);gap:6px;display:grid}.app-nav-list a,.app-nav-button{aspect-ratio:1.618;box-sizing:border-box;inline-size:100%;font:inherit;color:var(--color-text-muted-alt);background:var(--color-nav-bg-button);border:1px solid var(--color-border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px var(--color-shadow);cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:12px;line-height:1.15;text-decoration:none;display:flex}.app-nav-list a{text-align:center;justify-self:stretch}.app-nav-list a.active{color:var(--color-text-white);background:var(--color-accent-gradient);border-color:#0000}.app-nav-button{color:var(--color-nav-logout);inline-size:var(--app-nav-button-width);text-align:center;align-self:stretch;margin-top:auto}.dashboard-hero{background:var(--color-bg-card);border:1px solid var(--color-border-primary);box-shadow:0 16px 40px var(--color-shadow);border-radius:24px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px;padding:28px;display:grid}.dashboard-lead{color:var(--color-text-muted);margin:0;line-height:1.75}.dashboard-user-card{background:var(--color-bg-card-alt);border:1px solid var(--color-border-blue);border-radius:18px;padding:18px}.dashboard-compact-card{align-self:start}.dashboard-user-line{color:var(--color-text-muted-alt);margin-bottom:8px;font-size:14px}.dashboard-user-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dashboard-section{margin-top:28px}.dashboard-page>.dashboard-section:first-child{margin-top:0}.dashboard-action-section{margin-bottom:4px}.dashboard-section h2{margin:0 0 14px;font-size:22px}.dashboard-grid{grid-template-columns:repeat(auto-fill, var(--app-nav-button-width));gap:6px;display:grid}.dashboard-card{inline-size:var(--app-nav-button-width);aspect-ratio:1.618;box-sizing:border-box;color:var(--color-text-muted-alt);background:var(--color-nav-bg-button);border:1px solid var(--color-border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px var(--color-shadow);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.dashboard-card:hover{border-color:var(--color-border-blue-hover);box-shadow:0 14px 34px var(--color-shadow-hover);transform:translateY(-2px)}.dashboard-card-static{cursor:default;background:var(--color-bg-subtle);border-style:dashed}.dashboard-card-static:hover{border-color:var(--color-border-primary);box-shadow:0 8px 24px var(--color-shadow);transform:none}.dashboard-card h3{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.15}.dashboard-card p{color:var(--color-text-muted);min-height:52px;margin:0 0 12px;line-height:1.6}.dashboard-tag{color:var(--color-text-link);background:var(--color-bg-tag-blue);border-radius:999px;margin-bottom:12px;padding:4px 10px;font-size:12px;display:inline-block}.dashboard-url{color:var(--color-text-link);word-break:break-all;font-size:13px;display:block}.function-switch{gap:6px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.function-switch a,.function-switch button{block-size:var(--app-action-button-height);inline-size:var(--app-action-button-width);min-inline-size:var(--app-action-button-width);box-sizing:border-box;border:1px solid var(--color-border-primary);background:var(--color-nav-bg-tab);color:var(--color-text-muted-alt);box-shadow:0 8px 24px var(--color-shadow);cursor:pointer;font:inherit;overflow-wrap:anywhere;text-align:center;white-space:normal;border-radius:8px;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;line-height:1;text-decoration:none;display:flex}.function-switch a.active,.function-switch button.active{background:var(--color-accent-gradient);color:var(--color-text-white);border-color:#0000}.workspace-stack{gap:16px;display:grid}.json-panel{background:var(--color-bg-json);color:var(--color-text-json);text-align:left;border-radius:10px;margin-top:12px;padding:12px;font-size:13px;overflow:auto}.ghost-button{min-block-size:var(--app-action-button-height);min-inline-size:var(--app-action-button-width);border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.ghost-button-danger{border-color:var(--color-warning-border);color:var(--color-nav-logout)}.admin-toggle-row{justify-content:flex-start;display:flex}.dashboard-note{background:var(--color-bg-tag-orange);border:1px solid var(--color-border-orange);color:var(--color-text-orange-dark);border-radius:16px;margin-top:28px;padding:16px 18px;line-height:1.7}.dashboard-inline-tip{color:var(--color-text-muted);margin:0}.model-page-header,.model-filter-bar,.model-toolbar,.model-import-bar,.model-pagination,.model-row-actions,.model-usage-header,.model-usage-date-form{align-items:center;gap:12px;display:flex}.model-page-header{justify-content:space-between;margin-bottom:16px}.model-filter-bar{background:0 0;border:0;flex-wrap:wrap;padding:0}.model-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.model-toolbar>.model-action-button,.model-toolbar>.ghost-button{margin-top:15px}.model-import-bar{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:16px;justify-content:flex-end;padding:14px}.model-import-bar input{display:none}.admin-result-panel{background:0 0;border:0;padding:0}.model-filter-bar label{color:var(--color-text-secondary);gap:0;font-size:0;display:grid}.model-filter-bar input,.model-filter-bar select{box-sizing:border-box;block-size:var(--app-action-button-height);border:1px solid var(--color-border-secondary);background:var(--color-bg-input);min-width:180px;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.2}.model-layout{width:100%}.model-table-wrap{border:1px solid var(--color-border-primary);background:var(--color-bg-card);box-shadow:0 10px 30px var(--color-shadow);border-radius:16px;overflow-x:auto}.model-table{border-collapse:collapse;width:100%;min-width:840px}.model-table th,.model-table td{border-bottom:1px solid var(--color-border-tertiary);text-align:left;padding:8px 12px;font-size:14px;line-height:1.35}.model-table th{color:var(--color-text-secondary);background:var(--color-bg-subtle);font-weight:700}.proxy-key-table{table-layout:fixed;min-width:1120px}.proxy-key-table th:first-child,.proxy-key-table td:first-child{width:58px}.proxy-key-table th:nth-child(2),.proxy-key-table td:nth-child(2){width:112px}.proxy-key-table th:nth-child(3),.proxy-key-table td:nth-child(3){width:104px}.proxy-key-table th:nth-child(4),.proxy-key-table td:nth-child(4),.proxy-key-table th:nth-child(5),.proxy-key-table td:nth-child(5){width:150px}.proxy-key-table th:nth-child(6),.proxy-key-table td:nth-child(6){width:112px}.proxy-key-table th:nth-child(7),.proxy-key-table td:nth-child(7),.proxy-key-table th:nth-child(8),.proxy-key-table td:nth-child(8){width:84px}.proxy-key-table th:nth-child(9),.proxy-key-table td:nth-child(9){width:150px}.proxy-key-table th:nth-child(10),.proxy-key-table td:nth-child(10){width:160px}.proxy-key-url-cell{text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:block;overflow:hidden}.model-row-actions{flex-wrap:wrap}.proxy-key-actions{flex-wrap:nowrap}.sysdict-ai-meta{color:var(--color-text-muted);margin-top:6px;font-size:12px;line-height:1.35}.model-row-actions button{min-block-size:var(--app-action-button-height);min-inline-size:var(--app-action-button-width);border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.model-row-actions .model-danger-button{border-color:var(--color-warning-border);color:var(--color-nav-logout)}.system-password-page{max-width:1360px}.system-password-page-embedded{max-width:none}.system-password-header-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.system-password-edit-panel{margin-bottom:16px}.system-password-filter{grid-template-columns:minmax(260px,1fr) auto}.system-password-table{min-width:1180px}.system-password-url{color:var(--color-text-link);word-break:break-all}.system-password-copy{border:1px solid var(--color-border-secondary);background:var(--color-bg-card);min-block-size:30px;min-inline-size:116px;color:var(--color-text-primary);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.system-password-copy:disabled{cursor:wait;opacity:.65}.model-status{border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.model-status-on{background:var(--color-bg-tag-green);color:var(--color-text-green)}.model-status-off{background:var(--color-bg-tag-red);color:var(--color-text-red)}.model-status-wait{background:var(--color-bg-tag-yellow);color:var(--color-text-orange)}.model-empty-state{color:var(--color-text-muted);padding:18px}.model-pagination{flex-wrap:wrap;justify-content:flex-end;padding:12px 14px}.model-action-button{width:auto;block-size:var(--app-action-button-height);min-inline-size:var(--app-action-button-width);border:1px solid var(--color-success);background:var(--color-success);color:var(--color-text-dark);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.model-query-button{background:var(--color-accent-gradient);color:var(--color-text-white);border-color:#0000}.model-query-button:hover:not(:disabled){background:var(--color-accent-gradient-hover)}.model-edit-panel{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:16px;gap:14px;margin-bottom:16px;padding:16px;display:grid}.model-edit-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.model-edit-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.model-edit-header h3{color:var(--color-text-primary);margin:0}.model-title-field,.model-edit-api-key-field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:14px;display:flex}.model-title-field{flex:0 300px}.model-title-field input,.model-edit-api-key-field select{box-sizing:border-box;border:1px solid var(--color-border-secondary);background:var(--color-bg-input);width:100%;min-width:0;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:8px 10px}.model-title-field input{font-size:18px;font-weight:700}.model-edit-api-key-field{flex:0 240px}.model-edit-header-actions{justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.model-edit-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;display:grid}.model-edit-grid label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:14px;display:flex}.model-edit-grid input,.model-edit-grid select,.model-edit-grid textarea{box-sizing:border-box;border:1px solid var(--color-border-secondary);background:var(--color-bg-input);width:100%;min-width:0;color:var(--color-text-primary);border-radius:8px;padding:8px 10px;display:block}.model-edit-grid textarea{resize:vertical;min-height:130px;font:inherit}.model-edit-wide-field{grid-column:1/-1}.model-usage-panel{border:1px solid var(--color-border-primary);background:var(--color-bg-card-usage);border-radius:16px;gap:14px;margin-bottom:16px;padding:16px;display:grid}.model-usage-header{flex-wrap:wrap;justify-content:space-between}.model-usage-header h3{color:var(--color-text-primary);margin:0}.model-usage-header p{color:var(--color-text-muted);margin:4px 0 0;font-size:14px}.model-usage-date-form{flex-wrap:nowrap;justify-content:flex-end}.model-usage-date-form label{color:var(--color-text-secondary);gap:6px;font-size:14px;display:grid}.model-usage-date-form input,.model-usage-date-form select{border:1px solid var(--color-border-secondary);background:var(--color-bg-input);color:var(--color-text-primary);border-radius:8px;padding:8px 10px}.model-usage-detail-header{margin-top:6px}.model-usage-window-field,.model-usage-date-field{min-width:0}.model-usage-window-field select{width:86px}.model-usage-date-field input{width:118px}.model-usage-chart{border:1px solid var(--color-border-tertiary);background:var(--color-bg-card);border-radius:14px;padding:10px;overflow-x:auto}.model-usage-chart svg{width:100%;min-width:760px;height:auto;display:block}.model-usage-chart-dates{color:var(--color-text-muted);justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;display:flex}.usage-chart-axis{stroke:var(--color-chart-axis);stroke-width:1px}.usage-chart-area{fill:var(--color-shadow-hover)}.usage-chart-line{fill:none;stroke:var(--color-chart-line);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.usage-chart-dot{fill:var(--color-chart-dot-fill);stroke:var(--color-chart-dot-stroke);stroke-width:2px}.usage-chart-label{fill:var(--color-text-muted);font-size:12px}.model-usage-trend-body{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.model-usage-trend-stats{color:var(--color-text-primary);align-content:center;gap:8px;margin:0;font-size:14px;display:grid}.model-usage-trend-stats div{grid-template-columns:54px 1fr;align-items:baseline;gap:4px;display:grid}.model-usage-trend-stats dt{color:var(--color-text-primary);justify-content:space-between;margin:0;font-weight:700;display:flex}.model-usage-trend-stats dt:after{content:":";margin-left:2px}.model-usage-trend-stats dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:0}.model-usage-inline-metrics{color:var(--color-text-primary);flex-wrap:wrap;align-items:baseline;gap:10px 34px;font-size:14px;display:flex}.model-usage-inline-metrics strong{font-weight:700}.model-usage-metrics{color:var(--color-text-muted-alt);gap:6px;font-size:14px;display:grid}.model-usage-metric-row{grid-template-columns:max-content minmax(72px,max-content) max-content minmax(72px,max-content);align-items:baseline;gap:6px 14px;display:grid}.model-usage-metric-row span:nth-child(odd){color:var(--color-text-muted)}.model-usage-metric-row span:nth-child(2n){color:var(--color-text-primary);font-weight:400}.model-usage-metric-primary{margin-bottom:2px}.model-usage-table-wrap{overflow-x:auto}.model-usage-table{min-width:640px}.runtime-panel{gap:14px;display:grid}.runtime-toolbar,.runtime-toolbar-actions,.runtime-section-header{align-items:center;gap:12px;display:flex}.runtime-toolbar{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:14px;flex-wrap:wrap;justify-content:space-between;padding:14px 16px}.runtime-toolbar h3,.runtime-section-header h3{color:var(--color-text-primary);margin:0}.runtime-toolbar p{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.runtime-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.runtime-status{border:1px solid var(--color-success-border);background:var(--color-bg-success);min-height:34px;color:var(--color-text-green);border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.runtime-status i{background:var(--color-success);border-radius:999px;width:8px;height:8px}.runtime-status-error{border-color:var(--color-warning-border);background:var(--color-bg-error);color:var(--color-text-red)}.runtime-status-error i{background:var(--color-error)}.runtime-updated,.runtime-section-header span{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.runtime-error{border:1px solid var(--color-warning-border);background:var(--color-bg-error);color:var(--color-text-red);border-radius:10px;padding:10px 12px;font-size:14px}.runtime-overview{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:14px;padding:14px 16px}.runtime-overview dl{grid-template-columns:repeat(5,minmax(110px,1fr));gap:12px;margin:0;display:grid}.runtime-overview div,.runtime-group-metrics div{gap:4px;display:grid}.runtime-overview dt,.runtime-group-metrics dt{color:var(--color-text-muted);font-size:12px}.runtime-overview dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:800}.runtime-group-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;display:grid}.runtime-group-card{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:14px;gap:12px;padding:14px;display:grid}.runtime-group-title{color:var(--color-text-primary);font-size:15px;font-weight:800}.runtime-group-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0;display:grid}.runtime-group-metrics dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:700}.runtime-section-header{flex-wrap:wrap;justify-content:space-between;margin-top:4px}.runtime-table-wrap{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:14px}.runtime-table{min-width:1260px}.runtime-table th{text-align:center}.runtime-table td{font-variant-numeric:tabular-nums}.user-key-table{min-width:1320px}.user-key-table th:first-child,.user-key-table td:first-child{text-align:center;width:42px}.user-key-secret-cell{min-width:108px;max-width:154px;color:var(--color-text-muted-alt);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;display:inline-block;overflow:hidden}.copy-icon-button{border:1px solid var(--color-border-secondary);background:var(--color-bg-card);min-width:28px;height:28px;color:var(--color-text-muted-alt);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;margin-left:6px;padding:0 7px;font-size:12px;display:inline-flex}.copy-icon-button.copied{border-color:var(--color-border-green-light);background:var(--color-bg-success);color:var(--color-text-green)}.copy-icon-button:disabled{opacity:.5;cursor:not-allowed}.user-key-model-picker{border:1px solid var(--color-border-secondary);border-radius:8px;flex-wrap:wrap;gap:8px 14px;margin:0;padding:10px;display:flex}.user-key-model-picker legend{color:var(--color-text-secondary);padding:0 4px;font-size:13px;font-weight:700}.user-key-model-picker label{white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:13px;display:inline-flex}.user-key-model-tags{flex-wrap:wrap;gap:4px;max-width:260px;display:flex}.user-key-model-tags span{background:var(--color-bg-tag-blue-light);color:var(--color-paper-tag-text);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:12px}.user-key-batch-button:disabled{opacity:.55;cursor:not-allowed}.user-key-secret-panel{background:var(--color-bg-subtle);gap:10px}.user-key-secret-panel code{border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-primary);white-space:nowrap;border-radius:8px;padding:12px;font:600 13px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;display:block;overflow-x:auto}.sysdict-page{box-sizing:border-box;width:100%;max-width:none}.sysdict-build-form{border:none;justify-content:flex-start;padding:0}.sysdict-layout{grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:start;gap:16px;display:grid}.sysdict-row-active td{background:var(--color-bg-tag-blue)}.sysdict-detail-panel{border:1px solid var(--color-border-primary);background:var(--color-bg-card);box-shadow:0 10px 30px var(--color-shadow);border-radius:16px;gap:14px;padding:16px;display:grid;position:sticky;top:18px}.sysdict-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sysdict-meta-grid span{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);color:var(--color-text-secondary);border-radius:8px;padding:8px 10px;font-size:13px}.sysdict-meta-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.sysdict-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sysdict-section-grid h4{color:var(--color-text-primary);margin:0 0 10px}.sysdict-task-form{box-shadow:none;border:none;margin-bottom:0;padding:0}.sysdict-filter-bar{grid-template-columns:minmax(220px,360px) auto}.sysdict-profile-list{gap:10px;display:grid}.sysdict-word-card{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:8px;overflow:hidden}.sysdict-word-card-header{border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-subtle);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:6px;padding:14px 16px;font-size:14px;display:flex}.sysdict-word-card-header strong{color:var(--color-text-primary);font-size:20px;line-height:1.2}.sysdict-content-list{grid-template-columns:repeat(auto-fill,360px);align-items:stretch;gap:0;display:grid}.sysdict-content-item{border-right:1px solid var(--color-border-tertiary);border-bottom:1px solid var(--color-border-tertiary);align-content:start;gap:10px;padding:14px 16px;display:grid}.sysdict-content-item:last-child{border-right:1px solid var(--color-border-tertiary);border-bottom:1px solid var(--color-border-tertiary)}.sysdict-content-title{color:var(--color-text-primary);font-weight:700}.sysdict-content-meaning,.sysdict-example{gap:2px;display:grid}.sysdict-example{border-top:1px solid var(--color-border-tertiary);padding-top:10px}.sysdict-content-list p{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;line-height:1.45}.sysdict-example p{color:var(--color-text-muted-alt)}.sysdict-example p+p{color:var(--color-text-muted)}.sysdict-source-meaning-list{gap:6px;margin-top:10px;display:grid}.sysdict-source-meaning-list div{color:var(--color-text-secondary);grid-template-columns:40px minmax(0,1fr);gap:8px;font-size:13px;display:grid}.sysdict-task-panel,.sysdict-result-panel{margin-top:16px}.sysdict-bridge-table{min-width:720px}.model-edit-grid .sysdict-checkbox-field{color:var(--color-text-secondary);flex-direction:row;align-items:center;gap:8px;font-size:14px;display:flex}.sysdict-checkbox-field input{width:auto}.sysdict-batch-bar{border-bottom:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.sysdict-batch-bar button{min-block-size:var(--app-action-button-height);min-inline-size:var(--app-action-button-width);border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.sysdict-batch-bar button:disabled{cursor:not-allowed;opacity:.55}.admin-users-page{gap:16px;display:grid}.system-manage-heading{justify-content:flex-start;align-items:center;gap:16px;display:flex}.system-manage-heading .function-switch{margin-bottom:0}.user-file-page{gap:12px;display:grid}.user-file-table{min-width:920px}.user-file-name{word-break:break-all;max-width:440px}.user-file-upload-form{gap:12px;max-width:560px;display:grid}.user-file-upload-form label{color:var(--color-text-secondary);gap:6px;font-weight:700;display:grid}.user-file-upload-form input{min-height:42px}.user-file-selected{color:var(--color-text-muted-alt);font-weight:700}.user-panel{border:1px solid var(--color-border-primary);background:var(--color-bg-card);box-shadow:0 10px 30px var(--color-shadow);border-radius:16px;gap:14px;padding:16px;display:grid}.user-list-panel{gap:14px;display:grid}.user-panel-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.user-panel-header h3,.admin-tools-card h3{color:var(--color-text-primary);margin:0;font-size:18px}.user-panel-header span{color:var(--color-text-muted);font-size:13px}.user-stats-filter,.user-filter-grid{gap:12px;display:grid}.user-stats-filter{grid-template-columns:repeat(2,minmax(180px,1fr)) repeat(2,auto);align-items:end}.user-filter-grid{grid-template-columns:repeat(5,minmax(132px,1fr)) auto;align-items:end}.user-stats-filter label,.user-pagination label{color:var(--color-text-secondary);gap:6px;font-size:14px;display:grid}.user-filter-grid label{color:var(--color-text-secondary);gap:0;font-size:0;display:grid}.user-stats-filter input,.user-filter-grid input,.user-filter-grid select,.user-pagination select{box-sizing:border-box;width:100%;block-size:var(--app-action-button-height);border:1px solid var(--color-border-secondary);background:var(--color-bg-input);min-width:0;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.2}.user-filter-actions{align-items:flex-start;gap:8px;display:flex}.user-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.user-stat-item{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);border-radius:12px;gap:8px;padding:14px;display:grid}.user-stat-item span{color:var(--color-text-muted);font-size:13px}.user-stat-item strong{color:var(--color-text-primary);font-size:28px;line-height:1}.user-table-wrap{box-shadow:none}.user-table{min-width:1180px}.user-id-cell{color:var(--color-text-muted-alt);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.user-clickable-row{cursor:pointer}.user-clickable-row:hover,.user-clickable-row:focus{background:var(--color-bg-subtle);outline:none}.user-status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.user-status-ok{background:var(--color-bg-tag-green);color:var(--color-text-green)}.user-status-warn{background:var(--color-bg-tag-yellow);color:var(--color-text-orange)}.user-status-muted{background:var(--color-user-muted-bg);color:var(--color-text-secondary)}.user-pagination{flex-wrap:wrap;justify-content:flex-end}.user-pagination label{grid-template-columns:auto 88px;align-items:center}.user-detail-panel{max-width:960px}.user-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.user-detail-field{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);border-radius:12px;gap:6px;padding:14px;display:grid}.user-detail-field span{color:var(--color-text-muted);font-size:13px}.user-detail-field strong{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere;font-size:15px;font-weight:700}.user-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.user-danger-button{background:var(--color-user-danger)}.user-danger-button:hover:not(:disabled){background:var(--color-user-danger-hover)}.learning-admin-page{max-width:1480px}.learning-admin-layout{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start;gap:16px;display:grid}.learning-admin-editor{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}.learning-admin-row-active td{background:var(--color-bg-active-row-green)}.learning-admin-muted{color:var(--color-text-muted);margin:6px 0 0;line-height:1.5}.learning-material-filter-bar{background:0 0;border:0;padding:0}.learning-material-list{gap:10px;display:grid}.learning-material-card{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:8px;overflow:hidden}.learning-material-card-header{border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-subtle);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:6px;padding:14px 16px;font-size:14px;display:flex}.learning-material-card-header strong{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:18px;line-height:1.25}.learning-material-content{padding:14px 16px}.learning-material-content p{color:var(--color-text-muted-alt);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.75}.paper-library-filter-bar{background:0 0;border:0;align-items:flex-end;padding:0}.paper-library-filter-bar label{color:var(--color-text-secondary);gap:6px;font-size:14px}.paper-library-list{align-content:start;gap:12px;max-height:calc(100vh - 154px);padding-right:4px;display:grid;overflow:auto}.exam-paper-detail-page .paper-library-list{max-height:none;padding-right:0;overflow:visible}.paper-library-scroll-anchor{min-height:1px}.paper-library-item{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:8px;overflow:hidden}.paper-library-item-header{border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-subtle);gap:10px;padding:14px 16px;display:grid}.paper-library-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.paper-library-title strong{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:18px;line-height:1.25}.paper-library-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.paper-library-tag{background:var(--color-bg-tag-blue-light);color:var(--color-paper-tag-text);border-radius:999px;align-items:center;padding:4px 8px;font-size:13px;font-weight:700;display:inline-flex}.paper-library-body{gap:14px;padding:14px 16px 16px;display:grid}.paper-library-group{gap:10px;display:grid}.paper-library-sublist{gap:10px;margin-top:14px;display:grid}.exam-paper-list-passages{flex-wrap:wrap;align-items:center;gap:6px 12px;padding:0 16px 16px;display:flex}.exam-paper-list-passages span{color:var(--color-text-muted);flex:none;font-size:12px;font-weight:800}.exam-paper-list-passages p{min-width:0;color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.exam-paper-sheet{color:var(--color-text-body);gap:24px;display:grid}.exam-paper-sheet-header{border-bottom:2px solid var(--color-border-secondary);grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:18px;padding:22px 0 20px;display:grid}.exam-paper-sheet-header h1{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:800;line-height:1.18}.exam-paper-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:13px;font-weight:700;display:flex}.exam-paper-passages{gap:34px;display:grid}.exam-paper-passage{border-bottom:1px solid var(--color-border-tertiary);gap:16px;padding-bottom:30px;display:grid}.exam-paper-passage-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.exam-paper-passage-header span{color:var(--color-text-muted);text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:800;display:block}.exam-paper-passage-header h2{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.25}.exam-paper-passage-header p{color:var(--color-text-muted-alt);margin:6px 0 0;line-height:1.6}.exam-paper-instructions{border-left:3px solid var(--color-accent);background:var(--color-bg-subtle);gap:8px;padding:12px 14px;display:grid}.exam-paper-instructions p{color:var(--color-text-muted-alt);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.65}.exam-paper-passage-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.exam-paper-reading-panel,.exam-paper-question-panel{gap:18px;min-width:0;display:grid}.exam-paper-reading-panel{padding-right:8px}.exam-paper-paragraph{gap:8px;display:grid}.exam-paper-paragraph h4{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.35}.exam-paper-paragraph p,.exam-paper-question-stem p,.exam-paper-question-options p,.exam-paper-display-content p,.exam-paper-answer p{color:var(--color-text-body);white-space:normal;overflow-wrap:anywhere;margin:0;line-height:1.78}.exam-paper-speaker{color:var(--color-text-primary);font-weight:800}.exam-paper-question-group{border-top:2px solid var(--color-border-secondary);gap:14px;padding:18px 0 20px;display:grid}.exam-paper-question-group:first-child{border-top:0;padding-top:0}.exam-paper-question-group h3{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.35}.exam-paper-option-bank{flex-wrap:wrap;gap:8px;display:flex}.exam-paper-option-bank span{border:1px solid var(--color-border-tertiary);background:var(--color-bg-card);min-height:30px;color:var(--color-text-muted-alt);border-radius:6px;align-items:center;padding:5px 9px;font-size:13px;font-weight:700;display:inline-flex}.exam-paper-display-content{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);gap:10px;padding:12px;display:grid}.exam-paper-display-list,.exam-paper-display-lines{gap:8px;display:grid}.exam-paper-display-lines h4{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.35}.exam-paper-display-map{grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;margin:0;display:grid}.exam-paper-display-map dt{color:var(--color-text-muted);font-size:13px;font-weight:800}.exam-paper-display-map dd{min-width:0;margin:0}.exam-paper-question-list{gap:16px;display:grid}.exam-paper-question{gap:10px;display:grid}.exam-paper-question-stem{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.exam-paper-question-number{border:1px solid var(--color-border-secondary);width:30px;height:30px;color:var(--color-text-primary);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:inline-grid}.exam-paper-question-options{gap:7px;margin:0 0 0 40px;padding:0;list-style:none;display:grid}.exam-paper-question-options li{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;display:grid}.exam-paper-question-options span{color:var(--color-text-muted);font-weight:800;line-height:1.78}.exam-paper-answer{border-left:2px solid var(--color-border-green-light);background:var(--color-bg-active-row-green);gap:8px;margin-left:40px;padding:10px 12px;display:grid}.exam-paper-answer div{gap:4px;display:grid}.exam-paper-answer span{color:var(--color-text-muted);font-size:12px;font-weight:800}.exam-paper-answer strong{color:var(--color-text-green);overflow-wrap:anywhere;line-height:1.5}.paper-library-answer-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;display:grid}.paper-library-answer-chip{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);border-radius:6px;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px;min-height:30px;padding:5px 8px;display:grid}.paper-library-answer-chip span{color:var(--color-text-muted);font-size:12px;font-weight:700}.paper-library-answer-chip strong{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.paper-library-passage-content{gap:8px;display:grid}.paper-library-passage-content-item{gap:6px;min-width:0;display:grid}.paper-library-passage-content-meta{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.35}.paper-library-passage-row{grid-template-columns:max-content minmax(0,1fr);gap:8px;display:grid}.paper-library-passage-row-plain{grid-template-columns:minmax(0,1fr)}.paper-library-passage-meta{color:var(--color-text-muted);font-weight:700}.paper-library-block,.paper-library-question{border-top:1px solid var(--color-border-tertiary);gap:8px;padding-top:10px;display:grid}.paper-library-block-header,.paper-library-question-line{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.paper-library-block-header strong,.paper-library-question-line>span,.paper-library-answer>span{color:var(--color-text-primary);font-weight:700}.paper-library-text,.paper-library-options p{color:var(--color-text-muted-alt);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.paper-library-question-line .paper-library-text{flex:320px}.paper-library-options{gap:6px;margin:0;padding:0;list-style:none;display:grid}.paper-library-options li,.paper-library-answer{color:var(--color-text-muted-alt);grid-template-columns:max-content minmax(0,1fr);gap:8px;display:grid}.paper-library-options span{color:var(--color-text-muted);font-weight:700}.paper-passage-page .paper-library-list{max-height:calc(100vh - 154px)}.paper-passage-filter-bar{align-items:flex-end}.paper-passage-detail-meta{flex-wrap:wrap;gap:6px;display:flex}.paper-passage-meta-item{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);min-height:26px;color:var(--color-text-muted);border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:12px;line-height:1.2;display:inline-flex}.paper-passage-meta-item strong{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:12px}.paper-passage-question-detail{border-top:1px solid var(--color-border-tertiary);gap:8px;padding-top:10px;display:grid}.paper-passage-answer-detail{background:var(--color-bg-subtle);border-radius:8px;gap:8px;padding:10px;display:grid}.paper-passage-answer-detail .paper-library-answer{align-items:start}.paper-passage-edit-button{min-height:30px;padding:5px 10px}.learning-admin-segment-form{border-top:1px solid var(--color-border-tertiary);padding-top:12px}.learning-admin-segments{gap:10px;display:grid}.learning-admin-segments article{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);border-radius:8px;gap:8px;padding:12px;display:grid}.learning-admin-segments article>div:first-child{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:10px;display:flex}.learning-admin-segments span{color:var(--color-text-muted);font-size:13px}.learning-admin-segments p{color:var(--color-text-muted-alt);white-space:pre-wrap;margin:0;line-height:1.65}.learning-admin-detail{max-width:1120px}.learning-admin-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.learning-admin-detail-grid span{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);color:var(--color-text-secondary);border-radius:8px;padding:8px 10px;font-size:13px}.learning-admin-detail-content{border:1px solid var(--color-border-tertiary);background:var(--color-bg-card);border-radius:8px;gap:8px;padding:12px;display:grid}.learning-admin-detail-content h4{color:var(--color-text-primary);margin:0}.learning-admin-detail-content p{color:var(--color-text-muted-alt);white-space:pre-wrap;margin:0;line-height:1.75}.llm-config-page{max-width:1520px}.analytics-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.analytics-page-header h3{margin:0;font-size:18px;font-weight:700}.analytics-filter-bar{background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.analytics-filter-bar label{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.analytics-filter-bar input,.analytics-filter-bar select{border:1px solid var(--color-border-secondary);background:var(--color-bg-input);height:34px;color:var(--color-text-body);border-radius:6px;padding:0 8px;font-size:13px}.analytics-filter-bar input{min-width:140px}.analytics-filter-bar .model-query-button{height:34px}.analytics-metric-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.analytics-metric-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.analytics-metric-card dt{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.analytics-metric-card dd{color:var(--color-text-body);font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:800}.analytics-chart{background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:10px;margin-bottom:24px;padding:16px}.analytics-chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.analytics-chart-header h4{margin:0;font-size:15px;font-weight:700}.analytics-chart-legend{color:var(--color-text-secondary);align-items:center;gap:12px;font-size:12px;display:flex}.analytics-chart-legend i{border-radius:2px;width:14px;height:3px;margin-right:4px;display:inline-block}.analytics-chart-legend-token{background:var(--color-accent);vertical-align:middle}.analytics-chart-legend-duration{vertical-align:middle;background:#f59e0b}.analytics-chart svg{width:100%;height:auto}.analytics-chart-token-area{fill:var(--color-accent-light,#16a34a33);opacity:.18}.analytics-chart-token-line{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round}.analytics-chart-duration-area{fill:#f59e0b33;opacity:.14}.analytics-chart-duration-line{fill:none;stroke:#f59e0b;stroke-width:1.8px;stroke-dasharray:6 3;stroke-linejoin:round}.analytics-section{margin-bottom:24px}.analytics-section h4{margin:0 0 10px;font-size:15px;font-weight:700}.analytics-table code{font-size:11px}.analytics-slow-duration{color:#dc2626;font-weight:700}.analytics-pagination{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:12px;padding:12px 0 4px;font-size:13px;display:flex}.analytics-pagination button{border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-body);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:12px}.analytics-pagination button:disabled{opacity:.4;cursor:not-allowed}.analytics-pagination button:not(:disabled):hover{background:var(--color-bg-subtle)}.llm-task-inline-form{box-shadow:none;border-radius:12px}.llm-task-muted{color:var(--color-text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.35}.llm-primary-action{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-white);justify-self:end}.llm-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.llm-secondary-action{min-block-size:var(--app-action-button-height);min-inline-size:var(--app-action-button-width);border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.llm-api-key-form{max-width:720px}.llm-prompt-detail{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:8px;gap:16px;margin-bottom:16px;padding:16px;display:grid}.llm-prompt-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.llm-prompt-detail-header h3{color:var(--color-text-primary);margin:4px 0;font-size:20px;line-height:1.25}.llm-prompt-detail-header p{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0}.llm-prompt-meta{grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;margin:0;display:grid}.llm-prompt-meta div{border-top:1px solid var(--color-border-tertiary);gap:4px;min-width:0;padding:10px 0;display:grid}.llm-prompt-meta dt{color:var(--color-text-muted);font-size:12px}.llm-prompt-meta dd{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-weight:700}.llm-prompt-body-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;display:grid}.llm-prompt-body-grid h4{color:var(--color-text-primary);margin:0 0 8px;font-size:14px}.llm-prompt-code{border:1px solid var(--color-border-primary);background:var(--color-bg-subtle);min-height:320px;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6}.llm-prompt-code-compact{min-height:160px}.llm-task-results-panel{margin-top:22px}.llm-task-results-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.llm-task-results-header h4{color:var(--color-text-primary);margin:0;font-size:15px}.llm-task-results-table-wrap{overflow-x:auto}.llm-task-results-table th:first-child,.llm-task-results-table td:first-child{width:96px}.llm-task-results-table th:nth-child(2),.llm-task-results-table td:nth-child(2){width:180px}.llm-task-response-json{border:1px solid var(--color-border-tertiary);background:var(--color-bg-subtle);min-width:360px;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.llm-api-key-form label{color:var(--color-text-secondary);gap:6px;font-size:14px;display:grid}.llm-api-key-form input,.llm-api-key-form textarea{box-sizing:border-box;border:1px solid var(--color-border-secondary);background:var(--color-bg-input);width:100%;min-width:0;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:10px 12px}.llm-api-key-form textarea{resize:vertical;min-height:120px}@media (width<=900px){.login-shell{flex-direction:column;align-items:stretch}.app-shell{grid-template-columns:1fr}.app-side-nav{border-right:none;border-bottom:1px solid var(--color-nav-border);flex-direction:row;align-items:flex-start;gap:8px;height:auto;padding:10px;position:static;overflow-x:auto}.app-nav-list{grid-template-columns:repeat(6, var(--app-nav-button-width));flex:none;inline-size:auto}.app-brand-block,.app-nav-button{flex:0 0 var(--app-nav-button-width)}.app-nav-button{margin-top:0}.dashboard-hero{grid-template-columns:1fr}.dashboard-page{padding:14px 14px 40px}.model-layout,.model-edit-grid{grid-template-columns:1fr}.system-password-header-actions{flex-direction:column;align-items:flex-end}.llm-prompt-detail-header{flex-direction:column}.llm-prompt-meta,.llm-prompt-body-grid{grid-template-columns:1fr}.llm-prompt-code{min-height:220px}.model-usage-metric-row{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr)}.model-usage-trend-body{grid-template-columns:1fr}.model-usage-trend-stats{align-content:start}.runtime-toolbar,.runtime-toolbar-actions,.runtime-section-header{flex-direction:column;align-items:flex-start}.runtime-overview dl,.runtime-group-grid,.user-stats-filter,.user-filter-grid{grid-template-columns:1fr}.user-filter-actions{flex-wrap:wrap}.user-stats-grid,.learning-admin-layout,.learning-material-filter-bar,.sysdict-layout{grid-template-columns:1fr}.sysdict-detail-panel{position:static}.sysdict-filter-bar,.sysdict-content-list{grid-template-columns:1fr}.sysdict-content-item{border-right:none}.learning-admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-admin-editor{max-height:none;position:static}.exam-paper-sheet-header{grid-template-columns:1fr;gap:12px;padding-top:10px}.exam-paper-sheet-header h1{font-size:26px}.exam-paper-passage-layout{grid-template-columns:1fr;gap:20px}.exam-paper-reading-panel{padding-right:0}.exam-paper-question-stem{grid-template-columns:28px minmax(0,1fr)}.exam-paper-question-number{width:28px;height:28px}.exam-paper-question-options,.exam-paper-answer{margin-left:38px}.exam-paper-display-map{grid-template-columns:1fr}.analytics-filter-bar{flex-direction:column;align-items:stretch}.analytics-filter-bar input{min-width:100%}.analytics-metric-cards{grid-template-columns:repeat(2,1fr)}}.speaking-workbench{width:100%;min-height:100%;color:var(--color-sw-text)}.speaking-workbench,.speaking-workbench *{box-sizing:border-box;letter-spacing:0}.speaking-workspace{gap:18px;width:100%;max-width:1120px;display:grid}.speaking-topics-view{gap:16px;display:grid}.speaking-tool-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.speaking-tool-tab{border:1px solid var(--color-sw-border);background:var(--color-bg-card);block-size:36px;inline-size:58.2524px;color:var(--color-sw-text);cursor:pointer;font:inherit;text-align:center;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;line-height:1;transition:transform .14s,border-color .14s,background .14s,color .14s;display:inline-flex}.speaking-tool-tab:hover:not(:disabled){border-color:var(--color-sw-accent);transform:translateY(-1px)}.speaking-tool-tab-active{background:var(--color-accent-gradient);color:var(--color-text-white);border-color:#0000}.speaking-panel{border:1px solid var(--color-sw-border);background:var(--color-bg-card);border-radius:8px;gap:14px;padding:14px;display:grid}.speaking-import-panel,.speaking-query-form{align-items:end}.speaking-import-panel{max-width:720px}.speaking-import-panel label,.speaking-query-form label{color:var(--color-sw-text-sub);text-transform:uppercase;gap:6px;font-size:12px;font-weight:700;display:grid}.speaking-import-panel input,.speaking-import-panel select,.speaking-import-panel textarea,.speaking-query-form input,.speaking-query-form select{border:1px solid var(--color-sw-border);background:var(--color-bg-input);width:100%;color:var(--color-sw-text);font:inherit;text-transform:none;border-radius:6px;padding:10px;font-size:14px;font-weight:400;line-height:1.5}.speaking-import-panel textarea{resize:vertical;min-height:96px}.speaking-import-panel input:focus,.speaking-import-panel select:focus,.speaking-import-panel textarea:focus,.speaking-query-form input:focus,.speaking-query-form select:focus{border-color:var(--color-sw-accent);outline:none}.speaking-panel-label{color:var(--color-sw-text-sub);text-transform:uppercase;font-size:12px;font-weight:700}.speaking-query-form{grid-template-columns:minmax(160px,33%) auto;align-items:center;gap:12px;display:grid}.speaking-query-form .model-query-button{justify-self:start}.speaking-results-panel{align-items:stretch}.speaking-topic-list{gap:10px;display:grid}.speaking-topic-card{border:1px solid var(--color-sw-border);background:var(--color-bg-card);border-radius:8px;overflow:hidden}.speaking-topic-card-header{border-bottom:1px solid var(--color-border-secondary);background:var(--color-sw-bg-card-header);color:var(--color-sw-text-sub);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px;font-size:13px;display:flex}.speaking-topic-card-header strong{color:var(--color-sw-text);overflow-wrap:anywhere;font-size:18px;line-height:1.2}.speaking-topic-card-header span{overflow-wrap:anywhere}.speaking-question-list{grid-template-columns:1fr;gap:0;display:grid}.speaking-question-item{border-right:1px solid var(--color-sw-border-sub);border-bottom:1px solid var(--color-sw-border-sub);gap:8px;padding:13px 14px;display:grid}.speaking-question-title{color:var(--color-sw-text-sub);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.speaking-question-item p{color:var(--color-sw-text);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.speaking-question-item p+p{color:var(--color-sw-text-sub)}.speaking-pagination{justify-content:flex-end;align-items:center;gap:12px;display:flex}.speaking-inline-status{color:var(--color-sw-text-sub);font-size:13px}.speaking-inline-status-active{color:var(--color-sw-accent)}.speaking-button{border:1px solid var(--color-sw-border);background:var(--color-bg-card);min-height:36px;color:var(--color-sw-text);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;transition:transform .14s,border-color .14s,background .14s,color .14s;display:inline-flex}.speaking-button:hover:not(:disabled){border-color:var(--color-sw-accent);transform:translateY(-1px)}.speaking-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.speaking-button-primary{background:var(--color-accent-gradient);color:var(--color-text-white);border-color:#0000}.speaking-button-primary:hover:not(:disabled){background:var(--color-accent-gradient-hover)}.speaking-button-quiet{background:var(--color-sw-bg-card-header)}.speaking-empty-panel{min-height:8px}.speaking-banner{border:1px solid var(--color-sw-border);background:var(--color-bg-card);color:var(--color-sw-text);word-break:break-word;border-radius:8px;padding:12px 14px;line-height:1.5}.speaking-banner-error{border-color:var(--color-sw-border-error);background:var(--color-sw-bg-error);color:var(--color-sw-text-error)}@media (width<=720px){.speaking-query-form{grid-template-columns:1fr}.speaking-pagination{justify-content:space-between}}.guitar-fretboard-page{--guitar-ink:#edf2ec;--guitar-muted:#a6afa7;--guitar-paper:#101512;--guitar-wood:#704321;--guitar-accent:#44c6a2;--guitar-accent-pale:#1d5c4c;--guitar-root-accent:#e84d57;--guitar-single-accent:#f2c14f;--guitar-single-pale:#76540b;background:var(--guitar-paper);min-height:calc(100vh - 67px);color:var(--guitar-ink);padding:44px clamp(20px,5vw,80px) 54px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}.guitar-fretboard-header{border-bottom:1px solid #3d4840;justify-content:space-between;align-items:end;gap:24px;padding-bottom:26px;display:flex}.guitar-fretboard-eyebrow,.guitar-fretboard-string-label,.guitar-fretboard-fret-numbers span{font-family:SF Mono,Menlo,monospace}.guitar-fretboard-eyebrow{color:var(--guitar-accent);margin:0 0 11px;font-size:12px;font-weight:700}.guitar-fretboard-page h1{margin:0;font-size:48px;font-weight:720;line-height:1}.guitar-fretboard-intro{max-width:330px;color:var(--guitar-muted);margin:0;font-size:14px;line-height:1.55}.guitar-fretboard-legend{color:var(--guitar-muted);flex-wrap:wrap;gap:10px 20px;padding:20px 0 17px;font-size:13px;display:flex}.guitar-fretboard-legend strong{color:var(--guitar-ink)}.guitar-fretboard-legend span{white-space:nowrap}.guitar-fretboard-workspace{border-top:1px solid #3d4840;border-bottom:1px solid #3d4840;padding:20px 0 22px}.guitar-fretboard-selector-row{grid-template-columns:112px 1fr;align-items:start;gap:12px 20px;display:grid}.guitar-fretboard-selector-title{color:var(--guitar-muted);padding-top:8px;font-size:12px;font-weight:700}.guitar-fretboard-root-options,.guitar-fretboard-chord-options{flex-wrap:wrap;gap:7px;display:flex}.guitar-fretboard-root,.guitar-fretboard-chord{min-height:34px;color:var(--guitar-ink);cursor:pointer;background:0 0;border:1px solid #4f5b52;border-radius:4px;padding:0 10px;font:650 13px SF Mono,Menlo,monospace;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.guitar-fretboard-root:hover,.guitar-fretboard-chord:hover,.guitar-fretboard-root:focus-visible,.guitar-fretboard-chord:focus-visible{border-color:var(--guitar-accent);color:var(--guitar-accent);outline:none}.guitar-fretboard-chord.active{border-color:var(--guitar-accent);background:var(--guitar-accent);color:#08251d}.guitar-fretboard-root.active{border-color:var(--guitar-root-accent);background:var(--guitar-root-accent);color:#fff}.guitar-fretboard-chord-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}.guitar-fretboard-chord-group{border-top:2px solid #4c594f;min-width:0;padding-top:12px}.guitar-fretboard-chord-group h2{margin:0 0 10px;font-size:14px;font-weight:720}.guitar-fretboard-selection{color:var(--guitar-muted);margin:17px 0 0;font-family:SF Mono,Menlo,monospace;font-size:13px;line-height:1.45}.guitar-fretboard-selection strong{color:var(--guitar-accent)}.guitar-fretboard-selection .guitar-fretboard-root-selection{color:var(--guitar-root-accent)}.guitar-fretboard-selection .guitar-fretboard-single-selection{color:var(--guitar-single-accent)}.guitar-fretboard-scroll{scrollbar-color:#a8a69e transparent;padding:4px 0 18px;overflow-x:auto}.guitar-fretboard-instrument{grid-template-rows:34px 1fr;grid-template-columns:78px 76px 1fr;min-width:820px;display:grid}.guitar-fretboard-fret-numbers{color:var(--guitar-muted);text-align:center;grid-column:2/span 2;grid-template-columns:76px repeat(16,minmax(42px,1fr));font-size:11px;display:grid}.guitar-fretboard-fret-numbers span{align-self:end}.guitar-fretboard-fret-numbers span:first-child{color:var(--guitar-ink);font-weight:700}.guitar-fretboard-string-labels{color:#f5e6c8;background:#182019;border:1px solid #3c2112;border-right:0;grid-row:2;grid-template-rows:repeat(6,1fr);min-height:450px;display:grid}.guitar-fretboard-string-label{border-bottom:1px solid #f5e6c82e;place-items:center;font-size:12px;font-weight:700;display:grid}.guitar-fretboard-string-label:last-child{border-bottom:0}.guitar-fretboard-nut{background:linear-gradient(90deg,#887a63 0 20%,#b9ad94 20% 80%,#71654f 80%);border:1px solid #3c2112;grid-area:2/2;min-height:450px;position:relative}.guitar-fretboard-open-note-grid{z-index:1;grid-template-rows:repeat(6,1fr);display:grid;position:absolute;inset:0}.guitar-fretboard-board{isolation:isolate;background-color:var(--guitar-wood);background-image:repeating-linear-gradient(90deg,#ffffff09 0 2px,#0000 2px 34px),linear-gradient(90deg,#4d2e18,#7b4c26 48%,#442713);border:1px solid #3c2112;grid-area:2/3;min-height:450px;position:relative;overflow:hidden}.guitar-fretboard-fret-grid,.guitar-fretboard-strings,.guitar-fretboard-markers{pointer-events:none;grid-template-columns:repeat(16,1fr);display:grid;position:absolute;inset:0}.guitar-fretboard-fret-grid{z-index:1}.guitar-fretboard-fret-grid span{border-right:3px solid #dcdcd1d1}.guitar-fretboard-strings{z-index:2;grid-template-rows:repeat(6,1fr);grid-template-columns:1fr;align-items:center}.guitar-fretboard-strings span{border-top:var(--string-size) solid #ded8ca;width:100%;box-shadow:0 1px 1px #0000008c}.guitar-fretboard-markers{z-index:2}.guitar-fretboard-marker{grid-column:var(--fret);grid-row:var(--row);background:#1c120c6e;border-radius:50%;place-self:center;width:12px;height:12px}.guitar-fretboard-note-grid{z-index:3;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(16,minmax(42px,1fr));display:grid;position:absolute;inset:0}.guitar-fretboard-note{isolation:isolate;color:#fff9ec;cursor:pointer;text-shadow:0 1px 2px #2d170a;background:0 0;border:0;place-items:center;min-width:0;padding:0;font-family:SF Mono,Menlo,monospace;font-size:14px;font-weight:700;transition:background-color .16s,color .16s,transform .16s;display:grid;position:relative}.guitar-fretboard-note:before{z-index:0;background:var(--guitar-accent-pale);content:"";opacity:0;border-radius:50%;width:33.333%;height:33.333%;transition:opacity .16s,transform .16s,background-color .16s;position:absolute;transform:scale(.78);box-shadow:inset 0 0 0 1px #44c6a2b8}.guitar-fretboard-note-label{z-index:1;position:relative}.guitar-fretboard-note:hover,.guitar-fretboard-note:focus-visible{background:#fff9ec33;outline:none}.guitar-fretboard-note.active{color:#eafff7;text-shadow:none}.guitar-fretboard-note.active:before{opacity:1;transform:scale(1)}.guitar-fretboard-note.root-note{color:#fff2f3}.guitar-fretboard-note.root-note:before{background:var(--guitar-root-accent);box-shadow:inset 0 0 0 1px #ffffffbd}.guitar-fretboard-note.single-note{color:#fff1be}.guitar-fretboard-note.single-note:before{background:var(--guitar-single-pale);box-shadow:inset 0 0 0 1px var(--guitar-single-accent)}.guitar-fretboard-note.active:hover:before{transform:scale(1.12)}.guitar-fretboard-footnote{color:var(--guitar-muted);margin:0;font-size:12px}@media (width>=1800px){.guitar-fretboard-page{padding:56px 88px 72px}.guitar-fretboard-string-labels,.guitar-fretboard-nut,.guitar-fretboard-board{min-height:540px}}@media (width<=640px){.guitar-fretboard-page{padding-top:30px}.guitar-fretboard-header{flex-direction:column;align-items:start;gap:15px}.guitar-fretboard-page h1{font-size:34px}.guitar-fretboard-intro{max-width:none}.guitar-fretboard-legend{padding-top:17px}.guitar-fretboard-selector-row{grid-template-columns:1fr;gap:6px}.guitar-fretboard-selector-title{padding-top:0}.guitar-fretboard-chord-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guitar-fretboard-note{font-size:11px}}.pitch-frequency-page{min-height:calc(100vh - 67px);color:var(--color-text-body);padding:36px clamp(20px,4vw,56px) 56px}.pitch-frequency-header{margin-bottom:34px}.pitch-frequency-eyebrow{color:var(--color-text-link);letter-spacing:0;margin:0 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:800}.pitch-frequency-header h1,.pitch-frequency-formulas h2,.pitch-frequency-graph-section h2{color:var(--color-text-primary);margin:0}.pitch-frequency-header h1{letter-spacing:0;font-size:48px;line-height:1.05}.pitch-frequency-header>p:last-child,.pitch-frequency-formulas>div:first-child p,.pitch-frequency-graph-header p,.pitch-frequency-graph-note{color:var(--color-text-muted);margin:9px 0 0;font-size:14px;line-height:1.6}.pitch-frequency-formulas{border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);grid-template-columns:minmax(190px,.6fr) minmax(260px,1.2fr) minmax(220px,.75fr);align-items:center;gap:24px;padding:24px 0;display:grid}.pitch-frequency-formulas h2,.pitch-frequency-graph-section h2{font-size:18px}.pitch-frequency-equations{border-left:2px solid var(--color-accent);gap:8px;padding-left:24px;display:grid}.pitch-frequency-equations p{color:var(--color-text-primary);margin:0;font-family:Times New Roman,Times,serif;font-size:32px;line-height:1.2}.pitch-frequency-equations p+p{color:var(--color-text-secondary);font-size:26px}.pitch-frequency-equations p>span:first-child{font-style:italic}.pitch-frequency-equations sub,.pitch-frequency-equations sup{font-size:.6em}.pitch-frequency-definitions{gap:8px;margin:0;display:grid}.pitch-frequency-definitions div{border-bottom:1px solid var(--color-border-tertiary);grid-template-columns:78px 1fr;gap:12px;padding-bottom:8px;display:grid}.pitch-frequency-definitions div:last-child{border-bottom:0;padding-bottom:0}.pitch-frequency-definitions dt,.pitch-frequency-definitions dd{margin:0;font-size:13px}.pitch-frequency-definitions dt{color:var(--color-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800}.pitch-frequency-definitions dd{color:var(--color-text-muted)}.pitch-frequency-graph-section{margin-top:36px}.pitch-frequency-graph-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.pitch-frequency-graph-header output{background:var(--color-bg-tag-blue);color:var(--color-text-link);white-space:nowrap;border-radius:6px;padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:800}.pitch-frequency-chart{border:1px solid var(--color-border-primary);background:var(--color-bg-card);box-shadow:0 16px 40px var(--color-shadow);touch-action:none;border-radius:14px;overflow:hidden}.pitch-frequency-chart svg{width:100%;min-width:560px;height:auto;display:block}.pitch-frequency-octave-band{fill:var(--color-bg-subtle)}.pitch-frequency-octave-band[data-alternate=false]{fill:#0000}.pitch-frequency-y-tick line,.pitch-frequency-x-tick line{stroke:var(--color-chart-axis);stroke-width:1px}.pitch-frequency-y-tick text,.pitch-frequency-x-tick text,.pitch-frequency-axis-title{fill:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.pitch-frequency-area{fill:var(--color-chart-area)}.pitch-frequency-curve{fill:none;stroke:var(--color-chart-line);stroke-dasharray:1;stroke-dashoffset:1px;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;animation:.72s ease-out forwards pitch-frequency-draw}.pitch-frequency-point circle{fill:var(--color-chart-dot-fill);stroke:var(--color-chart-dot-stroke);stroke-width:2px;transition:r .14s,fill .14s,stroke-width .14s}.pitch-frequency-point.selected circle{fill:var(--color-accent);stroke-width:3px}.pitch-frequency-guide{stroke:var(--color-accent);stroke-dasharray:4 4;stroke-width:1.5px}.pitch-frequency-point-label{fill:var(--color-text-link);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:800}.pitch-frequency-graph-note{margin-top:12px}@keyframes pitch-frequency-draw{to{stroke-dashoffset:0}}@media (width<=900px){.pitch-frequency-page{min-height:auto;padding:28px 14px 40px}.pitch-frequency-formulas{grid-template-columns:1fr;gap:20px}.pitch-frequency-equations{padding-left:16px}.pitch-frequency-header h1{font-size:34px}.pitch-frequency-equations p{font-size:26px}.pitch-frequency-equations p+p{font-size:22px}.pitch-frequency-chart{overflow-x:auto}}@media (width<=560px){.pitch-frequency-graph-header{flex-direction:column;align-items:start;gap:10px}}@media (prefers-reduced-motion:reduce){.pitch-frequency-curve{stroke-dashoffset:0;animation:none}}.text-pronunciation-page{min-height:calc(100vh - 67px);color:var(--color-text-body);padding:36px clamp(20px,4vw,56px) 64px}.text-pronunciation-header{border-bottom:1px solid var(--color-border-primary);padding-bottom:28px}.text-pronunciation-eyebrow{color:var(--color-text-link);letter-spacing:0;margin:0 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:800}.text-pronunciation-header h1{color:var(--color-text-primary);letter-spacing:0;margin:0;font-size:48px;line-height:1.05}.text-pronunciation-header>p:last-child,.text-pronunciation-section-heading p,.text-pronunciation-syllable-header p{color:var(--color-text-muted);margin:9px 0 0;font-size:14px;line-height:1.6}.text-pronunciation-index{z-index:5;border-bottom:1px solid var(--color-border-primary);background:var(--color-nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:18px;padding:13px 0;display:flex;position:sticky;top:0}.text-pronunciation-index a{color:var(--color-text-secondary);font-size:13px;font-weight:700;text-decoration:none;transition:color .15s}.text-pronunciation-index a:hover,.text-pronunciation-index a:focus-visible{color:var(--color-text-link);outline:none}.text-pronunciation-section{border-bottom:1px solid var(--color-border-primary);padding:44px 0;scroll-margin-top:56px;animation:.32s ease-out both text-pronunciation-enter}.text-pronunciation-section:last-child{border-bottom:0;padding-bottom:0}.text-pronunciation-section-heading{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;margin-bottom:28px;display:grid}.text-pronunciation-section-heading>span{color:var(--color-text-link);padding-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:800}.text-pronunciation-section h2,.text-pronunciation-section h3,.text-pronunciation-section h4{color:var(--color-text-primary);margin:0}.text-pronunciation-section h2{font-size:24px}.text-pronunciation-section h3{font-size:16px}.text-pronunciation-foundations{border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.text-pronunciation-foundations article{padding:22px}.text-pronunciation-foundations article+article{border-left:1px solid var(--color-border-primary)}.text-pronunciation-foundations p{color:var(--color-text-muted);margin:9px 0 0;font-size:14px;line-height:1.65}.text-pronunciation-example,.text-pronunciation-structure{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.text-pronunciation-example strong{color:var(--color-text-link);margin-right:8px;font-size:24px}.text-pronunciation-example span,.text-pronunciation-structure span,.text-pronunciation-structure strong{border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-secondary);border-radius:6px;padding:7px 10px;font-size:13px}.text-pronunciation-example i,.text-pronunciation-structure i{color:var(--color-text-muted);font-style:normal}.text-pronunciation-structure strong{border-color:var(--color-border-blue-hover);color:var(--color-text-link)}.text-pronunciation-sound-chain{grid-template-columns:repeat(4,minmax(0,1fr));margin:30px 0 0;display:grid}.text-pronunciation-sound-chain>div{border-top:2px solid var(--color-accent);background:var(--color-bg-subtle);min-width:0;padding:18px 28px 18px 18px;position:relative}.text-pronunciation-sound-chain>div:after{z-index:1;border-top:2px solid var(--color-accent);border-right:2px solid var(--color-accent);content:"";width:12px;height:12px;position:absolute;top:50%;right:-7px;transform:translateY(-50%)rotate(45deg)}.text-pronunciation-sound-chain>div:last-of-type:after{content:none}.text-pronunciation-sound-chain strong,.text-pronunciation-sound-chain span{display:block}.text-pronunciation-sound-chain strong{color:var(--color-text-primary);font-size:14px}.text-pronunciation-sound-chain span{color:var(--color-text-muted);margin-top:5px;font-size:12px}.text-pronunciation-sound-chain figcaption{color:var(--color-text-muted);grid-column:1/-1;margin-top:10px;font-size:12px;line-height:1.6}.text-pronunciation-subsection+.text-pronunciation-subsection{margin-top:30px}.text-pronunciation-subsection>h3{margin-bottom:12px}.text-pronunciation-table-scroll{border-top:1px solid var(--color-border-primary);overflow-x:auto}.text-pronunciation-table{border-collapse:collapse;background:var(--color-bg-card);width:100%;min-width:680px}.text-pronunciation-table th,.text-pronunciation-table td{border-bottom:1px solid var(--color-border-tertiary);color:var(--color-text-secondary);text-align:left;vertical-align:top;padding:10px 12px;font-size:13px;line-height:1.5}.text-pronunciation-table th{background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:12px;font-weight:700}.text-pronunciation-table tbody tr:hover{background:var(--color-bg-hover)}.text-pronunciation-table .text-pronunciation-symbol{color:var(--color-text-primary);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800}.text-pronunciation-structure{margin:0 0 28px 54px}.text-pronunciation-groups{background:var(--color-border-primary);gap:1px;display:grid}.text-pronunciation-initials{grid-template-columns:repeat(7,minmax(0,1fr))}.text-pronunciation-finals{grid-template-columns:repeat(3,minmax(0,1fr))}.text-pronunciation-groups>div{background:var(--color-bg-card);min-width:0;padding:14px}.text-pronunciation-groups span,.text-pronunciation-groups strong{display:block}.text-pronunciation-groups span{color:var(--color-text-muted);font-size:11px}.text-pronunciation-groups strong{color:var(--color-text-primary);margin-top:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.7}.text-pronunciation-note{color:var(--color-text-muted);margin:10px 0 0;font-size:12px;line-height:1.65}.text-pronunciation-tones{background:var(--color-border-primary);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.text-pronunciation-tones>div{background:var(--color-bg-card);grid-template-columns:28px minmax(0,1fr);gap:2px 8px;padding:13px;display:grid}.text-pronunciation-tones span{color:var(--color-text-link);grid-row:1/span 2;align-self:center;font-size:22px}.text-pronunciation-tones strong,.text-pronunciation-tones small{min-width:0}.text-pronunciation-tones strong{color:var(--color-text-primary);font-size:14px}.text-pronunciation-tones small{color:var(--color-text-muted);font-size:11px}.text-pronunciation-syllables{border-top:1px solid var(--color-border-primary);padding-top:30px}.text-pronunciation-syllable-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.text-pronunciation-syllable-header label{gap:5px;width:min(100%,240px);display:grid}.text-pronunciation-syllable-header label span{color:var(--color-text-muted);font-size:11px;font-weight:700}.text-pronunciation-syllable-header input{border:1px solid var(--color-border-secondary);background:var(--color-bg-input);width:100%;height:36px;color:var(--color-text-primary);font:inherit;border-radius:6px;padding:0 10px}.text-pronunciation-syllable-header input:focus{border-color:var(--color-accent);outline:2px solid var(--color-chart-area)}.text-pronunciation-syllable-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.text-pronunciation-syllable-groups section{border:1px solid var(--color-border-primary);background:var(--color-bg-card);border-radius:6px;min-width:0;padding:13px}.text-pronunciation-syllable-groups h4{color:var(--color-text-link);margin-bottom:9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.text-pronunciation-syllable-groups section>div{flex-wrap:wrap;gap:5px 9px;display:flex}.text-pronunciation-syllable-groups section span{color:var(--color-text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.text-pronunciation-empty{color:var(--color-text-muted);text-align:center;grid-column:1/-1;margin:0;padding:28px 0}@keyframes text-pronunciation-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.text-pronunciation-initials{grid-template-columns:repeat(4,minmax(0,1fr))}.text-pronunciation-tones{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.text-pronunciation-page{min-height:auto;padding:28px 14px 40px}.text-pronunciation-header h1{font-size:34px}.text-pronunciation-foundations,.text-pronunciation-sound-chain,.text-pronunciation-finals,.text-pronunciation-syllable-groups{grid-template-columns:1fr}.text-pronunciation-foundations article+article{border-top:1px solid var(--color-border-primary);border-left:0}.text-pronunciation-sound-chain>div:after{top:auto;bottom:-7px;right:50%;transform:translate(50%)rotate(135deg)}.text-pronunciation-initials,.text-pronunciation-tones{grid-template-columns:repeat(2,minmax(0,1fr))}.text-pronunciation-structure{margin-left:0}.text-pronunciation-syllable-header{flex-direction:column;align-items:stretch}.text-pronunciation-syllable-header label{width:100%}}@media (prefers-reduced-motion:reduce){.text-pronunciation-section{animation:none}}.personal-music-page{background:var(--color-bg-page)}.personal-music-tabs{border-bottom:1px solid var(--color-border-primary);background:var(--color-nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:8px;padding:16px 28px;display:flex}.personal-music-tabs a{border:1px solid var(--color-border-secondary);background:var(--color-bg-card);color:var(--color-text-secondary);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.personal-music-tabs a:hover,.personal-music-tabs a:focus-visible{border-color:var(--color-border-blue-hover);color:var(--color-text-link);outline:none;transform:translateY(-1px)}.personal-music-tabs a.active{border-color:var(--color-accent);background:var(--color-accent-gradient);color:var(--color-text-white)}@media (width<=900px){.personal-music-tabs{padding:12px 14px}}
