.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-task-badge-network{flex-shrink:0}option.mistai-option-network{color:var(--mistai-primary,#0f766e)}.mistai-error-text{color:var(--mistai-danger,#dc2626);margin:0 0 8px;font-size:.72rem;line-height:1.4}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f6;--text:#1a1f29;--text-dim:#565e6e;--text-faint:#868d9c;--accent:#0d9488;--accent-strong:#0b7d73;--accent-contrast:#fff;--success:#0e9d6a;--danger:#e14b52;--warn:#c9820a;--glass-1:#ffffffbd;--glass-2:#ffffffe0;--surface-solid:#fcfdfe;--fill-1:#171c260b;--fill-2:#171c2614;--fill-3:#171c261f;--border:#171c261f;--border-strong:#171c2638;--scrim:#e0e4ecb8;--accent-tint:#0d94881f;--accent-tint-strong:#0d94882e;--accent-line:#0d948880;--danger-tint:#e14b521f;--success-tint:#0e9d6a29;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--shadow-1:0 1px 2px #10182814, 0 1px 3px 1px #1018280f;--shadow-2:0 1px 2px #10182812, 0 4px 12px 2px #1018281f;--shadow-3:0 2px 4px #1018281a, 0 12px 32px 4px #1018282e;--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--ring:0 0 0 3px #0d948859;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-med:.24s;--dur-slow:.36s;--blur:16px;--sa-t:env(safe-area-inset-top,0px);--sa-r:env(safe-area-inset-right,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,Hiragino Sans,Noto Sans JP,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12151b;--text:#eef0f4;--text-dim:#a7adba;--text-faint:#7a8090;--accent:#2dd4bf;--accent-strong:#22b8a5;--accent-contrast:#04201d;--success:#17b880;--danger:#f87171;--warn:#d99a2b;--glass-1:#161921b8;--glass-2:#161921e0;--surface-solid:#181b23;--fill-1:#ffffff0f;--fill-2:#ffffff1a;--fill-3:#ffffff26;--border:#ffffff1f;--border-strong:#ffffff38;--scrim:#080a0eb8;--accent-tint:#2dd4bf29;--accent-tint-strong:#2dd4bf3d;--accent-line:#2dd4bf80;--danger-tint:#f8717129;--success-tint:#17b88033;--shadow-1:0 1px 2px #0006, 0 1px 3px 1px #00000040;--shadow-2:0 1px 2px #00000059, 0 4px 14px 2px #00000059;--shadow-3:0 2px 4px #0006, 0 14px 36px 4px #00000073;--ring:0 0 0 3px #2dd4bf66}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12151b;--text:#eef0f4;--text-dim:#a7adba;--text-faint:#7a8090;--accent:#2dd4bf;--accent-strong:#22b8a5;--accent-contrast:#04201d;--success:#17b880;--danger:#f87171;--warn:#d99a2b;--glass-1:#161921b8;--glass-2:#161921e0;--fill-1:#ffffff0f;--fill-2:#ffffff1a;--fill-3:#ffffff26;--border:#ffffff1f;--border-strong:#ffffff38;--scrim:#080a0eb8;--accent-tint:#2dd4bf29;--accent-tint-strong:#2dd4bf3d;--accent-line:#2dd4bf80;--danger-tint:#f8717129;--success-tint:#17b88033;--shadow-1:0 1px 2px #0006, 0 1px 3px 1px #00000040;--shadow-2:0 1px 2px #00000059, 0 4px 14px 2px #00000059;--shadow-3:0 2px 4px #0006, 0 14px 36px 4px #00000073;--ring:0 0 0 3px #2dd4bf66}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0;overflow:hidden}#app,.app-shell{height:100%;position:relative}.world-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.input{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--fill-1);inline-size:100%;color:var(--text);font:inherit;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);padding:.6rem .75rem;font-size:.95rem}.input::placeholder{color:var(--text-faint)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--accent-line);background:var(--fill-2);box-shadow:var(--ring);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input[readonly]{color:var(--text-dim)}.btn{border-radius:var(--r-pill);background:var(--fill-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--fill-3)}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:linear-gradient(180deg, var(--accent), var(--accent-strong));border-color:var(--accent-line);color:var(--accent-contrast);box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg, var(--accent), var(--accent-strong));box-shadow:var(--shadow-2);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(1px)scale(.99)}.btn-ghost{background:var(--fill-1);border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:var(--fill-2)}.btn-danger{background:var(--danger-tint);color:var(--danger);border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.icon-btn{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--fill-1);block-size:2.25rem;inline-size:2.25rem;color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--fill-2);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.94)}:where(button,a,input,[tabindex]):focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:var(--r-sm)}.field{flex-direction:column;gap:.4rem;display:flex}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);text-align:start;font-size:.72rem;font-weight:700}.field-hint{color:var(--text-faint);text-align:start;font-size:.76rem}.field-error{color:var(--danger);text-align:start;font-size:.78rem}.field-row{align-items:stretch;gap:.5rem;display:flex}.field-row .input{flex:1;min-inline-size:0}.lang-select{flex-wrap:wrap;gap:.4rem;display:flex}.lang-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--fill-1);color:var(--text-dim);font:inherit;cursor:pointer;transition:all var(--dur-fast) var(--ease);padding:.35rem .7rem;font-size:.82rem}.lang-chip:hover{background:var(--fill-2);color:var(--text)}.lang-chip.is-active{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-strong);font-weight:600}.swatches{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.swatch{border-radius:var(--r-pill);cursor:pointer;block-size:1.75rem;inline-size:1.75rem;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);box-shadow:0 0 0 1px var(--border);border:2px solid #0000;padding:0}.swatch:hover{transform:scale(1.12)}.swatch.is-active{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px currentColor;color:var(--accent-strong)}.swatch-custom{background:conic-gradient(#f87171,#fbbf24,#34d399,#38bdf8,#a78bfa,#f472b6,#f87171);justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.swatch-custom input{opacity:0;cursor:pointer;border:none;block-size:100%;inline-size:100%;padding:0;position:absolute;inset:0}.join-screen{padding:calc(var(--sp-4) + var(--sa-t)) calc(var(--sp-4) + var(--sa-r)) calc(var(--sp-4) + var(--sa-b)) calc(var(--sp-4) + var(--sa-l));background:radial-gradient(120% 90% at 50% 0%, var(--accent-tint), transparent 60%), var(--scrim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.join-card{gap:var(--sp-4);inline-size:min(26rem,100%);padding:var(--sp-5);border-radius:var(--r-xl);background:var(--glass-1);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));animation:modal-in var(--dur-slow) var(--ease-out) both;flex-direction:column;display:flex}.join-brand{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.join-logo{border-radius:var(--r-lg);background:linear-gradient(145deg, var(--accent), var(--accent-strong));block-size:3.25rem;inline-size:3.25rem;box-shadow:var(--shadow-2);margin-block-end:.25rem}.join-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.6rem;font-weight:800}.join-tagline{color:var(--text-dim);max-inline-size:22rem;margin:0;font-size:.9rem}.join-error{margin:0}.join-submit{margin-block-start:.25rem;padding-block:.75rem;font-size:1rem}.btn-icon-text{padding-inline:.75rem}.btn-text-collapse{display:inline}.overlay{pointer-events:none;position:absolute;inset:0}.overlay>*{pointer-events:auto}.hud-top{inset-block-start:calc(var(--sp-3) + var(--sa-t));inset-inline:calc(var(--sp-3) + var(--sa-l)) calc(var(--sp-3) + var(--sa-r));justify-content:space-between;align-items:center;gap:var(--sp-3);pointer-events:none;display:flex;position:absolute}.hud-top>*{pointer-events:auto}.hud-cluster{align-items:center;gap:var(--sp-2);min-inline-size:0;display:flex}.hud-pill{border-radius:var(--r-pill);background:var(--glass-1);border:1px solid var(--border);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text);box-shadow:var(--shadow-md);align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex}.peer-pill svg{color:var(--text-dim)}.voice-pill{border-radius:var(--r-pill);background:var(--glass-1);border:1px solid var(--border);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text-dim);font:inherit;cursor:pointer;box-shadow:var(--shadow-md);transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);align-items:center;gap:.45rem;padding:.4rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.voice-pill:disabled{cursor:default}.voice-label{white-space:nowrap}.voice-pill.is-on{color:var(--success);border-color:var(--success-tint);background:linear-gradient(var(--glass-1), var(--glass-1)) padding-box, linear-gradient(90deg, var(--success-tint), transparent) border-box}.voice-pill.is-error{color:var(--danger);border-color:var(--danger-tint)}.voice-pill.is-pending{color:var(--warn)}.voice-waves{align-items:center;gap:2px;block-size:.85rem;display:none}.voice-pill.is-on .voice-waves{display:inline-flex}.voice-waves .wave{border-radius:var(--r-pill);background:currentColor;block-size:40%;inline-size:2px;animation:1s ease-in-out infinite voicewave}.voice-waves .wave:nth-child(2){animation-delay:.18s}.voice-waves .wave:nth-child(3){animation-delay:.36s}.edit-pill{font:inherit;color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);font-size:.82rem;font-weight:600}.edit-pill:hover{color:var(--text);border-color:var(--accent-line)}.edit-pill.is-on{color:var(--accent-strong);border-color:var(--accent-line);background:var(--accent-tint-strong)}.edit-pill-label{white-space:nowrap}.hud-menu-btn{border-radius:var(--r-md);background:var(--glass-1);border:1px solid var(--border);block-size:2.6rem;inline-size:2.6rem;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text);cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.hud-menu-btn:hover{background:var(--glass-2);border-color:var(--accent-line)}.hud-menu-btn:active{transform:scale(.95)}.controls-hint{border-radius:var(--r-pill);background:var(--glass-1);border:1px solid var(--border);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text-dim);box-shadow:var(--shadow-md);gap:.9rem;padding:.45rem .85rem;font-size:.72rem;display:flex;position:absolute;inset-block-end:calc(var(--sp-4) + var(--sa-b));inset-inline-start:50%;transform:translate(-50%)}.controls-hint .hint{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.kbd{background:var(--fill-2);border:1px solid var(--border-strong);color:var(--text);border-block-end-width:2px;border-radius:6px;padding:.1rem .4rem;font-family:inherit;font-size:.68rem;font-weight:700;display:inline-block}.lock-pill{background:var(--accent-tint-strong);border-color:var(--accent-line);color:var(--accent-strong)}.edit-bar{border-radius:var(--r-pill);background:var(--glass-2);border:1px solid var(--border);max-inline-size:calc(100vw - 2rem);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));box-shadow:var(--shadow-lg);pointer-events:auto;z-index:6;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;padding:.3rem .55rem;display:flex;position:absolute;inset-block-end:calc(var(--sp-4) + var(--sa-b));inset-inline-start:50%;transform:translate(-50%)}.edit-bar-credit{color:var(--text-faint);margin-inline-start:.4rem;font-weight:500}.edit-bar-target{max-inline-size:16rem;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;padding-inline:.4rem;font-size:.78rem;font-weight:600;overflow:hidden}.overlay.is-editing .controls-hint{display:none}.edit-bar-script{color:var(--text-dim);align-items:center;gap:.35rem;padding-inline:.3rem;font-size:.8rem;font-weight:600;display:flex}.edit-bar-script-select{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--fill-1);color:var(--text);font:inherit;max-inline-size:9rem;padding:.35rem .5rem;font-size:.8rem}.edit-bar-script-select:disabled{opacity:.5}.edit-bar-script-warn{color:var(--warn);display:inline-flex}.edit-bar-script .cat-format{align-self:center}.edit-bar-num-input,.edit-bar-size-input{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--fill-1);color:var(--text);font:inherit;inline-size:4rem;padding:.28rem .4rem;font-size:.8rem}.edit-bar-num-input:disabled,.edit-bar-size-input:disabled{opacity:.5}.edit-bar-axis-label{color:var(--text-faint);font-size:.72rem;font-weight:600}.edit-bar-transform,.edit-bar-box,.edit-bar-audio-offset{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.35rem;padding-inline:.3rem;font-size:.8rem;font-weight:600;display:flex}.edit-bar-scale{color:var(--text-dim);align-items:center;gap:.35rem;padding-inline:.3rem;display:flex}.edit-bar-scale-lock{border-radius:var(--r-sm);border:1px solid var(--border);block-size:1.75rem;inline-size:1.75rem;color:var(--text-faint);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.edit-bar-scale-lock:hover{background:var(--fill-2);color:var(--text)}.edit-bar-scale-lock:disabled{opacity:.5;cursor:default}.edit-bar-scale-lock.is-unlocked{color:var(--accent);border-color:var(--accent-line)}.edit-bar-scale-axes{align-items:center;gap:.3rem;display:inline-flex}.edit-bar-audio-offset{flex-basis:100%}.edit-bar-box-color{align-items:center;display:inline-flex}.edit-bar-box-color input[type=color]{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;block-size:1.75rem;inline-size:1.75rem;padding:0}@media (pointer:fine){.edit-bar{max-inline-size:max(18rem,100vw - 52rem);inset-inline-start:auto;inset-inline-end:calc(var(--sp-4) + var(--sa-r));transform:none}}@media (pointer:coarse){.edit-bar{inset-block-start:calc(4.25rem + var(--sa-t));inset-block-end:auto;inset-inline:50% auto;transform:translate(-50%)}}.chat-panel{border-radius:var(--r-lg);background:var(--glass-2);border:1px solid var(--border-strong);block-size:min(60vh,34rem);inline-size:min(24rem,100vw - 2rem);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(calc(var(--blur) + 4px));backdrop-filter:blur(calc(var(--blur) + 4px));z-index:5;opacity:0;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset-block-end:calc(var(--sp-4) + var(--sa-b));inset-inline-start:calc(var(--sp-4) + var(--sa-l));overflow:hidden}.chat-panel--open,.chat-panel--closing{will-change:transform, opacity}.chat-panel--open{pointer-events:auto;animation:chat-panel-in var(--dur-med) var(--ease-out) both}.chat-panel--closing{pointer-events:none;animation:chat-panel-out var(--dur-med) var(--ease) both}.chat-panel-header{flex:none;justify-content:flex-end;padding:.3rem .3rem 0;display:flex}.chat-panel-close{block-size:1.9rem;inline-size:1.9rem}.chat-panel-body{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:.6rem;min-block-size:0;padding:.3rem .85rem .85rem;display:flex;overflow-y:auto}.chat-toasts{pointer-events:none;z-index:5;flex-direction:column;gap:.4rem;max-block-size:40vh;inline-size:min(22rem,100vw - 2rem);display:flex;position:absolute;inset-block-start:calc(4.25rem + var(--sa-t));inset-inline-end:calc(var(--sp-4) + var(--sa-r));overflow:hidden}.chat-msg,.chat-toast{max-inline-size:100%;animation:chat-rise-in var(--dur-fast) var(--ease-out) both;align-items:flex-end;gap:.5rem;display:flex}.chat-msg--own,.chat-toast--own{flex-direction:row-reverse;align-self:flex-end}.chat-msg--grouped{margin-block-start:-.35rem}.chat-toast{transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease)}.chat-toast--leaving{opacity:0;transform:translateY(-4px)}.chat-avatar{border-radius:var(--r-pill);color:#fff;text-shadow:0 1px 1px #00000040;block-size:1.8rem;inline-size:1.8rem;box-shadow:var(--shadow-1);flex:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.chat-bubble-col{flex-direction:column;gap:.15rem;min-inline-size:0;max-inline-size:calc(100% - 2.3rem);display:flex}.chat-msg--own .chat-bubble-col,.chat-toast--own .chat-bubble-col{align-items:flex-end}.chat-name{margin-inline-start:.3rem;font-size:.72rem;font-weight:700}.chat-msg--own .chat-name,.chat-toast--own .chat-name{margin-inline:0 .3rem}.chat-bubble{border-radius:var(--r-lg);background:var(--glass-1);border-inline-start:3px solid var(--accent-line);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-wrap:anywhere;max-inline-size:100%;padding:.45rem .8rem;font-size:.85rem;line-height:1.35}.chat-msg--own .chat-bubble,.chat-toast--own .chat-bubble{border-inline-start:none;border-inline-end:3px solid var(--accent-line);background:linear-gradient(135deg, var(--accent-tint-strong), var(--glass-1))}.chat-form{border-block-start:1px solid var(--border);flex:none;align-items:center;gap:.4rem;padding:.6rem .85rem;display:flex}.chat-input{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--glass-1);min-inline-size:0;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text);font:inherit;box-shadow:var(--shadow-2);flex:1;padding:.55rem .85rem;font-size:.9rem}.chat-input::placeholder{color:var(--text-faint)}.chat-input:focus{border-color:var(--accent-line);box-shadow:var(--ring);outline:none}.chat-counter{border-radius:var(--r-pill);background:var(--glass-1);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));font-variant-numeric:tabular-nums;color:var(--text-faint);opacity:.85;flex:none;padding:.2rem .5rem;font-size:.7rem}.chat-counter-warn{color:var(--accent-line);opacity:1}.chat-send{border-radius:var(--r-pill);border:1px solid var(--accent-line);background:var(--accent);block-size:2.3rem;inline-size:2.3rem;color:var(--accent-contrast);cursor:pointer;box-shadow:var(--shadow-2);transition:transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.chat-send:active{transform:scale(.92)}.chat-send:disabled{opacity:.4;cursor:default}.onboarding{z-index:50;color:var(--text);justify-items:center;display:grid;position:absolute;inset:0}.onboarding-modal{padding:var(--sp-4);background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade var(--dur-med) ease both;place-items:center}.onboarding-coach{padding:calc(var(--sa-t) + var(--sp-5)) var(--sp-4) var(--sp-4);pointer-events:none;align-items:start}.onboarding-card{inline-size:min(38rem,100%);padding:var(--sp-6);border:1px solid var(--border-strong);border-radius:var(--r-xl);background:var(--glass-2);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(calc(var(--blur) + 8px));backdrop-filter:blur(calc(var(--blur) + 8px));text-align:center;animation:modal-in var(--dur-med) var(--ease-out) both;position:relative}.onboarding-card.is-coach{inline-size:min(46rem,100% - 7rem);padding:var(--sp-4) 3.25rem var(--sp-4) var(--sp-4);pointer-events:none}.onboarding-card h2{margin:0;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.25}.onboarding-close{border-radius:var(--r-pill);block-size:2rem;inline-size:2rem;color:var(--text-dim);cursor:pointer;pointer-events:auto;background:0 0;border:0;place-items:center;padding:0;display:inline-grid;position:absolute;inset-block-start:var(--sp-3);inset-inline-end:var(--sp-3)}.onboarding-close:hover{color:var(--text);background:var(--fill-2)}.onboarding-hero{block-size:5rem;inline-size:5rem;background:var(--accent-tint);color:var(--accent-strong);border-radius:1.5rem;place-items:center;margin-block-end:var(--sp-3);display:inline-grid}.onboarding-hero.is-success{background:var(--success-tint);color:var(--success)}.onboarding-eyebrow{margin:0 0 var(--sp-2);color:var(--accent-strong);letter-spacing:.11em;text-transform:uppercase;font-size:.75rem;font-weight:800}.onboarding-copy{max-inline-size:31rem;margin:var(--sp-3) auto 0;color:var(--text-dim);line-height:1.75}.onboarding-preview{justify-content:center;gap:var(--sp-2);margin-block:var(--sp-5);flex-wrap:wrap;display:flex}.onboarding-preview span{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--fill-1);font-weight:700;display:inline-flex}.onboarding-start{inline-size:min(20rem,100%)}.onboarding-skip-link{margin:var(--sp-3) auto 0;padding:var(--sp-1) var(--sp-2);color:var(--text-dim);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;text-decoration:underline;display:block}.onboarding-coach-content{align-items:center;gap:var(--sp-3);text-align:start;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.onboarding-coach-icon{border-radius:var(--r-md);background:var(--accent-tint);block-size:2.75rem;inline-size:2.75rem;color:var(--accent-strong);place-items:center;display:inline-grid}.onboarding-coach-text h2{font-size:1rem}.onboarding-coach-text p{color:var(--text-dim);margin:.25rem 0 0;font-size:.875rem;line-height:1.45}.onboarding-action{justify-content:center;align-items:center;gap:var(--sp-2);display:flex}.onboarding-keys{grid-template-columns:repeat(3,1.75rem);gap:.2rem;display:grid}.onboarding-keys>:first-child{grid-column:2}.onboarding-keys>span{grid-column:1}.onboarding kbd{border:1px solid var(--border-strong);background:var(--surface-solid);block-size:1.75rem;min-inline-size:1.75rem;color:var(--text);font:700 .75rem/1 var(--font-mono,ui-monospace, monospace);border-block-end-width:3px;border-radius:.4rem;place-items:center;padding-inline:.35rem;display:inline-grid}.onboarding-keys.is-complete kbd,.onboarding-wide-key{border-color:var(--accent-line)!important;color:var(--accent-strong)!important}.onboarding-wide-key{min-inline-size:4.5rem!important}.onboarding-success{align-items:center;gap:var(--sp-1);color:var(--success);font-size:.8rem;font-weight:700;display:inline-flex}.onboarding-key-row{align-items:center;gap:.15rem var(--sp-2);color:var(--text-dim);grid-template-columns:auto auto;font-size:.72rem;display:grid}.onboarding-touch-copy{max-inline-size:9rem;color:var(--text-dim);font-size:.75rem;line-height:1.35;display:none}.onboarding-mouse-action{align-items:center;gap:var(--sp-2);max-inline-size:10rem;color:var(--text-dim);font-size:.75rem;line-height:1.35;display:inline-flex}.onboarding-mouse-action svg{color:var(--accent-strong);flex:none}.onboarding-wheel{align-items:center;gap:var(--sp-1);color:var(--accent-strong);font-size:1.15rem;font-weight:800;display:inline-flex;position:relative}.onboarding-summary{gap:var(--sp-2);max-inline-size:23rem;margin:var(--sp-5) auto;text-align:start;padding:0;list-style:none;display:grid}.onboarding-summary li{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--fill-1);display:flex}.onboarding-summary svg{color:var(--success);flex:none}.onboarding-progress{justify-content:center;gap:.35rem;margin-block-start:var(--sp-4);display:flex}.onboarding-progress span{border-radius:var(--r-pill);background:var(--fill-3);block-size:.25rem;inline-size:1.25rem;transition:background var(--dur-med) var(--ease), inline-size var(--dur-med) var(--ease)}.onboarding-progress span.is-active{background:var(--accent);inline-size:2rem}@media (pointer:coarse){.onboarding-touch-copy{display:inline}.onboarding-wide-key{display:none!important}.onboarding-mouse-action{display:none}}@media (width<=640px){.onboarding-card{padding:var(--sp-5)}.onboarding-card.is-coach{inline-size:100%;padding:var(--sp-3) 2.75rem var(--sp-3) var(--sp-3)}.onboarding-coach{padding:calc(var(--sa-t) + 4.75rem) var(--sp-3) var(--sp-3)}.onboarding-coach-content{grid-template-columns:auto minmax(0,1fr)}.onboarding-action{grid-column:1/-1}.onboarding-preview{margin-block:var(--sp-4)}}.menu-backdrop{padding:var(--sp-4);background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;animation:fade var(--dur-med) ease both;place-items:center;display:grid;position:absolute;inset:0}.menu-dock{inline-size:min(30rem,100%);padding:var(--sp-5);border-radius:var(--r-xl);background:var(--glass-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(calc(var(--blur) + 6px));backdrop-filter:blur(calc(var(--blur) + 6px));animation:modal-in var(--dur-med) var(--ease-out) both}.menu-dock-head{justify-content:space-between;align-items:center;margin-block-end:var(--sp-4);display:flex}.menu-dock-title{margin:0;font-size:1.15rem;font-weight:700}.menu-grid{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.menu-item{padding:var(--sp-4) var(--sp-2);border-radius:var(--r-lg);border:1px solid var(--border);background:var(--fill-1);color:var(--text);cursor:pointer;opacity:0;animation:menu-item-in var(--dur-med) var(--ease-out) both;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;align-items:center;gap:.55rem;display:flex}.menu-item:hover{background:var(--accent-tint);border-color:var(--accent-line);box-shadow:var(--shadow-1);transform:translateY(-2px)}.menu-item:first-child{animation-delay:0s}.menu-item:nth-child(2){animation-delay:30ms}.menu-item:nth-child(3){animation-delay:60ms}.menu-item:nth-child(4){animation-delay:90ms}.menu-item:nth-child(5){animation-delay:.12s}.menu-item:nth-child(6){animation-delay:.15s}.menu-item:nth-child(7){animation-delay:.18s}.menu-item-icon{border-radius:var(--r-md);background:var(--accent-tint);block-size:3rem;inline-size:3rem;color:var(--accent-strong);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.menu-item-label{font-size:.85rem;font-weight:600}.menu-item.is-danger .menu-item-icon{background:var(--danger-tint);color:var(--danger)}.menu-item.is-danger:hover{background:var(--danger-tint);border-color:var(--danger)}.menu-item.is-danger:hover .menu-item-icon{background:var(--danger);color:#fff}.panel-backdrop{padding:var(--sp-4);background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30;animation:fade var(--dur-med) ease both;place-items:center;display:grid;position:absolute;inset:0}.panel{border-radius:var(--r-xl);background:var(--glass-2);border:1px solid var(--border-strong);max-block-size:min(85vh,46rem);inline-size:min(32rem,100%);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(calc(var(--blur) + 6px));backdrop-filter:blur(calc(var(--blur) + 6px));animation:modal-in var(--dur-med) var(--ease-out) both;flex-direction:column;display:flex;overflow:hidden}.panel-wide{inline-size:min(52rem,100%)}.panel-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-block-end:1px solid var(--border);display:flex}.panel-title{margin:0;font-size:1.15rem;font-weight:700}.panel-subtitle{color:var(--text-dim);margin:.2rem 0 0;font-size:.82rem}.panel-close{flex:none}.panel-body{padding:var(--sp-5);scrollbar-width:thin;overflow-y:auto}.panel-error{margin:0 0 var(--sp-3);color:var(--danger);font-size:.82rem}.panel-note.is-muted{background:var(--fill-1);color:var(--text-dim);font-weight:500}.panel-note.is-warn{background:var(--danger-tint);color:var(--warn);font-weight:600}.panel-note{margin:0 0 var(--sp-3);border-radius:var(--r-sm);background:var(--accent-tint);color:var(--accent-strong);padding:.5rem .7rem;font-size:.82rem;font-weight:600}.catalog-toolbar{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-block-end:var(--sp-3);display:flex}.catalog-search{flex:12rem;align-items:center;min-inline-size:0;display:flex;position:relative}.catalog-search .input{padding-inline:2.1rem}.catalog-search-icon{color:var(--text-faint);pointer-events:none;display:inline-flex;position:absolute;inset-inline-start:.7rem}.catalog-search-clear{border-radius:var(--r-pill);block-size:1.6rem;inline-size:1.6rem;color:var(--text-faint);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;display:inline-flex;position:absolute;inset-inline-end:.3rem}.catalog-search-clear:hover{background:var(--fill-2);color:var(--text)}.catalog-sort{flex:none;position:relative}.catalog-sort-trigger{border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--fill-1);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.catalog-sort-trigger:hover{background:var(--fill-2)}.catalog-sort-menu{z-index:5;border-radius:var(--r-md);border:1px solid var(--border);background:var(--glass-2);min-inline-size:11rem;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));box-shadow:var(--shadow-2);flex-direction:column;gap:.1rem;padding:.3rem;display:flex;position:absolute;inset-block-start:calc(100% + .35rem);inset-inline-end:0}.catalog-sort-menu button{justify-content:space-between;align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);color:var(--text);font:inherit;text-align:start;cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;padding:.4rem .55rem;font-size:.8rem;display:flex}.catalog-sort-menu button:hover{background:var(--fill-2)}.catalog-sort-menu button.is-active{background:var(--accent-tint);color:var(--accent-strong)}.catalog-kinds{gap:var(--sp-2);flex-wrap:wrap;inline-size:100%;display:flex}.cat-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--fill-1);color:var(--text-dim);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.72rem;font-weight:600;display:inline-flex}.cat-chip:hover{border-color:var(--border-strong)}.cat-chip.is-active{border-color:var(--accent-line);background:var(--accent-tint);color:var(--accent-strong)}.cat-chip-count{color:var(--text-faint);font-size:.68rem;font-weight:600}.cat-chip.is-active .cat-chip-count{color:inherit}.catalog-count{color:var(--text-faint);white-space:nowrap;margin-inline-start:auto;font-size:.72rem}.catalog{gap:var(--sp-4);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.catalog-grid{gap:var(--sp-3);scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));align-content:start;max-block-size:24rem;padding-inline-end:.25rem;display:grid;overflow-y:auto}.cat-card{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--fill-1);color:var(--text);cursor:pointer;text-align:start;transition:transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.cat-card:hover{border-color:var(--text-faint);box-shadow:var(--shadow-1);transform:translateY(-2px)}.cat-card.is-selected{border-color:var(--accent-line);background:var(--accent-tint)}.cat-card.is-current{border-color:var(--success)}.cat-card:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.cat-card-media{aspect-ratio:16/9;background:var(--fill-2);inline-size:100%;position:relative;overflow:hidden}.cat-thumb{object-fit:cover;block-size:100%;inline-size:100%;display:block}.cat-thumb-blank{block-size:100%;inline-size:100%;color:var(--accent-strong);background:linear-gradient(135deg, var(--accent-tint-strong), var(--fill-2));justify-content:center;align-items:center;font-size:1.6rem;font-weight:800;display:flex}.cat-thumb-default{block-size:100%;inline-size:100%;color:var(--text-faint);background:repeating-linear-gradient(45deg, var(--fill-1), var(--fill-1) 8px, var(--fill-2) 8px, var(--fill-2) 16px);justify-content:center;align-items:center;display:flex}.cat-thumb-upload{block-size:100%;inline-size:100%;color:var(--accent-strong);background:var(--accent-tint);justify-content:center;align-items:center;display:flex}.cat-upload{border-style:dashed;border-color:var(--border-strong)}.cat-upload:hover{border-color:var(--accent-line)}.cat-card-body{flex-direction:column;gap:.3rem;min-inline-size:0;padding:.55rem .65rem .65rem;display:flex}.cat-name{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-size:.78rem;font-weight:600;overflow:hidden}.cat-format{border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-strong);letter-spacing:.03em;align-self:flex-start;align-items:center;padding:.1rem .45rem;font-size:.62rem;font-weight:700;display:inline-flex}.cat-badge{border-radius:var(--r-pill);background:var(--success);color:#05271b;block-size:1.15rem;inline-size:1.15rem;box-shadow:var(--shadow-1);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-block-start:.4rem;inset-inline-end:.4rem}.cat-placement-count{border-radius:var(--r-pill);background:var(--accent-tint);inline-size:fit-content;color:var(--accent-strong);white-space:nowrap;align-items:center;padding:.12rem .45rem;font-size:.66rem;font-weight:700;display:inline-flex}.cat-placement-count.is-card{background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text);box-shadow:var(--shadow-1);position:absolute;inset-block-end:.4rem;inset-inline-end:.4rem}.cat-placement-count.is-preview{align-self:center}.cat-kind{border-radius:var(--r-pill);background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:.3rem;display:inline-flex;position:absolute;inset-block-start:.4rem;inset-inline-start:.4rem}.cat-meta{color:var(--text-faint);align-items:center;gap:.4rem;font-size:.66rem;display:flex}.catalog-preview{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-lg);border:1px solid var(--border);background:var(--fill-1);flex-direction:column;display:flex}.preview-thumb{aspect-ratio:16/9;border-radius:var(--r-md);object-fit:cover;background:var(--fill-2);inline-size:100%}.preview-thumb-blank{color:var(--accent-strong);background:linear-gradient(135deg, var(--accent-tint-strong), var(--fill-2));justify-content:center;align-items:center;font-size:2.5rem;font-weight:800;display:flex}.preview-name{text-align:center;overflow-wrap:anywhere;margin:0;font-weight:700}.preview-meta{row-gap:.35rem;column-gap:var(--sp-3);grid-template-columns:auto 1fr;margin:0;font-size:.74rem;display:grid}.preview-meta dt{color:var(--text-faint)}.preview-meta dd{color:var(--text);overflow-wrap:anywhere;margin:0}.preview-meta dd.is-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.preview-empty{text-align:center;min-block-size:10rem;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.catalog-hint{color:var(--text-faint);margin:0;font-size:.78rem}.preview-actions{flex-direction:column;gap:.5rem;display:flex}.preview-actions .btn{inline-size:100%}.catalog-footer{border-block-start:1px solid var(--border);margin-block-start:auto;padding-block-start:var(--sp-3)}.catalog-list{gap:var(--sp-1);scrollbar-width:thin;flex-direction:column;max-block-size:24rem;padding-inline-end:.25rem;display:flex;overflow-y:auto}.cat-row{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);inline-size:100%;color:var(--text);font:inherit;text-align:start;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;padding:.5rem .65rem;display:flex}.cat-row:hover{border-color:var(--border);background:var(--fill-1)}.cat-row.is-selected{border-color:var(--accent-line);background:var(--accent-tint)}.cat-row.is-current{border-color:var(--success)}.cat-row:disabled{opacity:.5;cursor:default}.cat-row-thumb{border-radius:var(--r-sm);object-fit:cover;background:var(--fill-2);flex:none;block-size:2.25rem;inline-size:2.25rem}.cat-row-thumb.is-blank{color:var(--accent-strong);background:linear-gradient(135deg, var(--accent-tint-strong), var(--fill-2));justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.cat-row-main{flex-direction:column;flex:auto;gap:.1rem;min-inline-size:0;display:flex}.cat-row-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cat-row-sub{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;color:var(--text-faint);align-items:center;gap:.35rem;font-size:.68rem;display:flex;overflow:hidden}.cat-row-sub .cat-format{align-self:center;padding:.05rem .35rem;font-size:.6rem}.cat-row-meta{color:var(--text-faint);white-space:nowrap;flex-direction:column;flex:none;align-items:flex-end;gap:.15rem;font-size:.7rem;display:flex}.cat-row .cat-badge{flex:none;position:static}.catalog-empty{justify-content:center;align-items:center;gap:var(--sp-2);min-block-size:8rem;padding:var(--sp-4);text-align:center;color:var(--text-faint);flex-direction:column;font-size:.85rem;display:flex}.catalog-empty-icon{color:var(--text-faint);opacity:.5}.town-characters{border-block-start:1px solid var(--border);margin-block-start:var(--sp-4);padding-block-start:var(--sp-4)}.town-characters-title{margin:0 0 var(--sp-3);font-size:.9rem;font-weight:700}.town-char-list{gap:var(--sp-2);scrollbar-width:thin;flex-direction:column;max-block-size:14rem;display:flex;overflow-y:auto}.town-char-row{justify-content:space-between;align-items:center;gap:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border);background:var(--fill-1);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);padding:.55rem .8rem;display:flex}.town-char-row:not(.is-disabled):hover{border-color:var(--border-strong);background:var(--fill-2)}.town-char-row.is-disabled{opacity:.55}.town-char-info{flex-direction:column;gap:.15rem;min-inline-size:0;display:flex}.town-char-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.town-char-summary{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.objects-footer{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.objects-count{color:var(--text-dim);margin-inline-end:auto;font-size:.82rem;font-weight:600}.world-policy{border-block-end:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.4rem;margin-block-end:var(--sp-3);padding-block-end:var(--sp-3);display:flex}.world-policy .seg{flex-wrap:wrap;max-inline-size:100%}.room,.settings{gap:var(--sp-4);flex-direction:column;display:flex}.room-field{flex-direction:column;gap:.4rem;display:flex}.room-current{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--fill-1);overflow-wrap:anywhere;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.settings-save{align-self:flex-start}.settings-guide{justify-content:flex-start;gap:var(--sp-2);inline-size:100%}.seg{border-radius:var(--r-md);border:1px solid var(--border);background:var(--fill-1);gap:.2rem;padding:.2rem;display:inline-flex}.seg-btn{border-radius:var(--r-sm);color:var(--text-dim);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.seg-btn:hover{color:var(--text)}.seg-btn.is-active{background:var(--accent-tint);color:var(--accent-strong)}.mobile-controls{display:none}@media (pointer:coarse){.mobile-controls{pointer-events:none;z-index:10;display:block;position:absolute;inset:0}.mobile-controls>*{pointer-events:auto}.controls-hint{display:none}}.joystick{border-radius:var(--r-pill);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:none;background:#ffffff0a;block-size:clamp(7rem,20vw,10rem);inline-size:clamp(7rem,20vw,10rem);position:absolute;inset-block-end:calc(clamp(3.5rem, 12vh, 7rem) + var(--sa-b));inset-inline-start:calc(clamp(1.5rem, 8vw, 3.5rem) + var(--sa-l))}.joystick-knob{border-radius:var(--r-pill);background:radial-gradient(circle at 32% 30%, var(--accent), var(--accent-strong));block-size:38%;inline-size:38%;box-shadow:var(--shadow-2);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.m-meta{flex-direction:column;gap:.7rem;display:flex;position:absolute;inset-block-start:calc(clamp(4.5rem, 12vh, 7rem) + var(--sa-t));inset-inline-end:calc(var(--sp-4) + var(--sa-r))}.m-actions{flex-direction:column-reverse;align-items:center;gap:1rem;display:flex;position:absolute;inset-block-end:calc(clamp(2.5rem, 8vh, 5rem) + var(--sa-b));inset-inline-end:calc(var(--sp-5) + var(--sa-r))}.m-btn{border-radius:var(--r-pill);background:var(--glass-1);border:1px solid var(--border-strong);block-size:3.5rem;inline-size:3.5rem;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .1s var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.m-btn:active{background:var(--accent-tint);border-color:var(--accent-line);transform:scale(.9)}.m-meta-btn{block-size:3rem;inline-size:3rem}.m-btn.is-on{background:var(--success-tint);border-color:var(--success);color:var(--success)}.m-jump{background:var(--accent-tint);border-color:var(--accent-line);block-size:5rem;inline-size:5rem;color:var(--accent-strong)}.m-sprint{block-size:3.75rem;inline-size:3.75rem}@media (width<=640px){.panel-backdrop,.menu-backdrop{place-items:stretch stretch;padding:0}.panel,.menu-dock{block-size:100%;max-block-size:none;inline-size:100%;border:none;border-radius:0;padding-block-start:calc(var(--sp-4) + var(--sa-t))}.menu-dock{padding:calc(var(--sp-5) + var(--sa-t)) var(--sp-4) calc(var(--sp-5) + var(--sa-b));flex-direction:column;justify-content:center;display:flex}.catalog{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));max-block-size:none}.catalog-list{max-block-size:none}.catalog-search{flex-basis:100%}.cat-row-meta>:nth-child(2){display:none}.chat-panel,.chat-toasts{inline-size:calc(100vw - 2rem)}.btn-text-collapse,.edit-pill-label{display:none}}@media (width<=1200px) and (pointer:fine){.controls-hint{gap:.5rem;font-size:.68rem;inset-inline-start:auto;inset-inline-end:calc(var(--sp-4) + var(--sa-r));transform:none}}@media (width<=768px){.controls-hint{display:none}}@media (pointer:coarse){.chat-toasts{inline-size:auto;inset-inline-end:calc(5rem + var(--sa-r))}.chat-panel{block-size:auto;inline-size:min(24rem, calc(100vw - var(--sp-4) - var(--sa-l) - 5rem - var(--sa-r)));inset-block-start:calc(4.25rem + var(--sa-t));inset-block-end:calc(clamp(3.5rem, 12vh, 7rem) + clamp(7rem, 20vw, 10rem) + var(--sa-b) + var(--sp-3))}}@media (pointer:coarse) and (orientation:landscape){.m-meta{flex-direction:row-reverse}.m-actions{flex-direction:row-reverse;align-items:center}.chat-toasts{inset-inline-end:calc(16rem + var(--sa-r))}.chat-panel{inline-size:min(24rem, calc(100vw - var(--sp-4) - var(--sa-l) - 16rem - var(--sa-r)))}}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes chat-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-panel{--slide-x:-20px}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .chat-panel{--slide-x:20px}@keyframes chat-panel-in{0%{opacity:0;transform:translateX(var(--slide-x))}to{opacity:1;transform:translate(0)}}@keyframes chat-panel-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateX(var(--slide-x))}}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes menu-item-in{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes voicewave{0%,to{block-size:30%}50%{block-size:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.resume-screen{padding:calc(var(--sp-4) + var(--sa-t)) calc(var(--sp-4) + var(--sa-r)) calc(var(--sp-4) + var(--sa-b)) calc(var(--sp-4) + var(--sa-l));background:radial-gradient(120% 90% at 50% 0%, var(--accent-tint), transparent 60%), var(--scrim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;display:grid;position:absolute;inset:0}.resume-card{align-items:center;gap:var(--sp-4);inline-size:min(22rem,100%);padding:var(--sp-6) var(--sp-5);border-radius:var(--r-xl);background:var(--glass-1);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));text-align:center;animation:modal-in var(--dur-slow) var(--ease-out) both;flex-direction:column;display:flex}.resume-spinner{border-radius:var(--r-pill);border:3px solid var(--fill-2);border-top-color:var(--accent);block-size:2rem;inline-size:2rem;animation:.8s linear infinite resume-spin}.resume-message{color:var(--text-dim);word-break:break-word;margin:0;font-size:.95rem;line-height:1.5}@keyframes resume-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.resume-spinner{animation:none}}.script-window-layer{pointer-events:none;z-index:8;position:absolute;inset:0}.script-window{max-block-size:min(70vh,32rem);max-inline-size:min(24rem,100vw - 2rem);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--glass-2);border:1px solid var(--border);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--text);pointer-events:auto;scrollbar-width:thin;font-size:.85rem;line-height:1.4;position:absolute;overflow:auto}.script-ui-text{white-space:pre-wrap;overflow-wrap:anywhere}.script-ui-image{border-radius:var(--r-sm);max-inline-size:100%;display:block}.script-ui-button{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--fill-2);color:inherit;font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease);padding:.4rem .8rem}.script-ui-button:hover{background:var(--fill-3)}.script-ui-stack{gap:var(--sp-2);flex-direction:column;display:flex}.script-ui-stack-row{flex-direction:row;align-items:center}.behaviour-dialog{gap:var(--sp-3);flex-direction:column;display:flex}.behaviour-dialog-label{color:var(--text-dim);font-size:.82rem;font-weight:600}.behaviour-dialog-textarea{resize:vertical;border-radius:var(--r-md);border:1px solid var(--border);background:var(--fill-1);min-block-size:5rem;color:var(--text);font:inherit;padding:.6rem .75rem;font-size:.9rem;line-height:1.5}.behaviour-dialog-textarea::placeholder{color:var(--text-faint)}.behaviour-dialog-textarea:focus{border-color:var(--accent-line);box-shadow:var(--ring);outline:none}.behaviour-dialog-textarea:disabled{opacity:.6}.behaviour-dialog-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.behaviour-dialog-generating{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;color:var(--text-dim);font-size:.88rem;display:flex}.behaviour-dialog-spinner{border-radius:var(--r-pill);border:3px solid var(--fill-2);border-top-color:var(--accent);flex:none;block-size:1.3rem;inline-size:1.3rem;animation:.8s linear infinite resume-spin}@media (prefers-reduced-motion:reduce){.behaviour-dialog-spinner{animation:none}}.behaviour-dialog-failure{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.behaviour-dialog-failure p{margin:0}.behaviour-dialog-details{inline-size:100%;color:var(--text-dim);font-size:.8rem}.behaviour-dialog-details summary{cursor:pointer;font-weight:600}.behaviour-dialog-details ul{margin:.4rem 0;padding-inline-start:1.2rem}.behaviour-dialog-details pre{border-radius:var(--r-sm);background:var(--fill-1);white-space:pre-wrap;word-break:break-word;max-block-size:10rem;margin:.4rem 0 0;padding:.5rem;font-size:.75rem;overflow:auto}.behaviour-dialog-approve{gap:var(--sp-3);flex-direction:column;display:flex}.behaviour-dialog-section-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);margin:0 0 .3rem;font-size:.72rem;font-weight:700}.behaviour-dialog-claim{border-radius:var(--r-md);background:var(--accent-tint);padding:.6rem .8rem}.behaviour-dialog-claim-text{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.behaviour-dialog-check{border-radius:var(--r-md);background:var(--fill-1);padding:.6rem .8rem}.behaviour-dialog-summary{scrollbar-width:thin;white-space:pre-wrap;word-break:break-word;max-block-size:14rem;font:inherit;color:var(--text-dim);margin:0;font-size:.85rem;line-height:1.6;overflow-y:auto}.edit-bar-npc-dialogue{text-align:start;padding:.4rem .7rem;font-size:.8rem}.edit-bar-npc-dialogue-state{color:var(--text-faint);font-size:.68rem;font-weight:500;display:block}.npc-lines-dialog{gap:var(--sp-3);flex-direction:column;display:flex}.npc-lines-field{flex-direction:column;gap:.35rem;display:flex}.npc-lines-field-label{color:var(--text-dim);font-size:.82rem;font-weight:600}.npc-lines-mode,.npc-lines-order{border-radius:var(--r-md);border:1px solid var(--border);background:var(--fill-1);color:var(--text);font:inherit;max-inline-size:20rem;padding:.5rem .65rem;font-size:.9rem}.npc-lines-help{color:var(--text-faint);margin:0;font-size:.8rem}.npc-lines-text{resize:vertical;border-radius:var(--r-md);border:1px solid var(--border);background:var(--fill-1);min-block-size:6rem;color:var(--text);font:inherit;padding:.6rem .75rem;font-size:.9rem;line-height:1.5}.npc-lines-text::placeholder{color:var(--text-faint)}.npc-lines-text:focus{border-color:var(--accent-line);box-shadow:var(--ring);outline:none}.npc-lines-hint{color:var(--text-faint);margin:0;font-size:.78rem}.npc-lines-count{color:var(--text-dim);margin:0;font-size:.8rem;font-weight:600}.npc-lines-empty-warn{margin:0}.npc-lines-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.graph-editor-panel{block-size:min(92vh,56rem);max-block-size:92vh;inline-size:min(96vw,92rem);position:relative}.graph-editor-toolbar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);border-block-end:1px solid var(--border);flex:none;display:flex}.graph-editor-status{border-radius:var(--r-pill);padding:.3rem .6rem;font-size:.8rem;font-weight:600}.graph-editor-status.is-ok{background:var(--success-tint);color:var(--success)}.graph-editor-status.is-warn{background:var(--danger-tint);color:var(--warn)}.graph-editor-toolbar-actions{gap:var(--sp-2);margin-inline-start:auto;display:flex}.graph-editor-body{flex:1;min-block-size:0;display:flex}.graph-editor-canvas-wrap{background:var(--fill-1);flex:1;min-inline-size:0;position:relative}.graph-editor-empty{block-size:100%;inline-size:100%;color:var(--text-faint);text-align:center;padding:var(--sp-5);place-items:center;font-size:.9rem;display:grid}.graph-editor-inspector{border-inline-start:1px solid var(--border);scrollbar-width:thin;inline-size:min(22rem,34vw);padding:var(--sp-4);flex:none;overflow-y:auto}.gcanvas{position:absolute;inset:0;overflow:hidden}.gcanvas-svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;block-size:100%;inline-size:100%;display:block}.gcanvas-bg{fill:#0000}.gcanvas-toolbar{gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-md);background:var(--glass-1);border:1px solid var(--border);box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:absolute;inset-block-end:var(--sp-3);inset-inline-end:var(--sp-3)}.gnode-rect{fill:var(--surface-solid);stroke:var(--border-strong);stroke-width:1.5px}.gnode-rect.is-selected{stroke:var(--accent);stroke-width:2.5px}.gnode-rect.has-error{stroke:var(--danger);stroke-width:2px}.gnode-header{fill:var(--fill-2);pointer-events:none}.gnode-rect-event~.gnode-header{fill:var(--accent-tint-strong)}.gnode-rect-value~.gnode-header{fill:var(--accent-tint)}.gnode-rect-unknown~.gnode-header{fill:var(--danger-tint)}.gnode-title{fill:var(--text);dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:700}.gnode-error-dot{fill:var(--danger);stroke:var(--glass-2);stroke-width:1.5px;pointer-events:none}.gnode-socket-label{fill:var(--text-dim);dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:10px}.gnode-socket-label-right{text-anchor:end}.gnode{cursor:pointer}.gsocket{cursor:crosshair}.gsocket-flow-in,.gsocket-flow-out{fill:var(--warn);stroke:var(--glass-2);stroke-width:1px}.gsocket-value-in,.gsocket-value-out{fill:var(--accent);stroke:var(--glass-2);stroke-width:1px}.gsocket.is-hover-legal{fill:var(--success);stroke:var(--success);stroke-width:2px}.gsocket.is-hover-illegal{fill:var(--danger);stroke:var(--danger);stroke-width:2px;cursor:not-allowed}.gwire-flow{fill:none;stroke:var(--warn);stroke-width:3px;stroke-linecap:round}.gwire-flow.gwire-back path{stroke:var(--warn);stroke-width:3.5px;stroke-dasharray:3 5}.gwire-value{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round}.gwire-flow-arrowhead{fill:var(--warn)}.gwire-loop-badge{fill:var(--glass-2);stroke:var(--warn);stroke-width:1.5px}.gwire-loop-icon{fill:var(--warn);stroke:none;text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700}.gwire-temp{opacity:.9;stroke-dasharray:4 4}.gwire-temp.is-legal{stroke:var(--success)}.gwire-temp.is-illegal{stroke:var(--danger);stroke-dasharray:2 4}.ginspector{gap:var(--sp-3);flex-direction:column;font-size:.85rem;display:flex}.ginspector-hint{color:var(--text-dim);margin:0}.ginspector-header{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ginspector-kind{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--r-pill);background:var(--fill-2);color:var(--text-dim);padding:.15rem .45rem;font-size:.68rem;font-weight:700}.ginspector-kind-event{background:var(--accent-tint-strong);color:var(--accent-strong)}.ginspector-kind-value{background:var(--accent-tint);color:var(--accent-strong)}.ginspector-op{word-break:break-word;margin:0;font-size:.95rem;font-weight:700}.ginspector-doc{color:var(--text-dim);margin:0;line-height:1.5}.ginspector-errors{padding-inline-start:0;list-style:none}.ginspector-errors li{margin:.2rem 0}.ginspector-section{gap:var(--sp-2);border-block-start:1px solid var(--border);flex-direction:column;padding-block-start:var(--sp-3);display:flex}.ginspector-section h4{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);margin:0;font-size:.72rem;font-weight:700}.ginspector-section-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.ginspector-field{flex-direction:column;gap:.3rem;display:flex}.ginspector-field label{color:var(--text);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.ginspector-required{text-transform:uppercase;color:var(--warn);font-size:.65rem;font-weight:700}.ginspector-wired{justify-content:space-between;align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);background:var(--accent-tint);color:var(--accent-strong);padding:.4rem .6rem;font-size:.8rem;display:flex}.ginspector-not-connected{color:var(--text-faint);font-size:.8rem}.ginspector-number{max-inline-size:8rem}.ginspector-vec3{gap:var(--sp-2);display:flex}.ginspector-vec3-field{color:var(--text-dim);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.ginspector-vec3-field .input{max-inline-size:5rem}.ginspector-var{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.ginspector-var-name{flex:6rem;min-inline-size:5rem}.ginspector-var-type{flex:none;inline-size:6rem}.ginspector-delete{align-self:flex-start}.gpalette-backdrop{z-index:5;background:var(--scrim);justify-content:center;padding-block-start:var(--sp-6);display:flex;position:absolute;inset:0}.gpalette{inline-size:min(28rem,90%);max-block-size:calc(100% - var(--sp-6));border-radius:var(--r-lg);background:var(--glass-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.gpalette-search{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-block-end:1px solid var(--border);color:var(--text-faint);flex:none;display:flex}.gpalette-search .input{flex:1}.gpalette-list{scrollbar-width:thin;padding:var(--sp-2);overflow-y:auto}.gpalette-empty{padding:var(--sp-4);text-align:center;color:var(--text-faint);font-size:.85rem}.gpalette-group-title{margin:var(--sp-2) var(--sp-2) .2rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);font-size:.7rem;font-weight:700}.gpalette-item{align-items:flex-start;gap:var(--sp-2);border-radius:var(--r-sm);inline-size:100%;color:var(--text);text-align:start;cursor:pointer;background:0 0;border:none;padding:.45rem .6rem;display:flex}.gpalette-item:hover{background:var(--fill-2)}.gpalette-kind{border-radius:var(--r-pill);background:var(--fill-3);flex:none;block-size:8px;inline-size:8px;margin-block-start:.4rem}.gpalette-kind-event,.gpalette-kind-flow{background:var(--warn)}.gpalette-kind-value{background:var(--accent)}.gpalette-item-body{flex-direction:column;gap:.1rem;min-inline-size:0;display:flex}.gpalette-item-op{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:600}.gpalette-item-doc{color:var(--text-dim);font-size:.75rem;line-height:1.4}@media (pointer:coarse){.hud-menu-btn,.hud-cluster>.voice-pill{display:none}.edit-bar{inline-size:max-content;max-inline-size:calc(100% - var(--sp-4) - var(--sp-4) - var(--sa-l) - var(--sa-r));max-block-size:calc(100% - 5.25rem - var(--sa-t) - var(--sa-b));overflow:auto}}@media (width<=640px){.panel,.panel-header,.panel-heading,.panel-body,.catalog,.catalog-browse,.catalog-preview,.menu-dock,.menu-grid,.menu-item{min-inline-size:0}.panel-body{padding:var(--sp-4);overscroll-behavior:contain;overflow-x:auto}.panel-heading,.panel-title,.panel-subtitle,.menu-item-label{overflow-wrap:anywhere}.menu-dock{overscroll-behavior:contain;justify-content:flex-start;overflow-y:auto}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-item-label{text-align:center;max-inline-size:100%}.field-row,.objects-footer,.town-char-row{flex-wrap:wrap}.field-row>.btn{flex:auto}.graph-editor-panel{block-size:100%;max-block-size:none;inline-size:100%}.graph-editor-toolbar{padding-inline:var(--sp-4);flex-wrap:wrap}.graph-editor-toolbar-actions{flex-wrap:wrap}.graph-editor-body{flex-direction:column}.graph-editor-canvas-wrap{flex:48%;min-block-size:12rem}.graph-editor-inspector{border-inline-start:0;border-block-start:1px solid var(--border);max-block-size:45%;inline-size:100%}.ginspector-vec3{flex-wrap:wrap}}
