:root{--color-primary:#fdd1d7;--color-primary-dim:#fdd1d726;--color-bg:#0d0d0f;--color-bg-card:#14141859;--color-bg-card-hover:#1e1e2473;--color-text:#e8e8ec;--color-text-dim:#909098;--color-border:#ffffff0f;--color-border-glow:#fdd1d740;--radius:12px;--radius-sm:8px;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}html{scrollbar-gutter:stable}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow-x:hidden}#app{min-height:100vh}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}input{font:inherit;color:inherit;background:0 0;border:none;outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.header[data-v-f57e5a82]{justify-content:space-between;align-items:center;margin-bottom:12px;padding:20px 0;display:flex}.header-brand[data-v-f57e5a82]{align-items:baseline;gap:8px;display:flex}.header-title[data-v-f57e5a82]{letter-spacing:.02em;background:linear-gradient(135deg, var(--color-primary), #fff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:700}.header-subtitle[data-v-f57e5a82]{opacity:.35;color:var(--color-text-dim);font-size:14px;font-weight:400}.header-nav[data-v-f57e5a82]{gap:8px;display:flex}.header-link[data-v-f57e5a82]{color:var(--color-text-dim);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:all .25s}.header-link[data-v-f57e5a82]:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-dim)}.search-bar[data-v-0a20ecfe]{border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);background:#14141873;align-items:center;gap:10px;height:46px;padding:0 16px;transition:border-color .25s,box-shadow .25s;display:flex}.search-bar[data-v-0a20ecfe]:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-dim)}.search-icon[data-v-0a20ecfe]{opacity:.5;flex-shrink:0;width:18px;height:18px}.search-input[data-v-0a20ecfe]{flex:1;min-width:0;font-size:15px}.search-input[data-v-0a20ecfe]::placeholder{color:var(--color-text-dim);opacity:.5}.search-clear[data-v-0a20ecfe]{width:24px;height:24px;color:var(--color-text-dim);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.search-clear[data-v-0a20ecfe]:hover{color:var(--color-text);background:#ffffff26}.letter-filter[data-v-03ba31fb]{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.letter-btn[data-v-03ba31fb]{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-dim);border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .2s;display:flex}.letter-btn[data-v-03ba31fb]:hover{color:var(--color-text);background:var(--color-bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.letter-btn.active[data-v-03ba31fb]{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-dim)}.border-glow[data-v-c0ba8f2e]{isolation:isolate;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.border-glow[data-v-c0ba8f2e]:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;border:1px solid #ffffff14;position:absolute;inset:0}.border-glow-border[data-v-c0ba8f2e],.border-glow-fill[data-v-c0ba8f2e]{border-radius:inherit;z-index:-1;pointer-events:none;position:absolute;inset:0}.border-glow-outer[data-v-c0ba8f2e]{border-radius:inherit;z-index:1;pointer-events:none;position:absolute}.border-glow-shadow[data-v-c0ba8f2e]{border-radius:inherit;position:absolute}.border-glow-content[data-v-c0ba8f2e]{z-index:1;position:relative}.song-card[data-v-2cd74a19]{cursor:pointer;border-radius:var(--radius);flex-direction:column;justify-content:center;min-height:74px;padding:18px 20px;display:flex;position:relative}.song-card[data-v-2cd74a19]:after{content:"";z-index:-1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;height:100%;display:block;position:absolute;top:0;left:0}.song-artist[data-v-2cd74a19]{color:var(--color-text-dim);margin-bottom:4px;font-size:12px;line-height:1.4}.song-artist.empty[data-v-2cd74a19]{opacity:.4}.song-title[data-v-2cd74a19]{word-break:break-all;font-size:15px;font-weight:600;line-height:1.4}.song-copy[data-v-2cd74a19]{color:var(--color-primary);background:var(--color-primary-dim);opacity:0;border-radius:14px;padding:4px 12px;font-size:11px;font-weight:500;transition:all .25s;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.song-card:hover .song-copy[data-v-2cd74a19]{opacity:1;transform:translateY(0)}.song-copy[data-v-2cd74a19]:hover{background:var(--color-primary);color:var(--color-bg)}@media (width<=640px){.song-copy[data-v-2cd74a19]{opacity:1;transform:translateY(0)}}.song-grid[data-v-f6ba389f]{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.empty[data-v-f6ba389f]{text-align:center;color:var(--color-text-dim);padding:60px 0;font-size:15px}.pagination[data-v-f6ba389f]{justify-content:center;align-items:center;gap:6px;margin-top:28px;padding-bottom:80px;display:flex}.page-btn[data-v-f6ba389f]{border-radius:var(--radius-sm);min-width:36px;height:36px;color:var(--color-text-dim);border:1px solid var(--color-border);justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .2s;display:flex}.page-btn[data-v-f6ba389f]:hover:not(:disabled):not(.dots){color:var(--color-text);border-color:var(--color-text-dim)}.page-btn.active[data-v-f6ba389f]{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-dim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-btn[data-v-f6ba389f]:disabled{opacity:.3;cursor:default;color:var(--color-text-dim)!important}.page-btn.dots[data-v-f6ba389f]{cursor:default;border-color:#0000;color:var(--color-text-dim)!important}@media (width<=900px){.song-grid[data-v-f6ba389f]{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.song-grid[data-v-f6ba389f]{grid-template-columns:1fr}}.toast[data-v-068f1c93]{color:var(--color-bg);background:var(--color-primary);z-index:1000;white-space:nowrap;border-radius:24px;padding:10px 24px;font-size:14px;font-weight:500;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #fdd1d74d}.toast-enter-active[data-v-068f1c93]{transition:all .35s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-068f1c93]{transition:all .25s}.toast-enter-from[data-v-068f1c93]{opacity:0;transform:translate(-50%)translateY(-12px)}.toast-leave-to[data-v-068f1c93]{opacity:0;transform:translate(-50%)translateY(-8px)}.random-overlay[data-v-57003394]{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.random-modal[data-v-57003394]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border-glow);text-align:center;background:#1414188c;border-radius:20px;width:360px;max-width:90vw;padding:40px 32px 28px;position:relative;box-shadow:0 8px 40px #0006}.random-close[data-v-57003394]{width:28px;height:28px;color:var(--color-text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex;position:absolute;top:12px;right:14px}.random-close[data-v-57003394]:hover{color:var(--color-text);background:#ffffff1a}.random-label[data-v-57003394]{color:var(--color-text-dim);margin-bottom:24px;font-size:14px}.random-result[data-v-57003394]{border-radius:var(--radius);background:#fdd1d70f;border:1px solid #fdd1d726;flex-direction:column;justify-content:center;align-items:center;min-height:100px;margin-bottom:28px;padding:28px 20px;display:flex}.random-result.rolling[data-v-57003394]{border-color:var(--color-primary)}.result-artist[data-v-57003394]{color:var(--color-text-dim);margin-bottom:4px;font-size:13px}.result-title[data-v-57003394]{color:var(--color-primary);word-break:break-word;font-size:20px;font-weight:700}.random-actions[data-v-57003394]{gap:12px;display:flex}.random-btn[data-v-57003394]{border-radius:24px;flex:1;padding:12px 0;font-size:14px;font-weight:600;transition:all .25s}.random-btn.retry[data-v-57003394]{color:var(--color-text-dim);border:1px solid var(--color-border)}.random-btn.retry[data-v-57003394]:hover{color:var(--color-text);border-color:var(--color-text-dim)}.random-btn.copy[data-v-57003394]{color:var(--color-bg);background:linear-gradient(135deg, var(--color-primary), #ff9aad)}.random-btn.copy[data-v-57003394]:hover:not(:disabled){transform:scale(1.03);box-shadow:0 4px 16px #fdd1d74d}.random-btn.copy[data-v-57003394]:disabled{opacity:.4;cursor:default}.lightfall-container[data-v-86b56421]{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.app[data-v-b826e7a9]{min-height:100vh;position:relative}.container[data-v-b826e7a9]{z-index:1;max-width:960px;margin:0 auto;padding:0 24px;position:relative}.controls[data-v-b826e7a9]{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.controls-top[data-v-b826e7a9]{align-items:center;gap:10px;display:flex}.controls-top[data-v-b826e7a9] .search-bar{flex:1}.random-btn[data-v-b826e7a9]{color:var(--color-bg);background:linear-gradient(135deg, var(--color-primary), #ff9aad);white-space:nowrap;border-radius:22px;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .25s;display:flex}.random-btn[data-v-b826e7a9]:hover{transform:scale(1.03);box-shadow:0 4px 16px #fdd1d74d}@media (width<=640px){.container[data-v-b826e7a9]{padding:0 16px}.controls-top[data-v-b826e7a9]{flex-direction:column;gap:8px}.random-btn[data-v-b826e7a9]{justify-content:center;align-self:stretch;padding:10px}}
