:root{font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#27212a;background:#fbfafb;font-synthesis:none;--accent:#e94c9c;--accent-dark:#ca297c;--border:#e8e5e9;--sub:#807985;--surface:#fff;--soft:#fff0f7;--shadow:0 7px 30px rgba(42,23,36,.035)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:14px;line-height:1.55}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.wrap{max-width:1060px;padding:0 24px;margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.site-header{height:70px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{display:grid;place-items:center;color:#fff;background:var(--accent);width:35px;height:35px;border-radius:11px;font-size:22px}.brand>div{display:flex;flex-direction:column;line-height:1.3}.brand strong{font-size:14px;letter-spacing:.045em}.brand span:last-child{font-size:11px;color:var(--sub)}.header-link{font-size:12px;color:#655c68;text-decoration:none}.header-link:hover{color:var(--accent)}
.page-intro{padding:52px 0 27px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:750;color:var(--accent)}h1{font-size:32px;letter-spacing:-.065em;line-height:1.3;margin:9px 0 12px;font-weight:750}.page-intro>p{color:#6f6874;margin:0}.intro-stats{display:flex;flex-wrap:wrap;gap:17px;margin-top:22px;color:#857d87;font-size:12px}.intro-stats strong{color:#373039;font-size:14px;margin-right:2px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.guide{padding:26px 29px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.section-heading h2{font-size:17px;letter-spacing:-.045em;margin:0}.mini-tag{border-radius:5px;color:var(--accent-dark);background:var(--soft);padding:2px 7px;font-size:11px;font-weight:650}.guide>p{margin:0;color:#6d6570;font-size:13px;line-height:1.8}.guide>p strong{color:#342a34}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.guide-item{display:flex;align-items:flex-start;gap:10px;background:#fbf9fb;border:1px solid #f0ebf0;border-radius:9px;padding:14px 11px}.guide-icon{flex-shrink:0;display:grid;place-items:center;border-radius:7px;background:#ffe9f3;color:var(--accent-dark);width:27px;height:27px;font-size:16px;font-weight:700}.guide-item div{display:flex;flex-direction:column;gap:4px}.guide-item strong{font-size:12px;color:#3e3340}.guide-item div>span{font-size:11px;color:#89808b;line-height:1.6}.constant-disclosure{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.constant-disclosure summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;font-weight:650;font-size:13px;color:#49404b;padding:2px 0}.constant-disclosure summary::-webkit-details-marker{display:none}.details-icon{color:#8a7985;transition:transform .18s}.constant-disclosure[open] .details-icon{transform:rotate(180deg)}.constants-description{margin:15px 0 10px;font-size:12px;color:var(--sub)}.constants-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.constant-tile{background:#faf9fa;border:1px solid #efeaee;border-radius:8px;text-align:center;padding:9px 2px}.constant-tile strong{display:block;font-size:13px}.constant-tile span{font-size:11px;color:#928893}.sheet-link{display:inline-block;color:var(--accent-dark);margin-top:13px;font-size:12px;text-decoration:none}.sheet-link:hover{text-decoration:underline}
.vote-section{padding:43px 0 125px}.section-title-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px}.section-title-bar h2{margin:0 0 3px;letter-spacing:-.04em;font-size:20px}.section-title-bar p{margin:0;color:var(--sub);font-size:12px}.section-count{font-size:12px;color:#8b818d;white-space:nowrap;padding-top:8px}.toolbar{display:flex;gap:10px;padding:14px;margin-bottom:17px;box-shadow:none}.search-field{flex:1 1 270px;min-width:150px;position:relative}.search-field input{padding:0 13px 0 36px;width:100%;height:40px;border:1px solid var(--border);outline:0;border-radius:8px;background:#fff}.search-icon{position:absolute;left:12px;top:5px;font-size:23px;color:#b5acb5}.select-field{flex:0 1 153px;min-width:0}.select-field select{width:100%;height:40px;background:#fff;color:#514a53;border:1px solid var(--border);padding:0 10px;border-radius:8px;outline:0}.search-field input:focus,.select-field select:focus,.vote-select:focus{border-color:#e46aa9;box-shadow:0 0 0 3px #fce5ef}.column-labels{display:grid;grid-template-columns:minmax(0,1fr) 150px 265px;gap:12px;padding:0 20px 10px;color:#96909a;font-size:11px;font-weight:650}.column-labels span:nth-child(2){text-align:center}.column-labels span:last-child{text-align:center}
.song-list{display:grid;gap:9px}.song-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 265px;gap:12px;align-items:center;min-height:93px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:14px 19px;transition:border-color .12s,box-shadow .12s}.song-row.is-voted{border-color:#efbdd6;background:#fffafd}.song-row:hover{box-shadow:0 4px 20px rgba(34,25,30,.04)}.song-left{display:flex;min-width:0;align-items:center;gap:13px}.song-cover{width:51px;height:51px;object-fit:cover;flex:none;border-radius:7px;background:#f1edf0}.no-cover{display:grid;place-items:center;color:#be9cad;font-size:22px}.song-ident{min-width:0}.song-title{font-size:13px;font-weight:700;color:#322933;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-artist{color:#8b818a;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-metadata{display:flex;gap:7px;align-items:center;margin-top:4px;font-size:10px;color:#a198a1}.star-pill{color:#a94577;background:#fff0f7;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:650}.current{display:flex;flex-direction:column;align-items:center;gap:3px}.current b{font-size:14px;color:#3a303c}.current span{font-size:11px;color:#99909c}.vote-controls{display:flex;align-items:center;gap:7px}.vote-select{min-width:0;flex:1 1 0;height:38px;padding:0 8px;border-radius:7px;outline:none;border:1px solid #e7e2e7;background:#fff;color:#3b3340;font-size:12px}.vote-select:disabled{background:#f7f5f6;color:#b2aab2}.clear-one{flex:none;width:28px;height:32px;border:none;background:transparent;color:#b4aab4;border-radius:6px;font-size:19px}.clear-one:hover{background:#fff0f7;color:var(--accent)}.clear-one:disabled{opacity:.35}.empty-view{text-align:center;padding:40px 10px;display:flex;flex-direction:column;gap:6px}.empty-view>span{font-size:12px;color:var(--sub)}.load-more{display:block;width:230px;margin:20px auto 0;padding:12px;border:1px solid #ddd3db;background:#fff;border-radius:9px;color:#655866;font-weight:650}.load-more:hover{border-color:var(--accent)}
.submit-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid #e8e3e8;box-shadow:0 -6px 24px rgba(43,26,36,.05);z-index:20;backdrop-filter:blur(10px)}.submit-inner{min-height:82px;display:flex;justify-content:space-between;gap:15px;align-items:center}.selection-summary{display:flex;flex-direction:column;gap:2px}.selection-summary strong{font-size:17px;color:#26202b}.selection-summary span{font-size:11px;color:#958b96}.dot-separator{padding:0 3px}.submit-actions{display:flex;align-items:center;gap:11px}.button-text{background:transparent;border:0;color:#827983;font-size:12px;padding:11px}.button-text:hover{color:#c3337e}.button-primary{display:flex;align-items:center;gap:12px;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:13px 23px;font-size:13px;font-weight:700}.button-primary:hover:not(:disabled){background:var(--accent-dark)}.button-primary:disabled{background:#dbcbd4}.toast{position:fixed;left:50%;bottom:98px;transform:translateX(-50%) translateY(9px);padding:12px 17px;border-radius:9px;color:#fff;background:#382836;box-shadow:0 12px 36px rgba(0,0,0,.17);font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50;max-width:min(90vw,520px);text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.page-footer{padding-bottom:28px;margin-top:-85px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#b2aab2;font-size:11px}
@media(max-width:800px){.guide-grid{grid-template-columns:1fr}.constants-grid{grid-template-columns:repeat(4,1fr)}.toolbar{flex-wrap:wrap}.search-field{flex:1 1 100%}.select-field{flex:1 1 0}.song-row,.column-labels{grid-template-columns:minmax(0,1fr) 110px 240px}.song-row{padding:13px 14px;gap:8px}.column-labels{gap:8px}.song-cover{width:43px;height:43px}}
@media(max-width:620px){.wrap{padding:0 15px}.site-header{height:63px}.page-intro{padding:35px 0 22px}h1{font-size:27px}.page-intro>p{font-size:13px}.guide{padding:20px 17px}.constants-grid{grid-template-columns:repeat(3,1fr)}.vote-section{padding-top:35px}.toolbar{padding:10px;gap:7px}.select-field{flex:1 1 30%;}.select-field select{padding:0 6px;font-size:11px}.column-labels{display:none}.song-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px}.song-left{grid-column:1;grid-row:1}.current{grid-column:2;grid-row:1;align-items:flex-end}.song-title{font-size:13px}.song-artist{font-size:11px}.vote-controls{grid-column:1 / -1;grid-row:2;background:#faf8fa;border-radius:7px;padding:7px}.vote-select{height:35px;font-size:12px}.section-title-bar h2{font-size:18px}.submit-inner{min-height:73px}.selection-summary strong{font-size:15px}.selection-summary span{font-size:10px}.submit-actions{gap:2px}.button-text{padding:10px 5px;font-size:11px}.button-primary{padding:12px 13px;font-size:12px}.page-footer{margin-top:-95px;padding-bottom:23px;font-size:10px}}
