*{box-sizing:border-box}body{font-family:segoe ui,system-ui,sans-serif}#panel-left,#panel-right{flex-shrink:0}#canvas-wrapper{min-width:0}#three-canvas{display:block;width:100%;height:100%;cursor:crosshair;outline:none}#three-canvas.dragging-bone{cursor:grabbing}#three-canvas.camera-mode{cursor:grab}.axis-btn{min-width:36px;font-weight:700;transition:all .15s}.axis-btn.active[data-axis=x]{background-color:#dc3545;border-color:#dc3545;color:#fff}.axis-btn.active[data-axis=y]{background-color:#198754;border-color:#198754;color:#fff}.axis-btn.active[data-axis=z]{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.bone-group-header{font-weight:700;color:#888;padding:6px 6px 2px;margin-top:4px;border-top:1px solid #333}.bone-group-header:first-child{border-top:none;margin-top:0}.bone-group-header,.bone-finger-header{display:flex;align-items:center;justify-content:space-between;gap:2px}.bone-header-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bone-finger-header{color:#b5b5b5;padding:2px 2px 0 6px;font-size:.875rem}.bone-finger-joints{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px 4px 4px}.bone-finger-joints .bone-item{min-width:0;padding:3px 0;text-align:center}.bone-tools{display:inline-flex;flex-shrink:0;gap:1px}.bone-finger-header .bone-tool-btn{padding:2px 3px}.bone-tool-btn{background:0 0;border:0;border-radius:4px;color:inherit;cursor:pointer;line-height:1;padding:2px 4px}.bone-tool-btn:hover{background:rgba(255,255,255,.15);color:#fff}.bone-group{display:flex;flex-direction:column}.bone-pair{display:grid;grid-template-columns:1fr 1fr;column-gap:4px;margin-top:4px;border-top:1px solid #333}.bone-pair .bone-group-header{border-top:none;margin-top:0;padding-left:6px;padding-right:0;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1px}.bone-pair .bone-group-header .bone-header-label{max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.bone-pair .bone-group-header .bone-tools{margin-left:-4px;margin-bottom:2px}.bone-pair .bone-item{min-width:0;padding:4px 6px;overflow:hidden;text-overflow:ellipsis}.bone-pair .bone-finger-header{flex-wrap:wrap;justify-content:flex-start;column-gap:2px}.bone-pair .bone-finger-header .bone-header-label{flex:none;max-width:100%;overflow:visible;text-overflow:clip}.bone-eye-pair{display:grid;grid-template-columns:1fr 1fr;column-gap:4px}.bone-eye-pair .bone-item{min-width:0;padding:4px 6px;overflow:hidden;text-overflow:ellipsis}.bone-item{padding:4px 8px;border-radius:4px;cursor:pointer;white-space:nowrap;user-select:none;transition:background .1s;color:#ccc}.bone-item:hover{background:rgba(255,255,255,.1);color:#fff}.bone-item.selected{background:rgba(13,110,253,.4);color:#fff;font-weight:600}.axis-slider-group{margin-bottom:12px}.axis-label{font-weight:700;width:20px;display:inline-block}.axis-reset-btn{border-radius:4px}.control-reset-btn{border-radius:4px;flex-shrink:0}.axis-value-input{width:4.5rem}.active-model-name{color:#fff;font-size:.86rem;font-weight:600}.bone-help-scroll{max-height:14rem;overflow-y:auto}.model-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:12px;max-height:10rem;overflow-y:auto;overflow-x:hidden;padding:6px 4px}.model-chip{position:relative;width:64px;height:64px;flex:none}.model-chip-face{width:100%;height:100%;border-radius:50%;border:2px solid #555;background-color:#2a2a3d;color:#ccc;display:flex;align-items:center;justify-content:center;font-size:1.8rem;padding:0;overflow:hidden;cursor:pointer}.model-chip-face.has-thumbnail{background-size:cover;background-position:50% 30%}.model-chip.active .model-chip-face{border-color:#0d6efd;box-shadow:0 0 0 2px rgba(13,110,253,.5)}.model-chip-number{position:absolute;right:-4px;bottom:-4px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#0d6efd;color:#fff;font-size:.75rem;font-weight:700;line-height:20px;text-align:center;pointer-events:none}.model-chip-remove{position:absolute;top:-6px;left:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#dc3545;color:#fff;font-size:.8rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.model-chip-remove:hover{background:#bb2d3b}.expression-value-input{width:4rem}input[type=range]{accent-color:#0d6efd}#bone-controls-help-body{font-size:.72rem;line-height:1.5;color:#ccc}#bone-controls-help-body ul{list-style:disc}#bone-controls-help-body li{margin-bottom:2px}#bone-controls-help-body .text-info-emphasis{font-size:.7rem;padding-top:4px;border-top:1px dashed #444}#bone-hint{pointer-events:none;font-size:.8rem;padding:4px 10px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#444;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#666}#panel-left{resize:horizontal}#drop-overlay{position:fixed;inset:0;z-index:2000;pointer-events:none;display:flex;align-items:center;justify-content:center;background:rgba(13,110,253,.18);backdrop-filter:blur(2px)}#drop-overlay.d-none{display:none!important}.drop-overlay-box{padding:1.5rem 2.5rem;border:3px dashed #6ea8fe;border-radius:1rem;background:rgba(20,24,33,.85);color:#fff;font-size:1.4rem;text-align:center}#loading-overlay{backdrop-filter:blur(4px)}@media(max-width:768px){#panel-left{display:none!important}#panel-right{width:180px!important;min-width:160px!important}#footer .ms-auto{display:none!important}}.control-value-input{width:4.5rem}.control-label{font-size:.8rem;color:#ccc}.control-slider-group{margin-bottom:.75rem}.control-section-title{border-bottom:1px solid #444;padding-bottom:.25rem;text-transform:uppercase;letter-spacing:.02em}.light-card{background:rgba(255,255,255,3%);transition:background-color .15s,border-color .15s}.light-card-selected{background:rgba(255,193,7,.12);border-color:#ffc107!important}.light-card-off{opacity:.5}.light-card-off:not(.light-card-selected){border-color:#3a3a3a!important}.control-hint-btn{flex-shrink:0;width:1.1rem;height:1.1rem;padding:0;line-height:1;border-radius:50%;border:1px solid #666;background:0 0;color:#999;font-size:.65rem;display:inline-flex;align-items:center;justify-content:center}.control-hint-btn:hover{border-color:#0d6efd;color:#fff}.control-hint-text{font-size:.72rem;line-height:1.5;color:#bbb;background:rgba(255,255,255,4%);border-left:2px solid #0d6efd;padding:.35rem .5rem;margin:-.25rem 0 .6rem;border-radius:0 4px 4px 0}.btn-outline-body{--bs-btn-color:var(--bs-body-color);--bs-btn-border-color:var(--bs-body-color);--bs-btn-hover-color:var(--bs-body-bg);--bs-btn-hover-bg:var(--bs-body-color);--bs-btn-hover-border-color:var(--bs-body-color);--bs-btn-active-color:var(--bs-body-bg);--bs-btn-active-bg:var(--bs-body-color);--bs-btn-active-border-color:var(--bs-body-color);--bs-btn-disabled-color:var(--bs-body-color);--bs-btn-disabled-border-color:var(--bs-body-color)}[data-bs-theme=dark] .theme-icon-light,[data-bs-theme=light] .theme-icon-dark{display:none}[data-bs-theme=light] .bone-group-header{color:#6c757d;border-top-color:#dee2e6}[data-bs-theme=light] .bone-pair{border-top-color:#dee2e6}[data-bs-theme=light] .bone-item{color:#495057}[data-bs-theme=light] .bone-finger-header{color:#495057}[data-bs-theme=light] .bone-tool-btn:hover{background:rgba(0,0,0,.1);color:#000}[data-bs-theme=light] .bone-item:hover{background:rgba(0,0,0,7%);color:#000}[data-bs-theme=light] .bone-item.selected{background:rgba(13,110,253,.18);color:#0a58ca}[data-bs-theme=light] .active-model-name{color:var(--bs-emphasis-color)}[data-bs-theme=light] .model-chip-face{border-color:#adb5bd;background-color:#e9ecef;color:#495057}[data-bs-theme=light] #bone-controls-help-body{color:#495057}[data-bs-theme=light] #bone-controls-help-body .text-info-emphasis{border-top-color:#ced4da}[data-bs-theme=light] ::-webkit-scrollbar-track{background:#e9ecef}[data-bs-theme=light] ::-webkit-scrollbar-thumb{background:#adb5bd}[data-bs-theme=light] ::-webkit-scrollbar-thumb:hover{background:#868e96}[data-bs-theme=light] .control-label{color:#495057}[data-bs-theme=light] .control-section-title{border-bottom-color:#ced4da}[data-bs-theme=light] .light-card{background:rgba(0,0,0,3%)}[data-bs-theme=light] .light-card-off:not(.light-card-selected){border-color:#dee2e6!important}[data-bs-theme=light] .control-hint-btn{border-color:#adb5bd;color:#6c757d}[data-bs-theme=light] .control-hint-btn:hover{border-color:#0d6efd;color:#0d6efd}[data-bs-theme=light] .control-hint-text{color:#495057;background:rgba(0,0,0,4%)}[data-bs-theme=light] .btn-outline-warning{--bs-btn-color:#8a6500;--bs-btn-border-color:#cc9a06;--bs-btn-hover-color:#000}[data-bs-theme=light] .btn-outline-info{--bs-btn-color:#087990;--bs-btn-border-color:#0aa2c0;--bs-btn-hover-color:#000}html[data-bs-theme=dark] .favicon{filter:invert(1)hue-rotate(180deg)}.model-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.model-card{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;cursor:pointer;color:var(--bs-body-color);background:var(--bs-tertiary-bg);border:2px solid var(--bs-border-color);border-radius:.5rem}.model-card:hover{border-color:var(--bs-secondary-color)}.model-card[aria-pressed=true]{border-color:var(--bs-primary);box-shadow:0 0 0 .15rem rgba(var(--bs-primary-rgb),.35)}.model-card-frame,.model-picker-preview-frame{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/4;background:var(--bs-secondary-bg)}.model-card-frame img{width:100%;height:100%;object-fit:cover;object-position:top}.model-picker-preview-frame{border:1px solid var(--bs-border-color);border-radius:.5rem;overflow:hidden}.model-picker-preview-frame img{width:100%;height:100%;object-fit:contain}.model-card-name{padding:.25rem .5rem;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-picker-preview{position:sticky;top:0}#model-picker-preview-name{min-height:1.5em}