#scene { position:fixed; inset:0; width:100%; height:100%; }
#labels { position:fixed; inset:0; pointer-events:none; }
#panel-descent { top:16px; left:16px; width:276px; }
#panel-circle { top:16px; right:16px; width:304px; }
#panel-order { bottom:78px; left:16px; width:304px; }
#panel-info { left:50%; right:auto; bottom:64px; transform:translateX(-50%); width:440px; }
.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; }
.panel .seg { flex-wrap:wrap; }
.panel .seg button { white-space:normal; line-height:1.2; flex:1 1 auto; }
.panel .row input[type="range"] { flex:1; min-width:0; }
.panel .row b { font-size:11.5px; min-width:74px; text-align:right; font-weight:650; }
.desc-row { margin-top:4px; }

/* Stationen-Leiter: V 1 … 9 L A */
.ladder { display:grid; grid-template-columns:repeat(6, 1fr); gap:3px; margin-top:8px; padding:3px; border-radius:9px; background:var(--vk-panel-surface); }
.ladder button { border:none; background:transparent; color:inherit; font:650 11px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; padding:6px 0; border-radius:7px; cursor:pointer; opacity:.62; transition:background .15s, opacity .15s; }
.ladder button:hover { opacity:.9; }
.ladder button.active { opacity:1; background:var(--vk-ui-active-bg); color:var(--vk-ui-active-ink); }
.ladder button i { display:block; width:14px; height:3px; border-radius:2px; margin:4px auto 0; background:transparent; }

.toggles { display:grid; grid-template-columns:1fr 1fr; gap:6px 10px; margin-top:12px; }
.toggles .check { min-height:24px; font-size:11px; line-height:1.2; }

/* Kreis-Karte */
.cz-head { display:flex; align-items:center; gap:10px; }
.cz-num { flex:none; width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; font:800 15px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:var(--vk-ui-active-bg); color:var(--vk-ui-active-ink); }
.cz-title { display:flex; flex-direction:column; gap:2px; min-width:0; }
.cz-title b { font-size:14px; font-weight:750; line-height:1.2; }
.cz-title em { font-style:normal; font-size:11px; opacity:.6; }
.cz-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.chip { font-size:10.5px; font-weight:650; padding:3px 8px; border-radius:7px; background:var(--vk-panel-surface); display:inline-flex; align-items:center; gap:6px; }
.chip i { width:7px; height:7px; border-radius:50%; background:var(--dot, currentColor); display:inline-block; }
.chip:empty { display:none; }
dl.cz { margin:10px 0 0; }
dl.cz .cz-row { margin-top:8px; }   /* Wrapper je Zeile: Überschrift + Text leuchten gemeinsam (Tutor-Highlight) */
dl.cz dt { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; opacity:.5; margin:0; }
dl.cz dd { margin:2px 0 0; font-size:11.5px; line-height:1.45; }
#cz-zones { margin-top:10px; }
#cz-zones.none { display:none; }
.zlist { display:flex; flex-wrap:wrap; gap:3px; padding:3px; border-radius:9px; background:var(--vk-panel-surface); margin-top:6px; }
.zlist button { flex:1 1 auto; border:none; background:transparent; color:inherit; font:650 10.5px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; padding:6px 7px; border-radius:7px; cursor:pointer; opacity:.62; white-space:normal; }
.zlist.num button { flex:1 1 16%; padding:6px 0; }
.zlist button:hover { opacity:.9; }
.zlist button.active { opacity:1; background:var(--vk-ui-active-bg); color:var(--vk-ui-active-ink); }
.ztext { font-size:11.5px; line-height:1.45; margin:7px 0 0; }
.ztext b { font-weight:700; }
.cz-nav { display:flex; gap:6px; margin-top:12px; }
.cz-nav .navb { flex:1; border:none; cursor:pointer; font:650 11px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; padding:8px 6px; border-radius:9px; background:var(--vk-panel-surface); color:inherit; }
.cz-nav .navb:hover { background:var(--vk-ui-active-bg); color:var(--vk-ui-active-ink); }
.cz-nav .navb:disabled { opacity:.35; cursor:default; background:var(--vk-panel-surface); color:inherit; }

/* Ordnungs-Diagramm */
#order-svg { display:block; width:100%; height:auto; margin-top:8px; }
#order-svg .bar { cursor:pointer; }
#order-svg text { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }

/* 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%); }
body.theme-dark .tag { background:rgba(10,13,26,.78); color:#e6e8f2; }
body.theme-light .tag { background:rgba(255,255,255,.9); color:#1e293b; }
.tag i { display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:6px; vertical-align:middle; background:var(--dot, currentColor); }
.tag.cur { font-weight:800; }
.tag.minor { font-weight:500; font-style:italic; }

@media(max-width:768px) {
  #panel-descent,#panel-circle,#panel-order,#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; }
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); }
