*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-light: #dbeafe;--secondary-color: #6b7280;--success-color: #10b981;--success-light: #d1fae5;--error-color: #ef4444;--warning-color: #f59e0b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e2e8f0;--border-focus: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-secondary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;padding:1rem}.container{max-width:1200px;margin:0 auto;width:100%}.header{text-align:center;margin-bottom:3rem;padding:2rem 0}.title{font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.125rem;color:var(--text-secondary);font-weight:400}.main{display:flex;flex-direction:column;gap:2rem}.search-form-container{background:var(--bg-primary);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.search-form,.form-grid{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.optional{font-weight:400;color:var(--text-muted);text-transform:lowercase;font-size:.75rem}.form-input{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.form-input::placeholder{color:var(--text-muted)}.form-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}.error-message{padding:.75rem 1rem;background:#fef2f2;border:1px solid rgb(252 165 165);border-radius:var(--radius-md);color:var(--error-color);font-size:.875rem;font-weight:500}.search-button{padding:1rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;align-self:flex-start;min-width:180px}.search-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.search-button:active:not(:disabled){transform:translateY(0)}.search-button:disabled{background:var(--text-muted);cursor:not-allowed;transform:none}.search-button.loading{pointer-events:none}.spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.spinner.large{width:2rem;height:2rem;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.results-container{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden}.results-header{padding:1.5rem 2rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.results-title{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.results-count{background:var(--primary-light);color:var(--primary-color);padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600}.results-actions{display:flex;gap:.5rem;margin-left:auto}.secondary-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.secondary-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}.secondary-button:active:not(:disabled){transform:translateY(0)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button .icon{font-size:1rem}.empty-state,.loading-state{padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem}.results-grid{padding:1rem;display:flex;flex-direction:column;gap:1rem}.question-card{padding:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);transition:all .2s ease}.question-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color)}.question-header{margin-bottom:1rem}.question-meta{display:flex;gap:.5rem;flex-wrap:wrap}.year-badge,.country-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.year-badge{background:var(--primary-light);color:var(--primary-color)}.country-badge{background:var(--bg-tertiary);color:var(--text-secondary)}.question-content{display:flex;flex-direction:column;gap:1rem}.question-label,.answer-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.question-text p,.answer-text p{line-height:1.6;color:var(--text-primary)}.answer{font-weight:600;color:var(--success-color)}.question-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.flag-button{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.flag-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.flag-button:disabled{opacity:.6;cursor:not-allowed}.flag-button.flagged,.flag-button.flagged:hover{background:var(--success-light);border-color:var(--success-color);color:var(--success-color)}.multi-select-container{position:relative;width:100%}.multi-select-input-container{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);min-height:52px;align-items:center;transition:all .2s ease}.multi-select-input-container:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f61a}.multi-select-input{border:none;outline:none;background:transparent;flex:1;min-width:200px;font-size:1rem;color:var(--text-primary)}.multi-select-input::placeholder{color:var(--text-muted)}.multi-select-input:disabled{color:var(--text-muted);cursor:not-allowed}.country-pill{display:flex;align-items:center;background:var(--primary-light);color:var(--primary-color);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;gap:.25rem;white-space:nowrap}.country-pill-text{display:block}.country-pill-remove{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:1.125rem;line-height:1;padding:0;margin:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.country-pill-remove:hover:not(:disabled){background:var(--primary-color);color:#fff}.country-pill-remove:disabled{cursor:not-allowed;opacity:.5}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-height:300px;overflow-y:auto;margin-top:4px}.country-list{list-style:none;margin:0;padding:0}.country-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--border-color)}.country-option:last-child{border-bottom:none}.country-option:hover{background:var(--bg-tertiary)}.country-option-more{padding:.75rem 1rem;color:var(--text-muted);font-style:italic;text-align:center;border-bottom:none}.no-countries{padding:1rem;text-align:center;color:var(--text-muted);font-style:italic}.continent-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.continent-button{padding:.5rem .75rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.continent-button:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-light)}.continent-button-none{border-color:var(--border-color);background:var(--bg-primary)}.continent-button-partial{border-color:var(--warning-color);background:#f59e0b1a;color:var(--warning-color)}.continent-button-all{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.continent-button:disabled{opacity:.5;cursor:not-allowed}.quick-actions{display:flex;gap:.5rem;margin-left:auto}.quick-action-button{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.quick-action-button:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-light)}.quick-action-button.clear:hover:not(:disabled){border-color:var(--error-color);background:#ef44441a;color:var(--error-color)}.quick-action-button:disabled{opacity:.5;cursor:not-allowed}.dropdown-container{position:relative}.dropdown-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.dropdown-button:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.dropdown-button:hover:not(:disabled),.dropdown-button:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f61a}.dropdown-button-title{font-weight:600}.dropdown-button-summary{color:var(--text-secondary);font-size:.9rem;margin-left:auto}.dropdown-caret{color:var(--text-secondary)}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-height:340px;overflow:hidden}.dropdown-actions{display:flex;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border-color)}.dropdown-checkbox-list{list-style:none;margin:0;padding:.25rem 0;max-height:280px;overflow-y:auto}.dropdown-checkbox-item{border-bottom:1px solid var(--border-color)}.dropdown-checkbox-item:last-child{border-bottom:none}.dropdown-checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer}.dropdown-checkbox-input{width:1rem;height:1rem;accent-color:var(--primary-color)}.dropdown-checkbox-text{font-size:.95rem;color:var(--text-primary)}.continent-pill{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;font-weight:600}.continent-pill .country-pill-remove{color:#fff}.continent-pill .country-pill-remove:hover:not(:disabled){background:#fff3;color:#fff}.country-list-grouped{max-height:300px;overflow-y:auto}.continent-group{border-bottom:1px solid var(--border-color)}.continent-group:last-child{border-bottom:none}.continent-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.continent-name{font-size:.875rem}.continent-select-all{background:none;border:1px solid var(--primary-color);color:var(--primary-color);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:all .2s ease}.continent-select-all:hover{background:var(--primary-color);color:#fff}.continent-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}@media (max-width: 768px){.multi-select-input{min-width:150px}.country-pill{font-size:.75rem}.continent-buttons{flex-direction:column;align-items:stretch}.quick-actions{margin-left:0;justify-content:stretch}.quick-action-button{flex:1}.continent-button{justify-content:center}}@media (max-width: 480px){.multi-select-input{min-width:120px}.multi-select-input-container{padding:.5rem .75rem}.continent-buttons{gap:.25rem}.continent-button{padding:.375rem .5rem;font-size:.75rem}.quick-action-button{padding:.375rem .5rem;font-size:.6875rem}.continent-header{padding:.5rem .75rem}}@media (max-width: 768px){.app{padding:.5rem}.header{margin-bottom:2rem;padding:1rem 0}.title{font-size:2rem}.subtitle{font-size:1rem}.search-form-container{padding:1.5rem}.form-row{grid-template-columns:1fr}.search-button{align-self:stretch}.results-header{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.5rem}.results-title{font-size:1.25rem}.question-card{padding:1rem}}@media (max-width: 480px){.title{font-size:1.5rem}.search-form-container{padding:1rem}.results-grid{padding:.5rem}.question-card{padding:.75rem}}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);transition:all .2s ease;cursor:pointer}.radio-option:hover{border-color:var(--primary-color);background:var(--primary-light)}.radio-option:has(input:checked){border-color:var(--primary-color);background:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a}.radio-option input[type=radio]{margin:0;margin-top:.125rem;width:1rem;height:1rem;accent-color:var(--primary-color);cursor:pointer}.radio-label{display:flex;flex-direction:column;gap:.25rem;cursor:pointer;flex:1}.radio-title{font-weight:600;color:var(--text-primary);font-size:.875rem}.radio-description{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.radio-option:has(input:disabled){opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.radio-option:has(input:disabled) .radio-label{cursor:not-allowed}@media (max-width: 640px){.radio-option{padding:.75rem}.radio-title{font-size:.8rem}.radio-description{font-size:.7rem}}.timeline-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.timeline-entries{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.timeline-label{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.timeline-list{list-style:none;padding:0;margin:0}.timeline-item{padding:.25rem 0;font-size:.85rem;color:var(--text-secondary)}.pagination-container{display:flex;flex-direction:column;gap:1rem;align-items:center;padding:2rem 1rem;margin-top:2rem;border-top:1px solid var(--border-color)}.pagination-info{font-size:.9rem;color:var(--text-secondary);text-align:center}.pagination-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(.disabled){background:var(--bg-secondary);border-color:var(--primary-color)}.pagination-btn.disabled{opacity:.5;cursor:not-allowed}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-page{min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-page:hover:not(.disabled){background:var(--bg-secondary);border-color:var(--primary-color)}.pagination-page.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-page.disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{padding:0 .5rem;color:var(--text-secondary);font-weight:500;cursor:default}.radio-group{gap:1rem}.radio-label{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.radio-label:hover{border-color:var(--primary-color);background:var(--primary-light);transform:translateY(-1px)}.radio-label:has(.radio-input:checked){border-color:var(--primary-color);background:var(--primary-light);box-shadow:var(--shadow-md)}.radio-label:has(.radio-input:focus-visible){box-shadow:0 0 0 3px #3b82f626,var(--shadow-sm)}.radio-input{margin:0;margin-top:.125rem;width:1.125rem;height:1.125rem;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.radio-text{font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.radio-hint{font-size:.875rem;color:var(--text-secondary)}.form-hint{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}@media (max-width: 768px){.pagination-container{padding:1.5rem 1rem}.pagination-controls{flex-direction:column;gap:1rem}.pagination-pages{order:-1}.pagination-btn{width:100%;justify-content:center}}@media (max-width: 480px){.pagination-page{min-width:2rem;height:2rem;font-size:.8rem}.pagination-btn{padding:.75rem 1rem}}.continent-label{font-size:.75rem}
