.theme-welcome{position:fixed;inset:0;background:#07121fea;backdrop-filter:blur(16px);z-index:100;display:grid;place-items:center;padding:20px;overflow:auto}.theme-dialog{background:linear-gradient(140deg,#213e4b,#142633);border:1px solid #526e79;border-radius:28px;max-width:580px;width:100%;padding:30px;outline:none}.theme-dialog h2{font-size:35px;letter-spacing:-1.3px;margin:18px 0}.theme-dialog p{line-height:1.6;color:#b5cbd4}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.theme-options button{padding:24px 16px;min-height:190px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;border:1px solid #829d9e}.theme-options button span{font-size:36px}.theme-options button strong{font-size:18px}.theme-options button small{font-size:12px;color:inherit;line-height:1.5;font-weight:400}.theme-blue{background:linear-gradient(135deg,#223f54,#1c5358)!important;color:#d3f5eb!important}.theme-pink{background:linear-gradient(135deg,#713e61,#b86e91)!important;color:#ffedf5!important}[data-theme-choice][aria-pressed=true]{outline:2px solid currentColor;outline-offset:3px}.gift-card{background:linear-gradient(130deg,#203b48,#162936);border:1px solid #3b5867;border-radius:22px;padding:22px;margin:14px 0}.gift-card h3{font-size:24px;margin:20px 0 10px}.gift-card p{line-height:1.6}.gift-priority{font-size:12px;color:#dccc9d}.gift-link{display:inline-block;margin:7px 0 18px}.gift-card.bought{opacity:.7}.gift-card.bought h3{text-decoration:line-through}#placeSearchStatus.loading:before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #a1d3c655;border-top-color:#a1d3c6;border-radius:50%;margin-right:8px;vertical-align:middle;animation:search-spin .7s linear infinite}@keyframes search-spin{to{transform:rotate(360deg)}}
html[data-theme=pink]{background:#231322;color:#f8eaf2;color-scheme:dark}html[data-theme=pink] body{background:radial-gradient(ellipse at top,#57314b 0%,#231322 60%)}html[data-theme=pink] .card,html[data-theme=pink] .album-card,html[data-theme=pink] .movie-dialog{background:#3a2336;border-color:#67425b}html[data-theme=pink] button{background:#efb5cd;color:#422239}html[data-theme=pink] button.secondary,html[data-theme=pink] .filter-row button{background:#5b354e;color:#f8deea;border-color:#8c5a77}html[data-theme=pink] .filter-row button.selected{background:#efb5cd;color:#422239}html[data-theme=pink] .hero,html[data-theme=pink] .date-feature,html[data-theme=pink] .couple-cover{background:radial-gradient(ellipse at top right,#94587955,transparent 65%),linear-gradient(125deg,#693d59,#482d49 60%,#59354e);border-color:#a87592}html[data-theme=pink] .quick-card,html[data-theme=pink] .dash-panel,html[data-theme=pink] .plan-card,html[data-theme=pink] .gift-card,html[data-theme=pink] .place-tile{background:linear-gradient(140deg,#482d43,#352236);border-color:#76506c;color:#faeaf2}html[data-theme=pink] input,html[data-theme=pink] select,html[data-theme=pink] textarea{background:#2d1d2c;color:#faeaf2;border-color:#79516d}html[data-theme=pink] input::placeholder,html[data-theme=pink] textarea::placeholder{color:#c69fb8}html[data-theme=pink] nav{background:#301c2ded;border-color:#77506a}html[data-theme=pink] nav button{background:transparent;color:#c49cb5}html[data-theme=pink] nav button.active,html[data-theme=pink] .eyebrow,html[data-theme=pink] a,html[data-theme=pink] .text-button,html[data-theme=pink] .stats strong{color:#ffd0e4!important}html[data-theme=pink] .muted,html[data-theme=pink] .hint,html[data-theme=pink] small,html[data-theme=pink] label,html[data-theme=pink] .section-intro p{color:#d2adc3}html[data-theme=pink] .tag,html[data-theme=pink] .pill,html[data-theme=pink] .quick-card .symbol,html[data-theme=pink] .plan-symbol,html[data-theme=pink] .stats .card,html[data-theme=pink] .photo-drop{background:#653c56;color:#ffdeeb;border-color:#a37591}html[data-theme=pink] .map-legend{background:#3a2336}html[data-theme=pink] .entry,html[data-theme=pink] .couple-stats{border-color:#79516d}html[data-theme=pink] .album-cover{background:radial-gradient(ellipse at top left,#9b668b,#4d304a)}html[data-theme=pink] .leaflet-control-attribution a{color:#225b66!important}html[data-theme=pink] .leaflet-popup-content button{background:#9fd4c8;color:#12313a}html[data-theme=pink] .theme-dialog{background:linear-gradient(130deg,#633b55,#392236);border-color:#a87592}html[data-theme=pink] .orb{background:#d66c9a}html[data-theme=pink] .toast{background:#efb5cd;color:#422239}html[data-theme=pink] .couple-monogram{color:#ffd0e4;border-color:#a57591}nav button{font-size:10px}@media(max-width:420px){.theme-dialog{padding:24px 19px}.theme-options{gap:10px}.theme-options button{padding:20px 12px}.theme-options button strong{font-size:16px}.theme-dialog h2{font-size:30px}}@media(prefers-reduced-motion:reduce){#placeSearchStatus.loading:before{animation:none}}

/* The artwork's seat line meets the card's top border; feet overlap the card. */
.hero-seat{position:relative;margin-top:118px}
.hero-seat .hero{margin-top:0}
.hero-couple{position:absolute;right:8px;top:-118px;width:190px;height:auto;z-index:2;pointer-events:none;user-select:none;filter:drop-shadow(0 8px 9px #0003)}
@media(max-width:520px){.hero-seat{margin-top:96px}.hero-couple{width:150px;top:-94px;right:0}.hero-seat .hero{padding-top:45px}.hero-seat .hero h2{font-size:27px}.hero-seat .tiny-spark.one{display:none}}

/* Compact road-trip artwork beside the map introduction. */
.map-intro{position:relative;min-height:170px;padding-right:190px}
.map-couple{position:absolute;right:0;top:24px;width:170px;height:auto;border-radius:20px;box-shadow:0 8px 24px #0003;pointer-events:none}
@media(max-width:520px){.map-intro{padding-right:0;padding-top:30px}.map-intro .eyebrow{display:block;max-width:205px;line-height:1.7}.map-intro h2{max-width:210px;font-size:32px;min-height:72px;margin-top:15px}.map-intro>p{max-width:100%}.map-couple{width:120px;top:48px;border-radius:15px}}

.map-couple{border-radius:0!important;box-shadow:none;background:transparent}

.account-panel details{margin-top:18px;border-top:1px solid #57717b;padding-top:14px}.account-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;line-height:1.5}.account-check input{width:20px;height:20px;flex-shrink:0;margin:0}.account-panel #accountStatus{line-height:1.6;color:#b3dcd0}
