.aio-header[data-v-e4fa961d]{z-index:100;border-bottom:1px solid #00d4ff29;position:sticky;top:0}.aio-header[data-v-e4fa961d]:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(20px);background:#0a0a1ae0;position:absolute;inset:0}.aio-header[data-variant=platform][data-v-e4fa961d]{border-bottom-color:#10223614}.aio-header[data-variant=platform][data-v-e4fa961d]:before{background:#f5f3eeeb}.aio-header.is-menu-open[data-v-e4fa961d]{z-index:300}.aio-header__bar[data-v-e4fa961d]{height:var(--header-bar-h);align-items:center;gap:28px;display:flex}.aio-products[data-v-e4fa961d]{align-items:center;gap:28px;margin-left:auto;display:flex}.aio-products__link[data-v-e4fa961d]{font:600 .875rem/1 var(--font-sans);color:#a2a4b7;white-space:nowrap;padding:10px 0;transition:color .2s;position:relative}.aio-products__link[data-v-e4fa961d]:hover,.aio-products__link.is-active[data-v-e4fa961d]{color:#fff}.aio-products__link.is-active[data-v-e4fa961d]:after{content:"";background:var(--primary);height:2px;box-shadow:0 0 10px var(--primary);position:absolute;bottom:0;left:0;right:0}[data-variant=platform] .aio-products__link[data-v-e4fa961d]{color:#6e797f}[data-variant=platform] .aio-products__link[data-v-e4fa961d]:hover,[data-variant=platform] .aio-products__link.is-active[data-v-e4fa961d]{color:var(--ink)}[data-variant=platform] .aio-products__link.is-active[data-v-e4fa961d]:after{background:var(--red);box-shadow:none}.aio-products__ext[data-v-e4fa961d]{opacity:.6;margin-left:3px;font-size:.75em}.aio-header__actions[data-v-e4fa961d]{align-items:center;gap:10px;display:flex}.aio-header__actions .aio-btn[data-v-e4fa961d]{min-height:38px;padding:0 16px}.aio-header__auth[data-v-e4fa961d]{text-overflow:ellipsis;max-width:180px;overflow:hidden}[data-variant=platform] .aio-header__auth[data-v-e4fa961d]{background:var(--ink);border-color:var(--ink);color:#fff;min-height:40px}[data-variant=platform] .aio-header__auth[data-v-e4fa961d]:hover{background:var(--ink-2);border-color:var(--ink-2)}.aio-header__toggle[data-v-e4fa961d]{border:1px solid var(--line-bright);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:none}.menu-icon[data-v-e4fa961d]{width:18px;height:14px;display:block;position:relative}.menu-icon span[data-v-e4fa961d]{background:var(--primary);width:100%;height:2px;transition:transform .2s,opacity .2s,top .2s;position:absolute;left:0}[data-variant=platform] .menu-icon span[data-v-e4fa961d]{background:var(--ink)}.menu-icon span[data-v-e4fa961d]:first-child{top:0}.menu-icon span[data-v-e4fa961d]:nth-child(2){top:6px}.menu-icon span[data-v-e4fa961d]:nth-child(3){top:12px}.menu-icon.open span[data-v-e4fa961d]:first-child{top:6px;transform:rotate(45deg)}.menu-icon.open span[data-v-e4fa961d]:nth-child(2){opacity:0}.menu-icon.open span[data-v-e4fa961d]:nth-child(3){top:6px;transform:rotate(-45deg)}.aio-radio-brand[data-v-e4fa961d]{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.aio-radio-brand img[data-v-e4fa961d]{width:auto;height:34px}.aio-radio-brand span[data-v-e4fa961d]{font:700 1rem/1 var(--font-display);letter-spacing:.06em;color:var(--primary);text-shadow:0 0 10px #00d4ff80}.aio-header__logout[data-v-e4fa961d]{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:.8125rem}.aio-header__logout[data-v-e4fa961d]:hover{color:var(--primary)}.aio-drawer[data-v-e4fa961d],.aio-drawer__backdrop[data-v-e4fa961d]{display:none}@media (width<=1024px){.aio-products[data-v-e4fa961d]{gap:20px}}@media (width<=760px){.aio-products[data-v-e4fa961d],.aio-header__actions[data-v-e4fa961d]{display:none}.aio-header__toggle[data-v-e4fa961d]{display:inline-flex}.aio-drawer__backdrop[data-v-e4fa961d]{inset:var(--header-bar-h) 0 0;z-index:-2;background:#0408148c;display:block;position:fixed}.aio-drawer[data-v-e4fa961d]{top:var(--header-bar-h);max-height:calc(100dvh - var(--header-bar-h));padding:20px var(--gutter) 28px;border-bottom:1px solid var(--line-bright);opacity:0;pointer-events:none;background:#0c0c1e;flex-direction:column;gap:20px;transition:transform .2s,opacity .2s;display:flex;position:fixed;inset-inline:0;overflow-y:auto;transform:translateY(-8px)}[data-variant=platform] .aio-drawer[data-v-e4fa961d]{background:var(--cream);border-bottom-color:var(--line)}.aio-drawer.open[data-v-e4fa961d]{opacity:1;pointer-events:auto;transform:translateY(0)}.aio-drawer__group[data-v-e4fa961d]{flex-direction:column;gap:2px;display:flex}.aio-drawer__group>.aio-kicker[data-v-e4fa961d]{margin-bottom:10px}.aio-drawer__group>a[data-v-e4fa961d],.aio-drawer__logout[data-v-e4fa961d]{border-bottom:1px solid var(--line);min-height:48px;color:var(--text);align-items:center;padding:0 4px;font-size:1rem;font-weight:600;display:flex}.aio-drawer__group>a.router-link-active[data-v-e4fa961d]:not([href=\/]),.aio-drawer__group>a.router-link-exact-active[data-v-e4fa961d],.aio-drawer__group>a.is-active[data-v-e4fa961d]{color:var(--primary)}.aio-drawer__logout[data-v-e4fa961d]{border-top:0;color:#ff9b9b;text-align:left;cursor:pointer;background:0 0;border-inline:0;width:100%;font-family:inherit}.aio-drawer__actions[data-v-e4fa961d]{flex-flow:wrap;gap:10px}.aio-drawer__actions .aio-btn[data-v-e4fa961d]{flex:140px}[data-variant=platform] .aio-drawer__actions .aio-btn--solid[data-v-e4fa961d]{background:var(--ink);border-color:var(--ink);color:#fff}}@media (prefers-reduced-motion:reduce){.aio-drawer[data-v-e4fa961d],.menu-icon span[data-v-e4fa961d]{transition:none}}.aio-footer[data-v-67ca56f3]{background:var(--footer-bg);border-top:1px solid var(--line);margin-top:auto;padding-bottom:32px}.aio-footer__grid[data-v-67ca56f3]{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px;padding:56px 0 40px;display:grid}[data-variant=platform] .aio-footer__grid[data-v-67ca56f3],[data-variant=platform].aio-footer[data-v-67ca56f3]{border-color:#ffffff1f}.aio-footer__tagline[data-v-67ca56f3]{max-width:280px;color:var(--footer-link);margin:16px 0 0;font-size:.875rem;line-height:1.7}.aio-footer__col[data-v-67ca56f3]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.aio-footer__col .aio-kicker[data-v-67ca56f3]{color:var(--footer-kicker);margin-bottom:6px}.aio-footer__col a[data-v-67ca56f3]{color:var(--footer-link);font-size:.8125rem;transition:color .2s}.aio-footer__col a[data-v-67ca56f3]:hover{color:var(--primary)}[data-variant=platform] .aio-footer__col a[data-v-67ca56f3]:hover{color:#fff}.aio-social[data-v-67ca56f3]{gap:10px;margin-top:20px;display:flex}.aio-social a[data-v-67ca56f3]{border:1px solid var(--line);width:36px;height:36px;color:var(--footer-link);border-radius:50%;place-items:center;transition:color .2s,border-color .2s;display:grid}[data-variant=platform] .aio-social a[data-v-67ca56f3]{border-color:#fff3}.aio-social a[data-v-67ca56f3]:hover{color:#1877f2;border-color:#1877f2}[data-variant=platform] .aio-social a[data-v-67ca56f3]:hover{color:#fff;border-color:#fff}.aio-footer__bottom[data-v-67ca56f3]{color:var(--footer-meta);font:.75rem/1.7 var(--font-mono);justify-content:space-between;align-items:flex-start;gap:24px;padding-top:24px;display:flex}.aio-footer__bottom p[data-v-67ca56f3]{margin:0}.aio-footer__license[data-v-67ca56f3]{text-align:right}.aio-footer__license a[data-v-67ca56f3]{color:var(--footer-link);text-underline-offset:2px;text-decoration:underline}[data-variant=platform] .aio-brand__mark[data-v-67ca56f3]{filter:none}@media (width<=900px){.aio-footer__grid[data-v-67ca56f3]{grid-template-columns:1fr 1fr}}@media (width<=600px){.aio-footer__grid[data-v-67ca56f3]{grid-template-columns:1fr;gap:28px;padding-top:40px}.aio-footer__bottom[data-v-67ca56f3]{flex-direction:column}.aio-footer__license[data-v-67ca56f3]{text-align:left}}.taipei-clock[data-v-2d2e6975]{font-variant-numeric:tabular-nums;align-items:baseline;gap:.45rem;display:inline-flex}.taipei-clock-label[data-v-2d2e6975]{color:var(--muted);white-space:nowrap;font-size:.82rem}.taipei-clock-value[data-v-2d2e6975]{letter-spacing:.02em;white-space:nowrap;font-weight:600}.taipei-clock--compact .taipei-clock-label[data-v-2d2e6975]{font-size:.75rem}.taipei-clock--compact .taipei-clock-value[data-v-2d2e6975]{font-size:.92rem}.taipei-clock--default .taipei-clock-value[data-v-2d2e6975]{font-size:1rem}.admin-header[data-v-f4eca2b7]{z-index:120;background:linear-gradient(90deg,#1c0f1f,#280f15);border-bottom:1px solid #ef44444d;padding:.7rem 1rem;position:sticky;top:0}.admin-header-inner[data-v-f4eca2b7]{justify-content:space-between;align-items:center;gap:.75rem;max-width:1320px;margin:0 auto;display:flex}.brand[data-v-f4eca2b7]{color:#f9d1d1;align-items:center;gap:.55rem;min-width:0;display:inline-flex}.header-clock[data-v-f4eca2b7]{background:#ffffff0a;border:1px solid #fca5a559;border-radius:8px;margin-left:auto;padding:.35rem .65rem}.header-clock[data-v-f4eca2b7] .taipei-clock-label{color:#fca5a5}.header-clock[data-v-f4eca2b7] .taipei-clock-value{color:#ffe4e6}.badge[data-v-f4eca2b7]{letter-spacing:.06em;color:#1b0707;background:#fda4af;border-radius:6px;flex-shrink:0;padding:.18rem .42rem;font-size:.7rem;font-weight:700}.admin-nav[data-v-f4eca2b7]{gap:1rem;display:flex}.admin-nav a[data-v-f4eca2b7]{color:#fbcaca;white-space:nowrap;font-size:.92rem}.admin-nav a.router-link-active[data-v-f4eca2b7]{color:#fff}.meta[data-v-f4eca2b7]{color:#fca5a5;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.meta button[data-v-f4eca2b7]{color:#ffe4e6;cursor:pointer;background:0 0;border:1px solid #fca5a573;border-radius:999px;padding:.28rem .65rem}.menu-toggle[data-v-f4eca2b7]{cursor:pointer;background:#ffffff0a;border:1px solid #fca5a573;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.menu-icon[data-v-f4eca2b7]{width:18px;height:14px;display:block;position:relative}.menu-icon span[data-v-f4eca2b7]{background:#fda4af;border-radius:999px;width:100%;height:2px;transition:transform .2s,opacity .2s,top .2s;position:absolute;left:0}.menu-icon span[data-v-f4eca2b7]:first-child{top:0}.menu-icon span[data-v-f4eca2b7]:nth-child(2){top:6px}.menu-icon span[data-v-f4eca2b7]:nth-child(3){top:12px}.menu-icon.open span[data-v-f4eca2b7]:first-child{top:6px;transform:rotate(45deg)}.menu-icon.open span[data-v-f4eca2b7]:nth-child(2){opacity:0}.menu-icon.open span[data-v-f4eca2b7]:nth-child(3){top:6px;transform:rotate(-45deg)}.mobile-backdrop[data-v-f4eca2b7],.mobile-nav[data-v-f4eca2b7]{display:none}@media (width<=900px){.desktop-nav[data-v-f4eca2b7],.desktop-meta[data-v-f4eca2b7]{display:none}.header-clock[data-v-f4eca2b7]{margin-left:auto;margin-right:.35rem;padding:.28rem .5rem}.header-clock[data-v-f4eca2b7] .taipei-clock-label{display:none}.menu-toggle[data-v-f4eca2b7]{margin-left:0;display:inline-flex}.mobile-backdrop[data-v-f4eca2b7]{z-index:118;background:#0804088c;display:block;position:fixed;inset:62px 0 0}.mobile-nav[data-v-f4eca2b7]{opacity:0;pointer-events:none;z-index:119;background:#1c0f1ffa;border-bottom:1px solid #ef444440;flex-direction:column;gap:.35rem;padding:.75rem;transition:transform .2s,opacity .2s;display:flex;position:fixed;top:62px;left:0;right:0;transform:translateY(-8px)}.mobile-nav.open[data-v-f4eca2b7]{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a[data-v-f4eca2b7]{color:#ffe4e6;background:#ffffff08;border:1px solid #fca5a533;border-radius:10px;padding:.8rem 1rem}.mobile-meta[data-v-f4eca2b7]{color:#fca5a5;margin:.35rem 0 0;padding:.65rem 1rem;font-size:.85rem}.mobile-logout[data-v-f4eca2b7]{color:#ffe4e6;cursor:pointer;text-align:left;background:0 0;border:1px solid #fca5a573;border-radius:10px;padding:.75rem 1rem}}.toast-host[data-v-fefbbdcf]{top:calc(var(--header-h,72px) + 16px);z-index:500;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;right:1rem}.toast-item[data-v-fefbbdcf]{color:#e2e8f0;background:#0f172af5;border:1px solid #00d4ff59;border-radius:12px;min-width:220px;max-width:min(360px,100vw - 2rem);padding:.75rem 1rem;font-size:.92rem;box-shadow:0 10px 30px #00000059}.adsense-bottom[data-v-c34c8a82]{width:100%;height:var(--ad-strip-h,90px);max-height:var(--ad-strip-h,90px);background:#0a0a1a;border-top:1px solid #00d4ff38;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.adsense-bottom[data-v-c34c8a82] iframe,.adsense-bottom[data-v-c34c8a82] ins{max-width:100%}.global-player[data-v-8a771098]{z-index:200;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#14182af7 0%,#0a0a1afa 100%);border-top:1px solid #00d4ffcc;height:40vh;min-height:240px;max-height:420px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 0 24px #00d4ff59,0 -6px 28px #00d4ff47,0 -10px 40px #00000073}.global-player.docked[data-v-8a771098]{z-index:auto;width:100%;position:relative;bottom:auto;left:auto;right:auto}.global-player.no-lyrics[data-v-8a771098]{height:auto;min-height:0;max-height:none}.global-player.no-lyrics .player-shell[data-v-8a771098]{height:auto;padding-bottom:.85rem}.player-shell[data-v-8a771098]{flex-direction:column;gap:.65rem;max-width:1280px;height:100%;margin:0 auto;padding:.9rem 1.25rem 1rem;display:flex}.player-header[data-v-8a771098]{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.track-titles[data-v-8a771098]{min-width:0}.shuffle-badge[data-v-8a771098],.replay-badge[data-v-8a771098],.live-badge-player[data-v-8a771098]{border-radius:999px;margin-bottom:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.live-badge-player[data-v-8a771098]{color:#fecaca;background:#ef444440}.shuffle-badge[data-v-8a771098]{color:#e9d5ff;background:#a855f738}.mv-badge[data-v-8a771098]{color:#fed7aa;background:#f9731638}.global-player.mv-mode[data-v-8a771098]{background:#000;border-top-color:#00d4ffcc;height:auto;min-height:0;max-height:none;padding:0}.mv-shell[data-v-8a771098]{background:#000;width:100%;max-width:1280px;margin:0 auto;position:relative}.mv-video-full[data-v-8a771098]{object-fit:contain;background:#000;width:100%;height:auto;max-height:min(72vh,56.25vw);margin:0 auto;display:block}.mv-close-btn[data-v-8a771098]{z-index:3;color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:999px;width:2.25rem;height:2.25rem;font-size:1rem;position:absolute;top:.55rem;right:.65rem}@media (orientation:landscape) and (height<=520px){.mv-video-full[data-v-8a771098]{max-width:100vw;max-height:88vh}}@media (width>=900px){.mv-video-full[data-v-8a771098]{max-height:min(70vh,720px)}}.replay-badge[data-v-8a771098]{color:#c7d2fe;background:#6366f140}.track-title[data-v-8a771098]{color:var(--primary);white-space:nowrap;text-overflow:ellipsis;font-size:1.1rem;font-weight:700;display:block;overflow:hidden}.track-title-link[data-v-8a771098]{text-decoration:none}.track-title-link[data-v-8a771098]:hover{text-underline-offset:.15em;text-decoration:underline}.track-artist[data-v-8a771098]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.2rem;font-size:.9rem;display:block;overflow:hidden}.lyrics-panel[data-v-8a771098]{scrollbar-width:thin;scrollbar-color:#00d4ff73 transparent;background:#00000038;border:1px solid #00d4ff1f;border-radius:12px;flex:1;min-height:0;padding:.85rem 1rem;overflow-y:auto}.lyrics-panel[data-v-8a771098]::-webkit-scrollbar{width:6px}.lyrics-panel[data-v-8a771098]::-webkit-scrollbar-thumb{background:#00d4ff59;border-radius:999px}.track-lyrics[data-v-8a771098]{white-space:pre-wrap;color:var(--text);margin:0;font-size:.95rem;line-height:1.7}.track-lyrics.empty[data-v-8a771098]{color:var(--muted);text-align:center;padding:1rem 0;font-style:italic}.song-link[data-v-8a771098]{color:var(--primary);font-weight:700;text-decoration:none}.song-link[data-v-8a771098]:hover{text-underline-offset:.15em;text-decoration:underline}.song-artist[data-v-8a771098]{color:var(--muted)}.script-panel[data-v-8a771098]{scroll-behavior:smooth}.script-line[data-v-8a771098]{color:#fff;margin:0;padding:.28rem 0;font-size:.95rem;line-height:1.65;transition:color .4s,font-size .25s}.script-line.past[data-v-8a771098]{color:#ffffff8c}.script-line.active[data-v-8a771098]{color:var(--primary);font-size:1.02rem;font-weight:600}.ad-link-panel[data-v-8a771098]{flex-direction:column;justify-content:center;align-items:center;gap:.65rem;display:flex}.ad-link-hint[data-v-8a771098]{color:var(--muted);letter-spacing:.05em;margin:0;font-size:.8rem}.ad-link-btn[data-v-8a771098]{color:var(--primary);background:#00d4ff14;border:1px solid #00d4ff73;border-radius:999px;padding:.55rem 1.4rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .2s,box-shadow .2s;display:inline-block}.ad-link-btn[data-v-8a771098]:hover{background:#00d4ff2e;box-shadow:0 0 14px #00d4ff59}.close-btn[data-v-8a771098]{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:50%;flex-shrink:0;transition:color .2s,border-color .2s,background .2s}.close-btn[data-v-8a771098]:hover{color:var(--text);border-color:var(--primary);background:#00d4ff14}.controls[data-v-8a771098]{flex-direction:column;flex-shrink:0;gap:.55rem;padding-top:.15rem;display:flex}.progress-row[data-v-8a771098]{align-items:center;gap:.65rem;width:100%;display:flex}.progress-time[data-v-8a771098]{font-variant-numeric:tabular-nums;min-width:2.75rem;color:var(--muted);text-align:center;flex-shrink:0;font-size:.82rem}.progress-range[data-v-8a771098]{appearance:none;cursor:pointer;background:#ffffff1a;border-radius:999px;flex:1;min-width:0;height:6px;margin:0}.progress-range[data-v-8a771098]:disabled{opacity:.85;cursor:default}.progress-range[data-v-8a771098]::-webkit-slider-runnable-track{background:#ffffff1a;border-radius:999px;height:6px}.progress-range[data-v-8a771098]::-webkit-slider-thumb{appearance:none;background:var(--primary);border:2px solid #0a0a1ae6;border-radius:50%;width:14px;height:14px;margin-top:-4px;box-shadow:0 0 10px #00d4ff73}.progress-range[data-v-8a771098]::-moz-range-track{background:#ffffff1a;border-radius:999px;height:6px}.progress-range[data-v-8a771098]::-moz-range-thumb{background:var(--primary);border:2px solid #0a0a1ae6;border-radius:50%;width:14px;height:14px}.control-buttons[data-v-8a771098]{justify-content:center;align-items:center;gap:.65rem;display:flex}.ctrl-btn[data-v-8a771098]{background:var(--primary);width:46px;height:46px;color:var(--bg);cursor:pointer;border:none;border-radius:50%;font-size:1rem;transition:box-shadow .3s,opacity .2s,transform .15s}.ctrl-btn[data-v-8a771098]:hover:not(:disabled){transform:scale(1.04);box-shadow:0 0 18px #00d4ffbf}.ctrl-btn[data-v-8a771098]:disabled{opacity:.35;cursor:not-allowed}.ctrl-btn.play[data-v-8a771098]{width:54px;height:54px;font-size:1.15rem}.ctrl-btn.nav[data-v-8a771098],.ctrl-btn.stop[data-v-8a771098]{border:1px solid var(--border);color:var(--text);background:0 0;font-size:.9rem}@media (width<=720px){.global-player[data-v-8a771098]{min-height:260px}.player-shell[data-v-8a771098]{padding:.75rem 1rem .85rem}.track-title[data-v-8a771098]{font-size:1rem}}#app{min-height:100vh}#shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1;min-height:calc(100vh - 80px);padding-bottom:1.5rem}main.is-flush{padding-bottom:0}main.is-app{min-height:100dvh}main.is-embed{min-height:100dvh;padding-top:0}main.has-player{padding-bottom:40vh}main.has-player-adsense{padding-bottom:calc(40vh + var(--ad-strip-h))}main.has-player-compact{padding-bottom:9rem}main.has-player-compact-adsense{padding-bottom:calc(9rem + var(--ad-strip-h))}main.has-adsense-only{padding-bottom:calc(var(--ad-strip-h) + 1rem)}#shell.with-bottom-ad .site-footer{padding-bottom:calc(2rem + var(--ad-strip-h))}.bottom-dock{z-index:200;pointer-events:none;color:var(--text);font-family:var(--font-sans);background:0 0;flex-direction:column;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-dock>*{pointer-events:auto}.admin-main{background:radial-gradient(1200px 500px at 20% -10%,#ef444429,#0000),linear-gradient(#12080a 0%,#0e0f19 60%);min-height:calc(100vh - 70px);padding-bottom:20px}:root{--bg:#0a0a1a;--card:#1a1a2eb3;--primary:#00d4ff;--accent:#a855f7;--text:#f0f0f0;--muted:#a0a0b0;--border:#00d4ff33}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.6}h1,h2,h3,h4{font-family:Poppins,Inter,sans-serif;font-weight:700}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:0 2rem}@media (width<=768px){.container{padding:0 1rem}.section-title{margin-bottom:1.25rem;font-size:1.5rem}}.section-title{color:var(--primary);text-shadow:0 0 10px #00d4ff80;margin-bottom:2rem;font-size:2rem}.theme-card,.program-card,.song-item{background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:12px;transition:all .3s}.theme-card:hover,.program-card:hover,.song-item:hover{border-color:#00d4ff80;box-shadow:0 0 20px #00d4ff4d}.hero-cta{background:var(--primary);color:var(--bg);cursor:pointer;border:none;border-radius:50px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.hero-cta:hover{transform:scale(1.05);box-shadow:0 0 20px #00d4ffcc}.live-badge{color:#fff;background:#ef4444;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;animation:2s infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.google-auto-placed,ins.adsbygoogle[data-anchor-status],ins.adsbygoogle[data-ad-format=autorelaxed]{height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}:root{--container:1180px;--gutter:32px;--section-y:104px;--section-y-md:80px;--section-y-sm:64px;--gap-grid:12px;--radius-0:0;--radius-sm:4px;--radius-pill:999px;--header-bar-h:72px;--header-h:72px;--ad-strip-h:90px}@media (width<=767px){:root{--ad-strip-h:100px}}@media (width<=760px){:root{--gutter:16px;--header-bar-h:64px}}.theme-radio{--bg:#0a0a1a;--bg-2:#0b0b1e;--bg-3:#111126;--surface:#15152c;--surface-2:#1b1b38;--surface-glass:#15152cd1;--primary:#00d4ff;--primary-2:#79eaff;--accent:#a855f7;--pink:#ee62be;--green:#38d39f;--danger:#ef4444;--text:#f3f4fa;--text-2:#bdc0d3;--muted:#9698ae;--on-primary:#04121e;--line:#9698ae2e;--line-bright:#00d4ff59;--border:var(--line-bright);--font-sans:Inter, "Noto Sans TC", system-ui, sans-serif;--font-display:Poppins, "Noto Sans TC", sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--footer-bg:#070716;--footer-link:#87899e;--footer-meta:#5e6176;--footer-kicker:var(--primary)}.theme-platform{--ink:#102236;--ink-2:#1b3044;--cream:#f5f3ee;--paper:#fffdfa;--sand:#eadfd3;--red:#e85f43;--coral:#f0785d;--coral-hover:#dc5c43;--orange:#f2a45d;--blue:#6699bd;--line:#10223626;--line-bright:#1022364d;--muted:#5f6c72;--kicker-on-ink:#f6a48e;--bg:var(--cream);--surface:var(--paper);--surface-2:#fff;--text:var(--ink);--text-2:#3d4d5a;--primary:var(--red);--primary-2:var(--coral-hover);--on-primary:#fff;--border:var(--line);--font-sans:Manrope, "Noto Sans TC", system-ui, sans-serif;--font-display:Manrope, "Noto Sans TC", sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--footer-bg:var(--ink);--footer-link:#fff9;--footer-meta:#fff6;--footer-kicker:var(--kicker-on-ink)}.section-light{--section-bg:#f5f5fb;--section-ink:#15152b;--section-muted:#6d7086;--section-line:#dedee9;--section-accent:var(--accent);--muted:#6d7086;background:var(--section-bg);color:var(--section-ink)}[data-accent=orange]{--card-accent:#ffad62;--tag-bg:#f8e1c7;--tag-fg:#a55c29;--sym-bg:#f7be7f;--sym-fg:#814721}[data-accent=blue]{--card-accent:#58a6ff;--tag-bg:#dcebf2;--tag-fg:#47758d;--sym-bg:#9ec5d9;--sym-fg:#214e69}[data-accent=violet]{--card-accent:#c28bff;--tag-bg:#e9e0f0;--tag-fg:#735c86;--sym-bg:#c2aed7;--sym-fg:#554064}[data-accent=green]{--card-accent:#54dca5;--tag-bg:#dfeee5;--tag-fg:#47805b;--sym-bg:#a8d0b6;--sym-fg:#2f6240}[data-accent=coral]{--card-accent:#ff8797;--tag-bg:#fae0d8;--tag-fg:#a94b3d;--sym-bg:#f5a694;--sym-fg:#8d332d}[data-accent=teal]{--card-accent:#56e0d3;--tag-bg:#d9eeee;--tag-fg:#367c7a;--sym-bg:#91c9c8;--sym-fg:#246b68}[data-accent=pink]{--card-accent:#f27fc7;--tag-bg:#f6dfe8;--tag-fg:#9a526c;--sym-bg:#eab0c2;--sym-fg:#773c56}[data-accent=yellow]{--card-accent:#f0cd67;--tag-bg:#f8edc9;--tag-fg:#957126;--sym-bg:#ead18a;--sym-fg:#765c14}[data-accent=red]{--card-accent:#ff716c;--tag-bg:#fae0d8;--tag-fg:#a94b3d;--sym-bg:#f5a694;--sym-fg:#8d332d}[data-accent=purple]{--card-accent:#cf8dff;--tag-bg:#e9e0f0;--tag-fg:#735c86;--sym-bg:#c2aed7;--sym-fg:#554064}[data-accent=cyan]{--card-accent:#65e8ff;--tag-bg:#d9eeee;--tag-fg:#367c7a;--sym-bg:#91c9c8;--sym-fg:#246b68}#shell{background:var(--bg);color:var(--text);font-family:var(--font-sans)}body[data-theme=platform]{background:#f5f3ee}.theme-platform h1,.theme-platform h2,.theme-platform h3,.theme-platform h4{font-family:var(--font-display)}.aio-container{width:min(var(--container), calc(100% - var(--gutter) * 2));margin-inline:auto}#shell :focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aio-brand{border-radius:10px;flex-shrink:0;align-items:center;margin-left:-6px;padding:4px 6px;display:inline-flex}.aio-brand__mark{width:auto;height:40px;transition:filter .25s,transform .25s;display:block}.theme-radio .aio-brand__mark{filter:drop-shadow(0 0 2px #00d4ff8c)drop-shadow(0 0 10px #00d4ff47)}.theme-radio .aio-brand:hover .aio-brand__mark,.theme-radio .aio-brand:focus-visible .aio-brand__mark{filter:drop-shadow(0 0 3px #00d4ffb3)drop-shadow(0 0 16px #00d4ff61)}.theme-platform .aio-brand__mark{filter:drop-shadow(0 1px 1px #1022361f)}@media (width<=760px){.aio-brand__mark{height:34px}}.aio-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px;display:flex}.aio-heading__title{font:700 clamp(1.75rem, 3vw, 2.25rem)/1.2 var(--font-display);letter-spacing:-.04em;margin:12px 0 0}.aio-heading__title em{color:var(--primary);font-style:normal}.aio-heading__aside{color:var(--muted);font:.75rem/1.6 var(--font-mono);text-align:right;max-width:360px;margin:0}@media (width<=760px){.aio-heading{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}.aio-heading__aside{text-align:left}}.aio-kicker{color:var(--primary);font:500 .75rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0}.aio-kicker--accent{color:var(--accent)}.aio-kicker--zh{font:700 .75rem/1 var(--font-sans);letter-spacing:.2em;text-transform:none}.theme-platform .aio-kicker{color:var(--red)}.theme-platform .on-ink .aio-kicker{color:var(--kicker-on-ink)}.aio-btn,.pf-btn{min-height:44px;font:700 .8125rem/1 var(--font-sans);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 20px;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.aio-btn:focus-visible,.pf-btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.aio-btn--outline{border-color:var(--primary);color:var(--primary);background:0 0}.aio-btn--outline:hover{background:var(--primary);color:var(--on-primary)}.aio-btn--solid{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.aio-btn--solid:hover{background:var(--primary-2);border-color:var(--primary-2)}.aio-btn--glow{border-color:var(--primary);min-height:50px;color:var(--primary);background:0 0;box-shadow:0 0 0 5px #00d4ff12,0 0 24px #00d4ff2e}.aio-btn--glow:hover{background:var(--primary);color:var(--on-primary)}.aio-link-arrow{border-bottom:1px solid;align-items:center;gap:6px;padding-bottom:3px;font-size:.8125rem;font-weight:700;display:inline-flex}.aio-link-arrow>span{color:var(--accent)}.theme-platform .aio-link-arrow>span{color:var(--red)}.pf-btn{min-height:49px;font-weight:800}.pf-btn--light{color:var(--ink);background:#fff}.pf-btn--light:hover{background:var(--cream)}.pf-btn--coral{background:var(--red);color:#fff}.pf-btn--coral:hover{background:var(--coral-hover)}.pf-btn--dark{background:var(--ink);color:#fff}.pf-btn--dark:hover{background:var(--ink-2)}.aio-card{border:1px solid var(--line);background:var(--surface);transition:transform .22s,border-color .22s,box-shadow .22s,background .22s}.aio-card--interactive:hover{border-color:var(--line-bright);background:var(--surface-2);transform:translateY(-4px);box-shadow:0 16px 28px #00000040}.theme-platform .aio-card--interactive:hover{box-shadow:0 16px 28px #1022361a}.aio-chip{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:36px;color:inherit;font:700 .8125rem var(--font-sans);cursor:pointer;background:0 0;padding:0 14px}.theme-platform .aio-chip:is(:hover,.is-active){border-color:var(--ink);background:var(--ink);color:#fff}.theme-radio .aio-chip:is(:hover,.is-active){border-color:var(--primary);color:var(--primary);background:#00d4ff1a}.aio-search{border-bottom:1px solid;align-items:center;gap:8px;width:240px;padding:8px 0;display:flex}.aio-search input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.875rem}@media (prefers-reduced-motion:reduce){.aio-brand__mark,.aio-card,.aio-btn,.pf-btn{transition:none}.aio-card--interactive:hover{transform:none}}.empty{color:var(--muted)}.ghost,.danger{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .7rem}.danger{color:#fca5a5;border-color:#7f1d1d}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.list-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 1rem;display:flex}.list-toolbar input,.list-toolbar select{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:.5rem .65rem}.list-toolbar input[type=search]{flex:1;min-width:200px}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:600;line-height:1.3;display:inline-flex}.status-badge.is-published{color:#6ee7b7;background:#10b98126;border:1px solid #10b98159}.status-badge.is-draft{color:#fcd34d;background:#f59e0b1f;border:1px solid #f59e0b4d}.status-badge.is-active{color:#6ee7b7;background:#10b98126;border:1px solid #10b98159}.status-badge.is-inactive{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b84d}.genre-field-label{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.genre-field-label .genre-selected-count{color:var(--muted,#94a3b8);font-size:.8rem;font-weight:500}.genre-checkboxes{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.genre-chip{border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border-radius:999px;align-items:center;gap:.45rem;margin:0;padding:.42rem .9rem;transition:border-color .15s,background .15s,box-shadow .15s,transform .1s;display:inline-flex;position:relative}.genre-chip:hover{background:#00d4ff0f;border-color:#00d4ff59}.genre-chip:active{transform:scale(.98)}.genre-chip input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.genre-chip .chip-mark{background:0 0;border:1.5px solid #ffffff40;border-radius:4px;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.65rem;line-height:1;transition:border-color .15s,background .15s;display:inline-flex}.genre-chip:has(input:checked){background:#00d4ff1f;border-color:#00d4ff8c;box-shadow:0 0 0 1px #00d4ff26}.genre-chip:has(input:checked) .chip-mark{color:#0a0a1a;background:linear-gradient(135deg,#00d4ff,#a855f7);border-color:#00d4ff}.genre-chip:has(input:focus-visible){outline-offset:2px;outline:2px solid #00d4ff73}.genre-chip .chip-text{font-size:.9rem;line-height:1.2}.admin-main .category-panel{padding:1rem}.admin-main .panel-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-main .panel-header h2{margin:0}.admin-main .category-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:.75rem;margin:1rem 0;display:grid}.admin-main .category-form label{flex-direction:column;gap:.3rem;display:flex}.admin-main .category-form input[type=text],.admin-main .category-form input[type=number],.admin-main .category-form input[type=search],.admin-main .category-form input[type=file],.admin-main .category-form input[type=date],.admin-main .category-form input[type=time],.admin-main .category-form input[type=datetime-local],.admin-main .category-form input:not([type]),.admin-main .category-form select,.admin-main .category-form textarea{border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;border-radius:8px;min-height:2.5rem;padding:.55rem .75rem;line-height:1.4}.admin-main .category-form input[type=date],.admin-main .category-form input[type=time],.admin-main .category-form input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.admin-main .category-form input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75;filter:invert(.85)}.admin-main .category-form input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75;filter:invert(.85)}.admin-main .category-form input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75;filter:invert(.85)}.admin-main .full-width{grid-column:1/-1}.admin-main .media-create-form .file-hint{margin:-.25rem 0 0}.admin-main .upload-progress-wrap{flex-direction:column;gap:.35rem;display:flex}.admin-main .upload-progress-track{background:#ffffff14;border-radius:999px;width:100%;height:8px;overflow:hidden}.admin-main .upload-progress-bar{background:linear-gradient(135deg,#00d4ff,#a855f7);height:100%;transition:width .2s}.admin-main .category-table-wrap{overflow-x:auto}.admin-main .category-table{border-collapse:collapse;width:100%;min-width:860px}.admin-main .category-table th,.admin-main .category-table td{border-bottom:1px solid var(--border);text-align:left;padding:.6rem .55rem}.admin-main .actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-main .category-table thead th{letter-spacing:.02em;color:var(--muted,#94a3b8);white-space:nowrap;background:#ffffff08;font-size:.78rem;font-weight:600}.admin-main .category-table tbody tr{transition:background .12s}.admin-main .category-table tbody tr:hover{background:#ffffff08}.admin-main .category-table tbody tr.is-editing{background:#00d4ff14;box-shadow:inset 3px 0 #00d4ff}.admin-main .category-table .col-num{font-variant-numeric:tabular-nums;color:var(--muted,#94a3b8);width:3rem}.admin-main .category-table .col-duration{font-variant-numeric:tabular-nums;white-space:nowrap}.admin-main .duration-cell-main{color:var(--text);font-weight:600}.admin-main .duration-cell-sub{color:var(--muted,#94a3b8);margin-top:.1rem;font-size:.78rem;display:block}.admin-main .preview-btn{min-width:4.5rem}.admin-main .preview-btn.is-playing{color:#7dd3fc;background:#00d4ff1a;border-color:#00d4ff80}.admin-main .songs-form-card{border:1px solid var(--border);background:#ffffff05;border-radius:14px;margin-bottom:1rem;padding:1rem 1.1rem}.admin-main .songs-form-card.is-editing{border-color:#00d4ff59;box-shadow:0 0 0 1px #00d4ff14}.admin-main .songs-form-heading{color:var(--muted,#94a3b8);margin:0 0 .85rem;font-size:.95rem;font-weight:600}.admin-main .duration-hint{border:1px dashed var(--border);background:#ffffff0a;border-radius:8px;margin:0;padding:.55rem .75rem}.admin-main .form-message{color:var(--muted,#94a3b8);margin:0 0 .75rem}.admin-main .form-message.is-error{color:#fca5a5}.admin-main .form-message.is-success{color:#6ee7b7}.admin-main .field-label{margin-bottom:.35rem;display:block}.admin-main .edit-audio-preview{margin-bottom:.25rem}.admin-main .audio-preview-panel{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:.85rem 1rem}.admin-main .audio-preview-panel audio{width:100%;max-width:480px}.admin-main .songs-card-list-wrap{flex-direction:column;gap:.75rem;display:flex}.admin-main .songs-card-empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px;margin:0;padding:1.25rem}.admin-main .song-row-card{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 94%, #00d4ff 6%);border-radius:14px;flex-direction:column;gap:.65rem;padding:.9rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.admin-main .song-row-card:hover{border-color:color-mix(in srgb, var(--border) 55%, #00d4ff);background:color-mix(in srgb, var(--card) 90%, #00d4ff 10%)}.admin-main .song-row-card.is-editing{background:#00d4ff14;border-color:#00d4ff;box-shadow:inset 3px 0 #00d4ff}.admin-main .song-card-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;display:flex}.admin-main .song-card-row-main{align-items:center}.admin-main .song-card-identity{flex:220px;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.admin-main .song-card-id{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0;padding-top:.15rem;font-size:.82rem}.admin-main .song-card-titles{flex-direction:column;gap:.2rem;min-width:0;display:flex}.admin-main .song-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.35;overflow:hidden}.admin-main .song-card-artist{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;overflow:hidden}.admin-main .song-card-metric{flex-direction:column;gap:.12rem;min-width:4.5rem;display:flex}.admin-main .metric-label{letter-spacing:.02em;color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.admin-main .song-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;margin-left:auto;display:flex}.admin-main .song-card-row-genres{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);align-items:flex-start;padding-top:.15rem}.admin-main .song-card-row-genres .metric-label{flex-shrink:0;min-width:2.5rem;padding-top:.2rem}.admin-main .song-genre-pills{flex-wrap:wrap;flex:1;gap:.35rem;min-width:0;display:flex}.admin-main .song-genre-pill{border:1px solid color-mix(in srgb, var(--border) 70%, #a855f7);color:#e9d5ff;background:#a855f71a;border-radius:999px;align-items:center;padding:.22rem .62rem;font-size:.8rem;line-height:1.3;display:inline-flex}.admin-main .song-card-row-dates{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding-top:.15rem}.admin-main .song-card-date{flex-direction:column;flex:9.5rem;gap:.12rem;min-width:9.5rem;display:flex}.admin-main .date-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:.86rem;line-height:1.35}@media (width<=900px){.admin-main .song-card-row-main{align-items:flex-start}.admin-main .song-card-actions{justify-content:flex-start;width:100%;margin-left:0}}
