*,:before,:after{box-sizing:border-box}:root{--blue:#1f7fc1;--blue-dark:#135a8c;--blue-darker:#0e4670;--blue-tint:#e3eff8;--blue-wash:#f2f8fc;--green:#16a34a;--amber:#d97706;--gray:#6b7280;--red:#dc2626;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--accent:#fc5;--sans:system-ui, "Segoe UI", Roboto, sans-serif}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}#root{flex-direction:column;height:100svh;display:flex;overflow:hidden}.app-header{background:var(--blue);color:#fff;z-index:400;grid-template-columns:1fr auto 1fr;align-items:center;height:52px;padding:0 16px;display:grid;position:sticky;top:0}.header-title-group{justify-content:center;align-items:center;gap:8px;min-width:0;padding:0 8px;display:flex;overflow:hidden}.header-logo{white-space:nowrap;color:#fff;flex-shrink:0;align-items:center;gap:6px;display:flex}.header-wheel-icon{flex-shrink:0;width:26px;height:26px}.header-logo-text{letter-spacing:-.3px;font-size:20px;font-weight:700}.header-sailing-ctx{flex-direction:column;justify-content:center;gap:1px;min-width:0;display:flex;overflow:hidden}.hdr-sep{display:none}.hdr-ship{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.hdr-dates{color:#ffffffbf;white-space:nowrap;font-size:11px;font-weight:500;line-height:1.2}.header-back{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1}.header-back:hover{background:#ffffff26}.search-screen{flex-direction:column;flex:1;align-items:center;padding:20px 16px 48px;display:flex;overflow-y:auto}.search-screen h2{margin:0 0 6px;font-size:26px;font-weight:700}.search-screen p{color:var(--muted);text-wrap:balance;text-align:center;margin:0 0 20px}.search-form{flex-direction:column;gap:10px;width:100%;max-width:480px;display:flex}.field{text-align:left;flex-direction:column;gap:5px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.field select,.field input[type=date]{border:1px solid var(--border);width:100%;font-size:15px;font-family:var(--sans);background:var(--surface);color:var(--text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:8px;padding:10px 12px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field select:focus,.field input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1f7fc126}.btn-primary{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:16px;font-weight:600;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-primary:disabled{opacity:.5;cursor:default}.search-confidence-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;margin-top:10px;font-size:13px;display:flex}.search-confidence-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.search-confidence-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.search-confidence-range{opacity:.7}.search-confidence-sep{color:var(--muted);opacity:.5}.signup-strip{border:1px solid var(--border,#e5e7eb);text-align:center;background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:480px;margin-top:28px;padding:18px 20px 16px;display:flex}.signup-strip-benefits{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;font-size:13px;display:flex}.signup-strip-benefit{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.signup-strip-icon{font-size:13px}.signup-strip-sep{color:var(--muted);opacity:.4}.signup-strip-btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:11px 0;font-size:14px;font-weight:600;transition:opacity .15s}.signup-strip-btn:hover{opacity:.88}.signup-strip-signin{color:var(--muted);margin:0;font-size:12px}.signup-strip-signin button{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.itinerary-screen{-webkit-overflow-scrolling:touch;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px);flex:1;overflow-y:auto}.hero-hourly{background:#00000040;border-top:1px solid #ffffff26;margin:10px -16px -18px}.hero-hourly .section-heading{display:none}.hero-hourly .hourly-scroll{border-bottom:none}.hero-hourly .hour-col{color:#fff;border-right-color:#ffffff26}.hero-hourly .hour-time{color:#ffffffa6}.hero-hourly .hour-temp{color:#fff}.hero-hourly .hour-rain{color:#96d2ffe6}.hero-hourly .hour-precip{color:#96d2ffb3}.hero-hourly .hour-wind{color:#ffffffbf}.hero-hourly .hour-col{gap:1px;min-width:50px;padding:6px}.hero-hourly .hour-icon{font-size:18px}.hero-hourly .hour-time{white-space:nowrap;margin-top:0}.hero-hourly .hour-rain{font-size:10px}.signup-bar{background:var(--blue-dark);color:#fff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.signup-bar-left{color:#fff;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.signup-bar-left:hover{opacity:.85}.signup-bar-right{align-items:center;gap:8px;display:flex}.signup-bar-cta{color:var(--blue-dark);cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:14px;padding:6px 14px;font-size:12px;font-weight:700}.signup-bar-cta:hover{background:var(--blue-tint)}.signup-bar-cta--accent{background:var(--accent);color:var(--blue-darker)}.signup-bar-cta--accent:hover{background:#ffd770}.signup-bar-text{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;min-width:0;padding:0;font-family:inherit;font-size:12.5px;line-height:1.35}.signup-bar-text strong{font-size:13px;display:block}.signup-bar-dismiss{color:#fff9;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.signup-bar-dismiss:hover{color:#fff}.port-pills-row{border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#fff;flex-shrink:0;align-items:center;gap:7px;padding:9px 16px;display:flex;overflow-x:auto}.port-pills-row::-webkit-scrollbar{display:none}.port-pills-label{color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:11px;font-weight:700}.port-pill{background:var(--blue-wash);color:var(--blue-dark);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--sans);border:1.5px solid #b9d7ee;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;transition:background .1s;display:inline-flex}.port-pill:hover{background:var(--blue-tint)}.port-pill-flag{font-size:13px}.day-hero{color:#fff;z-index:20;background-position:50%;background-size:cover;padding:14px 16px 18px;position:sticky;top:0}.hero-sea,.hero-port{background:linear-gradient(#0000004d 0%,#000000bf 100%),url(https://images.unsplash.com/photo-1468581264429-2548ef9eb732?w=1280&q=75&auto=format&fit=crop) 50%/cover no-repeat;background-color:var(--blue-darker)}.hero-content{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.hero-main{flex:1;min-width:0}.hero-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.hero-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:2px;display:flex}.hero-date{opacity:.85;font-size:13px}.hero-save-btn{color:#fff;cursor:pointer;opacity:.75;background:0 0;border:none;align-items:center;gap:4px;padding:0 2px;transition:opacity .15s;display:flex}.hero-save-btn:hover,.hero-save-btn.saved{opacity:1}.hero-save-btn:disabled{opacity:.4;cursor:default}.hero-save-star{font-size:20px;line-height:1}.hero-save-label{letter-spacing:.3px;font-size:11px;font-weight:600}.hero-save-btn--stack{flex-direction:column;align-items:flex-end;gap:1px}.hero-save-main{align-items:center;gap:4px;display:flex}.hero-save-sub{opacity:.85;white-space:nowrap;font-size:10px;font-weight:500}.hero-save-sub--ok{color:#86efac;opacity:1;font-weight:600}.hero-save-bar{background:#ffffff40;border-radius:2px;width:70px;height:3px;margin-top:3px;display:block;overflow:hidden}.hero-save-bar i{background:#fff;height:100%;transition:width .2s;display:block}.hero-explore-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff2e;border:1.5px solid #ffffff8c;border-radius:14px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s}.hero-explore-btn:hover{background:#ffffff52}.hero-save-msg{opacity:.85;margin-top:-2px;margin-bottom:4px;font-size:12px}.hero-type-badge{text-transform:uppercase;letter-spacing:.6px;background:#ffffff38;border-radius:10px;padding:2px 9px;font-size:11px}.hero-port-name{text-shadow:0 1px 4px #0000004d;margin-bottom:2px;font-size:23px;font-weight:700;line-height:1.15}.hero-terminal-name{opacity:.75;text-shadow:0 1px 3px #0000004d;margin-bottom:12px;font-size:13px;font-weight:500}.hero-weather-row{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.hero-icon{font-size:36px;line-height:1}.hero-temp-block{align-items:baseline;gap:4px;display:flex}.hero-high{font-size:32px;font-weight:700}.hero-low{opacity:.65;font-size:19px}.hero-feels{opacity:.75;align-self:center;margin-left:6px;font-size:13px}.hero-chips{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.hero-chip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:16px;padding:3px 9px;font-size:12px;font-weight:500}.hero-chip--secondary{opacity:.65;background:#ffffff1f;font-size:12px}.hero-sea-content{margin-top:8px}.hero-sea-icon{font-size:48px}.hero-no-weather{opacity:.65;margin-top:10px;font-size:14px}.hero-moon-event{color:#ffe066;text-transform:uppercase;letter-spacing:.04em;background:#ffb40040;border:1px solid #ffb40080;border-radius:20px;padding:2px 8px;font-size:12px;font-weight:700}.day-strip-wrap{background:var(--surface);border-bottom:1px solid var(--border)}.strip-row{border:none;border-bottom:1px solid var(--border);width:100%;font-family:var(--sans);color:var(--text);text-align:left;cursor:pointer;background:0 0;border-left:3px solid #0000;flex-direction:column;align-items:stretch;padding:0;transition:background .12s;display:flex}.strip-main{flex:1;align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex}.strip-explore{color:var(--blue);border:1.5px solid var(--blue);cursor:pointer;white-space:nowrap;opacity:.9;background:0 0;border-radius:14px;flex-shrink:0;align-self:center;padding:5px 11px;font-size:12px;font-weight:600}.strip-explore:hover{background:var(--blue-tint);opacity:1}.strip-teaser-bar{background:var(--blue-tint);width:100%;color:var(--blue);cursor:pointer;text-align:left;letter-spacing:.1px;border:none;border-top:1px solid #b9d7ee;padding:9px 16px;font-size:13px;font-weight:600;display:block}.strip-teaser-bar:hover{background:#b9d7ee}.strip-explore-hint{color:var(--muted);opacity:.4;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.strip-row:last-child{border-bottom:none}.strip-row.selected{border-left-color:var(--blue);background:var(--blue-tint)}.strip-row.prepost{background:#fafafa}.strip-row.prepost.selected,.strip-row.sea-day.selected{background:var(--blue-tint)}.strip-row:hover:not(.selected){background:#f8fafc}.strip-row.sea-day{background:#f1f5f9;padding-top:6px;padding-bottom:6px}.strip-row.sea-day .strip-name{color:var(--muted);font-size:12px;font-weight:500}.strip-row.sea-day .strip-date{color:var(--muted)}.strip-row.sea-day .strip-dow,.strip-row.past-day:not(.selected) .strip-date-col,.strip-row.past-day:not(.selected) .strip-weather-col{opacity:.6}.strip-date-col{flex-direction:column;flex-shrink:0;align-items:center;width:52px;display:flex}.strip-dow{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;font-size:11px}.strip-date{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:600;line-height:1.2}.strip-info-col{flex:1;min-width:0}.strip-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.strip-country{color:var(--muted);margin-top:1px;font-size:11px;font-weight:400;display:block}.strip-sub{color:var(--muted);margin-top:1px;font-size:11px;display:block}.strip-weather-col{flex-direction:row;flex-shrink:0;align-items:center;gap:5px;display:flex}.strip-icon-wrap{font-size:20px;line-height:1}.strip-temp{font-size:13px;font-weight:700}.strip-temp-range{align-items:baseline;gap:3px;display:flex}.strip-hi{font-size:13px;font-weight:700}.strip-temp-sep{color:var(--muted);font-size:12px}.strip-lo{color:var(--muted);font-size:12px;font-weight:500}.strip-rain{color:var(--blue);font-size:11px}.day-precip{color:var(--muted);font-size:.85em}.day-rain-desc{color:var(--muted);white-space:nowrap;margin-top:1px;font-size:10px;display:block}.strip-wave{color:var(--blue-dark);font-size:11px;font-weight:600}.strip-wave-info{flex-direction:column;flex-shrink:0;align-self:center;align-items:flex-end;gap:1px;min-width:72px;display:flex}.strip-wave-ht{color:var(--blue-dark);font-size:11px;font-weight:700}.strip-wave-per{color:var(--muted);font-size:10px}.strip-wave-swell{color:#0e7490;font-size:10px}.sailing-map-section{margin:0 0 4px}.sailing-map-controls{border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:stretch;display:flex}.sailing-map-toggle{border:none;border-right:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;flex:1;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:flex}.sailing-map-toggle:hover{background:var(--surface)}.sailing-map-chevron{color:var(--muted);margin-left:auto;font-size:10px}.sailing-pdf-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:9px 14px;font-size:12px;font-weight:600}.sailing-pdf-btn:hover{background:var(--surface);color:var(--blue)}.sailing-pdf-btn.pdf-pending{color:var(--muted);cursor:default}.sailing-share-wrap{flex-shrink:0;position:relative}.sailing-share-btn{border:none;border-left:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;height:100%;padding:9px 14px;font-size:12px;font-weight:600}.sailing-share-btn:hover:not(:disabled){background:var(--surface);color:var(--blue)}.sailing-share-btn:disabled,.sailing-share-btn.sharing{color:var(--muted);cursor:default}.share-row{padding:4px 16px 12px;display:none;position:relative}.share-row-btn{background:var(--blue);color:#fff;width:100%;font-family:var(--sans);text-align:left;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 2px 8px #1f7fc159}.share-row-btn:active:not(:disabled){transform:scale(.99)}.share-row-btn:disabled{opacity:.7;cursor:default}.share-row-icon{flex-shrink:0;width:24px;height:24px}.share-row-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.share-row-title{font-size:16px;font-weight:700}.share-row-sub{opacity:.9;font-size:12px}.share-row-chev{opacity:.85;font-size:22px;line-height:1}.share-row .share-panel{right:16px}@media (width<=600px){.share-row{display:block}.sailing-map-controls .sailing-share-wrap{display:none}}.hero-share-wrap{position:relative}.hero-share-icon{width:20px;height:20px}.share-panel.share-panel--down{color:var(--text);top:calc(100% + 8px);bottom:auto}.share-toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));color:#fff;text-align:center;z-index:1000;background:#1e293b;border-radius:12px;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;line-height:1.4;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}@media print{.share-toast{display:none}}.share-panel{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:10px;min-width:180px;position:absolute;bottom:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000002e}.share-panel-item{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.share-panel-item:last-child{border-bottom:none}.share-panel-item:hover{background:var(--surface)}.share-icon{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:inline-flex}.share-icon--fb{background:#1877f2}.share-icon--wa{background:#25d366}.share-icon--x{background:#000;font-style:normal}.share-icon--copy{background:var(--blue)}.share-icon--dl{background:#6b7280}.sailing-share-btn{border:none;border-left:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:5px;padding:9px 14px;font-size:12px;font-weight:600;display:flex}.sailing-share-btn:hover{background:var(--surface);color:#1877f2}.sailing-share-fb-f{color:#fff;background:#1877f2;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.sailing-map{width:100%;height:280px}.smap-pin{color:#e63946;cursor:pointer;background:#fff;border:2.5px solid #e63946;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex;box-shadow:0 1px 5px #0000004d}.smap-pin--active{color:#fff;background:#e63946;border-color:#c1121f;transform:scale(1.2);box-shadow:0 2px 10px #e639468c}.itinerary-explore-more{gap:10px;margin:16px 0 8px;padding:0 16px;display:flex}.itinerary-explore-link{border:1px dashed var(--border);color:var(--blue);cursor:pointer;text-align:center;background:0 0;border-radius:8px;flex:1;padding:11px;font-size:13px;font-weight:600}.itinerary-explore-link:hover{background:var(--surface)}@media (width<=480px){.itinerary-explore-more{flex-direction:column}}.rmap-root{flex:1;min-height:0;display:flex;overflow:hidden}.rmap-mobile-header{display:none}.rmap-sidebar{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow-y:auto}.rmap-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 16px}.rmap-back-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:13px;font-weight:600;display:block}.rmap-sidebar-title{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.rmap-sidebar-sub{color:var(--text);margin-top:2px;font-size:12px}.rmap-actual-badge{color:#15803d;letter-spacing:0;text-transform:none;background:#dcfce7;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.rmap-actual-note{color:#15803d;margin-top:4px;font-size:11px}.rmap-port-list{margin:0;padding:6px 0;list-style:none}.rmap-port-item{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:10px;padding:8px 14px;transition:background .12s;display:flex}.rmap-port-item:hover{background:var(--surface)}.rmap-port-item--active{border-left-color:var(--blue-dark);background:#e8f4f8}.rmap-num{color:#fff;background:#2196a8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;transition:background .15s;display:flex}.rmap-port-info{min-width:0}.rmap-port-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.rmap-badge{background:var(--blue-tint);color:var(--blue-dark);border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:600}.rmap-port-meta{color:var(--muted);margin-top:1px;font-size:11px}.rmap-map-wrap{flex:1;position:relative}.rmap-map{width:100%;height:100%}.rmap-marker-label{color:#fff;pointer-events:none;font-size:10px;font-weight:700;box-shadow:none!important;background:0 0!important;border:none!important}.rmap-detail-card{z-index:1000;background:#fff;border-radius:8px;align-items:center;gap:10px;min-width:220px;max-width:320px;padding:10px 14px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000002e}.rmap-detail-num{background:var(--blue-dark);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.rmap-detail-name{color:var(--text);font-size:14px;font-weight:700}.rmap-detail-date{color:var(--muted);margin-top:1px;font-size:12px}.rmap-detail-close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px 4px;font-size:14px}.rmap-detail-guide{background:var(--blue-dark);color:#fff;white-space:nowrap;border-radius:6px;flex-shrink:0;margin-left:auto;padding:5px 9px;font-size:12px;font-weight:600;text-decoration:none}.rmap-detail-guide+.rmap-detail-close{margin-left:0}.rmap-pin{color:#fff;text-align:center;cursor:pointer;background:#2196a8;border:2px solid #fff;border-radius:12px;width:24px;height:24px;font:700 11px/20px system-ui,sans-serif;box-shadow:0 1px 3px #00000059}.rmap-pin--wide{white-space:nowrap;width:auto;padding:0 7px}.rmap-pin.active{background:#135a8c;transform:scale(1.15)}.rmap-pin.done{background:#94a3b8}.rmap-pin.today{background:#16a34a;box-shadow:0 0 0 4px #bbf7d0b3,0 1px 3px #00000059}.rmap-pin.skip{color:#94a3b8;background:#fff;border:2px dashed #94a3b8}.rmap-ship{background:#f59e0b;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex;box-shadow:0 0 0 6px #f59e0b59,0 1px 4px #0006}.rmap-port-item--done{opacity:.55}.rmap-port-item--done .rmap-num{background:#94a3b8}.rmap-port-item--today{background:#f0fdf4}.rmap-port-item--today .rmap-num{background:#16a34a;box-shadow:0 0 0 3px #bbf7d0}.rmap-port-item--skip .rmap-num{color:#94a3b8;background:#fff;border:2px dashed #94a3b8}.rmap-port-item--skip .rmap-port-name{color:#64748b;text-decoration:line-through}.rmap-badge--skip{color:#475569;background:#f1f5f9;text-decoration:none;display:inline-block}.rmap-badge--today{color:#166534;background:#dcfce7}.rmap-leg-head{text-transform:uppercase;letter-spacing:.04em;padding:8px 14px 4px;font-size:11px;font-weight:700}.rmap-legend{z-index:900;color:var(--text);background:#fffffff0;border-radius:6px;gap:10px;padding:5px 9px;font-size:11px;display:flex;position:absolute;bottom:24px;left:12px;box-shadow:0 1px 4px #00000026}.rmap-legend i{vertical-align:middle;border-top:3px solid;width:18px;height:0;margin-right:5px;display:inline-block}.rmap-err{text-align:center;color:var(--muted);padding:24px;font-size:13px}.rmap-empty{text-align:center;color:var(--muted);padding:40px;font-size:14px}@media (width<=600px){.strip-explore{display:none}.rmap-root{z-index:500;flex-direction:column;position:fixed;inset:0}.rmap-mobile-header{background:var(--blue);color:#fff;flex-shrink:0;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.rmap-mobile-back{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.rmap-mobile-title{font-size:14px;font-weight:600}.rmap-back-btn{display:none}.rmap-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:140px}.rmap-port-list{flex-direction:row;gap:4px;padding:6px 8px;display:flex;overflow-x:auto}.rmap-port-item{border-bottom:3px solid #0000;border-left:none;flex-direction:column;align-items:center;gap:4px;min-width:70px;padding:6px 8px}.rmap-port-item--active{border-bottom-color:var(--blue-dark);border-left-color:#0000}.rmap-port-name,.rmap-port-meta{text-align:center;font-size:10px}.rmap-leg-head{display:none}.rmap-legend{inset:10px 10px auto auto}.rmap-map-wrap{flex:1;min-height:0}}.prepost-controls{background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.prepost-ctrl{align-items:center;gap:8px;display:flex}.prepost-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:28px;height:28px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.prepost-btn:hover:not(:disabled){background:var(--blue-wash);border-color:var(--blue);color:var(--blue)}.prepost-btn:disabled{opacity:.35;cursor:default}.prepost-label{color:var(--muted);text-align:center;min-width:88px;font-size:12px}.prepost-share{position:relative}.prepost-share-btn{color:var(--blue);border:1.5px solid var(--blue);font-family:var(--sans);cursor:pointer;white-space:nowrap;background:0 0;border-radius:14px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.prepost-share-btn:hover:not(:disabled){background:var(--blue-tint)}.prepost-share-btn:disabled{opacity:.5;cursor:default}.prepost-share-icon{width:14px;height:14px}.row-expanded{border-left:3px solid var(--blue);border-bottom:1px solid var(--border);background:var(--bg)}.where-to-go-btn{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:10px 16px;font-size:13px;font-weight:600}.where-to-go-btn:hover{background:var(--hover,#0000000a)}.port-guide-link{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--blue);text-align:left;cursor:pointer;background:0 0;padding:10px 16px;font-size:13px;font-weight:600}.port-guide-link:hover{background:var(--hover,#0000000a)}.ports-index{-webkit-overflow-scrolling:touch;background:var(--bg);flex:1;overflow-y:auto}.pi-hero{background:radial-gradient(120% 140% at 0% 0%, #1f7fc1 0%, var(--blue-dark) 55%, #0b3554 100%);color:#fff;padding:22px 16px 20px}.pi-hero>*{max-width:900px;margin-left:auto;margin-right:auto}.pi-title{letter-spacing:-.01em;margin:0 auto 2px;font-size:24px;font-weight:750}.pi-sub{color:#ffffffb8;margin:0 auto 14px;font-size:14px}.pi-search{align-items:center;gap:10px;display:flex;position:relative}.pi-search-icon{color:#64748b;pointer-events:none;position:absolute;left:14px}.pi-search-input{box-sizing:border-box;min-width:0;height:46px;color:var(--text);background:#fff;border:none;border-radius:12px;outline:none;flex:1;padding:0 14px 0 42px;font-size:16px;transition:box-shadow .2s;box-shadow:0 6px 20px #0000002e}.pi-search-input:focus{box-shadow:0 0 0 3px #1f7fc173,0 6px 20px #0000002e}.pi-search-input::-webkit-search-cancel-button{cursor:pointer}.pi-search-cancel{color:#fff;cursor:pointer;background:0 0;border:none;padding:8px 2px;font-size:15px;font-weight:600;animation:.18s pi-fade}.pi-tabs{z-index:5;-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);background:#f8fafceb;padding:10px 16px;position:sticky;top:0}.pi-tabs-inner{background:#e8edf3;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:2px;max-width:900px;margin:0 auto;padding:3px;display:grid}.pi-tab{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:8px 6px;font-size:14px;font-weight:600;transition:background .18s,color .18s,box-shadow .18s}.pi-tab:hover{color:var(--blue-dark)}.pi-tab.active{color:var(--blue-dark);background:#fff;box-shadow:0 1px 3px #135a8c24,0 1px 1px #135a8c0f}.ports-index-body{max-width:900px;margin:0 auto;padding:18px 16px 48px;animation:.22s pi-fade}@keyframes pi-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ports-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:2px 0 12px;font-size:12px;font-weight:650}.pi-btn{background:var(--blue-dark);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:11px 24px;font-size:15px;font-weight:650;transition:background .15s,opacity .15s}.pi-btn:hover{background:var(--blue-darker)}.pi-btn:disabled{opacity:.4;cursor:not-allowed}.pi-btn--block{width:100%;margin-top:6px;padding:13px 20px}.pi-text-btn{cursor:pointer;color:var(--blue-dark);background:0 0;border:none;margin:20px auto 0;padding:8px 12px;font-size:14px;font-weight:600;display:block}.pi-text-btn:hover{text-decoration:underline}.pi-empty{text-align:center;border:1px solid var(--border);background:#fff;border-radius:16px;max-width:440px;margin:28px auto;padding:30px 22px}.pi-empty-icon{margin-bottom:8px;font-size:34px}.pi-empty-title{color:var(--text);margin-bottom:6px;font-size:17px;font-weight:700}.pi-empty-body{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.5}.skel{background:linear-gradient(90deg,#e9eef4 0%,#f5f8fb 50%,#e9eef4 100%) 0 0/200% 100%;border-radius:6px;animation:1.3s ease-in-out infinite skel}.skel--dark{background:linear-gradient(90deg,#ffffff24 0%,#ffffff42 50%,#ffffff24 100%) 0 0/200% 100%}.skel-line{height:14px;margin-bottom:8px}.skel-line--sm{height:10px}@keyframes skel{0%{background-position:100% 0}to{background-position:-100% 0}}.port-img{background:#e2e8f0;position:relative;overflow:hidden}.port-img:not(.is-loaded):not(.port-img--empty){background:linear-gradient(90deg,#e2e8f0 0%,#eef2f7 50%,#e2e8f0 100%) 0 0/200% 100%;animation:1.3s ease-in-out infinite skel}.port-img img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s,transform .6s;display:block}.port-img.is-loaded img{opacity:1}.port-img--empty{justify-content:center;align-items:center;display:flex}.port-img-initial{color:#ffffff47;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;font-size:40px;font-weight:800}.ports-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.port-card{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;padding:0;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}.port-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #135a8c1f}.port-card:hover:not(:disabled) .port-img img{transform:scale(1.04)}.port-card:active:not(:disabled){transform:scale(.985)}.port-card:disabled{cursor:default;opacity:.75}.port-card--skeleton{cursor:default}.port-card-img{flex-shrink:0;width:100%;height:140px}.port-card-body{padding:11px 13px 13px}.port-card-name{color:var(--text);font-size:15px;font-weight:650;line-height:1.25}.port-card-loc{color:var(--muted);margin-top:2px;font-size:12px}.port-card-summary{color:#4a5568;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.port-card-date{color:var(--blue);margin-bottom:3px;font-size:11px;font-weight:600}@media (width<=480px){.ports-grid{grid-template-columns:1fr 1fr;gap:10px}.port-card-img{height:108px}.port-card-summary{-webkit-line-clamp:3;font-size:12.5px}}.ms-list{flex-direction:column;gap:12px;display:flex}.ms-card{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:16px;align-items:stretch;width:100%;padding:0;transition:box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.ms-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #135a8c1f}.ms-card:active{transform:scale(.99)}.ms-card--past{opacity:.78}.ms-card--past .ms-cover{filter:saturate(.6)}.ms-card--skeleton{cursor:default;min-height:120px}.ms-cover{flex-shrink:0;width:132px;min-height:120px;position:relative}.ms-cover .port-img{position:absolute;inset:0}.ms-badge{z-index:1;color:var(--blue-dark);white-space:nowrap;background:#fffffff0;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;bottom:8px;left:8px;box-shadow:0 1px 4px #0000002e}.ms-badge--now{color:#fff;background:#16a34a}.ms-badge--soon{color:#fff;background:#f59e0b}.ms-badge--past{color:#fff;background:#0f172ab3}.ms-body{flex-direction:column;flex:1;gap:2px;min-width:0;padding:12px 34px 12px 14px;display:flex}.ms-ship{color:var(--blue-dark);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.ms-line{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}.ms-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.ms-dates{color:var(--muted);font-size:12.5px}.ms-route{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.ms-stop{color:var(--blue-darker);background:var(--blue-tint);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.ms-stop--home{background:var(--blue-dark);color:#fff}.ms-stop--more{color:var(--muted);background:#f1f5f9}.ms-chevron{color:#cbd5e1;font-size:24px;line-height:1;transition:transform .18s,color .18s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ms-card:hover .ms-chevron,.pbs-card:hover .ms-chevron{color:var(--blue-dark);transform:translate(2px,-50%)}@media (width<=480px){.ms-cover{width:104px}.ms-title{font-size:14.5px}}.find-sailing-wrap{border:1px solid var(--border);background:#fff;border-radius:16px;max-width:520px;margin:0 auto;padding:18px 16px}.find-sailing-form{flex-direction:column;gap:12px;display:flex}.fs-row{align-items:flex-start;gap:10px;display:flex}.fs-stack{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.fs-step{color:#475569;background:#e8edf3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:9px;font-size:12px;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.fs-step.done{background:var(--blue-dark);color:#fff}.find-sailing-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.find-sailing-select{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;color:var(--text);appearance:none;background-color:#f8fafc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;flex:1;padding:11px 36px 11px 13px;font-size:15px;transition:border-color .15s,background-color .15s}.find-sailing-select:disabled{opacity:.5;cursor:not-allowed}.find-sailing-select:focus{border-color:var(--blue-dark);background-color:#fff;outline:none}.region-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.region-tile{cursor:pointer;color:#fff;text-align:left;border:none;border-radius:14px;flex-direction:column;justify-content:flex-end;height:92px;padding:12px 14px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #135a8c1f}.region-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #135a8c33}.region-tile:active{transform:scale(.98)}.region-tile-icon{opacity:.9;filter:drop-shadow(0 2px 4px #0003);font-size:38px;transition:transform .25s;position:absolute;top:6px;right:10px}.region-tile:hover .region-tile-icon{transform:rotate(-8deg)scale(1.08)}.region-tile-label{text-shadow:0 1px 3px #00000040;max-width:80%;font-size:15px;font-weight:700;line-height:1.2}.region-head{color:#fff;border-radius:16px;margin-bottom:16px;padding:12px 16px 16px}.region-head-back{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:999px;margin-bottom:14px;padding:5px 12px;font-size:13px;font-weight:600}.region-head-back:hover{background:#ffffff4d}.region-head-title{text-shadow:0 1px 3px #0003;font-size:22px;font-weight:750}.region-head-sub{opacity:.85;margin-top:2px;font-size:13px}@media (width<=480px){.region-grid{grid-template-columns:1fr 1fr}.region-tile{height:84px}.region-tile-icon{font-size:32px}.region-tile-label{font-size:14px}.pi-tab{font-size:13px}}.ports-by-sailing{-webkit-overflow-scrolling:touch;background:var(--bg);flex:1;overflow-y:auto}.pbs-hero{background:var(--blue-dark);color:#fff;align-items:flex-end;min-height:170px;display:flex;position:relative;overflow:hidden}.pbs-hero-img{position:absolute;inset:0}.pbs-hero-shade{background:linear-gradient(#0b274740 0%,#0b2747d9 100%);position:absolute;inset:0}.pbs-hero-text{width:100%;max-width:900px;margin:0 auto;padding:40px 16px 18px;position:relative}.pbs-ship{text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-size:12px;font-weight:700}.pbs-ship span{text-transform:none;letter-spacing:0;font-weight:500}.pbs-itinerary{text-shadow:0 1px 4px #0000004d;margin:3px 0 4px;font-size:21px;font-weight:750;line-height:1.2}.pbs-dates{opacity:.85;font-size:13px}.pbs-timeline{margin:0;padding:0;list-style:none;position:relative}.pbs-timeline:before{content:"";background:repeating-linear-gradient(#bcd0e4 0 6px,#0000 6px 11px);width:2px;position:absolute;top:14px;bottom:30px;left:7px}.pbs-stop{margin-bottom:14px;padding-left:26px;position:relative}.pbs-stop:before{content:"";border:2.5px solid var(--blue-dark);background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:1px}.pbs-stop:first-child:before,.pbs-stop:last-child:before{background:var(--blue-dark)}.pbs-day{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.pbs-day-num{color:var(--blue-dark);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:750}.pbs-day-date{color:var(--muted);font-size:12.5px}.pbs-card{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;align-items:stretch;width:100%;padding:0;transition:box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.pbs-card:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #135a8c1f}.pbs-card:active:not(:disabled){transform:scale(.99)}.pbs-card:disabled{cursor:default}.pbs-card--skeleton{cursor:default;min-height:92px}.pbs-thumb{flex-shrink:0;width:112px;min-height:92px}.pbs-card-body{flex:1;min-width:0;padding:11px 34px 11px 13px}.pbs-card-name{color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-size:15.5px;font-weight:650;display:flex}.pbs-role{text-transform:uppercase;letter-spacing:.04em;color:var(--blue-dark);background:#e0ecf8;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700}.pbs-card-loc{color:var(--muted);margin-top:1px;font-size:12px}.pbs-card-wx{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:5px;font-size:13px;display:flex}.pbs-wx-icon{font-size:17px;line-height:1}.pbs-wx-temp{font-weight:700}.pbs-wx-low{color:var(--muted);font-weight:500}.pbs-wx-note{color:var(--muted);font-size:11px}.pbs-weather-btn{background:var(--blue-dark);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin:0 0 18px;padding:12px 16px;font-size:15px;font-weight:650;transition:background .15s;display:flex}.pbs-weather-btn:hover{background:var(--blue-darker)}.pbs-weather-arrow{font-size:18px;line-height:1}.pbs-card-summary{color:#4a5568;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=480px){.pbs-thumb{width:92px}.pbs-itinerary{font-size:19px}}@media (prefers-reduced-motion:reduce){.ports-index-body,.pi-search-cancel,.skel,.port-img{animation:none!important}.port-img img,.port-card,.ms-card,.pbs-card,.region-tile,.region-tile-icon{transition:none!important}}.port-screen{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.port-banner{background:var(--blue-dark);height:200px;position:relative;overflow:hidden}.port-banner-img{object-fit:cover;width:100%;height:100%;display:block}.port-banner-img--low{position:absolute;inset:0}.port-banner-img--hi{opacity:0;transition:opacity .4s;position:relative}.port-banner-img--hi.is-loaded{opacity:1}.port-banner-overlay{color:#fff;background:linear-gradient(#00000040 0%,#0000008c 100%);flex-direction:column;justify-content:flex-end;padding:12px 16px 16px;display:flex;position:absolute;inset:0}.port-back--banner{color:#fff;cursor:pointer;background:#00000059;border:none;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600;position:absolute;top:12px;left:12px}.port-back--banner:hover{background:#0000008c}.port-banner-title{text-shadow:0 1px 4px #0006;font-size:26px;font-weight:700;line-height:1.15}.port-banner-sub{opacity:.92;text-shadow:0 1px 3px #00000059;margin-top:2px;font-size:14px}.port-hero{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;text-align:center;padding:14px 16px 18px}.port-back{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:8px;margin-bottom:10px;padding:5px 12px;font-size:13px;font-weight:600}.port-back:hover{background:#ffffff47}.port-hero-title{font-size:26px;font-weight:700;line-height:1.15}.port-hero-sub{opacity:.9;margin-top:2px;font-size:14px}.port-hero-date{opacity:.85}.port-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.port-save-btn{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff59;border-radius:20px;align-items:center;gap:5px;padding:6px 16px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.port-save-btn:hover,.port-save-btn.saved{background:#ffffff47}.port-save-btn:disabled{opacity:.5;cursor:default}.port-save-star{font-size:15px;display:inline-flex}.port-banner-actions{justify-content:flex-start;margin-top:10px}.port-banner-actions .port-save-btn{-webkit-backdrop-filter:blur(4px);background:#00000059;border-color:#fff9}.port-banner-actions .port-save-btn:hover,.port-banner-actions .port-save-btn.saved{background:#0000008c}.port-stop-nav{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.port-stop-btn{cursor:pointer;min-width:0;color:var(--blue);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:4px;padding:6px 4px;font-size:14px;font-weight:600;display:flex}.port-stop-btn--next{text-align:right;justify-content:flex-end}.port-stop-btn:disabled{cursor:default}.port-stop-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.port-stop-arrow{flex-shrink:0;font-size:20px;line-height:1}.port-stop-count{color:var(--muted);flex-shrink:0;font-size:12px}.port-cache-banner{color:#92400e;text-align:center;background:#fef3c7;padding:9px 16px;font-size:13px;font-weight:500}.port-tabs{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;gap:4px;padding:0 12px;display:flex;position:sticky;top:0;box-shadow:0 2px 6px #0000000f}.port-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 14px;font-size:14px;font-weight:600}.port-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.port-tabs{scrollbar-width:none;overflow-x:auto}.port-tabs::-webkit-scrollbar{display:none}.port-tab{white-space:nowrap;flex-shrink:0}@media (width<=380px){.port-tab{padding:12px 10px}}.wo-empty{background:var(--bg);border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:10px;padding:14px;font-size:14px}.wo-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:12px 14px}.wo-summary-main{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.wo-big{color:var(--text);font-size:28px;font-weight:800;line-height:1}.wo-big-label{color:var(--text);font-size:14px;font-weight:600}.wo-summary-sub{color:var(--muted);margin-top:4px;font-size:13px}.wo-summary-with{color:var(--blue-dark);background:var(--blue-wash);border-radius:8px;margin-top:8px;padding:7px 10px;font-size:13px;font-weight:600}.wo-crowd{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;align-self:center;padding:2px 9px;font-size:11px;font-weight:700}.wo-crowd--quiet{color:#166534;background:#dcfce7}.wo-crowd--typical{background:var(--blue-tint);color:var(--blue-darker)}.wo-crowd--busy{color:#92400e;background:#fef3c7}.wo-crowd--very-busy{color:#991b1b;background:#fee2e2}.wo-note{color:#92400e;background:#fffbeb;border-radius:8px;margin:8px 0;padding:7px 10px;font-size:12px}.wo-ships,.wo-events{margin:0;padding:0;list-style:none}.wo-ship,.wo-event{border-bottom:1px solid var(--border);padding:10px 2px}.wo-ship:last-child,.wo-event:last-child{border-bottom:none}.wo-ship--mine{background:var(--blue-wash);box-shadow:inset 3px 0 0 var(--blue);border-bottom-color:#0000;border-radius:10px;padding:10px}.wo-ship-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.wo-ship-name{color:var(--text);font-size:14px;font-weight:700}.wo-ship-meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin-top:2px;font-size:12px;display:flex}.wo-ship-times{color:var(--text);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:4px;font-size:13px;display:flex}.wo-arrow{color:var(--muted)}.wo-overnight{color:#6d28d9;background:#ede9fe;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.wo-fit{white-space:nowrap;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.wo-fit--mine{background:var(--blue);color:#fff}.wo-fit--with{color:#92400e;background:#fef3c7}.wo-fit--clear{color:#166534;background:#dcfce7}.wo-fit--unknown{background:var(--bg);color:var(--muted)}.wo-unconfirmed{color:#92400e;font-weight:600}.wo-event-rule{color:var(--text);margin-top:3px;font-size:12px;font-style:italic}.wo-event-desc{color:var(--text);margin:4px 0 0;font-size:13px;line-height:1.45}.wo-event-src{color:var(--blue);font-size:12px}.wo-event--closures .wo-ship-name{color:var(--red)}.wo-source{color:var(--muted);margin-top:8px;font-size:11px}.wo-bars{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:72px;padding:0 2px;display:flex}.wo-bar-col{flex:1;align-items:flex-end;height:100%;display:flex}.wo-bar{background:#8dbfe3;border-radius:2px 2px 0 0;width:100%}.wo-bar--quiet{background:#86efac}.wo-bar--typical{background:#8dbfe3}.wo-bar--busy{background:#fbbf24}.wo-bar--very-busy{background:#f87171}.wo-bars-axis{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.wo-split{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.wo-split-title{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.wo-day{border-bottom:1px solid var(--border);padding:6px 0}.wo-day:last-child{border-bottom:none}.wo-day-date{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;font-weight:700;display:flex}.wo-day-sub{color:var(--muted);margin-top:2px;font-size:12px}.port-body{max-width:680px;margin:0 auto;padding:16px}.port-loading{color:var(--muted);text-align:center;padding:24px 4px;font-size:14px}.port-map-card{border:1px solid var(--border);border-radius:12px;margin-bottom:14px;overflow:hidden}.port-map{width:100%;height:240px}.port-map-err{text-align:center;color:var(--muted);padding:40px;font-size:13px}.port-map-actions{background:var(--surface);gap:8px;padding:10px;display:flex}.port-btn{text-align:center;background:var(--blue);color:#fff;border-radius:8px;flex:1;padding:9px 12px;font-size:13px;font-weight:600;text-decoration:none}.port-btn--ghost{background:var(--bg);color:var(--text);border:1px solid var(--border)}.port-desc{color:var(--text);margin:0 0 14px;font-size:14px;line-height:1.5}.port-section{margin-top:24px;margin-bottom:16px}.port-section:first-child{margin-top:0}.port-section-title{color:var(--text);letter-spacing:.1px;margin-bottom:8px;font-size:14px;font-weight:700}.port-section-body{color:var(--text);font-size:14px;line-height:1.5}.port-section-body p{margin:0 0 8px}.port-qa-q{color:var(--text);margin:12px 0 4px;font-size:13.5px;font-weight:700}.port-section-body>div:first-child .port-qa-q{margin-top:0}.port-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.port-chip{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:4px 10px;font-size:12px;font-weight:600}.port-apps-grid{flex-direction:column;gap:8px;display:flex}.port-app-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.port-app-card:hover{border-color:var(--blue)}.port-app-icon{object-fit:cover;border-radius:9px;flex-shrink:0;width:36px;height:36px}.port-app-icon--placeholder{background:var(--bg);justify-content:center;align-items:center;font-size:16px;display:flex}.port-app-info{flex-direction:column;min-width:0;display:flex}.port-app-name{color:var(--text);font-size:14px;font-weight:700}.port-app-note{color:var(--muted);font-size:12px}.port-holidays{margin:0;padding:0;list-style:none}.port-holidays li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.port-holidays li:last-child{border-bottom:none}.port-holidays .ph-date{color:var(--muted);min-width:78px}.port-holidays .ph-name{font-weight:600}.port-holidays li.near{background:var(--blue-wash);border-radius:6px;padding:6px 8px}.port-holidays .ph-badge{color:var(--blue);background:var(--blue-tint);border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.port-weather-strip{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:10px 12px;display:flex}.pws-icon{font-size:22px;line-height:1}.pws-temp{color:var(--text);font-size:16px;font-weight:700}.pws-low{color:var(--muted);font-weight:500}.pws-chip{color:var(--text);font-size:13px}.pws-note{color:var(--muted);margin-left:auto;font-size:11px}.port-summary{color:var(--text);margin:0 0 18px;font-size:15px;line-height:1.6}.port-highlights{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.port-highlights li{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.port-highlights .ph-head{align-items:baseline;gap:8px;display:flex}.port-highlights .ph-title{color:var(--text);font-size:14px;font-weight:700}.port-highlights .ph-time{color:var(--blue);background:var(--blue-tint);white-space:nowrap;border-radius:10px;flex:none;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.port-highlights .ph-detail{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.5}.port-kbyg{margin:0;padding:0;list-style:none}.port-kbyg li{color:var(--text);border-bottom:1px solid var(--border);padding:10px 0;font-size:13px;line-height:1.5}.port-kbyg li:last-child{border-bottom:none}.port-kbyg .kbyg-label{font-weight:700}.port-sources{color:var(--muted);margin:18px 0 0;font-size:11px;font-style:italic}.port-cur-name{color:var(--text);font-size:14px;font-weight:700}.port-cur-code{color:var(--muted);font-weight:600}.port-cur-rate{background:var(--blue-tint);color:var(--blue-dark);border-radius:8px;margin-top:8px;padding:6px 12px;font-size:13px;font-weight:700;line-height:1.4;display:inline-block}.port-cur-asof{opacity:.75;font-weight:400}.port-cur-notes{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.5}.admin-guide-editor{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px}.admin-guide-cols{flex-wrap:wrap;gap:20px;display:flex}.admin-guide-col{flex:1;min-width:280px}.admin-guide-col h4{margin:0 0 8px;font-size:13px}.admin-guide-sec{align-items:center;gap:6px;padding:3px 0;display:flex}.admin-guide-arrow{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;width:24px;height:24px;font-size:12px}.admin-guide-arrow:disabled{opacity:.35;cursor:default}.admin-guide-vis{flex:1;align-items:center;gap:6px;font-size:13px;display:flex}.admin-guide-limit{width:56px;padding:3px 6px;font-size:12px}.admin-guide-field{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.admin-guide-actions{align-items:center;gap:10px;margin-top:12px;display:flex}.admin-hint{color:var(--muted);margin:8px 0 0;font-size:11px}.admin-apps-editor{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.admin-apps-editor h4{margin:0 0 8px;font-size:13px}.admin-apps-col{margin-bottom:10px}.admin-apps-label{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700}.admin-app-row{align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.admin-app-icon{border-radius:5px;flex-shrink:0;width:22px;height:22px}.admin-app-icon--blank{background:var(--surface);border:1px solid var(--border);justify-content:center;align-items:center;font-size:11px;display:flex}.admin-app-name{flex-shrink:0;font-weight:600}.admin-app-note{color:var(--muted);flex:1}.admin-apps-add{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:8px;padding:10px}.admin-apps-candidates{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.admin-apps-candidate{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:14px;align-items:center;gap:5px;padding:3px 10px 3px 3px;font-size:11px;display:flex}.admin-apps-candidate img{border-radius:5px;width:20px;height:20px}.admin-apps-candidate.selected{border-color:var(--blue);background:var(--blue-tint)}.admin-apps-scope{gap:14px;margin-top:8px;font-size:12px;display:flex}.admin-apps-scope label{align-items:center;gap:4px;display:flex}.refresh-cards{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.refresh-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex:1;min-width:130px;padding:12px 14px}.rc-num{color:var(--text);font-size:18px;font-weight:700}.rc-num.rc-warn,.rc-warn{color:var(--amber)}.admin-health-alert{border:1px solid var(--amber);background:color-mix(in srgb, var(--amber) 12%, transparent);border-radius:10px;margin:0 0 14px;padding:12px 14px}.admin-health-alert ul{margin:6px 0 8px;padding-left:18px}.admin-health-alert li{margin:2px 0}.rc-lbl{color:var(--muted);margin-top:2px;font-size:11px}.run-status{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.run-done{color:#15803d;background:#dcfce7}.run-running{background:var(--blue-tint);color:var(--blue-dark)}.run-failed{color:#b91c1c;background:#fee2e2}.run-aborted{background:var(--border);color:var(--muted)}.admin-tab{white-space:nowrap}.refresh-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.refresh-head h4{margin:0}.job-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.job-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;padding:12px 14px;font-size:13px}.job-card.job-running{border-left-color:var(--blue)}.job-card.job-warn{border-left-color:var(--amber)}.job-card.job-bad{border-left-color:var(--red)}.job-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.job-name{color:var(--text);font-weight:700}.job-pill{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.job-pill-ok{color:#15803d;background:#dcfce7}.job-pill-running{background:var(--blue-tint);color:var(--blue-dark)}.job-pill-warn{color:#b45309;background:#fef3c7}.job-pill-bad{color:#b91c1c;background:#fee2e2}.job-meta{color:var(--muted);margin:2px 0 8px;font-size:12px}.job-row{justify-content:space-between;gap:8px;margin:3px 0;display:flex}.job-row span{color:var(--muted)}.job-row strong{text-align:right;font-weight:600}.job-stats{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:6px 0;font-size:12px;display:flex}.refresh-lists{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:10px;display:grid}.refresh-list{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px}.refresh-list h5{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 6px;font-size:12px}.refresh-list div{justify-content:space-between;gap:8px;padding:2px 0;display:flex}.refresh-list div span:last-child{color:var(--muted);white-space:nowrap}.weather-grid{background:var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.wg-cell{background:var(--surface);text-align:center;padding:12px}.wg-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:11px}.wg-val{font-size:15px;font-weight:600}.section-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding:12px 16px 4px;font-size:11px;font-weight:700}.marine-grid{background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.mg-cell{background:var(--blue-wash);text-align:center;padding:10px}.mg-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:11px}.mg-val{color:var(--blue-darker);font-size:15px;font-weight:600}.sun-row{border-bottom:1px solid var(--border);justify-content:center;gap:32px;padding:10px 16px;font-size:13px;display:flex}.sun-item{align-items:center;gap:6px;display:flex}.sun-label{color:var(--muted)}.hourly-scroll-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.hourly-scroll{border-bottom:1px solid var(--border);gap:0;min-width:max-content;display:flex}.hour-col{border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:5px;min-width:56px;padding:10px;display:flex}.hour-col:last-child{border-right:none}.hour-time{color:var(--muted);margin-top:2px;font-size:11px}.hour-icon{font-size:22px}.hour-temp{font-size:13px;font-weight:700}.hour-rain{color:var(--blue);font-size:11px}.hour-precip{color:var(--blue);opacity:.75;font-size:10px}.hour-wind{color:var(--muted);font-size:10px}.port-info{border-bottom:1px solid var(--border);padding:12px 16px}.port-times{gap:24px;margin-bottom:6px;font-size:13px;display:flex}.port-times span{color:var(--muted);margin-right:4px}.port-desc{color:var(--muted);font-size:13px}.transport-chips{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:10px 16px;display:flex}.transport-chip{background:#f1f5f9;border-radius:20px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;display:flex}.nearby-section{padding:0 0 8px}.nearby-list{flex-direction:column;display:flex}.nearby-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.nearby-photo{object-fit:cover;border-radius:8px;flex-shrink:0;width:64px;height:64px}.nearby-info{flex:1;min-width:0}.nearby-name{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.nearby-pending-badge{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.nearby-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:3px;display:flex}.nearby-dist{color:var(--muted);font-size:11px;font-weight:500}.nearby-maps-link,.nearby-wiki{color:var(--blue);font-size:11px;font-weight:500;text-decoration:none}.nearby-maps-link:hover,.nearby-wiki:hover{text-decoration:underline}.nearby-ta-link{color:#00aa6c;align-items:center;gap:4px;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.nearby-ta-link:hover{text-decoration:underline}.nearby-ta-logo{width:14px;height:14px;display:block}.nearby-desc{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4}.nearby-travel{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.travel-chip{color:var(--muted);font-size:11px}.nearby-show-more{color:var(--blue);cursor:pointer;text-align:left;background:0 0;border:none;margin:4px 16px 2px;padding:6px 0;font-size:13px;font-weight:500;display:block}.nearby-show-more:hover{text-decoration:underline}.add-dest-btn{border:1px dashed var(--border);color:var(--blue);cursor:pointer;background:0 0;border-radius:8px;width:calc(100% - 32px);margin:10px 16px 4px;padding:8px 14px;font-size:13px;font-weight:500}.add-dest-btn:hover{background:var(--blue-wash);border-color:var(--blue)}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:540px;max-height:90svh;padding:20px 16px 32px;overflow-y:auto}.modal h3{margin:0 0 16px;font-size:17px}.modal-form input,.modal-form textarea{border:1px solid var(--border);width:100%;font-size:14px;font-family:var(--sans);border-radius:8px;padding:9px 12px}.modal-form textarea{resize:vertical;min-height:60px}.modal-form input:focus,.modal-form textarea:focus{border-color:var(--blue);outline:none}.modal-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-actions{gap:10px;margin-top:4px;display:flex}.btn-ghost{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:10px;font-size:14px}.btn-ghost:hover{background:#f8fafc}.modal-actions .btn-primary{flex:1;padding:10px;font-size:14px}.loading-state,.error-state{color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 16px;font-size:15px;display:flex}.error-state{color:var(--red)}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:64px 24px;display:flex}.empty-state-title{color:var(--text);margin:0 0 8px;font-size:20px;font-weight:700}.empty-state-text{color:var(--muted);max-width:340px;margin:0 0 20px}.empty-state-btn{padding:12px 20px;text-decoration:none;display:inline-block}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn-secondary{background:var(--surface);color:var(--blue);border:1.5px solid var(--border);cursor:pointer;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:600;text-decoration:none}.spinner{width:44px;height:44px;color:var(--blue);margin:0 auto 14px;animation:1.6s linear infinite spin;display:block}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:6s}}@keyframes spin{to{transform:rotate(360deg)}}.header-auth-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff59;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:600}.header-auth-btn:hover{background:#ffffff47}.save-msg{color:var(--muted);font-size:13px}.modal-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:16px;flex-direction:column;width:100%;max-width:400px;max-height:calc(100vh - 32px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header{flex-shrink:0;justify-content:flex-end;align-items:center;min-height:44px;padding:12px 12px 0;display:flex}.modal-body{flex:1;padding:4px 24px 28px;overflow-y:auto}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--text);background:#0000001a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;line-height:1;display:flex}.modal-close:hover{background:#0000002e}.modal-title{margin:0 0 20px;font-size:22px;font-weight:700}.modal-subtitle{color:var(--muted);margin:-12px 0 20px;font-size:14px}.install-steps{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{align-items:center;gap:14px;font-size:15px;line-height:1.4;display:flex}.install-step-icon{background:var(--hover,#f1f5f9);width:36px;height:36px;color:var(--blue);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.modal-back-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;margin-right:auto;padding:0;font-size:13px;font-weight:600}.modal-back-btn:hover{opacity:.75}.modal-email-choice-btn{border:1.5px solid var(--border);background:var(--surface);width:100%;font-size:15px;font-weight:600;font-family:var(--sans);color:var(--text);cursor:pointer;text-align:center;border-radius:10px;margin-bottom:4px;padding:11px 16px}.modal-email-choice-btn:hover{background:var(--hover,#f8fafc)}.modal-form{flex-direction:column;gap:14px;display:flex}.modal-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.modal-form input{border:1.5px solid var(--border);font-size:15px;font-family:var(--sans);color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:10px 12px}.modal-form input:focus{border-color:var(--blue)}.password-field{display:flex;position:relative}.password-field input,.account-screen .password-field input[type]{flex:1;min-width:0;padding-right:64px}.password-toggle{font-size:13px;font-weight:600;font-family:var(--sans);color:var(--blue);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{background:var(--hover,#f8fafc)}.modal-error{color:var(--red);margin:0;font-size:13px;font-weight:500}.modal-success{color:#16a34a;margin:0;font-size:13px;font-weight:500}.modal-submit{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px;font-size:15px;font-weight:600}.modal-submit:disabled{opacity:.6;cursor:default}.modal-switch{text-align:center;color:var(--muted);margin:16px 0 0;font-size:14px}.modal-switch button{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.modal-switch-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;margin:16px auto 0;font-size:14px;font-weight:600;display:block}.modal-oauth-btn{border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);font-size:15px;font-weight:600;font-family:var(--sans);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;margin-bottom:4px;padding:11px;display:flex}.modal-oauth-btn:hover{background:var(--hover,#0000000a)}.modal-divider{color:var(--muted);align-items:center;gap:10px;margin:4px 0;font-size:13px;display:flex}.modal-divider:before,.modal-divider:after{content:"";background:var(--border);flex:1;height:1px}.modal-sent{text-align:center;padding:8px 0}.modal-sent-icon{margin-bottom:12px;font-size:40px}.modal-sent h2{margin:0 0 8px}.modal-sent p{color:var(--muted);margin:0;font-size:14px}.save-prompt-card{text-align:center;padding:32px 24px 22px;position:relative}.save-prompt-card .modal-close{position:absolute;top:12px;right:12px}.save-prompt-card .modal-switch{margin:14px 0 0}.save-prompt-icon{margin-bottom:8px;font-size:40px}.save-prompt-body{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.5}.save-prompt-list{text-align:left;margin:-8px 0 18px;padding:0;font-size:14px;list-style:none}.save-prompt-list li{gap:10px;padding:4px 0;display:flex}.save-prompt-check{color:var(--green);font-weight:800}.modal-submit--accent{background:var(--accent);color:var(--blue-darker);font-weight:700}.modal-submit--accent:hover:not(:disabled){background:#ffd770}.header-left{align-items:center;display:flex}.header-right{justify-content:flex-end;align-items:center;display:flex}.header-user-wrap{position:relative}.header-avatar-btn{cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.header-avatar{color:#fff;font-size:15px;font-weight:700;line-height:1}.header-dropdown{background:var(--surface);border:1px solid var(--border);z-index:300;border-radius:10px;min-width:140px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.header-dropdown button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:11px 16px;font-size:14px;font-weight:500;display:block}.header-dropdown button:hover{background:var(--bg)}.dropdown-backdrop{z-index:300;position:fixed;inset:0}.home-screen{flex-direction:column;flex:1;align-items:center;padding:0 0 48px;display:flex;overflow-y:auto}.home-blue{background:linear-gradient(180deg, var(--blue) 0%, var(--blue-darker) 100%);color:#fff;flex-direction:column;align-items:center;gap:12px;width:100%;padding:36px 16px 28px;display:flex}.home-blue>*{width:100%;max-width:720px}.home-blue>.hb{max-width:1040px}.home-hero{text-align:center;margin-bottom:8px}.home-hero h2{margin:0 0 8px;font-size:clamp(28px,5vw,40px);font-weight:700}.home-hero p{color:#fff;opacity:.92;text-wrap:balance;margin:0;font-size:16.5px}.home-tile--ports{position:relative}.home-tile-arrow{color:var(--muted);margin-left:auto;font-size:22px}.hs-search{color:var(--text);background:#fff;border-radius:16px;padding:12px;box-shadow:0 10px 30px #0e467040}.hs-fields{flex-wrap:wrap;gap:10px;display:flex}.hs-ship{border:1.5px solid var(--border);border-radius:10px;flex:2 220px;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.hs-ship:focus-within{border-color:var(--blue)}.hs-ship-icon{color:var(--muted);flex:none}.hs-ship input{font-size:16px;font-family:var(--sans);color:var(--text);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:12px 0}.hs-month{border:1.5px solid var(--border);font-size:15px;font-family:var(--sans);color:var(--text);background:#fff;border-radius:10px;flex:140px;padding:12px}.hs-go{background:var(--accent);color:var(--blue-darker);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--sans);border:0;border-radius:10px;flex:150px;padding:12px 16px}.hs-go:disabled{opacity:.7;cursor:default}.hs-suggest{z-index:30;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:-1.5px;right:-1.5px;overflow-y:auto;box-shadow:0 8px 24px #00000026}.hs-suggest li{cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;padding:9px 10px;display:flex}.hs-suggest li:hover{background:var(--blue-wash)}.hs-suggest-name{font-size:15px;font-weight:600}.hs-suggest-line{color:var(--muted);font-size:12px}.hs-results{border-top:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;margin-top:10px;padding-top:8px;transition:box-shadow .3s,background .3s;display:flex}.hs-results-flash{box-shadow:0 0 0 3px var(--accent);background:#fffaeb}.hs-results-flash .hs-result{border-color:var(--blue)}.hs-results-hint{color:var(--blue-darker);background:#fff3cf;border-radius:8px;margin:2px 0 4px;padding:6px 10px;font-size:13px}.hs-results-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:2px 4px 4px;font-size:12px;font-weight:700}.hs-result{border:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--sans);color:var(--text);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.hs-result:hover{border-color:var(--blue);background:var(--blue-wash)}.hs-result-date{white-space:nowrap;font-size:14px;font-weight:700}.hs-result-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.hs-result-nights{color:var(--blue);white-space:nowrap;font-size:13px;font-weight:600}.hs-empty{color:var(--muted);margin:4px;font-size:14px}.hb-title{letter-spacing:.06em;text-transform:uppercase;opacity:.88;margin:6px 0 8px;font-size:13px;font-weight:700}.hb-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=760px){.hb-grid{grid-template-columns:repeat(2,1fr)}}.hb-tile{color:var(--text);text-align:left;cursor:pointer;font-family:var(--sans);background:#fff;border:0;border-radius:14px;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:0 4px 14px #0000002e}.hb-photo{background-position:50%;background-size:cover;background-color:var(--blue-tint);height:110px;display:block}.hb-body{align-items:center;gap:10px;padding:10px 12px 12px;display:flex}.hb-icon{flex:none;font-size:32px;line-height:1}.hb-text{flex-direction:column;min-width:0;display:flex}.hb-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.hb-wx{white-space:nowrap}.hb-wx b{font-size:24px;line-height:1.1}.hb-lo{color:var(--muted);font-size:14px}.hb-rain{color:#0ea5e9;white-space:nowrap;font-size:12.5px;font-weight:600}.hb-ships{color:var(--muted);font-size:11.5px}@media (width<=760px){.hb-icon{font-size:26px}.hb-body{gap:7px;padding:9px 10px 10px}.hb-wx b{font-size:21px}.hb-photo{height:96px}}.home-features{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;width:100%;max-width:480px;margin:0 0 24px;padding:14px 16px;list-style:none;display:flex}.home-features li{color:var(--muted);align-items:center;gap:10px;font-size:13.5px;line-height:1.4;display:flex}.home-feature-icon{flex:none;font-size:15px}.home-tiles{flex-direction:column;gap:12px;width:100%;max-width:720px;padding:20px 16px 0;display:flex}.home-tile{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.home-tile:hover{border-color:var(--blue);box-shadow:0 2px 8px #1f7fc11f}.home-tile-icon{background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.home-tile-text{flex-direction:column;min-width:0;display:flex}.home-tile-title{color:var(--text);font-size:16px;font-weight:700}.home-tile-desc{color:var(--muted);margin-top:2px;font-size:13px}.games-list{flex-direction:column;gap:16px;display:flex}.games-item .home-tile{text-decoration:none}.games-note{color:var(--muted);margin:8px 4px 0;font-size:13px}.games-signin{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.games-tile--soon{cursor:default;opacity:.6}.games-tile--soon:hover{border-color:var(--border);box-shadow:none}.games-soon{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:600}.games-banner{background:linear-gradient(160deg, var(--blue) 0%, var(--blue-dark) 70%, var(--blue-darker) 100%);color:#fff;border-radius:14px;height:180px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block;position:relative;overflow:hidden}.games-banner:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0e467047}.games-banner-copy{z-index:1;flex-direction:column;max-width:50%;display:flex;position:absolute;top:16px;left:18px}.games-banner-title{align-items:center;gap:8px;font-size:22px;font-weight:800;line-height:1.1;display:flex}.games-banner-wheel{color:#fff;flex-shrink:0;width:28px;height:28px}.games-banner-desc{color:#d6eaf8;margin-top:6px;font-size:13px;line-height:1.35}.games-banner-art{pointer-events:none;width:250px;height:auto;position:absolute;bottom:-22px;right:-58px}.games-crew{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin-top:10px;padding:12px 14px;font-size:13px;text-decoration:none;transition:border-color .15s;display:flex}.games-crew:hover{border-color:var(--blue)}.games-crew img{width:100%;max-width:420px;height:auto}.games-banner-cta{z-index:1;background:var(--accent);color:var(--blue-darker);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:800;position:absolute;bottom:16px;left:18px}@media (width>=560px){.games-banner{height:200px}.games-banner-art{width:400px;bottom:-18px;right:-20px}.games-banner-copy{max-width:46%}}.home-tile-group{flex-direction:column;gap:6px;display:flex}.home-quick-sailing{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--blue);text-align:left;cursor:pointer;width:100%;font-family:var(--sans);border-radius:12px;flex-direction:column;gap:2px;margin-left:0;padding:12px 40px 12px 18px;display:flex;position:relative}.home-quick-sailing:hover{border-color:var(--blue);box-shadow:0 2px 8px #1f7fc11f}.home-quick-label{text-transform:uppercase;letter-spacing:.4px;color:var(--blue);font-size:12px;font-weight:700}.home-quick-ship{color:var(--text);font-size:15px;font-weight:700}.home-quick-dates{color:var(--muted);font-size:13px}.home-quick-arrow{color:var(--muted);font-size:22px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.saved-section{border-bottom:1px solid var(--border);background:var(--surface);padding:20px 16px 0}.saved-heading{color:var(--text);margin:0 0 12px;font-size:16px;font-weight:700}.saved-empty{color:var(--muted);padding-bottom:16px;font-size:14px}.saved-list{flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.saved-card{background:var(--bg);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:8px;width:100%;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.saved-card:hover{border-color:var(--blue);box-shadow:0 2px 8px #1f7fc11f}.saved-card-body{text-align:left;flex:1}.saved-card-name{color:var(--text);margin-bottom:3px;font-size:15px;font-weight:600}.saved-card-dates{color:var(--muted);font-size:13px}.saved-card-remove{color:var(--muted);border-radius:50%;flex-shrink:0;padding:4px 6px;font-size:14px;line-height:1}.saved-card-remove:hover{color:#e53e3e;background:#e53e3e1a}.saved-screen{flex:1;width:100%;max-width:680px;margin:0 auto;padding:20px 16px;overflow-y:auto}.saved-title{margin-bottom:16px;font-size:20px;font-weight:700}.saved-subheading{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.saved-subsection-heading{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:24px 0 10px;font-size:12px;font-weight:700}.recent-section{margin-top:24px}.saved-empty{text-align:center;color:var(--text-muted);padding:48px 20px}.saved-list{flex-direction:column;gap:12px;display:flex}.saved-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.saved-card-info{cursor:pointer;flex:1}.saved-card-info:hover .saved-card-ship{color:var(--blue)}.saved-card-ship{margin-bottom:2px;font-size:16px;font-weight:700}.saved-card-line{color:var(--text-muted);margin-bottom:4px;font-size:13px}.saved-card-dates{font-size:13px;font-weight:500}.saved-card-nights{color:var(--text-muted);font-weight:400}.saved-card-itinerary{color:var(--text-muted);margin-top:3px;font-size:12px}.saved-card-actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.saved-action-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;color:var(--text);border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500}.saved-action-btn:hover{background:var(--border)}.saved-action-btn.danger{color:#e53e3e;border-color:#fed7d7}.saved-action-btn.danger:hover{background:#fff5f5}.recent-list{flex-direction:column;gap:10px;display:flex}.recent-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.recent-card-info{cursor:pointer;flex:1}.recent-card-info:hover .recent-card-ship{color:var(--blue)}.recent-card-ship{margin-bottom:2px;font-size:15px;font-weight:700}.recent-card-line{color:var(--muted);margin-bottom:2px;font-size:13px}.recent-card-dates{font-size:13px}.recent-card-itinerary{color:var(--muted);margin-top:2px;font-size:12px}.recent-card-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:4px 6px;font-size:13px}.recent-card-remove:hover{color:#e53e3e;background:#e53e3e1a}.saved-search-link{border:1px dashed var(--border);width:100%;color:var(--blue);cursor:pointer;text-align:center;background:0 0;border-radius:8px;margin-top:24px;padding:12px;font-size:14px;font-weight:600;display:block}.saved-search-link:hover{background:var(--bg)}.account-screen{box-sizing:border-box;flex:1;width:100%;max-width:620px;margin:0 auto;padding:24px 16px;overflow-y:auto}.acct-head{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;border-radius:16px;align-items:center;gap:14px;padding:20px;display:flex}.acct-avatar{width:56px;height:56px;color:var(--blue);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.acct-head-text{min-width:0}.acct-name{overflow-wrap:anywhere;margin:0;font-size:21px;line-height:27px}.acct-sub{opacity:.88;overflow-wrap:anywhere;margin:0;font-size:13.5px}.acct-form{display:contents}.acct-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:14px;padding:18px}.acct-card h2{color:var(--blue-dark);margin:0;font-size:17px}.acct-hint{color:var(--muted);margin:2px 0 12px;font-size:13.5px}.acct-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.account-screen label{color:var(--text);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.account-screen input[type=text],.account-screen input[type=password],.account-screen select{box-sizing:border-box;border:1px solid var(--border);width:100%;height:42px;font-size:15px;font-family:var(--sans);color:var(--text);background:var(--surface);border-radius:10px;outline:none;padding:0 11px}.account-screen input[type=text]:focus,.account-screen input[type=password]:focus,.account-screen select:focus{border-color:var(--blue)}.acct-sub-label{margin:14px 0 6px;font-size:13px;font-weight:600}.acct-chips{flex-wrap:wrap;gap:7px;display:flex}.acct-chip{border:1px solid var(--border);background:var(--surface);font:500 14px var(--sans);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px}.acct-chip.on{background:var(--blue-tint);border-color:var(--blue);color:var(--blue-dark)}.acct-chip:focus-visible,.acct-btn2:focus-visible,.acct-save:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.account-screen label.acct-row,.acct-row{cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;font-weight:400;display:flex}.acct-row-plain{cursor:default;padding:0}.acct-row-plain h2{margin:0}.acct-row-text{flex-direction:column;min-width:0;display:flex}.acct-row-title{font-size:15px;font-weight:600}.acct-row-desc{color:var(--muted);font-size:13.5px}.acct-card h2+.acct-row{margin-top:4px}.acct-switch{appearance:none;cursor:pointer;background:#cbd5e1;border-radius:999px;flex:none;width:44px;height:26px;margin:0;transition:background .15s;position:relative}.acct-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px}.acct-switch:checked{background:var(--blue)}.acct-switch:checked:after{left:21px}.acct-switch:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.acct-btn2{background:var(--surface);border:1px solid var(--blue);color:var(--blue);font:600 14px var(--sans);cursor:pointer;border-radius:10px;padding:9px 14px}.acct-btn2.solid{background:var(--blue);color:#fff}.acct-btn2:disabled{opacity:.5;cursor:default}.acct-pw-form{flex-direction:column;gap:12px;margin-top:12px;display:flex}.acct-pw-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.acct-link{color:var(--muted);font:500 13.5px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px 0;text-decoration:underline}.acct-footer-actions{flex-direction:column;align-items:center;gap:14px;margin-top:22px;display:flex}.btn-signout{border:1.5px solid var(--red);color:var(--red);cursor:pointer;background:0 0;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:600}.btn-signout:hover{background:#fef2f2}.acct-savebar{z-index:5;background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:18px -16px -24px;padding:12px 16px;display:flex;position:sticky;bottom:0}.acct-savebar-text{color:var(--muted);font-size:13.5px}.acct-save{background:var(--accent);color:var(--blue-dark);font:700 15px var(--sans);cursor:pointer;border:0;border-radius:999px;padding:11px 26px}.acct-save:disabled{opacity:.6;cursor:default}.acct-toast{text-align:center;margin-top:12px}@media (width<=480px){.acct-grid{grid-template-columns:1fr}}.modal-name-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.modal-optional{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px;font-weight:400}.modal-form select{border:1.5px solid var(--border);font-size:15px;font-family:var(--sans);color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:10px 12px}.modal-form select:focus{border-color:var(--blue)}.feedback-screen{box-sizing:border-box;width:100%;max-width:640px;margin:0 auto;padding:32px 20px 60px}.feedback-header h2{margin:0 0 10px;font-size:24px;font-weight:700}.feedback-header p{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.6}.feedback-guest-banner{background:var(--blue-wash);color:var(--text);border:1.5px solid #b9d7ee;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:14px 16px;font-size:14px;display:flex}.feedback-signin-btn{white-space:nowrap;flex-shrink:0}.feedback-form{flex-direction:column;gap:16px;display:flex}.feedback-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.feedback-form input,.feedback-form select,.feedback-form textarea{border:1.5px solid var(--border);min-width:0;font-size:15px;font-family:var(--sans);color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:10px 12px}.feedback-form input:focus,.feedback-form select:focus,.feedback-form textarea:focus{border-color:var(--blue)}.feedback-form textarea{resize:vertical;min-height:140px}.feedback-required{color:var(--red);text-transform:none;font-weight:700}.feedback-submit{align-self:flex-start;padding:11px 28px}.feedback-done{text-align:center;padding:60px 20px}.feedback-done-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:28px;font-weight:700;display:flex}.feedback-done h2{margin:0 0 10px;font-size:22px}.feedback-done p{color:var(--muted);margin:0;font-size:15px;line-height:1.6}.feedback-admin-list{flex-direction:column;gap:0;margin-top:12px;display:flex}.feedback-admin-item{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}.feedback-admin-row{cursor:pointer;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.feedback-admin-row:hover{background:var(--surface)}.feedback-admin-meta{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.feedback-admin-type-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.feedback-admin-who{font-weight:500}.feedback-admin-time{color:var(--muted);margin-left:auto;font-size:12px}.feedback-admin-reply-count{background:var(--blue);color:#fff;border-radius:10px;padding:1px 7px;font-size:12px;font-weight:600}.feedback-admin-preview{color:var(--muted);font-size:14px;line-height:1.5}.feedback-admin-status-row{align-items:center;gap:10px;margin-top:4px;display:flex}.feedback-admin-status-row select{border:1.5px solid var(--border);font-family:var(--sans);background:var(--surface);cursor:pointer;border-radius:6px;padding:4px 8px}.feedback-admin-chevron{color:var(--muted);margin-left:auto;font-size:11px}.feedback-admin-expanded{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:16px;padding:16px;display:flex}.feedback-admin-full-msg{white-space:pre-wrap;color:var(--text);font-size:15px;line-height:1.6}.feedback-admin-replies{flex-direction:column;gap:10px;display:flex}.feedback-admin-replies-title{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.feedback-admin-reply-entry{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px}.feedback-admin-reply-ts{color:var(--muted);margin-bottom:4px;font-size:11px}.feedback-admin-reply-msg{white-space:pre-wrap;font-size:14px;line-height:1.5}.feedback-admin-compose{flex-direction:column;gap:8px;display:flex}.feedback-admin-compose textarea{border:1.5px solid var(--border);font-size:14px;font-family:var(--sans);resize:vertical;background:#fff;border-radius:8px;outline:none;padding:10px 12px}.feedback-admin-compose textarea:focus{border-color:var(--blue)}.feedback-admin-compose .btn-primary{align-self:flex-start}.print-layout{display:none}.export-btns{gap:8px;display:flex}.export-btn{border:1.5px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.export-btn:hover{border-color:var(--blue);color:var(--blue)}.email-modal-backdrop{z-index:600;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.email-modal{background:#fff;border-radius:14px;width:100%;max-width:360px;padding:24px;box-shadow:0 8px 32px #0000002e}.email-modal-title{margin-bottom:16px;font-size:17px;font-weight:700}.email-form{gap:8px;display:flex}.email-input{border:1.5px solid var(--border);font-size:14px;font-family:var(--sans);border-radius:8px;outline:none;flex:1;padding:9px 12px}.email-input:focus{border-color:var(--blue)}.email-send-btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600}.email-send-btn:disabled{opacity:.6;cursor:default}.email-result{border-radius:7px;margin-top:10px;padding:8px 10px;font-size:13px}.email-result.ok{color:#166534;background:#f0fdf4}.email-result.err{color:#991b1b;background:#fef2f2}.email-cancel{width:100%;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:12px;font-size:13px;display:block}.site-footer{border-top:1px solid var(--border);text-align:center;background:var(--bg);padding:14px 16px 20px}.site-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-bottom:6px;display:flex}.site-footer-links a,.site-footer-links button{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:13px;text-decoration:none}.site-footer-links a:hover,.site-footer-links button:hover{text-decoration:underline}.footer-sep,.site-footer-copy{color:var(--muted);font-size:12px}.site-footer-copy a{color:var(--muted);text-decoration:underline}.cookie-banner{color:#fff;z-index:200;background:#1a1a2e;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000040}.cookie-text{opacity:.9;margin:0;font-size:13px;line-height:1.5}.cookie-link{color:#8dbfe3;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.cookie-accept{color:#1a1a2e;cursor:pointer;background:#fff;border:none;border-radius:6px;flex-shrink:0;padding:7px 16px;font-size:13px;font-weight:700}.cookie-accept:hover{background:#e2e8f0}.page-screen{flex:1;width:100%;max-width:680px;margin:0 auto;padding:24px 16px 56px;overflow-y:auto}.page-title{color:var(--text);margin-bottom:24px;font-size:24px;font-weight:700}.page-body{color:var(--text)}.page-h3{color:var(--text);margin:24px 0 8px;font-size:16px;font-weight:700}.page-h4{color:var(--text);margin:16px 0 6px;font-size:14px;font-weight:700}.page-p{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.7}.page-ul{margin:0 0 12px;padding-left:20px}.page-ul li{color:var(--muted);margin-bottom:4px;font-size:14px;line-height:1.7}.page-updated{color:var(--muted);border-top:1px solid var(--border);margin-top:32px;padding-top:12px;font-size:12px}.pages-admin-row{border:1px solid var(--border);border-radius:8px;margin-bottom:14px;padding:14px}.pages-admin-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pages-admin-label{font-size:15px;font-weight:700}.pages-admin-saved{color:#16a34a;font-size:12px;font-weight:600}.pages-admin-preview{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.pages-editor{flex-direction:column;gap:10px;margin-top:8px;display:flex}.pages-editor-hint{color:var(--muted);margin:0;font-size:12px}.pages-editor-textarea{border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;padding:10px;font-family:monospace;font-size:13px;line-height:1.6}.info-screen{flex:1;width:100%;max-width:680px;margin:0 auto;padding:24px 16px 56px;overflow-y:auto}.info-title{color:var(--text);margin-bottom:20px;font-size:22px;font-weight:700}.info-section{border:1px solid var(--border);border-radius:10px;margin-bottom:28px;overflow:hidden}.info-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:var(--surface,#f7f8fa);border-bottom:1px solid var(--border);margin:0;padding:10px 16px;font-size:13px;font-weight:700}.info-legend{grid-template-columns:1fr 1fr;display:grid}.info-legend-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.info-legend-row:nth-last-child(-n+2){border-bottom:none}.info-legend-icon{text-align:center;flex-shrink:0;width:28px;font-size:22px}.info-legend-label{color:var(--text)}.info-confidence-list{padding:4px 0}.info-confidence-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.info-confidence-row:last-child{border-bottom:none}.info-confidence-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:3px}.info-confidence-label{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:700;display:block}.info-confidence-desc{color:var(--muted);font-size:13px}.info-chips-list{padding:4px 0}.info-chip-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 16px;display:flex}.info-chip-row:last-child{border-bottom:none}.info-chip-sample{text-align:center;flex-shrink:0;min-width:32px;font-size:18px;line-height:1.4}.info-chip-label{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:700;display:block}.info-chip-desc{color:var(--muted);font-size:12px}.info-faq-list{border-top:none}.info-faq-item{border-bottom:1px solid var(--border)}.info-faq-item:last-child{border-bottom:none}.info-faq-q{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:14px;font-weight:600;display:flex}.info-faq-q:hover{background:var(--hover,#00000008)}.info-faq-chevron{color:var(--muted);flex-shrink:0;font-size:10px}.info-faq-a{color:var(--muted);margin:0;padding:0 16px 14px;font-size:14px;line-height:1.6}.header-auth-btn--ghost{color:#fff;opacity:.9;background:0 0;border-color:#0000}.header-auth-btn--ghost:hover{opacity:1}.faq-admin-row{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:12px 14px}.faq-admin-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.faq-admin-category{text-transform:uppercase;letter-spacing:.5px;color:var(--blue);font-size:11px;font-weight:700}.faq-admin-order{color:var(--muted);font-size:11px}.faq-admin-draft{color:#92400e;background:#fef3c7;border-radius:8px;padding:1px 6px;font-size:11px}.faq-admin-q{margin-bottom:4px;font-size:14px;font-weight:600}.faq-admin-a{color:var(--muted);margin-bottom:10px;font-size:13px}.faq-admin-actions{gap:8px;display:flex}.faq-editor{border:2px solid var(--blue);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;display:flex}.faq-editor-top{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.faq-editor-field{flex-direction:column;flex:1;gap:4px;display:flex}.faq-editor-field span{text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.faq-editor-field input,.faq-editor-field textarea{border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.faq-editor-field--sm{flex:0 0 80px}.faq-editor-pub{align-items:center;gap:6px;padding-bottom:2px;font-size:13px;font-weight:600;display:flex}.faq-editor-btns{gap:8px;display:flex}.admin-btn--danger{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.admin-btn--danger:hover{background:#fecaca}.admin-screen{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 48px;overflow-y:auto}.admin-title{margin:0 0 16px;font-size:22px;font-weight:700}.admin-tabs{border-bottom:2px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.admin-subtabs{flex-wrap:wrap;gap:6px;margin:-8px 0 20px;display:flex}.admin-subtab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600}.admin-subtab:hover{color:var(--text)}.admin-subtab.active{background:var(--blue);border-color:var(--blue);color:#fff}.admin-tab-count{color:#135a8c;background:#fc5;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:11px;display:inline-block}.admin-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;flex:none;margin-bottom:-2px;padding:8px 16px;font-size:14px;font-weight:600;transition:color .12s}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.admin-section{min-height:200px}.admin-group{margin-bottom:28px}.admin-group-title{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 8px;padding-bottom:4px;font-size:15px;font-weight:700}.activity-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.activity-tab-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500}.activity-tab-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:11px;font-weight:700}.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px}.admin-table tr:hover td{background:#f8fafc}.tracker-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:8px;display:grid}.tracker-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.tracker-card-value{color:var(--text);font-size:24px;font-weight:700;line-height:1.1}.tracker-card-label{color:var(--muted);margin-top:4px;font-size:12px}.admin-table input{border:1.5px solid var(--blue);font-size:13px;font-family:var(--sans);border-radius:5px;outline:none;padding:4px 7px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.admin-search{border:1.5px solid var(--border);font-size:14px;font-family:var(--sans);border-radius:8px;outline:none;min-width:200px;padding:7px 11px}.admin-search:focus{border-color:var(--blue)}.admin-count{color:var(--muted);margin:0;font-size:12px}.admin-actions{white-space:nowrap}.admin-btn-edit,.admin-btn-save,.admin-btn-cancel,.admin-btn-delete{cursor:pointer;border:1.5px solid;border-radius:5px;margin-right:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .12s}.admin-btn-edit{border-color:var(--blue);color:var(--blue);background:0 0}.admin-btn-edit:hover{background:var(--blue-wash)}.admin-btn-save{background:var(--blue);border-color:var(--blue);color:#fff}.admin-btn-save:disabled{opacity:.6;cursor:default}.admin-btn-cancel{border-color:var(--border);color:var(--muted);background:0 0}.admin-btn-cancel:hover{background:#f8fafc}.admin-btn-delete{border-color:var(--red);color:var(--red);background:0 0}.admin-btn-delete:hover{background:#fef2f2}.admin-badge{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.3px;background:#f1f5f9;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.admin-assign-wrap{align-items:center;gap:4px;display:flex;position:relative}.admin-port-dropdown{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:8px;min-width:220px;max-height:200px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.admin-port-option{cursor:pointer;border-bottom:1px solid var(--border);padding:8px 12px;font-size:13px}.admin-port-option:last-child{border-bottom:none}.admin-port-option:hover{background:var(--blue-wash)}.admin-port-option.selected{background:var(--blue-tint);font-weight:600}.admin-add-form{border:1px solid var(--border);background:#f8fafc;border-radius:10px;margin-bottom:16px;padding:16px}.admin-add-form h4{margin:0 0 12px;font-size:14px;font-weight:700}.admin-add-fields{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.admin-add-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;flex-direction:column;gap:3px;font-size:11px;font-weight:700;display:flex}.admin-add-fields input{border:1.5px solid var(--border);font-size:13px;font-family:var(--sans);border-radius:6px;outline:none;padding:6px 9px}.admin-add-fields input:focus{border-color:var(--blue)}.admin-empty{color:var(--muted);padding:24px 0;font-size:14px}.admin-load-more{border:1.5px solid var(--border);width:100%;color:var(--blue);cursor:pointer;background:0 0;border-radius:8px;margin-top:12px;padding:10px;font-size:14px;font-weight:600;display:block}.admin-load-more:hover:not(:disabled){background:var(--blue-wash);border-color:var(--blue)}.admin-load-more:disabled{opacity:.5;cursor:default}@media (width>=640px){.weather-grid{grid-template-columns:repeat(4,1fr)}.modal-overlay{align-items:center;padding:16px}.modal{border-radius:16px;max-height:85svh}.hero-port-name{font-size:26px}.prepost-label{min-width:110px}}@media print{@page{size:letter portrait;margin:.5in}html,body{height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}#root{height:auto!important;display:block!important;overflow:visible!important}.itinerary-screen{height:auto!important;padding:0!important;display:block!important;overflow:visible!important}.app-header,.day-hero,.export-btns,.email-modal-backdrop,.modal-backdrop,.prepost-controls,.row-expanded,.day-strip-wrap,.sailing-map-section,.saved-screen,.signup-bar,.oib-bar,.cookie-banner,.itinerary-explore-more{display:none!important}.print-layout{color:#1a1a2e;flex-direction:column;height:9.9in;font-family:Arial,sans-serif;font-size:9px;overflow:hidden;display:flex!important}.pl-header{background:linear-gradient(135deg, var(--blue-dark) 0%, var(--blue-darker) 100%);color:#fff;border-radius:6px 6px 0 0;flex:none;justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.pl-cruise-line{letter-spacing:1.5px;text-transform:uppercase;opacity:.65;margin-bottom:3px;font-size:7px}.pl-ship{letter-spacing:.2px;font-size:16px;font-weight:700}.pl-itinerary{opacity:.8;margin-top:2px;font-size:9px}.pl-meta-row{opacity:.9;gap:14px;margin-top:8px;font-size:8px;display:flex}.pl-meta-item{flex-direction:column;gap:1px;display:flex}.pl-meta-label{opacity:.6;font-size:7px}.pl-brand{text-align:right;padding-top:2px}.pl-brand-name{opacity:.9;font-size:12px;font-weight:700}.pl-brand-url{opacity:.5;margin-top:2px;font-size:7px}.pl-body{border:1.5px solid var(--blue-dark);border-top:none;border-radius:0 0 6px 6px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pl-table{flex-direction:column;flex:1;padding:6px 10px 4px;display:flex;overflow:hidden}.pl-bottom{border-top:1.5px solid #c0d4e8;flex:0 0 2.2in;display:flex}.pl-map-col{border-right:1px solid #c0d4e8;flex-direction:column;flex:0 0 50%;gap:3px;padding:6px 8px;display:flex;overflow:hidden}.pl-info-col{background:#f8fbff;flex-direction:column;flex:0 0 50%;gap:3px;padding:6px 8px;display:flex}.pl-info-notes{flex-direction:column;gap:6px;margin-top:4px;display:flex}.pl-info-item strong{text-transform:uppercase;letter-spacing:.5px;color:var(--blue-dark);margin-bottom:1px;font-size:7px;font-weight:700;display:block}.pl-info-item p{color:#334155;margin:0;font-size:7px;line-height:1.45}.pl-section-title{text-transform:uppercase;letter-spacing:.8px;color:var(--blue-dark);border-bottom:1px solid #c0d4e8;flex:none;margin-bottom:2px;padding-bottom:3px;font-size:7.5px;font-weight:700}.pt-hrow,.pt-row{grid-template-columns:18px 72px 1fr 50px 40px 40px 14px 64px 32px 44px;align-items:center;gap:3px;padding:2px 3px;font-size:8.5px;display:grid}.pt-hrow{text-transform:uppercase;letter-spacing:.5px;color:#555;border-bottom:1.5px solid var(--blue-dark);flex:none;margin-bottom:1px;padding-bottom:4px;font-size:7px;font-weight:700}.pt-row{border-bottom:.5px solid #e8edf4;flex:1;min-height:0}.pt-even{background:#f7fafd}.pt-sea{color:#3a6080;background:#eef6fb!important}.pl-wx-note{color:#999;text-align:center;border-top:.5px solid #e8edf4;flex:none;margin-top:2px;padding:4px 4px 2px;font-size:6.5px;line-height:1.5}.pl-wx-badge{color:#fff;vertical-align:middle;border-radius:3px;padding:1px 4px;font-size:6px;font-weight:700;display:inline-block}.pl-wx-forecast{background:#16a34a}.pl-wx-outlook{background:#d97706}.pl-wx-historical{background:#6b7280}.ptc-ref{text-align:center}.ptc-ref-badge{color:#fff;background:#1a6b8a;border-radius:50%;justify-content:center;align-items:center;width:13px;height:13px;font-size:7px;font-weight:700;line-height:1;display:inline-flex}.ptc-date{white-space:nowrap;color:#333;font-weight:600}.ptc-port{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ptc-type{color:#666;font-size:7px}.ptc-arr,.ptc-dep{color:#555;text-align:center;white-space:nowrap}.ptc-wx{text-align:center;font-size:10px;line-height:1}.ptc-hi{text-align:right;white-space:nowrap}.ptc-rain{color:#27ae60;text-align:right}.ptc-wind{color:#7f8c8d;text-align:right}.ptc-wave{font-weight:700;color:var(--blue-dark)!important}.ptc-swell{color:#0e7490!important}}.rc-seg{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.rc-seg button,.rc-chip{border:1px solid var(--border);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px}.rc-seg button.active,.rc-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.rc-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;padding:12px}.rc-card h4{margin:0 0 4px}.rc-meta{color:var(--muted);font-size:13px}.rc-badge{background:var(--blue-tint);color:var(--blue-dark);border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11px;display:inline-block}.rc-badge--requested{color:#92400e;background:#fef3c7}.rc-badge--member{color:#166534;background:#dcfce7}.rc-badge--declined{color:#991b1b;background:#fee2e2}.rc-badge--mine{background:var(--blue-dark);color:#fff}.rc-badge--wx{color:#075985;background:#e0f2fe}.rc-badge--cd{color:#5b21b6;background:#ede9fe}.rc-badge--ks{color:#9d174d;background:#fce7f3}.rc-trail{flex-wrap:wrap;gap:6px;margin:8px 0;font-size:12px;display:flex}.rc-trail span{border:1px solid var(--border);background:#f8fafc;border-radius:6px;padding:2px 8px}.rc-trail .rc-trail--done{color:#166534;background:#dcfce7;border-color:#bbf7d0}.rc-trail .rc-trail--plan{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.rc-plan-btn{font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:6px 12px;font-size:13px}.rc-plan-btn:disabled{opacity:.5;cursor:default}.rc-plan-btn--cd{color:#6d28d9;border-color:#7c3aed}.rc-plan-btn--ks{color:#be185d;border-color:#db2777}.rc-res-wrap{overflow-x:auto}.rc-res-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.rc-res-table th,.rc-res-table td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 8px}.rc-res-table th:first-child,.rc-res-table td:first-child{text-align:left}.rc-res-table th{color:var(--muted);font-size:12px;font-weight:500}.rc-res-table .rc-grp th{text-align:center;color:var(--blue-dark);text-transform:uppercase;letter-spacing:.04em;border-bottom:0;padding-bottom:0;font-size:11px}.rc-res-table .rc-center{text-align:center}.rc-journey td{vertical-align:top}.rc-journey td.rc-journey-posts{text-align:left;white-space:normal}.rc-step{border:1px solid var(--border);text-align:left;background:#f8fafc;border-radius:8px;margin:0 6px 4px 0;padding:4px 8px;font-size:12px;display:inline-block}.rc-step b{font-size:13px;display:block}.rc-arrow{color:var(--muted);margin-right:6px}.rc-warn{color:#b45309;margin:4px 0;font-size:13px}.rc-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.rc-row input,.rc-row select,.rc-card textarea{border:1px solid var(--border);font:inherit;border-radius:6px;padding:6px 8px;font-size:14px}.rc-card textarea{box-sizing:border-box;width:100%;min-height:80px}.rc-answer{background:#f8fafc;border-radius:6px;margin:6px 0;padding:8px;font-size:14px}.rc-big{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:10px 18px;font-size:16px;text-decoration:none;display:inline-flex}.rc-big.secondary{color:var(--blue);background:#fff}.rc-big[aria-disabled=true],.rc-big:disabled{opacity:.5;pointer-events:none}.rc-muted{color:var(--muted);font-size:13px}.rc-toast{color:#fff;z-index:1000;background:#111827;border-radius:999px;padding:10px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.rc-kit--focus{outline:2px solid var(--blue)}.rc-cov{grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:4px;margin:8px 0;display:grid}.rc-cov-day{border-radius:6px;flex-direction:column;align-items:center;padding:3px 0;font-size:11px;line-height:1.3;display:flex}.rc-cov-post{color:#fff;background:#16a34a}.rc-cov-group{color:#14532d;background:#bbf7d0}.rc-cov-gap{color:#991b1b;background:#fee2e2}.rc-cov-legend{gap:12px;display:flex}.rc-cov-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;display:inline-block}.rc-wait{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:6px 0;font-size:14px;display:flex}.rc-wait:last-child{border-bottom:0}@media (width<=600px){.rc-kit .rc-big{width:100%}.rc-kit .rc-row{flex-direction:column;align-items:stretch}}.pi-bullet{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:6px 0;display:flex}.pi-bullet:last-of-type{border-bottom:0}.pi-bullet input[type=checkbox]{flex:none;width:24px;height:24px;margin-top:2px}.pi-bullet-body{flex:1;min-width:0;font-size:14px}.pi-bullet--stale{opacity:.6}.pi-pencil{cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;font-size:18px}.pi-thumbs{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.pi-thumbs img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:72px;height:72px}.pi-file{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--blue);border-radius:6px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;text-decoration:none;display:inline-flex}.pi-edit textarea,.pi-edit input[type=text]{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;border-radius:6px;margin-top:4px;padding:6px 8px;font-size:14px}.pi-details{color:var(--muted);word-break:break-word;margin:6px 0;font-size:12px}.pi-details code{background:#f1f5f9;border-radius:4px;padding:0 4px}.pi-opts{border:1px solid var(--border);border-radius:6px;max-height:220px;margin-top:4px;overflow:auto}.pi-opts button{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;min-height:44px;font:inherit;cursor:pointer;background:#fff;padding:6px 10px;font-size:14px;display:block}.pi-opts button.active{background:var(--blue-tint)}.pi-result{color:#166534;background:#f0fdf4;border-radius:6px;margin:6px 0;padding:8px;font-size:14px}.exc-teaser{text-align:left;background:var(--blue-wash);border:1px solid var(--blue-tint);width:100%;font:inherit;color:var(--blue-dark);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.exc-teaser .exc-arrow{color:var(--blue);margin-left:auto}.exc-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.exc-row{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:10px;gap:10px;padding:10px;text-decoration:none;display:flex}.exc-thumb{object-fit:cover;background:var(--blue-tint);border-radius:8px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;display:flex}.exc-main{flex:1;min-width:0}.exc-name{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.3}.exc-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:3px;font-size:12px;display:flex}.exc-star{color:var(--amber)}.exc-pill{color:var(--blue);background:var(--blue-tint);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.exc-price{color:var(--text);margin-top:4px;font-size:13px;font-weight:700}.exc-from{color:var(--muted);font-size:12px;font-weight:400}.exc-seeall{text-align:center;background:var(--blue);color:#fff;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:block}.exc-disclosure{color:var(--muted);margin-top:12px;font-size:11px;line-height:1.45}.biz-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:2px}.biz-owner{color:var(--blue);white-space:nowrap;cursor:help;margin-left:4px;font-size:.75em}.biz-featured{color:#5c4400;background:var(--accent);white-space:nowrap;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:.7em;font-weight:600}.guide-claim-line{color:var(--muted);text-align:center;margin:24px 0 8px;font-size:.8rem}.guide-claim-line a{color:inherit;text-decoration:underline}.biz-verified{opacity:.7;white-space:nowrap;margin-left:4px;font-size:.75em}.wx-skel{background:linear-gradient(90deg,#94a3b82e 25%,#94a3b857 50%,#94a3b82e 75%) 0 0/200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite wx-shimmer;display:inline-block}.day-hero .wx-skel{background-image:linear-gradient(90deg,#ffffff24 25%,#ffffff4d 50%,#ffffff24 75%)}.wx-skel--icon{border-radius:50%;width:48px;height:48px}.wx-skel--temp{width:110px;height:44px}.wx-skel--chip{border-radius:15px;width:140px;height:30px}.wx-skel--row{width:92px;height:18px}.hero-weather-pending{align-items:center;gap:14px}@keyframes wx-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.wx-skel{animation:none}}.icon{vertical-align:-.15em;flex-shrink:0;width:1.05em;height:1.05em;display:inline-block}.icon-lead{margin-right:.4em}.icon-inline{vertical-align:-.18em}.home-feature-icon,.home-tile-icon,.save-prompt-icon,.signup-strip-icon{color:var(--blue)}.home-feature-icon{font-size:17px;display:inline-flex}.home-tile-icon{font-size:22px}.hero-save-star{display:inline-flex}.hero-save-star .icon{width:20px;height:20px}.save-prompt-icon{justify-content:center;display:flex}.icon.hero-share-icon{width:20px;height:20px}.icon.prepost-share-icon{width:14px;height:14px}.icon.share-row-icon{width:24px;height:24px}@media screen and (width>=960px){.itinerary-screen{--itin-col:920px}.itinerary-screen>:not(.day-hero):not(.signup-bar):not(.port-cache-banner):not(.modal-backdrop):not(.share-toast):not(.print-layout){max-width:var(--itin-col);margin-left:auto;margin-right:auto}.itinerary-screen>.day-hero,.itinerary-screen>.signup-bar,.itinerary-screen>.port-cache-banner{padding-left:calc((100% - var(--itin-col)) / 2 + 20px);padding-right:calc((100% - var(--itin-col)) / 2 + 20px)}}.strip-weather-col{grid-template-columns:110px 24px 64px;align-items:center;column-gap:6px;display:grid}.strip-weather-col>.strip-rain{text-align:right;white-space:nowrap;grid-column:1}.strip-weather-col>.strip-icon-wrap{text-align:center;grid-column:2}.strip-weather-col>.strip-temp-range{grid-column:3;justify-content:flex-end}.strip-weather-col>.wx-skel,.strip-weather-col>.strip-typical{grid-column:1/-1;justify-self:end}.strip-explore,.strip-wave-info{text-align:center;justify-content:center;align-items:center;width:96px;min-width:96px}@media (width<=600px){.strip-weather-col{grid-template-columns:62px 24px 60px}.strip-weather-col>.strip-rain{white-space:normal;line-height:1.15}.strip-wave-info{width:auto;min-width:56px}}.credits-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.credits-item{align-items:center;gap:12px;display:flex}.credits-thumb{object-fit:cover;background:var(--border);border-radius:6px;flex-shrink:0;width:56px;height:42px}.credits-text{flex-direction:column;min-width:0;font-size:13px;line-height:1.4;display:flex}.credits-port{color:var(--text);font-weight:600;text-decoration:none}.credits-port:hover{color:var(--blue)}.credits-line{color:var(--muted);overflow-wrap:anywhere}.credits-line a{color:var(--blue)}.site-footer-copy a[href=\/credits]{color:inherit}.oib-backdrop{z-index:1000}.oib-card{padding:22px 20px 20px;position:relative}.oib-close{position:absolute;top:12px;right:12px}.oib-card .modal-title{margin:0 36px 8px 0;font-size:19px;line-height:1.3}.oib-why{color:var(--muted);margin:0 0 16px;font-size:14px}.oib-steps{margin:0 0 16px;padding-left:22px;font-size:15px;line-height:1.7}.oib-btn{text-align:center;margin-bottom:12px;text-decoration:none;display:block}.oib-copy{justify-content:center;width:100%}.oib-bar{color:#3d2c00;background:#fff8e1;border:2px solid #fc5;border-radius:14px;flex-direction:column;gap:8px;margin:8px 12px;padding:10px 12px;font-size:14px;line-height:1.35;display:flex}.oib-bar-btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.oib-bar-btn{color:#3d2c00;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9b95c;border-radius:10px;padding:7px 14px;font-weight:600;text-decoration:none}.oib-bar-primary{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.cd-oib{z-index:2;margin:10px 0 14px;position:relative}.oib-bar-x{color:#3d2c00;cursor:pointer;background:#3d2c001a;border:0;border-radius:50%;width:32px;height:32px;margin-left:auto;font-size:15px;font-weight:700}.strip-typical{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.strip-typical-temp{color:var(--muted);font-size:13px;font-weight:500}.strip-typical-meta{color:#9a3412;white-space:nowrap;font-size:10.5px}.tier-tag{letter-spacing:.04em;text-transform:uppercase;color:#9a3412;background:#ffedd5;border-radius:6px;padding:1px 6px;font-size:9.5px;font-weight:700}.tier-note{color:#9a3412;background:#fff7ed;border-top:1px solid #fed7aa;border-bottom:1px solid #fed7aa;padding:8px 14px;font-size:12.5px;line-height:1.35}.hero-tier-note{color:#9a3412;background:#ffedd5eb;border-radius:8px;margin:2px 0 6px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-block}.sd-page{max-width:640px;margin:0 auto;padding:16px}.sd-title{margin:0 0 2px;font-size:20px}.sd-sub{color:var(--muted);margin-bottom:12px;font-size:13px}.sd-empty{margin:48px 16px}.sd-list{border:1px solid var(--border);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.sd-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.3fr) .6fr 1fr minmax(0,1fr);align-items:center;gap:6px;padding:8px 10px;font-size:14px;display:grid}.sd-row:last-child{border-bottom:none}.sd-head{text-transform:uppercase;letter-spacing:.3px;color:var(--muted);background:var(--bg);font-size:11px;font-weight:700}.sd-row--busiest{background:#fffbeb;font-weight:600}.sd-date{white-space:nowrap}.businesses-cta{margin:8px 0 24px}.businesses-cta-btn{padding:12px 24px;text-decoration:none;display:inline-block}.claim-screen{box-sizing:border-box;width:100%;max-width:640px;margin:0 auto;padding:28px 16px 60px}.claim-title{margin:0 0 10px;font-size:24px;font-weight:700}.claim-intro{color:var(--muted);margin:0 0 20px;font-size:15px;line-height:1.6}.claim-found{background:var(--blue-wash);border:1.5px solid #b9d7ee;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.claim-found ul{margin:6px 0 0;padding-left:18px}.claim-form{flex-direction:column;gap:22px;display:flex;position:relative}.claim-section{flex-direction:column;gap:14px;display:flex}.claim-section h3{margin:0;font-size:16px;font-weight:700}.claim-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.claim-field{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.claim-required{color:var(--red);text-transform:none}.claim-field input,.claim-field select{box-sizing:border-box;border:1.5px solid var(--border);width:100%;min-width:0;font-size:16px;font-family:var(--sans);text-transform:none;letter-spacing:0;color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:10px 12px;font-weight:400}.claim-field input:focus,.claim-field select:focus{border-color:var(--blue)}.claim-check{color:var(--text);cursor:pointer;align-items:center;gap:10px;font-size:15px;display:flex}.claim-check input{flex-shrink:0;width:20px;height:20px}.claim-port-results{border:1px solid var(--border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.claim-port-results li+li{border-top:1px solid var(--border)}.claim-port-results button{background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;border:none;justify-content:space-between;padding:12px;font-size:15px;display:flex}.claim-port-results button span{color:var(--muted);font-size:13px}.claim-hp{opacity:0;width:1px;height:1px;position:absolute;top:auto;left:-9999px}.claim-error{color:var(--red);margin:0;font-size:14px}.claim-submit{align-self:flex-start;padding:12px 32px}.claim-done{text-align:center;padding:50px 10px}.claim-done-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:28px;font-weight:700;display:flex}.claim-done h2{margin:0 0 12px;font-size:20px;line-height:1.4}.cl-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:14px}.cl-table th,.cl-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:6px 8px}.cl-table th{color:var(--muted);font-size:12px;font-weight:600}.cl-table td:first-child{width:28px;padding-right:0}.cl-table .cl-same{color:var(--muted)}.oc-head{width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:0;display:flex}.oc-head>span:last-child{text-align:right;flex-shrink:0}.oc-small{min-height:40px;padding:6px 12px;font-size:14px}.oc-filters select,.oc-filters input{min-height:40px}@media (width<=600px){.oc-head{flex-direction:column}.oc-head>span:last-child{text-align:left}.cl-table{font-size:13px}}.nl-counts{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:13px;display:flex}.nl-counts strong{color:var(--text)}.nl-list-card{cursor:pointer}.nl-field{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:600;display:block}.nl-field input,.nl-field textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;color:var(--text);border-radius:6px;margin-top:3px;padding:8px;font-size:14px;font-weight:400;display:block}.nl-field textarea{min-height:70px}.nl-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin-top:10px;padding:10px}.nl-item-pic{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.nl-thumb{object-fit:cover;background:var(--surface);border-radius:8px;flex-shrink:0;width:96px;height:72px}.nl-picks{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.nl-pick{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:3px 10px 3px 3px;font-size:12px;display:flex}.nl-pick img{object-fit:cover;border-radius:5px;flex-shrink:0;width:40px;height:30px}.nl-previews{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;margin-top:10px;display:grid}.nl-previews h5{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:0 0 4px;font-size:12px}.nl-previews iframe{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;height:560px}.nl-confirm{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;margin-top:10px;padding:10px}.nl-progress{background:var(--surface);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.nl-progress>div{background:var(--blue);height:100%}.nl-table{border-collapse:collapse;width:100%;font-size:13px}.nl-table th,.nl-table td{text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:4px 6px}.nl-ok{color:#166534;font-size:13px}.rmap-keepsake-link{color:var(--blue);margin-top:6px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.rmap-keepsake-link:hover{text-decoration:underline}.lang-head{margin:4px 0 14px}.lang-title{color:var(--text);font-size:18px;font-weight:700}.lang-native{color:var(--muted);font-weight:500}.lang-note{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.45}.lang-draft{color:var(--muted);background:var(--bg);border:1px dashed var(--border);border-radius:8px;margin:10px 0 0;padding:7px 10px;font-size:12.5px}.lang-draft a{color:var(--blue);font-weight:600}.lang-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=640px){.lang-featured{grid-template-columns:repeat(3,minmax(0,1fr))}}.lang-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.lang-card-en{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.lang-card .lang-text{font-size:19px;font-weight:700}.lang-text{color:var(--text);overflow-wrap:anywhere;text-align:left;font-size:15px;font-weight:600}.lang-translit{color:var(--text);overflow-wrap:anywhere;font-size:13px;font-style:italic}.lang-say{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.lang-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.lang-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;align-items:start;gap:10px;padding:10px 12px;display:grid}.lang-row:first-child{border-top:none}.lang-row-en{color:var(--muted);padding-top:1px;font-size:14px}.lang-row-local{flex-direction:column;gap:1px;min-width:0;display:flex}.lang-speak{cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1.3}.lang-row .lang-speak{padding-top:1px}.phr-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;margin-top:12px;display:grid}@media (width<=720px){.phr-layout{grid-template-columns:1fr}.phr-list{max-height:220px}}.phr-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;max-height:75vh;display:flex;overflow:auto}.phr-lang{border:none;border-top:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.phr-lang:first-child{border-top:none}.phr-lang.active{background:var(--bg);color:var(--blue);font-weight:700}.phr-lang-meta{align-items:center;gap:6px;font-size:11px;display:flex}.phr-draft{color:var(--muted)}.phr-ok{color:#15803d;font-weight:700}.phr-missing{color:#b91c1c;font-weight:600}.phr-editor{flex-direction:column;gap:12px;display:flex}.phr-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.phr-editor-title{font-size:17px;font-weight:700}.phr-verified{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.phr-section-title{text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.phr-grid{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:6px 8px;display:grid}.phr-grid--translit{grid-template-columns:minmax(110px,.8fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}.phr-h{text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.phr-en{color:var(--muted);font-size:13px}.phr-grid input{border:1px solid var(--border);border-radius:6px;width:100%;min-width:0;padding:6px 8px;font-family:inherit;font-size:13px}.phr-grid input:focus{border-color:var(--blue);outline:none}.phr-save{background:var(--surface);align-items:center;gap:10px;padding:8px 0;display:flex;position:sticky;bottom:0}.hero-unit-toggle{border:1.5px solid #ffffff8c;border-radius:12px;align-self:center;margin-left:6px;display:inline-flex;overflow:hidden}.hero-unit-toggle button{color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.5}.hero-unit-toggle button.on{color:var(--blue-darker);cursor:default;background:#fff}.units-prompt-later{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:6px;font-size:14px}@media (width<=420px){.hero-unit-toggle{margin-left:4px}.hero-unit-toggle button{padding:1px 5px;font-size:10px}.hero-feels{margin-left:2px;font-size:12px}}@media print{.hero-unit-toggle{display:none}}.saved-card-offline{color:var(--green);margin-top:6px;font-size:12px;font-weight:600}.saved-card-offline--no{color:var(--muted);font-weight:500}.saved-card--dim{opacity:.55}.saved-offline-banner{margin:-20px -16px 12px}.saved-offline-lead{color:var(--muted);margin:-4px 0 12px;font-size:13px}.notify-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:12px 16px;padding:14px 16px;box-shadow:0 4px 14px #00000014}.notify-card-title{font-size:15px;font-weight:700}.notify-card-text{color:var(--muted);margin:6px 0 12px;font-size:13px;line-height:1.45}.notify-card-actions{align-items:center;gap:12px;display:flex}.notify-btn{background:var(--accent);color:var(--blue-darker);cursor:pointer;border:0;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:700}.notify-btn:disabled{opacity:.6;cursor:default}.notify-btn--blue{background:var(--blue);color:#fff;margin-top:6px}.notify-link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px}.notify-sheet-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.notify-sheet{background:var(--surface);width:100%;max-width:520px;padding:22px 20px calc(26px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.notify-sheet h3{margin:0 0 6px;font-size:20px}.notify-sheet-lead{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.45}.notify-step{align-items:flex-start;gap:12px;margin:0 0 14px;font-size:14px;line-height:1.4;display:flex}.notify-num{background:var(--blue-tint);height:26px;color:var(--blue-dark);border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;font-weight:800;display:flex}.notify-ic{border:1px solid var(--border);background:var(--blue-wash);border-radius:6px;padding:0 6px;font-size:12px;display:inline-block}.notify-sheet-fine{color:var(--muted);margin:10px 0 0;font-size:12px}.notify-row{gap:10px}.account-screen .notify-time,.notify-time{border:1px solid var(--border);background:var(--blue-wash);border-radius:8px;flex:none;width:auto;min-width:0;padding:5px 8px;font-family:inherit;font-size:14px;font-weight:600}.notify-status{color:var(--green);font-size:13px;font-weight:600}.notify-test{color:var(--blue);text-align:left;font-weight:600}.notify-cap{letter-spacing:.4px;color:var(--muted);text-transform:uppercase;margin:8px 0 0;font-size:12px;font-weight:700}.notify-msg{margin:0}.notify-admin{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:12px 16px}.notify-admin h3{margin:0 0 8px;font-size:15px}.notify-admin-row{flex-wrap:wrap;align-items:center;gap:18px;font-size:14px;display:flex}.notify-admin-counts{color:var(--muted);margin:8px 0 0;font-size:13px}.hero-bell{font-size:17px;position:relative}.hero-bell--dot:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:-1px;right:-4px}.notify-sheet-later{margin:12px auto 0;display:block}.saved-notify-row{border-top:1px solid var(--border);color:var(--blue-dark);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.saved-notify-on{color:var(--green);align-items:center;gap:8px;font-size:13px;display:flex}.saved-notify-btn{padding:6px 12px;font-size:13px}.saved-card:has(.saved-notify-row){flex-wrap:wrap}.saved-card .saved-notify-row{background:var(--blue-wash);border-radius:0 0 10px 10px;flex-basis:100%;order:10;margin:10px -14px -12px;padding:10px 14px}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-medium-latin-DAJZNfEK.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-semibold-latin-BOVuNqj-.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/poppins-bold-latin-CZkI5iyf.woff2)format("woff2")}.cd-root{--cd-blue:#1f7fc1;--cd-navy:#135a8c;--cd-deep:#0d4f7d;--cd-sun:#fc5;--cd-ink:#14324d;background:var(--cd-deep);color:#fff;min-height:0;font-family:"Poppins", var(--sans,system-ui, sans-serif);-webkit-font-smoothing:antialiased;flex:1;position:relative;overflow:hidden}.cd-root:not(.cd-root--loading):not(.cd-root--empty){background:radial-gradient(at 30% 0,#78c8ff59,#0000 60%),radial-gradient(at 80% 100%,#00285099,#0000 60%),linear-gradient(#1b7fc4 0%,#0d5a92 45%,#08355e 100%)}.cd-root.cd-split{background:radial-gradient(at 20% 0,#78c8ff59,#0000 60%),radial-gradient(at 90% 100%,#00285099,#0000 60%),linear-gradient(160deg,#1b7fc4 0%,#0d5a92 45%,#08355e 100%)}.cd-waves{pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24'%3E%3Cpath d='M0 12 Q15 2 30 12 T60 12 T90 12 T120 12' fill='none' stroke='white' stroke-width='1.2'/%3E%3C/svg%3E");background-size:120px 24px;position:absolute;inset:0}.cd-split .cd-waves{opacity:.16}.cd-trail{position:absolute;inset:0}.cd-trail-path{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.cd-trail-path path{fill:none;stroke:#ffd23f;stroke-width:3px;stroke-dasharray:7 8;stroke-linecap:round}.cd-trail--compact .cd-trail-path path{stroke-width:2.5px;stroke-dasharray:5 6}.cd-bub{width:0;height:0;animation:cd-drift var(--drift-s,10s) ease-in-out var(--drift-d,0s) infinite alternate;position:absolute}@keyframes cd-drift{0%{transform:translate(-4px,3px)}50%{transform:translate(3px,-4px)}to{transform:translate(4px,4px)}}.cd-bub-btn{cursor:pointer;background:#1f6fb2;border:4px solid #fff;border-radius:50%;padding:0;transition:transform .4s,border-color .4s,box-shadow .4s;position:absolute;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 22px #00000059}.cd-trail--compact .cd-bub-btn{border-width:3px;box-shadow:0 6px 18px #00000059}.cd-bub-btn img{object-fit:cover;width:100%;height:100%;display:block}.cd-bub-tile{background:#d6ecfa;place-items:center;width:100%;height:100%;line-height:1;display:grid}.cd-bub.is-active{z-index:1}.cd-bub.is-active .cd-bub-btn{border-color:#ffd23f;transform:translate(-50%,-50%)scale(1.14);box-shadow:0 0 0 6px #ffd23f59,0 8px 22px #00000059}.cd-bub-btn:focus-visible{outline-offset:3px;outline:3px solid #fff}.cd-bub-btn:disabled{cursor:default}.cd-bub-lbl{white-space:nowrap;text-overflow:ellipsis;color:#14324d;pointer-events:none;background:#fffffff2;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.35;transition:background .4s;position:absolute;left:0;overflow:hidden;transform:translate(-50%)}.cd-trail--compact .cd-bub-lbl{border-radius:10px;padding:1px 7px;font-size:10px}.cd-bub.is-active .cd-bub-lbl{background:#ffd23f}@media (prefers-reduced-motion:reduce){.cd-bub{animation:none}.cd-bub-btn{transition:border-color .4s,box-shadow .4s}}.cd-panel{overscroll-behavior:contain;padding:max(14px, env(safe-area-inset-top)) 18px max(14px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.cd-spacer{flex:12px;min-height:12px}.cd-brand{color:#fff;text-shadow:0 1px 4px #00000080;align-self:flex-start;align-items:center;gap:7px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.cd-wheel{color:#fff;filter:drop-shadow(0 1px 3px #0006);width:22px;height:22px}.cd-plate{text-align:center}.cd-ship{overflow-wrap:anywhere;font-weight:700;line-height:1.15}.cd-meta{opacity:.92;margin-top:2px;font-weight:500}.cd-sub{color:var(--cd-sun);margin-top:10px;font-weight:700;line-height:1.1}.cd-big{letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;margin-top:8px;font-weight:700;line-height:.95}.cd-big--text{white-space:normal;line-height:1.02}.cd-stage-onboard .cd-big{padding-bottom:.16em}.cd-unit{color:var(--cd-sun);margin-top:6px;font-weight:600}.cd-info{text-align:center;border-radius:16px;margin-top:12px;padding:10px 14px}.cd-info-label{font-size:15px;font-weight:600}.cd-info .cd-wx{font-size:17px;font-weight:600}.cd-wx{display:block}.cd-wx--forecast{color:var(--cd-ink)}.cd-wx--typical{color:#4a6378}.cd-info .cd-wx--forecast,.cd-info .cd-wx--typical{color:#fff}.cd-info .cd-wx--forecast{color:var(--cd-sun)}.cd-wx-low{opacity:.7;font-weight:500}.cd-bottom{flex-direction:column;gap:10px;display:flex}.cd-teaser{flex-direction:column;gap:6px;display:flex}.cd-teaser-window{touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:14px;overflow:hidden}.cd-teaser-track{transition:transform .45s;display:flex}.cd-slide{min-width:0;color:var(--cd-ink);background:#fffffff5;border-radius:14px;flex:0 0 100%;align-items:center;gap:10px;min-height:74px;padding:9px 11px;font-size:13px;line-height:1.3;display:flex}.cd-slide-cell{flex:0 0 100%;min-width:0;display:flex}.cd-slide-cell>.cd-slide{flex:auto}.cd-slide--link{cursor:pointer;-webkit-user-drag:none;text-decoration:none}.cd-slide--link:focus-visible{outline-offset:-3px;outline:3px solid #ffd23f}.cd-see-port{white-space:nowrap;color:#0d4f7d;background:#ffd23f;border-radius:999px;flex:none;align-self:center;margin-left:auto;padding:5px 10px;font-size:11.5px;font-weight:700}.cd-slide--link:hover .cd-see-port{filter:brightness(1.05)}.cd-thumb{background:#cfe3f2 50%/cover no-repeat;border-radius:10px;flex:none;width:56px;height:56px}.cd-thumb--sea{background:#d6ecfa;place-items:center;font-size:28px;display:grid}.cd-slide-text{flex-direction:column;gap:1px;min-width:0;display:flex}.cd-slide-text b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.cd-slide-hl{color:#3d566b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.cd-slide .cd-wx{font-size:12.5px;font-weight:600}.cd-dots{justify-content:center;gap:2px;display:flex}.cd-dot{cursor:pointer;background:0 0;border:0;width:22px;height:22px;padding:0;position:relative}.cd-dot:after{content:"";background:#ffffff80;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;transition:background .2s,transform .2s;position:absolute;top:50%;left:50%;box-shadow:0 0 3px #00000059}.cd-dot.is-on:after{background:#fff;transform:scale(1.25)}.cd-cta{background:var(--cd-sun);color:var(--cd-deep);font:700 15px/1.2 "Poppins", var(--sans,system-ui, sans-serif);text-align:center;cursor:pointer;border:0;border-radius:999px;padding:13px 18px;text-decoration:none;display:block;box-shadow:0 4px 14px #00000038}.cd-cta:hover{filter:brightness(1.04)}.cd-cta-sub{font:500 11.5px/1.3 "Poppins", var(--sans,system-ui, sans-serif);opacity:.8;margin-top:2px;display:block}.cd-phone .cd-cta--top{margin:12px 6px 0}.cd-cta:focus-visible,.cd-ghost:focus-visible,.cd-dot:focus-visible,.cd-brand:focus-visible{outline-offset:2px;outline:3px solid #fff}.cd-ghost{text-align:center;color:#fff;border:1.5px solid #ffffffb3;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;display:block}.cd-actions{flex-wrap:wrap;gap:8px;display:flex}.cd-actions .cd-ghost{cursor:pointer;white-space:nowrap;background:#0000002e;flex:1 1 0;min-width:max-content;padding:10px 12px;font-family:inherit}.cd-actions .cd-ghost:hover{background:#ffffff29}.cd-promo{color:#fff;background:#135a8cc7;border-radius:14px;flex-direction:column;gap:3px;padding:10px 14px;font-size:13px;display:flex}.cd-promo-tag{letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:10px}.cd-promo a{color:#fc5;font-weight:600}.cd-toast{color:#fff;z-index:50;word-break:break-all;background:#0a1e32eb;border-radius:999px;max-width:90vw;padding:10px 18px;font-size:14px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.cd-actions:empty{display:none}.cd-cal-menu{flex-wrap:wrap;flex:1 0 100%;gap:8px;display:flex}.cd-cal-menu .cd-ghost{background:#0000004d;flex:1 1 0;min-width:max-content;padding:10px 12px;text-decoration:none}.cd-cal-menu .cd-ghost:hover{background:#ffffff29}.cd-credit{text-align:center;color:#ffffffc7;text-shadow:0 1px 3px #0009;margin:0;font-size:11px;line-height:1.3}.cd-credit a{color:inherit;text-decoration:none}.cd-credit a:hover{text-decoration:underline}.cd-phone .cd-plate{text-shadow:0 1px 6px #00000040;margin:4px 6px 0}.cd-phone .cd-ship{font-size:18px}.cd-phone .cd-meta{font-size:12.5px}.cd-phone .cd-sub{margin-top:6px;font-size:24px}.cd-phone .cd-big{margin-top:4px}.cd-phone .cd-big--xl{font-size:min(100px,25vw)}.cd-phone .cd-big--lg{font-size:min(88px,22vw)}.cd-phone .cd-big--ml{font-size:min(76px,18.5vw)}.cd-phone .cd-big--md{font-size:min(60px,15vw)}.cd-phone .cd-big--text{font-size:min(48px,12.5vw)}.cd-phone .cd-unit{margin-top:4px;font-size:16px}.cd-trail-slot{flex:260px;min-height:260px;margin:6px -8px 4px;position:relative}.cd-phone .cd-bottom{gap:8px}.cd-phone .cd-teaser{gap:0}.cd-phone .cd-dots .cd-dot{height:18px}.cd-phone .cd-cta{padding:12px 16px}.cd-phone .cd-actions{gap:6px}.cd-phone .cd-actions .cd-ghost{padding:8px;font-size:12.5px}@media (height<=700px){.cd-phone .cd-big--xl{font-size:min(84px,22vw)}.cd-phone .cd-big--lg{font-size:min(76px,20vw)}.cd-phone .cd-trail-slot{flex-basis:240px;min-height:240px;margin-top:2px;margin-bottom:0}.cd-phone .cd-plate{margin-top:0}.cd-phone .cd-unit{margin-top:2px}.cd-phone .cd-info{border-radius:12px;margin-top:4px;padding:4px 12px}.cd-phone .cd-info-label{font-size:13px}.cd-phone .cd-info .cd-wx{font-size:15px}.cd-phone .cd-panel:has(.cd-info) .cd-trail-slot{flex-basis:180px;min-height:180px}.cd-phone .cd-slide{min-height:66px;padding:7px 10px}.cd-phone .cd-thumb{width:50px;height:50px}}.cd-phone .cd-info{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#135a8c8c;border:1px solid #fff3;margin-left:6px;margin-right:6px}.cd-split{--u:min(100vw / 640, 100vh / 400)}.cd-split .cd-panel{width:45%;padding:calc(var(--u) * 12) calc(var(--u) * 20) calc(var(--u) * 14) calc(var(--u) * 28);right:auto}.cd-split>.cd-trail{inset:9% 3% calc(6% + 30px) 45%}.cd-split .cd-brand{font-size:max(15px, calc(var(--u) * 8));text-shadow:none;gap:calc(var(--u) * 4)}.cd-split .cd-wheel{width:max(22px, calc(var(--u) * 11));height:max(22px, calc(var(--u) * 11));filter:none}.cd-split .cd-plate{text-align:left;margin-top:calc(var(--u) * 28)}.cd-split .cd-ship{font-size:calc(var(--u) * 15)}.cd-split .cd-meta{font-size:max(13px, calc(var(--u) * 7))}.cd-split .cd-sub{font-size:calc(var(--u) * 17);margin-top:calc(var(--u) * 6)}.cd-split .cd-big{margin-top:calc(var(--u) * 4);line-height:.86}.cd-split .cd-big--xl{font-size:calc(var(--u) * 112)}.cd-split .cd-big--lg{font-size:calc(var(--u) * 84)}.cd-split .cd-big--ml{font-size:calc(var(--u) * 60)}.cd-split .cd-big--md{font-size:calc(var(--u) * 50)}.cd-split .cd-big--text{font-size:calc(var(--u) * 46)}.cd-split .cd-unit{font-size:calc(var(--u) * 17);margin-top:calc(var(--u) * 3)}.cd-split .cd-info{text-align:left;margin-top:calc(var(--u) * 10);padding:calc(var(--u) * 6) calc(var(--u) * 9);border-radius:calc(var(--u) * 9);max-width:calc(var(--u) * 250);background:#ffffff1a;border:1px solid #ffffff29}.cd-split .cd-info-label{font-size:max(14px, calc(var(--u) * 7.5))}.cd-split .cd-info .cd-wx{font-size:max(16px, calc(var(--u) * 9))}.cd-split .cd-spacer{flex:0 0 calc(var(--u) * 14);min-height:0}.cd-split .cd-bottom{max-width:calc(var(--u) * 250);gap:calc(var(--u) * 6);padding-bottom:calc(var(--u) * 10)}.cd-split .cd-teaser{gap:calc(var(--u) * 2)}.cd-split .cd-teaser-window{border-radius:calc(var(--u) * 7)}.cd-split .cd-slide{gap:calc(var(--u) * 6);padding:calc(var(--u) * 5) calc(var(--u) * 6);border-radius:calc(var(--u) * 7);min-height:calc(var(--u) * 50)}.cd-split .cd-slide-text b{font-size:max(15px, calc(var(--u) * 8))}.cd-split .cd-slide-hl{font-size:max(13px, calc(var(--u) * 6.6))}.cd-split .cd-slide .cd-wx{font-size:max(13px, calc(var(--u) * 6.8))}.cd-split .cd-thumb{width:calc(var(--u) * 38);height:calc(var(--u) * 38);border-radius:calc(var(--u) * 5)}.cd-split .cd-thumb--sea{font-size:calc(var(--u) * 18)}.cd-split .cd-dots{justify-content:flex-start}.cd-split .cd-cta{font-size:max(15px, calc(var(--u) * 8));padding:calc(var(--u) * 7) calc(var(--u) * 10)}.cd-split .cd-credit{text-align:right;max-width:50%;text-shadow:none;background:#00000061;border-radius:8px;padding:3px 9px;position:fixed;bottom:10px;right:14px}.cd-root--loading,.cd-root--empty{background:linear-gradient(160deg, var(--cd-blue), var(--cd-navy))}.cd-loading{text-align:center;place-content:center;font-weight:500;display:grid;position:absolute;inset:0}.cd-loading .spinner{color:#fff}.cd-empty{flex-direction:column;padding:18px clamp(22px,6vw,96px);display:flex;position:absolute;inset:0;overflow-y:auto}.cd-empty-title{max-width:640px;margin:14vh 0 8px;font-size:clamp(26px,4vw,38px);line-height:1.15}.cd-empty-text{opacity:.92;max-width:560px;margin:0 0 22px;font-size:16px}.cd-empty-actions{flex-direction:column;gap:10px;max-width:360px;display:flex}@media (prefers-reduced-motion:reduce){.cd-teaser-track,.cd-dot:after{transition:none}}body:has(.cookie-banner) .cd-phone .cd-panel{padding-bottom:128px}body:has(.cookie-banner) .cd-split .cd-panel{padding-bottom:96px}body:has(.cookie-banner) .cd-split .cd-credit{bottom:84px}.cd-tv-url{letter-spacing:.02em;color:#ffffffd9;text-align:left;word-break:break-all;margin:0;font-size:13px;font-weight:600}@media (width>=900px){.cd-split .cd-toast{left:22.5%}}.share-chooser .share-panel-item{white-space:nowrap;font-weight:600}.cd-actions .cd-remind.is-on{background:#ffcc5547;border-color:#ffcc55b3}.cd-actions .cd-remind:disabled{opacity:.6;cursor:default}.cd-remind-hint{color:#ffffffd9;text-shadow:0 1px 3px #00000080;max-width:36em;margin:8px 0 0;font-size:.78rem;line-height:1.4}.cd-link-strip{box-sizing:border-box;color:#fff;clip-path:inset(0 -100vmax);background:#0d4f7d;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 16px;font-size:14px;line-height:1.3;text-decoration:none;display:flex;box-shadow:0 0 0 100vmax #0d4f7d}.cd-link-strip strong{color:#ffd23f;font-weight:800}.cd-link-strip-text{align-items:center;gap:6px;display:inline-flex}.cd-link-strip-cta{white-space:nowrap;text-align:right;font-weight:700}.cd-link-strip:hover .cd-link-strip-cta{text-decoration:underline}.cd-link-btn{color:#fff;font-family:var(--sans);white-space:nowrap;cursor:pointer;background:#1f6fb2;border:1.5px solid #1f6fb2;border-radius:14px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.cd-link-btn:hover{background:#0d4f7d;border-color:#0d4f7d}.prepost-share-group{align-items:center;gap:8px;display:inline-flex}.port-hero-actions .cd-link-btn{border-color:#fff;padding:7px 14px;font-size:13px}@media print{.cd-link-strip,.cd-link-btn{display:none!important}}.cd-share-wrap{flex:1 1 0;min-width:max-content;display:flex;position:relative}.cd-share-wrap>.cd-ghost{flex:1}.cd-share-wrap .share-panel{text-align:left;left:0;right:auto}.cd-cal-menu{flex-direction:column}.cd-cal-alt{flex-direction:column;align-items:center;gap:4px;display:flex}.cd-cal-alt a{color:#fff;opacity:.85;font-size:12.5px;text-decoration:underline}.cd-cal-alt a:hover{opacity:1}.cd-hs-backdrop{z-index:60;font-family:"Poppins", var(--sans,system-ui, sans-serif);background:#05192d8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.cd-hs--desktop.cd-hs-backdrop{align-items:center;padding:24px}.cd-hs-sheet{box-sizing:border-box;color:#14324d;width:100%;max-width:460px;max-height:88vh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));text-align:left;background:#fff;border-radius:22px 22px 0 0;animation:.22s ease-out cd-hs-up;position:relative;overflow-y:auto;box-shadow:0 -8px 28px #00000040}.cd-hs-sheet:focus{outline:none}.cd-hs--desktop .cd-hs-sheet{border-radius:22px;max-width:420px;padding:22px 20px 16px;animation:none;box-shadow:0 12px 40px #00000059}@keyframes cd-hs-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cd-hs-sheet{animation:none}}.cd-hs-grab{background:#cdd5de;border-radius:2px;width:40px;height:4px;margin:0 auto 12px}.cd-hs-x{color:#5a6b7b;cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;position:absolute;top:8px;right:10px}.cd-hs-x:hover{background:#eef2f6}.cd-hs-title{text-align:center;color:#14324d;margin:0 0 12px;font-size:17px;font-weight:700}.cd-hs-opt{box-sizing:border-box;width:100%;font:inherit;color:inherit;text-align:left;background:#fff;border:1.5px solid #e3e8ee;border-radius:12px;align-items:flex-start;gap:12px;margin:0 0 10px;padding:12px;display:flex}button.cd-hs-opt{cursor:pointer}button.cd-hs-opt:hover{border-color:#1f6fb2}.cd-hs-opt.is-rec{background:#f2f8fd;border-color:#1f6fb2}.cd-hs-e{flex:none;font-size:24px;line-height:1}.cd-hs-body{flex-direction:column;gap:2px;min-width:0;display:flex}.cd-hs-body>b{font-size:15px;line-height:1.3;display:block}.cd-hs-body>span{color:#5a6b7b;font-size:13px;line-height:1.4}.cd-hs-tag{vertical-align:1px;color:#0d4f7d;background:#ffd23f;border-radius:8px;margin-left:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.cd-hs-row{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px;display:flex}.cd-hs-btn{color:#fff;font:inherit;cursor:pointer;background:#1f6fb2;border:0;border-radius:16px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.cd-hs-btn:hover{background:#0d4f7d}.cd-hs-lnk{color:#1f6fb2;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:6px;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.cd-hs-row .cd-hs-lnk{margin-top:0}.cd-hs-opt :focus-visible,.cd-hs-opt:focus-visible,.cd-hs-x:focus-visible,.cd-hs-back:focus-visible,.cd-hs-done:focus-visible{outline-offset:2px;outline:3px solid #1f6fb2}.cd-hs-qr{background:#f2f8fd;border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin:-2px 0 10px;padding:12px;display:flex}.cd-hs-qr img{background:#fff;border-radius:8px;width:168px;height:168px;display:block}.cd-hs-qr span{color:#5a6b7b;font-size:12.5px}.cd-hs-back{color:#1f6fb2;font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:14px;font-weight:600;position:absolute;top:10px;left:10px}.cd-hs-steps{margin:0 0 14px;padding:0;list-style:none}.cd-hs-step{border-bottom:1px solid #e3e8ee;align-items:center;gap:12px;padding:12px 0;display:flex}.cd-hs-step:last-child{border-bottom:0}.cd-hs-num{color:#fff;background:#1f6fb2;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.cd-hs-step-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cd-hs-step-text b{font-size:15px}.cd-hs-step-text span{color:#5a6b7b;font-size:12.5px;line-height:1.35}.cd-hs-illus{flex:none}.cd-hs-pill{color:#1f6fb2;background:#eef2f6;border-radius:10px;justify-content:center;align-items:center;width:44px;height:36px;display:inline-flex}.cd-hs-kebab{color:#14324d;font-size:22px;font-weight:700}.cd-hs-menu{color:#14324d;white-space:nowrap;background:#eef2f6;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.cd-hs-add{color:#1f6fb2;background:#eef2f6;border-radius:10px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-block}.cd-hs-done{border-radius:999px;width:100%;padding:11px;font-size:15px;display:block}@media (width<=360px){.cd-hs-menu{padding:6px 8px;font-size:11px}}.cd-guide{color:#14324d;min-height:100vh;font-family:"Poppins", var(--sans,system-ui, sans-serif);background:#f4f8fb;flex:1}.cd-guide-top{background:#0d4f7d;padding:12px 18px}.cd-guide-brand{color:#fff;align-items:center;gap:8px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.cd-guide-wheel{width:28px;height:28px}.cd-guide-main{max-width:600px;margin:0 auto;padding:18px 18px 48px}.cd-guide-back{color:#1f6fb2;font-size:14px;font-weight:600;text-decoration:none}.cd-guide-back:hover{text-decoration:underline}.cd-guide h1{color:#0d4f7d;margin:14px 0 6px;font-size:24px;line-height:1.2}.cd-guide-lede{color:#3d5368;margin:0 0 18px;font-size:15px;line-height:1.5}.cd-guide-shortcut{text-align:center;color:#0d4f7d;background:#ffd23f;border-radius:999px;margin:0 0 18px;padding:13px 18px;font-weight:700;text-decoration:none;display:block}.cd-guide-steps{counter-reset:step;margin:0;padding:0;list-style:none}.cd-guide-steps li{counter-increment:step;background:#fff;border:1.5px solid #e3e8ee;border-radius:14px;margin:0 0 10px;padding:14px 14px 14px 56px;font-size:14.5px;line-height:1.45;position:relative}.cd-guide-steps li:before{content:counter(step);color:#fff;background:#1f6fb2;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex;position:absolute;top:13px;left:14px}.cd-guide-steps b{display:block}.cd-guide-steps span{color:#3d5368}.cd-guide-copy{gap:8px;margin-top:8px;display:flex}.cd-guide-copy input{min-width:0;font:inherit;color:#14324d;background:#f4f8fb;border:1.5px solid #e3e8ee;border-radius:10px;flex:1;padding:9px 10px;font-size:12.5px}.cd-guide-copy button{color:#fff;font:inherit;cursor:pointer;background:#1f6fb2;border:0;border-radius:10px;flex:none;padding:9px 16px;font-size:14px;font-weight:700}.cd-guide-copy button:hover{background:#0d4f7d}.cd-guide-note{color:#5a6b7b;margin:14px 0 0;font-size:13px}.cd-guide-steps li .cd-guide-shortcut{margin:10px 0 0}.cd-guide-manual{margin-top:18px;font-size:14px}.cd-guide-manual summary{cursor:pointer;color:#1f6fb2;margin-bottom:10px;font-weight:600}.cd-signup-pill{top:max(10px, env(safe-area-inset-top));z-index:3;color:var(--cd-deep);font:600 13px/1.2 "Poppins", var(--sans,system-ui, sans-serif);cursor:pointer;background:#fff;border:0;border-radius:999px;padding:7px 13px;position:absolute;right:16px;box-shadow:0 2px 8px #0003}.cd-save{background:#ffffff1f;border:1.5px solid #ffffff73;border-radius:14px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.4}.cd-save b{margin-bottom:2px;font-size:14px;display:block}.cd-save-btn{color:var(--cd-deep);font:600 13px/1.2 "Poppins", var(--sans,system-ui, sans-serif);cursor:pointer;background:#fff;border:0;border-radius:999px;margin-top:8px;padding:8px 15px;display:inline-block}.cd-signup-pill:focus-visible,.cd-save-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}
