/* The Publication Studio — companion plugin visual language */
.tps-eyebrow{font-family:Georgia,serif;font-weight:700;font-size:clamp(10px,1vw,12px);letter-spacing:.19em;text-transform:uppercase}
.tps-outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:transparent;border:1px solid currentColor;padding:13px 19px;font:700 12px/1.3 Georgia,serif;text-transform:uppercase;letter-spacing:.08em;color:inherit;text-decoration:none;transition:background .25s,color .25s}
.tps-outline-btn:hover{background:var(--tps-ink,#111);color:var(--tps-paper,#fff)}
.tps-media-stage{position:relative;display:block;margin:0;isolation:isolate;overflow:hidden;background:var(--tps-neutral,#e7e9e9)}
.tps-media-stage img,.tps-media-stage video{display:block;width:100%;height:auto;filter:var(--tps-media-filter,none);object-fit:cover}
.tps-media-stage::before,[data-tps-media-block]::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--tps-vignette,0);background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.2) 65%,rgba(0,0,0,.88) 100%)}
.tps-media-stage::after,[data-tps-media-block]::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:calc(var(--tps-grain,0) * .38);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
[data-tps-media-block]{position:relative;isolation:isolate}[data-tps-media-block] img,[data-tps-media-block] video,.wp-block-image img,.wp-block-video video,.wp-block-gallery img,.entry-content>img{filter:var(--tps-media-filter,none)}
.tps-media-stage video{max-height:76vh}
/* Notices render in the first browser paint; JavaScript only enhances rotation. */
.tps-announcement{position:relative;z-index:10000;left:0;right:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:18px;background:var(--tps-ink,#090909);color:var(--tps-paper,#fff);padding:10px 52px 10px 22px;font:700 12px/1.4 Georgia,serif;letter-spacing:.035em;text-align:center;box-shadow:0 2px 10px #0002;box-sizing:border-box;overflow:hidden}
.tps-announcement--top{position:sticky;top:0;min-width:0}
body.admin-bar .tps-announcement--top{top:32px}
.tps-announcement--bottom{position:fixed;bottom:0}
.tps-announcement-viewport{display:flex;justify-content:center;align-items:center;max-width:min(740px,calc(100vw - 150px));min-width:0;overflow:hidden;flex:0 1 auto;white-space:normal}
.tps-announcement-copy{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;opacity:1}
.tps-announcement-cta{color:inherit;border-bottom:1px solid currentColor;text-decoration:none;white-space:nowrap;flex-shrink:0}
.tps-announcement-cta[hidden]{display:none!important}
.tps-announcement-close{position:absolute;right:15px;top:50%;transform:translateY(-50%);background:none;color:inherit;border:0;cursor:pointer;display:grid;place-items:center;padding:6px}
.tps-announcement.is-entering[data-current-motion=slide] .tps-announcement-copy{animation:tpsNoticeSlide .55s both}
.tps-announcement.is-entering[data-current-motion=fade] .tps-announcement-copy{animation:tpsNoticeFade .55s both}
@keyframes tpsNoticeSlide{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes tpsNoticeFade{from{opacity:0}to{opacity:1}}
/* Continuous ticker uses two identical sequences; the duplicate is aria-hidden. */
.tps-announcement.tps-ticker-active .tps-announcement-viewport{flex:1 1 350px;max-width:min(840px,calc(100vw - 120px));justify-content:flex-start}
.tps-announcement.tps-ticker-active .tps-announcement-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tps-announcement-marquee{display:flex;gap:0;width:max-content;flex:none;will-change:transform;animation:tpsNoticeTicker var(--tps-ticker-duration,24s) linear infinite}
.tps-announcement-marquee-segment{display:flex;gap:32px;flex:none;padding-right:32px;white-space:nowrap;align-items:center}
.tps-announcement-marquee-segment>span{white-space:nowrap}
@keyframes tpsNoticeTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.tps-announcement:focus-within .tps-announcement-marquee,.tps-announcement:hover .tps-announcement-marquee{animation-play-state:paused}
@media(max-width:782px){body.admin-bar .tps-announcement--top{top:46px}}
@media(max-width:600px){.tps-announcement{gap:8px;min-height:42px;padding:8px 42px 8px 10px;font-size:11px}.tps-announcement-viewport{max-width:calc(100vw - 115px)}.tps-announcement-cta{font-size:10px;max-width:33%;text-overflow:ellipsis;overflow:hidden}.tps-announcement.tps-ticker-active .tps-announcement-viewport{max-width:calc(100vw - 100px)}}
@media(prefers-reduced-motion:reduce){.tps-announcement .tps-announcement-copy,.tps-announcement .tps-announcement-marquee{animation:none!important}.tps-announcement.tps-ticker-active .tps-announcement-marquee{display:none}.tps-announcement.tps-ticker-active .tps-announcement-copy{position:static;width:auto;height:auto;margin:0;clip-path:none;white-space:normal}}
.tps-popup{position:fixed;max-width:min(560px,calc(100vw - 28px));width:100%;color:var(--tps-ink,#111);background:var(--tps-paper,#fff);border:1px solid currentColor;border-top:8px solid currentColor;padding:clamp(24px,5vw,54px);box-sizing:border-box;box-shadow:0 24px 80px #0004}
.tps-popup::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}.tps-popup h2{font:700 clamp(32px,5vw,56px)/1.04 Georgia,serif;margin:14px 0}.tps-popup p{line-height:1.6}.tps-popup-close{position:absolute;right:14px;top:14px;border:0;background:none;color:inherit;cursor:pointer}
.tps-ad-unit{border-top:5px solid var(--tps-ink,#111);border-bottom:1px solid var(--tps-rule,#aaa);padding:18px 0 28px;margin:42px 0}.tps-ad-unit h3{font:700 clamp(24px,3vw,44px)/1.06 Georgia,serif}.tps-ad-media{margin:14px 0}
/* Listening Room */
.tps-listening-room{--record-size:clamp(240px,42vw,505px);width:min(100%,1160px);margin:0 auto 70px;color:var(--tps-ink,#111)}
.tps-room-intro{text-align:center;border-top:6px solid currentColor;padding:44px 20px 25px}.tps-room-intro h1{font:700 clamp(46px,8.4vw,106px)/.98 Georgia,serif;letter-spacing:-.06em;margin:15px 0 20px}.tps-room-intro>p:last-child{font-size:clamp(15px,2vw,19px);max-width:610px;margin:0 auto;line-height:1.5}
.tps-listening-controls{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;border-block:1px solid currentColor;padding:13px 0;margin:28px 0 20px}
.tps-view-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;background:none;color:inherit;border:1px solid transparent;cursor:pointer;font:700 11px Georgia,serif;text-transform:uppercase;letter-spacing:.07em}
.tps-view-btn:hover,.tps-view-btn.is-active{border-color:currentColor;background:var(--tps-warm,#f3f2ef);color:var(--tps-ink,#111)}
.tps-room-panels{min-height:480px}.tps-record-visual{text-align:center}.tps-turntable{display:grid;place-items:center;padding:20px;max-width:960px;margin:auto;aspect-ratio:1.6;min-height:410px;position:relative}
.tps-turntable-deck{position:relative;width:100%;max-width:880px;min-height:clamp(330px,48vw,570px);border:1px solid var(--tps-rule,#999);background:linear-gradient(160deg,var(--tps-neutral,#e7e9e9),var(--tps-warm,#f3f2ef) 65%,var(--tps-neutral,#e7e9e9));box-shadow:inset 0 0 0 11px var(--tps-paper,#fff),inset 0 0 0 12px var(--tps-rule,#aaa);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tps-turntable-deck::after{content:"";position:absolute;left:25px;right:25px;bottom:20px;height:1px;background:var(--tps-rule,#aaa);opacity:.7}
.tps-vinyl{position:relative;z-index:2;width:var(--record-size);aspect-ratio:1;border-radius:50%;background:#090909;display:grid;place-items:center;box-shadow:8px 15px 30px #0005,0 0 0 2px #000;transform:rotate(0deg);animation:tpsVinyl 1.8s linear infinite;animation-play-state:paused;will-change:transform}
.tps-listening-room.is-playing .tps-vinyl{animation-play-state:running}
.tps-vinyl-outer{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#101010 0 1px,#232323 1.6px 2.4px,#111 3.1px 4.8px);box-shadow:inset 1px 1px 5px #777,inset -12px -12px 24px #000}
.tps-vinyl-outer::before{content:"";position:absolute;inset:3%;border-radius:50%;background:conic-gradient(from 34deg,transparent 0deg,rgba(255,255,255,.23) 28deg,transparent 65deg,transparent 190deg,rgba(255,255,255,.09) 220deg,transparent 260deg);mix-blend-mode:screen}
.tps-vinyl-inner{position:absolute;inset:7%;border:1px solid #ffffff24;border-radius:50%;display:grid;place-items:center}
.tps-vinyl-center{position:relative;width:38%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--tps-warm,#f3f2ef);border:5px solid #080808;display:grid;place-items:center;box-shadow:0 0 0 2px #888,0 0 0 5px #222;color:#111;font:700 clamp(23px,4vw,47px) Georgia,serif;z-index:3}
.tps-vinyl-center::after{content:"";position:absolute;left:50%;top:50%;width:5%;aspect-ratio:1;transform:translate(-50%,-50%);background:#c8c8c8;border:1px solid #777;border-radius:50%;box-shadow:0 1px 2px #0009}
.tps-vinyl-art{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.tps-vinyl-placeholder{letter-spacing:-.08em}
.tps-tonearm{position:absolute;right:8%;top:9%;width:38%;height:13px;z-index:4;transform-origin:91% 50%;transform:rotate(-48deg);transition:transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.tps-tonearm::before{content:"";position:absolute;inset:2px 0;border-radius:8px;background:linear-gradient(#a8a8a8,#555,#dadada,#333);box-shadow:0 3px 7px #0006}
.tps-tonearm::after{content:"";position:absolute;right:-11px;top:-15px;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#b9b9b9 0 20%,#333 21% 39%,#888 40% 60%,#202020 65%);box-shadow:0 4px 7px #0006}
.tps-tonearm-head{position:absolute;left:-5px;top:-3px;width:32px;height:20px;transform:rotate(-12deg);background:linear-gradient(#ddd,#555);border:1px solid #333;z-index:3;border-radius:3px}
.tps-listening-room.is-playing .tps-tonearm{transform:rotate(-34deg)}
.tps-turntable-spindle{position:absolute;left:11%;top:12%;height:15px;width:65px;border-top:3px double var(--tps-rule,#888);border-bottom:1px solid var(--tps-rule,#888)}
.tps-turntable-mark{position:absolute;left:27px;bottom:35px;font:700 10px Georgia,serif;letter-spacing:.13em;text-transform:uppercase}
@keyframes tpsVinyl{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.tps-track-display{margin:15px auto 25px;max-width:700px}.tps-track-display h2{font:700 clamp(26px,4vw,48px)/1.14 Georgia,serif;margin:8px 0}.tps-track-artist{font:italic 18px Georgia,serif;margin:5px}
.tps-room-transport{display:flex;align-items:center;justify-content:center;gap:12px;border-block:1px solid currentColor;padding:16px 5px;flex-wrap:wrap}
.tps-room-transport button{height:42px;min-width:42px;border:1px solid currentColor;display:grid;place-items:center;background:transparent;color:inherit;cursor:pointer}
.tps-room-transport button:hover,.tps-room-transport button.is-active{background:var(--tps-ink,#111);color:var(--tps-paper,#fff)}
.tps-timeline{display:flex;align-items:center;gap:9px;flex:1 1 200px;max-width:340px;font:12px Georgia,serif;font-variant-numeric:tabular-nums}.tps-timeline input{width:100%;accent-color:currentColor}.tps-room-volume{display:flex;align-items:center;gap:6px}.tps-room-volume input{width:80px;accent-color:currentColor}
.tps-room-footnote{display:flex;justify-content:space-between;border-bottom:3px double var(--tps-ink,#111);padding:12px 0;font:700 10px Georgia,serif;letter-spacing:.1em}
.tps-record-archive,.tps-record-ledger{padding:10px 0 30px}.tps-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tps-record-select{border:1px solid var(--tps-rule,#aaa);color:inherit;background:var(--tps-paper,#fff);padding:10px;cursor:pointer;text-align:left;font:inherit;min-width:0;transition:border-color .25s,transform .25s}.tps-record-select:hover,.tps-record-select.is-selected{border-color:var(--tps-ink,#111);outline:1px solid currentColor;transform:translateY(-2px)}.tps-record-thumb{display:grid;place-items:center;aspect-ratio:1;background:var(--tps-neutral,#e7e9e9);overflow:hidden;font:700 32px Georgia,serif}.tps-record-thumb img{width:100%;height:100%;object-fit:cover}.tps-record-info{display:grid;gap:6px;padding:10px 2px 2px}.tps-record-info strong{font:700 16px Georgia,serif}.tps-record-info small{font:italic 13px Georgia,serif;color:var(--tps-muted,#777)}
.tps-ledger-list{border-top:1px solid currentColor}.tps-record-select--ledger{display:flex;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--tps-rule,#aaa);width:100%;padding:12px 0;transform:none!important}.tps-record-select--ledger .tps-record-thumb{width:65px;flex:none}.tps-record-select--ledger:hover,.tps-record-select--ledger.is-selected{outline:0;border-bottom:2px solid currentColor;background:var(--tps-warm,#f3f2ef)}
/* Discovery, chronicle, contact */
.tps-index-page,.tps-chronicle,.tps-contact-page{max-width:1150px;margin:0 auto 80px;border-top:7px solid currentColor;padding-top:40px}
.tps-index-page>h1,.tps-chronicle>h1,.tps-contact-page>h1{font:700 clamp(48px,8vw,96px)/1 Georgia,serif;letter-spacing:-.055em;margin:15px 0 20px}
.tps-discovery-form{margin:35px 0 10px}.tps-discovery-form label{display:block;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}.tps-search-field{display:flex;border-bottom:2px solid currentColor}.tps-search-field input{flex:1;min-width:0;border:0;background:none;color:inherit;font:normal clamp(22px,4vw,38px) Georgia,serif;padding:12px 0}.tps-search-field button{border:0;background:none;color:inherit;cursor:pointer;padding:13px}.tps-index-status{font:italic 14px Georgia,serif}.tps-index-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.tps-index-result{display:block;padding:25px 0;border-top:1px solid var(--tps-rule,#aaa);text-decoration:none;color:inherit}.tps-index-result small{text-transform:uppercase;letter-spacing:.12em}.tps-index-result h3{font:700 clamp(22px,3vw,33px) Georgia,serif;margin:9px 0}.tps-index-result p{line-height:1.5}
.tps-chronicle-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-block:1px solid currentColor;padding:17px 0;margin:35px 0}.tps-chronicle-tools select{font:inherit;padding:8px;background:var(--tps-paper,#fff);color:var(--tps-ink,#111);border:1px solid currentColor}.tps-chronicle-tools button{font:700 12px Georgia,serif;letter-spacing:.07em;padding:10px 13px;border:1px solid currentColor;color:inherit;background:none;cursor:pointer}.tps-chronicle-tools button[aria-pressed=true]{background:var(--tps-ink,#111);color:var(--tps-paper,#fff)}.tps-chronicle-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.tps-chronicle-card{border-bottom:1px solid var(--tps-rule,#aaa);padding-bottom:20px}.tps-chronicle-card[hidden]{display:none}.tps-chronicle-card a{text-decoration:none;color:inherit}.tps-chronicle-card img,.tps-chronicle-empty{width:100%;aspect-ratio:1.3;object-fit:cover;background:var(--tps-neutral,#ddd)}.tps-chronicle-card h3{font:700 clamp(20px,2.5vw,30px)/1.1 Georgia,serif;margin:8px 0}.tps-chronicle-card>p{line-height:1.5}.tps-chronicle[data-view=horizontal] .tps-chronicle-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding-bottom:24px;scrollbar-width:thin}.tps-chronicle[data-view=horizontal] .tps-chronicle-card{flex:0 0 min(360px,78vw);scroll-snap-align:start}
.tps-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin:40px 0}.tps-contact-form>label{display:grid;gap:8px;font:700 13px Georgia,serif;text-transform:uppercase;letter-spacing:.09em}.tps-contact-form>label:nth-of-type(3),.tps-contact-form>label:nth-of-type(4){grid-column:1/-1}.tps-contact-form input,.tps-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--tps-rule,#aaa);border-radius:0;padding:14px;background:var(--tps-paper,#fff);color:var(--tps-ink,#111);font:normal 18px Georgia,serif}.tps-contact-form button{justify-self:start;grid-column:1/-1;cursor:pointer}.tps-honeypot{position:absolute;left:-9999px;opacity:0}
#tps-audio-dock{position:fixed;z-index:950;right:20px;bottom:20px;display:flex;gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--tps-ink,#111);background:var(--tps-paper,#fff);color:var(--tps-ink,#111);box-shadow:0 5px 20px #0003;max-width:min(340px,calc(100vw - 30px))}#tps-audio-dock[hidden]{display:none}#tps-audio-dock .tps-dock-vinyl{width:34px;height:34px;border-radius:50%;background:repeating-radial-gradient(circle,#161616 0 2px,#333 2px 3px,#090909 3px 5px);border:2px solid #222;display:grid;place-items:center;color:#fff;font-size:8px}#tps-audio-dock.is-playing .tps-dock-vinyl{animation:tpsVinyl 1.8s linear infinite}#tps-audio-dock .tps-dock-copy{display:grid;gap:2px;min-width:0}#tps-audio-dock .tps-dock-title{font:700 12px Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tps-audio-dock .tps-dock-artist{font:italic 11px Georgia,serif}#tps-audio-dock button{background:none;border:0;color:inherit;cursor:pointer}#tps-audio-dock a{color:inherit}
@media(max-width:900px){.tps-record-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tps-turntable{aspect-ratio:auto}.tps-tonearm{right:3%}.tps-chronicle-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tps-listening-room{--record-size:min(65vw,320px)}.tps-room-intro{padding:30px 5px 12px}.tps-turntable{min-height:auto;padding:8px 0}.tps-turntable-deck{min-height:310px;box-shadow:inset 0 0 0 6px var(--tps-paper,#fff),inset 0 0 0 7px var(--tps-rule,#aaa)}.tps-tonearm{right:1%;width:31%}.tps-turntable-mark{font-size:7px;left:16px}.tps-vinyl-center{border-width:3px}.tps-view-btn{flex-direction:column;gap:5px;padding:8px 10px;font-size:9px}.tps-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tps-record-info strong{font-size:14px}.tps-room-transport{gap:6px}.tps-room-volume{order:2;flex:1;justify-content:center}.tps-timeline{order:3;max-width:100%;flex-basis:100%}.tps-room-footnote{font-size:8px;gap:10px}.tps-index-results,.tps-chronicle-items,.tps-contact-form{grid-template-columns:1fr}#tps-audio-dock{bottom:12px;right:12px}.tps-room-intro h1{letter-spacing:-.045em}}
@media(orientation:landscape) and (max-height:500px) and (max-width:980px){.tps-turntable-deck{min-height:280px}.tps-listening-room{--record-size:240px}.tps-room-intro{padding-top:18px}.tps-room-transport{padding:8px 0}}
@media(prefers-reduced-motion:reduce){.tps-announcement.is-entering .tps-announcement-copy,.tps-announcement-marquee{animation:none!important}.tps-record-select{transition:none}.tps-vinyl{animation-duration:1.8s}.tps-tonearm{transition:none}}
@media print{.tps-announcement,.tps-popup,#tps-audio-dock,.tps-room-transport,.tps-listening-controls,.tps-chronicle-tools{display:none!important}.tps-media-stage,.tps-record-visual{break-inside:avoid}.tps-vinyl{animation:none!important}.tps-media-stage img,.tps-media-stage video{filter:none!important}.tps-media-stage::before,.tps-media-stage::after{display:none!important}}

/* Make the top notice part of the viewport's visual rhythm rather than obscuring the masthead. */
body{padding-top:var(--tps-banner-height,0px)}

/* v1.0.1: explicit media-playback animation, including systems with reduced-motion defaults. */
.tps-vinyl{animation-fill-mode:both;backface-visibility:hidden}.tps-listening-room.is-playing .tps-vinyl{animation-play-state:running!important}.tps-listening-room:not(.is-playing) .tps-vinyl{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.tps-listening-room .tps-vinyl{animation-duration:1.8s!important;animation-iteration-count:infinite!important;animation-timing-function:linear!important}.tps-listening-room.is-playing .tps-vinyl{animation-play-state:running!important}.tps-listening-room:not(.is-playing) .tps-vinyl{animation-play-state:paused!important}}

/* v1.0.4 · Dock turntable shares the Listening Room's album art + play state. */
#tps-audio-dock .tps-dock-vinyl{position:relative;display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;aspect-ratio:1;border-radius:50%;border:1px solid #171717;background:#0b0b0b;box-shadow:0 3px 9px #0005,0 0 0 1px #7775;overflow:hidden;animation:tpsVinyl 1.8s linear infinite;animation-play-state:paused;animation-fill-mode:both;backface-visibility:hidden;will-change:transform}
#tps-audio-dock.is-playing .tps-dock-vinyl{animation-play-state:running}
#tps-audio-dock:not(.is-playing) .tps-dock-vinyl{animation-play-state:paused}
#tps-audio-dock .tps-dock-grooves{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:repeating-radial-gradient(circle,#111 0px 1px,#303030 1.5px 2px,#131313 3px 4px);box-shadow:inset 0 1px 5px #7777,inset -3px -4px 7px #000}
#tps-audio-dock .tps-dock-grooves::before{content:"";position:absolute;inset:4%;border-radius:50%;background:conic-gradient(from 35deg,transparent 0deg,#ffffff1a 35deg,transparent 70deg,transparent 194deg,#ffffff13 236deg,transparent 267deg);pointer-events:none}
#tps-audio-dock .tps-dock-label{position:relative;display:grid;place-items:center;width:41%;aspect-ratio:1;border-radius:50%;background:var(--tps-warm,#f3f2ef);color:#111;overflow:hidden;border:2px solid #292929;box-shadow:0 0 0 1px #999,0 0 0 3px #191919;font:700 8px/1 Georgia,serif;z-index:1}
#tps-audio-dock .tps-dock-label::after{content:"";position:absolute;top:50%;left:50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:#c6c6c6;border:.5px solid #666;z-index:3}
#tps-audio-dock .tps-dock-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;max-width:none;max-height:none;filter:none!important;mix-blend-mode:normal}
#tps-audio-dock .tps-dock-art[hidden],#tps-audio-dock .tps-dock-placeholder[hidden]{display:none!important}
#tps-audio-dock .tps-dock-copy{min-width:0;flex:1 1 auto}
#tps-audio-dock .tps-dock-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){#tps-audio-dock{gap:8px;padding:7px 9px;max-width:min(320px,calc(100vw - 24px))}#tps-audio-dock .tps-dock-vinyl{flex-basis:43px;width:43px;height:43px}}

/* v1.0.4 · Matched album-art label, independent of global media filters. */
.tps-vinyl-art,.tps-vinyl-center img,.tps-record-thumb img,#tps-audio-dock .tps-dock-art{filter:none!important;mix-blend-mode:normal!important}
.tps-vinyl-art[hidden]{display:none!important}
#tps-audio-dock{box-sizing:border-box;min-width:0}
#tps-audio-dock .tps-dock-copy{overflow:hidden}
#tps-audio-dock .tps-dock-label{isolation:isolate}
#tps-audio-dock button:focus-visible,#tps-audio-dock a:focus-visible,.tps-view-btn:focus-visible,.tps-audio-toggle:focus-visible,.tps-record-select:focus-visible,.tps-chronicle-tools button:focus-visible{outline:2px solid var(--tps-ink,#111);outline-offset:3px}
.tps-record-select{min-width:0}
.tps-record-info{min-width:0;overflow-wrap:anywhere}
.tps-room-transport input[type="range"]{min-width:0}
.tps-chronicle-items>.tps-chronicle-card{min-width:0}
@media(max-width:540px){
 .tps-room-panels{min-height:0}
 .tps-record-visual,.tps-turntable{width:100%;min-width:0}
 .tps-room-transport{padding-inline:0}
 .tps-room-volume input{width:64px}
 .tps-room-intro h1{overflow-wrap:anywhere}
}
@media(max-width:350px){
 #tps-audio-dock{right:8px;bottom:8px;gap:6px;max-width:calc(100vw - 16px)}
 #tps-audio-dock .tps-dock-vinyl{width:39px;height:39px;flex-basis:39px}
 #tps-audio-dock .tps-dock-open{display:grid;place-items:center;width:24px}
 .tps-listening-room{--record-size:min(65vw,250px)}
 .tps-room-transport button{min-width:38px;height:38px}
}
@media print{#tps-audio-dock{display:none!important}}
/* An explicit Play action is a user-initiated motion choice: the small record and
   the large turntable follow the same running/paused state, including on systems
   where general decorative motion is reduced. */
@media(prefers-reduced-motion:reduce){
 #tps-audio-dock .tps-dock-vinyl{animation-duration:1.8s!important;animation-iteration-count:infinite!important;animation-timing-function:linear!important}
 #tps-audio-dock.is-playing .tps-dock-vinyl{animation-play-state:running!important}
 #tps-audio-dock:not(.is-playing) .tps-dock-vinyl{animation-play-state:paused!important}
}
