*{box-sizing:border-box;margin:0;padding:0}body{background:#0d0f14;color:#e8eaed;font-family:system-ui,-apple-system,sans-serif;overflow:hidden;height:100vh}#editor-app{display:flex;flex-direction:column;height:100vh}#editor-app,#editor-app *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) rgba(255,255,255,.04)}#editor-app *::-webkit-scrollbar{width:5px;height:5px}#editor-app *::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px}#editor-app *::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px;border:1px solid transparent;background-clip:padding-box}#editor-app *::-webkit-scrollbar-thumb:hover{background:#6ea8fe80}#editor-app *::-webkit-scrollbar-thumb:active{background:#6ea8feb3}#editor-app *::-webkit-scrollbar-corner{background:transparent}.panel::-webkit-scrollbar-track,.timeline-labels::-webkit-scrollbar-track,.timeline-tracks-wrap::-webkit-scrollbar-track{background:#0003}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;background:#141820;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.editor-header__left,.editor-header__right{display:flex;align-items:center;gap:.75rem}.editor-header h1{font-size:1rem;font-weight:600}.model-badge{font-size:.78rem;padding:.2rem .55rem;border-radius:6px;background:#6ea8fe26;color:#8ec0ff;font-family:ui-monospace,monospace}.editor-workspace{--panel-left-width: 280px;--panel-right-width: 300px;--timeline-height: 220px;--timeline-labels-width: 148px;display:flex;flex-direction:column;flex:1;min-height:0}.editor-body{display:flex;flex:1;min-height:0}.panel-left{width:var(--panel-left-width);flex-shrink:0}.panel-right{width:var(--panel-right-width);flex-shrink:0}.viewport-wrap{flex:1;min-width:120px}.panel{background:#11151c;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.panel-left{border-right:none}.panel-right{border-right:none;border-left:none}.resize-handle{flex-shrink:0;background:transparent;position:relative;z-index:5;transition:background .15s ease}.resize-handle:after{content:"";position:absolute;background:#ffffff0d;transition:background .15s ease}.resize-handle:hover:after,.resize-handle:active:after{background:#6ea8fe8c}.resize-handle--col{width:3px;cursor:col-resize}.resize-handle--col:after{top:0;bottom:0;left:1px;width:1px}.resize-handle--row{height:3px;cursor:row-resize}.resize-handle--row:after{left:0;right:0;top:1px;height:1px}.resize-handle--inset{width:3px;margin:0}body.editor-is-resizing{-webkit-user-select:none;user-select:none;cursor:var(--resize-cursor, col-resize)!important}body.editor-is-resizing *{cursor:var(--resize-cursor, col-resize)!important}.panel-section{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.panel-section h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#9aa0a6;margin-bottom:0}.panel-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.panel-section-actions{display:flex;gap:.35rem}.btn-link{padding:.15rem .35rem;border:none;border-radius:4px;background:transparent;color:#8ec0ff;font-size:.72rem;cursor:pointer}.btn-link:hover{background:#6ea8fe1f;text-decoration:underline}.panel-hint{font-size:.78rem;color:#6b7280;margin-bottom:.75rem}.viewport-wrap{position:relative;background:#0a0c10;min-width:0}#editor-canvas{display:block;width:100%;height:100%}.viewport-status{position:absolute;bottom:12px;left:12px;padding:.35rem .65rem;border-radius:6px;background:#0000008c;font-size:.78rem;color:#9aa0a6;pointer-events:none}.bone-tooltip{position:absolute;padding:.3rem .55rem;border-radius:6px;background:#00ff88e6;color:#0d0f14;font-size:.75rem;font-weight:600;pointer-events:none;transform:translate(-50%,-120%);white-space:nowrap}.bones-tree{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.5}.bone-tree-item{margin-bottom:.05rem}.bone-tree-row{display:flex;align-items:center;gap:.15rem;min-height:1.45rem}.bone-tree-toggle{flex-shrink:0;width:1.15rem;height:1.15rem;padding:0;border:none;border-radius:3px;background:transparent;color:#9aa0a6;font-size:.65rem;line-height:1;cursor:pointer;transition:transform .15s ease,color .15s ease}.bone-tree-toggle:hover{color:#e8eaed;background:#ffffff0f}.bone-tree-toggle--collapsed{transform:rotate(-90deg)}.bone-tree-spacer{flex-shrink:0;width:1.15rem}.bone-node{flex:1;min-width:0;display:block;text-align:left;padding:.2rem .4rem;border:none;border-radius:4px;background:transparent;color:#c9d1d9;cursor:pointer;font:inherit}.bone-node:hover{background:#ffffff0f}.bone-node--selected{background:#00ff8826;color:#0f8}.bone-node--root{font-weight:600;color:#8be9fd}.bone-children{margin-left:.55rem;border-left:1px solid rgba(255,255,255,.06);padding-left:.35rem}.bone-children--collapsed{display:none}.bone-meta{color:#6b7280;font-size:.7rem}.animations-list{display:flex;flex-direction:column;gap:.35rem}.anim-item{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s}.anim-item:hover{border-color:#6ea8fe66;background:#6ea8fe14}.anim-item--active{border-color:#6ea8fe;background:#6ea8fe26}.anim-item__name{font-size:.88rem;font-weight:600}.anim-item__meta{font-size:.72rem;color:#9aa0a6;font-family:ui-monospace,monospace}.anim-item__badge{font-size:.62rem;color:#0f8;font-weight:600;margin-left:.25rem}.panel-section--edit{display:flex;flex-direction:column;gap:.55rem}.toggle--block{margin-top:.15rem}.edit-field-row{display:flex;gap:.4rem}.edit-input{flex:1;min-width:0;padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:#e8eaed;font-size:.82rem;font-family:ui-monospace,monospace}.edit-input--short{flex:0 0 4.5rem}.edit-input:focus{outline:none;border-color:#6ea8fe}.edit-actions{display:flex;flex-wrap:wrap;gap:.4rem}.btn-small{padding:.38rem .65rem;font-size:.78rem}.edit-status{font-size:.74rem;color:#6b7280;line-height:1.35;margin-top:.15rem}.anim-empty{font-size:.82rem;color:#6b7280;padding:.5rem 0}.playback-controls{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.toggle--compact{font-size:.75rem;margin-left:.15rem}.toggle--compact span{color:#9aa0a6}.scrubber-wrap input[type=range]{width:100%;accent-color:#6ea8fe}.scrubber-labels{display:flex;justify-content:space-between;font-size:.72rem;color:#9aa0a6;font-family:ui-monospace,monospace;margin-top:.25rem}.timeline-panel{flex-shrink:0;height:var(--timeline-height);background:#0f1218;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;min-height:0}.timeline-panel--disabled{opacity:.65}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .75rem;background:#141820;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.timeline-toolbar__left,.timeline-toolbar__center,.timeline-toolbar__right{display:flex;align-items:center;gap:.5rem}.timeline-toolbar__center{flex:1;justify-content:center;flex-wrap:nowrap;gap:.4rem;min-height:33px}.timeline-toolbar__center>*{flex-shrink:0}.timeline-toolbar__sep{width:1px;height:20px;background:#ffffff1f;margin:0 .25rem;flex-shrink:0}.timeline-toolbar__label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.timeline-clip-name{font-family:ui-monospace,monospace;font-size:.82rem;color:#8ec0ff;font-weight:600}.timeline-time{font-family:ui-monospace,monospace;font-size:.85rem;color:#e8eaed;min-width:4.25rem;text-align:center;font-variant-numeric:tabular-nums}.timeline-time-sep{color:#6b7280;font-size:.8rem;min-width:.5rem;text-align:center}.timeline-kf-info{font-size:.72rem;color:#9aa0a6;margin-left:.25rem;font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums;min-width:5.5rem;text-align:left;white-space:nowrap}.timeline-hint{font-size:.72rem;color:#6b7280}.btn-icon{padding:.35rem .55rem;font-size:.75rem;min-width:2rem;justify-content:center}#btn-play.btn-icon,#btn-stop.btn-icon{padding:.35rem .5rem;font-size:.82rem}.timeline-body{display:flex;flex:1;min-height:0;overflow:hidden}.timeline-labels-col{width:var(--timeline-labels-width);flex-shrink:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.timeline-labels{overflow-y:auto;overflow-x:hidden;background:#11151c;border-right:1px solid rgba(255,255,255,.06);flex:1;min-height:0}.timeline-label{height:28px;padding:.2rem .5rem;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid rgba(255,255,255,.04);font-size:.7rem}.timeline-label--highlight{background:#00ff8814}.timeline-label__name{color:#c9d1d9;font-family:ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-label--highlight .timeline-label__name{color:#0f8}.timeline-label__props{color:#6b7280;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-tracks-wrap{position:relative;overflow:auto;background:#0a0c10;cursor:crosshair;flex:1;min-width:0}.timeline-ruler{position:sticky;top:0;z-index:3;height:22px;background:#141820;border-bottom:1px solid rgba(255,255,255,.08)}.timeline-ruler-tick{position:absolute;top:0;height:100%;border-left:1px solid rgba(255,255,255,.12);padding-left:4px;pointer-events:none}.timeline-ruler-tick span{font-size:.62rem;color:#9aa0a6;font-family:ui-monospace,monospace;line-height:22px}.timeline-tracks{position:relative}.timeline-track{position:relative;height:28px;border-bottom:1px solid rgba(255,255,255,.04);background:repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(255,255,255,.02) 59px,rgba(255,255,255,.02) 60px)}.timeline-track--highlight{background-color:#00ff880a}.timeline-keyframe{position:absolute;top:50%;width:8px;height:8px;margin-left:-4px;margin-top:-4px;padding:0;border:none;border-radius:1px;background:#6ea8fe;transform:rotate(45deg);cursor:pointer;z-index:2;transition:background .12s,transform .12s}.timeline-keyframe:hover{background:#0f8;transform:rotate(45deg) scale(1.25)}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff6b6b;z-index:4;pointer-events:none;box-shadow:0 0 6px #ff6b6b99}.timeline-playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#ff6b6b}.btn{padding:.45rem .85rem;border-radius:8px;border:none;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:#6ea8fe;color:#0d0f14}.btn-secondary{background:#ffffff14;color:#e8eaed;border:1px solid rgba(255,255,255,.12)}.btn-ghost{background:transparent;color:#9aa0a6;border:1px solid rgba(255,255,255,.1)}.btn-ghost:hover{color:#e8eaed;border-color:#fff3}.toggle{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#bdc1c6;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle--inline{margin-left:auto}.toggle input{accent-color:#6ea8fe}.future-list{list-style:none;font-size:.78rem;color:#6b7280}.future-list li{padding:.25rem 0 .25rem 1rem;position:relative}.future-list li:before{content:"○";position:absolute;left:0;color:#4b5563}.lobby-editor-link{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08);text-align:center}.lobby-editor-link a{color:#8ec0ff;font-size:.9rem;text-decoration:none}.lobby-editor-link a:hover{text-decoration:underline}.lobby-editor-link p{color:#6b7280;font-size:.78rem;margin-top:.35rem}@media(max-width:900px){.editor-body{flex-direction:column}.resize-handle--col[data-resize=left],.resize-handle--col[data-resize=right]{width:100%;height:3px;cursor:row-resize}.resize-handle--col[data-resize=left]:after,.resize-handle--col[data-resize=right]:after{top:1px;left:0;right:0;width:auto;height:1px}.panel-left,.panel-right{width:100%!important;max-height:200px}}
