/* Portholes, a readable route ribbon and an open activity timeline. */
:root{--cruise-small:.8125rem;--cruise-label:.75rem;--cruise-title:1.125rem}
.lines-list{grid-template-columns:minmax(0,1fr)}
.lines-list>li{min-width:0}
@media(min-width:900px){.lines-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.onboard-shortcut{display:flex;align-items:center;gap:var(--space-4);width:100%;text-align:left;padding:var(--space-4) 0;margin-bottom:var(--space-5);border-bottom:1px solid var(--color-divider)}
.onboard-shortcut-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;color:var(--color-accent);background:var(--color-accent-highlight)}
.onboard-shortcut-icon svg{width:26px;height:26px}
.onboard-shortcut-copy{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}
.onboard-shortcut-copy strong{font-size:1rem;line-height:1.4}
.onboard-shortcut-copy small{font-size:var(--cruise-small);color:var(--color-text-muted);line-height:1.5}
.onboard-shortcut-arrow{color:var(--color-accent);flex-shrink:0}
.onboard-shortcut-arrow svg{width:20px;height:20px}
.onboard-shortcut:hover .onboard-shortcut-copy strong{text-decoration:underline;text-underline-offset:3px}
.onboard-guidance-heading{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}
.onboard-guidance-heading .page-title{margin-block:var(--space-2) 0}
.onboard-guidance .emergency h2{font-size:var(--cruise-title);margin-bottom:var(--space-3)}
.onboard-guidance-property{padding-block:var(--space-6);border-block:1px solid var(--color-divider);margin-top:var(--space-6)}
.onboard-guidance-property h2{font-size:var(--cruise-title);margin-bottom:var(--space-3)}
.onboard-guidance-property p+p{margin-top:var(--space-3)}
.onboard-view-tabs{margin-bottom:var(--space-6)}
.onboard-delivery-note{padding-block:var(--space-5);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-divider)}
.onboard-delivery-note h2{font-size:var(--cruise-title);margin-bottom:var(--space-3)}
.onboard-delivery-note p{margin-bottom:var(--space-3);color:var(--color-text-muted)}
.onboard-delivery-note>strong,.onboard-report-state{font-size:var(--cruise-small);line-height:1.5}
.onboard-report-state{display:block;color:var(--color-text-muted);margin-top:var(--space-2)}
.onboard-staff-check{padding:var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);align-items:flex-start}
.onboard-staff-check input{flex-shrink:0;accent-color:var(--color-accent);margin-top:4px}
[data-testid='sheet-missing'] .btn,[data-testid='sheet-lost'] .btn{white-space:normal;max-width:100%;line-height:1.5}
.lf-item__description{font-size:var(--cruise-small);margin-block:var(--space-2);overflow-wrap:anywhere}
.onboard-property-feed>.section-head{flex-wrap:wrap;gap:var(--space-3)}
.onboard-property-feed>.section-head>.flex{flex-wrap:wrap}
@media(max-width:480px){.onboard-property-feed .lf-item{flex-wrap:wrap}.onboard-property-feed .lf-item__body{flex-basis:60%;min-width:0}}
@media(max-width:480px){.onboard-shortcut{gap:var(--space-3)}.onboard-shortcut-arrow{display:none}.onboard-guidance-heading{align-items:flex-start}.onboard-guidance-heading .page-title{font-size:1.5rem}}
.sailing-identity{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;margin-bottom:var(--space-6);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}
.sailing-porthole{width:52px;height:52px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;border:3px double var(--color-primary);color:var(--color-primary);background:var(--color-primary-highlight)}
.sailing-porthole svg{width:24px;height:24px}
.sailing-identity-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}
.sailing-sample{font-size:var(--cruise-label);letter-spacing:.08em;font-weight:800;color:var(--color-accent)}
.sailing-identity-copy>strong{font-family:var(--font-display);font-size:var(--cruise-title)}
.sailing-identity-copy>span:last-child,.sailing-selected>span{font-size:var(--cruise-small);color:var(--color-text-muted)}
.sailing-selected{display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-5);border-left:1px solid var(--color-divider)}
.sailing-selected strong{font-size:var(--cruise-small)}
.sailing-ribbon{margin-block:var(--space-6)}
.sailing-ribbon-heading{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3);font-size:var(--cruise-small)}
.sailing-ribbon-heading>span{color:var(--color-text-muted);font-size:var(--cruise-label)}
.sailing-ribbon-track{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) var(--space-1) var(--space-3);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}
.sailing-day{flex:1 0 112px;max-width:150px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);text-align:left;scroll-snap-align:start;border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);transition:background 160ms,border-color 160ms,color 160ms}
.sailing-day:hover{border-color:var(--color-primary)}
.sailing-day.active{background:var(--hub-feed-bg);color:white;border-color:var(--hub-feed-bg);box-shadow:inset 0 -3px var(--color-accent)}
.sailing-day-type,.sailing-day-saved{font-size:var(--cruise-label);font-weight:700}
.sailing-day-date{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--cruise-small)}
.sailing-day-date strong{font-family:var(--font-display);font-size:1.5rem}
.sailing-day-port{font-size:var(--cruise-small);line-height:1.4;min-height:2.8em;overflow-wrap:anywhere}
.sailing-day-saved{color:var(--color-text-muted)}
.sailing-day.active .sailing-day-saved{color:white}
.hub-circle-icon{position:relative;border:3px double var(--color-border);box-shadow:0 0 0 5px var(--color-bg),0 0 0 6px var(--color-divider)}
.hub-circle-icon:after{content:'';position:absolute;width:6px;height:6px;background:currentColor;border-radius:50%;bottom:5px;opacity:.45}
.hub-circle-link:hover .hub-circle-icon{transform:translateY(-3px) rotate(-3deg)}
.hub-feed-watermark{right:-12px;bottom:-12px;opacity:.12}
.ev-list .ev{position:relative;border:0;border-radius:0;background:transparent;padding:var(--space-6) 0;gap:var(--space-6);border-bottom:1px solid var(--color-divider)}
.ev-list .ev__time{flex-basis:88px;position:relative;padding-right:var(--space-4)}
.ev-list .ev__time:after{content:'';position:absolute;right:0;top:6px;width:8px;height:8px;border-radius:50%;border:2px solid var(--color-primary);background:var(--color-bg)}
.ev-list .ev__body{border-left:1px solid var(--color-divider);padding-left:var(--space-6);gap:var(--space-2)}
.ev-list .ev__title{font-size:clamp(1.125rem,1.05rem + .3vw,1.375rem)}
.ev-list .ev__time strong{font-size:1rem}
.ev-list .ev__time small{font-size:var(--cruise-label);color:var(--color-text-muted)}
.ev-plan-status{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;font-size:var(--cruise-small);font-weight:700;color:var(--color-primary);padding:var(--space-2) var(--space-3);border-radius:999px;background:var(--color-primary-highlight)}
.ev-plan-status--interested{color:var(--color-accent);background:var(--color-accent-highlight)}
.ev-plan-status svg{width:16px;height:16px}
.ev-list .rsvp{min-height:44px;border-radius:999px;padding-inline:var(--space-4);transition:background 160ms,color 160ms,transform 100ms}
.ev-list .rsvp:active,.sailing-day:active{transform:scale(.98)}
.plan-feedback{animation:cruise-confirm 220ms ease-out}
@keyframes cruise-confirm{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
html[data-motion='reduced'] .hub-circle-link:hover .hub-circle-icon{transform:none}
html[data-motion='reduced'] .plan-feedback{animation:none}
html[data-motion='reduced'] .ev-list .rsvp:active,html[data-motion='reduced'] .sailing-day:active{transform:none}
@media(prefers-reduced-motion:reduce){.plan-feedback{animation:none}.sailing-day,.ev-list .rsvp{transition:none}.hub-circle-link:hover .hub-circle-icon,.ev-list .rsvp:active,.sailing-day:active{transform:none}}
@media(max-width:600px){
 .sailing-identity{gap:var(--space-3);flex-wrap:wrap;padding-block:var(--space-4)}
 .sailing-porthole{width:44px;height:44px}
 .sailing-selected{flex:1 0 100%;padding-left:56px;border-left:0;flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}
 .sailing-selected>span:last-child{flex-basis:100%}
 .sailing-day{flex-basis:110px;padding:var(--space-3)}
 .ev-list .ev{flex-direction:column;gap:var(--space-3);padding-block:var(--space-5)}
 .ev-list .ev__time{flex-basis:auto;flex-direction:row;flex-wrap:wrap;align-items:baseline;padding-left:var(--space-5);padding-right:0}
 .ev-list .ev__time:after{left:0;right:auto}
 .ev-list .ev__body{padding-left:var(--space-5)}
 .ev-list .ev__social{flex-wrap:wrap}
}
