*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Cousine;font-style:normal;font-weight:400;src:url(../cousine-regular.ttf) format("truetype")}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(../fontawesome-webfont.ttf) format("truetype")}:root{--ink:#0a0a0a;--bg:#f5f5f5;--panel:#fff;--line:#e0e0e0;--accent:#cc4d00;--like:#e03070;--danger:#a03030}*{box-sizing:border-box;font-family:Cousine,monospace}body,html{background:var(--bg);color:var(--ink);overscroll-behavior:none;touch-action:manipulation}.fa{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.page{min-height:100vh;padding-bottom:64px}.content{margin:0 auto;max-width:1400px;padding:1.5rem}.shelf{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,150px);justify-content:center}.shelf-name{color:#999;font-size:.7rem;font-weight:400;grid-column:1/-1;letter-spacing:.15em;margin:0 0 .25rem;text-transform:uppercase}.empty{color:#bbb;font-size:.75rem;padding:3rem 0;text-align:center}.live-dot{animation:live-pulse 1.6s ease-in-out infinite;background:var(--accent);border-radius:50%;flex:0 0 6px;height:6px;width:6px}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(max-width:600px){.content{padding:1rem}.shelf{grid-template-columns:1fr}}.viewnav{display:flex;gap:.25rem}.viewbtn{background:none;border:1px solid transparent;color:#999;cursor:pointer;font-size:.8rem;padding:.35rem .9rem;text-decoration:none;transition:color .15s,border-color .15s;white-space:nowrap}.viewbtn:hover{color:#333}.viewbtn.active{border-color:var(--ink);color:var(--ink)}.page-title{color:#999;font-size:.8rem}@media(max-width:600px){.viewnav{border-top:1px solid #f0f0f0;gap:0;order:3;padding-top:.35rem;width:100%}.viewnav .viewbtn{flex:1;padding:.3rem .4rem;text-align:center}}.icon-btn{align-items:center;background:none;color:#bbb;display:flex;font-size:.75rem;line-height:1;padding:0;text-decoration:none;transition:color .15s}.btn-sm,.icon-btn{border:none;cursor:pointer}.btn-sm{background:var(--ink);border-radius:3px;color:#fff;font-size:.6rem;padding:.35rem .65rem;white-space:nowrap}.btn-sm:hover:not(:disabled){background:#333}.btn-sm:disabled{cursor:default;opacity:.4}.filter-input{background:#fafafa;border:1px solid var(--line);border-radius:3px;color:#444;font-size:.65rem;outline:none;padding:.28rem .5rem}.filter-input:focus{background:#fff;border-color:#aaa}.filter-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem;padding:.6rem 1.5rem}.card-page,.filter-bar{align-items:center;display:flex}.card-page{justify-content:center;min-height:100vh;padding:3rem 1rem}.card-page.top{align-items:flex-start}.card{max-width:420px;width:100%}.card.wide{max-width:620px}.back{color:#aaa;display:inline-block;font-size:.75rem;margin-bottom:2rem;text-decoration:none}.back:hover{color:#555}.field{background:#fff;border:1px solid #ccc;color:var(--ink);display:block;font-size:1rem;margin-bottom:.75rem;outline:none;padding:.9rem 1rem;resize:none;transition:border-color .15s;width:100%}.field::-moz-placeholder{color:#aaa}.field::placeholder{color:#aaa}.field:focus{border-color:#999}.actions{align-items:center;display:flex;gap:1.25rem;margin-top:1.25rem}.btn{background:var(--ink);border:none;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:opacity .15s}.btn.danger{background:var(--danger)}.btn:disabled{cursor:default;opacity:.4}.btn:not(:disabled):hover{opacity:.75}.ghost{background:none;border:none;color:#aaa;cursor:pointer;font-size:.85rem;padding:0;text-decoration:none;transition:color .15s}.ghost:hover{color:#666}.msg{font-size:.85rem;margin-bottom:1rem;padding:.75rem 1rem}.msg.error{background:#fff0f0;border:1px solid #f0b0b0;color:var(--danger)}.msg.success{background:#f0fff0;border:1px solid #b0e0b0;color:#307030}.backdrop[data-v-88b03c16]{inset:0;position:fixed;z-index:150}.menu[data-v-88b03c16]{background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;min-width:180px;position:fixed;right:.75rem;top:3.4rem;z-index:160}.username[data-v-88b03c16]{border-bottom:1px solid #f0f0f0;color:#aaa;font-size:.6rem;overflow:hidden;padding:.55rem .9rem;text-overflow:ellipsis;white-space:nowrap}.item[data-v-88b03c16]{background:none;border:none;color:#333;cursor:pointer;font-size:.65rem;padding:.45rem .9rem;text-align:left}.item[data-v-88b03c16]:hover{background:#f9f9f9}.toggle[data-v-88b03c16]{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:space-between}.overlay[data-v-4138414d]{align-items:center;background:#0000004d;display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.panel[data-v-4138414d]{background:var(--panel);border-radius:5px;box-shadow:0 8px 32px #00000026;padding:1.25rem 1.5rem 1.5rem;width:min(90vw,360px)}.header[data-v-4138414d]{align-items:center;color:#333;display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:1.25rem}.close[data-v-4138414d]{background:none;border:none;color:#aaa;cursor:pointer;font-size:.85rem;line-height:1;padding:0}.close[data-v-4138414d]:hover{color:#555}.section+.section[data-v-4138414d]{margin-top:1rem}.label[data-v-4138414d]{color:#aaa;display:block;font-size:.6rem;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}.hint[data-v-4138414d]{color:#bbb;font-size:.55rem;margin:0 0 .5rem}.row[data-v-4138414d]{display:flex;gap:.4rem}.input[data-v-4138414d]{border:1px solid #ddd;border-radius:3px;color:#333;flex:1;font-size:.65rem;outline:none;padding:.35rem .5rem}.input[data-v-4138414d]:focus{border-color:#aaa}.err[data-v-4138414d],.ok[data-v-4138414d]{display:block;font-size:.6rem;margin-top:.4rem}.ok[data-v-4138414d]{color:#4a9}.err[data-v-4138414d]{color:#c44}.yt-offscreen[data-v-bc9d572d]{height:90px;left:-200px;overflow:hidden;pointer-events:none;width:160px}.player[data-v-bc9d572d],.yt-offscreen[data-v-bc9d572d]{bottom:0;position:fixed}.player[data-v-bc9d572d]{background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 12px #0000000f;display:flex;flex-direction:column;left:0;right:0;z-index:200}.main[data-v-bc9d572d]{align-items:center;display:flex;gap:.6rem;padding:.4rem 1rem .5rem}.art[data-v-bc9d572d]{flex-shrink:0;height:36px;-o-object-fit:cover;object-fit:cover;width:36px}.info[data-v-bc9d572d]{cursor:pointer;display:flex;flex:0 1 auto;flex-direction:column;gap:1px;max-width:28%;min-width:60px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.info:hover .chevron[data-v-bc9d572d]{opacity:1}.artist[data-v-bc9d572d],.title[data-v-bc9d572d],.track[data-v-bc9d572d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist[data-v-bc9d572d]{color:var(--ink);font-size:.65rem}.title[data-v-bc9d572d]{color:#888;font-size:.58rem}.track[data-v-bc9d572d]{color:var(--accent);font-size:.55rem}.chevron[data-v-bc9d572d]{font-size:.45rem;margin-left:2px;opacity:.5}.links[data-v-bc9d572d]{gap:.3rem}.controls[data-v-bc9d572d],.links[data-v-bc9d572d]{align-items:center;display:flex;flex-shrink:0}.controls[data-v-bc9d572d]{gap:.25rem}.ctl[data-v-bc9d572d]{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.2rem;line-height:1;padding:.2rem .35rem;text-decoration:none;transition:color .1s}.ctl[data-v-bc9d572d]:not(:disabled):hover{color:#333}.ctl[data-v-bc9d572d]:disabled{cursor:default;opacity:.25}.like-btn[data-v-bc9d572d]:not(:disabled):hover{color:var(--like)}.play-btn[data-v-bc9d572d]{color:var(--ink);font-size:1rem;padding:.2rem .5rem}.play-btn[data-v-bc9d572d]:not(:disabled):hover{color:var(--accent)}.yt-link[data-v-bc9d572d]{font-size:.85rem}.scrub-wrap[data-v-bc9d572d]{align-items:center;display:flex;flex:1;gap:.35rem;min-width:0}.spacer[data-v-bc9d572d]{flex:1}.time[data-v-bc9d572d]{color:#bbb;flex-shrink:0;font-size:.48rem;font-variant-numeric:tabular-nums;min-width:2.4ch}.time[data-v-bc9d572d]:last-child{text-align:right}.scrub[data-v-bc9d572d]{accent-color:var(--accent);cursor:pointer;flex:1;height:3px;min-width:0}.scrub[data-v-bc9d572d]:disabled{cursor:default;opacity:.3}.vol-wrap[data-v-bc9d572d]{flex-shrink:0;position:relative}.vol-btn[data-v-bc9d572d]{font-size:.8rem;padding:.2rem .3rem}.vol-popout[data-v-bc9d572d]{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:4px;bottom:calc(100% + 6px);box-shadow:0 -2px 8px #00000014;display:flex;padding:.5rem .6rem;position:absolute;right:0}.vol-slider[data-v-bc9d572d]{accent-color:var(--accent);cursor:pointer;height:3px;width:80px}.track-list[data-v-bc9d572d]{background:var(--panel);border-top:1px solid #f0f0f0;max-height:220px;overflow-y:auto}.track-item[data-v-bc9d572d]{align-items:center;cursor:pointer;display:flex;font-size:.6rem;gap:.5rem;padding:.35rem 1rem;transition:background .1s}.track-item[data-v-bc9d572d]:hover{background:#f7f7f7}.track-item.active[data-v-bc9d572d]{color:var(--accent)}.track-num[data-v-bc9d572d]{color:#ccc;flex-shrink:0;text-align:right;width:1.5ch}.track-item.active .track-num[data-v-bc9d572d]{color:var(--accent)}.track-name[data-v-bc9d572d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-playing[data-v-bc9d572d]{color:var(--accent);flex-shrink:0;font-size:.45rem}.slide-up-enter-active[data-v-bc9d572d],.slide-up-leave-active[data-v-bc9d572d]{overflow:hidden;transition:max-height .2s ease,opacity .15s ease}.slide-up-enter-from[data-v-bc9d572d],.slide-up-leave-to[data-v-bc9d572d]{max-height:0;opacity:0}.slide-up-enter-to[data-v-bc9d572d],.slide-up-leave-from[data-v-bc9d572d]{max-height:220px;opacity:1}.debug[data-v-b91e534f]{background:#000000e0;bottom:60px;color:#ccc;font-family:monospace;font-size:10px;left:0;max-height:40vh;overflow-y:auto;position:fixed;right:0;z-index:9999}.bar[data-v-b91e534f]{align-items:center;background:#111;color:#888;display:flex;justify-content:space-between;padding:3px 8px;position:sticky;top:0}.bar button[data-v-b91e534f]{background:none;border:1px solid #444;color:#888;cursor:pointer;font-size:10px;padding:1px 6px}.line[data-v-b91e534f]{border-bottom:1px solid #222;padding:2px 8px;white-space:pre-wrap;word-break:break-all}.line.err[data-v-b91e534f],.line.exc[data-v-b91e534f],.line.rej[data-v-b91e534f]{color:#f88}.line.warn[data-v-b91e534f]{color:#fa8}.t[data-v-b91e534f]{color:#555}.type[data-v-b91e534f]{color:#88f;margin-right:4px}
