.ip-widget { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border: 1px solid #dee2e6; border-radius: 8px; padding: 1.5em; margin: 1.5em 0; font-family: Arial, sans-serif; }
.ip-widget h3 { margin-top: 0; color: #495057; font-size: 1.1em; }
.ip-widget p { color: #333; line-height: 1.5; }
.ip-question { margin-bottom: 1em; }
.ip-question label { display: block; font-weight: bold; margin-bottom: 0.5em; color: #333; }
.ip-options { display: flex; gap: 10px; flex-wrap: wrap; }
.ip-btn { padding: 10px 18px; border: 2px solid #6c757d; background: #fff; border-radius: 4px; cursor: pointer; transition: all 0.2s; font-size: 0.95em; }
.ip-btn:hover { border-color: #495057; background: #f8f9fa; }
.ip-btn.selected { border-color: #0d6efd; background: #e7f1ff; color: #0d6efd; font-weight: bold; }
.ip-result { margin-top: 1.5em; padding: 1em; border-radius: 6px; display: none; }
.ip-result.show { display: block; }
.ip-result h4 { margin: 0 0 0.5em 0; }
.ip-result p { margin: 0; }
.ip-result.ip20 { background: #d4edda; border: 1px solid #c3e6cb; }
.ip-result.ip54 { background: #fff3cd; border: 1px solid #ffeeba; }
.ip-result.ip65 { background: #cce5ff; border: 1px solid #b8daff; }
.ip-result.ip66 { background: #f8d7da; border: 1px solid #f5c6cb; }