/* D3: a coastal field guide. City cards keep their original material system. */
html[data-day=d3]{--bg:#dbeef0;--ink:#174955;--muted:#42717b;--purple:#087e99;--purple-soft:#c6e8eb;--line:#c4dfe0;--yellow:#f8dfae;--pink:#ffceba}
html[data-day=d3] body{background:radial-gradient(ellipse at 95% 95%,#8fcfd6 0,transparent 45%),linear-gradient(155deg,#f6ead1 0,#e2f3f2 35%,#d1e9ef 100%)}
html[data-day=d3] .brand-symbol{background:#187d93;box-shadow:0 4px 0 #105668}
html[data-day=d3] .day-tab[data-group=d3] .day-code{background:#137f98;color:#fff;box-shadow:inset 0 1px 0 #80bbc7,0 3px 0 #0c6177}
html[data-day=d3] .day-tab[aria-current=true]{box-shadow:0 3px 0 #a9cfd4}
html[data-day=d3] .title-island{background:#087e99;box-shadow:0 5px 0 #0a596f}
html[data-day=d3] .flip-button{background:#087e99;box-shadow:0 4px 0 #07556e,inset 0 1px 0 #73b8c7}
html[data-day=d3] .progress-stop span{background:#9abfc5}
html[data-day=d3] .progress-stop.selected span{background:#087e99}
.card-holder[data-group=d3]{--ink:#174955;--muted:#42717b;--purple:#087e99;--line:#c4dfe0;--purple-soft:#c6e8eb}
.card-holder[data-group=d3] .card-front{padding:0;background:#fffdf5;border:1px solid #dce7de;box-shadow:inset 0 0 0 5px #fffdf5,inset 0 0 0 6px #dce6dc,0 3px 0 #e3efe8,0 6px 0 #73afb9,0 9px 0 #d0e1db,0 15px 22px -13px #245d6e80}
.card-holder[data-group=d3] .card-front::before{inset:9px;border-color:#cbded7;opacity:.7;pointer-events:none}
.card-holder[data-group=d3] .sea-card-content.entry-body{padding:19px 22px 12px;justify-content:flex-start;overflow:clip;gap:0}
.sea-ticket-head{display:flex;justify-content:space-between;align-items:center;min-height:45px;margin-bottom:7px}
.sea-ticket-head .entry-meta{align-items:flex-start;flex-direction:column;gap:3px;margin:0}
.sea-ticket-head .time{font-size:1.85rem;line-height:1;font-weight:900;color:#087e99;letter-spacing:-.04em;text-shadow:0 2px 0 white,0 3px 0 #b5d2d7}
.sea-small-tag{font-size:.625rem;font-weight:750;color:#507983;letter-spacing:.05em}
.sea-stop-number{display:flex;align-items:center;gap:8px;font-size:2.7rem;line-height:1;font-weight:900;color:#c3dedc;font-variant-numeric:tabular-nums;letter-spacing:-.06em}
.sea-stop-number small{font-size:.625rem;color:#2b7180;letter-spacing:.1em;writing-mode:vertical-rl;border-right:1px solid #c1d8d6;padding-right:7px}
.card-holder[data-group=d3] .entry-body h2{font-family:'Travel Sans','PingFang SC',sans-serif;color:#123f50;font-size:1.65rem;font-weight:850;line-height:1.35;letter-spacing:-.05em;margin:0 0 12px;text-wrap:pretty;text-shadow:0 1px 0 #fff,0 2px 0 #d6e4db}
.card-holder[data-group=d3] .island-media{position:relative;display:block;flex:0 0 auto;height:188px;min-height:0;max-height:none;width:100%;padding:0;margin:0 0 9px;border:1px solid #afd0d3;border-radius:19px;background:#97d5df;overflow:hidden;isolation:isolate;box-shadow:0 3px 0 #d7e4da,inset 0 1px 0 white}
.card-holder[data-group=d3] .island-media::before{content:none}
.sea-photo-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;height:calc(100% - 27px);padding:10px 48px 10px 13px;background:repeating-linear-gradient(0deg,transparent 0 18px,#e9ffff24 18px 19px),repeating-linear-gradient(90deg,transparent 0 18px,#e9ffff24 18px 19px),linear-gradient(130deg,#b9e5e2,#6fbeca)}
.sea-print{z-index:2;position:relative;display:block;height:100%;min-width:0;max-width:100%;padding:4px 4px 7px;background:#fffef3;border-radius:4px;box-shadow:2px 4px 5px #1c617442;transform:rotate(-2deg);cursor:zoom-in}
.sea-print img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
.sea-wide .sea-print{width:100%;transform:rotate(-1deg)}
.sea-photo-mark{position:absolute;right:8px;top:15px;display:flex;align-items:center;flex-direction:column;color:#176779;gap:2px;pointer-events:none}
.sea-photo-mark>span{writing-mode:vertical-rl;font-weight:850;font-size:1rem;letter-spacing:.25em;padding-top:5px}
.sea-photo-mark>small{font-size:.5rem;font-weight:850;letter-spacing:.01em}
.sea-compass{width:31px;height:31px;stroke-width:1.2;stroke:#216e7c;fill:none}
.sea-compass .needle{fill:#fff8df;stroke:#216e7c}
.sea-secondary{width:43%;height:82%;transform:rotate(4deg);margin-left:-5px}
.sea-pair .sea-print:first-child{max-width:49%}
.sea-photo-credit{display:flex;align-items:center;justify-content:space-between;gap:6px;height:27px;padding:0 9px;background:#e5f3ed;color:#386570;font-size:.5625rem;font-weight:650}
.sea-photo-credit a{color:#185f71;text-decoration:none;display:flex;align-items:center;min-height:27px;white-space:nowrap}
.sea-waves{position:absolute;bottom:-1px;left:0;width:100%;height:29px;fill:#c5f0eb;stroke:none;pointer-events:none;z-index:1;opacity:.95}
.sea-waves path+path{fill:#e5f3ed}
.sea-diorama>img{height:100%;width:100%;object-fit:cover;object-position:50% 60%;user-select:none}
.sea-diorama .sea-waves{height:18px;opacity:.9}
.sea-art-label{position:absolute;right:8px;top:7px;font-size:.5rem;background:#fffaf0dd;border-radius:6px;padding:2px 5px;color:#356670}
.sea-caption{font-size:.625rem;line-height:1.5;color:#527a7e;margin:0 0 8px;padding:0 2px}
.sea-journey{display:flex;align-items:center;gap:8px;flex:0 0 auto;width:100%;min-height:43px;padding:7px 9px;margin-bottom:10px;background:#e7f0e8;border:1px solid #cbded4;border-radius:12px;box-shadow:inset 0 1px 0 #fff;text-align:left;font-size:.6875rem;line-height:1.55;color:#42737b}
button.sea-journey:hover{background:#d9eae2}
.sea-journey-icon{font-family:'Travel Round',sans-serif;font-size:1.4rem;line-height:1;font-weight:850;color:#0a7c92}
.sea-journey-path{flex:1;min-width:0}
.sea-journey-path b{color:#1a5664;font-weight:750}
.sea-journey-action{font-size:.5625rem;font-weight:750;color:#0c667c;white-space:nowrap;margin-left:auto}
.card-holder[data-group=d3] .lead-copy{font-size:1rem;line-height:1.8;font-weight:450;color:#254f59;letter-spacing:.005em}
.card-holder[data-group=d3] .lead-copy p{margin-bottom:9px}
.card-holder[data-group=d3] .lead-copy>:last-child{margin-bottom:0}
.card-holder[data-group=d3] .tip{border:0;border-left:3px solid #e4ac76;border-radius:2px 11px 11px 2px;background:#f5edda;padding:8px 11px;font-size:.875rem;line-height:1.7;margin-top:10px}
.card-holder[data-group=d3] .sea-next.card-edge{margin:0 22px;padding:11px 0 15px;min-height:44px;border-top:1px dashed #abc5c3;font-size:.625rem;color:#58797a;gap:7px}
.sea-next b{color:#155a68;font-weight:750;margin-left:4px}
.sea-next span:last-child{color:#176b7b;font-weight:800}
.sea-compact-source{font-size:.625rem;line-height:1.5;color:#2b7180;margin:0 0 7px;min-height:24px;display:flex;align-items:center}
.card-holder[data-group=d3][data-compact=compact] .island-media{height:112px}
.card-holder[data-group=d3][data-compact=compact] .sea-photo-mark{top:8px}
.card-holder[data-group=d3][data-compact=compact] .sea-compass{display:none}
.card-holder[data-group=d3][data-compact=compact] .sea-caption{font-size:.5625rem;margin-bottom:6px}
.card-holder[data-group=d3][data-compact=minimal] .sea-card-content{padding-top:16px}
.card-holder[data-group=d3][data-compact=minimal] .entry-body h2{font-size:1.4rem;margin-bottom:10px}
.card-holder[data-group=d3][data-compact=minimal] .time{font-size:1.55rem}
.card-holder[data-group=d3][data-compact=minimal] .lead-copy{font-size:1rem;line-height:1.75}
.card-holder[data-group=d3][data-compact=minimal] .sea-stop-number{font-size:2.2rem}
.card-holder[data-group=d3]:not([data-part="0"]) .sea-card-content{padding-top:20px}
.sea-card-content[data-mood=dawn] .sea-photo-stage{background:linear-gradient(135deg,#f7e7ba,#a0d6de 75%)}
.sea-card-content[data-mood=sunset] .sea-photo-stage{background:linear-gradient(135deg,#f3cbb0,#b4d9d9 80%)}
.sea-card-content[data-mood=sunset] .sea-stop-number{color:#e5c7af}
.island-route-dialog{--ink:#174955;--muted:#42717b;--purple:#087e99;--purple-soft:#c6e8eb;--line:#c4dfe0;color:#174955;background:#fffdf5;max-width:560px;max-height:88svh;padding:0;border:1px solid #abc5c3;border-radius:26px;box-shadow:0 18px 70px #17495555}
.island-route-dialog[open]{display:flex;flex-direction:column}
.island-route-dialog .directory-header{flex-shrink:0;padding:18px 20px 14px;border-bottom:1px dashed #abc5c3;align-items:flex-start}
.island-route-dialog .directory-header h2{font-size:1.3rem;line-height:1.5;text-wrap:pretty}
.island-route-dialog .directory-header p{color:#087e99}
.sea-detail-content{padding:16px 22px 24px;overflow:auto;overscroll-behavior:contain;line-height:1.8}
.sea-detail-scope{font-size:.8125rem;color:#527a7e;margin-bottom:16px}
.sea-detail-content .route-metrics{grid-template-columns:1fr 1.3fr .8fr}
.sea-detail-content .route-metrics strong{font-size:1.4rem}
.sea-detail-content .route-metrics .duration{font-size:1.0625rem}
.sea-detail-content .route-roads{margin-bottom:12px;overflow-wrap:anywhere}
.sea-detail-content .tip{background:#e7f0e8}
.sea-return-plan{border-top:1px dashed #abc5c3;margin-top:22px;padding-top:15px;font-size:.9375rem}
.sea-return-plan h3{font-size:1rem;margin-bottom:10px}
@media(max-width:760px){
  .card-holder[data-group=d3] .sea-card-content.entry-body{padding:16px 17px 10px}
  .card-holder[data-group=d3] .entry-body h2{font-size:1.5rem;margin-bottom:10px}
  .sea-ticket-head .time{font-size:1.7rem}
  .sea-stop-number{font-size:2.5rem}
  .card-holder[data-group=d3] .island-media{height:174px}
  .card-holder[data-group=d3] .sea-next.card-edge{margin:0 17px;padding:9px 0 12px;min-height:38px}
}
@media(max-width:370px),(max-height:710px){
  .card-holder[data-group=d3] .sea-card-content.entry-body{padding:13px 16px 8px}
  .card-holder[data-group=d3] .island-media{height:134px}
  .card-holder[data-group=d3][data-compact=compact] .island-media{height:82px}
  .card-holder[data-group=d3] .entry-body h2{font-size:1.375rem;margin-bottom:8px}
  .sea-ticket-head{min-height:37px;margin-bottom:6px}
  .sea-ticket-head .time{font-size:1.5rem}
  .sea-stop-number{font-size:2.1rem}
  .sea-small-tag{font-size:.5625rem}
  .sea-journey{margin-bottom:8px;padding:6px 8px;min-height:37px;gap:5px}
  .card-holder[data-group=d3] .lead-copy{font-size:.9375rem;line-height:1.75}
  .card-holder[data-group=d3] .tip{font-size:.8125rem;line-height:1.7;padding:7px 9px;margin-top:8px}
}
@media(min-width:1550px){.card-holder[data-group=d3] .island-media{height:218px}}
/* Let imagery take the space that remains after the actual text, rather than
   forcing short notes onto another card or leaving an empty half-card. */
.card-holder[data-group=d3] .island-media,
.card-holder[data-group=d3][data-compact=compact] .island-media{flex:1 1 210px;height:auto;min-height:110px;max-height:260px}
.card-holder[data-group=d3][data-compact=compact] .island-media{min-height:64px}
@media(max-height:710px){.card-holder[data-group=d3] .island-media,.card-holder[data-group=d3][data-compact=compact] .island-media{flex-basis:140px;min-height:75px;max-height:190px}.sea-photo-mark{top:8px}.sea-photo-mark .sea-compass,.sea-photo-mark>small{display:none}}
.sea-photo-stage{overflow:hidden}
.sea-photo-credit{position:relative;z-index:3}
@media(max-width:760px){html[data-day=d3] .day-tab[data-group=d3] .day-code{color:#087e99;background:transparent;box-shadow:none}html[data-day=d3] .day-tab[aria-current=true] .day-label>span{color:#42717b}}
