.channel-analysis{min-height:100vh;background-color:#f8f9fa}.analysis-container{max-width:1200px;margin:0 auto;padding:0 1rem}.search-section{background-color:#f8f9fa;border-radius:12px;padding:2rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.channel-search-form{width:100%}.card-form{background:transparent;border:none;padding:0}.results-section{background-color:white;border-radius:12px;min-height:400px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.analysis-results{padding:2rem}.report-layout{color:#333}.report-header h2{color:#007bff;border-bottom:3px solid #007bff;padding-bottom:.5rem;display:inline-block;margin:0}.summary-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.summary-block{background:#f8f9fa;padding:1rem;border-radius:8px;text-align:center;border:1px solid #dee2e6}.summary-title{color:#6c757d;font-size:.85rem;margin-bottom:.5rem}.summary-value{color:#007bff;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.summary-desc{color:#6c757d;font-size:.8rem}.report-sections{margin-top:2rem}.report-section{background:white;margin-bottom:2rem}.report-section h3{color:#495057;margin-bottom:1rem;font-size:1.2rem;border-bottom:2px solid #007bff;padding-bottom:.5rem}.behavior-content,.demographics-content,.location-content,.multi-chart-area{display:flex;flex-direction:column;gap:1.5rem}.multi-chart-area{margin-bottom:1.5rem}.chart-item{background:#f8f9fa;padding:1rem;border-radius:8px;border:1px solid #dee2e6}.chart-item h4{color:#495057;margin-bottom:1rem;font-size:1rem;text-align:center}.integrated-analysis{background:#f8f9ff;padding:1.5rem;border-radius:8px;border:1px solid #e0e5ff}.analysis-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.analysis-insights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.recommended-genres-content{padding:0}.genres-list{display:flex;flex-direction:column;gap:0}.genre-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:2px solid #d1d5db;background-color:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;margin-bottom:.5rem}.genre-rank-header{min-width:2.5rem;text-align:center}.genre-name-header{flex:1;margin:0 1rem;text-align:left}.genre-affinity-header{min-width:6rem;text-align:right}.genre-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid #e5e7eb;transition:all .2s ease}.genre-item:hover{background-color:#f9fafb;padding-left:.5rem;padding-right:.5rem;margin-left:-.5rem;margin-right:-.5rem;border-radius:6px;border-bottom:1px solid transparent}.genre-item:last-child{border-bottom:none}.genre-rank{font-weight:700;color:#6b7280;font-size:.875rem;min-width:2.5rem;text-align:center}.genre-name{font-weight:500;color:#1f2937;font-size:1rem;flex:1;margin:0 1rem;text-align:left}.genre-affinity{font-weight:600;color:#059669;font-size:.875rem;min-width:6rem;text-align:right}.no-genres{text-align:center;color:#6c757d;font-style:italic;padding:1rem}@media (max-width:768px){.genre-header{padding:.5rem 0;font-size:.8rem}.genre-rank-header{min-width:2rem}.genre-name-header{margin:0 .75rem}.genre-affinity-header{min-width:5rem}.genre-item{padding:.875rem 0}.genre-item:hover{padding-left:.25rem;padding-right:.25rem;margin-left:-.25rem;margin-right:-.25rem}.genre-name{font-size:.9rem;margin:0 .75rem}.genre-rank{font-size:.8rem;min-width:2rem}.genre-affinity{font-size:.8rem;min-width:5rem}}.insight-section{background:white;padding:1.25rem;border-radius:6px;border:1px solid #dee2e6}.insight-section h4{color:#007bff;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.insight-section h5{color:#007bff;margin-bottom:.5rem;font-size:.9rem}.insight-section ul{list-style:none;padding:0;margin:0}.insight-section li{color:#495057;font-size:.95rem;line-height:1.5;margin-bottom:.4rem;padding-left:1.2rem;position:relative}.insight-section li:before{content:"•";color:#007bff;position:absolute;left:0}.layout-controls{gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.control-btn,.layout-controls{display:flex;justify-content:center}.control-btn{padding:.75rem 1.5rem;border:2px solid #e9ecef;background:white;color:#495057;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;min-width:120px;align-items:center;gap:.5rem}.control-btn.active{border-color:#007bff;background:#007bff;color:white;box-shadow:0 4px 12px rgba(0,123,255,.3)}.expandable-regional-analysis{margin-top:1.5rem}.regional-list{display:flex;flex-direction:column;gap:.5rem}.regional-item{border:1px solid #dee2e6;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.prefecture-header{display:flex;align-items:center;padding:1rem;cursor:pointer;background:#f8f9fa;transition:background-color .2s}.prefecture-header.expanded{background:#e3f2fd}.prefecture-rank{color:#6c757d;font-weight:700;font-size:.9rem;margin-right:1rem;min-width:30px}.prefecture-info{flex:1;display:flex;align-items:center;gap:1rem}.prefecture-name{font-weight:700;color:#495057;min-width:80px}.prefecture-stats{display:flex;gap:1rem;align-items:center}.prefecture-percentage{color:#007bff;font-weight:700}.prefecture-count{color:#6c757d;font-size:.9rem}.prefecture-visual{flex:1;margin-left:1rem;display:flex;align-items:center;gap:1rem}.prefecture-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.prefecture-fill{height:100%;background:#007bff;transition:width .3s ease}.expand-indicator{color:#6c757d;font-size:1.2rem;margin-left:auto;transition:transform .2s;flex-shrink:0}.prefecture-header.expanded .expand-indicator{transform:rotate(90deg)}.cities-expansion{background:white;border-top:1px solid #dee2e6}.cities-header{padding:1rem;background:#f8f9ff;border-bottom:1px solid #e0e5ff}.cities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;padding:1rem}.city-item{background:#f8f9fa;padding:1rem;border-radius:6px;border:1px solid #dee2e6}.city-bar{width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.city-fill{height:100%;background:#28a745;transition:width .3s ease}.behavior-analysis-container{background:none}.analysis-header{margin-bottom:1rem}.analysis-header h4{color:#495057;font-size:1.1rem;margin:0}.mesh-list{display:flex;flex-direction:column;gap:.75rem}.mesh-item{border:1px solid #dee2e6;overflow:hidden;cursor:pointer;transition:all .3s ease}.mesh-header{display:flex;align-items:center;padding:.5rem .75rem;background:#f8f9fa}.mesh-rank{color:#6c757d;font-weight:700;font-size:.9rem;margin-right:1rem;min-width:30px}.mesh-info{flex:1}.mesh-name{font-weight:700;color:#495057;margin-bottom:.25rem}.mesh-stats{display:flex;gap:1rem;align-items:center}.visit-rate{color:#007bff;font-weight:700;font-size:1rem}.comparison{color:#6c757d;font-size:.85rem}.mesh-visual{flex:1;margin-left:1rem}.mesh-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.mesh-fill{height:100%;background:linear-gradient(90deg,#28a745,#ffc107 50%,#dc3545);transition:width .3s ease}.side-by-side-regional{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.cities-side,.prefectures-side{background:white;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.cities-side h5,.prefectures-side h5{background:#f8f9fa;margin:0;padding:1rem;color:#495057;font-size:1rem;border-bottom:1px solid #dee2e6}.prefectures-list{max-height:400px;overflow-y:auto}.prefecture-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f8f9fa;transition:background-color .2s}.prefecture-item:hover{background:#f8f9fa}.prefecture-item.selected{background:#e3f2fd;border-left:4px solid #007bff}.prefecture-row{display:flex;align-items:center;justify-content:space-between}.prefecture-label{display:flex;align-items:center;gap:.5rem}.prefecture-label .rank{color:#6c757d;font-weight:700;font-size:.7rem;min-width:20px}.prefecture-label .name{color:#495057;font-weight:500;font-size:.9rem}.prefecture-metrics{display:flex;align-items:center;gap:.5rem}.prefecture-metrics .percentage{color:#007bff;font-weight:700;font-size:.85rem;min-width:50px;text-align:right}.mini-bar{width:60px;height:4px;background:#e9ecef;border-radius:2px;overflow:hidden}.mini-fill{height:100%;background:#007bff;transition:width .3s ease}.cities-details{padding:1rem}.prefecture-summary{margin-bottom:1rem;padding:1rem;background:#f8f9ff;border-radius:6px;border:1px solid #e0e5ff}.summary-stats{display:flex;gap:1rem;align-items:center}.total-count{color:#007bff;font-weight:700;font-size:1.1rem}.total-percentage{color:#6c757d;font-size:.9rem}.cities-breakdown{display:flex;flex-direction:column;gap:.5rem}.city-detail-item{background:#f8f9fa;padding:.75rem;border-radius:6px;border:1px solid #dee2e6}.city-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.city-header .city-rank{color:#6c757d;font-weight:700;font-size:.7rem;min-width:20px}.tabs-regional{background:white;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.tabs-header{display:flex;background:#f8f9fa;border-bottom:1px solid #dee2e6}.tab-btn{flex:1;padding:1rem;background:none;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;border:none;border-bottom:3px solid transparent}.tab-btn:hover{background:#e9ecef;color:#495057}.tab-btn.active{background:white;color:#007bff;border-bottom-color:#007bff}.tab-content{padding:1.5rem}.cities-tab,.prefecture-tab{display:flex;flex-direction:column;gap:1rem}.city-tab-item,.prefecture-tab-item{background:#f8f9fa;padding:1rem;border-radius:6px;border:1px solid #dee2e6}.prefecture-group{margin-bottom:1.5rem}.group-header{color:#495057;font-size:1rem;font-weight:700;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #007bff}.cities-in-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem}@media (max-width:768px){.analysis-insights-grid,.cities-in-group,.side-by-side-regional{grid-template-columns:1fr}.locations-list{flex-direction:column}}.behavior-chart,.location-chart{margin-bottom:1rem}.analysis-text h4{color:#495057;margin-bottom:.5rem;font-size:1rem}.analysis-text ul{list-style:none;padding:0;margin:0}.analysis-text li{color:#6c757d;font-size:.9rem;line-height:1.4;margin-bottom:.5rem;padding-left:1rem;position:relative}.analysis-text li:before{content:"▶";color:#007bff;position:absolute;left:0;font-size:.8rem}.feature-card{border-radius:8px;border:1px solid rgba(0,0,0,.05);box-shadow:0 6px 18px rgba(0,0,0,.06);padding:16px 18px}.feature-primary{background:#f0f6ff;border-color:#d6e6ff}.metric-card{background:white;padding:1rem;border-radius:8px;border:1px solid #e0e0e0;text-align:center}.chart-container{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.strategy-card{background:#f9f9f9;padding:1.5rem;border-radius:6px;border-left:4px solid #28a745}.channel-details{background:white}.analytics-layout{background:#1a1a1a;color:white;border-radius:8px;padding:2rem}.metric-card.analytics{background:#2d2d2d;border:1px solid #404040;color:white}.metric-label{font-size:12px;color:#999;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:24px;font-weight:600;margin-bottom:.25rem}.metric-change{font-size:12px;font-weight:500}.metric-change.positive{color:#28a745}.metric-change.negative{color:#dc3545}.metric-change.neutral{color:#6c757d}.analysis-results.loading{display:flex;align-items:center;justify-content:center;min-height:300px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.analysis-results.no-data{display:flex;align-items:center;justify-content:center;min-height:300px;text-align:center}.category-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.category-option{padding:12px;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s ease;background:white}.category-option:hover{border-color:#28a745;transform:translateY(-1px)}.category-option.selected{border-color:#28a745;background-color:#f8fff8}.channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.channel-item{padding:8px 12px;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease;background:white}.channel-item:hover{border-color:#28a745}.channel-item.recommended{border-color:#28a745;background-color:#f8fff8}.channel-item.selected{background-color:#e9ecef;opacity:.6;cursor:not-allowed}.recommended-badge{display:inline-block;padding:2px 6px;background-color:#28a745;color:white;border-radius:8px;font-size:10px;margin-left:6px}.priority-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.priority-high{background-color:#dc3545}.priority-medium{background-color:#ffc107}.priority-low{background-color:#28a745}@media (max-width:768px){.analysis-container{padding:0 .5rem}.search-section{padding:1rem}.summary-section{padding:1rem!important}.chart-container{padding:1rem}.category-selection-grid,.channel-grid{grid-template-columns:1fr}}@media (max-width:480px){.metric-card{padding:.75rem}.metric-value{font-size:20px}.channel-details,.strategy-card{padding:1rem}}.genre-tabs{display:flex;margin-bottom:1.5rem;border-bottom:2px solid #e9ecef}.tab-button{background:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;color:#6c757d;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:all .2s ease;position:relative;top:2px}.tab-button:hover{color:#007bff;background-color:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff;font-weight:600}.tab-button.active:hover{background-color:transparent}