/* ---------- editor ---------- */
.ed-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:10px;max-width:1120px;margin:0 auto}
@media (max-width:820px){.ed-layout{grid-template-columns:1fr}}
.ed-side{background:var(--panel);border:2px solid var(--edge);border-bottom-width:4px;padding:10px;max-height:78vh;overflow:auto}
.ed-main{display:flex;flex-direction:column;gap:8px;min-width:0}
.ed-canvas-wrap{position:relative;background:var(--stage);border:3px solid var(--stage-edge);width:100%;overflow:hidden}
.ed-canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:pixelated;touch-action:none;cursor:crosshair}
.ed-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--panel);border:2px solid var(--edge);padding:7px 8px}
.seg-title{font-family:Silkscreen,monospace;font-size:12px;color:var(--amber);margin-right:auto}
.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin-bottom:8px}
.swatch{background:var(--panel-2);border:2px solid var(--edge);padding:4px 2px 2px;cursor:pointer;text-align:center;font-size:10px;color:var(--muted);line-height:1.2}
.swatch canvas{display:block;width:100%;height:auto;image-rendering:pixelated;margin-bottom:2px}
.swatch.sel{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 18%,transparent);color:var(--text)}
.swatch{position:relative}
.swatch.mine{border-style:dashed}
.swatch-x{position:absolute;top:1px;right:1px;width:15px;height:15px;padding:0;line-height:13px;
  background:rgba(8,16,12,.8);color:#ff9c92;border:1px solid var(--edge);cursor:pointer;font-size:11px;display:none}
.swatch:hover .swatch-x{display:block}
.layer-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.layer-row{display:flex;align-items:center;gap:6px;background:var(--panel-2);border:2px solid var(--edge);padding:4px 6px;font-size:12px;cursor:pointer}
.layer-row.sel{border-color:var(--lime)}
.layer-row .eye{background:none;border:none;cursor:pointer;padding:0 2px;font-size:13px;line-height:1}
.ed-hint{font-size:11.5px;color:var(--muted);border-left:3px solid var(--edge);padding-left:7px;margin:8px 0}
.seglist{display:flex;flex-direction:column;gap:5px;max-height:190px;overflow:auto}
.film{display:flex;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;background:var(--panel);
  border:2px solid var(--edge);border-bottom-width:4px;padding:8px 6px;scrollbar-width:thin}
.film-empty{padding:14px;color:var(--muted);font-size:12.5px}
.slide{position:relative;flex:0 0 auto;background:var(--panel-2);border:2px solid var(--edge);
  padding:3px 3px 0;cursor:pointer;width:184px}
.slide:hover{border-color:var(--muted)}
.slide.sel{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
.slide canvas{display:block;width:176px;height:99px;image-rendering:pixelated;background:#0d1a14}
.slide-cap{display:flex;align-items:center;gap:4px;font-size:11px;padding:3px 2px;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slide.sel .slide-cap{color:var(--text)}
.slide-num{font-family:Silkscreen,monospace;color:var(--amber);font-size:10px}
.slide-x{position:absolute;top:4px;right:4px;width:20px;height:20px;line-height:1;padding:0;
  background:rgba(8,16,12,.78);color:#ff9c92;border:1px solid var(--edge);cursor:pointer;font-size:13px;display:none}
.slide:hover .slide-x,.slide.sel .slide-x{display:block}
.ins{flex:0 0 auto;width:24px;margin:0 1px;background:transparent;border:2px dashed var(--edge);
  color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:0}
.ins:hover{border-color:var(--lime);color:var(--lime);background:color-mix(in srgb,var(--lime) 12%,transparent)}
.film-count{font-size:11.5px;color:var(--muted);padding:0 8px;align-self:center;white-space:nowrap}
.segrow{display:flex;gap:6px;align-items:center;font-size:12.5px;background:var(--panel-2);border:2px solid var(--edge);padding:4px 6px}
.segrow span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* biome editor rows */
.bio-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;
  max-height:46vh;overflow:auto;padding-right:4px}
.bio-row{display:flex;align-items:center;gap:6px;background:var(--panel-2);border:2px solid var(--edge);padding:4px 6px}
.bio-row canvas{width:28px;height:28px;image-rendering:pixelated;flex:0 0 auto;background:rgba(0,0,0,.25)}
.bio-row .bio-cat{font-size:11px;color:var(--muted);flex:0 0 74px;line-height:1.15}
.bio-row select{flex:1;min-width:0;padding:3px 4px;font-size:12px}
.bio-row.empty{border-color:var(--coral)}
