.layout-gallery-row + .layout-gallery-row { border-block-start: 1px solid var(--studio-line,#d7e2dd); margin-block-start: 1rem; padding-block-start: 1rem; }
.layout-gallery-row header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-end: .5rem; }
.layout-gallery-row h4 { margin: 0; overflow-wrap: anywhere; }
.layout-gallery-strip { display: flex; gap: .75rem; max-width: 100%; overflow-x: auto; padding: .25rem .25rem .7rem; scrollbar-color: var(--studio-line-strong,#568779) var(--studio-line,#edf3f0); }
.layout-gallery-strip:focus-visible { outline: 2px solid var(--studio-focus,#17694d); outline-offset: 2px; }
.layout-gallery-card { flex: 0 0 min(13.5rem, 91%); min-width: 0; padding: .6rem; border: 2px solid var(--studio-line,#dce7e1); border-radius: .65rem; background: var(--studio-panel,#f8faf9); }
.layout-gallery-card.approved { background: var(--studio-lime-tint,#b9f9c3); border-color: var(--studio-line-strong,#24a652); }
.layout-gallery-card .mini-plan { width: 100%; height: 7rem; display: block; background: var(--studio-panel,#fff); border-radius: .35rem; }
.layout-gallery-card-title { display: flex; justify-content: space-between; gap: .25rem; align-items: center; margin-block-start: .5rem; }
.layout-gallery-card .actions { margin-block-start: .45rem; }
.camera-tile { padding-block-start: 1.65rem; background: linear-gradient(var(--studio-chrome,#132f36) 0 1.65rem, var(--studio-raised,#eef3f4) 1.65rem); }
.camera-frame canvas { object-fit: contain; }
.camera-dock36 {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.7rem;margin-block-start:.75rem;}
.camera-dock36[data-count="1"] {max-inline-size:33rem;}
.camera-dock36 .camera-grid {grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;}
.camera-dock36[data-count="1"] .camera-grid {grid-template-columns:minmax(0,1fr);}
.camera-dock36 .camera-tile {padding-block-start:0;min-width:0;background:var(--studio-raised,#eef3f4);}
.camera-title36 {padding:.25rem .65rem;background:var(--studio-chrome,#132f36);color:#f4f8f7;font-weight:700;font-size:.8rem;}
.camera-dock36 .camera-add36 {width:42px;min-height:42px;border-color:var(--studio-accent,#27775d);}
.camera-dock36 .camera-add36[hidden] {display:none;}
.camera-dock36:has(.camera-add36[hidden]) {grid-template-columns:minmax(0,1fr);}
@media(max-width:700px){.camera-dock36 .camera-grid{grid-template-columns:minmax(0,1fr);}}
.face-emotion225 { position: absolute; z-index: 1; left: clamp(3.15rem, var(--face-x), calc(100% - 3.15rem)); transform: translate(-50%, calc(-100% - 2px)); padding: .15rem .4rem; border-radius: .25rem; background: var(--studio-chrome,#122f29); color: var(--studio-ink,#a4ffe0); font: bold .8rem/1.2 system-ui, sans-serif; white-space: nowrap; pointer-events: none; }

.layout-gallery-rows { position: relative; }
.layout-gallery-rows .layout-gallery-row + .layout-gallery-row { margin-block-start: 1.6rem; }
.layout-gallery-links { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 2; stroke: var(--studio-accent,#19824e); stroke-width: 2; }
.layout-gallery-links path { fill: none; }
.layout-gallery-links circle { fill: var(--studio-accent-tint,#f3fff5); }
.layout-gallery-links circle.offscreen { fill: var(--studio-accent,#19824e); }

#file-menu { position: relative; flex: 0 0 auto; align-self: center; }
html[dir="ltr"] #file-menu { order: -1; }
#file-menu > summary { display: flex; align-items: center; gap: .4rem; list-style: none; white-space: nowrap; min-height: 36px; width: auto; padding-inline: .65rem; }
#file-menu > summary::-webkit-details-marker { display: none; }
#file-menu > summary::after { content: "⌄"; font-size: 1rem; line-height: 1; }
#file-menu[open] > summary { background: var(--studio-raised,#e2f2ea); border-color: var(--studio-line-strong,#5a9c82); }
#file-commands { position: absolute; top: calc(100% + 6px); left: 0; z-index: 25; width: min(18rem, calc(100vw - 28px)); max-height: min(75vh, 34rem); overflow: auto; padding: .3rem; background: var(--studio-panel,#fff); border: 1px solid var(--studio-line,#bad4c9); border-radius: 9px; box-shadow: 0 8px 22px #123c352f; }
.file-command-group + .file-command-group { border-top: 1px solid var(--studio-line,#d8e6df); padding-top: .2rem; margin-top: .2rem; }
#file-commands .btn { display: flex; width: 100%; min-height: 35px; justify-content: flex-start; padding: .25rem .5rem; border: 1px solid transparent; background: transparent; text-align: start; }
#file-commands .btn:enabled:hover, #file-commands .btn:focus-visible { background: var(--studio-raised,#e9f5ee); border-color: var(--studio-line,#c8e4d6); }
#file-commands .btn:disabled { cursor: default; }
#file-commands .btn svg { width: 16px; height: 16px; }
@media(max-width: 760px) {
 #file-menu > summary svg { display: none; }
 .topbar .project-switch { min-width: 0; }
 #project-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

#plan-svg.tape-active, #plan-svg.tape-active * { cursor: crosshair !important; touch-action: none; }
[data-action="ruler212"][aria-pressed="true"] { border-color: var(--studio-line-strong,#986416); background: var(--studio-accent-tint,#ffefc6); color: var(--studio-ink,#684100); }
#ruler212 line, #ruler212 circle { stroke: var(--studio-amber,#9c550c); stroke-width: 2px; vector-effect: non-scaling-stroke; }
#ruler212 line[data-preview="true"] { stroke-dasharray: 6px 4px; }
#ruler212 .tape-start { fill: var(--studio-amber,#a45910); }
#ruler212 .tape-point { fill: var(--studio-amber,#fff); }
#ruler212 .tape-point[data-snap="endpoint"], #ruler212 .tape-point[data-snap="edge"] { stroke: var(--studio-amber,#06704f); fill: var(--studio-amber,#b4f1d4); }
#ruler212 .tape-point[data-snap="axis"] { stroke: var(--studio-amber,#1459a2); fill: var(--studio-amber,#dbeafa); }
#ruler212 .tape-label rect { fill: var(--studio-amber-tint,#fff2cb); stroke: var(--studio-amber,#9c550c); stroke-width: 1px; vector-effect: non-scaling-stroke; }
#ruler212 .tape-label text { fill: var(--studio-ink,#442500); }
