.fall-baseball-calculator {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    font-family: 'Dotum', '돋움', sans-serif !important;
    background-color: #f5f5f5 !important;
    border: 1px solid #ccc !important;
}

.fall-baseball-calculator * {
    box-sizing: border-box !important;
}

.fall-baseball-calculator h2 {
    text-align: center !important;
    color: #333 !important;
    font-size: 1.6em !important;
    margin: 0 0 20px 0 !important;
    font-weight: bold !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    padding: 12px !important;
    border: 1px solid #4a5568 !important;
    border-radius: 4px !important;
}

.main-container {
    display: flex !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

.analysis-container {
    display: flex !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

.additional-tools-container {
    display: flex !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

.live-update-container,
.visualization-container {
    margin-bottom: 15px !important;
}

.section {
    background: white !important;
    border: 1px solid #ccc !important;
    padding: 15px !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.team-input-section {
    flex: 1.4 !important;
}

.standings-section {
    flex: 1 !important;
}

.magic-analysis-section {
    flex: 1.5 !important;
}

.simulation-section {
    flex: 1 !important;
}

.scenario-matrix-section,
.schedule-strength-section {
    flex: 1 !important;
}

.section h3 {
    font-size: 1.1em !important;
    color: #333 !important;
    margin: 0 0 15px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #ddd !important;
    font-weight: bold !important;
}

/* 계산 방식 선택 */
.calculation-mode {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
    padding: 10px !important;
    background-color: #f0f4f8 !important;
    border: 1px solid #cbd5e0 !important;
    border-radius: 4px !important;
}

.calculation-mode label {
    font-weight: bold !important;
    color: #2d3748 !important;
    font-size: 0.9em !important;
}

.calculation-mode select {
    flex: 1 !important;
    padding: 6px !important;
    border: 1px solid #a0aec0 !important;
    border-radius: 3px !important;
    font-size: 0.85em !important;
    background: white !important;
}

.btn-info {
    padding: 6px 8px !important;
    background: #3182ce !important;
    color: white !important;
    border: none !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
}

.btn-info:hover {
    background: #2c5282 !important;
}

/* 네이버 연동 기능 */
.naver-functions {
    margin-bottom: 15px !important;
    padding: 12px !important;
    background-color: #e8f4fd !important;
    border: 1px solid #b3d9ff !important;
    border-radius: 4px !important;
}

.naver-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.btn-naver {
    padding: 8px 12px !important;
    background: #1a73e8 !important;
    color: white !important;
    border: 1px solid #1557b0 !important;
    font-size: 0.85em !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    font-weight: bold !important;
}

.btn-naver:hover {
    background: #1557b0 !important;
}

.naver-guide {
    font-size: 0.8em !important;
    color: #1565c0 !important;
    font-weight: normal !important;
}

/* 엑셀 기능 섹션 */
.excel-functions {
    margin-bottom: 15px !important;
    padding: 10px !important;
    background-color: #f9f9f9 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
}

.excel-row {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.btn-excel {
    padding: 5px 8px !important;
    background: #228b22 !important;
    color: white !important;
    border: 1px solid #006400 !important;
    font-size: 0.75em !important;
    cursor: pointer !important;
    border-radius: 3px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
}

.btn-excel:hover {
    background: #006400 !important;
}

.btn-excel svg {
    flex-shrink: 0 !important;
}

/* 팀 입력 그리드 */
.teams-grid {
    width: 100% !important;
}

.team-row {
    display: grid !important;
    grid-template-columns: 1fr 50px 50px 50px 50px 70px 60px 60px !important;
    gap: 6px !important;
    margin-bottom: 6px !important;
    align-items: center !important;
}

.header-row {
    font-weight: bold !important;
    background-color: #f0f0f0 !important;
    padding: 8px 5px !important;
    border: 1px solid #ccc !important;
    margin-bottom: 5px !important;
}

.header-row div {
    text-align: center !important;
    font-size: 0.85em !important;
    color: #555 !important;
}

.team-input-row {
    padding: 3px 5px !important;
    border: 1px solid #e0e0e0 !important;
    background-color: #fafafa !important;
}

.team-name-input {
    width: 100% !important;
    padding: 4px !important;
    border: 1px solid #999 !important;
    font-size: 0.8em !important;
    background: white !important;
}

.team-stat-input {
    width: 100% !important;
    padding: 4px !important;
    border: 1px solid #999 !important;
    font-size: 0.8em !important;
    background: white !important;
    text-align: center !important;
}

.team-rate-display,
.team-remaining-display {
    text-align: center !important;
    font-size: 0.8em !important;
    color: #000080 !important;
    font-weight: bold !important;
}

.team-remaining-display {
    color: #666 !important;
}

.team-name-input:focus,
.team-stat-input:focus {
    outline: 2px solid #4169e1 !important;
    outline-offset: -2px !important;
}

/* 승률 검증 스타일 */
.rate-correct {
    color: #228b22 !important;
}

.rate-warning {
    color: #ff9800 !important;
}

.rate-error {
    color: #dc143c !important;
}

/* 팀 관리 버튼 */
.team-management {
    margin: 10px 0 !important;
    text-align: center !important;
}

.btn-add-team {
    padding: 6px 12px !important;
    background: #4169e1 !important;
    color: white !important;
    border: 1px solid #1e3a8a !important;
    font-size: 0.85em !important;
    cursor: pointer !important;
    border-radius: 3px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.btn-add-team:hover {
    background: #1e3a8a !important;
}

.btn-remove-team {
    padding: 2px 6px !important;
    background: #dc143c !important;
    color: white !important;
    border: 1px solid #8b0000 !important;
    font-size: 0.75em !important;
    cursor: pointer !important;
    border-radius: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.btn-remove-team:hover {
    background: #8b0000 !important;
}

.button-row {
    margin-top: 15px !important;
    display: flex !important;
    gap: 8px !important;
}

.btn-calculate {
    flex: 1 !important;
    padding: 8px !important;
    background: #4169e1 !important;
    color: white !important;
    border: 1px solid #1e3a8a !important;
    font-size: 0.9em !important;
    font-weight: bold !important;
    cursor: pointer !important;
    border-radius: 3px !important;
}

.btn-calculate:hover {
    background: #1e3a8a !important;
}

.btn-reset {
    flex: 0.7 !important;
    padding: 8px !important;
    background: #dc143c !important;
    color: white !important;
    border: 1px solid #8b0000 !important;
    font-size: 0.9em !important;
    font-weight: bold !important;
    cursor: pointer !important;
    border-radius: 3px !important;
}

.btn-reset:hover {
    background: #8b0000 !important;
}

/* 순위표 스타일 */
.standings-table {
    min-height: 280px !important;
    max-height: 350px !important;
    overflow-y: auto !important;
    border: 1px solid #ddd !important;
    background: #fafafa !important;
}

.empty-text {
    text-align: center !important;
    color: #999 !important;
    font-size: 0.9em !important;
    padding: 50px 10px !important;
}

.standings-header {
    display: grid !important;
    grid-template-columns: 40px 1fr 40px 40px 40px 40px 70px 60px !important;
    gap: 5px !important;
    padding: 8px !important;
    background-color: #e0e0e0 !important;
    border-bottom: 1px solid #ccc !important;
    font-weight: bold !important;
    font-size: 0.8em !important;
}

.standings-row {
    display: grid !important;
    grid-template-columns: 40px 1fr 40px 40px 40px 40px 70px 60px !important;
    gap: 5px !important;
    padding: 6px 8px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-size: 0.75em !important;
    background: white !important;
}

.standings-row:hover {
    background: #f0f0f0 !important;
}

.standings-row.playoff-zone {
    background: #e8f5e8 !important;
}

.standings-row.wildcard-zone {
    background: #fff8dc !important;
}

.standings-row.eliminated-zone {
    background: #ffe8e8 !important;
}

.rank-cell {
    text-align: center !important;
    font-weight: bold !important;
    color: #000080 !important;
}

.team-cell {
    font-weight: bold !important;
    color: #333 !important;
}

.stat-cell {
    text-align: center !important;
    color: #555 !important;
}

.rate-cell {
    text-align: center !important;
    font-weight: bold !important;
    color: #000080 !important;
}

.remaining-cell {
    text-align: center !important;
    color: #666 !important;
    font-size: 0.8em !important;
}

/* 포스트시즌 정보 */
.playoff-info {
    margin-top: 15px !important;
}

.playoff-zone {
    margin-bottom: 8px !important;
    padding: 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
}

.playoff-direct {
    background-color: #e8f5e8 !important;
    border-color: #4caf50 !important;
}

.playoff-wildcard {
    background-color: #fff8dc !important;
    border-color: #ff9800 !important;
}

.playoff-out {
    background-color: #ffe8e8 !important;
    border-color: #f44336 !important;
}

.zone-title {
    font-weight: bold !important;
    font-size: 0.8em !important;
    margin-bottom: 4px !important;
    color: #333 !important;
}

.zone-teams {
    font-size: 0.75em !important;
    color: #555 !important;
}

/* 분석 설명 */
.analysis-explanation {
    margin-bottom: 15px !important;
    padding: 12px !important;
    background-color: #fff8dc !important;
    border: 1px solid #ffc107 !important;
    border-radius: 4px !important;
}

.explanation-title {
    font-weight: bold !important;
    color: #e65100 !important;
    margin-bottom: 8px !important;
    font-size: 0.9em !important;
}

.explanation-content {
    font-size: 0.8em !important;
    line-height: 1.5 !important;
    color: #5d4037 !important;
}

.explanation-content strong {
    color: #bf360c !important;
}

.explanation-content small {
    color: #795548 !important;
    font-style: italic !important;
}

/* 매직넘버 분석 테이블 */
.analysis-table {
    max-height: 350px !important;
    overflow-y: auto !important;
    border: 1px solid #ddd !important;
    background: #fafafa !important;
}

.analysis-header {
    display: grid !important;
    grid-template-columns: 1fr 60px 60px 60px 60px 60px 70px 60px !important;
    gap: 5px !important;
    padding: 8px !important;
    background-color: #e0e0e0 !important;
    border-bottom: 1px solid #ccc !important;
    font-weight: bold !important;
    font-size: 0.8em !important;
    text-align: center !important;
}

.analysis-row {
    display: grid !important;
    grid-template-columns: 1fr 60px 60px 60px 60px 60px 70px 60px !important;
    gap: 5px !important;
    padding: 6px 8px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-size: 0.75em !important;
    background: white !important;
}

.analysis-row:hover {
    background: #f0f0f0 !important;
}

.analysis-team {
    font-weight: bold !important;
    color: #333 !important;
    text-align: left !important;
}

.analysis-number {
    text-align: center !important;
    font-weight: bold !important;
}

.magic-number {
    color: #4169e1 !important;
}

.tragic-number {
    color: #dc143c !important;
}

.remaining-games {
    color: #666 !important;
}

.probability {
    color: #228b22 !important;
}

.impossible {
    color: #999 !important;
}

/* 시뮬레이션 탭 */
.simulation-tabs {
    display: flex !important;
    gap: 5px !important;
    margin-bottom: 15px !important;
    border-bottom: 2px solid #e2e8f0 !important;
}

.tab-btn {
    padding: 8px 16px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    color: #718096 !important;
    font-size: 0.9em !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
}

.tab-btn:hover {
    color: #2d3748 !important;
}

.tab-btn.active {
    color: #4169e1 !important;
    border-bottom-color: #4169e1 !important;
}

.tab-content {
    padding: 10px 0 !important;
}

/* 시뮬레이션 컨트롤 */
.simulation-controls,
.advanced-controls,
.h2h-controls,
.matrix-controls,
.live-controls {
    margin-bottom: 15px !important;
}

.control-row {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 8px !important;
    gap: 8px !important;
}

.control-row label {
    width: 100px !important;
    font-size: 0.85em !important;
    color: #555 !important;
    flex-shrink: 0 !important;
    font-weight: bold !important;
}

.control-row select,
.control-row input {
    flex: 1 !important;
    padding: 5px !important;
    border: 1px solid #999 !important;
    font-size: 0.8em !important;
    background: white !important;
    border-radius: 3px !important;
}

/* 시뮬레이션 결과 */
.simulation-result,
.advanced-result,
.h2h-result,
.matrix-result {
    max-height: 400px !important;
    overflow-y: auto !important;
    border: 1px solid #ddd !important;
    background: #fafafa !important;
    padding: 15px !important;
    border-radius: 4px !important;
}

.simulation-header {
    font-weight: bold !important;
    color: #333 !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid #ddd !important;
    padding-bottom: 5px !important;
}

.scenario-item {
    margin-bottom: 8px !important;
    padding: 8px !important;
    background: white !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 3px !important;
}

.scenario-title {
    font-weight: bold !important;
    color: #4169e1 !important;
    margin-bottom: 4px !important;
}

.scenario-details {
    font-size: 0.8em !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.probability-bar {
    width: 100% !important;
    height: 18px !important;
    background: #f0f0f0 !important;
    border: 1px solid #ddd !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    margin-top: 5px !important;
}

.probability-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #4169e1, #228b22) !important;
    transition: width 0.3s ease !important;
}

/* 차트 섹션 */
.chart-controls {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 15px !important;
}

.chart-btn {
    padding: 6px 12px !important;
    background: #f7fafc !important;
    border: 1px solid #cbd5e0 !important;
    color: #4a5568 !important;
    font-size: 0.85em !important;
    cursor: pointer !important;
    border-radius: 3px !important;
    transition: all 0.3s !important;
}

.chart-btn:hover {
    background: #e2e8f0 !important;
}

.chart-btn.active {
    background: #4169e1 !important;
    color: white !important;
    border-color: #1e3a8a !important;
}

.chart-container {
    position: relative !important;
    height: 300px !important;
    padding: 10px !important;
    background: white !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
}

/* 일정 강도 분석 */
.strength-info {
    margin-bottom: 15px !important;
    padding: 10px !important;
    background: #f0f4f8 !important;
    border-left: 4px solid #4169e1 !important;
}

.strength-info p {
    margin: 0 !important;
    font-size: 0.85em !important;
    color: #4a5568 !important;
}

.strength-table {
    border: 1px solid #ddd !important;
    background: white !important;
    padding: 10px !important;
    max-height: 300px !important;
    overflow-y: auto !important;
}

/* 경기 결과 입력 */
.btn-add-result {
    padding: 6px 12px !important;
    background: #48bb78 !important;
    color: white !important;
    border: none !important;
    font-size: 0.85em !important;
    cursor: pointer !important;
    border-radius: 3px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.btn-add-result:hover {
    background: #38a169 !important;
}

.game-results {
    margin: 15px 0 !important;
    padding: 10px !important;
    background: #f7fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    min-height: 100px !important;
}

/* 매트릭스 테이블 */
.matrix-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.8em !important;
}

.matrix-table th,
.matrix-table td {
    border: 1px solid #cbd5e0 !important;
    padding: 6px !important;
    text-align: center !important;
}

.matrix-table th {
    background: #edf2f7 !important;
    font-weight: bold !important;
    color: #2d3748 !important;
}

.matrix-table td {
    background: white !important;
}

.matrix-table .rank-1 {
    background: #c6f6d5 !important;
    font-weight: bold !important;
}

.matrix-table .rank-2-3 {
    background: #bee3f8 !important;
}

.matrix-table .rank-4-5 {
    background: #fef5e7 !important;
}

.matrix-table .rank-6-10 {
    background: #fed7d7 !important;
}

/* 공지사항 */
.notice {
    text-align: center !important;
    font-size: 0.75em !important;
    color: #666 !important;
    padding: 10px !important;
    background: #ffffcc !important;
    border: 1px solid #cccc00 !important;
    line-height: 1.4 !important;
    border-radius: 4px !important;
}

/* 업로드 상태 메시지 */
.upload-status {
    margin-top: 10px !important;
    padding: 8px !important;
    border-radius: 4px !important;
    font-size: 0.85em !important;
    text-align: center !important;
}

.upload-success {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important;
}

.upload-error {
    background: #f8d7da !important;
    color: #721c24 !important;
    border: 1px solid #f5c6cb !important;
}

/* 로딩 애니메이션 */
.loading {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border: 3px solid #f3f3f3 !important;
    border-top: 3px solid #4169e1 !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 툴팁 */
.tooltip {
    position: relative !important;
    display: inline-block !important;
}

.tooltip .tooltiptext {
    visibility: hidden !important;
    width: 200px !important;
    background-color: #333 !important;
    color: #fff !important;
    text-align: center !important;
    border-radius: 6px !important;
    padding: 8px !important;
    position: absolute !important;
    z-index: 1000 !important;
    bottom: 125% !important;
    left: 50% !important;
    margin-left: -100px !important;
    font-size: 0.75em !important;
    opacity: 0 !important;
    transition: opacity 0.3s !important;
}

.tooltip:hover .tooltiptext {
    visibility: visible !important;
    opacity: 0.95 !important;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .fall-baseball-calculator {
        padding: 10px 5px !important;
    }
    
    .fall-baseball-calculator h2 {
        font-size: 1.3em !important;
        padding: 8px !important;
    }
    
    .main-container,
    .analysis-container,
    .additional-tools-container {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .section {
        padding: 10px 6px !important;
    }
    
    .section h3 {
        font-size: 1em !important;
        margin-bottom: 10px !important;
    }
    
    .naver-functions {
        padding: 8px !important;
    }
    
    .naver-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 5px !important;
    }
    
    .btn-naver {
        font-size: 0.8em !important;
        padding: 6px 8px !important;
    }
    
    .naver-guide {
        font-size: 0.75em !important;
    }
    
    .excel-row {
        gap: 5px !important;
    }
    
    .btn-excel {
        font-size: 0.7em !important;
        padding: 4px 6px !important;
    }
    
    .team-row {
        grid-template-columns: 1fr 35px 35px 35px 35px 50px 45px 45px !important;
        gap: 3px !important;
    }
    
    .header-row div {
        font-size: 0.75em !important;
    }
    
    .team-name-input,
    .team-stat-input {
        font-size: 0.75em !important;
        padding: 3px !important;
    }
    
    .team-rate-display,
    .team-remaining-display {
        font-size: 0.75em !important;
    }
    
    .standings-header,
    .standings-row {
        grid-template-columns: 30px 1fr 30px 30px 30px 30px 50px 40px !important;
        gap: 3px !important;
        font-size: 0.7em !important;
        padding: 4px !important;
    }
    
    .analysis-header,
    .analysis-row {
        grid-template-columns: 1fr 45px 45px 45px 45px 45px 55px 45px !important;
        gap: 3px !important;
        font-size: 0.7em !important;
        padding: 4px !important;
    }
    
    .standings-table,
    .analysis-table {
        min-height: 200px !important;
        max-height: 250px !important;
    }
    
    .btn-calculate,
    .btn-reset {
        padding: 6px !important;
        font-size: 0.8em !important;
    }
    
    .control-row {
        gap: 4px !important;
    }
    
    .control-row label {
        width: 70px !important;
        font-size: 0.8em !important;
    }
    
    .control-row select,
    .control-row input {
        font-size: 0.75em !important;
        padding: 3px !important;
    }
    
    .tab-btn {
        padding: 6px 10px !important;
        font-size: 0.8em !important;
    }
    
    .simulation-tabs {
        overflow-x: auto !important;
        white-space: nowrap !important;
    }
    
    .chart-controls {
        flex-wrap: wrap !important;
    }
    
    .chart-btn {
        font-size: 0.75em !important;
        padding: 4px 8px !important;
    }
    
    .chart-container {
        height: 200px !important;
    }
    
    .explanation-title {
        font-size: 0.85em !important;
    }
    
    .explanation-content {
        font-size: 0.75em !important;
    }
    
    .notice {
        font-size: 0.7em !important;
        padding: 8px !important;
    }
}

@media (max-width: 480px) {
    .fall-baseball-calculator {
        padding: 8px 3px !important;
    }
    
    .section {
        padding: 8px 4px !important;
    }
    
    .excel-row {
        gap: 3px !important;
    }
    
    .btn-excel {
        font-size: 0.65em !important;
        padding: 3px 4px !important;
    }
    
    .team-row {
        grid-template-columns: 1fr 30px 30px 30px 30px 40px 35px 35px !important;
        gap: 2px !important;
    }
    
    .header-row div {
        font-size: 0.7em !important;
    }
    
    .standings-header,
    .standings-row {
        grid-template-columns: 25px 1fr 25px 25px 25px 25px 40px 30px !important;
        gap: 2px !important;
        font-size: 0.65em !important;
    }
    
    .analysis-header,
    .analysis-row {
        grid-template-columns: 1fr 35px 35px 35px 35px 35px 45px 35px !important;
        gap: 2px !important;
        font-size: 0.65em !important;
    }
    
    .button-row {
        gap: 4px !important;
    }
    
    .control-row label {
        width: 60px !important;
        font-size: 0.75em !important;
    }
    
    .tab-btn {
        padding: 5px 8px !important;
        font-size: 0.75em !important;
    }
    
    .calculation-mode {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    
    .calculation-mode select {
        width: 100% !important;
    }
}