/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-leading:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--font-weight-bold:700;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-my-0\.5{margin-block:calc(var(--spacing) * -.5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-1{margin-left:var(--spacing)}.hero-arrow-path{--hero-arrow-path:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M16.023%209.348h4.992v-.001M2.985%2019.644v-4.992m0%200h4.992m-4.993%200%203.181%203.183a8.25%208.25%200%200%200%2013.803-3.7M4.031%209.865a8.25%208.25%200%200%201%2013.803-3.7l3.181%203.182m0-4.991v4.99%22%2F%3E%3C%2Fsvg%3E);-webkit-mask:var(--hero-arrow-path);-webkit-mask:var(--hero-arrow-path);-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-exclamation-circle{--hero-exclamation-circle:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%209v3.75m9-.75a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Zm-9%203.75h.008v.008H12v-.008Z%22%2F%3E%3C%2Fsvg%3E);-webkit-mask:var(--hero-exclamation-circle);-webkit-mask:var(--hero-exclamation-circle);-webkit-mask:var(--hero-exclamation-circle);mask:var(--hero-exclamation-circle);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-information-circle{--hero-information-circle:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m11.25%2011.25.041-.02a.75.75%200%200%201%201.063.852l-.708%202.836a.75.75%200%200%200%201.063.853l.041-.021M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Zm-9-3.75h.008v.008H12V8.25Z%22%2F%3E%3C%2Fsvg%3E);-webkit-mask:var(--hero-information-circle);-webkit-mask:var(--hero-information-circle);-webkit-mask:var(--hero-information-circle);mask:var(--hero-information-circle);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-x-mark{--hero-x-mark:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2018%2018%206M6%206l12%2012%22%2F%3E%3C%2Fsvg%3E);-webkit-mask:var(--hero-x-mark);-webkit-mask:var(--hero-x-mark);-webkit-mask:var(--hero-x-mark);mask:var(--hero-x-mark);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.w-0{width:0}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-100{opacity:1}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:opacity-70:is(:where(.group):hover *){opacity:.7}.hover\:cursor-pointer:hover{cursor:pointer}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-spin{animation:var(--animate-spin)}}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.sm\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}[data-phx-session],[data-phx-teleported-src]{display:contents}@font-face{font-family:"Press Start 2P";src:url(/fonts/PressStart2P-Regular-ccb1dfce06ad3883f8e3b5ae011aa795.ttf?vsn=d)format("truetype");font-display:swap}[data-theme=ft2]{--bg:#4b5a7c;--panel:#52628a;--hi:#a8b8e0;--lo:#2a3450;--text:#fff;--dim:#d8e2ff;--well:#000;--accent:#ffe060;--sys:#60e0a0;--wtext:#a0b8f0}[data-theme=it]{--bg:#b89c7c;--panel:#c4a787;--hi:#ecd6b8;--lo:#7a5c3c;--text:#3a2414;--dim:#4f3217;--well:#000;--accent:#ffff4f;--sys:#ffff4f;--wtext:#4fd04f}[data-theme=pt]{--bg:#8a8a8a;--panel:#bbb;--hi:#eee;--lo:#555;--text:#000;--dim:#333;--well:#000;--accent:#fff;--sys:#70d070;--wtext:#bbb}[data-theme=dos]{--bg:#00a;--panel:#00a;--hi:#5ff;--lo:#5ff;--text:#aaa;--dim:#5ff;--well:navy;--accent:#ff5;--sys:#5f5;--wtext:#aaa}[data-theme=vaporware]{--bg:#1b0b3b;--panel:#2b1055;--hi:#ff71ce;--lo:#120630;--text:#fff;--dim:#ff9ff3;--well:#0d0221;--accent:#01cdfe;--sys:#05ffa1;--wtext:#ffc6f0}html,body{background:var(--bg);color:var(--text)}body{font-family:"Press Start 2P",ui-monospace,monospace;font-size:12px;line-height:1.7}@media (min-width:900px){body{font-size:10px}}.desk{flex-direction:column;gap:6px;min-height:100dvh;padding:6px;display:flex}.panel{background:var(--panel);border:2px solid;border-color:var(--hi) var(--lo) var(--lo) var(--hi);padding:6px}.well{background:var(--well);color:var(--wtext);border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo);padding:4px 6px}.field{background:var(--well);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;padding:1px 4px;overflow:hidden}.lbl{color:var(--dim)}.well .lbl{color:var(--wtext)}.num{color:var(--accent)}.sys{color:var(--sys)}.logo{color:var(--accent);text-shadow:2px 2px 0 var(--lo);font-size:14px}.btn{background:var(--panel);color:var(--text);border:2px solid;border-color:var(--hi) var(--lo) var(--lo) var(--hi);cursor:pointer;font:inherit;padding:2px 8px}.btn:active,.btn[aria-pressed=true]{border-color:var(--lo) var(--hi) var(--hi) var(--lo)}.btn:focus-visible{outline:2px dashed var(--accent);outline-offset:2px}.player-icon{vertical-align:baseline;height:1em;display:none}.icon-play{width:.5em}.icon-stop{width:.875em}.player-button[data-status=stopped] .icon-play,.player-button[data-status=playing] .icon-stop{display:inline-block}.readout{border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo);align-items:center;padding:0 8px;line-height:1;display:flex}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station{flex-direction:column;gap:6px;display:flex}.deck{grid-template-columns:clamp(160px,16vw,240px) minmax(0,1fr);align-items:center;gap:20px;padding:12px;display:grid}.cover{aspect-ratio:1;padding:4px}.cover img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.deck-meta{flex-direction:column;align-self:stretch;gap:12px;min-width:0;padding:4px 0;display:flex}.np-artist{color:var(--text);text-transform:uppercase;letter-spacing:1px;font-size:clamp(12px,1vw,16px)}.np-title{color:var(--accent);text-shadow:2px 2px 0 var(--lo);overflow-wrap:anywhere;font-size:clamp(18px,2.4vw,40px);line-height:1.4}.np-album{color:var(--dim);font-size:clamp(10px,.85vw,14px)}.progress{align-items:center;gap:8px;margin-top:auto;display:flex}.progress .bar{background:repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 8px) content-box, var(--well);flex:1;height:24px}@supports (color:color-mix(in lab, red, red)){.progress .bar{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, var(--well)) 0 6px, transparent 6px 8px) content-box, var(--well)}}.progress .bar{border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo);padding:2px}.progress .fill{clip-path:inset(0 100% 0 0);background:repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 8px);height:100%}.progress .time{height:24px;font-size:clamp(10px,.85vw,14px)}[data-theme=vaporware] .progress .fill{background:linear-gradient(90deg,#ff71ce,#b967ff 50%,#01cdfe);-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 6px,#0000 6px 8px);mask-image:repeating-linear-gradient(90deg,#000 0 6px,#0000 6px 8px)}.station-lower{grid-template-columns:1fr;align-items:start;gap:6px;display:grid}.album-notes{flex-direction:column;gap:4px;display:flex}.notes{white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}.playlist{flex-direction:column;gap:4px;display:flex}.playlist-row{grid-template-columns:auto minmax(0,1fr) auto;gap:1ch;display:grid}.theme-menu{position:relative}.theme-options{z-index:30;flex-direction:column;gap:4px;min-width:max-content;display:flex;position:absolute;top:calc(100% + 4px);right:0}.theme-options.hidden,.label-short{display:none}@media (max-width:899px){.label-long{display:none}.label-short{display:inline}.player-icon{vertical-align:middle;font-size:1.5em}.album-notes{display:none}#topbar{z-index:20;position:sticky;top:0}.deck{z-index:10;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:6px;position:sticky;top:44px}.deck-meta{gap:4px}.np-artist{font-size:10px}.progress{gap:4px}.progress .bar,.progress .time{height:18px}.progress .time{padding:0 3px;font-size:9px}.np-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}}@media (min-width:900px){.station-lower{grid-template-columns:repeat(2,minmax(0,1fr))}.station-lower>:only-child{grid-column:1/-1}.station{height:calc(100dvh - 12px);min-height:560px}.station-lower{flex:1;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.playlist,.album-notes{min-height:0}.playlist-rows,.album-notes .well{scrollbar-color:var(--hi) var(--well);min-height:0;overflow-y:auto}.playlist-rows,.album-notes .well:last-child{flex-grow:1}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}