/* URL 안전성 검사 도구 스타일 */

/* 점수 카드 */
#scoreCard {
    transition: all 0.3s ease;
}

#scoreCard.score-safe {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    border: 2px solid #28a745;
}

#scoreCard.score-caution {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border: 2px solid #ffc107;
}

body.dark-theme #scoreCard.score-caution {
    background: linear-gradient(135deg, #fdf0e3 0%, #f7e2c6 100%) !important;
    border-color: #96521f !important;
}

#scoreCard.score-warning {
    background: linear-gradient(135deg, #ffe5d0 0%, #ffd0a0 100%);
    border: 2px solid #fd7e14;
}

#scoreCard.score-dangerous {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    border: 2px solid #dc3545;
}

#scoreValue {
    font-size: 4rem;
    line-height: 1;
}

/* 점수별 텍스트 색상 */
.score-safe #scoreValue,
.score-safe #riskLabel {
    color: #155724;
}

.score-caution #scoreValue,
.score-caution #riskLabel {
    color: #856404;
}

.score-warning #scoreValue,
.score-warning #riskLabel {
    color: #a54a00;
}

.score-dangerous #scoreValue,
.score-dangerous #riskLabel {
    color: #721c24;
}

/* 검사 항목 리스트 */
#checksList .list-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
}

#checksList .check-name {
    font-weight: 500;
}

#checksList .check-details {
    font-size: 0.85rem;
    color: var(--text-muted);
}

#checksList .check-status {
    font-size: 1.2rem;
}

#checksList .check-status.passed {
    color: #28a745;
}

#checksList .check-status.failed {
    color: #dc3545;
}

#checksList .check-status.warning {
    color: #96521f;
}

/* 경고 리스트 */
#warningsList li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #eee;
}

#warningsList li:last-child {
    border-bottom: none;
}

#warningsList li i {
    width: 20px;
}

/* 리다이렉트 체인 */
#redirectChain li {
    padding: 0.5rem 0;
    word-break: break-all;
    font-family: monospace;
    font-size: 0.9rem;
}

#redirectChain li:not(:last-child)::after {
    content: '↓';
    display: block;
    text-align: center;
    color: var(--text-muted);
    margin: 0.25rem 0;
}

/* 입력 필드 */
#urlInput:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* 로딩 애니메이션 */
#loadingArea .spinner-border {
    width: 3rem;
    height: 3rem;
}

/* 카드 헤더 아이콘 */
.card-header i {
    opacity: 0.8;
}

/* 권장 사항 */
#recommendationArea ul {
    padding-left: 1.25rem;
}

#recommendationArea li {
    margin-bottom: 0.5rem;
}

#recommendationArea li:last-child {
    margin-bottom: 0;
}

/* 반응형 */
@media (max-width: 768px) {
    #scoreValue {
        font-size: 3rem;
    }
    
    #checkBtn {
        width: 100%;
        margin-top: 0.5rem;
    }
    
    .input-group {
        flex-direction: column;
    }
    
    .input-group .form-control {
        border-radius: 0.375rem !important;
    }
    
    .input-group .btn {
        border-radius: 0.375rem !important;
    }
}

/* 애니메이션 */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

#resultArea {
    animation: fadeIn 0.3s ease;
}

/* 도구 페이지 공통 카드·알림 */
.tool-page .card {
    background: var(--bg-card);
    border-color: var(--border-color);
}

.tool-page .card-body {
    color: var(--text-primary);
}

.tool-page .card-header.bg-warning {
    background: rgba(245, 158, 11, 0.25) !important;
    border-color: var(--accent-warning);
    color: var(--text-primary) !important;
}

.tool-page .card-header.bg-warning.text-dark {
    color: var(--text-primary) !important;
}

.tool-page .alert-info,
.tool-page #recommendationArea {
    background: rgba(59, 111, 224, 0.12) !important;
    border-color: var(--accent-primary);
    color: var(--text-primary) !important;
}

.tool-page #scoreCard.score-safe {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2) 0%, rgba(16, 185, 129, 0.1) 100%) !important;
    border-color: var(--accent-success);
}

.tool-page #scoreCard.score-caution {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(245, 158, 11, 0.1) 100%) !important;
    border-color: var(--accent-warning);
}

.tool-page #scoreCard.score-warning {
    background: linear-gradient(135deg, rgba(249, 115, 22, 0.2) 0%, rgba(249, 115, 22, 0.1) 100%) !important;
    border-color: var(--accent-warning);
}

.tool-page #scoreCard.score-dangerous {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(239, 68, 68, 0.1) 100%) !important;
    border-color: var(--accent-danger);
}

.tool-page .score-safe #scoreValue,
.tool-page .score-safe #riskLabel {
    color: var(--accent-success) !important;
}

.tool-page .score-caution #scoreValue,
.tool-page .score-caution #riskLabel {
    color: var(--accent-warning) !important;
}

.tool-page .score-dangerous #scoreValue,
.tool-page .score-dangerous #riskLabel {
    color: #b3372c !important;
}

