#scene { position:fixed; inset:0; width:100%; height:100%; }
#labels { position:fixed; inset:0; pointer-events:none; }
#panel-druck { top:16px; left:16px; width:292px; }
#panel-stapel { top:16px; right:16px; width:268px; }
#panel-passer { bottom:78px; left:16px; width:280px; }
#panel-werkstatt { bottom:78px; right:16px; width:300px; }
#panel-info { left:50%; right:auto; bottom:64px; transform:translateX(-50%); width:400px; }
.panel { touch-action:pan-y; }
.panel p + p { margin-top:8px; }
.panel .hint { margin-top:8px; }
.panel .hint.small, .panel .small { font-size:10.5px; opacity:.62; }
.panel button { min-width:0; overflow-wrap:break-word; line-height:1.15; }
.panel .row input[type="range"] { flex:1; min-width:0; }
.panel .row b { font-variant-numeric:tabular-nums; font-size:11.5px; min-width:36px; text-align:right; font-family:'SF Mono',ui-monospace,monospace; }
.panel .small-lab { font-size:11px; opacity:.78; flex:0 0 92px; }
.toggles { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px; }
.toggles .check { min-height:24px; font-size:11.5px; }

/* Druckgang-Anzeige */
#phase-box { min-height:58px; }
.phase-title { font-size:13px; font-weight:700; line-height:1.3; }
.phase-title i { display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:7px; vertical-align:0; background:var(--chip, currentColor); }
#phase-text { margin-top:4px; }
.tl-row { margin-top:10px; gap:6px; }
.panel .step { flex:0 0 26px; height:26px; border:none; border-radius:8px; cursor:pointer; color:currentColor; display:flex; align-items:center; justify-content:center; padding:0; background:var(--vk-panel-surface); }
.panel .step svg { width:15px; height:15px; }
.panel .step:hover { filter:brightness(1.15); }
.tl-ticks { position:relative; height:12px; margin:2px 32px 0; font-size:9px; opacity:.5; font-variant-numeric:tabular-nums; }
.tl-ticks span { position:absolute; top:0; transform:translateX(-50%); }
#btn-play { margin-top:8px; }

/* Liste der Druckstöcke */
#layer-list { display:flex; flex-direction:column; gap:2px; }
.layer-row { display:flex; align-items:center; gap:8px; padding:3px 4px 3px 6px; border-radius:8px; }
.layer-row.current { background:var(--vk-ui-active-bg); color:var(--vk-ui-active-ink); }
.layer-row .chip { flex:0 0 12px; height:12px; border-radius:4px; }
.layer-row .chip.done { box-shadow:none; }
.layer-row .name { flex:1; min-width:0; text-align:left; background:none; border:none; color:currentColor; cursor:pointer; font-size:11.5px; font-weight:600; padding:3px 0; opacity:.8; }
.layer-row .name:hover { opacity:1; }
.layer-row .name .st { font-weight:500; opacity:.6; margin-left:4px; font-size:10.5px; }
.layer-row .check { flex:0 0 auto; }

#btn-close-stack, #btn-reroll { margin-top:10px; }
#row-explode { margin-top:2px; }
#row-bokashi { margin-top:2px; }

/* Werkstatt */
.role { padding:7px 9px; border-radius:9px; margin-top:4px; }
.role b { font-size:12px; font-weight:700; }
.role .hint { margin-top:3px !important; }
.role.active { background:var(--vk-ui-active-bg); }
.role.active b { color:var(--vk-ui-active-ink); }

/* Beschriftung in der Szene */
.tag { position:absolute; padding:4px 8px; border-radius:7px; font:600 11px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; white-space:nowrap; transform:translate(-50%,-50%); transition:opacity .2s; }
body.theme-dark .tag { background:rgba(10,13,26,.82); color:#e6e8f2; }
body.theme-light .tag { background:rgba(255,255,255,.92); color:#1e293b; }
.tag i { display:inline-block; width:7px; height:7px; border-radius:2px; margin-right:6px; vertical-align:0; background:var(--dot, currentColor); }
.tag.mirror { font-size:11.5px; font-weight:700; }
a { color:inherit; }

@media(max-width:768px) {
  #panel-druck,#panel-stapel,#panel-passer,#panel-werkstatt,#panel-info { width:auto; max-height:54vh; }
  .tag { font-size:9.5px; padding:3px 6px; }
}
/* Scrollbalken wie heyprof global — für JEDEN Scroll-Container. */
@supports (-moz-appearance: none) {
  * { scrollbar-width: thin; }
  body.theme-light { scrollbar-color: rgba(0,0,0,0.15) transparent; }
  body.theme-dark  { scrollbar-color: rgba(255,255,255,0.15) transparent; }
}
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; margin: 10px 0; }
.panel::-webkit-scrollbar-track { margin: 15px 0; }
::-webkit-scrollbar-thumb { border-radius: 4px; }
::-webkit-scrollbar-button { display: none; height: 0; width: 0; }
*::-webkit-scrollbar-button { display: none; height: 0; width: 0; }
body.theme-light ::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,0.15); }
body.theme-light ::-webkit-scrollbar-thumb:hover { background-color: rgba(0,0,0,0.30); }
body.theme-dark  ::-webkit-scrollbar-thumb { background-color: rgba(255,255,255,0.15); }
body.theme-dark  ::-webkit-scrollbar-thumb:hover { background-color: rgba(255,255,255,0.30); }
html::-webkit-scrollbar-thumb { background-color: rgba(127,127,160,0.35); }
