:root{--brand: #2f6fed;--brand-strong: #2456bd;--brand-soft: rgba(47, 111, 237, .12);--brand-soft-strong: rgba(47, 111, 237, .22);--brand-line: rgba(47, 111, 237, .45);--brand-ink: #ffffff;--text: #1f2328;--text-soft: #5b636d;--text-faint: #6b7280;--bg: #f6f7f9;--card: #ffffff;--line: #e4e7eb;--accent: #2f6fed;--accent-strong: #2456bd;--success: #0f9d58;--pane-bg: rgba(255, 255, 255, .5);--danger-ink: #b3261e;--danger-line: #f0c2bf;--danger-bg: #fdf4f3;--danger-bg-hover: #fbe9e7;--danger-bg-active: #f8dedb;--danger-line-active: #d5918b;--danger-line-hover: #e3a39e;--success-ink: #0b7a44;--success-line: #bfe3d0;--success-bg: #e8f5ee;--success-bg-hover: #d8efe3;--success-bg-active: #c9e6d6;--success-line-active: #a5d8bd;--success-line-hover: #a5d8bd;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-20: 20px;--fs-24: 24px;--r-xs: 5px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--radius: 16px;--shadow-1: 0 6px 18px rgba(15, 23, 42, .06);--shadow-2: 0 10px 28px rgba(15, 23, 42, .16);--shadow-3: 0 18px 48px rgba(15, 23, 42, .28);--dur-fast: .14s;--dur-base: .16s;--dur-slow: .3s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-page: 1;--z-content: 2;--z-overlay: 10;--z-modal: 20;--z-toast: 30;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-base: 1.5;--lh-loose: 1.7}:root[data-skin=light]{color-scheme:light}:root[data-skin=dark]{color-scheme:dark;--text: #eef4f7;--text-soft: rgba(238, 244, 247, .66);--text-faint: rgba(238, 244, 247, .5);--bg: #070a0e;--card: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .12);--success: #4ade80;--pane-bg: rgba(255, 255, 255, .045);--danger-ink: #ffb4ab;--danger-line: rgba(255, 180, 171, .35);--danger-bg: rgba(255, 180, 171, .12);--danger-bg-hover: rgba(255, 180, 171, .2);--danger-bg-active: rgba(255, 180, 171, .28);--danger-line-active: rgba(255, 180, 171, .7);--danger-line-hover: rgba(255, 180, 171, .55);--success-ink: #9be3b8;--success-line: rgba(155, 227, 184, .35);--success-bg: rgba(155, 227, 184, .12);--success-bg-hover: rgba(155, 227, 184, .2);--success-bg-active: rgba(155, 227, 184, .28);--success-line-active: rgba(155, 227, 184, .7);--success-line-hover: rgba(155, 227, 184, .55)}:root{--theme: #2f6fed;--theme-strong: #2456bd;--theme-soft: rgba(47, 111, 237, .12);--theme-soft-strong: rgba(47, 111, 237, .22);--theme-ink: #ffffff;font-size:16px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;overflow-x:clip}html[data-skin] body{background:var(--bg)}.page{position:relative;max-width:1080px;margin:0 auto;padding:var(--page-pad-top) 12px 112px;min-height:100vh;min-height:100svh;color:var(--text)}.page__inner{position:relative;z-index:1}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.avatar__image{display:block;width:100%;height:100%}.avatar__silhouette{width:58%;fill:#c8d3e2}.avatar__initial{position:absolute;bottom:14%;font-size:1.25rem;font-weight:600;color:var(--brand-strong)}.avatar-halo{position:absolute;top:0;right:0;bottom:0;left:0;width:var(--avatar-size);height:var(--avatar-size);margin:auto;overflow:visible;pointer-events:none;scale:var(--halo-scale, 1);animation:avatar-halo-pulse 30s linear infinite}@property --halo-scale{syntax: "<number>"; inherits: false; initial-value: 1;}.avatar-halo__bloom,.avatar-halo__ticks{fill:none;stroke:var(--frame-color)}.avatar-halo__ring{fill:none;animation:avatar-halo-breath 3s ease-in-out infinite;filter:drop-shadow(0 0 3px var(--frame-color))}@keyframes avatar-halo-breath{0%,to{opacity:.72}50%{opacity:1}}.avatar-halo__grad-stop{stop-color:var(--frame-color)}.avatar-halo__ray{stroke:var(--frame-color)}.avatar-halo__bars{filter:drop-shadow(0 0 3px var(--frame-color));animation:none}.avatar-halo__bar{animation-duration:30s;animation-iteration-count:infinite;animation-timing-function:linear;transform-box:fill-box;transform-origin:50% 0%}.avatar-halo__bar[data-track="0"]{animation-name:avatar-halo-bar-0}.avatar-halo__bar[data-track="1"]{animation-name:avatar-halo-bar-1}.avatar-halo__bar[data-track="2"]{animation-name:avatar-halo-bar-2}.avatar-halo__bar[data-track="3"]{animation-name:avatar-halo-bar-3}.avatar-halo__bar[data-track="4"]{animation-name:avatar-halo-bar-4}.avatar-halo__bar[data-track="5"]{animation-name:avatar-halo-bar-5}.avatar-halo__bar[data-track="6"]{animation-name:avatar-halo-bar-6}.avatar-halo__bar[data-track="7"]{animation-name:avatar-halo-bar-7}.avatar-halo__bar[data-track="8"]{animation-name:avatar-halo-bar-8}.avatar-halo__bar[data-track="9"]{animation-name:avatar-halo-bar-9}.avatar-halo__bar[data-track="10"]{animation-name:avatar-halo-bar-10}.avatar-halo__bar[data-track="11"]{animation-name:avatar-halo-bar-11}.avatar-halo__bar[data-track="12"]{animation-name:avatar-halo-bar-12}.avatar-halo__bar[data-track="13"]{animation-name:avatar-halo-bar-13}.avatar-halo__bar[data-track="14"]{animation-name:avatar-halo-bar-14}.avatar-halo__bar[data-track="15"]{animation-name:avatar-halo-bar-15}.avatar-halo__bar[data-track="16"]{animation-name:avatar-halo-bar-16}.avatar-halo__bar[data-track="17"]{animation-name:avatar-halo-bar-17}.avatar-halo__bar[data-track="18"]{animation-name:avatar-halo-bar-18}.avatar-halo__bar[data-track="19"]{animation-name:avatar-halo-bar-19}.avatar-halo__bar[data-track="20"]{animation-name:avatar-halo-bar-20}.avatar-halo__bar[data-track="21"]{animation-name:avatar-halo-bar-21}.avatar-halo__bar[data-track="22"]{animation-name:avatar-halo-bar-22}.avatar-halo__bar[data-track="23"]{animation-name:avatar-halo-bar-23}.avatar-halo__bar[data-track="24"]{animation-name:avatar-halo-bar-24}.avatar-halo__bar[data-track="25"]{animation-name:avatar-halo-bar-25}.avatar-halo__bar[data-track="26"]{animation-name:avatar-halo-bar-26}.avatar-halo__bar[data-track="27"]{animation-name:avatar-halo-bar-27}.avatar-halo__bar[data-track="28"]{animation-name:avatar-halo-bar-28}.avatar-halo__bar[data-track="29"]{animation-name:avatar-halo-bar-29}.avatar-halo__bar[data-track="30"]{animation-name:avatar-halo-bar-30}.avatar-halo__bar[data-track="31"]{animation-name:avatar-halo-bar-31}.avatar-halo__bar[data-track="32"]{animation-name:avatar-halo-bar-32}.avatar-halo__bar[data-track="33"]{animation-name:avatar-halo-bar-33}.avatar-halo__bar[data-track="34"]{animation-name:avatar-halo-bar-34}.avatar-halo__bar[data-track="35"]{animation-name:avatar-halo-bar-35}.avatar-halo__bar[data-track="36"]{animation-name:avatar-halo-bar-36}.avatar-halo__bar[data-track="37"]{animation-name:avatar-halo-bar-37}.avatar-halo__bar[data-track="38"]{animation-name:avatar-halo-bar-38}.avatar-halo__bar[data-track="39"]{animation-name:avatar-halo-bar-39}.avatar-halo__bar[data-track="40"]{animation-name:avatar-halo-bar-40}.avatar-halo__bar[data-track="41"]{animation-name:avatar-halo-bar-41}.avatar-halo__bar[data-track="42"]{animation-name:avatar-halo-bar-42}.avatar-halo__bar[data-track="43"]{animation-name:avatar-halo-bar-43}.avatar-halo__bar[data-track="44"]{animation-name:avatar-halo-bar-44}.avatar-halo__bar[data-track="45"]{animation-name:avatar-halo-bar-45}.avatar-halo__bar[data-track="46"]{animation-name:avatar-halo-bar-46}.avatar-halo__bar[data-track="47"]{animation-name:avatar-halo-bar-47}.avatar-halo__bar[data-track="48"]{animation-name:avatar-halo-bar-48}.avatar-halo__bar[data-track="49"]{animation-name:avatar-halo-bar-49}.avatar-halo__bar[data-track="50"]{animation-name:avatar-halo-bar-50}.avatar-halo__bar[data-track="51"]{animation-name:avatar-halo-bar-51}.avatar-halo__bar[data-track="52"]{animation-name:avatar-halo-bar-52}.avatar-halo__bar[data-track="53"]{animation-name:avatar-halo-bar-53}.avatar-halo__bar[data-track="54"]{animation-name:avatar-halo-bar-54}.avatar-halo__bar[data-track="55"]{animation-name:avatar-halo-bar-55}.avatar-halo__bar[data-track="56"]{animation-name:avatar-halo-bar-56}.avatar-halo__bar[data-track="57"]{animation-name:avatar-halo-bar-57}.avatar-halo__bar[data-track="58"]{animation-name:avatar-halo-bar-58}.avatar-halo__bar[data-track="59"]{animation-name:avatar-halo-bar-59}.avatar-halo__bar[data-track="60"]{animation-name:avatar-halo-bar-60}.avatar-halo__bar[data-track="61"]{animation-name:avatar-halo-bar-61}.avatar-halo__bar[data-track="62"]{animation-name:avatar-halo-bar-62}.avatar-halo__bar[data-track="63"]{animation-name:avatar-halo-bar-63}.avatar-halo__tri{stroke:var(--frame-color);stroke-width:1.4;opacity:.5;transform-box:fill-box;transform-origin:center;animation:avatar-halo-drift 21s ease-in-out infinite}@keyframes avatar-halo-drift{0%,to{translate:0 0;rotate:0deg;opacity:.28}30%{opacity:.55}55%{translate:0 -4px;rotate:150deg;opacity:.62}80%{opacity:.34}}.avatar-halo__rays{transform-box:view-box;transform-origin:center;animation:avatar-halo-spin-reverse 26s linear infinite}@keyframes avatar-halo-spin-reverse{to{transform:rotate(-360deg)}}@media(max-width:899px){.avatar-halo__ticks{display:none}}@media(prefers-reduced-motion:reduce){.avatar-halo *,.avatar-halo .avatar-halo__bar[data-track]{animation:none}.button[aria-busy=true]:after,.button--primary[aria-busy=true]:after{animation:none;border-top-color:currentColor;opacity:.6}.page:not(.page--manage) .random-pick:after{transition:none}}.host-panel__title{width:100%;text-align:center}.host-link__icon{width:16px;height:16px;color:var(--brand-strong)}.playlist{min-width:0}.category-filter{display:flex;gap:8px;margin-bottom:12px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.category-button{flex:0 0 auto;white-space:nowrap;min-height:44px;padding:8px 18px;font:inherit;font-size:.9375rem;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.category-button--on{font-weight:600;color:var(--brand-ink);background:var(--brand);border-color:var(--brand-strong)}.category-button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.filter-multi__placeholder{flex:1;color:var(--placeholder);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-multi__tags{display:flex;flex:1;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-x}.filter-multi__tags[data-dragging=true]{cursor:grabbing;-webkit-user-select:none;user-select:none}.filter-multi__tags::-webkit-scrollbar{display:none}.filter-multi__tag{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;max-width:12em;padding:2px 4px 2px 8px;font-size:.875rem;color:var(--brand-ink);background:var(--brand);border-radius:999px;white-space:nowrap}.filter-multi__tag-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-multi__caret{flex:0 0 auto;color:var(--text-soft);font-size:.75rem}:root{--placeholder: color-mix(in srgb, var(--text) 50%, transparent)}input::placeholder,textarea::placeholder{color:#7f7f7f99;color:var(--placeholder);opacity:1}.song__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.marquee{display:block;min-width:0;overflow:hidden;white-space:nowrap}.marquee__inner{display:inline-block;white-space:nowrap}@keyframes marquee-bounce{0%,5%{transform:translate(0)}50%,55%{transform:translate(calc(-1 * var(--marquee-shift, 0px)))}to{transform:translate(0)}}.marquee[data-overflow=true] .marquee__inner{animation:marquee-bounce var(--marquee-duration, 9s) ease-in-out infinite}@media(prefers-reduced-motion:reduce){.marquee[data-overflow=true] .marquee__inner{animation:none}}mark{padding:0 2px;color:inherit;background:var(--brand-soft);box-shadow:inset 0 -2px 0 var(--brand);border-radius:3px}.empty-state{margin:32px auto;padding:24px 16px;max-width:420px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px}.empty-state__title{margin:0;font-size:1rem}.empty-state__hint{margin:8px 0 0;font-size:.875rem;color:var(--text-soft)}.empty-state__link{color:var(--accent);text-decoration:underline;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.empty-state__retry{min-height:44px;margin-top:16px;padding:10px 20px;font:inherit;color:#fff;background:var(--brand);border:none;border-radius:8px;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.page__inner--enter{animation:page-enter .32s ease-out backwards}.page__inner--pending{opacity:.001}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.page__inner--enter{animation:none}}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);max-width:calc(100vw - 24px);padding:12px 18px;font-size:.9375rem;color:#fff;background:#1f2328eb;border-radius:10px;box-shadow:0 6px 18px #0000002e;overflow-wrap:anywhere;z-index:2}.toast--center{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);z-index:11;padding:14px 22px;font-size:1rem;text-align:center;background:#111418f0;box-shadow:0 10px 28px #00000047;animation:toast-center-in .15s ease-out,toast-center-out .25s ease-out 2.25s forwards}@keyframes toast-center-in{0%{opacity:0}to{opacity:1}}@keyframes toast-center-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.toast--center{animation:none}}.back-to-top__icon{width:22px;height:22px}@media(min-width:900px){.page{padding:var(--page-pad-top) 20px 120px}.category-filter{flex-wrap:wrap;overflow-x:visible}}.page--manage{max-width:860px}@media(min-width:1200px){.page--manage{--manage-max: 1400px;max-width:var(--manage-max)}}.manage-table th:nth-child(2),.manage-table td:nth-child(2){width:26%}.manage-table th:nth-child(3),.manage-table td:nth-child(3){width:20%}.manage-table th:nth-child(4),.manage-table td:nth-child(4){width:18%}.manage-header{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:space-between;padding:8px 4px 12px}.manage-header code{padding:2px 6px;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}.card{margin:12px 0;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:12px}.card__title{margin:0 0 8px;font-size:1.0625rem}.card__subtitle{margin:26px 0 8px;padding-top:16px;border-top:1px solid var(--line);font-size:.9375rem}.card__subtitle:first-of-type{margin-top:16px;padding-top:0;border-top:0}.card__subtitle.card__subtitle--separated{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}.card__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.card__footer .form-message,.card__footer .form-error{margin:0}.card__subtitle--minor{margin:14px 0 6px;padding-top:0;border-top:0;border-bottom:1px solid var(--line);padding-bottom:4px;font-size:.875rem;color:var(--text-soft)}.card__hint{margin:0 0 12px;font-size:.875rem;color:var(--text-soft)}.field{display:block;margin-bottom:12px}.field__label{display:block;margin-bottom:4px;font-size:.875rem;color:var(--text-soft)}.field__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--text-soft)}.field__input{width:100%;min-height:44px;padding:8px 12px;font:inherit;font-size:1rem;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:8px}.field__input:focus{outline:2px solid var(--accent);outline-offset:1px}.field--inline{display:inline-block;min-width:120px;margin:0 8px 8px 0}.inline-form,.add-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px}.inline-form .field,.add-row .field{margin-bottom:0}.button{min-height:44px;padding:8px 16px;font:inherit;font-size:.9375rem;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.count-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;color:#fff;background:#f08c00;border-radius:999px}.button:disabled{opacity:.6;cursor:not-allowed}.button--primary{color:var(--brand-ink);background:var(--brand);border-color:var(--brand)}.button--small{min-height:36px;padding:4px 12px;font-size:.875rem}.button--danger{color:var(--danger-ink);border-color:var(--danger-line);background:var(--danger-bg)}.button--success{color:var(--success-ink);border-color:var(--success-line);background:var(--success-bg)}.save-song{width:64px}.count-badge--success{background:var(--success)}.form-error{margin:8px 0 0;font-size:.875rem;color:#b3261e}.form-message{margin:8px 0 0;font-size:.875rem;color:#1a7f37}.form-hint,.form-warning{margin:8px 0 0;font-size:.875rem;color:var(--text-soft)}.form-warning{padding:8px 10px;color:#8a5a00;background:#fff8e5;border:1px solid #f0e0b0;border-radius:8px}.form-warning>div+div{margin-top:4px}.login{max-width:360px;margin:40px auto;padding:20px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.login__title{margin:0 0 4px;font-size:1.25rem}.login__hint{margin:0 0 16px;font-size:.875rem;color:var(--text-soft)}.login__notice{margin:0 0 12px;padding:8px 10px;font-size:.875rem;color:#7a5200;background:#fff8e5;border:1px solid #f0e0b0;border-radius:8px}.account-form--password{padding-top:8px;border-top:1px solid var(--line)}.session-list{margin-top:8px}.session-list__rows{margin:0;padding:0;list-style:none}.session-list__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.session-list__device{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}.session-list__time{font-size:.8125rem;color:var(--text-soft);white-space:nowrap}.session-list__current{padding:2px 8px;font-size:.75rem;color:var(--brand-ink);background:var(--brand);border-radius:999px;white-space:nowrap}.session-kick{flex:none;white-space:nowrap;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.category-list{margin:0;padding:0;list-style:none}.category-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.category-list__name{font-weight:600}.category-list__count,.category-list__empty{font-size:.875rem;color:var(--text-soft)}.confirm{margin-top:12px;padding:12px;background:#fff8e5;border:1px solid #f0e0b0;border-radius:8px}.confirm__text{margin:0 0 8px;font-size:.875rem}.confirm__actions{display:flex;gap:8px;margin-top:8px}.song-group__title{margin:16px 0 6px;font-size:.9375rem;color:var(--text-soft)}.song-table{width:100%;border-collapse:collapse}.song-table th{padding:4px 6px;font-size:.8125rem;font-weight:500;color:var(--text-soft);text-align:left}.song-row__cell{padding:4px 6px;vertical-align:middle}.song-row__actions{white-space:nowrap;display:grid;grid-template-columns:auto auto;align-items:center;gap:6px;justify-content:start}.song-row--error>td{padding-top:0;padding-bottom:6px}.song-row--error .form-error{margin-top:0}@media(min-width:900px){.manage-table th:last-child,.manage-table td.song-row__actions{width:176px}}.song-row__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--text-soft)}.trash-list{margin:0;padding:0;list-style:none}.trash-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.trash-list__title{font-weight:600}.trash-list__meta,.trash-list__hint{font-size:.875rem;color:var(--text-soft)}.trash-toolbar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;background:var(--card);border-bottom:1px solid var(--line)}.trash-toolbar__all{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.trash-toolbar__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.trash-list__pick{flex:none}.trash-notice{margin:8px 0;font-size:.9rem}.trash-notice p{margin:0}.trash-failures{margin:6px 0 0;padding-left:18px;max-height:120px;overflow-y:auto}.trash-failures li{margin:2px 0}.style-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 4px;padding:0;border:0;min-inline-size:0}.style-option{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;padding:7px;font:inherit;color:var(--text);text-align:left;background:transparent;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}.style-option--on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.style-option__input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.style-option:focus-within{outline:2px solid var(--brand);outline-offset:2px}.style-option__preview{position:relative;display:block;height:68px;overflow:hidden;border:1px solid var(--line);border-radius:7px}.style-option__preview--default{background:var(--card)}.style-option__preview--doodle{background-color:#fffef5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='18'%3E%3Cpath d='M0 17.5H120' stroke='%234ecdc4' stroke-opacity='.32'/%3E%3C/svg%3E");border:2px dashed #2c2c2c}:root[data-skin=dark] .style-option__preview--doodle{background-color:#1f2b24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='18'%3E%3Cpath d='M0 17.5H120' stroke='%239be7df' stroke-opacity='.18'/%3E%3C/svg%3E");border-color:#f4f2e799}:root[data-skin=dark] .style-option__preview--doodle .style-option__mini-avatar{border-color:#f4f2e799;background:#1f2b24}:root[data-skin=dark] .style-option__preview--doodle .style-option__mini-lines i{background:#f4f2e78c}:root[data-skin=dark] .style-option__preview--doodle .style-option__mini-lines i:nth-child(2){background:#f4f2e759}:root[data-skin=dark] .style-option__preview--doodle .style-option__mini-button{border-color:#f4f2e799;box-shadow:2px 2px #3454948c}.style-option__mini-bar{position:absolute;inset:0 0 auto;height:14px;background:var(--bg);border-bottom:1px solid var(--line)}.style-option__preview--doodle .style-option__mini-bar{display:none}.style-option__mini-avatar{position:absolute;left:9px;top:21px;width:18px;height:18px;border-radius:50%;background:var(--line)}.style-option__preview--doodle .style-option__mini-avatar{top:24px;border:1.5px dashed #2c2c2c;background:#fffef5}.style-option__mini-lines{position:absolute;left:34px;top:24px;width:52px;display:grid;gap:5px}.style-option__mini-lines i{display:block;height:3px;border-radius:999px;background:var(--line)}.style-option__mini-lines i:nth-child(2){width:66%}.style-option__preview--doodle .style-option__mini-lines{top:27px}.style-option__preview--doodle .style-option__mini-lines i{background:#2c2c2c8c;border-radius:1px}.style-option__preview--doodle .style-option__mini-lines i:nth-child(2){background:#2c2c2c59}.style-option__mini-button{position:absolute;right:8px;bottom:8px;width:40px;height:12px;border-radius:999px;background:linear-gradient(180deg,#a5e0ff,var(--brand))}.style-option__preview--doodle .style-option__mini-button{width:34px;height:13px;border:1.5px dashed #2c2c2c;border-radius:2px;background:#6593f1;box-shadow:2px 2px #2c2c2c;transform:rotate(-1deg)}.style-option__mini-tape{display:none}.style-option__preview--doodle .style-option__mini-tape{display:block;position:absolute;top:-3px;left:20px;width:36px;height:9px;background:#ffd93d94;transform:rotate(-3deg)}.style-option__text{display:flex;flex-direction:column;gap:2px;min-width:0}.style-option__name{font-size:.8125rem;font-weight:600;line-height:1.3}.style-option__desc{font-size:.6875rem;color:var(--text-soft);line-height:1.35}.style-option__check{position:absolute;top:6px;right:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:.6875rem;font-weight:700;line-height:1}.theme-picker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.theme-swatch{width:40px;height:40px;padding:0;border:2px solid transparent;border-radius:50%;box-shadow:inset 0 0 0 1px #00000014;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.theme-swatch--on{border-color:var(--text);box-shadow:inset 0 0 0 2px #fff}.theme-custom{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-soft)}.switch-row{display:flex;align-items:center;gap:12px}.switch{display:inline-flex;align-items:center;justify-content:flex-end;width:52px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--line);font:inherit;font-size:.6875rem;font-weight:600;line-height:1;color:var(--text-soft);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.switch--on{justify-content:flex-start;border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.switch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.switch-row__label{font-size:.875rem;color:var(--text)}.image-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.card__subtitle+.image-row{padding-top:4px;border-top:0}.image-row__thumb{display:flex;align-items:center;justify-content:center;width:64px;height:64px;overflow:hidden;font-size:.75rem;color:var(--text-soft);background:#fbfcfd;border:1px dashed var(--line);border-radius:10px}.image-row__thumb img{width:100%;height:100%;object-fit:cover}.image-row__body{flex:1;min-width:180px}.image-row__body b{font-size:.9375rem}.image-row__body span{display:block;margin-top:2px;font-size:.8125rem;color:var(--text-soft)}label.button{display:inline-flex;align-items:center;justify-content:center}.framer{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin-top:12px;padding:12px;background:#fbfcfd;border:1px solid var(--line);border-radius:12px}.framer__frame{position:relative;flex:none;width:180px;aspect-ratio:var(--framer-ratio, 3 / 4);overflow:hidden;border-radius:10px;background-color:#eef1f5;background-image:linear-gradient(45deg,#dde3ea 25%,transparent 25%,transparent 75%,#dde3ea 75%),linear-gradient(45deg,#dde3ea 25%,transparent 25%,transparent 75%,#dde3ea 75%);background-size:16px 16px;background-position:0 0,8px 8px;touch-action:none}.framer__image{display:block;width:100%;height:100%;cursor:grab;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.framer__frame--circle{border-radius:50%}.framer__badge{position:absolute;left:8px;bottom:8px;padding:3px 8px;font-size:.75rem;color:#fff;background:#1f2328b8;border-radius:999px;pointer-events:none}.framer__controls{flex:1;min-width:200px;font-size:.875rem;color:var(--text-soft)}.appearance-load-error{padding:12px 0}.appearance-load-error .button{margin-top:8px}.framer__title{display:block;color:var(--text)}.framer__hint{display:block;margin:4px 0 8px}.framer__label{display:block;margin-bottom:4px;color:var(--text)}.slider-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0}.slider-row label{width:60px;font-size:.875rem}.slider-row input[type=range]{flex:1;min-width:140px;max-width:320px;min-height:44px}.slider-row output{width:56px;font-size:.8125rem;color:var(--text-soft);text-align:right}@media(max-width:640px){.song-table:not(.manage-table),.song-table:not(.manage-table) tbody,.song-table:not(.manage-table) tr,.song-table:not(.manage-table) td{display:block;width:100%}.song-table:not(.manage-table) thead{display:none}.song-table:not(.manage-table) tr{margin-bottom:10px;padding:10px;background:#fbfcfd;border:1px solid var(--line);border-radius:10px}.song-row__cell{padding:2px 0}}:root{--control-radius: 999px;--panel-shadow: 0 10px 24px rgba(24, 26, 32, .08)}.manage-top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:4px 4px 14px}.manage-top__actions{display:flex;align-items:center;gap:8px;margin-left:auto}.manage-tabs{position:relative;display:inline-flex;align-items:center;padding:2px;background:var(--brand);border-radius:var(--control-radius);min-height:48px}.manage-tabs__thumb{position:absolute;top:2px;bottom:2px;left:0;transform:translate(var(--thumb-x, 0px));border-radius:var(--control-radius);background:var(--card);box-shadow:0 1px 3px #181a202e;pointer-events:none}.manage-tabs__thumb[data-ready=true]{transition:transform .22s cubic-bezier(.32,.72,0,1),width .22s cubic-bezier(.32,.72,0,1)}@media(prefers-reduced-motion:reduce){.manage-tabs__thumb[data-ready=true]{transition:none}}.manage-tabs__tab{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:44px;padding:6px 20px;font:inherit;font-size:.9375rem;text-decoration:none;white-space:nowrap;border-radius:var(--control-radius);color:var(--brand-ink);opacity:.86;transition:color .18s ease,opacity .18s ease}.manage-tabs__tab--current{color:var(--brand);opacity:1;font-weight:600}.manage-tabs__tab:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}.manage-top__logout{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;font:inherit;font-size:.9375rem;color:var(--text-soft);background:transparent;border:1px solid var(--line);border-radius:var(--control-radius);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.manage-share{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--brand);background:var(--card);border:1px solid var(--line);border-radius:50%;cursor:pointer;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.manage-share__icon{display:block;width:22px;height:22px}.manage-share:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.page--manage--fill{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.page--manage--fill>.manage-top,.page--manage--fill>.site-footer{flex:none}.page--manage--fill>.site-footer{margin-bottom:0}.manage-panes{display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,34%,560px);gap:16px;flex:1 1 auto;min-height:0;overflow:hidden;padding:0 4px 8px}.manage-tab-panel[data-active=false]{display:none}.page--manage--fill>.manage-tab-panel[data-active=true]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.preview-frame{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--pane-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--panel-shadow);overflow:hidden}.preview-frame__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:8px 12px;border-bottom:1px solid var(--line)}.preview-frame__title{font-size:.875rem;color:var(--text-soft)}.preview-frame__empty{margin:0;padding:24px 12px;font-size:.9375rem;color:var(--text-soft);text-align:center}.preview-frame__stage{flex:1 1 auto;min-height:0;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:8px}.preview-frame[data-device=desktop] .preview-frame__stage{overflow:hidden;justify-content:flex-start;align-items:flex-start}.preview-frame[data-device=desktop] .preview-frame__frame{border:0;padding:0;background:transparent;display:block;flex:none}.preview-frame[data-device=mobile] .preview-frame__frame{height:100%}.preview-frame__stage>.page--embedded{width:var(--preview-desktop-width, 1280px);flex:none;min-height:0;transform:scale(var(--preview-desktop-scale, .4));transform-origin:top left}.preview-frame__stage>.page--embedded{min-height:100%;width:100%}.preview-frame[data-device=mobile] .preview-frame__stage>.page--embedded{width:var(--preview-mobile-width, 375px);flex:none}.preview-device{display:inline-flex;padding:2px;background:var(--brand-soft);border-radius:var(--control-radius)}.preview-device__button{min-height:32px;padding:4px 14px;font:inherit;font-size:.8125rem;color:var(--text-soft);background:transparent;border:0;border-radius:var(--control-radius);cursor:pointer;transition:background-color .16s ease,color .16s ease}.preview-device__button--on{color:var(--brand-ink);background:var(--brand)}.preview-device__button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.settings-pane{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--pane-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--panel-shadow);overflow:hidden}.preview-frame__bar,.settings-pane__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:8px 12px;border-bottom:1px solid var(--line)}.preview-frame__title,.settings-pane__title{font-size:.875rem;color:var(--text-soft)}.settings-pane__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 12px 0;scroll-padding-bottom:12px}.settings-pane__actions{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card)}.settings-pane__actions .form-message{margin:0 auto 0 0;white-space:nowrap}@media(max-width:1199px){.manage-panes{grid-template-columns:minmax(0,1fr);overflow:visible}.preview-frame{height:320px}.page--manage--fill{height:auto;min-height:100vh;overflow:visible;padding-bottom:112px}.settings-pane__scroll{overflow:visible;padding-bottom:0;scroll-padding-bottom:0}.settings-pane{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.settings-pane__bar{padding:4px 2px 8px}.settings-pane__actions{position:sticky;bottom:0;margin-top:-16px;padding:10px 12px}}@media(max-width:899px){.preview-frame[data-device=mobile] .preview-frame__stage>.page--embedded{width:100%}}@media(min-width:900px){.preview-frame[data-device=mobile] .playlist-layout{display:block}.preview-frame[data-device=mobile] .playlist-layout__aside{position:static}.preview-frame[data-device=mobile] .avatar-frame{--avatar-size: 112px;--ring-outset: 14px}.preview-frame[data-device=mobile] .avatar-frame[data-effect=audio]{--ring-outset: 34px}.preview-frame[data-device=mobile] .filter-bar{flex-direction:column;align-items:stretch}.preview-frame[data-device=mobile] .filter-bar__filters{display:flex;flex:initial;flex-wrap:wrap;min-width:0}.preview-frame[data-device=mobile] .filter-bar .search-bar{flex:initial;min-width:0;margin-bottom:12px}.preview-frame[data-device=mobile] .filter-multi{flex:1 1 auto;width:auto;min-width:0}.preview-frame[data-device=mobile] .category-filter{flex-wrap:nowrap;overflow-x:auto}.preview-frame[data-device=desktop] .filter-bar{flex-wrap:wrap}.preview-frame[data-device=desktop] .filter-bar__filters{flex-wrap:wrap;min-width:0}.preview-frame[data-device=desktop] .filter-bar .search-bar{flex:1 1 220px}}.page--embedded{position:relative;max-width:none;min-height:0;--page-pad-top: 16px;padding:var(--page-pad-top) 14px 20px;transform:translateZ(0);border-radius:calc(var(--radius) - 4px);overflow:hidden}.preview-frame__stage>.page--embedded>.page__inner{min-height:100%}.manage-toolbar{margin:8px 0 10px}.manage-table{margin-top:4px}.manage-table-scroll{overflow-x:auto;padding-bottom:2px}.manage-table{min-width:720px}.manage-table th{padding:6px 6px 8px;border-bottom:1px solid var(--line)}.manage-table .song-row__cell{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.manage-table__empty td{padding:16px 6px;font-size:.875rem;color:var(--text-soft);text-align:center}.manage-table__more td{padding:0;border:0;height:0;line-height:0}.song-row__match{display:block;margin-top:2px;font-size:.8125rem;color:var(--text-soft)}.song-row__match mark{color:var(--text);font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{min-height:44px;padding:8px 16px;font:inherit;font-size:.9375rem;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.chip--on{font-weight:600;color:var(--brand-ink);background:var(--brand);border-color:var(--brand-strong)}.chip:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pending-table-scroll{flex:1 1 auto;min-height:0;overflow-x:auto;padding-bottom:2px}.pending-table{display:flex;flex-direction:column;min-width:640px;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.pending-table__head,.pending-table__row{display:grid;grid-template-columns:1.5fr 1.5fr 1.1fr 1.2fr 2fr auto;gap:10px;align-items:center}.pending-table__head{position:sticky;top:0;z-index:1;padding:4px 2px 6px;margin-bottom:2px;background:var(--card);border-bottom:1px solid var(--line)}.pending-table__head-cell{font-size:.8125rem;color:var(--text-soft)}.pending-table__row{align-items:start;padding:6px 2px 8px;border-bottom:1px solid var(--line)}.pending-table__input{margin:0;min-width:0;width:100%}.pending-table__actions{display:flex;gap:6px;align-items:center;min-height:38px}.pending-table__row[data-status=skipped]{background:#fffdf5}.pending-table__skipped{font-size:.75rem;color:#8a6d1f;white-space:nowrap}.pending-table__error{grid-column:1 / -1;margin:0;font-size:.8125rem}@media(max-width:640px){.dialog__body:has(.pending-table-scroll){overflow-x:hidden}}.dialog__panel:has(.add-songs){max-width:min(920px,94vw)}.dialog__panel:has(.add-songs) .pending-table{flex:0 1 auto;max-height:min(42vh,420px)}.dialog__panel:has(.add-songs) .add-songs{display:flex;flex-direction:column;min-height:0;overflow:hidden}.dialog__panel:has(.add-songs) .dialog__actions{justify-content:flex-end}.add-songs__toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:8px}.add-songs__toolbar .form-hint{display:block}.add-songs__toolbar .button{align-self:flex-start}.add-songs__actions{display:flex;justify-content:center;margin-top:12px}.add-songs__actions .button{color:var(--accent, #2f6fed)}.import-panel{margin:16px 0 0;padding:12px;background:#fafbfc;border:1px dashed var(--line);border-radius:10px}.import-panel__title{margin:0 0 6px;font-size:.9375rem}.import-panel__hint{margin:0 0 8px;font-size:.875rem;color:var(--text-soft)}.import-panel__text{width:100%;min-height:96px;padding:10px 12px;font:inherit;font-size:.9375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:8px;resize:vertical}.import-panel__text:focus{outline:2px solid var(--accent);outline-offset:1px}.import-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.import-panel__default{margin-top:8px}.import-preview>.form-hint{margin:0 0 8px}.link-button{margin-top:4px;padding:0;background:none;border:none;color:var(--accent, #2563eb);font:inherit;text-decoration:underline;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.import-list{max-height:min(60vh,480px);overflow-y:auto;font-size:.875rem;line-height:1.7}.import-preview{margin-top:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px}.import-preview__summary{margin:0 0 8px;font-size:.9375rem}.import-preview__list{margin:8px 0 12px;padding-left:18px;font-size:.875rem;color:var(--text-soft)}.import-preview__list ul{margin:2px 0 6px;padding-left:16px}.import-preview__more{display:block;margin:0 0 6px;font-size:.8125rem;color:var(--text-soft)}.import-result{margin-top:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px}.import-result__summary{margin:0;font-size:1rem;font-weight:600}.import-result__details{margin:8px 0 0;padding-left:18px;font-size:.875rem;color:var(--text-soft);max-height:30vh;overflow-y:auto}.import-preview>.form-warning,.import-preview>.form-error{white-space:pre-line}@media(max-width:640px){.manage-top{align-items:center}.manage-tabs{padding:3px}.manage-tabs__tab{padding:6px 14px;font-size:.875rem}.manage-top__logout{padding:8px 14px;font-size:.875rem}.page--embedded{padding:12px 10px 16px}.preview-frame__stage>.page--embedded>.page__inner{min-height:100%}.import-panel__text{min-height:72px}}@media(min-width:1200px){.manage-table .song-row__cell{padding:6px 10px}.manage-table th{padding:8px 10px 10px}.page--manage .card{padding:18px}}.dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--space-3);overflow-y:auto}.dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11141a73}.dialog__panel{position:relative;width:100%;max-width:560px;margin:auto;padding:18px;background:var(--card);border-radius:var(--radius);box-shadow:0 18px 48px #0f172a47;display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.dialog__head{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;padding:0 3px;margin-bottom:12px}.dialog__title{margin:0;font-size:1.125rem}.dialog__head--title-only{margin-bottom:6px}.dialog__body{overflow-y:auto;overflow-x:clip;padding:3px;max-height:min(70vh,560px);min-height:0}.dialog__body:has(.add-songs){flex:1 1 auto;min-height:0;max-height:none;overflow:visible}.dialog-form .field{margin-bottom:12px}.dialog__actions{display:flex;gap:var(--space-2);margin-top:16px}.share-dialog{display:flex;flex-direction:column;align-items:center;gap:14px;padding:2px 0 4px}.share-dialog__owner{margin:0;font-size:1rem;text-align:center;overflow-wrap:anywhere}.share-dialog__url{display:flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 12px;font:inherit;font-size:.9375rem;color:var(--brand-strong);background:var(--brand-soft);border:1px solid transparent;border-radius:10px;cursor:pointer;overflow-wrap:anywhere;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.share-dialog__url:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.share-dialog__qr{display:inline-flex;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.share-dialog__qr-svg{display:block}.share-dialog__qr:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.share-dialog__hint{margin:0;font-size:.875rem;color:var(--text-soft);text-align:center}.manage-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.checkbox{width:16px;height:16px;flex:none;accent-color:var(--brand);cursor:pointer}.select-all{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.manage-actions__spacer{flex:1}.manage-table__pick,.song-row__pick{width:1%;white-space:nowrap;text-align:center}.dialog:not(:has(.add-songs)) .import-panel{margin:0;padding:0;background:none;border:none}.dialog__hint{margin:0 0 12px;font-size:.875rem;color:var(--text-soft)}.dialog__subpanel{margin-top:12px;padding:12px;background:#f4f5f7;border:1px solid var(--line);border-radius:10px}.confirm-button{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-button--armed:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#00000024;transform-origin:left center;animation:confirm-drain var(--confirm-ms, 3s) linear forwards}.confirm-button>*{position:relative;z-index:1}@keyframes confirm-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.confirm-button--armed:before{animation:none}}.site-footer{position:relative;z-index:1;margin:24px 0 -40px;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-size:var(--fs-14)}.site-footer__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 10px}.site-footer__link{display:inline-flex;align-items:center;gap:var(--space-1)}.site-footer__badge{display:block;width:18px;height:20px;flex:none}.site-footer__copyright{margin:0;max-width:100%;overflow-wrap:anywhere;text-align:center;font-size:var(--fs-12);line-height:1.4;color:var(--text-soft)}.site-footer a{color:var(--text-soft);text-decoration:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.site-footer a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.welcome__inner{max-width:720px;margin:0 auto}.welcome__title{margin:24px 0 28px;font-size:28px;line-height:1.3;text-align:center}.welcome__list{display:flex;flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none}.welcome-card{display:flex;align-items:center;gap:14px;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.welcome-card:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.welcome-card__face{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;overflow:hidden;border-radius:50%;background:var(--brand);color:#fff}.welcome-card__image{width:100%;height:100%;object-fit:cover}.welcome-card__initial{font-size:20px;line-height:1;font-weight:600;-webkit-user-select:none;user-select:none}.welcome-card__name{min-width:0;overflow-wrap:anywhere;font-size:17px}@media(hover:hover){.button:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.button--primary:hover:not(:disabled){border-color:transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 45%,#ffffff),color-mix(in srgb,var(--brand) 90%,#000000));box-shadow:0 12px 28px -12px color-mix(in srgb,var(--brand) 85%,transparent)}.button--danger:hover:not(:disabled){background:var(--danger-bg-hover);border-color:var(--danger-line-hover)}.button--success:hover:not(:disabled){background:var(--success-bg-hover);border-color:var(--success-line-hover)}.category-button:hover{background:var(--brand-soft);border-color:var(--brand)}.category-button--on:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.chip:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.chip--on:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.manage-tabs__tab:hover:not(:disabled){color:var(--card);opacity:1}.manage-tabs__tab--current:hover{color:var(--brand-strong)}.manage-top__logout:hover{color:var(--text);border-color:var(--text-soft)}.preview-device__button:hover{color:var(--brand)}.preview-device__button--on:hover{color:var(--brand-ink);background:var(--brand-strong)}.empty-state__retry:hover{background:var(--brand-strong)}.site-footer a:hover{text-decoration:underline}.link-button:hover,.empty-state__link:hover{color:var(--accent-strong)}.theme-swatch:hover{transform:scale(1.08)}.style-option:hover{border-color:var(--brand)}.manage-share:hover{color:var(--brand-strong);background:var(--brand-soft);border-color:var(--brand)}.share-dialog__url:hover{color:var(--brand-strong);background:var(--brand-soft-strong);border-color:var(--brand)}.share-dialog__qr:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.welcome-card:hover{border-color:var(--brand)}.switch:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.switch--on:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.session-kick:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}:root[data-skin=dark] .page:not(.page--manage) .host-link:hover{background:#ffffff29}.page:not(.page--manage) .random-pick:hover:not(:disabled){box-shadow:inset 0 1px color-mix(in srgb,#ffffff 30%,transparent),inset 0 -1px color-mix(in srgb,#000000 24%,transparent),0 2px 4px color-mix(in srgb,#000000 20%,transparent),0 14px 26px -14px color-mix(in srgb,#000000 55%,transparent)}.page:not(.page--manage) .random-pick:hover:not(:disabled):after{background-position:-30% 0;opacity:1}}.button:active:not(:disabled){background:var(--brand-soft-strong);border-color:var(--brand);transform:scale(.97)}.button--primary:active:not(:disabled){border-color:transparent;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 82%,#000000));transform:scale(.97)}.button--danger:active:not(:disabled){background:var(--danger-bg-active);border-color:var(--danger-line-active);transform:scale(.97)}.button--success:active:not(:disabled){background:var(--success-bg-active);border-color:var(--success-line-active);transform:scale(.97)}.session-kick:active:not(:disabled){background:var(--brand-soft-strong);border-color:var(--brand);transform:none}.category-button:active{background:var(--brand-soft-strong);border-color:var(--brand);transform:scale(.97)}.category-button--on:active{background:var(--brand-strong);border-color:var(--brand-strong);transform:scale(.97)}.chip:active:not(:disabled){background:var(--brand-soft-strong);border-color:var(--brand)}.chip--on:active:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong);transform:scale(.97)}.manage-tabs__tab:active:not(:disabled){transform:scale(.97)}.manage-tabs__tab--current:active:not(:disabled){color:var(--brand-strong)}.manage-top__logout:active{color:var(--text);background:var(--brand-soft-strong);border-color:var(--text-soft)}.preview-device__button:active{transform:scale(.97)}.preview-device__button--on:active{background:var(--brand-strong)}.page:not(.page--manage) .random-pick:active:not(:disabled):after{background-position:35% 0;opacity:.85}.empty-state__retry:active{background:var(--brand-strong);transform:scale(.97)}.site-footer a:active{text-decoration-line:underline;text-decoration-thickness:2px}.link-button:active,.empty-state__link:active{color:var(--accent-strong);text-decoration-thickness:2px}.theme-swatch:active{transform:scale(.94)}.style-option:active{transform:scale(.99)}.manage-share:active{color:var(--brand-strong);background:var(--brand-soft-strong);border-color:var(--brand);transform:scale(.96)}.share-dialog__url:active{color:var(--brand-strong);background:var(--brand-soft-strong);border-color:var(--brand)}.share-dialog__qr:active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft-strong)}.welcome-card:active{opacity:.94;transform:scale(.995)}.switch:active:not(:disabled){background:var(--brand-soft-strong);border-color:var(--brand)}.switch--on:active:not(:disabled){background:var(--brand-strong);border-color:var(--brand-ink)}@media(prefers-reduced-motion:reduce){.button:active:not(:disabled),.button--primary:active:not(:disabled),.button--danger:active:not(:disabled),.button--success:active:not(:disabled),.category-button:active,.category-button--on:active,.chip--on:active,.filter-multi__trigger:active,.manage-tabs__tab:active,.preview-device__button:active,.theme-swatch:active,.style-option:active,.random-pick:active:not(:disabled),.page:not(.page--manage) .random-pick:active:not(:disabled),.empty-state__retry:active,.back-to-top:active,.manage-share:active,.host-link:active,.welcome-card:active{transform:none}}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--ghibli{background-color:#f6ead0;background-image:linear-gradient(180deg,#8fd0ee,#b9dff0 42%,#f6ead0 88%);border-color:#d4c49a8c}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--ghibli .style-option__mini-bar{display:block;background:#fffc;border:0;border-radius:999px}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--ghibli .style-option__mini-avatar{background:#cfe3d9;border:0}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--ghibli .style-option__mini-lines i{background:#4c392c2e}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--ghibli .style-option__mini-button{background:#4c6daf;border:0;border-radius:999px}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--ghibli .style-option__mini-tape{display:none}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--ghibli{background-color:#453a33;background-image:linear-gradient(180deg,#0e1729,#1a2740 42%,#453a33 88%);border-color:#ffffff1f}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--ghibli .style-option__mini-lines i{background:#edeae833}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--ghibli .style-option__mini-button{background:#7593cd}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--neon{background-color:#1a0533;background-image:linear-gradient(rgba(255,113,206,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(1,205,254,.14) 1px,transparent 1px),linear-gradient(180deg,#2a0a4d,#1a0533);background-size:12px 12px,12px 12px,100% 100%;border-color:#ff71ce80}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--neon .style-option__mini-bar{display:block;background:#ff71cee6;border:0;border-radius:2px;box-shadow:0 0 8px #ff71cecc}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--neon .style-option__mini-avatar{background:radial-gradient(circle,rgba(255,113,206,.55) 0%,rgba(1,205,254,.25) 60%,transparent 75%);border:1px solid rgba(255,113,206,.7)}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--neon .style-option__mini-lines i{background:#f0e2ff59}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--neon .style-option__mini-button{background:linear-gradient(90deg,#ff71ce,#b967ff 55%,#01cdfe);border:0;border-radius:2px;box-shadow:0 0 10px #ff71ce99}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--neon .style-option__mini-tape{display:none}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--neon{background-color:#12032a;background-image:linear-gradient(rgba(255,113,206,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(1,205,254,.18) 1px,transparent 1px),linear-gradient(180deg,#20073c,#12032a);border-color:#ff71ce8c}.page:not(.page--manage){padding-top:32px}html:where([data-playlist-style=default],:not([data-playlist-style])) body:not([data-surface=manage]):before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}html:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] body:not([data-surface=manage]):before{background:radial-gradient(120% 60% at 50% -10%,color-mix(in srgb,var(--brand) 28%,transparent),transparent 62%),radial-gradient(80% 40% at 100% 8%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 70%)}html:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=light] body:not([data-surface=manage]):before{background:radial-gradient(120% 60% at 50% -10%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 62%),radial-gradient(80% 40% at 100% 8%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 70%)}.page:not(.page--manage):not(.page--embedded):before{display:none}.button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.button[aria-busy=true]{position:relative;color:transparent;pointer-events:none}.button[aria-busy=true]>*{visibility:hidden}.button[aria-busy=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:16px;height:16px;border:2px solid var(--brand);border-top-color:transparent;border-radius:50%;animation:button-busy-spin .7s linear infinite}.button--primary[aria-busy=true]:after{border-color:var(--brand-ink);border-top-color:transparent}to{transform:rotate(360deg)}.preview-frame__stage>.page--embedded[data-playlist-style=default]:before{content:"";position:absolute;inset:0 0 auto 0;height:min(100%,720px);z-index:0;pointer-events:none;background:radial-gradient(120% 60% at 50% -10%,color-mix(in srgb,var(--brand) 28%,transparent),transparent 62%),radial-gradient(80% 40% at 100% 8%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 70%)}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .field__input,:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .import-preview,:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .import-result,:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] input:not([type=checkbox]):not([type=radio]):not([type=file]),:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] textarea,:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] select{background:var(--card);color:var(--text);border-color:var(--line)}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] input::placeholder,:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] textarea::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent)}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .manage-tabs__thumb{background:#ffffff2e;box-shadow:0 1px 3px #0000008c}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .manage-tabs__tab{color:var(--text-soft)}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .manage-tabs__tab--current{color:var(--text)}.button,.button--small,.chip{border-radius:999px}.button{padding:8px 18px}.button--primary{border-color:transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 62%,#ffffff),var(--brand));box-shadow:0 8px 20px -12px color-mix(in srgb,var(--brand) 75%,transparent)}.field__input,textarea,select{border-radius:12px}.portrait-editor{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.portrait-editor .framer{margin-top:0;flex:1 1 320px}.portrait-editor__actions{display:flex;flex-direction:column;gap:8px}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .framer{background:#ffffff08;border-color:var(--line)}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .framer__frame{background-color:#1b1f24;background-image:linear-gradient(45deg,#262b31 25%,transparent 25%,transparent 75%,#262b31 75%),linear-gradient(45deg,#262b31 25%,transparent 25%,transparent 75%,#262b31 75%)}.chip:disabled,.switch:disabled,.filter-multi__trigger:disabled,.manage-tabs__tab:disabled,.theme-swatch:disabled,.session-kick:disabled{opacity:.5;cursor:not-allowed}.random-pick:focus-visible,.manage-top__logout:focus-visible,.empty-state__retry:focus-visible,.empty-state__link:focus-visible,.theme-swatch:focus-visible,.session-kick:focus-visible,.link-button:focus-visible,.filter-multi__remove:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes button-busy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--kawaii{background-color:#fff7ed;background-image:radial-gradient(62% 52% at 104% -8%,rgba(249,168,212,.5),transparent 66%),radial-gradient(52% 44% at -10% 62%,rgba(167,139,250,.32),transparent 68%);border-color:#f9a8d473}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--kawaii .style-option__mini-bar{display:none}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--kawaii .style-option__mini-avatar{background:linear-gradient(135deg,#f9a8d4,#a78bfa);border:0}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--kawaii .style-option__mini-lines i{background:#4a3f4b2e}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--kawaii .style-option__mini-button{background:#f9a8d4;border:0;border-radius:999px;box-shadow:0 3px #eda3c6}html:where([data-playlist-style=default],:not([data-playlist-style])) .style-option__preview--kawaii .style-option__mini-tape{display:none}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--kawaii{background-color:#2b2130;background-image:radial-gradient(62% 52% at 104% -8%,rgba(245,184,217,.28),transparent 66%),radial-gradient(52% 44% at -10% 62%,rgba(196,181,253,.2),transparent 68%);border-color:#f5b8d959}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--kawaii .style-option__mini-lines i{background:#f7efea38}:root:where([data-playlist-style=default],:not([data-playlist-style]))[data-skin=dark] .style-option__preview--kawaii .style-option__mini-button{background:#f5b8d9;box-shadow:0 3px #c98bae}
