/* The Studio: the production office (THE-STUDIO §3). Planning, not
   executing — a meeting room, quieter than the stage. Every colour is a
   token; the theme dresses the room like everywhere else. */
.studio{display:flex; flex-direction:column; gap:12px; height:100%; min-height:0;}
.studio-head{display:flex; align-items:center; gap:14px; padding:14px 16px;
  border:var(--bd) solid var(--edge); border-radius:var(--r-lg); background:var(--panel);}
.studio-head-copy{display:flex; flex-direction:column; gap:4px; min-width:0;}
.studio-title{font-size:var(--t-title); font-weight:var(--w-semi); overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap;}
.studio-form{color:var(--muted); font-weight:var(--w-med);}
.studio-head-faces{display:flex; gap:10px;}
.studio-face{display:flex; flex-direction:column; align-items:center; gap:4px;}
.studio-feed{flex:1; min-height:0; overflow-y:auto; display:flex; flex-direction:column;
  gap:12px; padding:6px 2px;}
.studio-row{display:flex; flex-direction:column; gap:4px; padding:10px 12px;
  border:var(--bd) solid var(--edge); border-radius:var(--r-md); background:var(--panel);}
.studio-row-head{display:flex; align-items:baseline; gap:8px;}
.studio-who{font-weight:var(--w-semi); font-size:var(--t-small);}
.studio-you{border-color:var(--accent-line); background:var(--inset);}
.studio-note{border-style:dashed; color:var(--muted);}
.studio-text{font-size:var(--t-body); line-height:1.55; white-space:pre-wrap;}
.studio-composer{display:flex; gap:8px; align-items:center;}
.studio-box{flex:1; padding:12px 14px; border:var(--bd) solid var(--edge);
  border-radius:var(--r-lg); background:var(--inset); font-size:var(--t-body);}
.studio-send{width:42px; height:42px; flex:none; border-radius:50%;
  background:var(--accent); color:var(--onAccent); font-size:var(--t-lead);}
.studio-send:disabled{opacity:.45;}
.studio-empty{margin:auto; display:flex; flex-direction:column; align-items:center;
  gap:10px; text-align:center; max-width:420px;}
.studio-empty-title{font-size:var(--t-title); font-weight:var(--w-semi);}
.studio-empty-note{color:var(--muted); font-size:var(--t-small); line-height:1.5;
  border:var(--bd) dashed var(--edge); border-radius:var(--r-md); padding:12px;}
.studio-mini{display:flex; flex-direction:column; gap:6px;}
.studio-sheet{width:100%; resize:vertical; padding:10px 11px; border:var(--bd) solid var(--edge);
  border-radius:var(--r-md); background:var(--inset); font-size:var(--t-tiny); line-height:1.5;}
.studio-node{display:flex; align-items:center; gap:7px; padding:6px 8px;
  border:var(--bd) solid var(--edge); border-radius:var(--r-sm); background:var(--inset);}
.studio-node-1{margin-left:14px;}
.studio-node-2{margin-left:28px;}
.studio-node-3{margin-left:42px;}
.studio-node-kind{flex:none;}
.studio-node-title{flex:1; min-width:0; border:none; background:transparent;
  font-size:var(--t-tiny); line-height:1.4; color:var(--ink);}
.studio-node-x{flex:none; width:20px; height:20px; border-radius:var(--r-sm);
  color:var(--muted); font-size:var(--t-small);}
.studio-node-cam{flex:none; width:22px; height:20px; border-radius:var(--r-sm);
  color:var(--accent); font-size:var(--t-small);}
.studio-node-cam:disabled{opacity:.4;}
.studio-node-art{padding:2px 0 4px;}
.studio-thumb{display:block; width:100%; max-width:220px; aspect-ratio:16/9;
  object-fit:cover; border-radius:var(--r-sm); border:var(--bd) solid var(--edge);}

/* The wall: the board spread across the production office. */
.studio-views{margin-left:auto; flex:none; display:flex; align-items:center;}
.studio-views .house-tab{flex:none; white-space:nowrap;}
.studio-law{padding:0 2px;}
.studio-ward{margin-left:26px; width:auto;}
.studio-cast{display:flex; flex-direction:column; gap:9px; min-width:0;}
.studio-binder-pad{flex:1; min-height:0; overflow:auto; padding:10px 12px 14px;}
.studio-wall{flex:1; min-height:0; display:flex; gap:12px; overflow-x:auto; padding:6px 2px;
  align-items:flex-start;}
.studio-wall-col{flex:0 0 280px; display:flex; flex-direction:column; gap:10px; padding:10px;
  border:var(--bd) solid var(--edge); border-radius:var(--r-lg); background:var(--panel);}
.studio-wall-card{display:flex; flex-direction:column; gap:6px; padding:8px;
  border:var(--bd) solid var(--edge); border-radius:var(--r-md); background:var(--inset);}
.studio-wall-art{display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
  border-radius:var(--r-sm);}
.studio-wall-beat{font-size:var(--t-tiny); line-height:1.45; color:var(--ink2); padding-left:8px;
  border-left:2px solid var(--edge);}
.studio-wall-tools{display:flex; gap:6px; align-items:center;}
