/* Compact channel shelves: artist notes beside the screen, with native scrolling. */
.channel-room{display:grid;grid-template-columns:minmax(150px,180px) minmax(0,1fr);gap:10px 20px;max-width:820px;margin:26px 0 30px;padding:16px;border:1px solid #8f7c9a40;border-radius:10px;background:#0b0910;position:relative;min-width:0;box-shadow:0 10px 24px #0002,inset 0 1px #e5d7f20b}
.channel-room-head{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;margin:0;min-width:0}.channel-room-head>div{min-width:0}
html body.nocturne .channel-room .eyebrow{color:#c6b9d0;font:400 .55rem/1.5 var(--mono);letter-spacing:.1em;margin:0}
html body.nocturne .channel-room h3{font:400 clamp(1.35rem,2.2vw,1.75rem)/1.2 var(--serif);margin:5px 0 8px;letter-spacing:-.02em}
html body.nocturne .channel-room-head p:not(.eyebrow){max-width:42ch;font:400 .8125rem/1.6 var(--body);color:var(--bone-dim);margin:0}
.channel-subscribe{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:9px 10px;border:1px solid #bda1c040;border-radius:5px;font:400 .55rem/1.5 var(--mono);color:var(--bone);white-space:nowrap}.channel-subscribe:hover{border-color:#d7a0ce}
.channel-room--dj{background:linear-gradient(145deg,#14111a,#08080d 60%)}
/* A slim mixer cue, not a second full-size console. All decoration is aria-hidden. */
.console-trim{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:4px 12px;border-block:1px solid #a38bb424;background:linear-gradient(100deg,#08070c,#15101a,#08070c);border-radius:5px;color:#ac98b7}
.console-disc{position:relative;display:grid;place-items:center;flex:none;width:28px;aspect-ratio:1;border:1px solid #aa8bc12e;border-radius:50%;background:repeating-radial-gradient(circle,#0a080e 0 2px,#35263e 2.5px 3px,#0a080e 3.5px 5px)}.console-disc img{width:13px;height:auto;aspect-ratio:1;opacity:.75}.console-disc:after{content:'';position:absolute;right:-3px;top:5px;width:12px;height:1px;background:#cbb5bd80;transform:rotate(-48deg);transform-origin:right}
.console-centre{display:flex;align-items:center;justify-content:center;gap:15px;min-width:0}.console-caption{font:.48rem var(--mono);letter-spacing:.07em}.console-faders{display:flex;gap:10px}.console-faders i{display:block;width:1px;height:16px;background:#8c6b9b50;position:relative}.console-faders i:after{content:'';position:absolute;left:-3px;top:5px;width:7px;height:3px;border:1px solid #b5a0c260;background:#211829}.console-faders i:nth-child(2n):after{top:10px}.console-faders i:nth-child(3):after{top:2px}
.shelf-rail{grid-column:2;grid-row:2;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;overscroll-behavior-x:contain;scrollbar-color:#806584 #0c0911;scrollbar-width:thin;padding:2px 2px 8px;margin:0;list-style:none;min-width:0}
.shelf-card{flex:0 0 240px;scroll-snap-align:start;scroll-margin:2px;min-width:0}.shelf-card>a{position:relative;display:block;height:100%;border:1px solid #a18ca538;border-radius:6px;overflow:hidden;background:#100d16;color:var(--bone)}.shelf-card>a:hover{border-color:#c49ccd8c}.shelf-card>a:focus-visible{outline:2px solid var(--sakura);outline-offset:-3px}
.shelf-art{position:relative;background:#100c16;overflow:hidden}.shelf-art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transition:transform .5s ease}.shelf-card>a:hover .shelf-art img{transform:scale(1.012)}.shelf-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 2px 12px #000}.shelf-play:before{content:'▷';display:grid;place-items:center;width:36px;height:36px;border:1px solid #ded2e38c;border-radius:50%;background:#08060bd9;font-size:1.1rem}.shelf-duration{position:absolute;right:6px;bottom:6px;padding:3px 5px;border-radius:3px;font:.6rem var(--mono);background:#07050fe8;color:#eee7e0}
.shelf-copy{padding:10px 11px}
html body.nocturne .shelf-copy h4{font:400 1.0625rem/1.3 var(--serif);margin:0 0 5px;letter-spacing:0}
html body.nocturne .shelf-copy p{margin:0;font:.75rem/1.55 var(--body);color:var(--bone-dim)}
html body.nocturne .shelf-copy .shelf-kind{font:.5rem/1.5 var(--mono);letter-spacing:.075em;color:#c9acd4;margin:0 0 5px}
.shelf-bottom{grid-column:2;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;min-width:0}.shelf-bottom>a{display:inline-flex;align-items:center;min-height:44px;font:.6rem/1.6 var(--mono);color:#ceb7d6;padding:8px 0}.shelf-controls{display:flex;flex:none;gap:7px}.shelf-controls[hidden]{display:none}.shelf-controls button{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #aa8cb855;border-radius:5px;background:#1a1320;color:var(--bone);font-size:1.1rem;cursor:pointer}.shelf-controls button:disabled{opacity:.3;cursor:default}.shelf-controls button:not(:disabled):hover{border-color:#c99bd0}
.channel-room--lotus{max-width:1040px;border-color:#b6919838;background:radial-gradient(ellipse at 85% 5%,#b4778c09,transparent 60%),#0d0b10}.channel-room--lotus:before{content:none}.channel-room--lotus .shelf-rail{grid-row:1/3}.channel-room--lotus .shelf-card{flex-basis:138px}.channel-room--lotus .shelf-art img{aspect-ratio:4/5;object-fit:contain;background:#08060b}.channel-room--lotus .shelf-copy{padding:9px}
html body.nocturne .channel-room--lotus .shelf-copy h4{font-size:1rem;font-style:italic}
html body.nocturne .channel-room--lotus .shelf-copy p{font-size:.7rem;line-height:1.5}
html body.nocturne .channel-room--lotus .shelf-kind{font-size:.5rem;color:#d6b5be}.channel-room--lotus .shelf-card>a{background:#110d13;border-color:#b898a132}
.dual-youtube{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.dual-youtube a{padding:20px 24px;border:1px solid #b794ba45;border-radius:8px;background:#0d0a12;display:flex;flex-direction:column;gap:8px;color:var(--bone)}.dual-youtube strong{font:400 1.5rem/1.3 var(--serif)}.dual-youtube small{font:.68rem/1.7 var(--body);color:var(--bone-dim)}.dual-youtube a:last-child{border-color:#c48e9b38}.dual-youtube a:last-child strong{font-style:italic}.identity-bridge{font:.66rem/1.8 var(--mono);letter-spacing:.025em;color:#c5b5cd;margin:17px 0}.identity-bridge a{display:inline-block;border-bottom:1px solid #7c647944}
@media(max-width:650px){
 .channel-room{display:flex;flex-direction:column;gap:10px;padding:14px 12px;margin-block:24px;max-width:100%}
 .channel-room-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;margin:0}
 .channel-room-head>div{display:contents}
 html body.nocturne .channel-room .eyebrow{grid-column:1;grid-row:1;font-size:.48rem;letter-spacing:.075em}
 html body.nocturne .channel-room h3{grid-column:1;grid-row:2;font-size:1.25rem;margin:0;line-height:1.2}
 html body.nocturne .channel-room-head p:not(.eyebrow){grid-column:1/-1;grid-row:3;font-size:.8rem;line-height:1.6;margin-top:4px}
 .channel-subscribe{grid-column:2;grid-row:1/3;align-self:center;margin:0;padding:8px;font-size:.5rem}
 .console-trim{flex:none;padding:4px 9px;gap:9px}.console-disc{width:24px}.console-disc img{width:12px}.console-centre{gap:10px}.console-caption{font-size:.45rem;letter-spacing:.04em}.console-faders{gap:8px}
 .shelf-rail{flex:none;gap:10px;width:100%;padding-bottom:7px}
 .shelf-card{flex-basis:min(86%,240px)}
 .channel-room--lotus .shelf-card{flex-basis:132px}
 .shelf-copy{padding:9px 10px}
 .shelf-bottom{gap:8px;flex:none}.shelf-bottom>a{font-size:.57rem}
 .dual-youtube{grid-template-columns:1fr}.dual-youtube a{padding:20px}
}
@media(prefers-reduced-motion:reduce){.shelf-art img{transition:none}.shelf-rail{scroll-behavior:auto}}
@media(forced-colors:active){.channel-room,.shelf-card>a,.channel-subscribe,.dual-youtube a{background:Canvas;border-color:CanvasText;color:CanvasText;box-shadow:none}.console-trim{display:none}.shelf-play{color:CanvasText}.shelf-play:before,.shelf-controls button{background:Canvas;color:CanvasText;border-color:CanvasText}}

/* Mini editions: a DJ equipment strip and a distinct portrait journal. */
.channel-room--dj .shelf-card{flex-basis:280px}
.channel-room--dj .shelf-card>a{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;min-height:100px;border-radius:5px;background:linear-gradient(110deg,#08070c,#18131d);box-shadow:inset 0 1px #d8c9df0b}
.channel-room--dj .shelf-art{width:104px;height:100px;border-right:1px solid #a18ca52a}
.channel-room--dj .shelf-art img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.channel-room--dj .shelf-copy{padding:10px 12px}
html body.nocturne .channel-room--dj .shelf-copy h4{font-size:1rem;line-height:1.3;margin:0}
.channel-room--dj .shelf-play:before{width:28px;height:28px;font-size:.9rem}
.channel-room--dj .shelf-duration{right:4px;bottom:4px;font-size:.54rem;padding:2px 4px}
/* Supporting captions remain in each link's accessible name, outside the visual
   flow. Titles, time stamps and play cues remain visible; no text is removed. */
.channel-room .shelf-copy{position:relative}
html body.nocturne .channel-room .shelf-copy p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:normal}
.channel-room--lotus{max-width:920px;border-inline:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#100c13,#0b090ee0);border-block-color:#b6919830}
.channel-room--lotus .shelf-rail{gap:12px}
.channel-room--lotus .shelf-card{flex-basis:100px}
.channel-room--lotus .shelf-card>a{border:0;border-bottom:1px solid #b898a12d;border-radius:0;background:transparent;box-shadow:none}
.channel-room--lotus .shelf-card>a:hover{border-bottom-color:#d1acb380}
.channel-room--lotus .shelf-art{height:125px;border-radius:3px}
.channel-room--lotus .shelf-art img{height:125px;aspect-ratio:4/5;object-fit:contain}
.channel-room--lotus .shelf-copy{padding:8px 2px 6px}
html body.nocturne .channel-room--lotus .shelf-copy h4{font-size:.9375rem;line-height:1.25;margin:0;font-style:italic}
.channel-room--lotus .shelf-play:before{width:26px;height:26px;border-color:#ded2e378;font-size:.85rem}
.channel-room--lotus .shelf-duration{right:4px;bottom:4px;font-size:.54rem;padding:2px 4px}
@media(max-width:650px){
 .channel-room--dj .shelf-card{flex-basis:min(94%,280px)}
 .channel-room--dj .shelf-card>a{grid-template-columns:88px minmax(0,1fr);min-height:94px}
 .channel-room--dj .shelf-art{width:88px;height:94px}
 .channel-room--dj .shelf-copy{padding:9px 10px}
 .channel-room--lotus .shelf-card{flex-basis:100px}
 .channel-room--lotus .shelf-rail{gap:10px}
}
@media(forced-colors:active){.channel-room--dj .shelf-card>a,.channel-room--lotus,.channel-room--lotus .shelf-card>a{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}}

/* Bespoke miniature finishes. Decorations are non-interactive and add no rows. */
.channel-room--dj{border-color:#7c718c4d;background:linear-gradient(150deg,#1b1720,#0a080f 65%);box-shadow:inset 0 1px #ddd3e312,inset 0 -2px #020104,0 8px 20px #0002}
.channel-room--dj .console-trim{border-color:#a997bc32;box-shadow:inset 0 1px #0007,inset 0 -1px #cfbdd90b}
/* Seven ivory keys, with the familiar two/three black-key grouping. */
.channel-room--dj .console-centre:after{content:'';display:block;flex:none;width:84px;height:20px;border:1px solid #65546566;border-radius:1px 1px 3px 3px;background:linear-gradient(90deg,transparent 0 10%,#100c14 10% 17%,transparent 17% 25%,#100c14 25% 32%,transparent 32% 53%,#100c14 53% 60%,transparent 60% 68%,#100c14 68% 75%,transparent 75% 82%,#100c14 82% 89%,transparent 89%) top/100% 61% no-repeat,repeating-linear-gradient(90deg,#aa9e94 0 calc(14.285% - 1px),#493c48 calc(14.285% - 1px) 14.285%);box-shadow:inset 0 -2px #51434f;opacity:.8}
.channel-room--dj .shelf-card>a{border-color:#9584a344;background:linear-gradient(105deg,#07060a,#1d1624);box-shadow:inset 0 1px #eee3f213,inset 0 -2px #030105}
.channel-room--dj .shelf-copy:after{content:'';position:absolute;right:10px;bottom:4px;width:42px;height:2px;background:linear-gradient(90deg,#a259ff 0 14.28%,#5b4bff 14.28% 28.56%,#2fb5ff 28.56% 42.84%,#1ef0a8 42.84% 57.12%,#ffe14d 57.12% 71.4%,#ff8a3d 71.4% 85.68%,#ff2d55 85.68%);opacity:.35;filter:blur(.25px);pointer-events:none}
.channel-room--dj .shelf-controls button{border-radius:3px 3px 6px 6px;background:linear-gradient(#c9bfb3,#a29489);border-color:#bcb0a082;color:#18111d;box-shadow:inset 0 -3px #756770,inset 0 1px #f4ece06b}
.channel-room--dj .shelf-controls button:not(:disabled):hover{background:linear-gradient(#dbd0c3,#b6a495);border-color:#d4b1ce}
/* A black cloth-bound journal with small, warm matted picture frames. */
.channel-room--lotus{background:linear-gradient(90deg,#24171d50 0 10px,transparent 10px),radial-gradient(ellipse at 15% 0,#946c7810,transparent 65%),#0c090f;border-block-color:#a784883d}
.channel-room--lotus:before{content:'';position:absolute;left:6px;top:15px;bottom:15px;width:2px;background:linear-gradient(transparent,#ae83884d 15%,#ae83884d 85%,transparent);pointer-events:none}
.channel-room--lotus .shelf-card>a{border-bottom-color:#bc939541;background:transparent}
.channel-room--lotus .shelf-art{height:125px;padding:4px;border-radius:3px;background:#382a2e;box-shadow:0 2px 5px #0005}
.channel-room--lotus .shelf-art img{height:117px;object-fit:cover;background:#08060b}
.channel-room--lotus .shelf-art:before{content:'';position:absolute;inset:1px;border:1px solid #bca39b57;border-radius:2px;box-shadow:inset 0 0 0 2px #120c1066;pointer-events:none;z-index:1}
.channel-room--lotus .shelf-art:after{content:'';position:absolute;inset:2px;background:linear-gradient(#c7aaa166,#c7aaa166) left top/8px 1px no-repeat,linear-gradient(#c7aaa166,#c7aaa166) left top/1px 8px no-repeat,linear-gradient(#c7aaa166,#c7aaa166) right bottom/8px 1px no-repeat,linear-gradient(#c7aaa166,#c7aaa166) right bottom/1px 8px no-repeat;pointer-events:none;z-index:1}
.channel-room--lotus .shelf-play,.channel-room--lotus .shelf-duration{z-index:2}
.channel-room--lotus .shelf-copy{padding-top:9px;padding-bottom:5px}
.channel-room--lotus .shelf-controls button{background:#171014;border-color:#b58d8a5c;border-radius:50%;color:#dfcac2;box-shadow:none}
.channel-room--lotus .shelf-controls button:not(:disabled):hover{background:#25191f;border-color:#d1aaa3}
@media(max-width:650px){
 .channel-room--dj .console-caption{display:none}
 .channel-room--dj .console-centre{gap:12px}
 .channel-room--dj .console-centre:after{width:68px;height:18px}
}
@media(forced-colors:active){
 .channel-room--dj,.channel-room--lotus,.channel-room--dj .shelf-card>a,.channel-room--lotus .shelf-art,.channel-room--dj .shelf-controls button,.channel-room--lotus .shelf-controls button{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .channel-room--lotus:before,.channel-room--lotus .shelf-art:before,.channel-room--lotus .shelf-art:after,.channel-room--dj .shelf-copy:after{display:none}
}

/* Circular track platters, inspired by the owner's compact slider reference. */
.channel-room--dj .shelf-card{flex-basis:260px;--deck-glow:#bb87d5}
.channel-room--dj .shelf-card:nth-child(7n+2){--deck-glow:#9691d0}
.channel-room--dj .shelf-card:nth-child(7n+3){--deck-glow:#78b6d3}
.channel-room--dj .shelf-card:nth-child(7n+4){--deck-glow:#8bbda4}
.channel-room--dj .shelf-card:nth-child(7n+5){--deck-glow:#c9bd89}
.channel-room--dj .shelf-card:nth-child(7n+6){--deck-glow:#ccaa8b}
.channel-room--dj .shelf-card:nth-child(7n+7){--deck-glow:#c995a4}
.channel-room--dj .shelf-card>a{grid-template-columns:94px minmax(0,1fr);gap:10px;min-height:116px;padding:10px;border-radius:8px;background:radial-gradient(ellipse at 20% 0,#b39bb00c,transparent 70%),linear-gradient(130deg,#17141c,#09080d);box-shadow:inset 0 1px #eee3f21a,inset 0 -3px #030105,0 3px 6px #0004}
.channel-room--dj .shelf-art{display:grid;place-items:center;width:94px;height:94px;border:1px solid #a799b056;border-radius:50%;overflow:visible;background:repeating-radial-gradient(circle,#15121b 0 2px,#342b3b 2.5px 3px,#111016 3.5px 5px);box-shadow:0 2px 8px #000a,inset 0 0 0 3px #08070c,inset 0 0 0 4px #94879755}
.channel-room--dj .shelf-art:before{content:'';position:absolute;inset:5px;border-radius:50%;border:1px solid var(--deck-glow);opacity:.4;box-shadow:0 0 6px var(--deck-glow);pointer-events:none;transition:opacity .3s}
.channel-room--dj .shelf-art:after{content:'';position:absolute;right:-2px;top:6px;width:23px;height:3px;border-radius:2px;background:linear-gradient(#d2c6c8,#62556b);box-shadow:0 2px 2px #0008;transform:rotate(-46deg);transform-origin:right;pointer-events:none}
.channel-room--dj .shelf-art img{width:68px;height:68px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid #b9a5b345;filter:brightness(.82)}
.channel-room--dj .shelf-card>a:hover .shelf-art:before,.channel-room--dj .shelf-card>a:focus-visible .shelf-art:before{opacity:.7}
.channel-room--dj .shelf-copy{padding:4px 0 8px;min-width:0}
html body.nocturne .channel-room .shelf-copy h4{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
html body.nocturne .channel-room--dj .shelf-copy h4{font-size:.9375rem;line-height:1.3;max-height:3.9em}
.channel-room--dj .shelf-duration{right:50%;bottom:0;transform:translate(50%,45%);font-size:.5rem;white-space:nowrap}
.channel-room--dj .shelf-play:before{width:30px;height:30px;border-color:#e6d6e2a0;background:#09070cbb}
.channel-room--dj .console-disc{visibility:hidden}
@media(max-width:650px){.channel-room--dj .shelf-card{flex-basis:min(94%,260px)}}
@media(prefers-reduced-motion:reduce){.channel-room--dj .shelf-art:before{transition:none}}
@media(forced-colors:active){.channel-room--dj .shelf-art{background:Canvas;border-color:CanvasText;box-shadow:none}.channel-room--dj .shelf-art:before,.channel-room--dj .shelf-art:after{display:none}}

/* Archive browsing stays inside the same compact horizontal shelf. */
.shelf-bottom{gap:8px;flex-wrap:wrap}.shelf-browse{display:flex;align-items:center;gap:8px;min-width:0}.shelf-browse:has([data-channel-more][hidden]){display:none}
[data-channel-more]{min-height:44px;padding:6px 8px;border:1px solid #aa8cb83d;border-radius:5px;background:#110d17;color:var(--bone);font:400 .65rem/1.4 var(--body);cursor:pointer;white-space:nowrap}[data-channel-more][hidden]{display:none}[data-channel-more]:hover{border-color:#c99bd0}[data-channel-more]:focus-visible{outline:2px solid var(--sakura);outline-offset:2px}[data-channel-more]:disabled,[data-channel-more][aria-disabled="true"]{color:var(--bone-dim);cursor:default}
[data-channel-status]{font:.6rem/1.4 var(--body);color:var(--bone-dim);max-width:12ch}.shelf-bottom>a{margin-left:auto}.shelf-bottom .shelf-controls{margin-left:auto}
@media(max-width:400px){.shelf-bottom{gap:4px}.shelf-browse{gap:4px}[data-channel-status]{max-width:9ch}.shelf-bottom>a{font-size:.52rem}.shelf-controls{gap:4px}}
html body.nocturne .channel-room .shelf-bottom button{background:#17111d;color:var(--bone);box-shadow:inset 0 1px #ded0e80b;border:1px solid #aa8cb84d;border-radius:5px}
html body.nocturne .channel-room .shelf-bottom button:not(:disabled):not([aria-disabled="true"]):hover{background:#24192c;border-color:#b997c0}
@media(forced-colors:active){html body.nocturne .channel-room .shelf-bottom button{background:ButtonFace;color:ButtonText;border-color:ButtonText}}

.shelf-play--external:before{content:"↗"}
/* Spread a short row of miniature frames across the available album width. */
.channel-room--lotus .shelf-rail{justify-content:space-between}
