.add-place{position:absolute;right:100px;top:35px;background:transparent;border:1px solid #a6b09f;border-radius:24px;padding:10px 16px;color:#30433b;font:inherit;font-size:13px;cursor:pointer}.add-place span{font-size:18px;margin-right:4px}.contribute{color:#2f4038;background:#f8f6f0;border:1px solid #d2d6c9;border-radius:24px;width:min(620px,calc(100% - 28px));max-height:90dvh;padding:36px;box-sizing:border-box;overscroll-behavior:contain;box-shadow:0 24px 100px #273b3830}.contribute::backdrop{background:#20332d55;backdrop-filter:blur(6px)}.form-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;color:inherit;width:44px;height:44px;cursor:pointer}.form-kicker{font-size:10px;letter-spacing:.17em;color:#788773;margin:10px 0 12px}.contribute h2{font-family:serif;font-weight:400;font-size:27px;margin:0 0 12px}.form-intro,.privacy-note,.submission-success p{font-size:13px;line-height:1.8;color:#788273}.contribute-tabs{display:flex;border-bottom:1px solid #d9ddd1;margin:22px 0}.contribute-tabs button{background:none;border:0;padding:14px 12px;font:inherit;color:#7b8577;cursor:pointer}.contribute-tabs .active{color:#30433b;border-bottom:2px solid #30433b}.contribute-tabs span{font-size:11px}.contribute label{display:block;font-size:12px;margin:16px 0 8px;line-height:1.7}.contribute input,.contribute textarea{display:block;width:100%;box-sizing:border-box;background:#fffdf8;border:1px solid #cfd5c8;border-radius:8px;padding:12px;color:#30433b;font:inherit;font-size:14px;margin-top:7px}.contribute input:focus,.contribute textarea:focus{outline:2px solid #87977a;outline-offset:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-upload{position:relative;min-height:150px;background:#e8ece1;border:1px dashed #aab59f;border-radius:12px;overflow:hidden;text-align:center;display:grid!important;place-items:center;cursor:pointer}.photo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;height:100%;margin:0}.photo-upload:focus-within{outline:2px solid #87977a}.photo-upload b,.photo-upload small{display:block;font-weight:400}.photo-upload small{font-size:10px;color:#849078;margin-top:8px}.photo-upload img{width:100%;max-height:220px;object-fit:cover}.search-row{display:flex;gap:8px}.search-row input{margin:0;min-width:0}.search-row button,.manual-pick,#pick-bar button{border:1px solid #b4bfab;border-radius:8px;background:transparent;padding:10px 14px;font:inherit;font-size:12px;color:#30433b;cursor:pointer;white-space:nowrap}.manual-pick{margin-top:8px;width:100%}.provider-credit,#location-note{font-size:10px;color:#7d8875;line-height:1.7}.provider-credit a{color:inherit}#search-results{font-size:12px;line-height:1.8;margin-top:8px}#search-results button{display:block;text-align:left;width:100%;padding:12px;background:#e9ede3;border:0;border-bottom:1px solid #d1d9c9;color:#30433b;cursor:pointer}.privacy-note{font-size:11px;margin-top:20px}.form-message{font-size:12px;color:#a0523e;line-height:1.8}.submit-place{display:flex;justify-content:space-between;width:100%;padding:15px 20px;background:#30433b;border:0;border-radius:30px;color:#fffdf5;font:inherit;font-size:14px;cursor:pointer}.submit-place:disabled{opacity:.55;cursor:wait}.submission-success{text-align:center;padding:24px 0}.submission-success img{width:180px;height:180px;object-fit:cover;border:6px solid white;box-shadow:0 8px 24px #30433b18;margin:24px 0 0;transform:rotate(-3deg)}.submission-success h3{font-weight:400}.submission-success .submit-place{justify-content:center;margin-top:24px}.review-label{color:#9a624a;font-size:11px}.my-place{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid #d5dbcd}.my-place img{width:86px;height:100px;object-fit:cover;border:4px solid white}.my-place h3{font-size:16px;font-weight:400;margin:4px 0 10px}.my-place p{font-size:12px;line-height:1.6}.my-place button{display:block;border:0;background:none;padding:12px 0 0;color:#52684d;cursor:pointer}.empty-places{font-size:13px;color:#7b8873;padding:40px 0;text-align:center}#pick-bar{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);z-index:20;background:#f8f6f0;border:1px solid #b4bfab;border-radius:16px;padding:12px 18px;text-align:center;width:max-content;max-width:90%;box-sizing:border-box}#pick-bar p{font-size:12px;margin:0 0 8px}.pick-cross{display:none;position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:24px;height:24px;pointer-events:none;z-index:19}body:has(#pick-bar:not([hidden])) .pick-cross{display:block}.pick-cross:before,.pick-cross:after{content:'';position:absolute;background:#9a523b;left:11px;top:0;width:2px;height:24px}.pick-cross:after{transform:rotate(90deg)}body:has(#pick-bar:not([hidden])) .journey-action{visibility:hidden}.contribute[open]{animation:contribute-enter .3s ease-out}@keyframes contribute-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}@media(max-width:600px){.add-place{right:66px;top:23px;font-size:11px;padding:9px 12px}.contribute{padding:26px 20px;border-radius:20px;max-height:93dvh}.contribute h2{font-size:25px}.form-grid{gap:10px}.header-note{display:none}}@media(prefers-reduced-motion:reduce){.contribute[open]{animation:none}}

.journey-action{display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100vw - 32px)}.journey-action .add-place{position:static;display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;min-height:54px;padding:0 20px;background:#f8f6f0e8;border-color:#bdc7b4;border-radius:40px;font-size:13px}.journey-action .random-button{margin:0;min-height:54px}.journey-action .add-place span{margin:0;font-size:22px}@media(max-width:600px){.journey-action{gap:10px}.journey-action .add-place{padding:0 16px;min-height:52px;font-size:12px}.journey-action .random-button{padding:0 21px;min-width:0;min-height:52px;gap:13px;font-size:14px}.journey-action .random-button svg{width:20px;height:20px}.journey-action .random-button .arrow{display:none}}
.journey-action{left:50%;right:auto;transform:translateX(-50%)}.journey-action .add-place{pointer-events:auto;transition:background .2s,transform .2s}.journey-action .add-place:hover{background:#e9ede1;transform:translateY(-2px)}.journey-action .add-place:active{transform:scale(.96)}
