.travel-intro{text-align:center;padding:35px 0 32px}.travel-eyebrow{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.18em;color:var(--rom-rose-deep);margin:0 0 12px}.travel-intro h1{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:400;letter-spacing:.06em;margin:0 0 14px}.travel-lead{font-size:1rem;color:var(--rom-ink-soft);margin:0}.travel-count{display:flex;justify-content:center;align-items:baseline;gap:20px;color:var(--rom-ink-soft);font-size:.8rem;margin-top:24px}.travel-count strong{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--rom-rose-deep);margin-right:4px}.travel-count__divider{opacity:.35}
.travel-atlas{border:1px solid #daccc1;background:#fcfaf5;border-radius:20px;overflow:hidden;box-shadow:0 14px 45px #795e6510}.travel-atlas__heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:27px 30px 16px}.travel-atlas__heading h2,.travel-section-heading h2{font-family:var(--font-display);font-weight:400;font-size:1.55rem;margin:0}.travel-atlas__heading .travel-eyebrow{font-size:.58rem}.travel-legend{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;font-size:.72rem;color:#725259;padding:0;margin:0;list-style:none}.travel-legend li{display:flex;align-items:center;gap:8px;white-space:nowrap}.travel-legend li>span{width:8px;height:8px;background:var(--trip-color);border-radius:50%;box-shadow:0 0 0 4px var(--trip-wash)}.travel-legend small{font-size:.62rem;color:#85766d}
.travel-map-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 30px 12px}.travel-view-buttons,.travel-zoom-buttons{display:flex;gap:4px}.travel-map-tools button{font-family:var(--font-sans);border:1px solid #dfd4c8;background:#fffdf9;border-radius:7px;color:#65564b;min-height:36px;padding:6px 12px;font-size:.72rem;cursor:pointer}.travel-map-tools button[aria-pressed="true"]{background:#705761;border-color:#705761;color:#fff}.travel-map-tools button:disabled{opacity:.4;cursor:default}.travel-map-tools button:hover:not(:disabled){border-color:#ac566f}.travel-map-tools button:focus-visible,.travel-card button:focus-visible{outline:2px solid #a64c67;outline-offset:3px}
.travel-map{position:relative;width:100%;height:440px;background:#e9f0ed;border-block:1px solid #dddcd0;overflow:hidden}.travel-map svg{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.travel-map svg:active{cursor:grabbing}.map-ocean{fill:#e9f0ed}.map-country{fill:#f6f2e7;stroke:#c5c7b8;stroke-width:.7;vector-effect:non-scaling-stroke}.map-grid{fill:none;stroke:#aac5c0;stroke-width:.6;opacity:.35;vector-effect:non-scaling-stroke}.map-outline{fill:none;stroke:#baccc5;stroke-width:1}.map-marker{cursor:pointer;outline:none}.map-marker__halo{fill:#b66b8220;stroke:#a64c67;stroke-opacity:.24;stroke-width:1}.map-marker__core{fill:#a64c67;stroke:#fff8f1;stroke-width:2}.map-marker text{font-family:var(--font-sans);font-size:13px;font-weight:500;fill:#69434d;paint-order:stroke;stroke:#fffdf7;stroke-width:4px;stroke-linejoin:round;pointer-events:none}.map-marker__leader{stroke:#a64c67;stroke-width:1;opacity:.55;pointer-events:none}.map-marker:hover .map-marker__halo,.map-marker:focus-visible .map-marker__halo,.map-marker[aria-pressed="true"] .map-marker__halo{fill:#b66b8238;stroke:#91415c;stroke-opacity:1;stroke-width:2}.map-marker:focus-visible .map-marker__core{fill:#673649}
.travel-map-status{padding:32px 24px;text-align:center;font-size:.85rem;color:var(--rom-ink-soft);margin:0}.travel-map-status[data-error="true"]{background:#faf1ea}.travel-map-caption{display:flex;justify-content:space-between;gap:12px;padding:10px 30px;color:#766b61;font-size:.63rem}.travel-map-caption p{margin:0}.travel-map-caption a{color:inherit;text-underline-offset:3px}
.travel-selection{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:24px 30px;background:#f5eee7;border-top:1px solid #e3d7cb}.travel-selection__label{font-size:.6rem;letter-spacing:.15em;color:#80615e}.travel-selection h3{font-family:var(--font-display);font-weight:400;font-size:1.7rem;margin:4px 0 0;white-space:nowrap}.travel-selection h3 small{font-family:var(--font-mono);font-size:.63rem;margin-left:8px;color:#806d67}.travel-selection p{font-size:.76rem;margin:4px 0;color:#76645d}.travel-selection .travel-selection__dates{font-family:var(--font-mono);font-size:.73rem;color:#855c62}.travel-selection>a{font-size:.76rem;white-space:nowrap;color:#934962;text-decoration:none;border-bottom:1px solid #b37d87;padding:6px 0}.travel-selection>a:hover{color:#6e3046}
.travel-records,.travel-next,.travel-notes{margin-top:52px}.travel-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.travel-section-heading>p{font-size:.8rem;color:var(--rom-ink-soft);margin:0}.travel-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.travel-card{position:relative;background:#fffcf9;border:1px solid #e4d4cf;border-radius:15px;padding:27px 30px;overflow:hidden}.travel-card.is-selected{border-color:#b97285;box-shadow:0 6px 24px #b9728515}.travel-card__top{display:flex;justify-content:space-between;align-items:center;gap:12px}.travel-card__index{font-family:var(--font-mono);font-size:.7rem;color:#a98283}.travel-badge{display:inline-block;font-size:.65rem;color:#89545e;background:#f2e3e5;border-radius:20px;padding:5px 11px}.travel-card__english{font-family:var(--font-mono);text-transform:uppercase;font-size:.66rem;letter-spacing:.17em;color:#9a7975;margin:26px 0 6px}.travel-card h3{font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:.1em;margin:0}.travel-card__dates{font-family:var(--font-mono);font-size:.73rem;color:#856b67;margin:16px 0}.travel-card__summary{font-size:.85rem;color:#735e5c;line-height:1.85;margin:12px 0 25px}.travel-card__actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.travel-card__actions button{font-family:var(--font-sans);font-size:.73rem;border:0;border-bottom:1px solid #b6818e;padding:5px 0;background:none;color:#8a435a;cursor:pointer}.travel-card__actions a{font-size:.73rem;color:#84605f;text-underline-offset:5px}
.travel-plan{display:flex;align-items:center;gap:30px;border:1px dashed #c6ac86;border-radius:15px;padding:30px;background:#faf4e8}.travel-plan__compass{font-size:4rem;color:#b79660;font-family:serif;font-weight:400;line-height:1;padding:12px}.travel-plan h3{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:#755b43;margin:16px 0 10px}.travel-plan p{font-size:.84rem;margin:10px 0;color:#806d58}.travel-plan .travel-plan__dates{font-family:var(--font-mono);font-size:.8rem;color:#876344}.travel-badge--planned{background:#eee3cf;color:#816239}.travel-plan .travel-plan__note{font-size:.75rem;color:#907a62}.travel-notes{margin-bottom:35px}
@media(max-width:700px){.travel-intro{padding:20px 0 28px}.travel-intro h1{font-size:2.2rem}.travel-lead{font-size:.87rem}.travel-count{gap:12px;font-size:.7rem}.travel-count strong{font-size:1.7rem}.travel-atlas__heading{padding:23px 18px 14px;align-items:start}.travel-atlas__heading h2{font-size:1.2rem}.travel-atlas__heading .travel-eyebrow{font-size:.46rem;letter-spacing:.09em}.travel-legend{font-size:.62rem;margin-top:4px}.travel-map-tools{padding:0 14px 12px;gap:8px}.travel-map-tools button{padding:6px 9px;font-size:.67rem;min-height:38px}.travel-map{height:390px}.travel-map-caption{padding:11px 18px;flex-direction:column;gap:4px;font-size:.6rem}.travel-selection{grid-template-columns:1fr;gap:10px;padding:20px}.travel-selection h3{font-size:1.5rem}.travel-selection>a{justify-self:start;font-size:.75rem}.travel-selection__label{font-size:.6rem}.travel-section-heading{align-items:start;flex-direction:column;gap:12px}.travel-section-heading h2{font-size:1.4rem}.travel-section-heading>p{font-size:.77rem}.travel-cards{grid-template-columns:1fr;gap:16px}.travel-card{padding:24px}.travel-card h3{font-size:2.2rem}.travel-card__summary{font-size:.82rem}.travel-plan{align-items:start;gap:12px;padding:23px 20px}.travel-plan__compass{font-size:2rem;padding:6px 0}.travel-plan h3{font-size:1.3rem}.travel-plan .travel-plan__dates{font-size:.69rem;line-height:1.9}.travel-plan p{font-size:.79rem}.travel-eyebrow{font-size:.56rem}.travel-records,.travel-next,.travel-notes{margin-top:38px}}
@media(prefers-reduced-motion:reduce){.travel-map *, .travel-map *::before{transition:none!important;animation:none!important}}

.map-marker__halo{pointer-events:none}.map-marker__label-hit{fill:transparent;stroke:none;pointer-events:all}.map-marker text{pointer-events:auto}
@media(max-width:700px){.travel-map[data-view="world"]{height:390px}}
.travel-badge--base{background:#eee1c9;color:#76582e}.map-marker--base .map-marker__halo{stroke-width:2.5;stroke-dasharray:3 2}
.travel-map-tools{flex-wrap:wrap}.travel-zoom-buttons{margin-left:auto}
@media(max-width:700px){.travel-view-buttons{flex-basis:100%}.travel-view-buttons button{flex:1}.travel-map-tools button{min-height:44px}.travel-zoom-buttons button{min-width:44px}}

/* Category colours identify who travelled; selection and base keep that identity. */
[data-travel-category="captain"]{--trip-color:#157767;--trip-wash:#15776720}
[data-travel-category="crystal"]{--trip-color:#b57516;--trip-wash:#b5751620}
[data-travel-category="together"]{--trip-color:#a64c67;--trip-wash:#a64c6720}
.map-marker .map-marker__core,.map-marker:focus-visible .map-marker__core{fill:var(--trip-color)}
.map-marker .map-marker__halo,.map-marker:hover .map-marker__halo,.map-marker:focus-visible .map-marker__halo,.map-marker[aria-pressed="true"] .map-marker__halo{fill:var(--trip-wash);stroke:var(--trip-color)}
.map-marker .map-marker__leader{stroke:var(--trip-color)}
.map-marker text{fill:var(--trip-color)}
.travel-card[data-travel-category] .travel-badge:not(.travel-badge--base){color:var(--trip-color);background:var(--trip-wash)}
.travel-card.is-selected{border-color:var(--trip-color)}
.travel-atlas__heading{flex-wrap:wrap}
@media(max-width:700px){.travel-legend{gap:12px 18px;flex-basis:100%;margin-top:8px}}

.travel-place-picker{display:flex;align-items:center;gap:12px;flex-basis:100%;font-size:.75rem;color:#725259}.travel-place-picker select{min-width:0;max-width:100%;flex:1;min-height:44px;padding:6px 10px;border:1px solid #dfd4c8;border-radius:7px;background:#fffdf9;color:#65564b;font:inherit}.travel-place-picker select:focus-visible{outline:2px solid #a64c67;outline-offset:2px}

.map-country[data-travel-category]{fill:var(--trip-wash);stroke:var(--trip-color);stroke-width:1.2}

.map-marker .map-marker__halo{opacity:0}.map-marker:hover .map-marker__halo,.map-marker:focus-visible .map-marker__halo,.map-marker[aria-pressed="true"] .map-marker__halo{opacity:1}

.travel-count{flex-wrap:wrap}

/* Separate personal visits keep both colours, never the shared-trip colour. */
.map-marker__captain-ring{fill:#157767;stroke:#fff8f1;stroke-width:1;pointer-events:none}
.travel-card[data-also-captain] .travel-badge{border-left:4px solid #157767}
.travel-selection h3{white-space:normal;overflow-wrap:anywhere}
.travel-selection>div{min-width:0}
.travel-card h3{font-size:clamp(1.45rem,3vw,2.5rem);overflow-wrap:anywhere;letter-spacing:.04em}
.travel-card__english{overflow-wrap:anywhere}

#map-filter-count{white-space:nowrap;font-size:.7rem}.travel-card[hidden]{display:none}

.travel-personal-toggle{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.76rem;color:#65564b;cursor:pointer}.travel-personal-toggle input{width:19px;height:19px;accent-color:#a64c67}.travel-personal-toggle input:focus-visible{outline:2px solid #a64c67;outline-offset:3px}

.travel-personal-fallback{margin-top:28px;border:1px solid #e4d4cf;border-radius:15px;background:#fffcf9;overflow:hidden}
.travel-personal-fallback>summary{padding:18px 24px;color:#725259;font-size:.87rem;cursor:pointer;overflow-wrap:anywhere}
.travel-personal-fallback>summary span{display:inline-block;margin-left:12px;color:#806d67;font-size:.73rem}
.travel-personal-fallback>summary:focus-visible{outline:2px solid #a64c67;outline-offset:-4px}
.travel-personal-fallback__body{padding:0 24px 24px}
.travel-personal-fallback__intro{font-size:.82rem;color:#76645d}
.travel-personal-fallback h3{font-size:1rem;font-weight:500;color:#725259;margin:26px 0 12px}
.travel-personal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0;padding:0;list-style:none}
.travel-personal-list li{min-width:0;overflow-wrap:anywhere;border-top:1px solid #eee2da;padding-top:12px;font-size:.82rem;color:#735e5c}
.travel-personal-list strong{font-weight:500;color:#69434d}
.travel-personal-list__english{font-family:var(--font-mono);font-size:.65rem;color:#9a7975}
.travel-personal-list p{margin:6px 0;font-size:.77rem;line-height:1.8}
.travel-personal-list__dates{font-family:var(--font-mono)}
.travel-personal-list a{font-size:.77rem;text-underline-offset:3px}
@media(max-width:700px){.travel-personal-fallback>summary{padding:16px 18px}.travel-personal-fallback__body{padding:0 18px 20px}.travel-personal-list{grid-template-columns:1fr}}
