/* FORCE LIGHT MODE - OVERRIDE SEMUA THEME */
.persamaan-lingkaran-container {
    max-width: 800px !important;
    margin: 30px auto !important;
    padding: 25px !important;
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08) !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: #333 !important;
    border: 1px solid #eee !important;
    background-color: white !important;
}

.pl-title {
    text-align: center !important;
    color: #2c3e50 !important;
    margin-top: 0 !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}

.pl-form-group {
    margin-bottom: 20px !important;
}

.pl-form-group label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
    background-color: transparent !important;
}

.pl-input {
    width: 100% !important;
    padding: 12px !important;
    border: 2px solid #aaa !important;
    border-radius: 6px !important;
    background: white !important; /* FORCE WHITE */
    background-color: white !important; /* REDUNDANT FOR SAFETY */
    color: #333 !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.pl-input:focus {
    border-color: #3498db !important;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.3) !important;
}

.pl-radio-group {
    display: flex !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    margin: 15px 0 !important;
}

.pl-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    background: white !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    border: 1px solid #ddd !important;
}

.pl-radio-group input[type="radio"] {
    margin: 0 5px 0 0 !important;
    accent-color: #27ae60 !important;
}

#pl-radius-section,
#pl-point-section {
    background: white !important;
    padding: 15px !important;
    border-radius: 8px !important;
    border: 1px solid #ddd !important;
    margin: 15px 0 !important;
}

.pl-button {
    display: block !important;
    margin: 25px auto !important;
    padding: 14px 32px !important;
    background: #27ae60 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    transition: all 0.2s !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
}

.pl-button:hover {
    background: #219a52 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

.pl-result-box {
    margin-top: 25px !important;
    padding: 20px !important;
    background: #f0fff4 !important;
    border: 2px solid #aafed6 !important;
    border-radius: 8px !important;
    display: none;
}

.pl-equation {
    font-family: monospace !important;
    font-size: 18px !important;
    margin: 10px 0 !important;
    word-break: break-all !important;
    background: white !important;
    padding: 10px !important;
    border-radius: 5px !important;
    border: 1px dashed #27ae60 !important;
}

.pl-chart-container {
    margin-top: 30px !important;
    height: 450px !important;
    background: white !important;
    padding: 15px !important;
    border-radius: 8px !important;
    border: 1px solid #eee !important;
    position: relative !important;
}

/* Debug indicator */
#pl-debug {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: #27ae60 !important;
    color: white !important;
    padding: 5px 10px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    z-index: 9999 !important;
}

@media (max-width: 768px) {
    .persamaan-lingkaran-container {
        margin: 15px !important;
        padding: 15px !important;
    }
    .pl-radio-group {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .pl-chart-container {
        height: 350px !important;
    }
}