.country-card{aspect-ratio:1;text-align:center;isolation:isolate;cursor:pointer;border-radius:16px;width:100%;height:auto;transition:transform .3s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.country-card-image{object-fit:cover;z-index:-1}.country-card:before{content:"";opacity:0;background-color:#0009;border-radius:12px;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}@media (hover:hover){.country-card:hover:before{opacity:1}.country-card:hover .country-card-content{background:0 0;max-height:none;top:52px;bottom:8px;transform:translate(-50%)}.country-card:hover .country-details{display:grid}}.country-card.expanded:before{opacity:1}.country-card-content{color:#fff;text-align:center;box-sizing:border-box;z-index:1;background:#0009;border-radius:12px;width:85%;max-height:90%;padding:8px;display:block;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.country-card.expanded .country-card-content{background:0 0;max-height:none;top:52px;bottom:8px;transform:translate(-50%)}.country-details{color:#fff;text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:5px;margin-top:6px;margin-bottom:3px;padding:3px 0;font-size:.9em;display:none}.country-details p{margin:0}.country-card.expanded .country-details{display:grid}.country-card h3{margin:0;font-size:1.2em}.country-card h3 a{color:inherit;text-decoration:none}.country-card h3 a:focus-visible{outline-color:#fff}.country-card .region{color:#fff;margin-top:3px;font-size:.9em}.been-status{color:#fff;cursor:pointer;z-index:2;background:#000000b3;border:1px solid #fff3;border-radius:16px;padding:6px 12px;font-family:inherit;font-size:.85em;font-style:normal;font-weight:600;transition:all .2s;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0000004d}.been-status.visited{color:#fff;background:#2e7d32;border-color:#2e7d32}.been-status:focus-visible{outline-color:#fff}.country-card.visited{box-sizing:border-box;border:4px solid #2e7d32;box-shadow:0 0 8px #000}.been-status:hover{box-shadow:0 4px 12px #4caf5066}.index-bar{background:#ffffff2e;border-radius:9px;height:18px;position:relative;overflow:hidden}.index-fill{height:100%;transition:width .3s ease-in-out}.index-value{white-space:nowrap}.no-data{opacity:.8;font-style:italic}.label{color:#fff;white-space:nowrap;text-shadow:0 0 3px #000000e6;font-size:.85em;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.red{background-color:#d7191c}.orange{background-color:#c08a1e}.green{background-color:#2e8b3e}.visa-info{margin-top:4px}.visa-chip{border-radius:12px;padding:2px 10px;font-size:.85em;font-weight:600;display:inline-block}@media (max-width:600px){.country-card{border-radius:12px;font-size:.8rem}.country-card-content{width:92%;padding:6px}.country-card .region{display:none}.been-status{padding:4px 8px;top:6px;right:6px}.country-card.expanded{grid-column:1/-1;font-size:.9rem}.country-card.expanded .region{display:inline}}
.flight-info{text-align:left;background:#000000b3;border-radius:8px;max-height:150px;margin-top:10px;padding:8px;overflow-y:auto}.country-card:hover .flight-info,.country-card.expanded .flight-info{max-height:70%;display:block}.flight-info-header{color:#fff;border-bottom:1px solid #ffffff4d;justify-content:space-between;align-items:center;margin-bottom:5px;padding-bottom:3px;font-weight:700;display:flex}.flight-item{background:#ffffff1a;border-radius:5px;margin-bottom:8px;padding:5px;transition:background .2s}.flight-item:hover{background:#fff3}.flight-route{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.flight-details{color:#ffffffe6;justify-content:space-between;margin-bottom:3px;font-size:.8em;display:flex}.flight-price{color:#4caf50;font-weight:700}.flight-duration{color:#f5f5f5}.flight-weather{color:#f0f0f0;justify-content:space-between;gap:5px;font-size:.8em;font-weight:700;display:flex}.flight-actions{text-align:center;margin-top:5px}.view-flight-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:.8em;transition:background .2s}.view-flight-btn:hover{opacity:.9}
.flights-search-button{color:var(--text-muted);background-color:var(--surface-alt);cursor:pointer;border:1px solid #fc0;border-radius:24px;margin-bottom:15px;padding:10px 18px;font-family:inherit;font-size:14px;font-style:italic;font-weight:500;transition:all .2s ease-in-out;display:inline-flex;box-shadow:0 2px 8px #ffcc0080,0 0 4px #fc06}.flights-search-button:hover{background-color:var(--brand-tint);color:var(--brand);border-color:#f9c7c9;transform:translateY(-1px);box-shadow:0 2px 8px #ffcc0080,0 0 4px #fc06}.flights-search-button svg{width:18px;height:18px;margin-right:8px;transition:transform .2s}.flights-search-button:hover svg{transform:rotate(-10deg)}.flights-search-inputs{border:1px solid #e0e0e0;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 4px 12px #0000001a}.flights-search-inputs label{color:var(--text-muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.date-range-container{margin-bottom:16px}.date-range-inputs input{border:1px solid var(--border);border-radius:6px;flex:1;padding:10px 12px;font-size:14px;transition:border-color .2s}.date-range-inputs input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #f3969a33}.date-range-inputs{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.date-separator{color:var(--text-muted);font-size:12px}.search-button{background-color:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:12px;font-weight:500;transition:background-color .2s,transform .1s}.search-button:hover{opacity:.9}.search-button:disabled{color:#999;cursor:not-allowed;background-color:#ddd;transform:none}.help-message{color:var(--text-muted);background-color:var(--surface-alt);border-radius:6px;align-items:center;margin-bottom:15px;padding:10px 12px;font-size:.8rem;display:flex}.help-message .info-icon{flex-shrink:0;width:18px;height:18px;margin-right:8px}.help-message p{margin:0;padding:0;line-height:1.4}
.autocomplete-container{margin-bottom:16px}
.flights-table-container{z-index:1000;background-color:#000000d9;flex-direction:column;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.flights-table-header{color:#fff;justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.flights-table-header h2{text-shadow:0 1px 2px #0000004d;margin:0;font-size:1.8rem}.flights-table-actions{gap:12px;display:flex}.flights-search-input{border:1px solid var(--border);border-radius:6px;width:280px;padding:10px 14px;font-size:14px;transition:all .2s;box-shadow:0 2px 4px #0000001a}.flights-search-input:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db4d}.close-table-button{background-color:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-weight:500;transition:background-color .2s,transform .1s}.close-table-button:hover{opacity:.9}.flights-table-wrapper{background-color:var(--surface);border-radius:10px;flex:1;overflow:auto;box-shadow:0 4px 20px #00000026}.flights-table{border-collapse:collapse;width:100%}.flights-table th{background-color:var(--surface-alt);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;color:#444;border-bottom:2px solid #e0e0e0;padding:14px 16px;font-weight:600;transition:background-color .2s;position:sticky;top:0}.flights-table th:hover{background-color:var(--surface-alt)}.flights-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.flights-table tr:hover{background-color:var(--surface-alt)}.flight-action-button{color:#fff;cursor:pointer;text-align:center;background-color:#3498db;border:none;border-radius:6px;padding:8px 16px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.flight-action-button:hover{background-color:#2980b9;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}.weather-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.weather-cell span{align-items:center;display:inline-flex}.no-flights{text-align:center;color:var(--text-muted);padding:30px;font-style:italic}.view-all-flights-button{color:var(--text-muted);background-color:var(--surface-alt);border:1px solid var(--border);cursor:pointer;border-radius:24px;margin-bottom:15px;padding:10px 18px;font-family:inherit;font-size:14px;font-style:italic;font-weight:500;transition:all .2s ease-in-out;display:inline-flex;box-shadow:0 2px 4px #0000000d}.view-all-flights-button:hover{background-color:var(--brand-tint);color:var(--brand);border-color:#f9c7c9;transform:translateY(-1px);box-shadow:0 3px 6px #00000014}.view-all-flights-button svg{width:18px;height:18px;margin-right:8px;transition:transform .2s}.view-all-flights-button:hover svg{transform:rotate(-10deg)}@media (max-width:768px){.flights-table-header{flex-direction:column;align-items:flex-start;gap:15px}.flights-table-header h2{display:none}.flights-search-input{width:100%}.flights-table th,.flights-table td{padding:10px 8px;font-size:14px}.flights-table-wrapper{border-radius:8px}}
.open-world-map-button{color:var(--text-muted);background-color:var(--surface-alt);border:1px solid var(--border);cursor:pointer;border-radius:24px;margin-bottom:15px;padding:10px 18px;font-family:inherit;font-size:14px;font-style:italic;font-weight:500;transition:all .2s ease-in-out;display:inline-flex;box-shadow:0 2px 4px #0000000d}.open-world-map-button:hover{background-color:var(--brand-tint);color:var(--brand);border-color:#f9c7c9;transform:translateY(-1px);box-shadow:0 3px 6px #00000014}.open-world-map-button svg{width:18px;height:18px;margin-right:8px;transition:transform .2s}.open-world-map-button:hover svg{transform:rotate(-10deg)}.world-map-container{z-index:3;background-color:#000000d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.world-map-content{background-color:var(--surface);box-sizing:border-box;border-radius:8px;width:95%;max-width:1200px;max-height:92vh;padding:20px;position:relative;overflow-y:auto;box-shadow:0 4px 20px #00000040}.world-map-close{cursor:pointer;width:40px;height:40px;color:var(--text);background:0 0;border:1.5px solid gray;border-radius:20%;font-size:1.5rem;line-height:1;position:absolute;top:12px;right:12px}.world-map-content>h2{text-align:center;color:var(--text);margin-top:0;margin-bottom:20px}.world-map-content .rsm-svg{background-color:var(--surface-alt);border:1px solid #000;border-radius:8px;width:100%;height:auto;max-height:calc(92vh - 170px);display:block}.world-map-container>svg{background-color:var(--surface-alt);border-radius:8px;max-width:95%;max-height:95%}.world-map-container svg [tabindex]:focus{outline:none}.world-map-legend{color:var(--text);flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:14px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.world-map-legend li{align-items:center;gap:6px;display:flex}.legend-swatch{border:1px solid #555;border-radius:3px;width:14px;height:14px}
.preview-overlay{box-sizing:border-box;background-color:#00000059;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:relative}.country-name{color:#fff;text-shadow:3px 3px 6px #000000b3,0 0 15px #fff6;text-align:center;margin-top:20px;margin-bottom:-70px;font-size:1.5rem;font-weight:700}.country-flag{text-shadow:3px 3px 6px #000000b3,0 0 15px #fff6;font-size:10rem}.country-text{color:#fff;text-shadow:1px 1px 3px #000c;text-align:center;margin-top:-50px;margin-bottom:10px;font-size:1.5rem;font-weight:700}.all-visited-flags{flex-wrap:wrap;justify-content:center;min-height:80px;max-height:720px;margin-bottom:15px;padding:0 10px;display:flex;overflow-y:auto}.small-flag{margin:2px;font-size:1.5rem}.site-branding{text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;padding-bottom:16px;display:flex}.site-logo{object-fit:cover;border:1.5px solid #fff;border-radius:50%}.site-url{color:#fff;font-size:1.2rem}.form-group{align-items:center;margin-bottom:15px;display:flex}.form-group label{margin-right:8px;font-weight:700}.form-group input[type=text]{border:1px solid var(--border);border-radius:4px;flex:1;padding:8px}.being-captured-country-visit{letter-spacing:.05em}label:has(input[type=checkbox]){cursor:pointer}
