.visual-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.photo-action{position:relative;isolation:isolate;overflow:hidden;min-height:102px;border:0;border-radius:22px;color:white;background:#153966;text-align:left;padding:20px;font:inherit;font-weight:700;cursor:pointer}.photo-action img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.photo-action:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09284bba,#09284b30);z-index:-1}.photo-action span{display:block;max-width:18em}.visual-dialog{padding:0;border:0;border-radius:28px;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 32px);color:var(--ink,#18364a);box-shadow:0 30px 100px #09284644}.visual-dialog::backdrop{background:#0a24448c;backdrop-filter:blur(7px)}.visual-dialog>header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #e3ebf3}.visual-dialog h2{font-size:18px;margin:0}.visual-dialog-body{padding:20px;overflow:auto}.discovery-progress{font-size:12px;color:#54718b;margin:0 0 12px}.discovery-card{border-radius:24px;overflow:hidden;box-shadow:0 8px 32px #193e6219;border:1px solid #e8edf4;touch-action:pan-y;transition:transform .12s;background:white}.place-photo{position:relative;background:linear-gradient(135deg,#d9ecfc,#f3f8ff);height:265px;display:grid;place-content:center;overflow:hidden}.place-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-credit{position:absolute;bottom:8px;right:8px;max-width:90%;background:#10273fba;color:white!important;font-size:10px;padding:4px 7px;border-radius:8px}.photo-unavailable{text-align:center;color:#50708a;gap:16px}.photo-unavailable>span{font-size:50px}.discovery-copy{padding:20px;min-height:135px}.discovery-copy h3{font-size:23px;line-height:1.4;margin:7px 0;overflow-wrap:anywhere}.discovery-copy p{font-size:14px;line-height:1.7;margin:6px 0}.swipe-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 10px}.swipe-actions button{min-height:54px;padding:10px}.discovery-footer{display:flex;justify-content:space-between;gap:12px}.discovery-complete{text-align:center;padding:30px 10px;display:grid;gap:16px}.discovery-complete>span{font-size:60px;color:#1784de}.reorder-controls{display:flex;grid-column:2/-1;gap:5px;justify-content:flex-end}.reorder-controls button{min-width:44px;min-height:44px;border:1px solid #dce7f1;border-radius:13px;background:#f5f9ff;color:#24639b;font:inherit;font-size:20px;cursor:pointer}.reorder-controls button:disabled{opacity:.3}.reorder-handle{cursor:grab!important;touch-action:none}.drop-target{outline:3px solid #438fe5;outline-offset:-3px;background:#edf6ff}.share-preview{background:#f2f8ff;border-radius:20px;overflow:hidden;margin-bottom:18px}.share-preview-sky{height:110px;background:url('/journey-sky.png') center 35%/cover}.share-preview h3,.share-preview p{margin:12px 18px}.share-actions{display:grid;gap:10px;margin-top:14px}.share-status{min-height:1.5em;font-size:14px}.choice-grid .style-option{position:relative;isolation:isolate;overflow:hidden}.choice-grid .style-option img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:.13;z-index:-1}button:focus-visible,.discovery-card:focus-visible{outline:3px solid #176bdd;outline-offset:3px}@media(max-width:600px){.visual-toolbar{gap:10px}.photo-action{padding:14px;min-height:94px;font-size:14px}.visual-dialog-body{padding:14px}.place-photo{height:235px}.reorder-controls{grid-column:1/-1}.discovery-copy{padding:16px;min-height:100px}}@media(prefers-reduced-motion:reduce){.discovery-card{transition:none}}

.reorder-controls{display:none}.is-reordering .reorder-controls{display:flex}.reorder-toggle{margin-bottom:14px}.reorder-hint{font-size:13px;color:#54718b;margin:0 0 16px}

.itinerary-photo{position:relative;height:190px;overflow:hidden;border-radius:18px;margin:4px 0 14px}.itinerary-photo img{width:100%;height:100%;object-fit:cover}.itinerary-photo .photo-credit{font-size:9px}@media(max-width:600px){.itinerary-photo{height:165px}}
