:root{--panel-bg: #1a1a1a;--panel-fg: #ddd;--panel-mute-fg: #bbb;--panel-tab-bg: #0e0e0e;--panel-tab-fg: #888;--panel-tab-hover-fg: #ddd;--panel-tab-active-fg: #fff;--panel-tab-active-bg: rgba(253, 191, 125, .08);--panel-tab-indicator: #FDBF7D;--panel-h3-fg: #FDBF7D;--panel-hint-fg: #999;--panel-input-bg: #2a2a2a;--panel-input-fg: #eee;--panel-input-border: rgba(255,255,255,.15);--panel-section-border: 1px solid #333;--panel-splitter-bg: #0a0a0a;--panel-splitter-border: #2a2a2a;--panel-accent: #FDBF7D;--panel-primary-fg: #FDBF7D;--panel-color-scheme: dark;--panel-accent-soft: rgba(253, 191, 125, .35);--panel-font: "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--panel-h3-dash-color: #444;--panel-h3-underline-image: linear-gradient(to right, var(--panel-h3-dash-color) 7px, transparent 0);--panel-h3-underline-size: 12px 1px;--button-bg: rgba(255,255,255,.08);--button-fg: #eee;--button-border: rgba(255,255,255,.15);--button-hover-bg: rgba(255,255,255,.16);--panel-link: #FDBF7D;--panel-bg-image: none;--panel-bg-size: auto;--panel-bg-repeat: repeat;--panel-h3-font: inherit;--panel-h3-size: 12px;--panel-h3-weight: 700;--panel-strong-fg: #fff;--panel-note-fg: #9bb8d8;--panel-thumb-bg: #222;--panel-status-bg: rgba(0,0,0,.18);--ov-rgb: 255,255,255;--accent-rgb: 253,191,125;--danger-rgb: 220,80,80;--warn-fg: #ffb84d;--warn-box-fg: #ffd9d9;--warn-box-strong: #ff8080;--chrome-bg: #0e0e0e;--chrome-fg: #ccc;--chrome-mute-fg: #888;--chrome-link: #FDBF7D;--chrome-border: #333;--chrome-h1: #FDBF7D;--chrome-button-bg: #222;--chrome-button-fg: #ccc;--chrome-button-border: #3a3a3a;--chrome-button-hover-bg: #2a2a2a;--chrome-button-hover-border: #4a4a4a;--chrome-select-bg: #0e0e0e;--chrome-select-fg: #eee;--chrome-select-border: #444;--chrome-sc-fg: #888;--panel-accent-fg: #1a1a1a;--debug-bg: rgba(0,0,0,.4);--debug-fg: #6f6;--debug-err: #f66}[data-theme=light]{--panel-color-scheme: light;--panel-bg: #FBF9F1;--panel-fg: #4E1E00;--panel-mute-fg: #6B4A30;--panel-tab-bg: #E4DDD2;--panel-tab-fg: #8A7A6A;--panel-tab-hover-fg: #4E1E00;--panel-tab-active-fg: #4E1E00;--panel-tab-active-bg: #FBF9F1;--panel-tab-indicator: #FDBD76;--panel-h3-fg: #C56E3A;--panel-hint-fg: #8A7A6A;--panel-link: #C56E3A;--panel-input-bg: #FFFEF8;--panel-input-fg: #4E1E00;--panel-input-border: rgba(78, 30, 0, .2);--panel-section-border: 1px solid #D9D0C2;--panel-splitter-bg: #E4DDD2;--panel-splitter-border: #D9D0C2;--panel-accent: #FDBD76;--panel-primary-fg: #B35A24;--panel-h3-dash-color: #C5B5A0;--panel-strong-fg: #4E1E00;--panel-note-fg: #5A7690;--panel-thumb-bg: #EDE6DA;--panel-status-bg: rgba(78,30,0,.04);--ov-rgb: 78,30,0;--accent-rgb: 253,189,118;--warn-fg: #C56E3A;--warn-box-fg: #7A2A1A;--warn-box-strong: #C0392B;--chrome-bg: #E4DDD2;--chrome-fg: #4E1E00;--chrome-mute-fg: #8A7A6A;--chrome-link: #C56E3A;--chrome-border: #D9D0C2;--chrome-h1: #C56E3A;--chrome-button-bg: #FBF9F1;--chrome-button-fg: #4E1E00;--chrome-button-border: #D9D0C2;--chrome-button-hover-bg: #F5F1E8;--chrome-button-hover-border: #C5B5A0;--chrome-select-bg: #FFFEF8;--chrome-select-fg: #4E1E00;--chrome-select-border: #C5B5A0;--chrome-sc-fg: #A09080;--button-bg: rgba(78,30,0,.06);--button-fg: #4E1E00;--button-border: rgba(78,30,0,.2);--panel-accent-fg: #4E1E00;--debug-bg: rgba(0,0,0,.05);--debug-fg: #2E7D32;--debug-err: #C0392B;--button-hover-bg: rgba(78,30,0,.12)}[data-theme=fancy]{--panel-color-scheme: light;--panel-bg: #FFF5F8;--panel-fg: #6B4A6B;--panel-font: "M PLUS Rounded 1c", "Yu Gothic UI", system-ui, sans-serif;--panel-mute-fg: #9B7A9B;--panel-tab-bg: #FFE0EC;--panel-tab-fg: #B591B0;--panel-tab-hover-fg: #6B4A6B;--panel-tab-active-fg: #E94888;--panel-tab-active-bg: #FFFAFC;--panel-tab-indicator: #E94888;--panel-h3-fg: #E94888;--panel-hint-fg: #9B7A9B;--panel-link: #E94888;--panel-input-bg: #FFFEF8;--panel-input-fg: #6B4A6B;--panel-input-border: rgba(233, 72, 136, .25);--panel-section-border: 1px solid #FFD5E0;--panel-splitter-bg: #FFE0EC;--panel-splitter-border: #FFB6C1;--panel-accent: #B6E5DC;--panel-primary-fg: #D23A78;--panel-h3-dash-color: #FFB6C1;--panel-h3-font: "M PLUS Rounded 1c", "Yu Gothic UI", sans-serif;--panel-h3-size: 14px;--panel-h3-weight: 800;--panel-strong-fg: #6B4A6B;--panel-note-fg: #7A7AB0;--panel-thumb-bg: #FFE8F0;--panel-status-bg: rgba(233,72,136,.04);--ov-rgb: 233,72,136;--accent-rgb: 182,229,220;--warn-fg: #E94888;--warn-box-fg: #8A2A4A;--warn-box-strong: #D6336C;--chrome-bg: #FFE0EC;--chrome-fg: #6B4A6B;--chrome-mute-fg: #9B7A9B;--chrome-link: #E94888;--chrome-border: #FFB6C1;--chrome-h1: #E94888;--chrome-button-bg: #FFF5F8;--chrome-button-fg: #6B4A6B;--chrome-button-border: #FFD5E0;--chrome-button-hover-bg: #FFEAF1;--chrome-button-hover-border: #FFB6C1;--chrome-select-bg: #FFFEF8;--chrome-select-fg: #6B4A6B;--chrome-select-border: #FFB6C1;--chrome-sc-fg: #B591B0;--panel-accent-fg: #6B4A6B;--debug-bg: rgba(0,0,0,.05);--debug-fg: #2E7D32;--debug-err: #C0392B;--button-bg: rgba(233, 72, 136, .06);--button-fg: #6B4A6B;--button-border: rgba(233, 72, 136, .2);--button-hover-bg: rgba(233, 72, 136, .14)}[data-theme=handcraft]{--panel-color-scheme: light;--panel-bg: #FBF9F1;--panel-fg: #4E1E00;--panel-mute-fg: #6B4A30;--panel-tab-bg: #F0E6D2;--panel-tab-fg: #8A7A6A;--panel-tab-hover-fg: #4E1E00;--panel-tab-active-fg: #4E1E00;--panel-tab-active-bg: #FBF9F1;--panel-tab-indicator: #AAD7D9;--panel-h3-fg: #4E1E00;--panel-hint-fg: #8A7A6A;--panel-link: #4E1E00;--panel-input-bg: #FFFEF8;--panel-input-fg: #4E1E00;--panel-input-border: rgba(78, 30, 0, .3);--panel-section-border: 1.6px dashed #C5B5A0;--panel-splitter-bg: #E4DDD2;--panel-splitter-border: #4E1E00;--panel-accent: #AAD7D9;--panel-primary-fg: #2F6E72;--panel-h3-dash-color: #4E1E00;--panel-h3-underline-image: linear-gradient(to right, var(--panel-h3-dash-color) 9px, transparent 0);--panel-h3-underline-size: 15px 1.4px;--panel-bg-image: repeating-linear-gradient(0deg, transparent, transparent 4px, rgba(78,30,0,.035) 4px, rgba(78,30,0,.035) 5px), repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(78,30,0,.035) 4px, rgba(78,30,0,.035) 5px);--panel-h3-font: "M PLUS Rounded 1c", "Yu Gothic UI", system-ui, sans-serif;--panel-h3-size: 14px;--panel-h3-weight: 800;--panel-strong-fg: #4E1E00;--panel-note-fg: #3F7A7D;--panel-thumb-bg: #EDE6DA;--panel-status-bg: rgba(78,30,0,.04);--ov-rgb: 78,30,0;--accent-rgb: 170,215,217;--warn-fg: #C56E3A;--warn-box-fg: #7A2A1A;--warn-box-strong: #C0392B;--chrome-bg: #F0E6D2;--chrome-fg: #4E1E00;--chrome-mute-fg: #8A7A6A;--chrome-link: #AAD7D9;--chrome-border: #C5B5A0;--chrome-h1: #4E1E00;--chrome-button-bg: #FBF9F1;--chrome-button-fg: #4E1E00;--chrome-button-border: #C5B5A0;--chrome-button-hover-bg: #F5F1E8;--chrome-button-hover-border: #4E1E00;--chrome-select-bg: #FFFEF8;--chrome-select-fg: #4E1E00;--chrome-select-border: #C5B5A0;--chrome-sc-fg: #A09080;--button-bg: rgba(78,30,0,.06);--button-fg: #4E1E00;--button-border: rgba(78,30,0,.25);--panel-accent-fg: #4E1E00;--debug-bg: rgba(0,0,0,.05);--debug-fg: #2E7D32;--debug-err: #C0392B;--button-hover-bg: rgba(78,30,0,.14)}html,body{margin:0;padding:0;background:transparent;overflow:hidden;height:100vh;width:100vw}body.bg-checker{background-color:#2a2a2a;background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,12px 0}body{display:flex;align-items:stretch}#stage{position:relative;flex:1;min-width:0;height:100vh;display:flex;align-items:center;justify-content:center;order:0}#splitter{order:1}#panel{order:2}body.panel-left #panel{order:0}body.panel-left #stage{order:2}#avatar{max-width:100%;max-height:100vh;object-fit:contain;user-select:none;-webkit-user-drag:none;image-rendering:-webkit-optimize-contrast;transform-origin:50% 100%;will-change:transform}#avatar:not([src]){visibility:hidden}#avatar-fade{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100vh;object-fit:contain;user-select:none;-webkit-user-drag:none;image-rendering:-webkit-optimize-contrast;transform-origin:50% 100%;will-change:transform,opacity;pointer-events:none;display:none}#avatar-canvas{max-width:100%;max-height:100vh;object-fit:contain;user-select:none;image-rendering:-webkit-optimize-contrast;transform-origin:50% 100%;will-change:transform;display:none}#preview-release{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:4;margin:0;padding:6px 14px;font-size:12px;font-weight:700;font-family:var(--panel-font);background:var(--panel-accent);border-color:var(--panel-accent);color:var(--panel-accent-fg);box-shadow:0 4px 12px #0000004d}#preview-release:hover{filter:brightness(1.08);background:var(--panel-accent)}body.has-header{flex-direction:column}#app-header{flex:0 0 auto;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:8px 16px;background:var(--chrome-bg);border-bottom:1px solid var(--chrome-border);color:var(--chrome-fg);font-family:var(--panel-font);font-size:12px;position:relative;z-index:20}#app-header h1{margin:0;font-size:18px;color:var(--chrome-h1)}#app-header h1 a{color:inherit;text-decoration:none}#app-header h1 a:hover{text-decoration:underline}#app-header .tagline{margin:0;font-size:11px;color:var(--chrome-mute-fg)}#app-header .header-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}#app-header .header-actions>*{white-space:nowrap}#app-header .header-actions button{margin:0;padding:4px 10px;font-size:11px;background:var(--chrome-button-bg);color:var(--chrome-button-fg);border:1px solid var(--chrome-button-border);border-radius:3px}#app-header .header-actions button:not([disabled]):hover{background:var(--chrome-button-hover-bg);border-color:var(--chrome-button-hover-border)}#app-header .header-actions button.danger{background:rgba(var(--danger-rgb),.25);border-color:rgba(var(--danger-rgb),.5)}#app-header .sc{font-size:9.5px;color:var(--chrome-sc-fg);margin-left:4px;font-family:monospace}#app-header .sc:before{content:"("}#app-header .sc:after{content:")"}body.avatar-only #app-header,body.avatar-only .app-footer{display:none}.ui-theme-selector{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--chrome-mute-fg)}.ui-theme-selector select{background:var(--chrome-select-bg);color:var(--chrome-select-fg);border:1px solid var(--chrome-select-border);border-radius:3px;padding:2px 4px;font-size:11px}#app-main{flex:1;min-height:0;display:flex;align-items:stretch}#app-main #stage,#app-main #panel,#app-main #splitter{height:auto}#app-main #avatar,#app-main #avatar-fade,#app-main #avatar-canvas{max-height:100%}#panel{position:relative;flex:0 0 var(--panel-width, 680px);min-width:320px;background:var(--panel-bg);background-image:var(--panel-bg-image);background-size:var(--panel-bg-size);background-repeat:var(--panel-bg-repeat);color:var(--panel-fg);font-family:var(--panel-font);font-size:12px;line-height:1.5;z-index:10;display:flex;flex-direction:column;overflow:hidden}#panel.hidden{display:none}.hint a,.image-tips a{color:var(--panel-link)}#panel>*{zoom:var(--ui-zoom, 1)}.display-settings-wrap{position:relative;display:inline-flex}#displaySettingsBtn .chevron{display:inline-block;transition:transform .15s}#displaySettingsBtn.is-open .chevron{transform:rotate(180deg)}.display-settings-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:1000}.display-settings-content{color-scheme:var(--panel-color-scheme);background:var(--panel-bg);background-image:var(--panel-bg-image);border:var(--panel-section-border);border-radius:10px;font-family:var(--panel-font);padding:16px 20px;min-width:260px;color:var(--panel-fg);font-size:13px;white-space:normal;box-shadow:0 8px 24px #00000059}.display-settings-content h3{margin:14px 0 4px;font-size:13px;color:var(--panel-h3-fg)}.display-settings-content .row{display:flex;gap:8px;align-items:center;margin:8px 0}.display-settings-content h3:first-child{margin-top:0}.display-settings-content .row label{flex:0 0 90px}#panel-toggle{cursor:pointer;font-size:11px;color:var(--chrome-mute-fg)}#panel-toggle:hover{color:var(--chrome-fg)}#panel-status{padding:8px 14px;background:linear-gradient(var(--panel-status-bg),var(--panel-status-bg)),var(--panel-bg);border-bottom:1px solid rgba(var(--ov-rgb),.08)}#panel-status button{margin:0}.status-mic-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.status-meter-row{display:flex;align-items:center;gap:8px}.status-meter-row .status-label{flex:0 0 auto;font-size:11px;color:var(--panel-mute-fg)}.status-meter-row #volMeter{flex:1;margin-top:0}.status-meter-row #volText{flex:0 0 36px;text-align:right;font-family:monospace;color:var(--panel-fg);font-size:11px}#panel-tabs{display:flex;border-bottom:var(--panel-section-border);background:var(--panel-tab-bg)}.tab{flex:1;padding:8px 4px;background:transparent;border:none;color:var(--panel-tab-fg);cursor:pointer;font-size:12px;border-bottom:2px solid transparent}.tab:hover{color:var(--panel-tab-hover-fg)}.tab.active{color:var(--panel-tab-active-fg);border-bottom-color:var(--panel-tab-indicator);background:var(--panel-tab-active-bg)}#panel-body{padding:14px 20px;overflow-y:auto;flex:1;color-scheme:var(--panel-color-scheme, dark)}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel>button,#mouth-tiers-section>button{margin-bottom:18px}#rig-add-mouth{margin:10px 0 4px}.preview-pick{font-size:11px;padding:2px 8px;margin:0}#preview-check{margin:0 0 10px}#preview-check .preview-check-label{font-size:11px;color:var(--panel-fg)}#preview-check .preview-check-note{margin-left:4px;color:var(--panel-hint-fg)}#preview-check .seg-toggle{margin-top:6px;flex-wrap:wrap;gap:1px;background:var(--panel-input-border)}#preview-check .seg-toggle button{flex:1 1 6em;white-space:nowrap}#preview-check .seg-toggle button+button{border-left:none}.preset-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 10px 8px}.preset-pick{position:relative;min-width:54px;height:48px;padding:5px 4px 0;margin:0;border:1px solid rgba(var(--ov-rgb),.18);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.preset-pick:hover{border-color:var(--panel-accent)}.preset-pick.active{outline:2px solid var(--panel-accent)}.preset-pick .pic{width:100%;height:22px;background:center / contain no-repeat}.mirror{transform:scaleX(-1)}.preset-pick span{font-size:9px;line-height:1.2;padding:1px 3px;margin-bottom:3px;border-radius:3px;white-space:nowrap;color:#fff;background:#0000008c}.side-ask-pic{width:160px;height:160px;margin:0 auto 12px;border-radius:4px;background:center / contain no-repeat}#preset-zoom{display:none;position:fixed;width:160px;height:160px;background:center / contain no-repeat;border:1px solid rgba(0,0,0,.25);border-radius:6px;box-shadow:0 6px 18px #00000059;pointer-events:none;z-index:2000}#panel-body h3{font-family:var(--panel-h3-font);font-size:var(--panel-h3-size);font-weight:var(--panel-h3-weight);margin:22px 0 8px;color:var(--panel-h3-fg);padding-bottom:5px;background-image:var(--panel-h3-underline-image);background-size:var(--panel-h3-underline-size);background-repeat:repeat-x;background-position:bottom left}.tab-panel>h3:first-child{margin-top:0}#panel h3,#panel label,#panel .hint,#panel .tab,#panel button,#panel option,#panel p,#panel span,#panel th,#panel td,#panel .image-tips,#panel .slot-name,#panel .filename,#panel .rig-part-head,#panel .rig-part-empty,#panel .yosomi-title,#panel .preview-check-label,#panel .error,#panel #bulk-drop strong,#panel #rig-bulk-drop strong,#app-header h1,#app-header .tagline,#app-header button,#app-header .ui-theme-selector span,#app-header #panel-toggle,.display-settings-content h3,.display-settings-content label,.display-settings-content .hint,.app-modal-text,.app-modal-btn,.app-footer small{transform:rotate(.03deg)}.app-footer small{display:inline-block}.tab-panel>label{display:block}.hint{margin:8px 0 12px;color:var(--panel-hint-fg);font-size:11px;line-height:1.7}.tab-panel>div.hint:not(.warn-box){margin:16px 0 2px}.image-tips{background:var(--panel-tab-active-bg);border:1px solid rgba(var(--accent-rgb),.25);border-radius:4px;padding:8px 10px;margin-bottom:12px;color:var(--panel-fg);font-size:11px;line-height:1.7}.image-tips strong{color:var(--panel-strong-fg)}.hint strong.warn{color:var(--warn-fg);font-weight:700}.hint.warn-box{background:#ff66661f;border:1px solid rgba(255,102,102,.6);border-radius:4px;padding:10px 12px;color:var(--warn-box-fg);font-size:12px}.hint.warn-box strong.warn{display:block;color:var(--warn-box-strong);font-size:13px;margin-bottom:2px}.hint code,.image-tips code{background:rgba(var(--ov-rgb),.08);padding:1px 5px;border-radius:3px;white-space:nowrap}.hint code.long,.image-tips code.long{white-space:normal;overflow-wrap:anywhere}.row{display:flex;align-items:center;gap:8px;margin:5px 0}.row label.grow{flex:1}.row label{flex:0 0 110px;font-size:11px;color:var(--panel-mute-fg)}.row input[type=range]{flex:1;min-width:50px}.row select,.row input[type=number]{flex:1;background:var(--panel-input-bg);color:var(--panel-input-fg);border:1px solid var(--panel-input-border);border-radius:3px;padding:3px 6px;font-size:11px}#panel select option{background:var(--panel-input-bg);color:var(--panel-input-fg)}.row .val{flex:0 0 50px;text-align:right;font-family:monospace;color:var(--panel-fg);font-size:11px}#panel input.val:focus{outline:1px solid var(--panel-accent)}#panel .val-wrap{display:inline-flex;align-items:stretch;flex:0 0 auto;height:22px}#panel .val-wrap:has(>input[style*="display: none"]){display:none}#panel .val-wrap>*{box-sizing:border-box;height:22px;margin:0;vertical-align:middle;font-family:inherit}#panel .val-wrap input[type=number].val{flex:0 0 42px;width:42px;min-width:0;border-radius:0;border-top:1px solid var(--panel-input-border);border-bottom:1px solid var(--panel-input-border);border-left:none;border-right:none;background:var(--panel-input-bg);color:var(--panel-input-fg);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;padding:0 3px;text-align:right;font-family:monospace;font-size:12px}#panel .val-wrap input[type=number].val::-webkit-inner-spin-button,#panel .val-wrap input[type=number].val::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#panel .val-step{display:inline-flex;align-items:center;justify-content:center;width:22px;padding:0;border:1px solid var(--panel-input-border);background:var(--panel-input-bg);color:var(--panel-input-fg);font-size:13px;line-height:1;cursor:pointer;user-select:none}#panel .val-step:hover{filter:brightness(1.15)}#panel .val-step:active{filter:brightness(.9)}#panel .val-step.minus{border-radius:3px 0 0 3px}#panel .val-step.plus{border-radius:0 3px 3px 0}.row input[type=color]{flex:0 0 60px;height:26px;background:transparent;border:1px solid var(--panel-input-border);border-radius:3px;cursor:pointer;padding:2px}#volMeter{position:relative;width:100%;height:10px;background:rgba(var(--ov-rgb),.12);box-shadow:inset 0 0 0 1px rgba(var(--ov-rgb),.15);margin-top:6px;border-radius:4px;overflow:hidden}#volMarks{position:absolute;inset:0;pointer-events:none}#volMarks .mark{position:absolute;top:0;bottom:0;width:1px;background:rgba(var(--ov-rgb),.55)}#volMarks .mark.silence{width:2px;background:var(--warn-fg)}#volBar{height:100%;background:linear-gradient(to right,#4f4,#ff4,#f44);width:0;transition:width .05s linear}button{background:var(--button-bg);color:var(--button-fg);border:1px solid var(--button-border);border-radius:4px;padding:5px 10px;cursor:pointer;font-size:11px;margin-right:4px;margin-top:4px}button:hover{background:var(--button-hover-bg)}button:disabled{opacity:.5;cursor:default}button:disabled:hover{background:var(--button-bg)}button.primary{background:rgba(var(--accent-rgb),.25);border-color:var(--panel-primary-fg);color:var(--panel-primary-fg);font-weight:700}button.primary:hover{background:rgba(var(--accent-rgb),.4)}button.danger{background:rgba(var(--danger-rgb),.25);border-color:rgba(var(--danger-rgb),.5)}.expression-card{background:rgba(var(--ov-rgb),.04);padding:10px 12px;border-radius:4px;margin:8px 0;display:flex;align-items:stretch;gap:12px}.expression-card .thumb{width:48px;height:48px;background:var(--panel-thumb-bg);border-radius:3px;background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0;cursor:pointer}.expression-card .thumb.empty:before,.exp-part-thumb.empty:before,.image-slot .thumb.empty:before{content:"+";color:var(--panel-hint-fg);display:flex;align-items:center;justify-content:center;height:100%}.expression-card .thumb.empty:before{font-size:26px}.expression-card .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;container-type:inline-size}.card-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.card-head>:first-child,.card-head>.thumb+*{flex:1 1 8em;min-width:0}.card-head>.thumb{flex:0 0 auto}.card-actions{margin-left:auto;display:flex;gap:4px}.card-actions button{padding:2px 8px;font-size:10px;white-space:nowrap}.expression-card .yosomi-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.expression-card .exp-label{min-width:0;background:var(--panel-input-bg);color:var(--panel-input-fg);border:1px solid var(--panel-input-border);border-radius:3px;padding:5px 8px;font-size:12px}.expression-card .hotkey-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.expression-card .hotkey-row>button{flex:0 0 auto;white-space:nowrap}.row-actions{margin-left:auto;display:flex;gap:4px}.row-actions button{white-space:nowrap}.expression-card .hotkey-row>.seg-toggle,.expression-card .hotkey-row>.anim-select{flex:1 1 12em}.expression-card .seg-toggle button{white-space:normal;min-width:0;line-height:1.3}.exp-sub>.row,.expression-card .body>.row{margin:0}.exp-sub>.row label,.expression-card .body>.row label{flex:0 0 92px;font-size:11px;color:var(--panel-mute-fg)}.expression-card .pattern-row{flex-wrap:wrap}.expression-card .pattern-del{padding:1px 5px;font-size:10px}.expression-card .pattern-status{flex:0 0 auto;font-size:11px;color:var(--panel-hint-fg)}.expression-card .pattern-list{display:flex;flex-wrap:wrap;gap:4px;flex:1}.expression-card .hotkey-btn{min-width:44px;padding:5px 10px;font-family:monospace;font-size:11px}.expression-card .hotkey-btn.capturing{background:#fbb;color:#000;border-color:#f88}.expression-card .record-btn{padding:4px 10px;font-size:11px;margin:0}.expression-card .record-btn.recording{background:#d33;color:#fff;border-color:#f55;animation:recordPulse .8s ease-in-out infinite}@keyframes recordPulse{0%,to{opacity:1}50%{opacity:.5}}.expression-card .field-label{flex:0 0 92px;font-size:11px;color:var(--panel-mute-fg)}.expression-card .anim-select{flex:1;min-width:0;background:var(--panel-input-bg);color:var(--panel-input-fg);border:1px solid var(--panel-input-border);border-radius:3px;padding:5px 6px;font-size:12px}.exp-parts{display:flex;flex-direction:column;gap:5px}.exp-parts:empty{display:none}.brows-check{display:flex;align-items:center;gap:6px;margin-top:4px}.brow-block{margin:4px 0 10px}.exp-part,.exp-sub{margin:0 0 0 100px;padding:2px 0 2px 10px;border-left:2px solid var(--panel-input-border);display:flex;flex-direction:column;gap:5px}.expression-card button{margin:0}.exp-part-thumb{width:36px;height:36px;flex:0 0 auto;background:var(--panel-thumb-bg) center / contain no-repeat;border-radius:3px;cursor:pointer}.exp-part-thumb.empty:before{font-size:20px}.exp-part-thumb.empty,.expression-card .thumb.empty{background:rgba(var(--ov-rgb),.04);outline:1px dashed rgba(var(--ov-rgb),.25);outline-offset:-1px}.preview-pick.active{background:rgba(var(--accent-rgb),.25);border-color:var(--panel-accent);color:var(--panel-h3-fg)}.exp-part .preset-row{margin:0}@container (max-width: 380px){.expression-card .field-label,.exp-sub>.row label,.expression-card .body>.row label{flex-basis:100%}.expression-card .body>.row,.exp-sub>.row{flex-wrap:wrap}.expression-card .row input[type=range]{flex:1 1 0;min-width:0}.exp-part,.exp-sub{margin-left:8px}}.image-slot{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0;padding:6px;background:rgba(var(--ov-rgb),.04);border-radius:4px}.image-slot .thumb{width:36px;height:36px;background:var(--panel-thumb-bg);border-radius:3px;background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0;cursor:pointer}.image-slot .thumb.empty:before{font-size:22px}.image-slot .label-area{flex:1;min-width:0}.image-slot .slot-name{font-size:11px;color:var(--panel-fg);font-weight:600;white-space:nowrap}.image-slot .label-area{min-width:5em}.image-slot .actions{margin-left:auto;display:flex;gap:4px}.image-slot .filename{font-size:10px;color:var(--panel-hint-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-slot .actions button{padding:2px 6px;font-size:10px;margin:0;white-space:nowrap}.mouth-tier{background:rgba(var(--ov-rgb),.04);padding:8px;border-radius:4px;margin:6px 0}.mouth-tier-header{display:flex;align-items:center;gap:4px;margin-bottom:2px;flex-wrap:wrap}.mouth-tier .image-slot{margin:0;padding:0;background:none}.mouth-tier-note{font-size:10px;color:var(--panel-note-fg);margin:-2px 0 6px}.mouth-tier-images{display:flex;flex-wrap:wrap;gap:4px}.mouth-tier-images .img-thumb{width:40px;height:40px;background:var(--panel-thumb-bg);border-radius:3px;background-size:contain;background-position:center;background-repeat:no-repeat;position:relative;cursor:pointer}.mouth-tier-images .img-thumb .remove{position:absolute;top:-4px;right:-4px;background:#c44;color:#fff;border-radius:50%;width:14px;height:14px;font-size:9px;line-height:14px;text-align:center;cursor:pointer}.mouth-tier-images .add-img{width:40px;height:40px;background:rgba(var(--ov-rgb),.04);border:1px dashed rgba(var(--ov-rgb),.2);border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--panel-hint-fg);font-size:22px;cursor:pointer}#debug{margin-top:6px;padding:4px 6px;background:var(--debug-bg);color:var(--debug-fg);font-size:10px;overflow-wrap:anywhere;border-radius:3px;min-height:14px;line-height:1.4}#debug .error{color:var(--debug-err)}#debug:empty{display:none}#panel-body::-webkit-scrollbar{width:8px}#panel-body::-webkit-scrollbar-thumb{background:rgba(var(--ov-rgb),.15);border-radius:4px}#panel-body::-webkit-scrollbar-track{background:transparent}@media (max-width: 1300px){#panel{flex:0 0 var(--panel-width, 580px)}}@media (max-width: 1100px){#panel{flex:0 0 var(--panel-width, 480px)}}@media (max-width: 900px){#panel{flex:0 0 var(--panel-width, 400px)}}@media (max-width: 720px){body,#app-main{flex-direction:column}#app-main #stage,body.panel-left #app-main #stage{order:0;flex:0 0 240px;height:240px;border-bottom:1px solid var(--panel-splitter-border)}#app-main #panel,body.panel-left #app-main #panel{order:2;flex:1 1 auto;width:100%;min-width:0;height:auto;min-height:0}#splitter{display:none}}[data-theme=fancy] .row label,[data-theme=handcraft] .row label{flex-basis:128px}@media (max-width: 400px){.row label{flex:0 0 84px}}.status-mic-row #audioDevice{flex:1;min-width:0;background:var(--panel-input-bg);color:var(--panel-input-fg);border:1px solid var(--panel-input-border);border-radius:3px;padding:3px 6px;font-size:11px}.status-tools-row{display:flex;align-items:center;gap:6px;margin-top:6px}.status-tools-row button{flex:0 0 auto;margin:0;padding:3px 8px}.status-tools-row button.calibrating{background:rgba(var(--accent-rgb),.4);border-color:rgba(var(--accent-rgb),.7)}#testToggleLabel{flex:0 0 auto;font-size:11px;color:var(--panel-mute-fg);cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:3px}#testVolume{flex:1;min-width:40px}#testVolume:disabled{opacity:.35}#tierLabel,#vowelLabel{flex:0 0 auto;min-width:72px;text-align:right;font-size:10px;color:var(--panel-note-fg);font-family:monospace;white-space:nowrap;overflow:hidden}#tierLabel,#vowelLabel{margin-left:auto}.status-note{font-size:10px;color:var(--panel-note-fg)}#calib-box{margin-top:8px;padding:10px 12px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:4px;background:rgba(var(--accent-rgb),.06)}.calib-step{font-weight:700;color:var(--panel-h3-fg);margin-bottom:2px}.calib-text{font-size:11px;line-height:1.7}.calib-progress{height:6px;margin:8px 0 4px;border-radius:3px;background:var(--panel-thumb-bg);overflow:hidden}#calibBar{height:100%;width:0;background:var(--panel-accent)}.calib-result table{margin:6px 0;border-collapse:collapse;font-size:11px}.calib-result th{padding:1px 12px 1px 0;text-align:left;font-weight:400;color:var(--panel-mute-fg)}.calib-result p{margin:4px 0 0;font-size:11px;color:var(--panel-hint-fg)}.calib-actions{margin-top:6px}#volMarks .mark.preview{width:2px;background:#5ab0ff}.app-version{display:block;margin-top:24px;text-align:right;font-size:10px;color:var(--panel-mute-fg);font-variant-numeric:tabular-nums;opacity:.7}#bulk-drop,#rig-bulk-drop{border:1px dashed rgba(var(--accent-rgb),.45);border-radius:6px;padding:10px 12px;margin-bottom:12px;background:rgba(var(--accent-rgb),.05);color:var(--panel-fg);font-size:11px;line-height:1.6;text-align:center}#bulk-drop strong,#rig-bulk-drop strong{display:block;color:var(--panel-strong-fg);margin-bottom:4px}#bulk-drop span,#rig-bulk-drop span{color:var(--panel-note-fg);font-size:10px}#bulk-drop>span,#rig-bulk-drop>span{display:block}#rig-bulk-drop span.warn{display:block;color:var(--warn-fg);font-size:11px;font-weight:700;margin-bottom:4px}#bulk-drop .bulk-names,#rig-bulk-drop .bulk-names{margin:6px auto;border-collapse:collapse;text-align:left;font-size:10px}#bulk-drop .bulk-names th,#rig-bulk-drop .bulk-names th{padding:1px 10px 1px 0;color:var(--panel-fg);font-weight:400;white-space:nowrap;vertical-align:top}#bulk-drop .bulk-names td,#rig-bulk-drop .bulk-names td{padding:1px 0;color:var(--panel-note-fg)}#bulk-drop code,#rig-bulk-drop code{background:rgba(var(--ov-rgb),.08);padding:0 3px;border-radius:2px;white-space:nowrap}.drop-target{outline:2px solid var(--panel-accent);outline-offset:1px;background-color:rgba(var(--accent-rgb),.18)}#bulk-drop.drop-target,#rig-bulk-drop.drop-target{border-style:solid;border-color:var(--panel-accent)}#rig-note{color:var(--warn-box-strong)}#rig-note:empty{display:none}#rig-edit{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;background:#15161a;color:#eee;font-family:var(--panel-font);font-size:12px;--accent-rgb: 253, 191, 125;--panel-primary-fg: #FDBF7D;--panel-accent: #FDBF7D}#rig-edit.hidden{display:none}#rig-edit-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}#rig-edit-bar button:not(.primary){background:#ffffff14;color:#eee;border-color:#ffffff40}#rig-edit-bar button{flex:0 0 auto;height:26px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}#rig-guide{flex:1 1 auto;min-width:0;color:#aaa}#rig-zoom-in,#rig-zoom-out{min-width:28px}#rig-zoom-val{font-family:monospace;min-width:44px;text-align:center}#rig-stage{flex:1;min-width:0;overflow:hidden}.edit-key-help{position:absolute;left:8px;bottom:8px;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.edit-key-help-list{display:grid;grid-template-columns:max-content 1fr;column-gap:8px;row-gap:2px;margin:0;padding:8px 10px;list-style:none;border-radius:10px;background:#000000c7;color:#fff;font-size:11px;line-height:1.6;pointer-events:none;box-shadow:0 2px 8px #00000059}.edit-key-help-list li{display:contents}.edit-key-help-list li>span{white-space:nowrap}.edit-key-help-list kbd{text-align:center;padding:1px 6px;border-radius:4px;background:#ffffff24;color:var(--panel-accent, #FDBF7D);font-family:inherit;font-size:11px;font-weight:700}.edit-key-help-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:999px;background:#000000c7;color:var(--panel-accent, #FDBF7D);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #00000059}.edit-key-help-btn:hover{background:#000000e6}.edit-key-help{pointer-events:none}.edit-key-help-btn{pointer-events:auto}#rig-edit .edit-key-help-list.for-decor,#rig-edit.decor-mode .edit-key-help-list.for-area{display:none}#rig-edit.decor-mode .edit-key-help-list.for-decor{display:grid}.edit-key-help.is-closed .edit-key-help-list{display:none!important}@media (hover: none),(max-width: 768px){.edit-key-help-list .is-key-only{display:none}}#rig-canvas{display:block;width:100%;height:100%;touch-action:none}#mode-build .section-clear{display:block;margin:10px 0 6px auto}.section-tail{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.rig-area-tail{margin-top:10px}#rig-parts-template{margin:10px 0 14px}.expression-card.is-selected{outline:2px solid var(--panel-accent);outline-offset:-2px}.decor-exps{display:flex;flex-wrap:wrap;gap:4px 12px}.decor-check{display:flex;align-items:center;gap:6px;font-size:12px}.rig-part{margin-top:8px;padding:8px 10px;border:1px solid rgba(var(--ov-rgb),.1);border-radius:4px}.rig-part.unset{opacity:.75}#rig-side-wrap{container-type:inline-size}@container (min-width: 560px){#rig-side-parts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"browL browR" "eyeL eyeR" "mouth mouth";column-gap:8px}#rig-side-parts .rig-part{min-width:0}#rig-side-parts .row label{flex-basis:64px}.rig-part-browL{grid-area:browL}.rig-part-browR{grid-area:browR}.rig-part-eyeL{grid-area:eyeL}.rig-part-eyeR{grid-area:eyeR}.rig-part-mouth{grid-area:mouth;justify-self:center;width:calc(50% - 4px);box-sizing:border-box}}.rig-part-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12px;color:var(--panel-fg)}.rig-part-head button{font-size:11px;padding:2px 8px;white-space:nowrap}.rig-part-tools{display:flex;gap:6px;margin-left:auto}[data-rig-pick].active{background:var(--panel-accent);border-color:var(--panel-accent);color:var(--panel-accent-fg)}.rig-part-empty{color:var(--panel-hint-fg);font-size:11px;margin-top:4px}.rig-swatch{width:10px;height:10px;border-radius:2px;flex:0 0 auto;border:1px solid rgba(var(--ov-rgb),.35)}#image-mode,#mouth-mode,#rig-base-state .seg-toggle{margin-bottom:6px}#image-mode button,#mouth-mode button,#rig-base-state button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 8px;white-space:normal;line-height:1.35}#image-mode .mode-name,#mouth-mode .mode-name,#rig-base-state .mode-name{font-weight:700;font-size:12px}#image-mode .mode-need,#mouth-mode .mode-need,#rig-base-state .mode-need{font-size:10px;font-weight:400}.seg-toggle button,.mode-need{word-break:auto-phrase}body.image-build .for-images,body:not(.image-build) .for-build{display:none}.seg-toggle{display:flex;flex:1;border:1px solid var(--panel-input-border);border-radius:4px;overflow:hidden}.seg-toggle button{flex:1;background:var(--panel-input-bg);color:var(--panel-mute-fg);border:none;border-radius:0;margin:0;padding:5px 8px;cursor:pointer;font-family:inherit;font-size:12px;white-space:nowrap}.seg-toggle button:hover{filter:brightness(1.25)}.seg-toggle button.active{background:var(--panel-accent);color:var(--panel-accent-fg);font-weight:700}.seg-toggle button+button{border-left:1px solid var(--panel-input-border)}#splitter{flex:0 0 6px;background:var(--panel-splitter-bg);border-left:1px solid var(--panel-splitter-border);border-right:1px solid var(--panel-splitter-border);cursor:col-resize;position:relative;transition:background .15s;user-select:none}#splitter:hover{background:var(--panel-accent);opacity:.8}#splitter.dragging{background:var(--panel-accent);opacity:1}#splitter:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:rgba(var(--ov-rgb),.15);border-radius:1px}#panel.hidden+#splitter,#splitter:has(+#panel.hidden){display:none}body.splitter-dragging,body.splitter-dragging *{cursor:col-resize!important;user-select:none}.asset-place{margin:-2px 0 10px;padding:0 4px 0 36px}.asset-place-reset{font-size:11px;margin:2px 0 0}.place-name{font-size:10px;color:var(--panel-mute-fg);margin:6px 0 0 36px}.image-slot .actions button.active,.mouth-tier-header button.active,.card-actions button.active,.rig-part-head button.active:not([data-rig-pick]),.expression-card .hotkey-row>button.active{background:var(--panel-accent-soft);border-color:var(--panel-accent);color:var(--panel-h3-fg)}.mouth-tier-header button{flex:0 0 auto;padding:2px 6px;font-size:10px;margin:0;white-space:nowrap}.mouth-tier-name{flex:1 1 auto;font-size:12px;font-weight:600;white-space:nowrap}#mouth-tiers-section.by-vowel .tier-volume,#mouth-tiers-section.by-vowel .mouth-tier-note,#mouth-tiers-section.by-vowel .remove-tier{display:none}.app-modal-overlay{position:fixed;inset:0;z-index:9999;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px}.app-modal{background:var(--panel-bg);color:var(--panel-fg);color-scheme:var(--panel-color-scheme);border:1px solid var(--panel-input-border);border-radius:10px;padding:20px;width:360px;max-width:100%;box-shadow:0 10px 40px #00000080;font-family:var(--panel-font)}.app-modal-text{font-size:13px;margin:0 0 12px;line-height:1.6;white-space:pre-line;max-height:60vh;overflow-y:auto}.app-modal-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.app-modal-btn{margin:0;padding:8px 16px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;border:1px solid var(--panel-input-border);background:var(--panel-input-bg);color:var(--panel-fg)}.app-modal-btn-primary{background:var(--panel-accent);color:var(--panel-accent-fg);border-color:transparent}.app-modal-btn-danger{background:#b0402c;color:#fff;border-color:transparent}.app-modal-btn:hover{filter:brightness(1.1)}.app-footer{flex:0 0 auto;padding:4px 16px;background:var(--chrome-bg);border-top:1px solid var(--chrome-border);color:var(--chrome-mute-fg);font-size:10px;text-align:center}.app-footer a{color:var(--chrome-link);text-decoration:none}.app-footer a:hover{text-decoration:underline}
