.favorites-ranking-page .container{width:100%;max-width:499px;margin:0 auto;padding:0 1rem}.favorites-ranking-page .hero{padding:2rem 0 1rem;background:#fff;text-align:center}.favorites-ranking-page .hero-title{margin-bottom:.5rem;color:#000;font-size:24px;font-weight:800;line-height:1.4}.favorites-ranking-page .hero-description{color:#666;font-size:1rem;line-height:1.6}.favorites-ranking-page .error-section{padding:.5rem 0}.favorites-ranking-page .alert{padding:1rem;border-radius:8px}.favorites-ranking-page .alert-error{border:1px solid rgba(220,38,38,.2);background:#f8d7da;color:#dc2626;font-size:.9rem}.favorites-ranking-page .filters-section{padding:1rem 0 2rem;border-bottom:none;background:#fff}.favorites-ranking-page .filters-section .container{max-width:499px}.favorites-ranking-page .filters-section .filters-form{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:1rem;padding:1rem;border:1px solid #e9ecef;border-radius:16px;background:#fff;box-shadow:0 4px 15px #0000000d}.favorites-ranking-page .filters-section .filter-group{display:flex;flex-direction:column;gap:.5rem;width:100%;min-width:0}.favorites-ranking-page .filters-section .filter-group .filter-label{color:#000;font-size:1rem;font-weight:600}.favorites-ranking-page .filters-section .filter-group .filter-select{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:1rem;cursor:pointer;transition:border-color .2s ease}.favorites-ranking-page .filters-section .filter-group .filter-select:focus{border-color:#0bf;outline:none;box-shadow:0 0 0 3px #00bbff1a}.favorites-ranking-page .filters-section .filter-actions{display:flex;align-items:stretch;gap:.75rem;margin-left:0}.favorites-ranking-page .btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .2s ease}.favorites-ranking-page .btn-primary{background:#0bf;color:#fff}.favorites-ranking-page .btn-primary:hover{background:#09c}.favorites-ranking-page .btn-outline{border:1px solid #d1d5db;background:#fff;color:#000}.favorites-ranking-page .btn-outline:hover{border-color:#0bf;color:#0bf}.favorites-ranking-page .btn-sm{padding:.4rem .85rem;font-size:.875rem}.favorites-ranking-page .filter-actions .btn{flex:1}.favorites-ranking-page .section-title{margin-bottom:1rem;color:#000;font-size:24px;font-weight:700;text-align:center}.favorites-ranking-page .top-ranking{padding:2rem 0;background:#f8fafc}.favorites-ranking-page .top-three-grid{display:flex;flex-direction:column;gap:1rem}.favorites-ranking-page .top-card{padding:1.5rem 1rem;border:1px solid rgba(226,232,240,.8);border-top:4px solid transparent;border-radius:16px;background:#fff;text-align:center;box-shadow:0 4px 15px #0000000d}.favorites-ranking-page .top-card.rank-1{border-top-color:gold;background:linear-gradient(180deg,#fff9e6,#fff 60%)}.favorites-ranking-page .top-card.rank-2{border-top-color:silver;background:linear-gradient(180deg,#f5f5f5,#fff 60%)}.favorites-ranking-page .top-card.rank-3{border-top-color:#cd7f32;background:linear-gradient(180deg,#fef3e8,#fff 60%)}.favorites-ranking-page .rank-medal{margin-bottom:.5rem;font-size:2.5rem}.favorites-ranking-page .rank-position{margin-bottom:.5rem;color:#000;font-size:1.25rem;font-weight:800}.favorites-ranking-page .station-name{margin-bottom:.25rem;color:#000;font-size:1.1rem;font-weight:700;line-height:1.3}.favorites-ranking-page .station-address,.favorites-ranking-page .station-brand{margin-bottom:.25rem;color:#666;font-size:.875rem}.favorites-ranking-page .favorite-count{margin:.75rem 0;color:#ef4444;font-size:1rem;font-weight:700}.favorites-ranking-page .remaining-ranking{padding:2rem 0;background:#fff}.favorites-ranking-page .ranking-list{display:flex;flex-direction:column;gap:1rem}.favorites-ranking-page .ranking-item{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid rgba(226,232,240,.8);border-radius:12px;background:#fff;transition:all .2s ease}.favorites-ranking-page .ranking-item:hover{border-color:#00bbff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.favorites-ranking-page .rank-badge{flex-shrink:0;min-width:52px;padding:.4rem .75rem;border-radius:999px;background:#0bf;color:#fff;font-size:.875rem;font-weight:800;text-align:center}.favorites-ranking-page .station-info{flex:1;min-width:0;text-align:left}.favorites-ranking-page .station-info .station-name{margin-bottom:.25rem}.favorites-ranking-page .station-details{color:#666;font-size:.8rem;line-height:1.4}.favorites-ranking-page .station-details .address{display:block}.favorites-ranking-page .station-details .brand{display:inline-block;margin-top:.15rem}.favorites-ranking-page .ranking-item .favorite-count{flex-shrink:0;margin:0;font-size:.9rem}.favorites-ranking-page .statistics-section{padding:2rem 0 3rem;background:#f8fafc}.favorites-ranking-page .stats-grid{display:flex;flex-direction:column;gap:1rem}.favorites-ranking-page .stats-card{padding:1.25rem;border:1px solid rgba(226,232,240,.8);border-radius:16px;background:#fff;box-shadow:0 4px 15px #0000000d}.favorites-ranking-page .stats-title{margin-bottom:1rem;color:#000;font-size:1.1rem;font-weight:700}.favorites-ranking-page .stats-list{display:flex;flex-direction:column;gap:.75rem}.favorites-ranking-page .stats-item{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.favorites-ranking-page .stats-item:last-child{padding-bottom:0;border-bottom:none}.favorites-ranking-page .stats-label{color:#000;font-size:.9rem;font-weight:600}.favorites-ranking-page .stats-value{margin-left:auto;color:#666;font-size:.85rem}.favorites-ranking-page .empty-state{padding:4rem 0;text-align:center}.favorites-ranking-page .empty-icon{margin-bottom:1rem;font-size:3rem;opacity:.8}.favorites-ranking-page .empty-title{margin-bottom:.5rem;color:#000;font-size:1.25rem;font-weight:700}.favorites-ranking-page .empty-text{margin-bottom:1.5rem;color:#666;font-size:1rem;line-height:1.6}
