.avatar-student-editor{position:fixed;inset:0;z-index:120000;background:var(--bg,#111722);display:flex;padding:12px;color:var(--text,#eee)}
.avatar-student-shell{display:flex;flex-direction:column;width:100%;min-height:0;gap:8px}.avatar-student-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.avatar-student-top>strong{margin-right:auto}.avatar-student-tools{display:flex;gap:5px;position:relative}.avatar-student-main{display:grid;grid-template-columns:110px 230px minmax(0,1fr);flex:1;min-height:0;gap:10px}.avatar-student-dyes,.avatar-student-parts{overflow:auto;background:var(--panel,#1d2530);border-radius:10px;padding:8px}.avatar-dye-swatches{display:grid;grid-template-columns:repeat(auto-fill,18px);gap:4px;margin-top:8px;align-content:start}.avatar-dye-swatches>.btn{width:18px;height:18px;min-width:18px;min-height:18px;padding:0;border:1px solid #888;border-radius:2px}.avatar-dye-channels button{width:28px;height:28px;min-width:28px;padding:0;border:1px solid #888;border-radius:4px}.avatar-part{display:grid;grid-template-columns:60px 1fr;gap:4px;padding:5px;border:2px solid transparent;border-radius:8px;align-items:center}.avatar-part.selected{border-color:#429dff}.avatar-part>button{padding:0;width:58px;height:58px;grid-row:span 2;background:#ddd}.avatar-part-name{font-size:12px;overflow:hidden;text-overflow:ellipsis}.avatar-dye-channels{display:flex;gap:8px}.avatar-dye-channels button[aria-pressed=true]{outline:2px solid #fff;outline-offset:2px}.avatar-student-stage{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#444;border-radius:10px}.avatar-student-stage canvas{max-width:100%;max-height:100%;width:auto;height:auto;aspect-ratio:8/7;object-fit:contain;touch-action:none}.avatar-brush-menu{position:absolute;top:100%;left:0;z-index:2;padding:10px;background:#202b3c;border:1px solid #6a7b90;border-radius:8px}.avatar-brush-menu[hidden]{display:none}.avatar-student-status{min-height:24px;font-size:14px}.avatar-pencil{position:absolute;right:12px;bottom:12px;z-index:4}.avatar-startup-options{display:flex;gap:8px;flex-wrap:wrap}.avatar-startup-options button{display:flex;align-items:center;gap:6px}.avatar-startup-options img{width:48px;height:48px;object-fit:contain}.avatar-locked-art .presentation-slide-maker-preview{pointer-events:none}.avatar-locked-art .presentation-slide-maker-controls .presentation-slide-tool-grid:not(.avatar-bone-panel .presentation-slide-tool-grid),.avatar-locked-art .presentation-slide-sketch-controls{display:none}.avatar-locked-art .presentation-slide-layers-panel{display:none}
@media(max-width:800px){.avatar-student-editor{padding:5px}.avatar-student-main{grid-template-columns:65px 120px minmax(0,1fr);gap:4px}.avatar-part{grid-template-columns:1fr}.avatar-part>button{grid-row:auto}.avatar-part-name{font-size:10px}.avatar-student-top{gap:4px}}
.avatar-dye-armed *{cursor:inherit!important}
.avatar-model-choice{display:flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap}.avatar-model-choice select{max-width:180px;padding:5px}.avatar-protected-skeleton-row{padding:5px 10px;color:var(--muted,#aeb8c5);font-size:12px;border-top:1px solid #ffffff18}
.avatar-part-pair{position:relative}
.avatar-part-symmetry{position:absolute;left:50%;top:24px;transform:translateX(-50%);z-index:1;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;border:1px solid #8995a5;border-radius:50%;background:var(--panel,#1d2530);color:var(--text,#eee);font-size:14px;line-height:18px;cursor:pointer}
.avatar-part-symmetry[aria-pressed="true"]{background:#246bb1;color:#fff;border-color:#76bbff}
.avatar-part-symmetry:focus-visible{outline:2px solid #fff;outline-offset:2px}
.avatar-student-play-test,.avatar-student-animation{z-index:120001!important}.avatar-student-tools{flex-wrap:wrap}
.avatar-part-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.avatar-part-pair:has(>.avatar-part:only-child){grid-template-columns:1fr}.avatar-part-pair .avatar-part{display:flex;flex-direction:column;position:relative;min-width:0}.avatar-part-pair .avatar-part-name{max-width:100%}.avatar-part-pair .avatar-part-reset{position:absolute;right:0;top:0;width:22px;height:22px;min-height:22px;padding:0;background:var(--panel,#1d2530)}
@media(max-width:800px){.avatar-student-main{grid-template-columns:58px 166px minmax(0,1fr)}.avatar-part-pair .avatar-dye-channels{gap:4px}.avatar-part-pair .avatar-dye-channels button{width:24px;min-width:24px;height:24px}}
