@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; } }

/* Note writer (src/ui/TrackPassModal.js). `[hidden]` is a UA rule any
   `display` beats — .v6-composer is display:flex — so it is restated here
   for the panel itself, its parts and the minimized job card. */
.v6-part-pass[hidden], .v6-part-pass [hidden], .v6-part-pass-job [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__titles { flex: 1; min-width: 0; }
.v6-part-pass__titles h2:focus { outline: none; }
.v6-part-pass__titles h2:focus-visible { outline: 2px solid #22d3ee; outline-offset: 3px; border-radius: 4px; }
.v6-part-pass .v6-part-pass__close { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; padding: 0; font-size: 19px; line-height: 1; color: var(--text-secondary); cursor: pointer; }
.v6-part-pass .v6-part-pass__close:hover { color: var(--text-primary); border-color: color-mix(in srgb, var(--accent-primary) 60%, var(--border-default)); }
.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__choices { display: grid; grid-template-columns: minmax(0, 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 select:disabled, .v6-part-pass button:disabled { opacity: .5; cursor: not-allowed; }
.v6-part-pass button { cursor: pointer; }
.v6-part-pass button:focus-visible, .v6-part-pass select:focus-visible, .v6-part-pass input:focus-visible, .v6-part-pass summary:focus-visible { outline: 2px solid #22d3ee; outline-offset: 2px; }
.v6-part-pass__scope-summary { margin: 10px 2px 0; color: var(--text-secondary); font-size: 11px; line-height: 1.45; }
.v6-part-pass__scope-summary.is-problem { color: #fcd34d; }
.v6-part-pass__lock { margin: 6px 2px 0; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__notice { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0 0; padding: 10px 12px; border: 1px solid rgba(245,158,11,.42); border-radius: 9px; background: rgba(120,53,15,.2); }
.v6-part-pass__notice p { flex: 1 1 240px; margin: 0; color: #fde68a; font-size: 11px; line-height: 1.45; }
.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__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__setup > .v6-part-pass__direction { display: grid; gap: 7px; margin-top: 14px; color: var(--text-secondary); font-size: 12px; }
/* Review and stale views keep the controls (they describe the NEXT take) but
   make them quieter than the take itself. */
.v6-part-pass__outcome { order: 1; }
.v6-part-pass__audition { order: 2; }
.v6-part-pass:is([data-view="review"], [data-view="stale"], [data-view="recovery"]) .v6-part-pass__progress { order: 3; }
.v6-part-pass:is([data-view="review"], [data-view="stale"]) .v6-part-pass__setup { order: 4; opacity: .92; }
.v6-part-pass__confirm, .v6-part-pass__alert, .v6-part-pass__status { order: 5; }
.v6-part-pass__sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.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 { position: absolute; inset-block: 0; left: 0; width: 0; 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__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; }
/* A run that stopped short: the write stage needs attention, not "in progress". */
.v6-part-pass__stages .is-attention { color: #fde68a; }
.v6-part-pass__stages .is-attention i { border-color: #f59e0b; background: #78350f; color: transparent; }
.v6-part-pass__stages .is-attention i::after { content: '!'; position: absolute; color: #fde68a; }
.v6-part-pass__map-head { display: flex; justify-content: space-between; margin: 14px 0 7px; color: var(--text-primary); font-size: 10px; font-weight: 650; }
.v6-part-pass__map-head small { color: var(--text-secondary); font-size: 10px; font-weight: 400; }
/* Passage map: every state differs in PATTERN as well as colour — solid
   (ready), a rest bar (rest), hatching (original kept), dashed outline
   (pending), stripes (writing), "!" (needs attention) — plus its label. */
.v6-part-pass__bar-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(14px, 1fr)); gap: 3px; }
.v6-part-pass__cell { position: relative; display: block; height: 14px; box-sizing: border-box; border: 1px solid transparent; border-radius: 3px; cursor: pointer; transition: background .2s, box-shadow .2s; }
.v6-part-pass__cell[data-state="pending"] { background: transparent; border: 1px dashed color-mix(in srgb, var(--text-secondary) 55%, transparent); }
.v6-part-pass__cell[data-state="writing"] { border-color: #a855f7; background: repeating-linear-gradient(115deg, rgba(168,85,247,.55) 0 3px, transparent 3px 6px); animation: pass-cell 1.2s ease-in-out infinite alternate; }
.v6-part-pass__cell[data-state="ready"] { background: linear-gradient(90deg, #7c3aed, #22d3ee); }
.v6-part-pass__cell[data-state="rest"] { border-color: #22d3ee; background: color-mix(in srgb, var(--surface-400, #24202d) 85%, transparent); }
.v6-part-pass__cell[data-state="rest"]::after { content: ''; position: absolute; left: 25%; right: 25%; top: 50%; height: 2px; margin-top: -1px; background: #67e8f9; }
.v6-part-pass__cell[data-state="retained"] { border-color: #f59e0b; background: repeating-linear-gradient(135deg, #b45309 0 2px, rgba(217,119,6,.2) 2px 5px); }
.v6-part-pass__cell[data-state="attention"] { border-color: #fb7185; background: #9f1239; }
.v6-part-pass__cell[data-state="attention"]::after { content: '!'; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font: 700 9px/1 ui-monospace, monospace; }
.v6-part-pass__cell[aria-selected="true"] { box-shadow: 0 0 0 2px var(--surface-300, #18181b), 0 0 0 4px #f5f3ff; }
.v6-part-pass__cell:focus-visible { outline: 2px solid #22d3ee; outline-offset: 2px; }
.v6-part-pass__legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 10px 0 0; padding: 0; list-style: none; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__legend li { display: flex; align-items: center; gap: 6px; }
.v6-part-pass__legend .v6-part-pass__cell { width: 14px; cursor: default; animation: none; }
.v6-part-pass__cell-detail { min-height: 14px; margin: 8px 0 0; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__status { min-height: 15px; margin: 0; color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__alert { margin: 0; padding: 9px 12px; border: 1px solid rgba(244,63,94,.5); border-radius: 9px; background: rgba(136,19,55,.22); color: #fecdd3; font-size: 11px; line-height: 1.45; }
/* Outcome: recovery (warn), review (ok) and stale. */
.v6-part-pass__outcome { display: grid; gap: 7px; padding: 16px 18px; border: 1px solid rgba(16,185,129,.42); border-radius: 12px; background: linear-gradient(110deg, rgba(6,78,59,.3), color-mix(in srgb, var(--surface-300) 90%, transparent)); }
.v6-part-pass__outcome[data-tone="warn"] { border-color: rgba(245,158,11,.5); background: linear-gradient(110deg, rgba(120,53,15,.3), color-mix(in srgb, var(--surface-300) 90%, transparent)); }
.v6-part-pass__outcome[data-tone="stale"] { border-color: rgba(244,63,94,.5); background: linear-gradient(110deg, rgba(136,19,55,.28), color-mix(in srgb, var(--surface-300) 90%, transparent)); }
.v6-part-pass__outcome h3 { margin: 0; color: var(--text-primary); font-size: 15px; line-height: 1.35; letter-spacing: -.01em; }
.v6-part-pass__outcome h3:focus { outline: none; }
.v6-part-pass__outcome p { margin: 0; color: var(--text-secondary); font-size: 11px; line-height: 1.5; }
.v6-part-pass__outcome .v6-part-pass__saved { color: var(--text-primary); }
.v6-part-pass__settings-note { padding: 7px 10px; border: 1px dashed rgba(245,158,11,.55); border-radius: 8px; color: #fde68a !important; }
.v6-part-pass__counts { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
.v6-part-pass__counts li { padding: 3px 9px; border: 1px solid var(--border-default); border-radius: 999px; background: rgba(0,0,0,.16); color: var(--text-secondary); font-size: 10px; }
.v6-part-pass__outcome-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.v6-part-pass__outcome-actions:not(:has(button:not([hidden]))) { display: none; }
.v6-part-pass__diagnostic { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 10px !important; }
.v6-part-pass__diagnostic code { padding: 2px 6px; border-radius: 5px; background: rgba(0,0,0,.28); color: var(--text-primary); font: 11px ui-monospace, monospace; user-select: all; }
.v6-part-pass__diagnostic button { padding: 3px 8px; font-size: 10px; }
/* What the take's requests measured: collapsed until asked for. */
.v6-part-pass__details { border-top: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent); padding-top: 6px; }
.v6-part-pass__details summary { color: var(--text-secondary); cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.v6-part-pass__details dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 12px; margin: 8px 0 2px; font-size: 10px; }
.v6-part-pass__details dt { color: var(--text-secondary); }
.v6-part-pass__details dd { margin: 0; overflow-wrap: anywhere; color: var(--text-primary); font-family: ui-monospace, monospace; }
.v6-part-pass__plan-note { margin: 8px 2px 0; color: var(--text-secondary); font-size: 10px; line-height: 1.45; }
.v6-part-pass__audition { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v6-part-pass__audition > span { color: var(--text-secondary); font-size: 10px; }
.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[aria-pressed="true"] { color: #ecfdf5; background: #047857; box-shadow: 0 2px 8px rgba(5,150,105,.3); }
.v6-part-pass__confirm { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid rgba(244,63,94,.5); border-radius: 9px; background: rgba(136,19,55,.22); }
.v6-part-pass__confirm p { flex: 1 1 240px; margin: 0; color: var(--text-primary); font-size: 11px; line-height: 1.45; }
.v6-part-pass .is-danger { border-color: #fb7185; background: #9f1239; color: #fff; }
.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 .is-primary { 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); color: #fff; }
.v6-part-pass .is-accept { border-color: #34d399; background: linear-gradient(135deg, #047857, #059669); box-shadow: 0 5px 16px rgba(5,150,105,.22); color: #fff; }
/* A disabled primary must LOOK disabled; a blocked Keep (stale take) is struck through. */
.v6-part-pass :is(.is-accept, .is-primary):disabled { border-color: var(--border-default); background: var(--surface-400); box-shadow: none; color: var(--text-secondary); cursor: not-allowed; opacity: .7; }
.v6-part-pass .is-accept[data-blocked="true"] { border-style: dashed; border-color: rgba(244,63,94,.55); text-decoration: line-through; text-decoration-color: rgba(244,63,94,.8); }
.v6-part-pass [data-pass="discard"] { color: #fecdd3; }
/* The orb only moves while a phrase is being written. */
.v6-part-pass:not([data-view="running"]) .v6-part-pass__orb i,
.v6-part-pass:not([data-view="running"]) .v6-part-pass__progress::before { animation: none; }
.v6-part-pass[data-view="review"] .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:is([data-view="recovery"], [data-view="stale"]) .v6-part-pass__orb { background: radial-gradient(circle at 36% 30%, #fde68a, #d97706 52%, #78350f); }
/* Minimized writer: one compact card per job, above the app, below modals. */
.v6-part-pass-jobs { position: fixed; right: 16px; bottom: 44px; z-index: var(--z-overlay, 800); display: grid; gap: 8px; width: min(340px, calc(100vw - 32px)); pointer-events: none; }
.v6-part-pass-job { pointer-events: auto; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--accent-primary) 45%, var(--border-default, #3f3f46)); border-radius: 12px; background: var(--surface-300, #18181b); box-shadow: 0 14px 40px rgba(0,0,0,.5); color: var(--text-primary, #fafafa); }
.v6-part-pass-job__copy { min-width: 0; }
.v6-part-pass-job strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.v6-part-pass-job__copy span { display: block; color: var(--text-secondary, #a1a1aa); font-size: 10px; }
.v6-part-pass-job button { padding: 6px 10px; border: 1px solid var(--border-default, #3f3f46); border-radius: 7px; background: var(--surface-400, #1f1f23); color: var(--text-primary, #fafafa); font: inherit; font-size: 11px; cursor: pointer; }
.v6-part-pass-job button:focus-visible { outline: 2px solid #22d3ee; outline-offset: 2px; }
.v6-part-pass-job__hide { width: 28px; padding: 4px !important; line-height: 1; }
.v6-part-pass-job__dot { width: 9px; height: 9px; border-radius: 50%; background: #a855f7; box-shadow: 0 0 0 4px rgba(168,85,247,.18); animation: pass-pulse 1.4s ease-in-out infinite; }
.v6-part-pass-job[data-state="ready"] .v6-part-pass-job__dot { background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,.18); animation: none; }
.v6-part-pass-job[data-state="attention"] .v6-part-pass-job__dot { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245,158,11,.18); animation: none; }
.v6-part-pass-job[data-state="idle"] .v6-part-pass-job__dot { background: var(--text-secondary, #a1a1aa); animation: none; }
@keyframes pass-orbit { to { transform: rotate(360deg); } }
@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); } }
@keyframes pass-pulse { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) {
    .v6-part-pass__progress::before, .v6-part-pass__orb i, .v6-part-pass__cell, .v6-part-pass-job__dot { animation: none !important; }
    .v6-part-pass__meter-fill, .v6-part-pass__cell { transition: 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__choices { grid-template-columns: 1fr; }
    .v6-part-pass__footer { flex-wrap: wrap; }
    .v6-part-pass__footer > span { display: none; }
    .v6-part-pass__footer > button { flex: 1 1 auto; }
    .v6-part-pass-jobs { right: 16px; left: 16px; width: auto; }
}
