:root{--ink:#1e3027;--green:#176b51;--green-deep:#114a3a;--paper:#f8f7f1;--surface:#fffef9;--line:#dfe5d9;--muted:#627165;--warm:#b7744c;--r-lg:20px;--r-sm:12px;--space:24px}#app{color:var(--ink);padding-bottom:100px}.content{padding:20px 24px 32px}.page-head{padding:25px 24px 18px}.page-head h1{font-size:28px;line-height:1.35;letter-spacing:-.6px;margin:22px 0 10px}.page-head p{font-size:13px;color:var(--muted);line-height:1.8}.back{min-height:40px;display:inline-flex;align-items:center;font-size:13px}.muted{font-size:13px;color:var(--muted)}.footnote{font-size:11px;line-height:1.8;color:#657363}input,select,textarea{min-height:48px;border-radius:var(--r-sm);font-size:15px;line-height:1.45;padding:12px 14px;background:var(--surface);color:var(--ink)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--green);flex:none}input[type=range]{min-height:40px}label{font-size:13px;color:#4b6051}.primary,.button,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;line-height:1.4;font-size:14px;font-weight:600;border-radius:14px;padding:12px 17px;position:relative;overflow:hidden;isolation:isolate}.primary{background:var(--green);color:white;box-shadow:0 3px 0 #0f4e3d}.primary:hover{background:var(--green-deep)}.ghost{border:1px solid #cdd9ca;background:#fffef8;color:var(--green)}.button .ic,.primary .ic,.ghost .ic{width:18px;height:18px}.source{display:inline-flex;align-items:center;min-height:40px;font-size:12px}.actions{gap:10px}.actions>*{min-width:0}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);height:78px;padding:8px 8px max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 24px #1c392b08;border-top:1px solid var(--line);background:#fffef9f7;backdrop-filter:blur(14px);z-index:100}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;font-size:11px;border-radius:13px;color:#68766b;overflow:hidden}.bottom-nav .ic{width:23px;height:23px}.bottom-nav a.active{background:#e9f0e4;color:#135d46;font-weight:700}.bottom-nav a.active:after{display:none}.nav-count{position:absolute;top:2px;right:15px;min-width:16px;border-radius:20px;background:#dba781;color:#24382d;font-size:9px;padding:1px 4px}.topbar{height:76px;padding:20px 24px 12px}.brand{font-size:25px}.brand small{font-size:9px;letter-spacing:1px}.location{font-size:11px;min-height:36px}.welcome-hero{margin:4px 18px 0;height:238px;position:relative;border-radius:23px;overflow:hidden;background:#e7eade}.welcome-hero>img{width:100%;height:100%;object-fit:cover;object-position:55% 58%}.welcome-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f1f3e8f7,#f1f3e8ad 58%,#f1f3e820)}.welcome-hero>div{position:absolute;z-index:2;left:24px;top:25px}.welcome-hero .eyebrow{font-size:10px;letter-spacing:2px}.welcome-hero h1{font:700 34px/1.4 LocalSerif,'Songti SC',serif;margin:10px 0 7px;letter-spacing:-1px}.welcome-hero p{font-size:12px;line-height:1.8;margin:0;color:#4e6252}.welcome-credit{position:absolute;z-index:3;bottom:10px;right:12px;font-size:8px;background:#183d2ed9;color:white;padding:4px 7px;border-radius:6px}.home-content{padding:16px 18px 28px}.entry-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.entry-card{position:relative;min-height:155px;padding:17px 15px;border-radius:18px;border:1px solid #d6dfce;overflow:hidden;isolation:isolate}.entry-card .ic{width:24px;height:24px}.risk-entry{background:#eaf0e2}.entry-kicker{display:block;color:#5c6b50;font-size:10px;margin:8px 0}.entry-card h2{font-size:20px;line-height:1.4;position:relative;z-index:2;margin:7px 0 6px}.entry-card p{font-size:10px;line-height:1.7;max-width:140px;position:relative;z-index:2;margin:0;color:#5b6f5c}.entry-arrow{position:absolute;right:12px;bottom:12px;z-index:3}.entry-arrow .ic{width:18px;height:18px}.photo-entry{padding-top:41px;background:#f1e8d9}.entry-portrait{position:absolute;right:0;top:0;width:46%;height:100%;object-fit:cover;opacity:.73;mask-image:linear-gradient(90deg,transparent,#000 55%)}.photo-entry h2{font-size:19px}.photo-entry .entry-kicker{position:relative;z-index:2;color:#755c42}.plan-invitation{margin-top:16px;padding:20px;background:#fffef9;border-radius:20px;border:1px solid var(--line);box-shadow:0 6px 18px #1c3a2510}.plan-invitation h2{font:700 22px/1.5 LocalSerif,'Songti SC',serif;margin:10px 0 6px}.plan-invitation p{font-size:12px;color:var(--muted);margin:4px 0 16px}.plan-invitation .primary{width:100%;min-height:48px}.plan-invitation>.source{margin-top:10px}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:21px 0;border-bottom:1px solid var(--line)}.quick-links a{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:60px;font-size:10px;padding:5px;border-radius:12px}.quick-links .ic{width:24px;height:24px}.section-head h2{font-size:19px}.discover-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.discover-strip a{min-width:0}.discover-strip img{width:100%;height:110px;border-radius:12px;object-fit:cover}.discover-strip h3{font-size:12px;line-height:1.5;margin:9px 0 4px}.discover-strip p{font-size:10px;color:var(--muted);margin:0}.home-discover{margin-top:23px}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 24px;padding:8px;border:1px solid var(--line);background:#edf1e6;border-radius:16px;position:sticky;top:8px;z-index:10}.journey-steps button{border:0;background:transparent;min-height:48px;border-radius:10px;font-size:11px;color:#576d59;padding:7px 2px}.journey-steps button span{display:block;width:20px;height:20px;line-height:20px;border-radius:50%;margin:0 auto 5px;background:#dce5d5;font-size:11px}.journey-steps button[aria-current=step]{background:var(--surface);box-shadow:0 3px 9px #1e3d2514;color:#135c46;font-weight:700}.journey-steps button[aria-current=step] span{background:#176b51;color:#fff}.journey-steps button:disabled{opacity:.5;cursor:not-allowed}.section-label{display:flex;gap:12px;margin:8px 0 22px}.section-label>span{color:#9c714f;font-size:28px;font-weight:600;line-height:1.3}.section-label h2{font-size:21px;margin:0 0 6px}.section-label p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.stay-picker{padding:16px;margin-bottom:20px;background:#fffef9;border-radius:17px}.stay-picker h2{font-family:inherit;font-size:18px;margin:10px 0}.stay-picker p{font-size:12px}.stay-picker .field-row{margin-top:14px}.stay-picker .field-row label{font-size:12px}.stay-picker button{width:auto;min-height:42px}.form-card{padding:18px;background:#fffef9;border:1px solid var(--line);border-radius:18px}.form-card .primary{width:100%;margin-top:12px}.currency-input{display:flex;align-items:center;border:1px solid #d1ddca;border-radius:13px;padding-left:15px;margin:7px 0 17px;background:#fffef9}.currency-input>span{font-size:25px;color:var(--green);font-weight:600}.currency-input>input{border:0;min-width:0;box-shadow:none!important;margin:0!important;padding:14px 12px;font-size:27px;font-weight:650;min-height:65px}.choice-row{display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-top:1px solid #e4e8dc;margin:0;font-size:13px}.choice-row input{margin:1px 0}.choice-row small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:5px}.journey-alternative{margin:20px 0;font-size:12px}.candidate-group{border:1px solid var(--line);border-radius:17px;margin:15px 0;background:var(--surface);overflow:hidden}.candidate-group>summary{list-style-position:inside;cursor:pointer;font-size:18px;font-weight:650;padding:17px 15px;background:#f0f3e9;line-height:1.7}.candidate-group>summary small{font-size:11px;display:block;padding-left:16px;font-weight:400}.candidate-group>section.offer{margin:0;padding:5px 14px;border:0;background:transparent;border-radius:0}.trip-option{display:flex;gap:10px;align-items:flex-start;padding:17px 2px;min-height:110px;line-height:1.6}.trip-option input{width:18px;height:18px;margin:5px 0 0;flex:none}.trip-option strong{font-size:14px}.trip-option small{font-size:11px;line-height:1.8}.trip-option .candidate-photo{width:72px;height:78px}.trip-option:has(input:checked){padding:14px 8px;margin:6px -4px}.budget-grid{gap:7px}.metric{padding:12px 10px;border-radius:13px}.metric b{font-size:24px}.metric span{font-size:10px}.selection-feedback{font-size:12px;top:100px;border-radius:12px;padding:11px 12px}.offer{border-radius:16px;padding:18px 0}.stop-info strong{font-size:16px}.route-safety{padding:16px}.safety-heading strong{font-size:16px}.route-safety .source{font-size:12px}.route-stop-photo{border-radius:14px;height:170px}.form-actions .primary{width:100%}.settings-card{padding:19px;background:#fffef9;border:1px solid var(--line);border-radius:18px;margin-bottom:18px}.settings-card h2{font-size:18px;margin:0 0 12px}.settings-card>summary{font-size:15px;font-weight:600;cursor:pointer;min-height:30px;line-height:30px}.settings-card[open]>summary{margin-bottom:18px}.profile-card{display:flex;gap:13px;align-items:center;padding:20px 0 25px}.profile-card>.ic{width:40px;height:40px}.profile-card>div{flex:1}.profile-card h2{font-size:19px;margin:0 0 7px}.profile-card p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.profile-card .ghost{font-size:12px;min-height:38px;padding:9px 13px}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);gap:15px}.switch-row>span{flex:1}.switch-row b{font-size:13px;color:var(--ink)}.switch-row small{display:block;font-size:11px;line-height:1.7;margin-top:5px;color:var(--muted)}.switch-row input{width:20px;height:20px}.saved-route{padding:16px 0;border-top:1px solid var(--line)}.saved-route h3{font-size:16px;margin:7px 0}.saved-route p{font-size:12px;line-height:1.8;color:var(--muted)}.saved-route .ghost{font-size:12px;min-height:42px}.continue-route{display:flex;justify-content:space-between;align-items:center;padding:15px 12px;border-radius:12px;background:#eaf1e3;font-size:13px;margin:12px 0}.compact{padding:15px 0}.compact h3{font-size:15px}.compact p{font-size:12px}.menu-group{margin-bottom:20px;border:1px solid var(--line);border-radius:17px;background:#fffef9;padding:0 16px}.menu-row{display:flex;align-items:center;padding:17px 0;min-height:68px;gap:12px}.menu-row>span{flex:1;font-size:14px}.menu-row small{display:block;font-size:11px;color:var(--muted);margin:4px 0 0}.menu-row>.ic:last-child{width:16px}.portrait-gallery{gap:12px}.portrait-card img{height:230px}.portrait-card h3{font-size:16px}.portrait-card p{font-size:11px}.portrait-card-copy{padding:13px 11px}.portrait-intro p{font-size:18px}.portrait-filters{gap:7px}.portrait-filters button{min-height:40px;font-size:11px;padding:9px 12px}.portrait-cta{width:100%}.portrait-checkpoints button{min-height:42px}.safety-intro{padding-top:0}.safety-intro h2{font-size:25px;line-height:1.5}.place-row{padding:17px 0}.place-row h3{font-size:16px}.place-copy p{font-size:12px}.chip{min-height:40px;display:inline-flex;align-items:center;padding:8px 14px;font-size:12px}.result-box{border-radius:16px;padding:18px;font-size:13px;line-height:1.9}#toast{max-width:calc(min(100vw,430px) - 40px);font-size:13px;line-height:1.7;border-radius:14px;padding:12px 18px;bottom:96px;box-shadow:0 8px 30px #163c2928}#toast[data-kind=success]{background:#155f48}#toast[data-kind=error]{background:#7c3f2d}#request-feedback{font-size:12px;max-width:90vw}button,a,summary{touch-action:manipulation}.tap-feedback{filter:brightness(.94);transform:scale(.975);box-shadow:0 0 0 3px #94b69a50!important}.fx-wave{position:absolute;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;z-index:10;transform:scale(0);animation:fx-ripple .48s ease-out forwards}button,.primary,.button,.ghost,.chip,.entry-card,.bottom-nav a{position:relative;overflow:hidden}.reduce-motion .fx-wave{display:none}.reduce-motion *{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reduce-motion .tap-feedback{transform:none}@keyframes fx-ripple{0%{transform:scale(0);opacity:.17}100%{transform:scale(1);opacity:0}}@media(max-width:360px){.content{padding-left:18px;padding-right:18px}.entry-card{padding-left:12px}.entry-card h2{font-size:17px}.welcome-hero h1{font-size:30px}.trip-option .candidate-photo{width:58px}.primary,.button,.ghost{font-size:13px}}@media(prefers-reduced-motion:reduce){.fx-wave{display:none}.tap-feedback{transform:none}}
/* Keep both acquisition entrances and the route action reachable on a short phone screen. */
.welcome-hero{height:180px}.welcome-hero>div{top:18px}.welcome-hero h1{font-size:31px;line-height:1.35;margin:8px 0 5px}.entry-card{min-height:142px;padding-top:14px}.photo-entry{padding-top:34px}.plan-invitation{padding:16px}.plan-invitation h2{font-size:20px;line-height:1.4;margin:8px 0 5px}.plan-invitation p{margin:4px 0 12px;font-size:11px}
.lodging-picker{border:1px solid var(--line);border-radius:15px;background:#fffef9;margin-bottom:18px}.lodging-picker>summary{padding:14px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;line-height:1.7}.lodging-picker>summary .ic{width:22px;height:22px}.lodging-picker>summary>span{min-width:0;flex:1}.lodging-picker>summary small{display:block;font-size:10px;color:var(--muted)}.lodging-picker>summary:after{content:'+';font-size:22px;color:var(--green)}.lodging-picker[open]>summary:after{content:'−'}.lodging-picker .stay-picker{margin:0;border:0;border-top:1px solid var(--line);border-radius:0 0 15px 15px}
.trip-journey .currency-input>input{border:0!important;font-size:27px!important;box-shadow:none!important;flex:1;width:0;min-height:65px;margin:0!important;background:transparent}
.route-actionbar{display:grid;grid-template-columns:1fr 1fr;margin:16px 0 22px;padding:14px;background:#fffef9;border:1px solid var(--line);border-radius:16px}.route-actionbar .primary{grid-column:1/-1;grid-row:1;min-height:48px}.route-actionbar .button{background:#e8efe0;color:#145b44;box-shadow:none}.route-actionbar .source{font-size:11px}.route-actionbar .ghost,.route-actionbar .button{font-size:12px;min-height:42px}.route-summary{font-size:12px;color:#5d735e;margin:0 0 12px}.continue-route>span{font-size:12px}.continue-route .ghost{font-size:11px;min-height:38px;padding:9px}
.delivery-panel{margin:0 0 24px;padding:16px;border:1px solid #dce4d5;border-radius:16px;background:#f0f4e9}.delivery-panel h3{font-size:16px;margin:0 0 12px}.delivery-panel details{padding:12px 0;border-bottom:1px solid #d6e1ce}.delivery-panel summary{font-size:13px;font-weight:600;cursor:pointer;line-height:1.8}.delivery-panel details>p{font-size:12px}.delivery-panel .source{display:flex;font-size:12px}.delivery-actions{display:flex;gap:9px;flex-wrap:wrap}.delivery-actions>details{width:100%}.delivery-actions .ghost{font-size:12px;min-height:40px;flex:1}.booking-row{padding:15px 0;border-top:1px solid #d4dfcf}.booking-row>b{font-size:14px}.booking-row input{font-size:12px}.together-page .settings-card>p{font-size:13px;line-height:1.9}.together-page .settings-card>.primary{width:100%;margin-top:15px}.together-page .settings-card .ic{width:20px;height:20px;vertical-align:middle;margin-right:8px}.together-page h2{font-size:20px}.ai-pose-callout{padding:17px;background:#edf2e4;border-radius:16px;margin-bottom:22px;border:1px solid #d9e2ce}.ai-pose-callout>b{font-size:16px}.ai-pose-callout>p{font-size:12px;color:#5c6f5d}.ai-pose-callout .source{display:block;font-size:12px;margin-top:8px}.ai-pose-result{margin-top:18px}.ai-pose-result>p{font-size:13px;line-height:1.8}.ai-pose-result .primary{width:100%}.ai-pose-result h3{font-size:18px}.ai-pose-result .portrait-example{max-height:600px}.ai-pose-result .portrait-example>img{width:100%;height:100%;object-fit:contain}
