.sammy-start { --record-red:#a6231b; position:absolute; z-index:11; left:50%; top:58%; transform:translate(-50%,-50%); display:flex; align-items:stretch; width:min(310px,calc(100vw - 44px)); height:78px; padding:0; overflow:hidden; border:2px solid #b8ad99; border-radius:3px; color:#28231e; background:#d9cfba; box-shadow:inset 0 0 0 2px #584c40,0 2px 0 #4b3c33,0 8px 20px #000d; font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.sammy-start::before { content:""; position:absolute; z-index:0; inset:0; background:radial-gradient(ellipse at 54% 45%,transparent 35%,#3e291a35 100%),repeating-linear-gradient(0deg,#24160f0b 0 1px,transparent 1px 4px),linear-gradient(165deg,#f5eddd,#d8cbb5 52%,#e9decb); pointer-events:none; }
.sammy-start::after { content:""; position:absolute; z-index:4; inset:1px; border-radius:1px; pointer-events:none; background:radial-gradient(ellipse at center,transparent 35%,#ffd87b42 72%,#fff0b4b8 100%); box-shadow:inset 0 0 6px #fff0b4,inset 0 0 14px #e8ab4acc,inset 0 0 0 1px #ffd78a88; mix-blend-mode:screen; animation:sammy-jukebox-light 6.6s steps(1,end) infinite; }
@keyframes sammy-jukebox-light { 0%,54%,61%,66%,73%,78%,84%,100% { opacity:.86; } 55%,60%,67%,72%,79%,83% { opacity:.08; } 56%,59%,68%,71%,80%,82% { opacity:.98; } }
.sammy-number-column,.sammy-song-window { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; }
.sammy-number-column { flex:0 0 64px; gap:7px; align-items:center; padding:4px 3px; border-right:2px solid #0d0c0a; color:#f1b94f; background:linear-gradient(90deg,#080909,#171614 82%,#090909); font:700 19px/.9 "Courier New",monospace; letter-spacing:-.08em; text-shadow:0 0 5px #f0ad42b3; }
.sammy-song-window { flex:1; min-width:0; margin:5px 7px 5px 6px; padding:4px 11px; border:1px solid #9c907e; background:repeating-linear-gradient(0deg,#614b3821 0 1px,transparent 1px 8px),linear-gradient(180deg,#f0e4ce,#d8c6aa 48%,#eee1cc); box-shadow:inset 0 0 0 2px #f9f2e4,inset 0 0 13px #806d5438,0 0 0 2px #4a3c2e; }
.sammy-song-row { display:flex; flex:1; min-height:0; flex-direction:column; align-items:center; justify-content:center; width:100%; color:#39332a; line-height:1; }
.sammy-song-row + .sammy-song-row { border-top:2px solid #a6231b70; }
.sammy-song-title { font:900 16px/.95 "Bebas Neue","Arial Narrow","Helvetica Neue",Arial,sans-serif; letter-spacing:.04em; }
.sammy-song-artist { margin-top:3px; font:800 9px/.95 "Bebas Neue","Arial Narrow","Helvetica Neue",Arial,sans-serif; letter-spacing:.17em; }
.sammy-play-overlay { position:absolute; z-index:2; inset:0; display:grid; grid-template-columns:64px 1fr; align-items:center; background:rgba(0,0,0,.79); mix-blend-mode:multiply; opacity:0; pointer-events:none; animation:sammy-window-flicker 6.6s steps(1,end) infinite; }
@keyframes sammy-window-flicker { 0%,54%,61%,66%,73%,78%,84%,100% { opacity:0; } 55%,60%,67%,72%,79%,83% { opacity:.96; } 56%,59%,68%,71%,80%,82% { opacity:0; } }
.sammy-play-word { grid-column:2; justify-self:center; color:#f3e8d4; font:900 clamp(27px,5vw,48px)/.9 "Bebas Neue","Arial Narrow","Helvetica Neue",Arial,sans-serif; letter-spacing:.12em; mix-blend-mode:screen; text-shadow:0 0 8px #f5dfbc6b; }
.sammy-play-arrows { position:absolute; left:42px; top:0; bottom:0; display:flex; flex-direction:column; justify-content:space-evenly; }
.sammy-play-arrows i { display:block; width:0; height:0; border-top:8px solid transparent; border-bottom:8px solid transparent; border-right:13px solid #f3e8d4; filter:drop-shadow(0 0 3px #f5dfbc88); }
.sammy-license-badge { position:absolute; z-index:3; right:8px; bottom:7px; display:block; width:36px; height:10px; pointer-events:none; opacity:.78; }
.sammy-license-badge svg { display:block; width:100%; height:100%; }
.sammy-start:hover { filter:brightness(1.08) drop-shadow(0 8px 16px #000d); }
.sammy-start:focus-visible { outline:2px solid #f8b14e; outline-offset:5px; }
.sammy-start:disabled { cursor:wait; }
.sammy-start[hidden], .vegas-radio[hidden] { display:none; }
.allow-audio { position:absolute; z-index:12; left:50%; top:calc(58% + 55px); display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:148px; min-height:38px; padding:0 18px; border:1px solid #72b7ff; border-radius:999px; color:#fff; background:linear-gradient(180deg,#1688ff,#007aff 58%,#0069e8); box-shadow:0 2px 0 #004da7,0 5px 16px #0009,0 0 18px #1688ff66,inset 0 1px #ffffff70; font:800 11px/1 "Helvetica Neue",Arial,sans-serif; letter-spacing:.08em; text-shadow:0 1px 2px #00458b88; transform:translateX(-50%); cursor:pointer; animation:allow-audio-nudge 2.8s ease-in-out infinite; transition:opacity 420ms ease,filter 420ms ease,transform 420ms ease; }
.allow-audio svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.allow-audio:hover { filter:brightness(1.12); }
.allow-audio:focus-visible { outline:2px solid white; outline-offset:4px; }
.allow-audio.is-fading { opacity:0; filter:blur(2px); transform:translate(-50%,-8px) scale(.9); pointer-events:none; animation:none; }
.allow-audio[hidden] { display:none; }
@keyframes allow-audio-nudge { 0%,82%,100% { translate:0 0; } 85% { translate:-2px 0; } 88% { translate:3px 0; } 91% { translate:-2px 0; } 94% { translate:1px 0; } }
@media(prefers-reduced-motion:reduce) { .allow-audio { animation:none; transition:none; } }
body.is-driving .sammy-start:not([hidden]) { visibility:visible; }
.sammy-flying { position:fixed; z-index:150; margin:0; pointer-events:none; transform-origin:center; }
.vegas-radio.is-introduced { animation:radio-arrival 950ms ease-out; }
@keyframes radio-arrival { 0%,55% { filter:brightness(1); } 70% { filter:brightness(1.55) drop-shadow(0 0 8px #daf6d3); } 100% { filter:brightness(1); } }
@media(max-width:900px) { .sammy-start:not(.sammy-flying) { left:50%; top:58%; } }
.music-credit { position:fixed; z-index:119; right:12px; bottom:12px; margin:0; color:#e9e7e1; font:400 11px/1.25 "Helvetica Neue",Arial,sans-serif; text-align:right; text-shadow:0 1px 3px #000,0 0 10px #000; white-space:nowrap; }
.music-credit[hidden] { display:none; }
.music-credit a { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
.music-credit a:hover { color:#ffe5aa; }
body:has(#vegas-stage.is-gallery) .music-credit { bottom:72px; }
body:has(#vegas-stage.is-driving) .music-credit,body:has(#vegas-stage.is-viewing) .music-credit { visibility:hidden; }
.vegas-radio { position:fixed; left:50%; top:calc(var(--nav-height) / 2); transform:translate(-50%,-50%) scale(.6); display:block; width:350px; height:74px; padding:0; border:0; border-radius:0; color:#252721; background:transparent; isolation:isolate; pointer-events:none; transition:transform 180ms ease-out; }
.vegas-radio:focus-within { transform:translate(-50%,-50%) scale(.8); }
@media(hover:hover) { .vegas-radio:hover { transform:translate(-50%,-50%) scale(.8); } }
.radio-faceplate { position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 2px 3px #000b); pointer-events:none; }
.radio-knob { position:absolute; top:12px; z-index:2; display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #555; border-radius:50%; color:#242624; background:conic-gradient(from 25deg,#f9fbfa,#67706e 22%,#d6dad6 30%,#fff 47%,#59605e 68%,#b9c0ba 85%,#fff); box-shadow:inset 0 0 0 2px #a2a79f,0 2px 3px #0008; cursor:pointer; pointer-events:auto; }
.radio-knob::after { content:""; position:absolute; inset:-5px -7px; border-radius:50%; }
.radio-knob::before { content:""; position:absolute; inset:-4px; border:3px solid var(--knob-glow); border-radius:50%; box-shadow:0 0 3px var(--knob-glow),0 0 10px var(--knob-halo),inset 0 0 3px var(--knob-glow); pointer-events:none; }
#radio-stop { left:22px; --knob-glow:#e43c38; --knob-halo:#ed182890; }
#radio-play { right:22px; --knob-glow:#59ca71; --knob-halo:#54df808c; }
.knob-core { position:relative; width:25px; height:25px; border:1px solid #535753; border-radius:50%; background:radial-gradient(circle at 34% 24%,#6b716c,#252b27 45%,#111813 80%),repeating-conic-gradient(#111 0 3deg,#555 3deg 5deg); box-shadow:inset 0 1px 2px #d1d8c350,inset 0 -2px 3px #000; }
.knob-core::before { content:""; position:absolute; left:11px; top:2px; width:2px; height:6px; border-radius:1px; background:var(--knob-glow); transform:rotate(-25deg); transform-origin:1px 11px; }
.radio-knob small { position:absolute; bottom:-13px; font-size:7px; font-family:"Arial Narrow",Arial,sans-serif; font-weight:700; line-height:1; letter-spacing:.14em; text-shadow:0 1px #ffffffa0; }
.radio-knob:hover::before { box-shadow:0 0 5px var(--knob-glow),0 0 13px var(--knob-halo); }
.radio-knob:focus-visible,.radio-pushbuttons button:focus-visible,.radio-bus-toggle:focus-visible { outline:2px solid #f8b14e; outline-offset:5px; }
.radio-knob:disabled { cursor:default; }
.radio-knob:disabled .knob-core { opacity:.66; }
.radio-center { position:absolute; z-index:1; top:12px; left:64px; right:64px; min-width:0; display:flex; flex-direction:column; align-items:center; gap:6px; pointer-events:auto; }
.radio-glass { position:relative; width:100%; height:28px; border:1px solid #b3b8a0; border-radius:0; color:#e4dcc3; background:linear-gradient(165deg,#ffffff15 0%,transparent 48%,#0006 49%),linear-gradient(180deg,#222b21,#10160f 62%,#2e3529); box-shadow:0 0 0 1px #1b2419,inset 0 2px 4px #000; text-align:center; line-height:1; }
.radio-glass::before { content:""; position:absolute; left:7px; right:7px; top:13px; height:6px; background:repeating-linear-gradient(90deg,#d8d0ae 0 1px,transparent 1px 5px); opacity:.8; pointer-events:none; }
.radio-frequencies { position:absolute; top:3px; left:4px; right:4px; font-family:"Courier New",monospace; font-size:8px; font-weight:700; letter-spacing:-.06em; white-space:nowrap; pointer-events:none; }
.radio-glass small { position:absolute; bottom:1px; left:5px; right:5px; font-family:"Arial Narrow",Arial,sans-serif; font-size:5px; letter-spacing:.16em; pointer-events:none; }
.is-playing .radio-glass { color:#f2e9c9; box-shadow:0 0 0 1px #fff7d7,inset 0 2px 4px #000,0 0 8px #e2bd6c35; }
#radio-volume,#exhaust-volume { appearance:none; position:absolute; z-index:2; left:5%; top:-5px; width:90%; height:38px; padding:0; margin:0; border:0; border-radius:0; background:transparent; cursor:ew-resize; }
#radio-volume[hidden],#exhaust-volume[hidden] { display:none; }
:is(#radio-volume,#exhaust-volume)::-webkit-slider-runnable-track { height:38px; background:transparent; border:0; }
:is(#radio-volume,#exhaust-volume)::-webkit-slider-thumb { appearance:none; width:8px; height:38px; margin-top:0; border:1px solid #750c0a; border-radius:1px; background:linear-gradient(90deg,#7e100d 0%,#f3372c 28%,#ff8b6e 48%,#e02b23 70%,#7f100e 100%); box-shadow:0 0 0 1px #ffb6a078,0 0 7px #f33a,0 1px 2px #000a; }
:is(#radio-volume,#exhaust-volume)::-moz-range-track { height:38px; background:transparent; border:0; }
:is(#radio-volume,#exhaust-volume)::-moz-range-thumb { width:8px; height:38px; border:1px solid #750c0a; border-radius:1px; background:linear-gradient(90deg,#7e100d 0%,#f3372c 28%,#ff8b6e 48%,#e02b23 70%,#7f100e 100%); box-shadow:0 0 0 1px #ffb6a078,0 0 7px #f33a,0 1px 2px #000a; }
:is(#radio-volume,#exhaust-volume):focus-visible { outline:2px solid #f8b14e; outline-offset:3px; }
.radio-pushbuttons { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; width:82%; padding:1px 3px 2px; background:linear-gradient(#101810,#626959); border:1px solid #929983; box-shadow:0 1px #fff9; }
.radio-pushbuttons button { position:relative; min-width:0; height:17px; padding:0 1px; border:1px solid #8b8c7f; border-top-color:#fff; border-bottom-color:#484e47; border-radius:1px; color:#31372e; font-family:"Arial Narrow",Arial,sans-serif; font-size:6px; font-weight:700; letter-spacing:.03em; line-height:1; background:linear-gradient(180deg,#ffffed,#e1e0cd 40%,#aeb2a2 74%,#e7e9d6); box-shadow:0 1px 2px #0008,inset 1px 0 #fff8; cursor:pointer; }
.radio-pushbuttons button::before { content:""; position:absolute; inset:-3px 0; }
.radio-pushbuttons button[aria-pressed="true"],.radio-pushbuttons button:active { border-top-color:#5e665c; border-bottom-color:#939b8c; color:#252d24; background:linear-gradient(#8e9586,#bec4b4 64%,#d3d6c5); box-shadow:inset 0 2px 3px #0009,inset 0 0 0 1px #4c554745; transform:translateY(1px); }
.radio-pushbuttons button:disabled { cursor:default; opacity:1; }
.radio-pushbuttons button:disabled::before { display:none; }
.radio-bus-toggle { position:absolute; top:34px; right:-17px; z-index:2; width:31px; height:18px; padding:0; border:1px solid #b6bba9; border-bottom-color:#52594c; border-radius:1px; color:#31372e; background:linear-gradient(#f3f5e7,#aeb5a7); box-shadow:0 1px 2px #0008; font-family:"Arial Narrow",Arial,sans-serif; font-size:6px; font-weight:800; letter-spacing:.05em; cursor:pointer; }
.radio-bus-toggle[aria-pressed="true"] { color:#f4e7c5; background:linear-gradient(#303b31,#111a13); box-shadow:inset 0 1px 2px #000; }
@media(min-width:1201px) { body.radio-active { --nav-height:64px; } }
@media(max-width:1200px) {
  body.radio-active { --nav-height:108px; }
  .radio-active .vegas-nav { align-items:flex-start; padding-top:9px; }
  .radio-active .vegas-brand { display:inline-flex; align-items:center; min-height:44px; }
  .radio-active .vegas-nav nav { height:44px; }
  .vegas-radio { top:78px; }
}
@media(max-width:600px) {
  body.radio-active { --nav-height:148px; }
  .radio-active .vegas-nav { padding-top:0; }
  .radio-active .vegas-brand { min-height:32px; }
  .vegas-radio { top:112px; width:320px; max-width:calc(100vw - 24px); }
  .radio-center { left:60px; right:60px; }
  #radio-stop { left:20px; }
  #radio-play { right:20px; }
  .radio-frequencies { font-size:7px; }
  .sammy-start:not(.sammy-flying) { top:58%; width:min(275px,calc(100vw - 32px)); height:70px; }
  .sammy-number-column { flex-basis:57px; font-size:17px; }
  .sammy-song-title { font-size:14px; }
  .sammy-song-artist { font-size:8px; }
  .sammy-play-overlay { grid-template-columns:57px 1fr; }
  .sammy-play-arrows { left:38px; }
  .sammy-play-arrows i { border-top-width:7px; border-bottom-width:7px; border-right-width:11px; }
  .sammy-license-badge { width:32px; height:9px; }
  .music-credit { max-width:calc(100vw - 24px); font-size:10px; white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { .sammy-start::after { animation:none; opacity:.8; } .sammy-play-overlay { animation:none; opacity:0; } }
@media(max-width:600px) and (max-height:700px) {
  .sammy-start:not(.sammy-flying) { top:56%; }
}

/* Landing jukebox: spaced two-row song card with a worn, split number strip. */
@font-face { font-family:"Above the Beyond Script"; src:local("Above the Beyond Script"),local("Above The Beyond Script"); font-style:normal; font-weight:400; font-display:swap; }
.sammy-start { display:flex; align-items:stretch; cursor:default; }
.sammy-number-column { flex:0 0 64px; gap:0; padding:4px 3px; }
.sammy-number-column > span { position:relative; display:grid; flex:1; width:100%; place-items:center; letter-spacing:-.06em; }
.sammy-number-column > span + span { border-top:1px solid transparent; border-image:linear-gradient(90deg,transparent,#080807d9 15%,#080807d9 85%,transparent) 1; box-shadow:0 -1px 0 #c9a45640; }
.sammy-number-column > span::after { content:""; position:absolute; right:5px; top:50%; width:0; height:0; transform:translateY(-50%); border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:0 solid #efb74c; opacity:0; filter:drop-shadow(0 0 3px #f1bd62); }
.sammy-number-column > span.is-selected::after { border-left-width:9px; opacity:1; }
.sammy-number-column > span::before { content:""; position:absolute; inset:2px 0; pointer-events:none; background:linear-gradient(90deg,transparent,#0007 50%,transparent); opacity:.22; }
.sammy-song-window { display:flex; flex-direction:column; position:relative; flex:1; min-width:0; margin:5px 7px 5px 6px; padding:3px 8px; }
.sammy-song-row { position:relative; display:flex; flex:1; min-height:0; align-items:center; justify-content:center; width:100%; padding:3px 4px; border:0; color:#39332a; background:transparent; cursor:pointer; }
.sammy-song-row + .sammy-song-row { border-top:1px solid #a6231b70; box-shadow:0 -1px 0 #fff5; }
.sammy-song-row:hover,.sammy-song-row:focus-visible,.sammy-song-row.is-selected { background:linear-gradient(90deg,transparent,#ffeab84d 12%,#fff2d17a 50%,#ffeab84d 88%,transparent); }
.sammy-start:has(.sammy-song-row[data-jukebox-song="0"]:hover,.sammy-song-row[data-jukebox-song="0"]:focus-visible) .sammy-number-column [data-jukebox-number="0"]::after,.sammy-start:has(.sammy-song-row[data-jukebox-song="1"]:hover,.sammy-song-row[data-jukebox-song="1"]:focus-visible) .sammy-number-column [data-jukebox-number="1"]::after { border-left-width:9px; opacity:1; }
.sammy-start:has(.sammy-song-row[data-jukebox-song="0"]:hover,.sammy-song-row[data-jukebox-song="0"]:focus-visible) .sammy-number-column [data-jukebox-number="1"].is-selected::after,.sammy-start:has(.sammy-song-row[data-jukebox-song="1"]:hover,.sammy-song-row[data-jukebox-song="1"]:focus-visible) .sammy-number-column [data-jukebox-number="0"].is-selected::after { opacity:0; }
.sammy-song-row:focus-visible { outline:1px solid #a6231b; outline-offset:-3px; }
.sammy-song-copy { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; padding:3px 0 5px; line-height:1; }
.sammy-song-title { font:900 16px/.98 "Bebas Neue","Arial Narrow","Helvetica Neue",Arial,sans-serif; letter-spacing:.045em; }
.sammy-song-artist { margin-top:5px; font:800 9px/.95 "Bebas Neue","Arial Narrow","Helvetica Neue",Arial,sans-serif; letter-spacing:.23em; }
.sammy-song-row[data-jukebox-song="1"] .sammy-song-artist { font-size:8px; letter-spacing:.09em; }
.sammy-age { position:absolute; left:7px; top:50%; transform:translateY(-53%) rotate(-5deg); color:#153f7c; font:400 22px/.8 "Above the Beyond Script","Segoe Script","Snell Roundhand","Brush Script MT",cursive; letter-spacing:-.06em; text-shadow:0 1px 0 #edf0e4; }
.sammy-license-badge { position:absolute; z-index:3; top:3px; right:5px; bottom:auto; display:flex; align-items:center; justify-content:center; gap:2px; width:42px; height:12px; padding:1px 2px; border:1px solid #b8ad99; background:#f4eedf; box-shadow:0 0 0 1px #fff9; opacity:.82; pointer-events:auto; }
.sammy-license-badge a { display:grid; place-items:center; height:100%; color:#333; font:700 7px/1 Arial,sans-serif; text-decoration:none; }
.sammy-license-badge a:first-child { width:8px; }
.sammy-license-badge a:hover { color:#a6231b; }
.sammy-license-badge svg { display:block; width:30px; height:9px; }
.sammy-play-overlay { position:absolute; z-index:4; inset:0; display:grid; place-items:center; padding:0; border:0; border-radius:0; background:rgba(0,0,0,.78); mix-blend-mode:multiply; opacity:0; pointer-events:none; cursor:pointer; animation:sammy-window-flicker 6.6s steps(1,end) infinite; }
.sammy-play-word { grid-column:auto; justify-self:auto; pointer-events:auto; color:#f3e8d4; font:900 clamp(27px,5vw,48px)/.9 "Bebas Neue","Arial Narrow","Helvetica Neue",Arial,sans-serif; letter-spacing:.12em; }
.sammy-start.is-starting::after { animation:sammy-startup-flash 1.4s steps(1,end) both; }
.sammy-start.is-starting .sammy-play-overlay { animation:sammy-startup-play 1.4s steps(1,end) both; }
@keyframes sammy-startup-flash { 0%,10%,25%,40%,62%,78%,100% { opacity:.92; } 11%,24%,41%,61%,79% { opacity:.08; } 15%,38%,65%,74% { opacity:1; } }
@keyframes sammy-startup-play { 0%,10%,25%,40%,62%,78%,100% { opacity:0; } 11%,24%,41%,61%,79% { opacity:.96; } 15%,38%,65%,74% { opacity:0; } }
.sammy-start[hidden],.vegas-radio[hidden] { display:none; }
@media(max-width:600px) {
  .sammy-number-column { flex-basis:57px; }
  .sammy-song-title { font-size:14px; }
  .sammy-song-artist { font-size:8px; }
  .sammy-age { left:5px; font-size:19px; }
  .sammy-license-badge { width:39px; height:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .sammy-start::after,.sammy-play-overlay { animation:none; }
  .sammy-play-overlay { opacity:0; }
}
.sammy-start:not(.sammy-flying) { height:98px; }
.sammy-number-column > span.is-selected::after { opacity:0; }
.sammy-start[data-active-song="0"] .sammy-number-column [data-jukebox-number="0"]::after,.sammy-start[data-active-song="1"] .sammy-number-column [data-jukebox-number="1"]::after { border-left-width:9px; opacity:1; }
.sammy-start:has(.sammy-song-row:hover,.sammy-song-row:focus-visible) .sammy-play-overlay { opacity:0 !important; }
.sammy-song-copy { margin:0 20px 0 44px; padding:7px 0 9px; }
.sammy-song-artist { margin-top:8px; }
.sammy-age { left:7px; font-size:24px; }
@media(max-width:600px) {
  .sammy-start:not(.sammy-flying) { height:90px; }
  .sammy-song-copy { margin-right:12px; margin-left:38px; padding:6px 0 8px; }
  .sammy-song-artist { margin-top:7px; }
  .sammy-age { left:5px; font-size:20px; }
}

/* Keep the startup CTA centered on the record label, not the number rail. */
.sammy-song-window .sammy-play-overlay {
  position:absolute;
  z-index:4;
  inset:0;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:0;
  color:#f3e8d4;
  background:rgba(0,0,0,.48);
  mix-blend-mode:normal;
  opacity:0;
  pointer-events:none;
  cursor:pointer;
  animation:sammy-window-flicker 6.6s steps(1,end) infinite;
}
.sammy-song-window .sammy-play-word {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  white-space:nowrap;
  color:#f3e8d4;
  font-size:clamp(22px,4vw,38px);
  line-height:1;
  letter-spacing:.12em;
  mix-blend-mode:normal;
  text-shadow:0 1px 2px #000,0 0 8px #f5dfbc88;
}
.sammy-license-badge { z-index:5; }
@keyframes sammy-window-flicker {
  0%,54%,61%,66%,73%,78%,84%,100% { opacity:0; }
  55%,60%,67%,72%,79%,83% { opacity:.64; }
  56%,59%,68%,71%,80%,82% { opacity:0; }
}
.sammy-start.is-starting::after { animation-duration:2.2s; }
.sammy-start.is-starting .sammy-song-window .sammy-play-overlay { animation-name:sammy-startup-play; animation-duration:2.2s; }
@keyframes sammy-startup-flash { 0%,10%,25%,40%,62%,78%,100% { opacity:.92; } 11%,24%,41%,61%,79% { opacity:.08; } 15%,38%,65%,74% { opacity:1; } }
@keyframes sammy-startup-play { 0%,10%,25%,40%,62%,78%,100% { opacity:0; } 11%,24%,41%,61%,79% { opacity:.72; } 15%,38%,65%,74% { opacity:0; } }
@media(prefers-reduced-motion:reduce) {
  .sammy-start.is-starting::after,.sammy-start.is-starting .sammy-song-window .sammy-play-overlay { animation:none; }
}

/* Active/hovered row is legible; the other row reads as the unselected track. */
.sammy-song-row { background:rgba(0,0,0,.38); transition:background-color 120ms ease,box-shadow 120ms ease; }
.sammy-start[data-active-song="0"] .sammy-song-row[data-jukebox-song="0"],
.sammy-start[data-active-song="1"] .sammy-song-row[data-jukebox-song="1"] {
  background:linear-gradient(90deg,#fff1d275,#fff7e9c9 48%,#fff1d275);
  box-shadow:inset 0 0 0 1px #fff9,inset 0 0 12px #fff9;
}
.sammy-start[data-active-song="0"] .sammy-song-row[data-jukebox-song="1"],
.sammy-start[data-active-song="1"] .sammy-song-row[data-jukebox-song="0"] { background:rgba(0,0,0,.46); }
.sammy-inactive-shade {
  position:absolute;
  z-index:2;
  inset:4px;
  background:rgba(0,0,0,.52);
  -webkit-clip-path:inset(50% 0 0);
  clip-path:inset(50% 0 0);
  pointer-events:none;
  transition:none;
}
.sammy-start[data-active-song="1"] .sammy-inactive-shade {
  -webkit-clip-path:inset(0 0 50%);
  clip-path:inset(0 0 50%);
}

/* Notched, directional selector: a small retro bite in the arrow's tail. */
.sammy-number-column > span::after {
  right:4px;
  width:20px;
  height:18px;
  border:0 !important;
  background:linear-gradient(90deg,#d89c36,#ffd779 48%,#f5bd54);
  clip-path:polygon(0 18%,52% 18%,52% 0,100% 50%,52% 100%,52% 82%,0 82%,14% 50%);
  filter:drop-shadow(0 1px 1px #382705) drop-shadow(0 0 3px #e5a833);
}
.sammy-number-column > span.is-selected::after,
.sammy-start[data-active-song="0"] .sammy-number-column [data-jukebox-number="0"]::after,
.sammy-start[data-active-song="1"] .sammy-number-column [data-jukebox-number="1"]::after { opacity:1; }

/* Use the supplied handwritten PNG marks instead of font substitutions. */
.sammy-age { display:block; width:68px; line-height:0; }
.sammy-age img { display:block; width:100%; max-height:30px; object-fit:contain; }
.sammy-song-copy { margin-left:65px; }
@media(max-width:600px) { .sammy-age { width:56px; } .sammy-age img { max-height:26px; } .sammy-song-copy { margin-left:52px; } }
.sammy-start.is-selecting::after { animation:none; opacity:.5; }
.sammy-start.is-selecting .sammy-song-window .sammy-play-overlay { animation:none !important; opacity:0 !important; }

/* Hover selection changes the fixed row lamps, never the label geometry. */
.sammy-song-row { transition:none; }
.sammy-song-row::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:2px 0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(ellipse at 3% 50%,#ffe6a4a8 0,transparent 18%),
    radial-gradient(ellipse at 97% 50%,#ffe6a475 0,transparent 16%),
    radial-gradient(circle at 4px 50%,#ffe9ba 0 1px,transparent 2px),
    radial-gradient(circle at calc(100% - 4px) 50%,#ffe9ba 0 1px,transparent 2px),
    linear-gradient(90deg,#f5c76620,#fff2ce55 18%,#fff6df78 50%,#fff2ce55 82%,#f5c76620);
  box-shadow:inset 0 0 0 1px #fff8,inset 0 0 12px #ffe6a45c;
  transition:opacity 170ms ease-in-out;
}
.sammy-song-copy { position:relative; z-index:1; }
.sammy-age { z-index:1; }
.sammy-start[data-active-song="0"] .sammy-song-row[data-jukebox-song="0"]::before,
.sammy-start[data-active-song="1"] .sammy-song-row[data-jukebox-song="1"]::before { opacity:1; }
.sammy-number-column > span::after { transition:opacity 150ms ease,filter 150ms ease; }
@media(prefers-reduced-motion:reduce) {
  .sammy-song-row,.sammy-song-row::before,.sammy-number-column > span::after { transition:none; }
}
