:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0b0f14;color:#f2f2f2}#root{width:100%}.page{max-width:640px;width:100%;margin:0 auto;padding:4rem 1.5rem}.navbar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #3a3f47;background:#111820}.navbar-brand{font-weight:700;font-size:1.1rem;color:#f2f2f2;text-decoration:none}.navbar-links{display:flex;align-items:center;gap:.5rem}.navbar-menu{position:relative}.navbar-browse-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;font-size:.9rem;font-weight:500;color:#f2f2f2;cursor:pointer;padding:.4rem .6rem;border-radius:8px}.navbar-about-link{display:flex;align-items:center;font-size:.9rem;font-weight:500;color:#f2f2f2;text-decoration:none;padding:.4rem .6rem;border-radius:8px}.navbar-about-link:hover,.navbar-browse-toggle:hover{background:#1c232c}.navbar-dropdown{position:absolute;right:0;top:2.25rem;background:#161b22;border:1px solid #3a3f47;border-radius:8px;box-shadow:0 4px 12px #0000004d;min-width:160px;overflow:hidden;z-index:10}.navbar-dropdown-wide{min-width:240px}.navbar-dropdown-search{display:block;width:100%;padding:.6rem .85rem;border:none;border-bottom:1px solid #3a3f47;border-radius:0;background:#161b22;color:#f2f2f2;font-size:.9rem}.navbar-dropdown-search:focus{outline:none;background:#1c232c}.navbar-dropdown-scroll{max-height:320px;overflow-y:auto}.navbar-dropdown-empty{padding:.6rem .85rem;margin:0;font-size:.9rem;opacity:.6}.navbar-dropdown-link{display:block;width:100%;padding:.6rem .85rem;font-size:.9rem;color:#f2f2f2;text-decoration:none;text-align:left}.navbar-dropdown-option{background:none;border:none;cursor:pointer;font:inherit}.navbar-dropdown-option[aria-current=true]{background:#1c232c;font-weight:600}.navbar-dropdown-link:hover{background:#1c232c}.navbar-dropdown-link+.navbar-dropdown-link{border-top:1px solid #232a33}h1{font-size:2.5rem;margin-bottom:.25rem}.tagline{opacity:.75;margin-bottom:2.5rem}.search-form{display:grid;gap:1.25rem}.search-form label{display:grid;gap:.4rem;font-size:.9rem;opacity:.9}.search-form input,.search-form select{padding:.6rem .75rem;border-radius:8px;border:1px solid #3a3f47;background:#161b22;color:inherit;font-size:1rem}.search-form button{margin-top:.5rem;padding:.75rem 1rem;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-size:1rem;cursor:pointer}.search-form button:hover:not(:disabled){background:#2563eb}.search-form button:disabled{cursor:not-allowed;opacity:.6}.destinations-search-summary{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.5rem;opacity:.9}.destinations-controls{display:flex;flex-wrap:wrap;gap:1.25rem;margin:0 0 1.5rem}.destinations-view-control{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.destinations-view-select{padding:.4rem .6rem;border:1px solid #3a3f47;border-radius:8px;background:#161b22;color:#f2f2f2;font:inherit;cursor:pointer}.destinations-ranked-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.destinations-ranked-item{border-radius:8px}.destinations-ranked-link{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid #3a3f47;border-radius:8px;background:#161b22;color:inherit;text-decoration:none}.destinations-ranked-link:hover{border-color:#3b82f6}.destinations-ranked-position{width:1.75rem;font-weight:700;opacity:.6}.destinations-ranked-name{flex:1;font-size:1.05rem}.destinations-ranked-visa{opacity:.65;font-size:.9em;font-weight:400}.travel-advisory-icon{display:inline-flex;position:relative;vertical-align:-.1em;margin-left:.4em;cursor:help}.travel-advisory-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);width:max-content;max-width:260px;padding:.5rem .65rem;border:1px solid #3a3f47;border-radius:6px;background:#1f2630;color:#f2f2f2;font-size:.8rem;font-weight:400;line-height:1.35;text-align:left;white-space:normal;opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;z-index:20}.travel-advisory-icon:hover:after,.travel-advisory-icon:focus-visible:after{opacity:1;visibility:visible}.destinations-ranked-score{font-variant-numeric:tabular-nums;font-weight:600;color:#3b82f6}.destination-detail-dates{margin:-1.5rem 0 1.5rem;opacity:.9;font-weight:600}.about-sources{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.about-sources a{color:#3b82f6}.destination-detail-weather-note{margin:-.5rem 0 1rem;opacity:.6;font-size:.9rem}.destination-detail-stats{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}.destination-detail-stat-card{display:flex;align-items:center;padding:.75rem 1rem;border:1px solid #3a3f47;border-radius:8px;background:#161b22;font-size:1.05rem}.destination-detail-stat-card-link{display:flex;align-items:center;width:100%;color:inherit;text-decoration:none;cursor:pointer;font:inherit;text-align:left}.destination-detail-stat-card-link:hover{border-color:#3b82f6}.city-detail-nearby-card{flex-direction:column;align-items:flex-start;gap:.2rem}.city-detail-nearby-name{font-weight:600}.city-detail-nearby-meta{font-size:.85rem;opacity:.7}.city-detail-list-note{padding:0 .25rem;font-size:.85rem;opacity:.6}.traveler-card-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}.traveler-card{display:flex;flex-direction:column;gap:.25rem;height:100%;padding:.85rem 1rem;border:1px solid #3a3f47;border-radius:8px;background:#161b22;color:inherit;text-decoration:none}.traveler-card:hover{border-color:#3b82f6}.traveler-card-name{font-size:1.05rem;font-weight:600}.traveler-card-meta{font-size:.85rem;opacity:.7}.traveler-tags{list-style:none;margin:.15rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.traveler-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .45rem;border:1px solid #3a3f47;border-radius:999px;background:#0d1117;font-size:.75rem;line-height:1.5;white-space:nowrap}.traveler-tag-dots{display:inline-flex;align-items:center;gap:2px;flex:none}.traveler-tag-dot{width:7px;height:7px;border-radius:50%;flex:none}.trip-tags{margin:.25rem 0 .1rem}.trip-tags .traveler-tag{font-size:.7rem;padding:.05rem .4rem}.traveler-detail-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.75rem}.traveler-recommend-button{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border:1px solid #3a3f47;border-radius:999px;background:#161b22;color:inherit;font:inherit;font-size:.8rem;cursor:pointer;white-space:nowrap}.traveler-recommend-button:hover,.traveler-recommend-button[aria-expanded=true]{border-color:#3b82f6;color:#3b82f6}.traveler-recommendations{margin:0 0 1.5rem;padding:.25rem 0 .25rem .9rem;border-left:2px solid #3a3f47}.traveler-recommendations-message{margin:0;color:#9aa4b2;font-size:.95rem}.traveler-recommendations-retry{margin-top:.5rem;padding:.3rem .7rem;border:1px solid #3a3f47;border-radius:6px;background:#161b22;color:inherit;font:inherit;font-size:.85rem;cursor:pointer}.traveler-recommendations-retry:hover{border-color:#3b82f6}.traveler-recommendations-caveat{margin:0 0 .6rem;color:#9aa4b2;font-size:.85rem}.traveler-recommendation-why{list-style:disc;margin:.35rem 0 0;padding-left:1.1rem;color:#9aa4b2;font-size:.85rem}.traveler-recommendation-why li+li{margin-top:.15rem}.traveler-tags-detail{margin:-.25rem 0 .75rem}.traveler-tags-detail .traveler-tag{font-size:.8rem;padding:.15rem .6rem;background:#161b22}.rec-sys-filter{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;cursor:pointer}.rec-sys-filter input{cursor:pointer}.rec-sys-type-filter{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500}.rec-sys-type-filter select{background:#161b22;color:inherit;border:1px solid #3a3f47;border-radius:6px;padding:.25rem .4rem;font-size:.9rem}.trip-order-filter{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;margin:-.5rem 0 1rem}.trip-order-filter select{background:#161b22;color:inherit;border:1px solid #3a3f47;border-radius:6px;padding:.25rem .4rem;font-size:.9rem}.rec-sys-tag-filter{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;width:100%}.rec-sys-tag-filter-label{font-size:.9rem;font-weight:500}.rec-sys-tag-options{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.rec-sys-tag-option{font:inherit;font-size:.75rem;line-height:1.5;color:inherit;cursor:pointer}.rec-sys-tag-option:hover:not(:disabled){border-color:#3b82f6}.rec-sys-tag-option[aria-pressed=true]{border-color:#3b82f6;background:#1d3557;color:#dbeafe}.rec-sys-tag-option:disabled{opacity:.4;cursor:not-allowed}.rec-sys-tag-option-count{margin-left:.4rem;padding-left:.4rem;border-left:1px solid #3a3f47;color:#9aa4b2;font-variant-numeric:tabular-nums}.rec-sys-tag-clear{padding:0;border:none;background:none;color:#9aa4b2;font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer}.rec-sys-tag-clear:hover{color:inherit}.rec-sys-entropy-filter{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem}.rec-sys-entropy-field{display:flex;align-items:center;gap:.4rem;font-weight:500}.rec-sys-entropy-filter select,.rec-sys-entropy-filter input[type=number]{background:#161b22;color:inherit;border:1px solid #3a3f47;border-radius:6px;padding:.25rem .4rem;font-size:.9rem}.rec-sys-entropy-comparator{width:3.5rem}.rec-sys-entropy-value{width:5.5rem}.rec-sys-entropy-hint{opacity:.6;font-size:.8rem;white-space:nowrap}.rec-sys-entropy-loading{opacity:.7;font-size:.85rem;margin:-.5rem 0 1rem}.trip-card-scores{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid #262c36}.trip-card-score{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.8rem;cursor:help}.trip-card-score-label{opacity:.6}.trip-card-score-value{font-variant-numeric:tabular-nums;font-weight:600}.traveler-card-entropy{font-size:.75rem;opacity:.65}.rec-sys-filter-count{align-self:center;font-size:.85rem;opacity:.6}.rec-sys-empty pre{margin:.75rem 0;padding:.85rem 1rem;border:1px solid #3a3f47;border-radius:8px;background:#161b22;overflow-x:auto;font-size:.85rem}.rec-sys-empty-note{opacity:.7;font-size:.9rem}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:1000}.lightbox-dialog{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:min(90vw,640px);max-height:90vh;padding:2.5rem 1.5rem 1.5rem;border:1px solid #3a3f47;border-radius:12px;background:#161b22}.lightbox-close-button{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid #3a3f47;border-radius:6px;background:#0b0f14;color:#f2f2f2;font-size:1rem;line-height:1;cursor:pointer}.lightbox-close-button:hover{border-color:#3b82f6}.lightbox-image-area{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:0}.lightbox-image{max-width:100%;max-height:65vh;border-radius:8px;object-fit:contain}.lightbox-nav-button{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:1px solid #3a3f47;border-radius:50%;background:#0b0f14d9;color:#f2f2f2;font-size:1.5rem;line-height:1;cursor:pointer}.lightbox-nav-button:hover{border-color:#3b82f6}.lightbox-nav-button-prev{left:.5rem}.lightbox-nav-button-next{right:.5rem}.lightbox-caption{margin:0;font-size:1rem;opacity:.9;text-align:center}.lightbox-dots{display:flex;gap:.5rem}.lightbox-dot{width:.5rem;height:.5rem;padding:0;border:none;border-radius:50%;background:#3a3f47;cursor:pointer}.lightbox-dot-active{background:#3b82f6}.traveler-charts{display:grid;gap:1rem;margin-top:1rem}.share-bar{border:1px solid #3a3f47;border-radius:8px;background:#161b22;padding:1rem}.share-bar-title{margin:0 0 .75rem;font-size:1.05rem}.share-bar-figure{width:100%}.share-bar-legend{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem}.share-bar-legend li{display:flex;align-items:center;gap:.4rem}.share-bar-swatch{width:10px;height:10px;border-radius:2px;flex:none}.share-bar-legend-value{opacity:.7;font-variant-numeric:tabular-nums}.share-bar-caption,.share-bar-empty{font-size:.85rem;opacity:.7;margin:.75rem 0 0}.share-bar-table{margin-top:.75rem;font-size:.85rem}.share-bar-table summary{cursor:pointer;opacity:.7}.share-bar-table table{width:100%;border-collapse:collapse;margin-top:.5rem}.share-bar-table th,.share-bar-table td{text-align:left;padding:.3rem .5rem;border-bottom:1px solid #3a3f47;font-weight:400}.share-bar-table td{font-variant-numeric:tabular-nums}.share-bar-table thead th{opacity:.7}.share-bar-tooltip{display:flex;flex-direction:column;gap:.15rem;background:#0b0f14;border:1px solid #3a3f47;border-radius:6px;padding:.4rem .6rem;font-size:.85rem;color:#f2f2f2}.entropy-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.entropy-card{flex-direction:column;align-items:flex-start;gap:.15rem}.entropy-value{font-size:1.9rem;font-weight:600;line-height:1.1}.entropy-label{font-size:.8rem;opacity:.7}.entropy-note{margin-top:.75rem;margin-bottom:0;font-size:.9rem}.beaches-map{display:block;width:100%;max-width:1100px;border:1px solid #3a3f47;border-radius:6px;cursor:crosshair}.beaches-hover{min-height:1.4rem;margin:.5rem 0 1rem;font-size:.85rem;color:#9aa4b1}.flights-by-month-chart{max-width:1100px;margin:.5rem 0 1.5rem}.flights-by-month-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#9aa4b1;cursor:pointer}.flights-by-month-table{border-collapse:collapse;font-size:.9rem;min-width:340px}.flights-by-month-table th,.flights-by-month-table td{padding:.3rem .9rem .3rem 0;text-align:right;border-bottom:1px solid #20262e}.flights-by-month-table thead th,.flights-by-month-table tbody th{text-align:left;font-weight:500;color:#9aa4b1}.flights-by-month-table tbody th{color:inherit}
