:root{--bg: #eeeef1;--surface: #ffffff;--surface-raised: #eceef2;--border: #e3e4e9;--text: #16171b;--text-strong: #000000;--text-secondary: #4a4a52;--muted: #9a9da8;--accent: #6a4fd6;--accent-dim: rgba(106, 79, 214, .12);--anime: #d1527a;--vocaloid: #1f9e94;--jpop: #b8860b;--drama: #3d7fd9;--other: #6a6d85;--anime-dim: rgba(209, 82, 122, .12);--vocaloid-dim: rgba(31, 158, 148, .12);--jpop-dim: rgba(184, 134, 11, .12);--drama-dim: rgba(61, 127, 217, .12);--other-dim: rgba(106, 109, 133, .12);--accent-faint: rgba(106, 79, 214, .08);--text-on-accent: #ffffff;--text-tertiary: #6a6d78;--text-faint: #b0b3bc;--text-fainter: #c4c5cc;--hairline: #f0f0f3;--hairline-weak: #f4f4f6;--surface-input: #f7f7f9;--tj: #6a4fd6;--tj-dim: #eef0fd;--ky: #2fa89a;--ky-dim: #eafbf7;--cat-anime: #fdeef2;--cat-artist: #eef0fd;--cat-vocaloid: #eafaf1;--banner-from: #f4f1ff;--banner-to: #fdf1f7;--banner-border: #ece7fb;--banner-text: #7a7690;--banner-arrow: #a89bcf;--surface-hover: #f7f7f9;--accent-hover: #7d63e0;--ky-faint: #cdf0e4;--text-soft: #8a8d99;--accent-deep: #5b42c4;--accent-light: #a594ff;--accent-tint: rgba(106, 79, 214, .05);--border-strong: #d0d2da;--danger: #d1527a;--danger-dim: rgba(209, 82, 122, .12);--danger-border: rgba(209, 82, 122, .3);--warn: #b8860b;--warn-dim: rgba(184, 134, 11, .12);--warn-border: rgba(184, 134, 11, .28);--shadow-soft: var(--shadow-soft);--shadow-strong: var(--shadow-strong);--overlay: var(--overlay);--find: #6a4fd6;--discover: #cf5f86;--set: #1f8f7e;--type-label: .6875rem;--weight-label: 700;--leading-label: 1.25;--tracking-label: .08em;--type-meta: .8125rem;--weight-meta: 500;--leading-meta: 1.4;--type-body: 1rem;--weight-body: 500;--leading-body: 1.5;--tracking-body: -.005em;--type-title: 1.125rem;--weight-title: 700;--leading-title: 1.3;--tracking-title: -.02em;--type-display: 1.5rem;--weight-display: 800;--leading-display: 1.1;--tracking-display: .015em}*{box-sizing:border-box;margin:0;padding:0}a{text-decoration:none;color:inherit}button{touch-action:manipulation}body{background:var(--bg);color:var(--text);font-family:-apple-system,Noto Sans KR,sans-serif;min-height:100dvh}#app{max-width:680px;margin:0 auto;padding:0 0 100px;background:var(--surface);min-height:100dvh}header{margin-bottom:12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:18px 20px 0}header h1{font-size:var(--type-title);font-weight:var(--weight-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title);flex-shrink:0}.header-sub{color:var(--muted);font-size:var(--type-meta);font-weight:var(--weight-meta);line-height:var(--leading-meta)}.header-sub a{color:var(--muted);text-decoration:none}.header-sub a:hover{color:var(--text)}.site-header{display:block;padding:18px 20px 14px;margin-bottom:0}.wordmark-row{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:32px}.logo-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;line-height:0}.logo-img{height:19px;display:block}.brand-toggle{display:flex;gap:2px;background:var(--surface-raised);border-radius:20px;padding:3px;font-size:12px;font-weight:700}.brand-toggle-btn{border:none;background:transparent;padding:6px 12px;border-radius:18px;cursor:pointer;color:var(--muted);font:inherit;font-size:12px;font-weight:700}.brand-toggle-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px var(--shadow-soft)}.header-setlist-btn{position:relative;display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:18px;background:var(--surface-raised);color:var(--text);text-decoration:none;font-size:14px;flex-shrink:0;transition:background .15s}.header-setlist-btn:hover{background:var(--border)}.header-setlist-label{font-size:.78rem;font-weight:700}.header-setlist-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #6a4fd666}.header-setlist-badge{position:absolute;top:-4px;right:-4px;background:var(--anime);color:var(--text-on-accent);font-size:.58rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}.header-setlist-badge[hidden]{display:none}.scope-tabs{display:flex;gap:8px;justify-content:center}.scope-tab{border:1.5px solid var(--border);background:var(--surface);border-radius:18px;padding:6px 14px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}.scope-tab.active{border-color:var(--text);color:var(--text)}.site-header h1{font-size:19px;font-weight:800;flex-shrink:0}.brand-cycle{margin-top:4px;font-size:var(--type-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label)}.brand-cycle i{margin:0 6px;color:var(--muted);font-style:normal}.brand-cycle__find{color:var(--find)}.brand-cycle__discover{color:var(--discover)}.brand-cycle__set{color:var(--set)}.search-sticky{position:sticky;top:0;z-index:50;background:var(--surface)}.cta-link{flex-shrink:0;padding:8px 14px;border-radius:10px;border:1.5px solid var(--accent);color:var(--accent);font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.cta-link:hover{background:var(--accent);color:var(--text-on-accent)}.search-wrap{position:relative;margin-bottom:16px;padding:0 20px}#search-input{width:100%;height:50px;padding:0 44px 0 16px;background:var(--surface-input);border:1.5px solid var(--border);border-radius:14px;color:var(--text);font-size:var(--type-body);font-weight:var(--weight-body);letter-spacing:var(--tracking-body);outline:none}#search-input:focus{border-color:var(--accent);background:var(--surface)}#search-input::placeholder{color:var(--muted)}#search-input::-webkit-search-cancel-button{display:none}#search-clear{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:4px 6px}#search-clear:hover{color:var(--text)}.filter-row{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px 20px;padding:0 16px}.filter-row::-webkit-scrollbar{display:none}.genre-filters,.brand-filters{display:flex;gap:6px;flex-wrap:nowrap;flex-shrink:0}.tag,.brand{flex-shrink:0;white-space:nowrap;padding:6px 12px;border-radius:20px;border:1.5px solid var(--border);background:transparent;color:var(--muted);font-size:var(--type-meta);font-weight:var(--weight-meta);line-height:var(--leading-meta);cursor:pointer;transition:all .15s}.tag.active,.brand.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.tag[data-genre=anime].active{border-color:var(--anime);background:var(--anime-dim)}.tag[data-genre=vocaloid].active{border-color:var(--vocaloid);background:var(--vocaloid-dim)}.tag[data-genre=jpop].active{border-color:var(--jpop);background:var(--jpop-dim)}.tag[data-genre=drama].active{border-color:var(--drama);background:var(--drama-dim)}.home-about{margin-top:8px;padding:16px 20px 0;border-top:1px solid var(--bg)}.home-about h2{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.home-about p{font-size:12px;line-height:1.7;color:var(--muted)}.home-about a{color:var(--accent)}.footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--bg);display:flex;flex-direction:column;gap:3px}.footer strong{font-size:13px;font-weight:800;color:var(--text-tertiary)}.footer span{font-size:11px;color:var(--text-faint)}.footer small{font-size:10px;color:var(--text-fainter);margin-top:6px}.footer small a{color:var(--muted);text-decoration:underline}.row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hairline);cursor:pointer}.row .thumb{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);font-weight:800;font-size:15px;flex-shrink:0}.row .meta{min-width:0}.row .t{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .pron{font-size:11.5px;color:var(--accent);font-weight:600;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .a{font-size:11px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .pron-inline{color:var(--muted)}.row .num-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.row .num b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}.row .num small{display:block;font-size:9px;font-weight:800;color:var(--muted)}.row .song-tags{display:flex;gap:4px}.row .suggest-btn{width:26px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;font-size:13px}.eyebrow{font-size:var(--type-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);margin-bottom:4px}.eyebrow--find{color:var(--find)}.eyebrow--discover{color:var(--discover)}.eyebrow--set{color:var(--set)}.result-intro{font-size:var(--type-body);font-weight:var(--weight-body);color:var(--text-secondary)}.result-intro strong{color:var(--text-strong);font-weight:800}.brand-cycle-inline{display:block;margin-top:2px;font-size:var(--type-meta);font-weight:var(--weight-meta);color:var(--muted)}.section-label{font-size:var(--type-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);color:var(--discover)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:15px;font-weight:800;margin:0}.section-head a{font-size:12px;color:var(--accent);font-weight:700}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cat-tile{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text);text-decoration:none;border:none;background:none;padding:0;width:100%;font:inherit;cursor:pointer}.cat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;transition:box-shadow .15s}.cat-tile span{font-size:var(--type-label);font-weight:700;color:var(--text-secondary)}.cat-icon--anime{background:var(--cat-anime)}.cat-icon--artist{background:var(--cat-artist)}.cat-icon--vocaloid{background:var(--cat-vocaloid)}.cat-tile.active .cat-icon{box-shadow:0 0 0 2px var(--accent) inset}.discover-empty{color:var(--muted);font-size:var(--type-meta);padding:8px 0 4px}.discover-expand{margin-top:14px}.curated-tile-grid{display:flex;flex-direction:column;gap:8px}.curated-tile{display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;width:100%;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s}.curated-tile:hover{border-color:var(--accent)}.curated-tile .card-name-group{display:flex;flex-direction:column;gap:2px;min-width:0}.curated-tile .card-name{font-size:.92rem;font-weight:600;color:var(--text)}.curated-tile .card-name-sub{font-size:.72rem;color:var(--muted)}.curated-tile .card-count{font-size:.72rem;color:var(--muted);flex-shrink:0}.report-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,var(--banner-from),var(--banner-to));border:1px solid var(--banner-border);color:var(--text);text-decoration:none}.report-banner span{display:block;font-size:12px;color:var(--banner-text);margin-top:2px}.report-banner .arrow{margin-left:auto;color:var(--banner-arrow)}.stat-card .icon svg{width:18px;height:18px;margin:0 auto;color:var(--accent)}.stat-card span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.song-card{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline)}.song-card .song-tags{flex-basis:100%}.song-card[data-song-id]{cursor:pointer}.song-avatar{width:42px;height:42px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);font-weight:800;font-size:15px}.new-badge{display:inline-block;font-size:9px;font-weight:800;color:var(--text-on-accent);background:var(--accent);padding:1px 6px;border-radius:6px;margin-left:6px;vertical-align:middle}.new-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--hairline-weak);cursor:pointer}.new-row .t{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}.new-row .t .t-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.new-row .new-badge{flex-shrink:0}.new-row .t-ko{font-size:11.5px;color:var(--accent);font-weight:600;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-row .a{font-size:11px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-row .date{font-size:11px;color:var(--text-fainter);flex-shrink:0}.song-date{font-size:var(--type-label);color:var(--muted)}.song-title{font-size:var(--type-title);font-weight:var(--weight-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}.song-card .song-title{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card .song-title-pron{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card .song-artist{font-size:11px;font-weight:500;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card .song-artist-pron{font-size:11px}.song-title-link{display:block;color:inherit;text-decoration:none}.song-title-link:hover .song-title,.song-title-link:focus-visible .song-title{color:var(--accent);text-decoration:underline}.song-title-pron{font-size:var(--type-meta);color:var(--muted);margin-top:2px;line-height:var(--leading-meta)}.song-artist{font-size:var(--type-body);font-weight:var(--weight-body);color:var(--text-secondary);margin-top:4px}.song-artist-pron{font-size:var(--type-meta);color:var(--muted)}.song-numbers{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.song-number{display:flex;flex-direction:column;align-items:center;padding:7px 12px;border-radius:10px;min-width:78px;text-align:center}.song-number .label{font-size:var(--type-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);opacity:.85;margin-bottom:1px}.song-number .val{font-size:var(--type-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.song-number.tj{background:var(--tj-dim);color:var(--tj)}.song-number.ky{background:var(--ky-dim);color:var(--ky)}.song-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;grid-column:1 / -1}.genre-tag{font-size:.68rem;padding:2px 7px;border-radius:8px;font-weight:600}.genre-tag.anime{background:var(--anime-dim);color:var(--anime)}.genre-tag.vocaloid{background:var(--vocaloid-dim);color:var(--vocaloid)}.genre-tag.jpop{background:var(--jpop-dim);color:var(--jpop)}.genre-tag.drama{background:var(--drama-dim);color:var(--drama)}.genre-tag.vtuber,.genre-tag.other{background:var(--other-dim);color:var(--other)}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state .icon{font-size:2rem;margin-bottom:12px}.empty-state .icon svg{width:30px;height:30px;margin:0 auto;color:var(--muted)}.empty-state p{font-size:.9rem}.new-songs-banner[hidden]{display:none!important}.new-songs-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;text-decoration:none;color:var(--text);transition:border-color .15s,background .15s}.new-songs-banner:hover{border-color:var(--accent);background:var(--accent-dim)}.banner-left{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}.banner-emoji{font-size:1rem}.banner-right{display:flex;align-items:center;gap:8px;font-size:.88rem}.banner-count{font-weight:700;color:var(--accent)}.banner-arrow{color:var(--muted)}.tag-new.active{border-color:var(--jpop)!important;background:var(--jpop-dim)!important;color:var(--text)!important}.new-songs-section-header{font-size:.82rem;color:var(--muted);margin-top:22px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.new-songs-section-header a{color:var(--accent);text-decoration:none;font-size:.78rem}.new-songs-section-header a:hover{text-decoration:underline}.retry-btn{margin-top:16px;padding:8px 20px;border-radius:10px;border:1.5px solid var(--accent);background:var(--accent-dim);color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.retry-btn:hover{background:var(--accent);color:var(--text-on-accent)}.prev-suggestion{font-size:.75rem;padding:6px 10px;border-radius:8px;background:var(--accent-faint);border:1px solid var(--border);color:var(--muted);margin-bottom:4px}.suggest-btn{margin-left:auto;font-size:.68rem;padding:2px 8px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s;font-family:inherit}.suggest-btn:hover{color:var(--text);border-color:var(--accent);background:var(--accent-dim)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay[hidden]{display:none}.modal{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;max-height:90dvh;overflow-y:auto}.modal h3{font-size:1.05rem;font-weight:700;margin-bottom:4px}.modal-song-info{padding:12px 14px;background:#00000008;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;line-height:1.4;word-break:break-word;display:flex;flex-direction:column;gap:4px}.modal-song-info .info-title{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.3}.modal-song-info .info-artist{font-size:.82rem;color:var(--muted)}.modal-song-info .info-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}.modal-song-info .info-num{font-size:.76rem;font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.modal-song-info .info-num-label{font-size:.68rem;font-weight:400;color:var(--muted);margin-right:3px}.modal-song-info .info-pron{font-size:.76rem;color:var(--muted);margin-top:2px}.modal-song-info .info-pron-label{display:inline-block;min-width:76px;color:var(--muted);opacity:.7;font-size:.7rem;margin-right:6px}.form-hint{font-size:.74rem;color:var(--muted);line-height:1.45;margin-top:6px;padding:6px 10px;background:var(--accent-dim);border-radius:8px}.form-hint strong{color:var(--text);font-weight:600}.form-grid{display:flex;flex-direction:column;gap:6px;margin-top:4px}.form-grid label{margin-top:8px}.field-changed{border-color:var(--accent)!important;background:var(--accent-dim)!important}.modal label{font-size:.78rem;color:var(--muted);margin-top:4px}.modal select,.modal textarea,.modal input[type=text],.modal input:not([type]){width:100%;padding:10px 12px;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s}.modal textarea{resize:vertical;min-height:80px;line-height:1.4}.modal select:focus,.modal textarea:focus,.modal input:focus{border-color:var(--accent)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.btn-primary,.btn-secondary{padding:9px 18px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);font-family:inherit;transition:all .15s}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--muted)}.btn-secondary:hover{color:var(--text);border-color:var(--muted)}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--accent);color:var(--text);padding:10px 18px;border-radius:24px;font-size:.85rem;box-shadow:0 6px 24px var(--shadow-strong);z-index:200;animation:toast-in .2s ease-out}.toast[hidden]{display:none}.toast.toast-error{border-color:var(--anime)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.tab-bar{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;height:64px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:stretch;z-index:100;padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;position:relative;transition:color .15s;padding:0}.tab-item:hover{color:var(--text)}.tab-active,.tab-item.tab-active{color:var(--accent)}.tab-icon{font-size:1.2rem;line-height:1}.tab-icon svg{width:20px;height:20px;display:block}.tab-label{font-size:.65rem;font-weight:500;line-height:1}.tab-badge{position:absolute;top:6px;right:calc(50% - 18px);background:var(--anime);color:var(--text-on-accent);font-size:.58rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}.tab-badge[hidden]{display:none}.page,#app{min-height:100vh;background:#fff;color:#16171b;max-width:560px;margin:0 auto;padding-bottom:100px}.app-header h1,h1{font-size:19px;font-weight:800;margin:0}.brand-toggle{display:flex;gap:2px;background:#eceef2;border-radius:20px;padding:3px;font-size:12px;font-weight:700}.brand-toggle button,.brand-toggle-btn{border:none;background:transparent;padding:6px 12px;border-radius:18px;cursor:pointer;color:#8a8d99;font:inherit;font-weight:700}.brand-toggle button[data-on],.brand-toggle-btn.active{background:#fff;color:#16171b;box-shadow:0 1px 3px #0000001f}.scope-tabs{display:flex;gap:8px;padding:0 20px 16px}.scope-tabs button,.scope-tab{border:1px solid #e3e4e9;background:#fff;border-radius:18px;padding:6px 14px;font-size:12.5px;font-weight:700;color:#8a8d99}.scope-tabs button[data-on],.scope-tab.active{border-color:#16171b;color:#16171b}.result-head,#result-count{padding:12px 20px 4px;font-size:13px;color:#6a6d78}.result-head strong,#result-count strong{color:#16171b}.result-head span,#result-count span{color:#9a9da8;font-weight:600}.results,#results{padding:4px 20px 0}.row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #f0f0f3}.row .thumb{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px}.row .t{font-size:15px;font-weight:700}.row .pron{font-size:12.5px;color:#6a4fd6;font-weight:600;margin-top:2px}.row .a{font-size:12px;color:#9a9da8;margin-top:3px}.row .pron-inline{color:#b8bac2}.row .num{text-align:right}.row .num b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.row .num small{display:block;font-size:9px;font-weight:800;color:#9a9da8}.section{padding:22px 20px 0}#results .section{padding-left:0;padding-right:0;margin-top:-4px}.new-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f4f4f6}.new-row .thumb{width:42px;height:42px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px}.new-row .t{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px}.new-row .a{font-size:11.5px;color:#9a9da8;margin-top:1px}.new-badge{font-size:9px;font-weight:800;color:#fff;background:#6a4fd6;padding:1px 6px;border-radius:6px}.new-row .date{font-size:11px;color:#c4c5cc;flex-shrink:0}.footer{margin-top:28px;padding:20px 20px 0;border-top:1px solid #eeeef1;display:flex;flex-direction:column;gap:3px}.footer strong{font-size:13px;font-weight:800;color:#6a6d78}.footer span{font-size:11px;color:#b0b3bc}.footer small{font-size:10px;color:#c4c5cc;margin-top:6px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{background:#fafafc;border:1px solid #ececf0;border-radius:14px;padding:14px 10px;text-align:center}.stat-card .icon{font-size:18px;margin-bottom:6px}.stat-card b{display:block;font-size:17px;font-weight:800}.stat-card span{display:block;font-size:10px;color:#9a9da8;margin-top:2px}.report-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#f4f1ff,#fdf1f7);border:1px solid #ece7fb}.report-banner .emoji{font-size:26px}.report-banner strong{display:block;font-size:14px;font-weight:800}.report-banner span{display:block;font-size:12px;color:#7a7690;margin-top:2px}.report-banner .arrow{margin-left:auto;color:#a89bcf}.about-section,.home-about{margin-top:8px;padding-top:16px;border-top:1px solid #eeeef1}.about-section p,.home-about p{font-size:12px;line-height:1.7;color:#9a9da8}.cat-icon svg{width:24px;height:24px}.cat-icon--anime svg{color:var(--anime)}.cat-icon--artist svg{color:var(--accent)}.cat-icon--vocaloid svg{color:var(--vocaloid)}.report-banner .emoji svg{width:24px;height:24px;color:var(--accent);display:block}.suggest-btn svg{width:13px;height:13px;vertical-align:-2px}.icon-btn svg{width:15px;height:15px;display:block;margin:0 auto}.month-share-btn svg{width:16px;height:16px;display:block;margin:0 auto}.root-header{position:relative;min-height:51px;padding:18px 20px 14px;margin-bottom:12px;display:block}.song-nums-sm{display:flex;flex-direction:column;gap:2px;align-items:flex-end;flex-shrink:0}.num-sm{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.num-sm.tj{color:var(--tj)}.num-sm.ky{color:var(--ky)}.row{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer}.row:hover{border-color:var(--border-strong)}.row .meta{flex:1;min-width:0}.row .t{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .pron{font-size:11.5px;color:var(--accent);font-weight:600;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .a{font-size:11px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .num-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.row .song-tags{display:flex;gap:6px}.new-row{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer}.new-row:hover{border-color:var(--border-strong)}.new-row .t{font-size:13px}.new-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.new-row .date{font-size:10.5px;color:var(--text-fainter)}.song-card{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.song-card .song-title{font-size:13px}.song-card .song-title-pron{font-size:11.5px;color:var(--accent);font-weight:600}.song-card .song-artist{font-size:11px;color:var(--muted)}.like-btn{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--muted);cursor:pointer;padding:0}.like-btn svg{width:18px;height:18px}.like-btn:hover,.like-btn.liked{color:var(--anime)}.like-btn.liked svg{fill:currentColor}.row .meta,.new-row>div:first-child,.song-card>div:first-child,.sl-song-info,.like-info,.song-row-main{min-height:53px;display:flex;flex-direction:column;justify-content:center}.tab-bar:after{content:"";position:absolute;top:100%;left:0;right:0;height:120px;background:var(--surface)}@view-transition{navigation: auto;}.tab-bar{view-transition-name:tab-bar}.popular-head{display:flex;align-items:baseline;gap:8px}.popular-head .popular-sub{font-size:.74rem;color:var(--text-fainter)}.popular-row .popular-rank{width:18px;flex-shrink:0;text-align:center;font-size:15px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.popular-head a{margin-left:auto}.popular-rank,.pop-rank{display:flex;flex-direction:column;align-items:center;line-height:1.1}.rank-chg{font-size:9.5px;font-weight:700;margin-top:2px;letter-spacing:-.2px;font-variant-numeric:tabular-nums}.rank-up{color:#e0445a}.rank-down{color:#3b7bd6}.rank-same{color:var(--text-tertiary);font-size:12px;font-weight:800;line-height:1}.rank-new{color:var(--accent);font-size:8.5px}
