:root{--aluminium: #d5d4cf;--aluminium-light: #ebeae5;--aluminium-dark: #a6a49d;--ink: #161716;--muted: #63645f;--line: #8f8e88;--deck: #20211f;--deck-light: #30322f;--amber: #f2a126;--amber-soft: #ffe2ae;color:var(--ink);background:#f2f1ed;font-family:Helvetica Neue,Arial,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;height:100vh;overflow-x:hidden;overflow-y:hidden}button,a,input,output{font:inherit}a{color:inherit;text-decoration-color:var(--amber);text-decoration-thickness:.12em;text-underline-offset:.2em}a:hover{color:#4b3a20}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 5px var(--amber)}button,.ready-chip{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid #555650;background:#20211f;color:#f1f0eb}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}main{width:100%;height:100vh;margin:0;padding:8px 12px;display:flex;flex-direction:column}h1,h2,h3,p{margin-top:0}.section-label{margin:0 0 8px;font:700 .67rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.hifi-console{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #96958f;background:var(--aluminium-light);box-shadow:0 10px 28px #1617161f}.machine-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:14px 16px;background:repeating-linear-gradient(90deg,#ffffff1a 0 1px,#00000008 1px 2px),var(--aluminium)}.toprail{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;min-height:38px;margin-bottom:12px;padding:0 2px 9px;border-bottom:1px solid var(--line)}.brand{display:flex;min-height:40px;align-items:center;gap:9px;font-size:1rem;font-weight:750;letter-spacing:.13em;text-decoration:none}.brand-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px #f2a12633}.toprail nav{display:flex;gap:14px;font:700 .58rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.toprail nav a{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center}.screen{flex:1;min-height:0;display:grid;grid-template-columns:minmax(160px,1.25fr) minmax(340px,1.9fr) minmax(160px,1.25fr);grid-template-rows:minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:16px}.history[data-side=past]{margin-left:clamp(16px,4vw,84px)}.history[data-side=next]{margin-right:clamp(16px,4vw,84px)}.history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:max-content;align-content:center;gap:8px;min-width:0}.history[data-side=past]{opacity:.72}.clip{min-width:0}.thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;border:1px solid #77766f;background:#111;box-shadow:inset 0 1px #fff3}.thumb img,.thumb-neutral{display:block;width:100%;height:100%}.thumb img{object-fit:cover;opacity:.78;filter:saturate(.62) contrast(1.08)}.history[data-side=past] .thumb img{filter:grayscale(.45) saturate(.42) contrast(1.02)}.thumb-neutral{background:radial-gradient(circle at 50% 46%,#3d3e39 0 8%,transparent 8.5%),linear-gradient(135deg,#171815,#2b2d29 55%,#181916)}.thumb-neutral:after{position:absolute;inset:25%;border:1px solid #555650;border-radius:50%;content:""}.thumb em{position:absolute;top:4px;left:4px;padding:2px 4px;background:#141412d1;color:#efeee9;font: .42rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.clip strong,.clip>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip strong{margin-top:5px;font-size:.57rem}.clip>span{margin-top:2px;color:var(--muted);font-size:.45rem}.clip[data-empty=true]{opacity:.68}.now{min-width:0;display:flex;flex-direction:column;min-height:0}.video{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;container-type:size}.player-slot{position:relative;display:grid;aspect-ratio:16 / 9;width:min(100%,calc(100cqh * 16 / 9));max-width:100%;height:auto;margin:0 auto;place-items:center;overflow:hidden;border:1px solid #555650;box-shadow:inset 0 1px #ffffff24,0 8px 18px #1e1e1b2e;background:var(--deck)}.youtube-player-frame{display:block;width:100%;height:100%;border:0}.consent-gate{position:absolute;inset:5px;display:grid;place-items:center;background:linear-gradient(180deg,transparent 58%,rgb(0 0 0 / 38%)),radial-gradient(circle at 50% 45%,#373934 0 1px,transparent 2px),var(--deck)}.deck-mark{display:grid;width:74px;height:74px;place-items:center;border:1px solid #555650;border-radius:50%;box-shadow:inset 0 0 0 12px #181916,inset 0 0 0 13px #4f504b}.deck-mark i{width:7px;height:7px;border-radius:50%;background:var(--amber)}.allow-button{position:absolute;bottom:17px;min-width:220px;padding:0 18px;border-color:#d58b1d;border-radius:4px;background:linear-gradient(180deg,#ffc967,#dd8d19);color:#191a18;font:750 .64rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.allow-button:hover:not(:disabled){filter:brightness(1.05)}.now-meta{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;min-height:42px;padding:6px 2px 2px}.live{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font:.47rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.live i{width:5px;height:5px;border-radius:50%;background:var(--amber)}.track-copy{min-width:0}.track-copy strong,.track-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-copy strong{font-size:.68rem;letter-spacing:.02em}.track-copy span{margin-top:2px;color:var(--muted);font-size:.5rem}.now-meta time{color:var(--muted);font:.55rem ui-monospace,SFMono-Regular,Menlo,monospace}.progress{position:relative;height:3px;margin:3px 0 10px;background:#aaa8a1}.progress span{display:block;height:100%;background:var(--ink)}.progress i{position:absolute;top:50%;width:8px;height:8px;border:1px solid #77766f;border-radius:50%;background:var(--aluminium-light);transform:translate(-50%,-50%)}.transport{display:grid;grid-template-columns:40px 54px 40px;gap:0;width:max-content;margin:0 auto 11px;padding:5px;border:1px solid #676862;border-radius:13px;background:linear-gradient(180deg,#353733,#1b1c1a);box-shadow:inset 0 1px #ffffff2b,0 5px 10px #19191738}.transport button{min-width:40px;height:40px;min-height:40px;padding:0;border:0;border-left:1px solid rgb(255 255 255 / 8%);background:transparent;color:#c9cac4}.transport button:first-child{border-left:0}.transport button[data-primary]{height:46px;margin:-3px 4px;border:1px solid #d58b1d;border-radius:9px;background:linear-gradient(180deg,#ffc967,#dd8d19);color:#191a18;box-shadow:inset 0 1px #ffffff8c,0 0 12px #f2a12647}.transport button:hover:not(:disabled){color:#fff;background:#ffffff0f}.transport button[data-primary]:hover:not(:disabled){color:#191a18;background:linear-gradient(180deg,#ffd789,#e89a28)}.transport svg{width:13px;height:13px;fill:currentColor;stroke:currentColor;stroke-width:1.5}.control-panel{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.35fr) minmax(220px,.9fr);gap:14px;align-items:start}.controls{display:grid;gap:8px}.control{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"toggle head value" "slider slider slider";column-gap:12px;row-gap:2px;align-items:center;min-width:0;margin:0;padding:6px 13px 7px;border:1px solid #b7b5ae;border-radius:10px;background:#ffffff6b;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.control[data-enabled=true]{border-color:#d9a24a;background:#fffc;box-shadow:inset 4px 0 0 var(--amber)}.control-toggle{grid-area:toggle;position:relative;display:grid;min-width:44px;min-height:44px;place-items:center;cursor:pointer}.control-toggle input{position:absolute;width:1px;height:1px;opacity:0}.switch{position:relative;width:38px;height:21px;border:1px solid #7b7a74;border-radius:999px;background:#c4c2bb;box-shadow:inset 0 1px 2px #0000002b;transition:background .14s ease}.switch:after{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#6e6f6a;content:"";transition:transform .14s ease,background .14s ease}.control-toggle input:checked+.switch{background:#ecd2a3}.control-toggle input:checked+.switch:after{background:var(--amber);box-shadow:0 0 6px #f2a1268c;transform:translate(17px)}.control-toggle input:focus-visible+.switch{outline:3px solid var(--ink);outline-offset:3px}.control-head{grid-area:head;display:flex;flex-direction:column;gap:1px;min-width:0}.control-label{font-size:.94rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.1}.control-hint{font-size:.64rem;letter-spacing:.01em;color:#70716a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control[data-enabled=false] .control-label{color:#8f8e88}.control[data-enabled=false] .control-hint{color:#a6a49d}.control output{grid-area:value;font:800 1.35rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.control[data-enabled=false] output{color:#a6a49d}.control input[type=range]{grid-area:slider;width:100%;height:30px;margin:4px 0 0;padding:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}.control input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:#cbc9c2;border:1px solid #a6a49d}.control input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:#cbc9c2;border:1px solid #a6a49d}.control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffdd93,var(--amber));border:1px solid #b06f12;box-shadow:0 1px 3px #00000052}.control input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--amber);border:1px solid #b06f12;box-shadow:0 1px 3px #00000052}.control input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid var(--ink);outline-offset:2px}.control input[type=range]:focus-visible::-moz-range-thumb{outline:3px solid var(--ink);outline-offset:2px}.control input[type=range]:disabled{cursor:not-allowed;opacity:.4}.genre-count{grid-area:value;font:800 1.35rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--amber);text-align:right}.genre-chips{grid-area:slider;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.genre-chip{padding:6px 11px;border:1px solid #a6a49d;border-radius:999px;background:#ffffff8c;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.genre-chip:hover{border-color:#7b7a74}.genre-chip[data-active=true]{background:var(--amber);border-color:#b06f12;color:#1a1a17;box-shadow:0 1px 3px #00000038}.genre-chip:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.dual-range{grid-area:slider;display:grid;min-width:0;height:30px;margin:4px 0 0}.dual-range input{grid-area:1 / 1;height:30px;margin:0;pointer-events:none}.dual-range input::-webkit-slider-thumb{pointer-events:auto}.dual-range input::-moz-range-thumb{pointer-events:auto}.match-column{align-self:stretch;display:flex;flex-direction:column;min-height:0}.match-column .match-panel{flex:0 0 auto}.match-column .playbar{margin-top:auto}.playbar{display:flex;flex-direction:column;align-items:center}.playbar .now-meta{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:0;text-align:center}.playbar .now-meta .track-copy{text-align:center}.playbar .now-meta .track-copy strong{font-size:1.05rem;letter-spacing:.01em}.playbar .now-meta .track-copy span{margin-top:3px;font-size:.76rem}.playbar .transport{margin:10px auto 0}.match-panel{min-height:122px;padding:11px 12px 9px;border:1px solid #74756f;border-radius:4px;background:linear-gradient(180deg,var(--deck-light),var(--deck));color:#f1f0eb;box-shadow:inset 0 1px #ffffff21,0 5px 10px #1919172e}.match-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.match-number{color:var(--amber);font:600 2.1rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.04em;line-height:1}.match-copy strong,.match-copy span{display:block}.match-copy strong{font-size:.82rem;font-weight:750;letter-spacing:.01em}.match-copy span{margin-top:3px;color:#b8b9b3;font-size:.62rem}.signal{display:flex;height:23px;align-items:end;gap:2px}.signal i{width:3px;background:#666862}.signal i[data-active=true]{background:var(--amber)}.signal i:nth-child(1),.signal i:nth-child(10){height:28%}.signal i:nth-child(2),.signal i:nth-child(9){height:46%}.signal i:nth-child(3),.signal i:nth-child(8){height:63%}.signal i:nth-child(4),.signal i:nth-child(7){height:80%}.signal i:nth-child(5),.signal i:nth-child(6){height:100%}.recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:41px;margin-top:8px;padding-top:7px;border-top:1px solid #4e504b}.recommendation{justify-content:space-between;gap:8px;min-width:0;min-height:40px;padding:5px 8px;border:1px solid #575953;border-radius:3px;background:#292b28;color:#e8e7e2;font:.48rem ui-monospace,SFMono-Regular,Menlo,monospace;text-align:left}.recommendation:hover:not(:disabled){border-color:var(--amber);background:#323430}.recommendation span{color:var(--amber)}.control-status{margin:6px 0 0;color:#b8b9b3;font-size:.45rem;line-height:1.25}.console-foot{display:grid;grid-template-columns:auto minmax(260px,620px);align-items:center;justify-content:space-between;gap:18px;padding:10px 16px;border-top:1px solid var(--line);background:var(--aluminium-light)}.status-line{display:flex;align-items:center;gap:9px}.status{margin:0;color:var(--muted);font-size:.56rem}.error-message{margin:0;color:#7f241e;font-size:.56rem}.ready-chip{min-height:24px;padding:0 8px;border-radius:999px;font:.48rem ui-monospace,SFMono-Regular,Menlo,monospace}.consent-copy{margin:0;color:var(--muted);font-size:.53rem;line-height:1.4;text-align:right}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:18px;border:1px solid #8f8e88;background:#8f8e88}.legal-grid article{scroll-margin-top:16px;padding:24px;background:var(--aluminium-light)}.legal-grid h2{margin-bottom:14px;font-size:1.25rem}.legal-grid p:not(.section-label){color:var(--muted);font-size:.76rem;line-height:1.55}.legal-page{width:100%;height:100vh;margin:0;padding:0;display:block;overflow-y:auto}.legal-shell{width:min(680px,calc(100% - 48px));margin:0 auto;padding:48px 0 64px}.legal-back{display:inline-flex;align-items:center;min-height:40px;margin-bottom:24px;color:var(--ink);font:750 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-decoration:none}.legal-back:hover{color:var(--amber)}.legal-page h1{margin-bottom:18px;font-size:1.7rem;letter-spacing:-.01em}.legal-page article p:not(.section-label){max-width:60ch;margin-bottom:13px;color:var(--muted);font-size:.95rem;line-height:1.62}@media(max-width:1100px){main{width:calc(100% - 16px);padding-top:8px}.machine-shell{padding:13px}.screen,.control-panel{gap:10px}.screen{grid-template-columns:minmax(118px,.75fr) minmax(480px,1.8fr) minmax(118px,.75fr)}.control-panel{grid-template-columns:minmax(205px,.88fr) minmax(310px,1.3fr) minmax(205px,.88fr)}.control{column-gap:10px;padding:8px 12px 10px}.clip strong{font-size:.52rem}.clip>span{font-size:.42rem}}@media(max-width:899px){main{width:min(100% - 18px,720px)}.toprail{grid-template-columns:1fr auto}.screen,.control-panel,.legal-grid{grid-template-columns:1fr}.now{order:-1}.player-slot{min-width:0}.history{padding-bottom:4px}.control-panel{gap:10px}.match-panel{order:-1}.console-foot{grid-template-columns:1fr}.consent-copy{text-align:left}}@media(max-width:520px){.machine-shell{padding:10px}.toprail nav{gap:8px}.now-meta{grid-template-columns:1fr auto}.live{grid-column:1 / -1}.transport{grid-template-columns:40px 48px 40px}.recommendations{grid-template-columns:1fr}.control{column-gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
