.mistai-status-panel{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);border-radius:8px;flex-direction:column;gap:14px;padding:14px;display:flex}.mistai-status-line{color:var(--mistai-text,#1f2937);align-items:center;gap:8px;font-size:13px;display:flex}.mistai-status-dot{background:#94a3b8;border-radius:999px;flex:none;width:9px;height:9px}.mistai-status-dot.connecting,.mistai-status-dot.joining,.mistai-status-dot.searching{background:#b45309;animation:1.2s ease-in-out infinite mistai-status-pulse}.mistai-status-dot.connected{background:#16a34a}.mistai-status-dot.error{background:#dc2626}@keyframes mistai-status-pulse{0%,to{opacity:1}50%{opacity:.4}}.mistai-status-detail{color:var(--mistai-text-muted,#64748b);margin:4px 0 0;font-size:12px}.mistai-status-detail.error{color:#b91c1c}.mistai-status-details{margin-top:4px}.mistai-status-details>summary{cursor:pointer;color:var(--mistai-text-muted,#64748b);-webkit-user-select:none;user-select:none;font-size:12px}.mistai-status-details[open]>summary{margin-bottom:6px}.mistai-status-details h4{color:var(--mistai-text-strong,#0f172a);margin:10px 0 6px;font-size:13px}.mistai-hint{color:var(--mistai-text-muted,#64748b);margin:4px 0 0;font-size:12px}.mistai-peer-list,.mistai-log-list{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.mistai-peer-list li,.mistai-log-list li{color:var(--mistai-text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mistai-log-more{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);color:var(--mistai-text-muted,#64748b);cursor:pointer;border-radius:999px;align-self:flex-start;margin-top:6px;padding:2px 8px;font-size:11px}.mistai-log-badge{color:var(--mistai-text-strong,#0f172a);background:#e2e8f0;border-radius:999px;align-items:center;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.mistai-log-badge.started{color:#1d4ed8;background:#dbeafe}.mistai-log-badge.streaming{color:#b45309;background:#fef3c7}.mistai-log-badge.done{color:#15803d;background:#dcfce7}.mistai-log-badge.error{color:#b91c1c;background:#fee2e2}.mistai-consumer-indicator{align-items:center;display:flex;position:relative}.mistai-consumer-indicator-toggle{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);color:var(--mistai-text,#1f2937);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.mistai-consumer-indicator-label{white-space:nowrap}.mistai-consumer-indicator-detail{z-index:10;border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);border-radius:8px;min-width:200px;padding:10px 12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0f172a2e}.mistai-consumer-indicator-detail p{color:var(--mistai-text-muted,#64748b);margin:0;font-size:12px}.mistai-consumer-indicator-detail p.error{color:#b91c1c}.mistai-status-timestamp{color:var(--mistai-text-muted,#64748b);font-variant-numeric:tabular-nums;font-size:11px}.mistai-step-indicator{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mistai-step-indicator li{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);color:var(--mistai-text-muted,#64748b);border-radius:999px;padding:2px 8px;font-size:11px}.mistai-step-indicator li.done{color:#16a34a;border-color:#16a34a}.mistai-step-indicator li.current{color:#b45309;border-color:#b45309;font-weight:700}.mistai-settings{flex-direction:column;gap:12px;display:flex}.mistai-settings-tabs{border-bottom:1px solid var(--mistai-border,#d6dee8);gap:4px;margin-bottom:4px;display:flex}.mistai-settings-tab{color:var(--mistai-text-muted,#64748b);cursor:pointer;transition:color var(--mistai-dur-fast,.15s) var(--mistai-ease,ease), border-color var(--mistai-dur-fast,.15s) var(--mistai-ease,ease);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:.82rem;font-weight:600}.mistai-settings-tab:hover{color:var(--mistai-text,#1f2937)}.mistai-settings-tab.active{color:var(--mistai-primary,#0f766e);border-bottom-color:var(--mistai-primary,#0f766e)}.mistai-settings-tab-panel{flex-direction:column;gap:4px;display:flex}.mistai-server-list-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.mistai-server-list-header label{color:var(--mistai-text-muted,#64748b);margin-bottom:0;font-size:12px;font-weight:700}.mistai-flat-section{margin-bottom:16px}.mistai-model-row-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:8px;display:grid}.mistai-model-row{border-radius:var(--mistai-radius-s,8px);border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);box-shadow:var(--mistai-shadow-1,0 1px 2px #0f172a0f);transition:background var(--mistai-dur-fast,.15s) var(--mistai-ease,ease), box-shadow var(--mistai-dur-fast,.15s) var(--mistai-ease,ease), transform var(--mistai-dur-fast,.15s) var(--mistai-ease,ease), border-color var(--mistai-dur-fast,.15s) var(--mistai-ease,ease);flex-direction:column;align-items:flex-start;gap:6px;padding:10px 26px 10px 10px;display:flex;position:relative}.mistai-model-row:hover{background:var(--mistai-surface-2,#f1f5f9);box-shadow:var(--mistai-shadow-2,0 4px 10px #0f172a14);transform:translateY(-1px)}.mistai-flat-section-connection .mistai-model-row{background:var(--mistai-primary-soft,#ecfdf9)}.mistai-flat-section-models .mistai-model-row{background:var(--mistai-surface-3,#e7ecf2)}.mistai-model-row-main{text-align:left;cursor:pointer;width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.mistai-model-row-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--mistai-text,#1f2937);font-size:.82rem;font-weight:600;overflow:hidden}.mistai-model-row-model{max-width:100%;color:var(--mistai-text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.mistai-model-row-provider{max-width:100%;color:var(--mistai-text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-style:italic;overflow:hidden}.mistai-model-row-badges{flex-wrap:wrap;gap:4px;display:flex}.mistai-task-badge{background:var(--mistai-primary-soft,#ecfdf9);color:var(--mistai-primary,#0f766e);border-radius:var(--mistai-radius-pill,999px);white-space:nowrap;padding:2px 6px;font-size:.62rem;font-weight:600}.mistai-model-row-remove{flex-shrink:0;position:absolute;top:6px;right:6px}.mistai-model-row.mistai-model-row-editing{background:var(--mistai-surface-2,#f1f5f9);border:1px solid var(--mistai-border,#d6dee8);box-shadow:none;flex-direction:column;grid-column:1/-1;align-items:stretch;gap:8px;padding:10px;transform:none}.mistai-model-row-edit-fields{flex-direction:column;gap:8px;display:flex}.mistai-model-row-edit-fields input,.mistai-model-row-edit-fields select{width:100%}.mistai-chip-remove{width:16px;height:16px;color:var(--mistai-text-muted,#64748b);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex}.mistai-chip-remove:hover{color:var(--mistai-danger,#dc2626);background:var(--mistai-danger-soft,#fee2e2)}.mistai-connection-form-model-field{align-items:center;gap:8px;display:flex}.mistai-connection-form-model-field select,.mistai-connection-form-model-field input{flex:auto;min-width:0}.mistai-model-row-add-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mistai-grid-add-tile{border:1px dashed var(--mistai-border-strong,#94a3b8);border-radius:var(--mistai-radius-s,8px);min-height:64px;color:var(--mistai-text-muted,#64748b);cursor:pointer;transition:all var(--mistai-dur-fast,.15s) var(--mistai-ease,ease);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.72rem;display:flex}.mistai-grid-add-tile:hover{border-color:var(--mistai-primary,#0f766e);color:var(--mistai-primary,#0f766e);background:var(--mistai-primary-soft,#ecfdf9)}.mistai-grid-add-tile:disabled{opacity:.4;cursor:not-allowed}.mistai-connection-form-btn{background:var(--mistai-border,#d6dee8);border:1px solid var(--mistai-border,#d6dee8);color:var(--mistai-text-muted,#64748b);cursor:pointer;transition:all var(--mistai-dur-fast,.15s) var(--mistai-ease,ease);white-space:nowrap;border-radius:8px;flex:auto;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;display:flex}.mistai-connection-form-btn:hover{color:var(--mistai-text,#1f2937);background:var(--mistai-surface-2,#f1f5f9)}.mistai-connection-form-btn:disabled{opacity:.4;cursor:not-allowed}.mistai-connection-form-btn-primary{background:var(--mistai-primary,#0f766e);border-color:var(--mistai-primary,#0f766e);color:var(--mistai-on-primary,#fff)}.mistai-connection-form-btn-primary:hover{background:var(--mistai-primary-hover,#0d5f58);color:var(--mistai-on-primary,#fff)}.mistai-connection-form-warning{margin-top:-6px;font-style:italic}.mistai-flat-section .mistai-model-row.mistai-model-row-network{border:1px dashed var(--mistai-primary,#0f766e);background:var(--mistai-primary-soft,#ecfdf9)}.mistai-room-id-row{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.mistai-room-id-row span{color:var(--mistai-text-muted,#64748b);font-size:12px;font-weight:700}.mistai-role-group{flex-direction:column;gap:12px;display:flex}.mistai-role-card{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.mistai-role-head{cursor:pointer;flex-direction:row;align-items:center;gap:8px;display:flex}.mistai-role-head input[type=checkbox]{flex:none;width:16px;height:16px;margin:0}.mistai-role-title{color:var(--mistai-text-strong,#0f172a);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.mistai-role-desc{color:var(--mistai-text-muted,#64748b);margin:0;font-size:12px;line-height:1.4}.mistai-role-body{border-top:1px solid var(--mistai-border,#d6dee8);flex-direction:column;gap:10px;margin-top:4px;padding-top:10px;display:flex}.mistai-share-section{flex-direction:column;gap:4px;display:flex}.mistai-share-section>label{color:var(--mistai-text-muted,#64748b);margin-bottom:0;font-size:12px;font-weight:700}.mistai-share-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.mistai-share-item{border:1px solid var(--mistai-border,#d6dee8);border-radius:var(--mistai-radius-s,8px);background:var(--mistai-surface,#fff);cursor:pointer;min-width:0;transition:background var(--mistai-dur-fast,.15s) var(--mistai-ease,ease), border-color var(--mistai-dur-fast,.15s) var(--mistai-ease,ease);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1px 10px;padding:8px 10px;display:grid}.mistai-share-item:hover{background:var(--mistai-surface-2,#f1f5f9)}.mistai-share-item:has(input:checked){background:var(--mistai-primary-soft,#ecfdf9);border-color:var(--mistai-primary,#0f766e)}.mistai-share-item input[type=checkbox]{grid-row:1/3;margin:0}.mistai-share-item-label{min-width:0;color:var(--mistai-text,#1f2937);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.mistai-share-item-model{min-width:0;color:var(--mistai-text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:400;overflow:hidden}.mistai-task-model-item{border-bottom:1px solid var(--mistai-border,#d6dee8);grid-template-columns:60px minmax(0,1fr);align-items:start;gap:8px;margin-bottom:12px;padding-bottom:12px;display:grid}.mistai-task-model-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.mistai-task-model-item>span{color:var(--mistai-text-muted,#64748b);min-width:0;padding-top:8px;font-size:.7rem}.mistai-task-model-item>span[data-tip]{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.mistai-task-model-item>span[data-tip]:hover:after{content:attr(data-tip);z-index:10;border:1px solid var(--mistai-border,#d6dee8);border-radius:var(--mistai-radius-s,8px);background:var(--mistai-surface-3,#e7ecf2);width:max-content;max-width:240px;color:var(--mistai-text,#1f2937);box-shadow:var(--mistai-shadow-2,0 4px 10px #0f172a14);padding:6px 8px;font-size:.7rem;line-height:1.5;position:absolute;top:calc(100% + 4px);left:0}.mistai-task-model-fields{flex-direction:column;gap:6px;min-width:0;display:flex}.mistai-task-model-field{min-width:0;display:block}.mistai-task-model-field select{width:100%;min-width:0}.mistai-error-text{color:var(--mistai-danger,#dc2626);margin:0 0 8px;font-size:.72rem;line-height:1.4}:root{--text:#5b616e;--text-h:#1a1d23;--text-subtle:#8a909c;--bg:#fff;--bg-alt:#f4f6f9;--surface:#fff;--surface-2:#f4f6f9;--surface-3:#eaedf2;--border:#e2e5ea;--border-strong:#cdd2da;--code-bg:#eef1f6;--surface-hover:#eef1f6;--accent:#0d9488;--accent-hover:#0b8177;--accent-active:#0a726a;--accent-bg:#0d94881a;--accent-bg-strong:#0d948829;--accent-border:#0d948859;--on-accent:#fff;--success:#0d9488;--success-bg:#0d94881a;--danger:#dc2626;--danger-bg:#dc262614;--text-placeholder:#6b7280;--overlay:#10182873;--ring:#0d948880;--header-bg:#ffffffb8;--shadow-1:0 1px 2px #10182814, 0 1px 3px 1px #1018280f;--shadow-2:0 1px 2px #1018280f, 0 3px 8px 2px #1018281a;--shadow-3:0 2px 3px #10182814, 0 6px 16px 4px #1018281f;--shadow-sm:var(--shadow-1);--shadow-popover:var(--shadow-2);--shadow-modal:var(--shadow-3);--z-modal:20;--z-toast:30;--space-0:2px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-med:.24s;--dur-slow:.36s;--sans:"Inter", system-ui, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;--mistai-border:var(--border);--mistai-surface:var(--surface);--mistai-text:var(--text);--mistai-text-muted:var(--text-placeholder);--mistai-text-strong:var(--text-h);font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#a2a8b3;--text-h:#e8eaed;--text-subtle:#757b86;--bg:#14161b;--bg-alt:#0e1015;--surface:#14161b;--surface-2:#1a1d23;--surface-3:#23262e;--border:#282c34;--border-strong:#3a3f4a;--code-bg:#1a1d23;--surface-hover:#23262e;--accent:#2dd4bf;--accent-hover:#3fdccb;--accent-active:#22b8a5;--accent-bg:#2dd4bf24;--accent-bg-strong:#2dd4bf33;--accent-border:#2dd4bf66;--on-accent:#04201d;--success:#2dd4bf;--success-bg:#2dd4bf24;--danger:#f87171;--danger-bg:#f871711f;--text-placeholder:#8a8f9a;--overlay:#0009;--ring:#2dd4bf8c;--header-bg:#14161bb8;--shadow-1:0 1px 2px #0006, 0 1px 3px 1px #00000040;--shadow-2:0 1px 2px #00000059, 0 3px 10px 2px #00000059;--shadow-3:0 2px 3px #0006, 0 8px 20px 5px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#a2a8b3;--text-h:#e8eaed;--text-subtle:#757b86;--bg:#14161b;--bg-alt:#0e1015;--surface:#14161b;--surface-2:#1a1d23;--surface-3:#23262e;--border:#282c34;--border-strong:#3a3f4a;--code-bg:#1a1d23;--surface-hover:#23262e;--accent:#2dd4bf;--accent-hover:#3fdccb;--accent-active:#22b8a5;--accent-bg:#2dd4bf24;--accent-bg-strong:#2dd4bf33;--accent-border:#2dd4bf66;--on-accent:#04201d;--success:#2dd4bf;--success-bg:#2dd4bf24;--danger:#f87171;--danger-bg:#f871711f;--text-placeholder:#8a8f9a;--overlay:#0009;--ring:#2dd4bf8c;--header-bg:#14161bb8;--shadow-1:0 1px 2px #0006, 0 1px 3px 1px #00000040;--shadow-2:0 1px 2px #00000059, 0 3px 10px 2px #00000059;--shadow-3:0 2px 3px #0006, 0 8px 20px 5px #00000073}}@keyframes tc-fade-in{0%{opacity:0}}@keyframes tc-modal-in{0%{opacity:0;transform:scale(.96)translateY(4px)}}@keyframes tc-popover-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes tc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{opacity:.6;border:2px solid;border-top-color:#0000;border-radius:50%;width:1em;height:1em;animation:.6s linear infinite tc-spin;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{margin:0}#app{height:100svh;overflow:hidden}code{font-family:var(--mono);border-radius:var(--radius-sm);background:var(--code-bg);color:var(--text-h);padding:2px 5px;font-size:.9em}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-placeholder);background-clip:padding-box}::-webkit-scrollbar-track{background:0 0}@media (width<=768px){input,select,textarea{font-size:max(16px,1em)}}.tc-avatar{background:var(--surface-3);color:var(--text-h);border-radius:50%;flex:none;justify-content:center;align-items:center;max-width:100%;display:inline-flex;position:relative;overflow:hidden}.tc-avatar--rect{border-radius:var(--radius-md)}.tc-avatar--frameless{background:0 0;border-radius:0;overflow:visible}.tc-avatar--speaking{outline:2px solid var(--accent);outline-offset:1px}.tc-avatar--frameless.tc-avatar--speaking{outline:none}.tc-avatar--frameless.tc-avatar--speaking:after{content:"";background:radial-gradient(ellipse at center, var(--accent) 0%, transparent 72%);filter:blur(3px);pointer-events:none;border-radius:50%;width:62%;height:16%;animation:1.6s ease-in-out infinite tc-avatar-glow-pulse;position:absolute;bottom:-4%;left:50%;transform:translate(-50%)}@keyframes tc-avatar-glow-pulse{0%,to{opacity:.4}50%{opacity:.9}}.tc-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.tc-avatar__canvas{width:100%;height:100%;display:block}.tc-avatar__initial{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.tc-avatar-picker{gap:var(--space-4);flex-direction:column;display:flex}.tc-avatar-picker__preview{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.tc-avatar-picker__meta{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.tc-avatar-picker__meta-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.tc-avatar-picker__meta-kind{color:var(--text-subtle);font-size:.8rem}.tc-avatar-picker__tabs{gap:var(--space-1);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tc-avatar-picker__tab{appearance:none;padding:var(--space-2) var(--space-4);font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px}.tc-avatar-picker__tab:hover{color:var(--text-h)}.tc-avatar-picker__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.tc-avatar-picker__panel{gap:var(--space-3);flex-direction:column;display:flex}.tc-avatar-picker__row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.tc-avatar-picker__btn{appearance:none;font:inherit;cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-h);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);white-space:nowrap;flex:none}.tc-avatar-picker__btn:hover{background:var(--surface-hover)}.tc-avatar-picker__btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tc-avatar-picker__btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.tc-avatar-picker__btn--danger{color:var(--danger);border-color:var(--border);background:0 0}.tc-avatar-picker__btn--danger:hover{background:var(--danger-bg)}.tc-avatar-picker__hidden-input{display:none}.tc-avatar-picker__list{gap:var(--space-1);flex-direction:column;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.tc-avatar-picker__item{align-items:center;gap:var(--space-2);display:flex}.tc-avatar-picker__item-select{appearance:none;text-align:left;min-width:0;font:inherit;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);justify-content:space-between;gap:var(--space-3);background:0 0;border:1px solid #0000;flex:auto;display:flex}.tc-avatar-picker__item-select:hover{background:var(--surface-hover)}.tc-avatar-picker__item-select--active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--text-h)}.tc-avatar-picker__item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tc-avatar-picker__item-size{color:var(--text-subtle);font-family:var(--mono);flex:none;font-size:.8rem}.tc-avatar-picker__item-remove{appearance:none;cursor:pointer;color:var(--text-subtle);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;flex:none;line-height:0}.tc-avatar-picker__item-remove:hover{color:var(--danger);background:var(--danger-bg)}.tc-avatar-picker__empty,.tc-avatar-picker__error{color:var(--text-subtle);padding:var(--space-2) 0;font-size:.85rem}.tc-avatar-picker__error{color:var(--danger)}@media (width<=480px){.tc-avatar-picker__preview{align-items:flex-start}.tc-avatar-picker__meta{width:100%}}.tc-vrm-stage{width:100%;height:100%;position:relative;overflow:hidden}.tc-vrm-stage__canvas{width:100%;height:100%;display:block}.tc-settings{background:var(--bg);height:100%;color:var(--text);overflow:auto}.tc-settings-inner{max-width:720px;padding:var(--space-6) var(--space-5) var(--space-7);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.tc-settings-title{color:var(--text-h);margin:0;font-size:1.4rem;font-weight:700}.tc-settings-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);scrollbar-width:thin;align-items:center;gap:2px;padding:4px;display:flex;overflow-x:auto}.tc-settings-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;color:var(--text-subtle);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:none;flex:none;font-size:.85rem;font-weight:500;display:inline-flex}.tc-settings-tab:hover{color:var(--text-h);background:var(--surface-hover)}.tc-settings-tab--active,.tc-settings-tab--active:hover{color:var(--accent);background:var(--surface);box-shadow:var(--shadow-1)}.tc-settings-tab:focus-visible{box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tc-settings-section{gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.tc-settings-heading-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tc-settings-heading{color:var(--text-h);margin:0;font-size:1.05rem;font-weight:600}.tc-settings-heading-row .tc-settings-heading{flex:1}.tc-subheading{margin:var(--space-2) 0 0;color:var(--text-h);font-size:.9rem;font-weight:600}.tc-hint{color:var(--text-subtle);margin:0;font-size:.82rem;line-height:1.5}.tc-field{gap:var(--space-2);flex-direction:column;display:flex}.tc-field>span{color:var(--text);font-size:.82rem;font-weight:500}.tc-settings input[type=text],.tc-settings input[type=password],.tc-settings input[type=number],.tc-settings input:not([type]),.tc-settings select{width:100%;padding:var(--space-3) var(--space-4);font:inherit;color:var(--text-h);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:.9rem}.tc-settings input::placeholder{color:var(--text-placeholder)}.tc-settings input:hover:not(:focus-visible):not(:disabled),.tc-settings select:hover:not(:focus-visible){background:var(--surface-hover)}.tc-settings input:focus-visible,.tc-settings select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tc-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:.85rem;font-weight:500;display:inline-flex}.tc-btn:hover:not(:disabled){background:var(--accent-bg-strong);box-shadow:var(--shadow-1)}.tc-btn:disabled{opacity:.5;cursor:not-allowed}.tc-icon-btn{padding:var(--space-2);color:var(--text-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tc-icon-btn:hover{background:var(--surface-hover);color:var(--text-h)}.tc-icon-btn.danger:hover{color:var(--danger);background:var(--danger-bg)}.tc-icon-btn:disabled{opacity:.4;cursor:not-allowed}.tc-icon-btn.loading svg{animation:.9s linear infinite tc-spin}.tc-link-btn{font:inherit;color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.78rem;font-weight:500}.tc-link-btn:hover{text-decoration:underline}.tc-model-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.tc-model-footer{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.tc-model-status{color:var(--text-subtle);font-size:.78rem;line-height:1.4}.tc-profile-list{gap:var(--space-4);flex-direction:column;display:flex}.tc-profile-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:box-shadow var(--dur-fast) var(--ease);flex-direction:column;display:flex}.tc-profile-card:hover{box-shadow:var(--shadow-2)}.tc-profile-head{align-items:center;gap:var(--space-3);display:flex}.tc-profile-label{flex:1;font-weight:600!important}.tc-badge{padding:2px var(--space-3);color:var(--accent);background:var(--accent-bg);border-radius:var(--radius-pill);white-space:nowrap;font-size:.72rem;font-weight:600}.tc-expr-modes{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);align-self:flex-start;align-items:center;gap:2px;padding:4px;display:inline-flex}.tc-expr-mode-btn{appearance:none;font:inherit;padding:var(--space-2) var(--space-4);color:var(--text-subtle);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:none;font-size:.85rem;font-weight:500}.tc-expr-mode-btn:hover{color:var(--text-h);background:var(--surface-hover)}.tc-expr-mode-btn--active,.tc-expr-mode-btn--active:hover{color:var(--accent);background:var(--surface);box-shadow:var(--shadow-1)}.tc-expr-mode-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tc-expr-status{color:var(--text-subtle);margin:0;font-size:.8rem;line-height:1.5}.tc-role-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.tc-role-head{align-items:center;gap:var(--space-3);cursor:pointer;flex-wrap:wrap;display:flex}.tc-role-head input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}.tc-role-title{color:var(--text-h);font-size:.9rem;font-weight:500}.tc-role-body{padding-left:calc(16px + var(--space-3))}@media (width<=768px){.tc-settings-inner{padding:var(--space-5) var(--space-4) var(--space-6)}.tc-profile-head{flex-wrap:wrap}.tc-profile-label{flex:100%;min-width:0}.tc-settings .mistai-status-line,.tc-settings .mistai-consumer-indicator-toggle{flex-wrap:wrap}.tc-settings .mistai-consumer-indicator-detail{min-width:0;max-width:min(260px, calc(100vw - var(--space-6) * 2));box-sizing:border-box}}.server-list-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.server-list-header label{color:var(--text-h);margin-bottom:0;font-size:.82rem;font-weight:600}.settings-flat-section{margin-bottom:var(--space-5)}.model-row-list{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.model-row{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) 26px var(--space-3) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-direction:column;display:flex;position:relative}.model-row:hover{background:var(--surface-2);box-shadow:var(--shadow-2);transform:translateY(-1px)}.settings-flat-section-connection .model-row{background:var(--accent-bg)}.settings-flat-section-models .model-row{background:var(--surface-3)}.model-row-main{text-align:left;cursor:pointer;width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.model-row-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.82rem;font-weight:600;overflow:hidden}.model-row-model{max-width:100%;color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.model-row-provider{max-width:100%;color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-style:italic;overflow:hidden}.model-row-badges{flex-wrap:wrap;gap:4px;display:flex}.task-badge{background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-pill);white-space:nowrap;padding:2px 6px;font-size:.62rem;font-weight:600}.model-row-remove{flex-shrink:0;position:absolute;top:6px;right:6px}.preset-chip-remove{width:16px;height:16px;color:var(--text-subtle);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.preset-chip-remove:hover{color:var(--danger);background:var(--danger-bg)}.model-row.model-row-editing{align-items:stretch;gap:var(--space-3);background:var(--surface-2);border:1px solid var(--border);padding:var(--space-3);box-shadow:none;flex-direction:column;grid-column:1/-1;transform:none}.model-row-edit-fields{gap:var(--space-3);flex-direction:column;display:flex}.model-row-add-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.grid-add-tile{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);min-height:64px;color:var(--text-subtle);cursor:pointer;transition:all var(--dur-fast) var(--ease);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.72rem;display:flex}.grid-add-tile:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.grid-add-tile:disabled{opacity:.4;cursor:not-allowed}.connection-form-btn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--border);border:1px solid var(--border);color:var(--text-subtle);cursor:pointer;transition:all var(--dur-fast) var(--ease);white-space:nowrap;flex:auto;justify-content:center;align-items:center;gap:6px;font-size:.78rem;display:flex}.connection-form-btn:hover{color:var(--text-h);background:var(--surface-2)}.connection-form-btn:disabled{opacity:.4;cursor:not-allowed}.connection-form-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.connection-form-btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.task-model-item{align-items:start;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:60px minmax(0,1fr);display:grid}.task-model-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.task-model-item>span{color:var(--text-subtle);min-width:0;padding-top:var(--space-3);font-size:.78rem}.tc-settings [data-tip]{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.tc-settings [data-tip]:hover:after{content:attr(data-tip);z-index:10;width:max-content;max-width:240px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-h);box-shadow:var(--shadow-2);font-size:.7rem;line-height:1.5;position:absolute;top:calc(100% + 4px);left:0}.task-model-fields{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.task-model-field{min-width:0;display:block}.task-model-field select{width:100%;min-width:0}.cv-root{background:var(--bg);height:100%;min-height:0;color:var(--text);display:flex}.cv-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;width:280px;min-height:0;display:flex}.cv-create{gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--border);display:flex}.cv-create .cv-input{flex:1;min-width:0}.cv-import-row{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--border);display:flex}.cv-status{margin:var(--space-2) var(--space-4) 0;color:var(--text-subtle);font-size:.8rem;line-height:1.5}.cv-status-error{color:var(--danger)}.cv-list{min-height:0;padding:var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.cv-empty,.cv-interview-hint{color:var(--text-subtle);margin:var(--space-3);font-size:.85rem;line-height:1.5}.cv-empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);color:var(--text-subtle);text-align:center;flex-direction:column;display:flex}.cv-empty-state .cv-empty{margin:0}.cv-empty-state-inline{text-align:left;padding:var(--space-3) 0 0;flex-direction:row;justify-content:flex-start}.cv-list-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:background var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;display:flex;position:relative}.cv-list-item:hover{background:var(--surface-hover)}.cv-list-item.is-active{background:var(--accent-bg)}.cv-list-item.is-active:hover{background:var(--accent-bg-strong)}.cv-list-meta{flex-direction:column;min-width:0;display:flex}.cv-list-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cv-list-item.is-active .cv-list-name{color:var(--accent)}.cv-list-summary{color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.cv-main{flex:1;min-width:0;min-height:0;overflow:hidden}.cv-placeholder{justify-content:center;align-items:center;gap:var(--space-4);height:100%;color:var(--text-subtle);padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.cv-placeholder-icon{background:var(--accent-bg);width:88px;height:88px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cv-editor-grid{gap:var(--space-5);height:100%;min-height:0;padding:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.cv-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow-1);transition:box-shadow var(--dur-med) var(--ease);flex-direction:column;display:flex;overflow:hidden}.cv-panel:hover{box-shadow:var(--shadow-2)}.cv-sheet{padding:var(--space-5);gap:var(--space-4);overflow-y:auto}.cv-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.cv-panel-title{align-items:center;gap:var(--space-3);min-width:0;display:flex}.cv-panel-title h2{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;overflow:hidden}.cv-panel-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}.cv-autosave-hint{color:var(--text-subtle);white-space:nowrap;font-size:.8rem}.cv-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.cv-field-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.cv-label{align-items:center;gap:var(--space-2);color:var(--text-h);font-size:.8rem;font-weight:600;display:flex}.cv-field-improve-btn{color:var(--text-subtle);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:3px;display:inline-flex}.cv-field-improve-btn:hover:not(:disabled){background:var(--accent-bg);color:var(--accent)}.cv-field-improve-btn:disabled{opacity:.35;cursor:not-allowed}.cv-field-improve-btn.loading svg{animation:.9s linear infinite cv-spin}.cv-changed-badge{color:var(--on-accent);background:var(--accent);padding:1px var(--space-2);border-radius:var(--radius-pill);font-size:.68rem;font-weight:600}.cv-input,.cv-textarea{width:100%;font:inherit;color:var(--text-h);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.cv-textarea{resize:vertical;line-height:1.5}.cv-input:hover:not(:disabled),.cv-textarea:hover:not(:disabled){border-color:var(--text-subtle)}.cv-input:focus-visible,.cv-textarea:focus-visible,.cv-input:focus,.cv-textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.cv-input:disabled,.cv-textarea:disabled{opacity:.6;cursor:not-allowed}.cv-textarea.is-changed{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg-strong);animation:cv-flash var(--dur-med) var(--ease-out)}@keyframes cv-flash{0%{background:var(--accent-bg)}}.cv-model-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.cv-model-footer{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.cv-model-status{color:var(--text-subtle);font-size:.78rem;line-height:1.4}.cv-icon-btn{padding:var(--space-2);color:var(--text-subtle);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.cv-icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-h)}.cv-icon-btn:disabled{opacity:.4;cursor:not-allowed}.cv-icon-btn.loading svg{animation:.9s linear infinite cv-spin}@keyframes cv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cv-link-btn{font:inherit;color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.78rem;font-weight:500}.cv-link-btn:hover{text-decoration:underline}.cv-btn{justify-content:center;align-items:center;gap:var(--space-2);font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);font-weight:600;display:inline-flex}.cv-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-subtle)}.cv-btn:active:not(:disabled){transform:translateY(1px)}.cv-btn:disabled{opacity:.5;cursor:not-allowed}.cv-btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.cv-btn-accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.cv-btn-accent:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(0)}.cv-btn-accent:disabled{box-shadow:none}.cv-btn-tonal{background:var(--accent-bg);color:var(--accent);border-color:#0000}.cv-btn-tonal:hover:not(:disabled){background:var(--accent-bg-strong);border-color:#0000}.cv-btn-danger{color:var(--danger);background:var(--danger-bg);border-color:#0000}.cv-btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.cv-eval-badge{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--accent-bg-strong);border-radius:var(--radius-pill);padding:2px var(--space-2);border:none;flex:none;font-size:.72rem;font-weight:700;line-height:1.4}.cv-eval-section{gap:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-4);flex-direction:column;display:flex}.cv-eval-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.cv-eval-head h3{color:var(--text-h);margin:0;font-size:.95rem}.cv-eval-note{color:var(--text-subtle);margin:0;font-size:.78rem}.cv-eval-result{gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:var(--space-4);flex-direction:column;display:flex}.cv-eval-summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.cv-eval-score{align-items:baseline;gap:2px;display:flex}.cv-eval-score-num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1}.cv-eval-score-max{color:var(--text-subtle);font-size:.9rem}.cv-eval-time{color:var(--text-subtle);font-size:.75rem}.cv-eval-bar-track{border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border);flex:1;min-width:0;height:8px;overflow:hidden}.cv-eval-bar-track-axis{height:6px}.cv-eval-bar-fill{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width var(--dur-med) var(--ease-out)}.cv-eval-fillrate{align-items:center;gap:var(--space-3);display:flex}.cv-eval-fillrate-label{color:var(--text-subtle);flex:none;font-size:.78rem}.cv-eval-fillrate-value{color:var(--text-subtle);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:2.6em;font-size:.78rem}.cv-eval-axes{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cv-eval-axis-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,7em) 1fr auto;display:grid}.cv-eval-axis-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.cv-eval-axis-score{font-variant-numeric:tabular-nums;color:var(--text-subtle);text-align:right;min-width:2.4em;font-size:.76rem}.cv-eval-suggestions{border-top:1px solid var(--border);padding-top:var(--space-3)}.cv-eval-suggestions-title{align-items:center;gap:var(--space-2);color:var(--text-h);margin-bottom:var(--space-2);font-size:.8rem;font-weight:600;display:flex}.cv-eval-suggestions ul{gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.3em;display:flex}.cv-eval-suggestions li{color:var(--text);font-size:.82rem;line-height:1.5}.cv-eval-notes{color:var(--text-h);white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--border);padding-top:var(--space-3);margin:0;font-size:.82rem;line-height:1.5}.cv-interview{padding:var(--space-5);gap:var(--space-3)}.cv-chat{gap:var(--space-3);min-height:0;padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;flex:1;display:flex;overflow-y:auto}.cv-chat-empty{margin:auto}.cv-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word;line-height:1.55}.cv-bubble-assistant{background:var(--surface);border:1px solid var(--border);color:var(--text-h);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.cv-bubble-user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.cv-choice-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.cv-choice-btn{font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--accent-bg);color:var(--accent);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border:1px solid #0000;font-size:.85rem;font-weight:600}.cv-choice-btn:hover{background:var(--accent-bg-strong)}.cv-choice-btn:active{transform:translateY(1px)}.cv-choice-btn-other{border-color:var(--border-strong);color:var(--text-subtle);background:0 0}.cv-choice-btn-other:hover{background:var(--surface-hover);color:var(--text-h)}.cv-chat-input{gap:var(--space-2);align-items:flex-end;display:flex}.cv-chat-input .cv-textarea{flex:1;min-width:0}.cv-share-section{gap:var(--space-2);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.cv-share-head{align-items:center;gap:var(--space-3);display:flex}.cv-share-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.cv-share-published{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.cv-share-chip{border-radius:var(--radius-pill);background:var(--accent-bg);color:var(--accent);align-items:center;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.cv-share-actions-secondary{align-items:center;gap:var(--space-4);display:flex}.cv-link-btn-danger{color:var(--danger)}.cv-share-link-row{gap:var(--space-2);width:100%;display:flex}.cv-share-link-input{min-width:0;color:var(--text-subtle);flex:1;font-size:.8rem}.cv-share-updated{color:var(--text-subtle);margin:0;font-size:.75rem}.cv-publish-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent-bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.cv-publish-banner-text{color:var(--text-h);margin:0;font-size:.85rem}.cv-publish-banner-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;flex:none;display:flex}@media (width<=900px){.cv-editor-grid{grid-template-columns:minmax(0,1fr);overflow-y:auto}.cv-panel{overflow:visible}.cv-interview{min-height:420px}}@media (width<=640px){.cv-root{flex-direction:column;overflow-y:auto}.cv-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:min(45vh,420px)}.cv-main{width:100%}}.wv-root{background:var(--bg);height:100%;min-height:0;color:var(--text);display:flex}.wv-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;width:280px;min-height:0;display:flex}.wv-create{gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--border);display:flex}.wv-create .wv-input{flex:1;min-width:0}.wv-list{min-height:0;padding:var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.wv-empty{color:var(--text-subtle);margin:var(--space-3);font-size:.85rem;line-height:1.5}.wv-empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);color:var(--text-subtle);text-align:center;flex-direction:column;display:flex}.wv-empty-state .wv-empty{margin:0}.wv-empty-state-inline{text-align:left;flex-direction:row;justify-content:flex-start;padding:0}.wv-list-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:background var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;display:flex}.wv-list-item:hover{background:var(--surface-hover)}.wv-list-item.is-active{background:var(--accent-bg)}.wv-list-item.is-active:hover{background:var(--accent-bg-strong)}.wv-list-icon{border-radius:var(--radius-pill);background:var(--surface-3);width:40px;height:40px;color:var(--accent);transition:background var(--dur-fast) var(--ease);flex:none;justify-content:center;align-items:center;display:inline-flex}.wv-list-item.is-active .wv-list-icon{background:var(--accent-bg-strong)}.wv-list-meta{flex-direction:column;min-width:0;display:flex}.wv-list-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.wv-list-item.is-active .wv-list-name{color:var(--accent)}.wv-list-summary{color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.wv-main{flex:1;min-width:0;min-height:0;overflow-y:auto}.wv-placeholder{justify-content:center;align-items:center;gap:var(--space-4);height:100%;color:var(--text-subtle);padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.wv-placeholder-icon{background:var(--accent-bg);width:88px;height:88px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.wv-panel{gap:var(--space-4);max-width:760px;margin:var(--space-5);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:box-shadow var(--dur-med) var(--ease);flex-direction:column;display:flex}.wv-panel:hover{box-shadow:var(--shadow-2)}.wv-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wv-panel-title{align-items:center;gap:var(--space-3);min-width:0;color:var(--accent);display:flex}.wv-panel-title h2{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;overflow:hidden}.wv-panel-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}.wv-autosave-hint{color:var(--text-subtle);white-space:nowrap;font-size:.8rem}.wv-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.wv-label{color:var(--text-h);font-size:.8rem;font-weight:600}.wv-label-icon{align-items:center;gap:var(--space-1);color:var(--text-subtle);display:inline-flex}.wv-field-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wv-desc-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.wv-status{margin:0;font-size:.8rem;line-height:1.5}.wv-status-error{color:var(--danger)}.wv-empty-inline{margin:0}.wv-members{gap:var(--space-3);flex-wrap:wrap;display:flex}.wv-member{align-items:center;gap:var(--space-1);width:76px;padding:var(--space-2);border-radius:var(--radius-lg);text-align:center;transition:background var(--dur-fast) var(--ease);flex-direction:column;display:flex}.wv-member:hover{background:var(--surface-hover)}.wv-member-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;overflow:hidden}.wv-input,.wv-textarea{width:100%;font:inherit;color:var(--text-h);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.wv-textarea{resize:vertical;line-height:1.6}.wv-input:hover:not(:disabled),.wv-textarea:hover:not(:disabled){border-color:var(--text-subtle)}.wv-input:focus-visible,.wv-textarea:focus-visible,.wv-input:focus,.wv-textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.wv-input:disabled,.wv-textarea:disabled{opacity:.6;cursor:not-allowed}.wv-btn{justify-content:center;align-items:center;gap:var(--space-2);font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);font-weight:600;display:inline-flex}.wv-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-subtle)}.wv-btn:active:not(:disabled){transform:translateY(1px)}.wv-btn:disabled{opacity:.5;cursor:not-allowed}.wv-btn-sm{padding:var(--space-1) var(--space-3);font-size:.8rem}.wv-btn-sm .spinner{width:.9em;height:.9em}.wv-btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.wv-btn-accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.wv-btn-accent:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(0)}.wv-btn-accent:disabled{box-shadow:none}.wv-btn-tonal{background:var(--accent-bg);color:var(--accent);border-color:#0000}.wv-btn-tonal:hover:not(:disabled){background:var(--accent-bg-strong);border-color:#0000}.wv-btn-danger{color:var(--danger);background:var(--danger-bg);border-color:#0000}.wv-btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:var(--on-accent)}@media (width<=640px){.wv-sidebar{width:220px}.wv-panel{margin:var(--space-3)}}@media (width<=480px){.wv-root{flex-direction:column}.wv-sidebar{border-right:none;border-bottom:1px solid var(--border);flex:none;width:100%;max-height:40vh}.wv-main{flex:1;width:100%}.wv-panel{margin:var(--space-3);padding:var(--space-4)}.wv-panel-actions{justify-content:space-between;width:100%}}.tc-chat{background:var(--bg);height:100%;min-height:0;color:var(--text);display:flex}.tc-chat-sidebar{border-right:1px solid var(--border);background:var(--surface-2);flex-direction:column;flex-shrink:0;width:240px;display:flex}.tc-chat-sidebar-head{padding:var(--space-4) var(--space-4);color:var(--text-h);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;font-weight:600;display:flex}.tc-chat-session-list{padding:var(--space-2);gap:var(--space-1);flex-direction:column;flex:1;min-height:0;margin:0;list-style:none;display:flex;overflow-y:auto}.tc-chat-session-row{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:2px;display:flex}.tc-chat-session-row:hover{background:var(--surface-hover)}.tc-chat-session-row.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.tc-chat-session-row.editing{padding:var(--space-1)}.tc-chat-session-main{min-width:0;color:inherit;font:inherit;cursor:pointer;padding:var(--space-2) var(--space-3);text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.tc-chat-session-title{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.9rem;overflow:hidden}.tc-chat-session-meta{color:var(--text-subtle);font-size:.72rem}.tc-chat-empty,.tc-chat-empty-transcript{color:var(--text-subtle);padding:var(--space-4);text-align:center;font-size:.85rem}.tc-chat-icon-btn{color:var(--text-subtle);cursor:pointer;padding:var(--space-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tc-chat-icon-btn:hover{background:var(--surface-hover);color:var(--text-h)}.tc-chat-icon-btn.danger:hover{color:var(--danger);background:var(--danger-bg)}.tc-chat-btn{align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:.85rem;display:inline-flex}.tc-chat-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.tc-chat-btn:disabled{opacity:.5;cursor:not-allowed}.tc-chat-btn-accent{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1);border-color:#0000}.tc-chat-btn-accent:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-2);border-color:#0000}.tc-chat-btn-danger{background:var(--danger);color:#fff;border-color:#0000}.tc-chat-btn-danger:hover:not(:disabled){background:var(--danger);opacity:.9;border-color:#0000}.tc-chat-input{border:1px solid var(--border-strong);background:var(--surface-2);min-width:0;color:var(--text-h);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font:inherit;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex:1;font-size:.9rem}.tc-chat-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tc-chat-room,.tc-chat-placeholder{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.tc-chat-placeholder{justify-content:center;align-items:center;gap:var(--space-4);color:var(--text-subtle)}.tc-chat-room-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.tc-chat-participants{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-subtle);flex-wrap:wrap;min-width:0;display:flex}.tc-chat-chip{color:var(--text-h);padding:3px var(--space-3);border:1.5px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-2);white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);font-size:.78rem;font-weight:500}.tc-chat-muted{white-space:nowrap;font-size:.85rem}.tc-chat-room-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.tc-chat-turncap{color:var(--text-subtle);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.tc-chat-picker{border-bottom:1px solid var(--border);background:var(--surface-2);padding:var(--space-4) var(--space-5)}.tc-chat-picker-head{color:var(--text-h);margin-bottom:var(--space-3);font-size:.8rem;font-weight:600}.tc-chat-picker-grid{gap:var(--space-3);flex-wrap:wrap;display:flex}.tc-chat-picker-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);font-size:.85rem;display:flex;position:relative}.tc-chat-picker-item:hover{background:var(--surface-hover)}.tc-chat-picker-item.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--text-h);box-shadow:var(--shadow-1)}.tc-chat-picker-check{color:var(--accent)}.tc-chat-transcript{min-height:0;padding:var(--space-5);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.tc-chat-msg{gap:var(--space-3);max-width:80%;animation:tc-chat-msg-in var(--dur-fast) var(--ease-out);display:flex}@keyframes tc-chat-msg-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.tc-chat-msg.user{flex-direction:row-reverse;align-self:flex-end}.tc-chat-msg-avatar{flex-shrink:0}.tc-chat-msg-body{flex-direction:column;gap:2px;min-width:0;display:flex}.tc-chat-msg.user .tc-chat-msg-body{align-items:flex-end}.tc-chat-msg-name{font-size:.75rem;font-weight:600}.tc-chat-msg-text{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);color:var(--text-h);white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:var(--shadow-1);line-height:1.5}.tc-chat-msg.user .tc-chat-msg-text{background:var(--accent-bg);border-color:var(--accent-border);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-sm)}.tc-chat-cursor{vertical-align:text-bottom;background:var(--accent);width:2px;height:1em;margin-left:2px;animation:1s steps(2,start) infinite tc-chat-blink;display:inline-block}@keyframes tc-chat-blink{50%{opacity:0}}.tc-chat-error{padding:var(--space-2) var(--space-5);color:var(--danger);background:var(--danger-bg);font-size:.85rem}.tc-chat-note{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);color:var(--accent);background:var(--accent-bg);font-size:.85rem;display:flex}.tc-chat-composer{align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-2);z-index:1;display:flex;position:relative}.tc-chat-textarea{resize:none;border:1px solid var(--border);background:var(--surface-2);min-width:0;max-height:160px;color:var(--text-h);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font:inherit;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex:1;line-height:1.5}.tc-chat-textarea:hover:not(:focus-visible){background:var(--surface-hover)}.tc-chat-textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tc-chat-send{border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:0}@media (width<=768px){.tc-chat{flex-direction:column}.tc-chat-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:32vh}}.tc-eval-panel{border-bottom:1px solid var(--border);background:var(--surface-2);padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;max-height:420px;display:flex;overflow-y:auto}.tc-eval-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tc-eval-panel-title{color:var(--text-h);white-space:nowrap;font-size:.8rem;font-weight:600}.tc-eval-history{align-items:center;gap:var(--space-2);display:flex}.tc-eval-history-label{color:var(--text-subtle);flex-shrink:0;font-size:.78rem}.tc-eval-history-select{border:1px solid var(--border);background:var(--surface-2);min-width:0;color:var(--text-h);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font:inherit;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex:1;font-size:.82rem}.tc-eval-history-select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.tc-eval-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.82rem}.tc-eval-empty{color:var(--text-subtle);padding:var(--space-2) 0;font-size:.85rem}.tc-eval-result{gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-4);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.tc-eval-summary{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tc-eval-average{color:var(--accent);background:var(--accent-bg);padding:3px var(--space-3);border-radius:var(--radius-pill);white-space:nowrap;font-size:.85rem;font-weight:600}.tc-eval-time{color:var(--text-subtle);white-space:nowrap;font-size:.75rem}.tc-eval-axes{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tc-eval-axis-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.tc-eval-axis-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.tc-eval-dots{gap:3px;display:inline-flex}.tc-eval-dot{background:var(--surface-3);border:1px solid var(--border-strong);width:8px;height:8px;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%}.tc-eval-dot.filled{background:var(--accent);border-color:var(--accent)}.tc-eval-axis-score{font-variant-numeric:tabular-nums;color:var(--text-subtle);text-align:right;min-width:2.4em;font-size:.78rem}.tc-eval-notes{color:var(--text-h);white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--border);padding-top:var(--space-3);font-size:.85rem;line-height:1.5}.tc-eval-latency{color:var(--text-subtle);font-size:.78rem}.tc-voice-view{height:100%;padding:var(--space-6);gap:var(--space-5);flex-direction:column;width:100%;max-width:640px;margin:0 auto;display:flex}.tc-voice-empty{height:100%;color:var(--text-subtle);text-align:center;justify-content:center;align-items:center;display:flex}.tc-voice-picker{gap:var(--space-4);flex-direction:column;display:flex}.tc-voice-picker h2{color:var(--text-h);margin:0;font-size:.95rem;font-weight:600}.tc-voice-picker-list{gap:var(--space-4);flex-wrap:wrap;display:flex}.tc-voice-picker-item{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font:inherit;color:var(--text);cursor:pointer;width:96px;max-width:100%;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;flex-shrink:0;display:flex}.tc-voice-picker-item:hover{background:var(--surface-hover)}.tc-voice-picker-item[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent);box-shadow:var(--shadow-1)}.tc-voice-picker-item span{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;overflow:hidden}.tc-voice-start{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border:none;align-self:center;font-weight:600;display:inline-flex}.tc-voice-start:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.tc-voice-start:disabled{background:var(--surface-3);color:var(--text-subtle);cursor:not-allowed;box-shadow:none}.tc-voice-call{align-items:center;gap:var(--space-4);flex-direction:column;height:100%;min-height:0;display:flex}.tc-voice-avatar-wrap{align-items:center;gap:var(--space-3);padding-top:var(--space-4);flex-direction:column;width:100%;display:flex;position:relative}.tc-voice-avatar-wrap:before{content:"";background:radial-gradient(closest-side, var(--accent-bg) 0%, transparent 72%);z-index:-1;pointer-events:none;border-radius:50%;width:min(420px,95%);height:min(72%,480px);position:absolute;top:0;left:50%;transform:translate(-50%)}.tc-voice-avatar-stage{-webkit-mask-composite:source-in;width:100%;height:clamp(340px,62vh,760px);-webkit-mask-image:linear-gradient(#000 0% 68%,#0000 96%),linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(#000 0% 68%,#0000 96%),linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.tc-voice-name{color:var(--text-h);overflow-wrap:break-word;text-align:center;max-width:100%;font-size:1.1rem;font-weight:600}.tc-voice-status{justify-content:center;align-items:center;gap:var(--space-2);color:var(--text-subtle);text-align:center;flex-wrap:wrap;max-width:100%;min-height:1.4em;font-size:.9rem;display:inline-flex}.tc-voice-status[data-status=listening]{color:var(--accent)}.tc-voice-status[data-status=thinking],.tc-voice-status[data-status=speaking]{color:var(--text-h)}.tc-voice-status .lucide{animation:1s linear infinite tc-spin}.tc-voice-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);overflow-wrap:break-word;max-width:100%;font-size:.85rem}.tc-voice-transcript{gap:var(--space-3);width:100%;min-height:0;padding:var(--space-4);z-index:1;border:1px solid color-mix(in srgb, var(--border-strong) 55%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-2) 62%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:var(--shadow-2);flex-direction:column;flex:1;margin-top:-96px;display:flex;position:relative;overflow-y:auto}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tc-voice-transcript{background:color-mix(in srgb, var(--surface-2) 92%, transparent)}}.tc-voice-line{gap:var(--space-0);max-width:85%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text);overflow-wrap:break-word;word-break:break-word;flex-direction:column;font-size:.9rem;line-height:1.5;display:flex}.tc-voice-line[data-role=user]{background:var(--accent-bg);color:var(--text-h);border-top-right-radius:var(--radius-sm);align-self:flex-end}.tc-voice-line[data-role=assistant]{border-top-left-radius:var(--radius-sm);align-self:flex-start}.tc-voice-controls{justify-content:center;align-items:center;gap:var(--space-5);padding:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.tc-voice-btn{border:1px solid var(--border);background:var(--surface-2);width:52px;height:52px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tc-voice-btn:hover{background:var(--surface-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.tc-voice-btn[aria-pressed=true]{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.tc-voice-btn-end{background:var(--danger);border-color:var(--danger);color:#fff;width:60px;height:60px;box-shadow:var(--shadow-2)}.tc-voice-btn-end:hover{background:var(--danger);opacity:.9;box-shadow:var(--shadow-3);transform:translateY(-1px)}@media (width<=640px){.tc-voice-view{padding:var(--space-4)}.tc-voice-avatar-stage{height:clamp(260px,50vh,560px)}.tc-voice-transcript{margin-top:-64px}}@media (width<=480px){.tc-voice-controls{gap:var(--space-4)}}.cat-plaza{gap:var(--space-3)}.cat-plaza-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.cat-plaza-head h3{color:var(--text-h);margin:0;font-size:1rem}.cat-plaza-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cat-plaza-hint{text-align:right;max-width:32ch}.cat-plaza-progress{align-items:center;gap:4px;display:inline-flex}.cat-plaza-progress-dot{background:var(--border);width:5px;height:5px;transition:background-color var(--dur-fast) var(--ease);border-radius:50%}.cat-plaza-progress-dot--filled{background:var(--accent)}.cat-plaza-ended{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.cat-plaza-ended-text{color:var(--text-subtle);white-space:nowrap;font-size:.78rem}.cat-plaza-log{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.cat-plaza-log-list{gap:var(--space-1);flex-direction:column;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cat-plaza-log-entry{color:var(--text-h);font-size:.78rem;line-height:1.5}.cat-plaza-log-name{margin-right:var(--space-1);font-weight:600}.cat-plaza-log-name:after{content:"："}.cat-plaza-log-text{color:var(--text-subtle)}.cat-plaza-scene{justify-content:space-evenly;align-items:flex-end;gap:var(--space-3);min-height:220px;padding:108px var(--space-4) var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(to bottom, var(--accent-bg) 0%, var(--surface-2) 62%, var(--surface-3) 100%);border:1px solid var(--border);display:flex;position:relative;overflow:visible}.cat-plaza-scene .cat-empty-state{width:100%}.cat-plaza-slot{appearance:none;align-items:center;gap:var(--space-1);cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;flex:1 1 0;min-width:0;max-width:140px;padding:0;display:flex;position:relative}.cat-plaza-avatar-wrap{animation:3.6s ease-in-out infinite cat-plaza-bob;display:block}.cat-plaza-slot:nth-child(2) .cat-plaza-avatar-wrap{animation-delay:-.9s}.cat-plaza-slot:nth-child(3) .cat-plaza-avatar-wrap{animation-delay:-1.8s}.cat-plaza-slot:nth-child(4) .cat-plaza-avatar-wrap{animation-delay:-2.7s}@keyframes cat-plaza-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.cat-plaza-avatar{width:60px;height:140px}.cat-plaza-name{align-items:center;gap:var(--space-1);color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;font-weight:600;display:inline-flex;overflow:hidden}.cat-plaza-mine-badge{padding:1px 5px;font-size:.6rem}.cat-plaza-bubble{--plaza-bubble-x:-50%;--plaza-bubble-scale:1;bottom:calc(100% + var(--space-2));transform:translateX(var(--plaza-bubble-x)) scale(var(--plaza-bubble-scale));transform-origin:bottom;width:max-content;max-width:min(180px, calc(50vw - var(--space-5)));min-width:64px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);color:var(--text-h);text-align:left;z-index:2;-webkit-line-clamp:4;animation:cat-plaza-bubble-in var(--dur-slow) var(--ease-out);-webkit-box-orient:vertical;font-size:.78rem;line-height:1.5;display:-webkit-box;position:absolute;left:50%;overflow:hidden}.cat-plaza-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--surface);filter:drop-shadow(0 1px 0 var(--border));position:absolute;top:100%;left:50%;transform:translate(-50%)}.cat-plaza-bubble--prev{--plaza-bubble-scale:.88;z-index:1;opacity:.55}.cat-plaza-slot:first-child .cat-plaza-bubble{--plaza-bubble-x:0%;transform-origin:0 100%;left:0}.cat-plaza-slot:first-child .cat-plaza-bubble:after{left:20px;transform:none}.cat-plaza-slot:last-child:not(:first-child) .cat-plaza-bubble{--plaza-bubble-x:0%;transform-origin:100% 100%;left:auto;right:0}.cat-plaza-slot:last-child:not(:first-child) .cat-plaza-bubble:after{left:auto;right:20px;transform:none}@keyframes cat-plaza-bubble-in{0%{opacity:0;transform:translateX(var(--plaza-bubble-x)) translateY(6px) scale(calc(var(--plaza-bubble-scale) * .94))}to{opacity:1;transform:translateX(var(--plaza-bubble-x)) translateY(0) scale(var(--plaza-bubble-scale))}}.cat-plaza-cursor{vertical-align:text-bottom;background:var(--accent);width:2px;height:.9em;margin-left:2px;animation:.9s step-end infinite tc-blink;display:inline-block}@keyframes tc-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cat-plaza-popover-backdrop{padding:var(--space-4);z-index:40;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cat-plaza-popover{gap:var(--space-2);width:100%;max-width:320px;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex}.cat-plaza-popover-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cat-plaza-popover-head h4{margin:0}.cat-plaza-popover-close{appearance:none;cursor:pointer;color:var(--text-subtle);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;line-height:0}.cat-plaza-popover-close:hover{color:var(--text-h);background:var(--surface-hover)}.cat-plaza-popover-summary{-webkit-line-clamp:4;min-height:0}@media (width<=640px){.cat-plaza-head{flex-direction:column;align-items:flex-start}.cat-plaza-hint{text-align:left;max-width:none}.cat-plaza-scene{min-height:190px;padding:100px var(--space-2) var(--space-3);gap:var(--space-1)}.cat-plaza-bubble{max-width:min(130px, calc(50vw - var(--space-4)));font-size:.72rem}.cat-plaza-ended{width:100%}.cat-plaza-log-list{max-height:140px}}.cat-root{height:100%;min-height:0;padding:var(--space-5);gap:var(--space-4);flex-direction:column;max-width:960px;margin:0 auto;display:flex;overflow-y:auto}.cat-page-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.cat-page-title{align-items:center;gap:var(--space-3);color:var(--accent);min-width:0;display:flex}.cat-page-title h2{color:var(--text-h);margin:0;font-size:1.15rem}.cat-conn-status{align-items:center;gap:var(--space-1);color:var(--text-subtle);white-space:nowrap;font-size:.8rem;font-weight:600;display:inline-flex}.cat-conn-status-connected{color:var(--accent)}.cat-conn-status-error{color:var(--danger)}.cat-spin-icon{animation:.9s linear infinite tc-spin}.cat-panel{gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.cat-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cat-panel-head h3{color:var(--text-h);margin:0;font-size:1rem}.cat-label{color:var(--text-h);font-size:.8rem;font-weight:600}.cat-hint{color:var(--text-subtle);margin:0;font-size:.8rem;line-height:1.5}.cat-share-row{gap:var(--space-2);display:flex}.cat-share-row .cat-input{flex:1;min-width:0}.cat-status{color:var(--text-subtle);margin:0;font-size:.8rem;line-height:1.5}.cat-status-error{color:var(--danger)}.cat-card-status{margin-top:var(--space-1)}.cat-status-row{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.cat-status-row .cat-status{flex:auto;min-width:0}.cat-chat-cta{padding:2px var(--space-3);flex:none;font-size:.75rem}.cat-conn-error{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.cat-conn-error .cat-status{flex:auto;min-width:0}.cat-reconnect-btn{padding:var(--space-1) var(--space-3);flex:none;font-size:.8rem}.cat-panel.cat-collapsible{gap:0;padding:0;overflow:hidden}.cat-collapsible-summary{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex}.cat-collapsible-summary::-webkit-details-marker{display:none}.cat-collapsible-summary:hover{background:var(--surface-hover)}.cat-collapsible[open] .cat-collapsible-summary{border-bottom:1px solid var(--border)}.cat-collapsible-chevron{color:var(--text-subtle);transition:transform var(--dur-fast) var(--ease);flex:none}.cat-collapsible[open] .cat-collapsible-chevron{transform:rotate(180deg)}.cat-collapsible-body{gap:var(--space-2);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.cat-empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-3);color:var(--text-subtle);text-align:center;flex-direction:column;display:flex}.cat-empty{margin:0;font-size:.85rem;line-height:1.5}.cat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.cat-card{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-direction:column;display:flex}.cat-card:hover{border-color:var(--text-subtle);box-shadow:var(--shadow-1)}.cat-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.cat-card-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:.95rem;overflow:hidden}.cat-card-badges{align-items:center;gap:var(--space-1);flex:none;display:flex}.cat-badge{letter-spacing:.03em;border-radius:var(--radius-pill);background:var(--accent-bg);color:var(--accent);flex:none;padding:2px 6px;font-size:.65rem;font-weight:700}.cat-card-imported{color:var(--accent);font-weight:600}.cat-card-summary{color:var(--text-subtle);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;margin:0;font-size:.82rem;line-height:1.5;display:-webkit-box;overflow:hidden}.cat-card-meta{gap:var(--space-3);flex-wrap:wrap;display:flex}.cat-card-meta-item{color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;max-width:100%;font-size:.72rem;display:inline-flex;overflow:hidden}.cat-card-import{align-self:flex-start}.cat-input{width:100%;font:inherit;color:var(--text-h);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.cat-input:hover:not(:disabled){border-color:var(--text-subtle)}.cat-input:focus-visible,.cat-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.cat-btn{justify-content:center;align-items:center;gap:var(--space-2);font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);font-weight:600;display:inline-flex}.cat-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-subtle)}.cat-btn:active:not(:disabled){transform:translateY(1px)}.cat-btn:disabled{opacity:.5;cursor:not-allowed}.cat-btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.cat-btn-accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.cat-btn-accent:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(0)}.cat-btn-tonal{background:var(--accent-bg);color:var(--accent);padding:var(--space-1) var(--space-3);border-color:#0000;font-size:.82rem}.cat-btn-tonal:hover:not(:disabled){background:var(--accent-bg-strong);border-color:#0000}@media (width<=640px){.cat-root{padding:var(--space-3)}.cat-share-row{flex-direction:column}}.ob-overlay{background:var(--overlay);padding:var(--space-5);z-index:var(--z-modal);animation:tc-ob-overlay-in var(--dur-med) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ob-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:min(90vh,720px);box-shadow:var(--shadow-modal);animation:tc-ob-card-in var(--dur-med) var(--ease-out);border:none;flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes tc-ob-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes tc-ob-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ob-close{top:var(--space-3);right:var(--space-3);appearance:none;cursor:pointer;color:var(--text-subtle);padding:var(--space-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;line-height:0;position:absolute}.ob-close:hover{color:var(--text-h);background:var(--surface-hover)}.ob-body{padding:var(--space-7) var(--space-7) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.ob-hero{color:var(--accent);padding:var(--space-4) 0 0;justify-content:center;display:flex}.ob-hero>svg{box-sizing:content-box;padding:var(--space-4);background:var(--accent-bg);border-radius:50%}.ob-step-head{align-items:center;gap:var(--space-3);color:var(--accent);display:flex}.ob-step-head>svg{box-sizing:content-box;padding:var(--space-2);background:var(--accent-bg);border-radius:50%;flex:none}.ob-step-head .ob-title{margin:0}.ob-title{text-align:center;color:var(--text-h);margin:0;font-size:1.3rem}.ob-step-head .ob-title{text-align:left;font-size:1.15rem}.ob-text{color:var(--text);margin:0;line-height:1.7}.ob-text-subtle{color:var(--text-subtle);font-size:.9rem}.ob-field{gap:var(--space-1);flex-direction:column;display:flex}.ob-label{color:var(--text-h);font-size:.85rem;font-weight:600}.ob-input{font:inherit;color:var(--text);background:var(--surface-2,var(--surface));border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%;min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.ob-input:hover:not(:focus){background:var(--surface-hover)}.ob-input:focus{outline:2px solid var(--ring);outline-offset:0;border-color:#0000}.ob-model-row{gap:var(--space-2);align-items:center;display:flex}.ob-model-row .ob-input{flex:auto}.ob-icon-btn{appearance:none;font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2,var(--surface));color:var(--text-h);padding:var(--space-2);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%;flex:none;line-height:0}.ob-icon-btn:hover:not(:disabled){background:var(--surface-hover)}.ob-icon-btn:disabled{opacity:.5;cursor:default}.ob-model-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ob-model-status{color:var(--text-subtle);min-width:0;font-size:.8rem}.ob-link-btn{appearance:none;cursor:pointer;color:var(--accent);background:0 0;border:none;flex:none;padding:0;font-size:.8rem}.ob-link-btn:hover{text-decoration:underline}.ob-test-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ob-test-ok{align-items:center;gap:var(--space-1);color:var(--success);white-space:nowrap;font-size:.9rem;display:inline-flex}.ob-error{color:var(--danger);margin:0;font-size:.85rem}.ob-btn{appearance:none;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--border-strong);color:var(--text-h);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);white-space:nowrap;background:0 0;flex:none;align-self:flex-start;font-weight:500;display:inline-flex}.ob-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-subtle)}.ob-btn:disabled{opacity:.5;cursor:default}.ob-btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.ob-btn-accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-2)}.ob-feature-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ob-feature-list li{align-items:flex-start;gap:var(--space-3);line-height:1.6;display:flex}.ob-feature-list li>svg{color:var(--accent);background:var(--accent-bg);box-sizing:content-box;border-radius:50%;flex:none;padding:6px}.ob-footer{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-7) var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.ob-dots{gap:var(--space-2);display:flex}.ob-dot{border-radius:var(--radius-pill);background:var(--border-strong);width:8px;height:8px;transition:background var(--dur-fast) var(--ease), width var(--dur-med) var(--ease)}.ob-dot.is-active{background:var(--accent);width:22px}.ob-footer-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=480px){.ob-body{padding:var(--space-5) var(--space-5) var(--space-4)}.ob-footer{padding:var(--space-4) var(--space-5) var(--space-5);justify-content:center}.ob-dots{order:1;justify-content:center;width:100%}.ob-footer-actions{order:2;justify-content:center;width:100%}}.tc-town-shell{background:var(--bg);height:100%;color:var(--text);flex-direction:column;display:flex}.tc-town-header{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-1);z-index:1;display:flex;position:relative}.tc-town-header h1{color:var(--text-h);margin:0;font-size:1rem;font-weight:600}.tc-town-nav{gap:var(--space-2);margin-left:auto;display:flex}.tc-town-nav button{align-items:center;gap:var(--space-2);color:var(--text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--dur-med) var(--ease), color var(--dur-med) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;font-size:.9rem;display:inline-flex}.tc-town-nav button svg{flex-shrink:0}.tc-town-nav button:hover{background:var(--surface-hover)}.tc-town-nav button[aria-current=page]{background:var(--accent-bg);color:var(--accent);font-weight:600}.tc-town-nav button[aria-current=page]:hover{background:var(--accent-bg-strong)}.tc-town-main{flex:1;min-height:0;overflow:auto}.tc-town-view{height:100%;animation:tc-view-enter var(--dur-med) var(--ease-out) 50ms backwards}@keyframes tc-view-enter{0%{opacity:0}to{opacity:1}}.tc-town-placeholder{height:100%;color:var(--text-subtle);justify-content:center;align-items:center;display:flex}@media (width<=768px){.tc-town-header h1{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}.tc-town-nav-label{display:none}.tc-town-nav button{padding:var(--space-3)}}
