@layer v6 {
    .v6-composer__card { width: min(1100px, calc(100vw - 32px)); max-width: 1100px; }
    .compose-foundation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 16px; }
    .compose-foundation-grid label, .compose-style { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--text-secondary); }
    .compose-foundation-grid select, .compose-foundation-grid input[type=number], .compose-style select,
    .compose-block select, .compose-band select, .compose-band input, [data-chart-template] {
        background: var(--surface-400); color: var(--text-primary); border: 1px solid var(--border-default); border-radius: 6px; padding: 7px; min-width: 0;
    }
    .compose-scale-pair { display: flex; gap: 6px; }
    .compose-scale-pair select:last-child { flex: 1; width: 0; }
    .compose-scale-pair input { width: 85px; }
    .compose-duration small { display: flex; justify-content: space-between; }
    .compose-duration output { font-size: 12px; }
    .compose-fact { color: var(--text-secondary); font-size: 12px; margin: 12px 0 0; }
    .compose-blocks { display: flex; gap: 9px; overflow-x: auto; padding: 14px 0; }
    .compose-block { flex: 0 0 180px; background: linear-gradient(160deg,#282139,#19181e); border: 1px solid #604789; border-top: 3px solid var(--compose-section-color, var(--accent-primary)); border-radius: 8px; padding: 10px; display: flex; flex-direction: column; gap: 9px; }
    .compose-block[data-locked] { border-color: #ddba60; }
    .compose-block > div:not(.compose-block-actions) { display: flex; flex-direction: column; gap: 6px; }
    .compose-block label { color: var(--text-secondary); font-size: 11px; }
    .compose-block input { width: 100%; accent-color: var(--accent-primary); }
    .compose-block small { color: #d5b7ff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .compose-block-actions { display: flex; gap: 4px; }
    [data-chart-action] { background: var(--surface-400); color: var(--text-primary); border: 1px solid var(--border-default); border-radius: 5px; padding: 5px 8px; cursor: pointer; font-size: 12px; }
    .compose-band { padding: 16px; }
    .compose-band-row { display: grid; grid-template-columns: 65px minmax(110px,1fr) 75px 75px 35px; gap: 10px; align-items: center; margin: 14px 0; }
    .compose-band-row label { font-size: 11px; display: flex; flex-direction: column; gap: 4px; }
    .compose-band-row small { grid-column: 2 / -1; color: var(--text-secondary); }
    .compose-style { padding: 16px; }
    .v6-composer__advanced > summary { padding: 15px; cursor: pointer; }
    .v6-composer__advanced > summary > span { font-size: 12px; color: var(--text-secondary); margin-left: 8px; }
    @media (max-width: 700px) { .compose-foundation-grid { grid-template-columns: 1fr; } .compose-band-row { grid-template-columns: 60px 1fr 60px 60px; } }
}

[data-block-drag] { cursor: grab; font-size:12px; color:#d5b7ff; }
.compose-hints { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.compose-hints button, [data-chart-dice] { background:#302440; color:#e9d5ff; border:1px solid #70508e; border-radius:14px; padding:5px 9px; cursor:pointer; }
.pattern-batch-toolbar { position:static; z-index:auto; display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; padding:7px 9px; color:var(--text-primary); background:color-mix(in srgb, var(--accent-primary) 6%, var(--surface-300)); border:1px solid color-mix(in srgb, var(--accent-primary) 42%, var(--border-default)); border-radius:8px; box-shadow:none; }
.pattern-batch-toolbar[hidden] { display:none; }
.pattern-batch-toolbar label { display:flex; gap:4px; align-items:center; font-size:12px; }
.pattern-batch-toolbar select { max-width:170px; }
.pattern-batch-toolbar input { width:42px; }
.pattern-batch-toolbar input, .pattern-batch-toolbar select, .pattern-batch-toolbar button, .pattern-batch-toolbar summary { background:var(--surface-500); color:var(--text-primary); border:1px solid var(--border-default); border-radius:5px; padding:5px 8px; font:inherit; }
.pattern-batch-toolbar button, .pattern-batch-toolbar summary { cursor:pointer; }
.pattern-batch-toolbar__identity { display:grid; gap:2px; min-width:min(280px, 36vw); }
.pattern-batch-toolbar__identity strong { font-size:12px; }
.pattern-batch-toolbar small { color:var(--text-secondary); font-size:10px; }
.pattern-batch-toolbar__clip-actions { display:flex; gap:6px; }
.pattern-batch-toolbar__source-actions { position:relative; }
.pattern-batch-toolbar__source-actions[hidden], .pattern-batch-toolbar__clip-actions[hidden] { display:none; }
.pattern-batch-toolbar__source-actions > summary { list-style:none; }
.pattern-batch-toolbar__source-actions > div { position:absolute; right:0; top:calc(100% + 6px); display:flex; align-items:center; gap:7px; min-width:max-content; padding:10px; background:var(--surface-300); border:1px solid var(--border-default); border-radius:9px; box-shadow:0 10px 32px color-mix(in srgb, #000 28%, transparent); }
body.zt-song-mode .song-lane-toolbar:has(> .pattern-batch-toolbar:not([hidden])) { flex-wrap:wrap; }
body.zt-song-mode .song-lane-toolbar > .pattern-batch-toolbar { flex:1 0 100%; order:10; }
.v6-rail-pane--patterns > .pattern-batch-toolbar { margin:0 8px 7px; flex-direction:column; align-items:stretch; }
.v6-rail-pane--patterns > .pattern-batch-toolbar .pattern-batch-toolbar__identity { min-width:0; }
.v6-rail-pane--patterns > .pattern-batch-toolbar label,
.v6-rail-pane--patterns > .pattern-batch-toolbar select,
.v6-rail-pane--patterns > .pattern-batch-toolbar button,
.v6-rail-pane--patterns > .pattern-batch-toolbar details { width:100%; box-sizing:border-box; }
.v6-rail-pane--patterns > .pattern-batch-toolbar .pattern-batch-toolbar__source-actions > div { position:static; min-width:0; margin-top:6px; flex-wrap:wrap; box-shadow:none; }
@media (max-width: 720px) { .pattern-batch-toolbar__identity { min-width:100%; } .pattern-batch-toolbar__source-actions > div { right:auto; left:0; max-width:calc(100vw - 32px); min-width:0; flex-wrap:wrap; } }

.v6-part-pass [hidden] { display: none !important; }
.v6-part-pass .v6-composer__backdrop {
    background:
        radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--accent-primary) 24%, transparent), transparent 36%),
        radial-gradient(circle at 82% 80%, rgba(16,185,129,.12), transparent 34%),
        rgba(5,6,12,.86);
    backdrop-filter: blur(12px) saturate(1.1);
}
.v6-part-pass__card { width: min(980px, calc(100vw - 36px)) !important; border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, var(--border-default)) !important; box-shadow: 0 32px 90px rgba(0,0,0,.62), 0 0 70px color-mix(in srgb, var(--accent-primary) 9%, transparent) !important; overflow: hidden; }
.v6-part-pass__head { display: flex !important; align-items: center; justify-content: flex-start !important; gap: 14px; padding: 19px 26px !important; background: linear-gradient(110deg, color-mix(in srgb, var(--accent-primary) 17%, var(--surface-300)), var(--surface-300) 58%, color-mix(in srgb, #0ea5e9 7%, var(--surface-300))) !important; }
.v6-part-pass__head h2 { margin: 2px 0 0; font-size: 19px; letter-spacing: -.02em; }
.v6-part-pass__head p { margin: 3px 0 0; color: var(--text-secondary); font-size: 11px; }
.v6-part-pass__mark { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid color-mix(in srgb, var(--accent-primary) 60%, white 8%); border-radius: 13px; color: #f5e9ff; background: linear-gradient(145deg, color-mix(in srgb, var(--accent-primary) 80%, #d946ef), color-mix(in srgb, var(--accent-primary) 58%, #111827)); box-shadow: 0 8px 24px color-mix(in srgb, var(--accent-primary) 28%, transparent), inset 0 1px rgba(255,255,255,.22); font-size: 20px; }
.v6-part-pass__eyebrow { color: color-mix(in srgb, var(--accent-primary) 45%, white); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.v6-part-pass__body { display: grid; gap: 15px; padding: 20px 26px 22px !important; }
.v6-part-pass__intro { max-width: 800px; margin: 0 0 16px; color: var(--text-secondary); font-size: 12px; line-height: 1.55; }
.v6-part-pass__choices { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 12px; }
.v6-part-pass__choices label { display: grid; gap: 7px; color: var(--text-secondary); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.v6-part-pass select, .v6-part-pass input, .v6-part-pass button { background: var(--surface-400, #24202d); color: var(--text-primary, #eee); border: 1px solid var(--border-default, #594773); border-radius: 7px; padding: 8px 10px; font: inherit; }
.v6-part-pass select { min-height: 38px; text-transform: none; letter-spacing: 0; font-size: 12px; }
.v6-part-pass__append { display: flex; align-items: center; gap: 10px; width: fit-content; margin: 14px 0; cursor: pointer; }
.v6-part-pass__append input { width: 16px; height: 16px; padding: 0; accent-color: var(--accent-primary); }
.v6-part-pass__append span { display: grid; gap: 2px; }
.v6-part-pass__append strong { font-size: 12px; }
.v6-part-pass__append small { color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.v6-part-pass__facts > div { display: grid; gap: 3px; min-width: 0; padding: 11px 13px; border: 1px solid color-mix(in srgb, var(--border-default) 75%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--surface-400) 75%, transparent); }
.v6-part-pass__facts strong { overflow: hidden; color: var(--text-primary); font: 700 14px/1.1 ui-monospace, monospace; text-overflow: ellipsis; white-space: nowrap; }
.v6-part-pass__facts span { color: var(--text-secondary); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.v6-part-pass__selection-hint { min-height: 16px; margin: 8px 2px 0; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__advanced { margin: 14px 0; border: 1px solid color-mix(in srgb, var(--border-default) 72%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--surface-400) 55%, transparent); }
.v6-part-pass__advanced summary { padding: 10px 12px; color: var(--text-primary); cursor: pointer; font-size: 11px; font-weight: 700; }
.v6-part-pass__advanced summary span { margin-left: 7px; color: var(--text-secondary); font-weight: 400; }
.v6-part-pass__advanced > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 12px 12px; }
.v6-part-pass__advanced label { display: grid; gap: 5px; color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.v6-part-pass__advanced .v6-part-pass__direction { grid-column: 1 / -1; }
.v6-part-pass__direction input { width: 100%; box-sizing: border-box; text-transform: none; letter-spacing: 0; }
.v6-part-pass[data-state="busy"] .v6-part-pass__intro,
.v6-part-pass[data-state="busy"] .v6-part-pass__choices,
.v6-part-pass[data-state="busy"] .v6-part-pass__advanced,
.v6-part-pass[data-state="busy"] .v6-part-pass__selection-hint { display: none; }

.v6-part-pass__progress { position: relative; overflow: hidden; padding: 18px; border: 1px solid color-mix(in srgb, var(--accent-primary) 35%, var(--border-default)); border-radius: 13px; background: linear-gradient(145deg, color-mix(in srgb, var(--accent-primary) 9%, var(--surface-300)), color-mix(in srgb, #0ea5e9 4%, var(--surface-300))); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.v6-part-pass__progress::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 10%, rgba(255,255,255,.025) 45%, transparent 70%); transform: translateX(-100%); animation: pass-sheen 4.8s ease-in-out infinite; }
.v6-part-pass__activity { position: relative; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; }
.v6-part-pass__activity-copy { min-width: 0; }
.v6-part-pass__phase { color: color-mix(in srgb, var(--accent-primary) 44%, white); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.v6-part-pass__activity h3 { margin: 4px 0 3px; color: var(--text-primary); font-size: 17px; letter-spacing: -.015em; }
.v6-part-pass__activity p { margin: 0; color: var(--text-secondary); font-size: 11px; line-height: 1.45; }
.v6-part-pass__elapsed { display: grid; gap: 3px; min-width: 68px; text-align: right; }
.v6-part-pass__elapsed span { color: var(--text-muted, var(--text-secondary)); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.v6-part-pass__elapsed strong { color: var(--text-primary); font: 700 14px ui-monospace, monospace; }
.v6-part-pass__orb { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: white; background: radial-gradient(circle at 36% 30%, #c4b5fd, var(--accent-primary) 48%, #312e81); box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent-primary) 9%, transparent), 0 0 28px color-mix(in srgb, var(--accent-primary) 34%, transparent); }
.v6-part-pass__orb span { z-index: 2; font-size: 18px; }
.v6-part-pass__orb i { position: absolute; inset: -6px; border: 1px solid color-mix(in srgb, var(--accent-primary) 54%, transparent); border-radius: 50%; animation: pass-orbit 2.4s linear infinite; }
.v6-part-pass__orb i::after { content: ''; position: absolute; top: 2px; left: 8px; width: 5px; height: 5px; border-radius: 50%; background: #ddd6fe; box-shadow: 0 0 9px #c4b5fd; }
.v6-part-pass__orb i:nth-child(2) { inset: -11px; animation-duration: 3.8s; animation-direction: reverse; opacity: .55; }
.v6-part-pass__meter { position: relative; height: 9px; overflow: hidden; margin-top: 17px; border: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent); border-radius: 999px; background: rgba(0,0,0,.24); }
.v6-part-pass__meter-fill, .v6-part-pass__meter-active { position: absolute; inset-block: 0; left: 0; width: 0; }
.v6-part-pass__meter-fill { background: linear-gradient(90deg, #7c3aed, #a855f7 62%, #22d3ee); box-shadow: 0 0 16px rgba(168,85,247,.5); transition: width .35s ease; }
.v6-part-pass__meter-active { overflow: hidden; border-inline: 1px solid rgba(255,255,255,.3); background: repeating-linear-gradient(115deg, rgba(168,85,247,.34) 0 7px, rgba(34,211,238,.16) 7px 14px); background-size: 28px 100%; animation: pass-stripes 1s linear infinite; }
.v6-part-pass__meter-copy { display: flex; justify-content: space-between; margin-top: 6px; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__meter-copy strong { color: var(--text-primary); font-weight: 650; }
.v6-part-pass__stages { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 16px 0 13px; padding: 0; list-style: none; }
.v6-part-pass__stages li { position: relative; display: flex; align-items: center; gap: 6px; color: var(--text-muted, var(--text-secondary)); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.v6-part-pass__stages li:not(:last-child)::after { content: ''; position: absolute; left: 27px; right: 7px; top: 10px; height: 1px; background: var(--border-default); }
.v6-part-pass__stages i { position: relative; z-index: 1; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid var(--border-default); border-radius: 50%; background: var(--surface-300); font: normal 700 8px ui-monospace, monospace; }
.v6-part-pass__stages .is-active { color: #e9d5ff; }
.v6-part-pass__stages .is-active i { border-color: var(--accent-primary); box-shadow: 0 0 12px color-mix(in srgb, var(--accent-primary) 40%, transparent); }
.v6-part-pass__stages .is-complete { color: #a7f3d0; }
.v6-part-pass__stages .is-complete i { border-color: #10b981; background: #064e3b; color: transparent; }
.v6-part-pass__stages .is-complete i::after { content: '✓'; position: absolute; color: #a7f3d0; }
.v6-part-pass__requests { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 13px; }
.v6-part-pass__requests span { padding: 4px 8px; border: 1px solid var(--border-default); border-radius: 999px; color: var(--text-secondary); background: color-mix(in srgb, var(--surface-400) 76%, transparent); font-size: 9px; }
.v6-part-pass__requests .is-active { border-color: #a855f7; color: #f3e8ff; box-shadow: 0 0 12px rgba(168,85,247,.2); }
.v6-part-pass__requests .is-complete { border-color: rgba(16,185,129,.6); color: #a7f3d0; background: rgba(6,78,59,.45); }
.v6-part-pass__map-head { display: flex; justify-content: space-between; margin-bottom: 7px; color: var(--text-primary); font-size: 10px; font-weight: 650; }
.v6-part-pass__map-head small { color: var(--text-secondary); font-size: 9px; font-weight: 400; }
.v6-part-pass__bar-map { display: grid; grid-template-columns: repeat(24,minmax(4px,1fr)); gap: 3px; }
.v6-part-pass__bar-map i { height: 7px; border-radius: 2px; background: color-mix(in srgb, var(--surface-600, #30303a) 82%, transparent); transition: background .2s, box-shadow .2s, transform .2s; }
.v6-part-pass__bar-map i.is-active { background: color-mix(in srgb, var(--accent-primary) 48%, var(--surface-500)); animation: pass-cell 1.2s ease-in-out infinite alternate; }
.v6-part-pass__bar-map i.is-complete { background: linear-gradient(90deg, #7c3aed, #22d3ee); }
.v6-part-pass__bar-map i.is-retained { background: #d97706; box-shadow: 0 0 5px rgba(245,158,11,.45); }
.v6-part-pass__bar-map i.is-selected { transform: scaleY(1.7); box-shadow: 0 0 0 1px white, 0 0 8px #22d3ee; }
.v6-part-pass__status { min-height: 15px; margin: 11px 0 0; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__preview { display: grid; grid-template-columns: minmax(220px,1fr) auto; align-items: center; gap: 20px; padding: 14px 16px; border: 1px solid rgba(16,185,129,.42); border-radius: 11px; background: linear-gradient(110deg, rgba(6,78,59,.35), color-mix(in srgb, var(--surface-300) 88%, transparent)); }
.v6-part-pass__preview h3 { margin: 3px 0; font-size: 14px; }
.v6-part-pass__preview p { margin: 0; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__audition { display: flex; align-items: end; gap: 7px; flex: 0 0 auto; }
.v6-part-pass__audition label { display: grid; gap: 4px; color: var(--text-secondary); font-size: 9px; text-transform: uppercase; }
.v6-part-pass__audition input { width: 58px; }
.v6-part-pass__compare { display: flex; padding: 2px; border: 1px solid var(--border-default); border-radius: 8px; background: rgba(0,0,0,.18); }
.v6-part-pass__compare button { border: 0; padding: 6px 9px; background: transparent; box-shadow: none; }
.v6-part-pass__compare button.is-active { color: #ecfdf5; background: #047857; box-shadow: 0 2px 8px rgba(5,150,105,.3); }
.v6-part-pass__footer { display: flex !important; align-items: center; gap: 9px; padding: 14px 26px !important; }
.v6-part-pass__footer > span { flex: 1; color: var(--text-secondary); font-size: 10px; text-align: center; }
.v6-part-pass [data-pass="write"], .v6-part-pass [data-pass="accept"] { border-color: color-mix(in srgb, var(--accent-primary) 70%, white 6%); background: linear-gradient(135deg, #7c3aed, #9333ea); box-shadow: 0 5px 16px rgba(124,58,237,.22); }
.v6-part-pass [data-pass="accept"] { border-color: #34d399; background: linear-gradient(135deg, #047857, #059669); box-shadow: 0 5px 16px rgba(5,150,105,.22); }
.v6-part-pass[data-state="ready"] .v6-part-pass__orb { background: radial-gradient(circle at 36% 30%, #a7f3d0, #10b981 52%, #064e3b); box-shadow: 0 0 0 6px rgba(16,185,129,.08), 0 0 28px rgba(16,185,129,.3); }
.v6-part-pass[data-state="ready"] .v6-part-pass__orb i, .v6-part-pass[data-state="error"] .v6-part-pass__orb i { animation: none; }
.v6-part-pass[data-state="error"] .v6-part-pass__progress { border-color: rgba(244,63,94,.45); }
.v6-part-pass[data-state="error"] .v6-part-pass__orb { background: radial-gradient(circle at 36% 30%, #fecdd3, #e11d48 52%, #881337); }
@keyframes pass-orbit { to { transform: rotate(360deg); } }
@keyframes pass-stripes { to { background-position: 28px 0; } }
@keyframes pass-sheen { 0%,55% { transform: translateX(-110%); } 85%,100% { transform: translateX(110%); } }
@keyframes pass-cell { from { opacity: .5; } to { opacity: 1; box-shadow: 0 0 6px rgba(168,85,247,.5); } }
@media (prefers-reduced-motion: reduce) { .v6-part-pass__progress::before, .v6-part-pass__orb i, .v6-part-pass__meter-active, .v6-part-pass__bar-map i.is-active { animation: none !important; } }
@media (max-width: 700px) {
    .v6-part-pass__body { padding: 14px !important; }
    .v6-part-pass__choices, .v6-part-pass__facts { grid-template-columns: 1fr 1fr; }
    .v6-part-pass__activity { grid-template-columns: 46px 1fr; }
    .v6-part-pass__orb { width: 42px; height: 42px; }
    .v6-part-pass__elapsed { grid-column: 2; grid-row: 2; display: flex; gap: 6px; text-align: left; }
    .v6-part-pass__preview { grid-template-columns: 1fr; align-items: stretch; }
    .v6-part-pass__audition { flex-wrap: wrap; }
    .v6-part-pass__footer > span { display: none; }
}
