/* A shared, scrollable musical timeline with fixed track labels. */
#page-studio #takeList{--track-row:108px;--ruler-row:40px;--track-bg:#291c29;--beat-bg:#342719;--add-bg:#162c36;--label:#f3edf5;--sub:#baaaba}
:root[data-theme="light"] #page-studio #takeList,:root:not([data-theme]) #page-studio #takeList{--track-bg:#ffe4ed;--beat-bg:#fff0d1;--add-bg:#e7f8ff;--label:#493142;--sub:#806578}
#page-studio #takeList .v72-session-intro,#page-studio #takeList .v72-takes-caption{display:none!important}
#page-studio #takeList .spurmaske{display:grid!important;grid-template-columns:160px minmax(0,1fr)!important;overflow:hidden!important;border:0!important;border-radius:16px!important;background:transparent!important;align-items:start!important}
#page-studio #takeList .sm-links{background:transparent!important;min-width:0!important;border:0!important}
#page-studio #takeList .sm-rechts{display:block!important;overflow-x:auto!important;overflow-y:hidden!important;min-width:0!important;max-width:100%!important;touch-action:pan-x pan-y;background:transparent!important;scrollbar-width:thin}
#page-studio #takeList .sm-ecke,#page-studio #takeList .sm-lineal{display:flex!important;align-items:center!important;justify-content:space-between;height:var(--ruler-row)!important;min-height:var(--ruler-row)!important;box-sizing:border-box!important;padding:0 8px!important;color:var(--sub)!important}
#page-studio #takeList .sm-kopf-zeile,#page-studio #takeList .sm-bahn{height:var(--track-row)!important;min-height:var(--track-row)!important;max-height:var(--track-row)!important;box-sizing:border-box!important;margin:0!important;border:0!important;border-bottom:2px solid var(--bg,#101015)!important;border-radius:0!important;background:var(--track-bg)!important;box-shadow:none!important}
#page-studio #takeList .sm-kopf-zeile{display:flex!important;flex-wrap:wrap!important;align-content:center!important;align-items:center!important;gap:2px 7px!important;padding:8px!important;overflow:visible!important}
#page-studio #takeList .sm-kopf-zeile.sm-beat,#page-studio #takeList .sm-bahn-beat{background:var(--beat-bg)!important}
#page-studio #takeList .sm-kopf-zeile.sm-neu,#page-studio #takeList .sm-bahn-neu{background:var(--add-bg)!important}
#page-studio #takeList .v70-track-icon{width:25px!important;height:28px!important;min-width:25px!important;font-size:18px!important;border:0!important;border-radius:7px!important;box-shadow:none!important}
#page-studio #takeList .v70-track-copy{flex:1;min-width:0!important;display:block!important}
#page-studio #takeList .v70-track-copy .sm-name{font-size:12px!important;color:var(--label)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;min-height:30px!important}
#page-studio #takeList .v70-track-copy small{font-size:10px!important;color:var(--sub)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#page-studio #takeList .v719-mobile-wave,#page-studio #takeList .sm-schalter,#page-studio #takeList .sm-beat>.v70-track-menu{display:none!important}
#page-studio #takeList .v70-beat-change{display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-height:44px!important;height:44px!important;width:100%!important;margin:0!important;padding:0 4px!important;font-size:11px!important;border-radius:8px!important;grid-column:auto!important}
#page-studio #takeList .v745-track-actions{height:44px;width:44px;border:0;border-radius:10px;background:transparent;color:var(--label);font-size:26px;cursor:pointer}
#page-studio #takeList .sm-block{top:12px!important;bottom:12px!important;border-radius:12px!important}
#page-studio #takeList .sm-block-beat{background:#ffba48!important;box-shadow:none!important}
#page-studio #takeList .sm-block-stimme{background:#ff9ebd!important;box-shadow:none!important}
#page-studio #takeList .sm-welle{height:100%!important;width:100%!important}
#page-studio #takeList .v721-take-actions[popover]{display:none!important}
#page-studio #takeList .v721-take-actions:popover-open{position:fixed!important;inset:auto 12px 18px!important;margin:0 auto!important;width:min(460px,calc(100vw - 24px))!important;max-height:75dvh!important;overflow-y:auto!important;box-sizing:border-box!important;padding:20px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;background:var(--bg,#16111d)!important;border:1px solid #967c9b66!important;border-radius:24px!important;box-shadow:0 15px 60px #0005!important}
#page-studio #takeList .v721-take-actions::backdrop{background:#130b1e55;backdrop-filter:blur(3px)}
#page-studio #takeList .v721-take-actions button{min-height:58px!important}
#page-studio #takeList .v721-delete-confirm{grid-column:1/-1!important}
#page-studio #takeList .v70-empty-beat button{min-height:44px;margin:25px 12px;border-radius:14px;padding:8px 15px;border:0;background:#ffbd50;color:#583504}
#page-studio .v709-presets{margin-top:16px!important}
#page-studio .v70-preset-row{gap:10px!important;flex-wrap:wrap!important}
#page-studio .v70-preset{min-height:64px!important;min-width:90px!important;border-radius:15px!important;background:linear-gradient(135deg,#6e3a99,#32234d)!important;color:#fff!important;border:2px solid transparent!important}
#page-studio .v70-preset:nth-child(3n){background:linear-gradient(135deg,#c13467,#622f65)!important}
#page-studio .v70-preset:nth-child(3n + 1){background:linear-gradient(135deg,#197e94,#234369)!important}
#page-studio .v70-preset.an{border-color:#ffbd50!important;box-shadow:0 0 0 2px #ffbd5033!important}
@media(max-width:720px){
 #page-studio #takeList .spurmaske{grid-template-columns:116px minmax(0,1fr)!important}
 #page-studio .studio-pane[data-pane="take"]{padding:0 12px 20px!important}
 #page-studio #takeList .sm-kopf-zeile{padding:5px!important;gap:0 4px!important}
 #page-studio #takeList .v70-track-copy small{font-size:9px!important}
 #page-studio #takeList .v70-track-icon{width:20px!important;min-width:20px!important}
 #page-studio #takeList .v70-add-choices{display:none!important}
}
#page-studio #takeList.rbs-empty-session .sm-kopf-zeile.sm-neu{display:flex!important}
#page-studio #takeList .v70-track-copy .sm-name,#page-studio #takeList .v70-track-copy small{display:block!important;width:100%!important;max-width:100%!important}
#page-studio #takeList .v721-delete-confirm{display:grid!important;gap:8px;padding:12px;border-radius:12px}
#page-studio #takeList .v721-delete-confirm>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#page-studio #takeList .sm-kopf-zeile[data-spur]{align-content:flex-start!important;padding-top:12px!important;padding-bottom:46px!important}
#page-studio #takeList .sm-kopf-zeile[data-spur] .v745-track-actions{position:absolute;bottom:3px;left:28px;height:44px;width:44px}
#page-studio .take-papierkorb{margin:18px 0;padding:12px;border:1px solid #967c9b55;border-radius:16px;background:var(--bg2);color:var(--text)}
#page-studio .take-papierkorb summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:700}
#page-studio .take-papierkorb p{font-size:12px;line-height:1.5;color:var(--mute)}
#page-studio .papierkorb-take{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-top:1px solid #967c9b33}
#page-studio .papierkorb-take strong{grid-column:1/-1;font-size:13px;overflow-wrap:anywhere}
#page-studio .papierkorb-take button{min-height:44px;border:0;border-radius:10px;background:#7952a9;color:white;font-size:12px;padding:8px}
#page-studio .papierkorb-take [data-takepurge]{background:transparent;color:var(--mute);border:1px solid #967c9b55}
#page-studio #takeList .take-save-state{grid-column:1/-1;font-size:13px;line-height:1.5;color:var(--text);margin:0 0 5px}
#page-studio .preset-description{font-size:13px;line-height:1.6;color:var(--mute);margin:12px 4px 6px}
#page-studio .projekt-save-status{flex-shrink:0;display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 20px 8px;font-size:11px;line-height:1.4;color:var(--mute)}
#page-studio .projekt-save-status[hidden]{display:none!important}
#page-studio .projekt-save-status[data-state="error"]{color:#da496a}
#page-studio .projekt-save-status button{min-height:44px;border:1px solid #967c9b55;border-radius:10px;background:var(--bg2);color:var(--text);padding:6px 10px;font-size:11px}

/* Optional reading stage uses the existing lyrics engine. */
#page-studio .session-lyrics{margin:10px 0;border-radius:18px;background:var(--bg);border:1px solid #a18a9b55;overflow:hidden}
#page-studio .session-lyrics>summary{padding:14px 16px;min-height:44px;box-sizing:border-box;cursor:pointer;color:var(--text);font-weight:700}
#page-studio #v710TrackLyricsSlot{display:block!important}
#page-studio .session-lyrics .v70-lyrics-stage{margin:0;background:transparent;border:0;box-shadow:none;color:var(--text)}
#page-studio .session-lyrics .v70-lyrics-head,#page-studio .session-lyrics .v70-lyrics-nav{background:transparent;color:var(--text);padding:12px;gap:8px;display:flex;flex-wrap:wrap}
#page-studio .session-lyrics .v70-lyrics-head p,#page-studio .session-lyrics .v70-lyrics-nav>span{display:none}
#page-studio .session-lyrics .booth-buehne{min-height:130px!important;padding:16px!important;max-height:240px;overflow:auto}
#page-studio .session-lyrics .booth-text{color:var(--text)}
#page-studio .session-lyrics button,#page-studio .session-lyrics label{min-height:44px;background:var(--bg);color:var(--text);font-size:12px}
#page-studio #liveWave{display:block;width:100%;height:64px;border-radius:14px;background:#ff619918;margin-bottom:10px}
#page-studio #liveWave[hidden]{display:none}

#page-studio .session-open{min-height:44px;padding:10px 16px;border:1px solid #a18a9b55;background:var(--bg);color:var(--text);border-radius:14px;font-weight:700}
#sessionDialog{width:min(520px,calc(100vw - 32px));max-height:85dvh;box-sizing:border-box;overflow:auto;border:1px solid #a18a9b55;border-radius:24px;padding:22px;background:var(--bg,#fff);color:var(--text,#302030)}
#sessionDialog::backdrop{background:#170d2666;backdrop-filter:blur(5px)}
#sessionDialog header{display:flex;justify-content:space-between;align-items:center;gap:12px}
#sessionDialog h2{margin:0;font-size:24px}#sessionDialog p{font-size:14px;line-height:1.5}
#sessionDialog label{display:grid;gap:8px;margin:14px 0;font-size:14px}
#sessionDialog input{box-sizing:border-box;max-width:100%;min-width:0;padding:12px;border:1px solid #a18a9b66;border-radius:12px;background:transparent;color:inherit}
#sessionDialog button{min-height:44px;padding:12px;border:1px solid #a18a9b55;border-radius:12px;background:transparent;color:inherit;cursor:pointer}
#sessionDialog button:disabled{opacity:.5;cursor:wait}#sessionDialog .session-tools{display:flex;flex-wrap:wrap;gap:8px}
#sessionDialog [data-session-save]{background:#ec326e;color:white;border-color:transparent}
#sessionDialog [data-session-list]{display:grid;gap:10px}#sessionDialog [data-session-list] button{display:grid;gap:6px;text-align:left;overflow-wrap:anywhere}
#sessionDialog small{opacity:.75}

#page-studio .session-tools-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin:8px 0}
#page-studio .session-tools-row .session-lyrics{margin:0}
#page-studio .session-tools-row:has(details[open]){grid-template-columns:1fr}
#page-studio .session-tools-row .session-open{font-size:13px}
#page-studio .session-tools-row .session-lyrics>summary{font-size:13px;padding:12px}

#punchDialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;max-height:85dvh;overflow:auto;background:var(--bg,#fff);color:var(--text,#302030);border:1px solid #a18a9b55;border-radius:24px;padding:20px}
#punchDialog::backdrop{background:#170d2666;backdrop-filter:blur(5px)}
#punchDialog header{display:flex;align-items:center;gap:8px}#punchDialog h2{font-size:20px}
#punchDialog label{display:grid;gap:6px;margin:12px 0}#punchDialog input,#punchDialog button{min-height:44px;padding:10px;border-radius:12px;border:1px solid #a18a9b66;background:transparent;color:inherit;box-sizing:border-box}
#punchDialog #punchRecord{background:#ec326e;color:white;width:100%}

:root:not([data-theme="dark"]) #sessionDialog input,:root:not([data-theme="dark"]) #punchDialog input{background:#f2eaf3!important;color:#3d2842!important;border-color:#d9c9dd!important}
#sessionDialog input::file-selector-button{min-height:36px;border:0;border-radius:8px;padding:6px 10px;background:#e6d6ec;color:#472c52;margin-right:8px}
#page-studio .session-lyrics .booth-zeilen .jetzt{color:var(--text)!important;text-shadow:none;font-size:clamp(23px,5vw,36px)}
#page-studio .session-lyrics .booth-buehne{background:var(--bg)!important;box-shadow:none!important;border:0!important}
#page-studio .session-lyrics .booth-buehne::before{display:none!important}

#sessionDialog .session-card{display:grid;gap:8px;padding:12px;border:1px solid #a18a9b44;border-radius:16px;overflow-wrap:anywhere}
#sessionDialog .session-cloud{margin-top:20px}#sessionDialog .session-cloud summary{min-height:44px;padding:12px;cursor:pointer;font-weight:700}
#sessionDialog [data-cloud-list]{display:grid;gap:10px;margin-top:12px}#sessionDialog input[hidden]{display:none!important}

#takeCompareDialog{width:min(460px,calc(100vw - 32px));box-sizing:border-box;max-height:85dvh;overflow:auto;padding:22px;border:1px solid #a18a9b55;border-radius:24px;background:var(--bg);color:var(--text)}
#takeCompareDialog::backdrop{background:#170d2666;backdrop-filter:blur(5px)}
#takeCompareDialog header{display:flex;justify-content:space-between;align-items:center;gap:8px}#takeCompareDialog h2{font-size:23px}
#takeCompareDialog label{display:grid;gap:8px;margin:15px 0}#takeCompareDialog select,#takeCompareDialog button{min-height:44px;max-width:100%;padding:10px;border-radius:12px;border:1px solid #a18a9b66;background:var(--bg);color:var(--text)}
#takeCompareDialog button[aria-pressed=true]{background:#ed326e;color:#fff}#takeCompareDialog audio{width:100%}#takeCompareDialog p{font-size:14px;line-height:1.5}

#sessionDialog header{position:sticky;top:-22px;background:var(--bg);padding:12px 0;z-index:1}
