/* Generated by tools/finish-pages.mjs from player.css + site-shell.css. Edit those files, then run npm run build:finish. */
/* player.css */
:root{--ink:#110f0e;--panel:#191613;--paper:#f2eee6;--gold:#d8b77c;--red:#bb2830;--muted:#a99e90;--line:#d8b77c26;--body:'Manrope',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif;--serif:'Bodoni Moda',Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:13px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled,input:disabled{cursor:default}button:disabled{opacity:.32}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}em{font-family:var(--serif);font-weight:500}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{width:0;height:0;position:absolute;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:10;transform:translateY(-200%);background:var(--gold);color:var(--ink);padding:12px}.skip-link:focus{transform:none}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--ink)}
.listening-room{min-height:100svh;display:grid;grid-template-rows:85px minmax(600px,1fr) 116px;background:var(--ink)}
.room-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 38px;border-bottom:1px solid var(--line)}.room-brand img{width:200px;height:auto}.room-name{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:2.8px;color:var(--gold)}.tiny-star{font-size:17px}.room-header-actions{display:flex;align-items:center;gap:22px}.back-link{display:flex;align-items:center;gap:8px;font-size:10px;color:#c8bcac}.back-link .icon{width:16px}.back-link:hover{color:var(--gold)}.icon-button{width:38px;height:38px;background:transparent;display:inline-flex;align-items:center;justify-content:center;position:relative;color:#c3b7a6;flex-shrink:0}.icon-button:hover:not(:disabled){color:var(--paper)}#fullscreen-button{border:1px solid var(--line);width:36px;height:36px}#fullscreen-button .icon{width:17px;height:17px}
.room-main{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:0}.listening-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 40px 28px;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#5d242d29,transparent 60%)}.stage-heading{text-align:center;z-index:1}.eyebrow{font-size:8px;font-weight:600;letter-spacing:2.2px;color:var(--gold);line-height:1.7}.stage-heading h1{font-family:var(--display);font-size:50px;font-weight:500;line-height:1.15;letter-spacing:-.5px}.stage-heading h1 em{font-size:.95em;color:var(--gold);letter-spacing:-1.8px}.record-scene{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:30px}.record-halo{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#9b33242b 10%,#b74d2630 36%,transparent 67%);top:-38px;pointer-events:none}.record{width:278px;height:278px;border:1px solid #c8a56b33;border-radius:50%;display:grid;place-items:center;position:relative;background:repeating-radial-gradient(circle at center,#181716 0px,#181716 1px,#23201c 2px,#141312 3px);box-shadow:0 14px 45px #0008,inset 0 0 0 12px #100e0e,inset 0 0 0 13px #63574766;animation:turntable 24s linear infinite;animation-play-state:paused}.record:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 40deg,transparent 0deg,#e6d0a522 35deg,transparent 65deg,transparent 180deg,#e6d0a514 230deg,transparent 270deg);pointer-events:none}.record:after{content:'';position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:#0b0a09;border:1px solid #d8b77c55;transform:translate(-50%,-50%)}.record-label{width:124px;height:124px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#57151c;border:1px solid #d8b77c4d;box-shadow:0 0 0 5px #100f0d;gap:8px;overflow:hidden}.record-label>img{width:80px;height:80px;object-fit:contain}.record-label>span{font-size:4px;letter-spacing:1.3px;color:#e5c48e}.is-playing .record{animation-play-state:running}
.visualizer-wrap{width:min(600px,100%);position:relative;margin-top:18px}.visualizer-wrap canvas{display:block;width:100%;height:69px}.stage-now-playing{text-align:center;margin-top:16px;max-width:100%;min-height:72px}.stage-now-playing .eyebrow{font-size:7px;letter-spacing:1.9px}.stage-now-playing h2{font-family:var(--display);font-size:31px;font-weight:500;line-height:1.2;margin-top:8px;overflow-wrap:anywhere}.stage-now-playing>p:last-child{margin-top:9px;font-size:10px;color:var(--muted)}
.library-panel{border-left:1px solid var(--line);background:#181512;display:flex;flex-direction:column;min-height:0;padding:30px 25px 21px}.library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.library-heading h2{font-family:var(--display);font-size:36px;font-weight:500;line-height:1.1}.library-heading h2 em{font-size:.97em;color:var(--gold);letter-spacing:-1px}.track-count{font-size:8px;color:#b7ab9b;padding-bottom:4px;white-space:nowrap}.track-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:11px 12px;margin-top:24px;background:#110f0e66}.track-search .icon{width:15px;height:15px;color:var(--muted)}.track-search input{min-width:0;width:100%;background:none;color:var(--paper);border:0;outline-offset:10px;font-size:10px}.track-search input::placeholder{color:#a99b8a}.genre-filters{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 21px}.genre-filters button{font-size:8px;padding:7px 10px;border:1px solid var(--line);background:none;color:#bcaf9e;border-radius:2px}.genre-filters button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1b1510}.genre-filters button:hover{border-color:#d8b77c70}.track-list-wrap{flex:1;position:relative;min-height:235px;overflow-y:auto;max-height:calc(100svh - 320px);scrollbar-width:thin;scrollbar-color:#67513c transparent}.track-list{padding:0;margin:0;list-style:none}.track-list li{border-top:1px solid var(--line)}.track-button{display:grid;grid-template-columns:19px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;border:0;text-align:left;padding:14px 7px;background:none;border-left:2px solid transparent;color:var(--paper)}.track-button:hover{background:#d8b77c09}.track-button[aria-current=true]{background:#d8b77c0d;border-left-color:var(--gold)}.track-number{font-size:8px;color:#ae9d87}.track-button[aria-current=true] .track-number{color:var(--gold)}.track-info{min-width:0}.track-name{font-size:11px;font-weight:600;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.track-meta{font-size:8px;color:#a99e90;display:block;margin-top:5px;line-height:1.6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.track-duration{font-size:8px;color:#bca98e;font-variant-numeric:tabular-nums}.track-button[aria-current=true] .track-name{color:var(--gold)}.playlist-empty{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:255px;padding:24px 14px}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d8b77c33;border-radius:50%;color:var(--gold);margin-bottom:19px}.empty-icon .icon{width:21px;height:21px}.playlist-empty h3{font-family:var(--display);font-size:26px;font-weight:500;line-height:1.3}.playlist-empty p{font-size:10px;color:var(--muted);line-height:1.9;max-width:235px;margin-top:11px}.library-error{font-size:10px;line-height:1.7;padding:10px;border:1px solid #a94a43;color:#f1b2a5;margin-bottom:12px}
.player-dock{display:grid;grid-template-columns:minmax(200px,1fr) minmax(300px,520px) minmax(180px,1fr);align-items:center;gap:30px;border-top:1px solid var(--line);padding:18px 38px;background:#1c1713}.dock-track{display:flex;align-items:center;gap:13px;min-width:0}.dock-track>img{width:45px;height:45px;object-fit:contain;background:#110f0e;padding:5px;border:1px solid var(--line)}.dock-track>div{min-width:0}.dock-track p{font-size:10px;font-weight:600;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-track span{font-size:8px;color:var(--muted);display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transport-buttons{display:flex;align-items:center;justify-content:center;gap:18px}.transport-buttons .icon{width:19px;height:19px}.transport-buttons .minor-control .icon{width:16px;height:16px}.icon-button[aria-pressed=true]{color:var(--gold)}.play-button{width:45px;height:45px;border-radius:50%;background:var(--gold);color:#1a120c;display:grid;place-items:center;flex-shrink:0;transition:transform .2s,background .2s}.play-button:hover:not(:disabled){transform:scale(1.06);background:#efd29f}.play-button:disabled{opacity:.5}.play-button .icon{width:22px;height:22px;stroke-width:2.5}.play-button .icon use[href='#player-play']{fill:currentColor;stroke-width:1}.seek-control{display:flex;align-items:center;gap:11px;margin-top:11px}.seek-control>span{font-size:8px;min-width:29px;color:#b4a591;font-variant-numeric:tabular-nums}.seek-control>span:last-child{text-align:right}.seek-control input{width:100%}input[type=range]{--fill:0%;accent-color:var(--gold);appearance:none;-webkit-appearance:none;height:3px;background:linear-gradient(to right,var(--gold) var(--fill),#75624c66 var(--fill));cursor:pointer;border-radius:2px;margin-block:10px}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:9px;height:9px;border-radius:50%;background:var(--gold)}input[type=range]::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:var(--gold)}input[type=range]:disabled{opacity:.35;cursor:default}.dock-options{display:flex;align-items:center;gap:18px;justify-self:end}.volume-control{display:flex;gap:6px;align-items:center}.volume-control .icon{width:18px;height:18px}.volume-control input{width:68px}#repeat-one{position:absolute;font-size:8px;bottom:0;right:4px;color:var(--gold)}.noscript-message{position:fixed;inset:auto 15px 15px;z-index:10;padding:20px;background:var(--gold);color:var(--ink)}.noscript-message a{text-decoration:underline}
.listening-room:fullscreen{height:100dvh;overflow:auto}.listening-room.focus-mode .library-panel{display:none}.listening-room.focus-mode .room-main{grid-template-columns:1fr}
.playlist-jump{display:none}
@media(min-width:801px){.track-name{font-size:12px}.track-meta{font-size:9px}.track-search input{font-size:11px}.genre-filters button{font-size:9px}.playlist-empty p{font-size:11px}.dock-track p{font-size:11px}.dock-track span{font-size:9px}.stage-now-playing>p:last-child{font-size:11px}.seek-control>span{font-size:9px}}
@keyframes turntable{to{transform:rotate(360deg)}}
@media(min-width:1500px){.room-main{grid-template-columns:minmax(0,1fr) 420px}.record{width:320px;height:320px}.record-halo{width:400px;height:400px}.record-label{width:142px;height:142px}.record-label>img{width:96px;height:96px}.listening-stage{padding-block:40px}.library-panel{padding:36px 31px 24px}.stage-heading h1{font-size:60px}.record-scene{margin-top:38px}.visualizer-wrap{margin-top:16px}.stage-now-playing{margin-top:24px}}
@media(min-width:1001px) and (min-height:835px){.listening-room{height:100dvh;grid-template-rows:85px minmax(0,1fr) 116px}}
@media(max-width:1100px){.room-header{padding-inline:25px}.room-brand img{width:180px}.room-name{font-size:8px;letter-spacing:2px}.room-header-actions{gap:14px}.room-main{grid-template-columns:minmax(0,1fr) 330px}.library-panel{padding:26px 21px 20px}.listening-stage{padding-inline:26px}.stage-heading h1{font-size:45px}.record{width:255px;height:255px}.record-label{width:115px;height:115px}.record-label>img{width:72px;height:72px}.record-halo{width:330px;height:330px}.player-dock{padding-inline:25px;gap:20px;grid-template-columns:minmax(160px,1fr) minmax(270px,1.5fr) 155px}.dock-options{gap:7px}.volume-control input{width:50px}.transport-buttons{gap:13px}}
@media(max-width:800px){.room-name{display:none}.room-main{grid-template-columns:minmax(0,1fr) 310px}.stage-heading h1{font-size:37px}.record{width:225px;height:225px}.record-label{width:102px;height:102px}.record-label>img{width:63px;height:63px}.record-label>span{font-size:3px}.record-halo{width:300px;height:300px;top:-35px}.library-panel{padding-inline:18px}.library-heading h2{font-size:32px}.track-count{font-size:7px}.genre-filters{gap:5px}.genre-filters button{font-size:7px;padding:7px 8px}.stage-now-playing h2{font-size:26px}.stage-now-playing>p:last-child{font-size:8px}.player-dock{grid-template-columns:140px minmax(230px,1fr) 70px;gap:14px}.dock-options{flex-direction:column;gap:4px}.volume-control input{display:none}.volume-control{gap:0}.dock-track>img{width:35px;height:35px}.dock-track{gap:9px}.dock-track p{font-size:8px}.dock-track span{font-size:7px}}
@media(max-width:620px){.listening-room{display:block;min-height:100svh;padding-bottom:130px}.room-header{height:75px;padding:0 20px}.room-brand img{width:170px}.room-header-actions{gap:13px}.back-link{font-size:8px;gap:7px}.back-link .icon{width:13px}.back-link span{display:none}#fullscreen-button{width:32px;height:32px}#fullscreen-button .icon{width:16px}.room-main{display:flex;flex-direction:column}.listening-stage{padding:34px 22px 31px;min-height:590px}.stage-heading h1{font-size:43px}.record-scene{margin-top:27px}.record{width:230px;height:230px}.record-label{width:106px;height:106px}.record-label>img{width:65px;height:65px}.record-halo{width:305px;height:305px}.visualizer-wrap{margin-top:15px}.visualizer-wrap canvas{height:55px}.stage-now-playing{margin-top:15px;min-height:65px}.stage-now-playing .eyebrow{font-size:6px;letter-spacing:1.6px}.stage-now-playing h2{font-size:28px}.stage-now-playing>p:last-child{font-size:9px}.library-panel{border-left:0;border-top:1px solid var(--line);padding:26px 22px 25px;min-height:465px}.library-heading h2{font-size:37px}.track-count{font-size:8px}.track-search{margin-top:23px;padding:13px}.track-search input{font-size:12px}.genre-filters{gap:7px;margin-bottom:19px}.genre-filters button{font-size:9px;padding:8px 10px}.track-list-wrap{min-height:190px;max-height:400px;overflow-y:auto}.playlist-empty{min-height:220px;padding:15px 16px}.playlist-empty p{font-size:11px;max-width:270px}.playlist-empty h3{font-size:29px}.empty-icon{width:43px;height:43px;margin-bottom:14px}.track-button{padding:15px 6px;gap:12px}.track-name{font-size:12px}.track-meta{font-size:9px}.track-duration,.track-number{font-size:9px}.player-dock{position:fixed;bottom:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:1fr auto;gap:9px 18px;padding:10px 20px 7px;background:#211a15f7;backdrop-filter:blur(15px);box-shadow:0 -12px 30px #0003}.dock-track>img{width:28px;height:28px}.dock-track p{font-size:10px;line-height:1.4;max-width:230px}.dock-track span{font-size:7px;margin-top:2px}.dock-track{gap:10px}.dock-options{grid-column:2;grid-row:1;flex-direction:row;gap:7px}.volume-control input{display:none}.volume-control .icon-button{width:27px;height:28px}.volume-control .icon{width:16px;height:16px}.transport{grid-column:1/-1;grid-row:2}.transport-buttons{gap:19px}.transport-buttons .icon-button{height:31px;width:31px}.transport-buttons .icon{width:16px;height:16px}.transport-buttons .minor-control .icon{width:14px;height:14px}.play-button{width:35px;height:35px}.play-button .icon{width:19px;height:19px}.seek-control{margin-top:3px;gap:7px}.seek-control>span{font-size:7px;min-width:25px}.seek-control input{margin-block:8px}.listening-room:fullscreen{padding-bottom:130px}.listening-room.focus-mode .listening-stage{min-height:calc(100svh - 205px)}}
@media(max-width:360px){.room-brand img{width:153px}.room-header{padding-inline:17px}.stage-heading h1{font-size:37px}.record{width:215px;height:215px}.record-halo{width:280px;height:280px}.listening-stage{padding-inline:18px;min-height:565px}.genre-filters{gap:5px}.genre-filters button{font-size:8px;padding:7px 9px}.player-dock{padding-inline:17px;gap:9px}.dock-track p{max-width:175px}}
@media(max-width:620px){.room-header-actions{gap:13px}.back-link{display:none}.playlist-jump{display:inline-block;font-size:9px;color:var(--gold)}html{scroll-behavior:smooth;scroll-padding-top:20px}}
@media(min-width:1001px){
  .listening-stage{--disc-size:clamp(200px,calc(100dvh - 640px),300px);padding:25px 40px}
  .stage-heading h1{font-size:clamp(45px,3.6vw,54px)}
  .record-scene{margin-top:22px}
  .record{width:var(--disc-size);height:var(--disc-size)}
  .record-halo{width:calc(var(--disc-size) + 80px);height:calc(var(--disc-size) + 80px)}
  .record-label{width:calc(var(--disc-size) * .445);height:calc(var(--disc-size) * .445)}
  .record-label>img{width:calc(var(--disc-size) * .286);height:calc(var(--disc-size) * .286)}
  .visualizer-wrap{margin-top:18px}.visualizer-wrap canvas{height:59px}
  .stage-now-playing{margin-top:12px}
}
.stage-now-playing h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Mobile: categories, compact visual, controls, then the scrolling track list. */
@media (max-width:800px), (max-width:1000px) and (max-height:500px) {
  .listening-room,
  .listening-room:fullscreen {
    display:flex;flex-direction:column;height:100svh;height:100dvh;
    min-height:0;padding:0;overflow:hidden;
  }
  .room-header { height:64px;flex:0 0 64px;padding:0 16px;gap:14px; }
  .room-brand img { width:170px; }
  .room-header-actions { gap:8px; }
  .room-header .back-link { display:flex;align-items:center;justify-content:center;width:44px;height:44px; }
  .back-link span { display:none; }
  .back-link .icon { width:19px;height:19px; }
  #fullscreen-button { width:40px;height:40px; }
  .playlist-jump { display:none; }
  .room-main,
  .listening-room.focus-mode .room-main { display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden; }
  .room-main > .genre-filters {
    flex:none;margin:0;padding:10px 16px;gap:6px;justify-content:center;
    background:var(--ink);border-bottom:1px solid var(--line);
  }
  .genre-filters button { min-height:44px;padding:8px 7px;font-size:13px;line-height:1.3; }
  .listening-stage,
  .listening-room.focus-mode .listening-stage {
    --mobile-disc:clamp(54px,calc(100svh - 580px),108px);
    flex:none;min-height:0;padding:8px 20px 2px;
  }
  .stage-heading { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
  .stage-now-playing { display:none; }
  .record-scene { margin:0; }
  .record { width:var(--mobile-disc);height:var(--mobile-disc);box-shadow:0 6px 20px #0006,inset 0 0 0 4px #100e0e,inset 0 0 0 5px #63574766; }
  .record-halo { width:calc(var(--mobile-disc) + 45px);height:calc(var(--mobile-disc) + 45px);top:-20px; }
  .record-label { width:calc(var(--mobile-disc) * .45);height:calc(var(--mobile-disc) * .45);gap:0;box-shadow:0 0 0 2px #100f0d; }
  .record-label > img { width:76%;height:76%; }
  .record-label > span { display:none; }
  .visualizer-wrap { width:min(340px,100%);margin-top:2px; }
  .visualizer-wrap canvas { height:22px; }
  .player-dock {
    position:relative;inset:auto;flex:none;display:grid;
    grid-template-columns:minmax(0,1fr) 44px;gap:4px 10px;
    padding:8px 16px 6px;border-bottom:1px solid var(--line);
    background:#211a15;backdrop-filter:none;box-shadow:none;z-index:1;
  }
  .dock-track { gap:10px; }
  .dock-track > img { width:36px;height:36px;padding:3px; }
  .dock-track p { font-size:14px;line-height:1.4;max-width:none; }
  .dock-track span { font-size:12px;line-height:1.4;margin-top:3px; }
  .dock-options { grid-column:2;grid-row:1;flex-direction:row; }
  .volume-control input { display:none; }
  .volume-control .icon-button { width:44px;height:44px; }
  .volume-control .icon { width:20px;height:20px; }
  .transport { grid-column:1/-1;grid-row:2;min-width:0; }
  .transport-buttons { gap:13px; }
  .transport-buttons .icon-button { width:44px;height:44px; }
  .transport-buttons .icon { width:20px;height:20px; }
  .transport-buttons .minor-control .icon { width:18px;height:18px; }
  .play-button { width:46px;height:46px; }
  .play-button .icon { width:22px;height:22px; }
  .seek-control { margin-top:0;gap:10px; }
  .seek-control > span { min-width:30px;font-size:11px; }
  .seek-control input {
    min-width:0;height:24px;margin-block:2px;
    background-size:100% 3px;background-repeat:no-repeat;background-position:center;
  }
  .seek-control input::-webkit-slider-thumb { width:12px;height:12px; }
  .seek-control input::-moz-range-thumb { width:12px;height:12px; }
  .library-panel,
  .listening-room.focus-mode .library-panel {
    display:flex;flex:1;min-height:0;overflow:hidden;border:0;
    padding:12px 16px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .library-heading { flex:none;align-items:center;gap:12px;margin-bottom:10px; }
  .library-heading h2 { font-size:29px; }
  .track-count { font-size:12px;padding:0; }
  .track-list-wrap { min-height:0;max-height:none;flex:1;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-block:4px; }
  .track-button { grid-template-columns:19px minmax(0,1fr) auto;gap:10px;min-height:70px;padding:12px 5px; }
  .track-name { font-size:14px;line-height:1.4; }
  .track-meta { font-size:12px;line-height:1.5;margin-top:4px; }
  .track-duration,.track-number { font-size:11px; }
  .playlist-empty { min-height:0;padding:16px 12px; }
  .playlist-empty .empty-icon { display:none; }
  .playlist-empty h3 { font-size:25px; }
  .playlist-empty p { font-size:13px;line-height:1.6;margin-top:8px;max-width:290px; }
  .library-error { flex:none;font-size:13px;line-height:1.5;margin-bottom:10px; }
}
@media (max-width:1000px) and (max-height:500px) {
  .room-header { height:52px;flex-basis:52px; }
  .room-main > .genre-filters { padding-block:6px; }
  .listening-stage,.listening-room.focus-mode .listening-stage { display:none; }
  .player-dock { grid-template-columns:minmax(0,1fr) minmax(270px,1.3fr) 44px;align-items:center;gap:10px;padding-block:6px; }
  .transport { grid-column:2;grid-row:1; }
  .dock-options { grid-column:3; }
  .transport-buttons { gap:8px; }
  .library-panel,.listening-room.focus-mode .library-panel { padding-top:8px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px)); }
  .library-heading { margin-bottom:6px; }
}
@media (max-width:500px) and (max-height:500px) {
  .player-dock { grid-template-columns:minmax(0,1fr) 44px;gap:0 10px; }
  .transport { grid-column:1/-1;grid-row:2; }
  .dock-options { grid-column:2; }
}
/* site-shell.css */
#site-view[hidden],#music-view[hidden],.site-mini-player[hidden],.site-nav-notice[hidden]{display:none!important}
body.has-mini-player{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
html:has(body.has-mini-player){scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.site-mini-player{position:fixed;inset:auto 0 0;z-index:45;box-sizing:border-box;display:flex;align-items:center;gap:20px;height:calc(82px + env(safe-area-inset-bottom,0px));padding:13px max(24px,calc((100vw - 1360px)/2)) calc(13px + env(safe-area-inset-bottom,0px));background:#1c1713f7;color:#f2eee6;border-top:1px solid #d8b77c45;box-shadow:0 -8px 35px #0004;backdrop-filter:blur(18px);font-family:'Manrope',Arial,sans-serif}
.site-mini-player button{font:inherit;color:inherit;border:0;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.site-mini-player button:focus-visible{outline:2px solid #e8c993;outline-offset:3px}
.site-mini-player button:disabled{opacity:.35;cursor:default}
.site-mini-song{display:flex;align-items:center;gap:13px;min-width:0;flex:1;text-align:left;background:none;padding:0!important}
.site-mini-song img{display:block;width:48px;height:48px;object-fit:contain;padding:4px;background:#110f0e;border:1px solid #d8b77c29;box-sizing:border-box}
.site-mini-copy{display:block;min-width:0}
.site-mini-title,.site-mini-artist{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6}
.site-mini-title{font-size:12px;font-weight:600}
.site-mini-artist{font-size:10px;color:#bcaf9e;margin-top:2px}
.site-mini-controls{display:flex;align-items:center;gap:10px}
.site-mini-control{width:44px;height:44px;display:grid;place-items:center;background:none;border-radius:50%;padding:10px}
.site-mini-control:hover:not(:disabled){background:#d8b77c14;color:#e8c993}
.site-mini-control svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site-mini-control.site-mini-play{background:#d8b77c;color:#1a120c}
.site-mini-control.site-mini-play:hover{background:#efd29f;color:#1a120c}
.site-mini-play[data-playing=false] svg{fill:currentColor;stroke-width:1}
.site-mini-close{margin-left:10px;color:#bcaf9e!important}
.site-mini-progress{position:absolute;inset:0 auto auto 0;height:2px;max-width:100%;background:#d8b77c;pointer-events:none}
.site-mini-status:empty{display:none}
.site-mini-status{position:absolute;bottom:100%;right:20px;max-width:min(380px,calc(100vw - 40px));padding:12px 16px;background:#271c18;border:1px solid #c77b62;font-size:12px;line-height:1.6;color:#f4c5b2}
.site-nav-notice{position:fixed;top:100px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);width:max-content;padding:14px 18px;background:#211a15;color:#f2eee6;border:1px solid #d8b77c66;font:12px/1.6 'Manrope',Arial,sans-serif;box-shadow:0 8px 30px #0006}
.site-nav-notice button{background:none;border:1px solid #d8b77c66;color:#e8c993;padding:8px 12px;font:inherit;cursor:pointer}
.site-nav-notice button:focus-visible{outline:2px solid #e8c993;outline-offset:3px}
@media(max-width:620px){
  body.has-mini-player{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .site-mini-player{height:calc(74px + env(safe-area-inset-bottom,0px));padding:11px 12px calc(11px + env(safe-area-inset-bottom,0px));gap:8px}
  .site-mini-song{gap:9px}.site-mini-song img{width:40px;height:40px}
  .site-mini-title{font-size:11px}.site-mini-artist{font-size:9px}
  .site-mini-controls{gap:0}.site-mini-close{margin-left:0}.site-mini-expand{display:none}
  .site-mini-control{width:40px;height:44px;padding:9px}.site-mini-play{height:40px}
  .site-nav-notice{flex-wrap:wrap}
}
/* Keep a visible way back to the site on the compact Listening Room header. */
@media(max-width:620px){#music-view .back-link{display:flex}#music-view .playlist-jump{display:none}}
