:root,:root[data-theme=dark]{--bg: #1b211e;--panel: #232a26;--line: #37403b;--ink: #e8e4d8;--muted: #8f988f;--dial: #f2a950;--dial-deep: #c77f2a;--error: #e07a5f}:root[data-theme=light]{--bg: #ecefe9;--panel: #e2e6df;--line: #c9cfc6;--ink: #232a26;--muted: #6b746c;--dial: #b56a10;--dial-deep: #8f5410;--error: #b04a32}*{box-sizing:border-box;margin:0}html{height:100%}body{min-height:100%;background:var(--bg);color:var(--ink);font-family:Iowan Old Style,Palatino Nova,Palatino,Georgia,serif;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:40rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;min-height:100vh;display:flex;flex-direction:column}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--dial);outline-offset:2px}a{color:inherit}.masthead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3rem}.wordmark{font-size:1.35rem;letter-spacing:.04em;font-weight:600}.wordmark-dial{color:var(--muted);transition:color .6s,text-shadow .6s}.wordmark[data-onair] .wordmark-dial{color:var(--dial);text-shadow:0 0 14px color-mix(in srgb,var(--dial) 60%,transparent)}.modes{display:flex;gap:.5rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;color:var(--muted)}.modes button{color:var(--muted);padding:0 0 .1rem}.modes button:hover{color:var(--ink)}.modes button[data-active]{color:var(--dial);border-bottom:1px solid var(--dial)}.theme-toggle{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 .1rem}.theme-toggle:hover{color:var(--ink)}.status{margin:4rem 0;color:var(--muted);font-style:italic}.status-hint{margin-top:.75rem;font-style:normal;font-size:.9rem}.player{margin-bottom:3rem}.player-eyebrow{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dial);margin-bottom:.75rem}.player-name{font-size:clamp(2rem,7vw,3.25rem);font-weight:600;letter-spacing:-.015em;line-height:1.08;text-wrap:balance}.player-place{color:var(--muted);margin-top:.5rem;font-size:1.05rem}.player-track{margin-top:1rem;color:var(--muted);font-size:.95rem}.player-preview-tag{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:.1rem .5rem;margin-left:.6rem;vertical-align:.1em}.player-controls{display:flex;align-items:center;gap:1rem;margin-top:1.75rem}.btn-play{background:var(--dial);color:var(--bg);font-weight:600;padding:.6rem 1.6rem;border-radius:999px;transition:background .2s}.btn-play:hover{background:var(--dial-deep)}.btn-next{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.1rem}.btn-next:hover:not(:disabled){color:var(--ink)}.btn-next:disabled{opacity:.4;cursor:default}.player-error{margin-top:1rem;color:var(--error);font-size:.95rem}.meter{display:inline-flex;align-items:flex-end;gap:3px;height:1.1rem}.meter i{width:3px;background:var(--dial);animation:sway 1.1s ease-in-out infinite}.meter i:nth-child(1){height:40%;animation-delay:0s}.meter i:nth-child(2){height:90%;animation-delay:.25s}.meter i:nth-child(3){height:60%;animation-delay:.5s}.meter i:nth-child(4){height:80%;animation-delay:.12s}@keyframes sway{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.meter i{animation:none}}.dial ol{list-style:none;padding:0;border-left:2px solid var(--line)}.dial-row{display:grid;grid-template-columns:5.5rem 1.25rem 1fr;grid-template-areas:"km arrow name" "km arrow place";align-items:baseline;column-gap:.75rem;width:100%;text-align:left;padding:.65rem .75rem .65rem 1rem;position:relative;transition:background .15s}.dial-row:before{content:"";position:absolute;left:0;top:50%;width:.55rem;height:2px;background:var(--line)}.dial-row:hover,.dial-row[data-current]{background:var(--panel)}.dial-row[data-current]:before{background:var(--dial);width:.8rem}.dial-row[data-dead]{opacity:.4}.dial-km{grid-area:km;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.dial-row[data-current] .dial-km{color:var(--dial)}.dial-arrow{grid-area:arrow;align-self:center;width:1.1rem;height:1.1rem;display:grid;place-items:center;color:var(--muted);font-size:.8rem;line-height:1;transform-origin:center}.dial-name{grid-area:name;font-weight:500}.dial-row[data-current] .dial-name{color:var(--dial)}.dial-place{grid-area:place;color:var(--muted);font-size:.85rem}.colophon{margin-top:auto;padding-top:4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.72rem;color:var(--muted)}@media (max-width: 480px){.dial-row{grid-template-columns:4rem 1.1rem 1fr}}
