.ranking-page{max-width:760px;margin:0 auto 4em;padding:0 1em}.ranking-kind-tabs{display:flex;gap:0.5em;margin-bottom:1.2em;border-bottom:2px solid #e8c99a;padding-bottom:0}.ranking-kind-tab{display:inline-flex;align-items:center;gap:0.4em;padding:0.55em 1.3em;font-size:0.92em;font-weight:600;color:#7a5c3a;text-decoration:none;border-radius:8px 8px 0 0;border:1px solid transparent;border-bottom:none;margin-bottom:-2px;transition:color 0.15s, background 0.15s}.ranking-kind-tab:hover{color:#d98e04;background:rgba(217,142,4,0.06)}.ranking-kind-tab--active{color:#d98e04;background:#fffaf5;border-color:#e8c99a;border-bottom-color:#fffaf5}.ranking-desc{font-size:0.85em;color:#7a5c3a;margin:0 0 1.2em;text-align:center}.ranking-filter{background-color:#fffaf5;border:1px solid #e8c99a;border-radius:12px;padding:0.9em 1.1em;margin-bottom:1.4em;display:flex;flex-direction:column;gap:0.8em;box-shadow:0 1px 6px rgba(44,24,16,0.06)}.ranking-filter-row{display:flex;align-items:flex-start;gap:0.7em}.ranking-filter-label{flex-shrink:0;font-size:0.75em;font-weight:700;color:#7a5c3a;letter-spacing:0.04em;padding-top:0.45em;min-width:2.5em}.ranking-tabs{display:flex;flex-wrap:wrap;gap:0.4em}.ranking-tabs--region .ranking-tab{font-size:0.78em;padding:0.32em 0.85em}.ranking-tab{display:inline-block;padding:0.38em 1.1em;border:1.5px solid #d98e04;border-radius:20px;font-size:0.83em;font-weight:600;color:#d98e04;text-decoration:none;transition:background-color 0.15s, color 0.15s;white-space:nowrap}.ranking-tab:hover{background-color:rgba(217,142,4,0.1)}.ranking-tab--active{background-color:#d98e04;color:#fff}.ranking-tab--active:hover{background-color:#d98e04}.ranking-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5em}.ranking-item{display:flex;align-items:center;gap:0.8em;padding:0.85em 1em;background-color:#fffaf5;border:1px solid #e8c99a;border-radius:10px;box-shadow:0 1px 4px rgba(44,24,16,0.06);transition:box-shadow 0.18s, transform 0.15s}.ranking-item:hover{box-shadow:0 3px 10px rgba(44,24,16,0.12);transform:translateY(-1px)}.ranking-item--top1{border-color:#d4a017;background:linear-gradient(135deg, #fffbf0 0%, #fffaf5 100%)}.ranking-item--top2{border-color:#9ea7ad;background:linear-gradient(135deg, #f8f9fa 0%, #fffaf5 100%)}.ranking-item--top3{border-color:#b86f3a;background:linear-gradient(135deg, #fff8f4 0%, #fffaf5 100%)}.ranking-body--has-thumb{display:flex;align-items:flex-start;gap:0.8em}.ranking-text{flex:1;min-width:0}.ranking-thumb-link{display:block;flex-shrink:0;width:110px}.ranking-thumb-link:hover{opacity:0.88}.ranking-thumb{width:100%;height:auto;max-height:140px;-o-object-fit:contain;object-fit:contain;background:transparent;border-radius:6px;display:block}@media (max-width: 600px){.ranking-body--has-thumb{flex-direction:column}.ranking-thumb-link{width:100%}.ranking-thumb{max-height:180px}}.ranking-rank{flex-shrink:0;width:2em;text-align:center;font-size:1em;font-weight:700;color:#7a5c3a}.ranking-body{flex:1;min-width:0}.ranking-title-row{display:flex;align-items:center;gap:0.4em;margin-bottom:0.3em;flex-wrap:wrap}.ranking-type-badge{display:inline-flex;width:1.4em;height:1.4em;align-items:center;justify-content:center;border-radius:50%;font-size:0.68em;font-weight:700;flex-shrink:0}.ranking-type-badge.badge--student{background-color:#3b82f6;color:#fff}.ranking-type-badge.badge--social{background-color:#d98e04;color:#fff}.ranking-concert-name{font-size:0.95em;font-weight:700;word-break:break-all}.ranking-concert-name a{color:#2c1810;text-decoration:none}.ranking-concert-name a:hover{color:#d98e04;text-decoration:underline}.ranking-meta{display:flex;flex-wrap:wrap;gap:0.2em 1em;font-size:0.78em;color:#7a5c3a}.ranking-date,.ranking-pref,.ranking-group{display:inline-flex;align-items:center;gap:0.2em}.ranking-date a,.ranking-pref a,.ranking-group a{color:#7a5c3a;text-decoration:none}.ranking-date a:hover,.ranking-pref a:hover,.ranking-group a:hover{color:#d98e04}.ranking-views{flex-shrink:0;display:flex;align-items:baseline;gap:0.15em;color:#7a5c3a;font-size:0.82em;white-space:nowrap}.ranking-views i{font-size:0.9em}.ranking-views-num{font-size:1.2em;font-weight:700;color:#d98e04}.ranking-empty{text-align:center;padding:3em 1em;color:#7a5c3a}.ranking-empty i{font-size:2.5em;display:block;margin-bottom:0.4em;color:#e8c99a}.ranking-empty p{font-size:0.95em}@media (max-width: 480px){.ranking-item{padding:0.7em 0.7em;gap:0.5em}.ranking-meta{gap:0.15em 0.6em}.ranking-views-num{font-size:1.1em}}
