:root{color-scheme:light;--bg: #edf3ff;--card: rgba(255, 255, 255, .92);--line: rgba(151, 173, 214, .34);--text: #132033;--muted: #5f6d86;--accent: #315efb;--accent-soft: #e4edff;--danger: #c0382b;--success: #0f8f5e;--shadow: 0 18px 48px rgba(36, 71, 136, .14)}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(112,146,255,.26),transparent 28%),radial-gradient(circle at bottom right,rgba(84,209,183,.2),transparent 24%),linear-gradient(180deg,#f6f9ff,#e7efff 52%,#edf5ff)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}pre,code{font-family:IBM Plex Mono,SFMono-Regular,monospace}.shell{width:min(1380px,calc(100vw - 32px));margin:24px auto}.panel,.card{border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:24px}.card{padding:20px}.auth-panel{max-width:560px;margin:84px auto}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.muted,.meta,.section-copy{color:var(--muted)}.section-copy{margin:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.nav-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.nav-link{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#ffffffb3;color:var(--muted);transition:.14s ease}.nav-link.router-link-active{background:var(--accent);color:#fff;border-color:transparent}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.single{grid-template-columns:1fr}.bottom-grid{margin-top:20px}.stack,.stack-lg{display:grid}.stack{gap:14px}.stack-lg{gap:18px}.compact{gap:12px}.inline-form,.actions,.kpi-row,.pill-row,.toolbar,.service-grid{display:flex;gap:12px}.inline-form,.toolbar{align-items:center}.actions,.kpi-row,.pill-row,.service-grid{flex-wrap:wrap}.service-grid,.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.doc-panel{padding:16px;border-radius:18px;border:1px solid var(--line);background:#ffffffd1}.doc-list{margin:0;padding-left:18px;color:var(--text)}.doc-list li{margin:0 0 8px;line-height:1.5}.doc-list.ordered{padding-left:20px}.table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#ffffffdb}.doc-table{width:100%;border-collapse:collapse}.doc-table th,.doc-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.doc-table th{color:var(--muted);font-weight:600;background:#ecf3ffeb}.doc-table tbody tr:last-child td{border-bottom:0}label{display:grid;gap:6px;font-size:.94rem;color:var(--muted)}.field-help{font-size:.84rem;line-height:1.4;color:var(--muted)}input,textarea,select{width:100%;border-radius:16px;border:1px solid var(--line);background:#ffffffeb;color:var(--text);padding:12px 14px}textarea{resize:vertical}button{border:0;border-radius:14px;padding:12px 16px;cursor:pointer;color:#fff;background:var(--accent)}button.secondary{background:var(--accent-soft);color:#2745a0}.checkbox{align-items:center;display:flex;gap:10px}.checkbox input{width:auto}.list{display:grid;gap:12px}.item{border-radius:18px;border:1px solid var(--line);background:#ffffffd6;padding:14px}.item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item-grid{gap:8px}.badge,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.82rem}.badge{background:#dce7ff;color:#244391}.pill{background:#edf3ff;color:var(--muted)}.kpi{min-width:180px;padding:14px;border-radius:20px;border:1px solid var(--line);background:#ffffffd1}.kpi .value{display:block;margin-top:6px;font-size:1.4rem;font-weight:600}.hero-note,.notice,.empty-state,.code-block{border-radius:18px}.hero-note{padding:16px 18px;border:1px solid var(--line);background:linear-gradient(135deg,#fffffff0,#e5efffd9)}.hero-note strong{display:block;margin-bottom:6px}.notice{color:var(--success);background:#d8f7ea;padding:12px 14px}.error{margin:0;color:var(--danger)}.empty-state{border:1px dashed var(--line);color:var(--muted);padding:16px;background:#ffffff8f}.code-block,.preview{white-space:pre-wrap;word-break:break-word}.mode-switch{display:inline-flex;gap:10px;padding:6px;border-radius:18px;border:1px solid var(--line);background:#f1f6ffdb;width:fit-content}.preview-source-card{display:grid;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#ffffffc2}.preview-audio-card{padding:16px;border-radius:18px;border:1px solid var(--line);background:#ffffffd1}.voice-catalog-panel{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#ffffffc2}.controls-panel{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#f4f8ffe0}.controls-header{justify-content:flex-start}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wrap{flex-wrap:wrap}.warning-badge{background:#fff1d6;color:#8a5a00}.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 16px;color:#2745a0;background:var(--accent-soft)}.notice.neutral{color:#24508f;background:#e6efff}.preview-source-group{margin-bottom:20px;padding:16px;background:#f4f8ffe0;border-radius:18px;border-left:4px solid var(--accent)}.preview-source-group .label-text{font-weight:600;margin-bottom:8px;display:block}.preview-source-card.draft{background:#fff;padding:10px;border-radius:12px;border:1px solid var(--line)}.draft-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.draft-meta{display:flex;gap:16px;font-size:.85rem;color:#666}.badge.fish-speech{background:#e0f2fe;color:#0369a1}.badge.piper{background:#fef3c7;color:#92400e}.badge.qwen{background:#f1f5f9;color:#475569}.preview-source-meta{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.meta.error{color:#dc2626;font-weight:700}audio{width:100%}.code-block{margin:0;padding:14px;border:1px solid var(--line);background:#ffffffdb;overflow-x:auto}@media(max-width:980px){.grid,.control-grid,.service-grid,.docs-grid{grid-template-columns:1fr}.topbar,.inline-form,.toolbar{flex-direction:column;align-items:stretch}}
