/* TravelLog 1.2 — editorial journey system */
:root{--ink:#23332e;--muted:#727972;--paper:#faf9f5;--panel:#fff;--line:#23332e18;--accent:#285748;--accent-strong:#193e33;--accent-soft:#e7eee7;--shadow:0 12px 36px #18382d12}
body{background:#f7f6f2;font-weight:400}button{font-weight:500!important}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #285748;outline-offset:4px}
.journey-home .travel-app{max-width:1240px;padding:56px 48px 120px;gap:32px}.journey-heading{border-bottom:1px solid var(--line);padding-bottom:24px}.journey-heading span{letter-spacing:3px;font-size:10px}.journey-heading h1{font-family:'Noto Serif SC','Songti SC',SimSun,serif;font-size:42px;letter-spacing:1px;margin:18px 0 10px}.journey-heading p{margin-bottom:0;color:var(--muted)}
.ai-entry{max-width:100%;border-radius:12px;background:#fff;border-color:var(--line);margin:0}.featured-trip{border-radius:16px;grid-template-columns:1fr 1.15fr;background:#e9ede5;min-height:320px}.feature-copy{padding:40px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.feature-copy h2{font-family:'Noto Serif SC','Songti SC',SimSun,serif;font-size:32px;line-height:1.4;margin:20px 0 8px}.feature-copy p{font-size:14px}.feature-copy button{border-radius:8px;margin-top:18px}.feature-art{position:relative;min-height:280px;background:#b9c8b7}.feature-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feature-art span{z-index:1;text-shadow:0 2px 18px #20372c80;font-size:26px}.feature-art:has(img) span{display:none}
.journey-home .panel-head h1{font-family:'Noto Serif SC','Songti SC',SimSun,serif;font-size:26px}.journey-home .panel-head p{font-size:14px}.journey-home .mode-switch{background:transparent;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:22px}.journey-home .mode-button{border-radius:0;background:none;color:var(--muted);padding:12px 0;border-bottom:2px solid transparent}.journey-home .mode-button.is-active{color:var(--accent);border-color:var(--accent)}.journey-home .trip-card{border-radius:12px;background:transparent}.journey-home .trip-cover{height:210px;border-radius:12px}.journey-home .trip-info{padding:18px 0 8px}.journey-home .trip-info h3{font-size:20px;line-height:1.5}.journey-home .trip-info p{font-size:13px;line-height:1.8;color:var(--muted)}.journey-home .trip-open{margin:4px 0 16px;border:0;background:none;color:var(--accent);padding:0;min-height:32px}.journey-home .trip-add{padding:24px;border:1px dashed #bac7bc;justify-content:center}.journey-home .trip-add .trip-cover{height:90px;background:transparent}.journey-home .trip-add .trip-info{padding:10px}.journey-home #restoreTrip{background:none;border:0;color:var(--muted);font-size:12px}.journey-home .map-stage{border-radius:14px;height:400px}.map-brand{border-radius:10px;box-shadow:none}.journey-nav{background:#fffefb;border:1px solid var(--line);box-shadow:0 8px 32px #20372c12;border-radius:16px;padding:6px}.journey-nav a,.journey-nav .account-trigger{color:var(--ink);font-size:14px;border-radius:10px}.journey-nav a:hover,.journey-nav .account-trigger:hover{background:var(--accent-soft)}
.detail-app{grid-template-columns:minmax(0,46%) minmax(0,54%);background:var(--paper)}.detail-header{top:20px;left:20px;padding:20px;width:calc(100% - 40px);max-width:none;background:#faf9f5f5;border:0;border-radius:12px;box-shadow:var(--shadow)}.detail-hero h1{font-family:'Noto Serif SC','Songti SC',SimSun,serif;font-size:28px;font-weight:500;line-height:1.4}.detail-body{background:var(--paper);padding:28px}.detail-tabs{gap:18px;padding:0 0 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.detail-tab{padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-weight:500;min-height:40px}.detail-tab.is-active{background:transparent;color:var(--accent);box-shadow:0 2px var(--accent)}.timeline-day-title{background:transparent;border-radius:0;font-size:18px;font-weight:500;padding:18px 0 12px;position:static}.timeline li{padding:18px 0;margin:0;border-radius:0}.timeline-thumb{border:0;border-radius:8px}.timeline strong{font-size:16px;font-weight:500;line-height:1.6}.timeline small{font-size:14px;line-height:1.8}.timeline time{color:var(--accent);font-weight:500}.photo-card{border:0;border-radius:10px;box-shadow:none}.photo-grid{gap:12px}.photo-card img{height:220px;object-fit:cover}#diaryText{max-width:640px;font-size:16px;line-height:2.1;color:var(--ink)}.primary-button,.secondary-button,.edit-toggle{border-radius:8px;font-weight:500}.edit-drawer{background:var(--paper)}.edit-form fieldset{border-color:var(--line);border-radius:12px}.edit-form input,.edit-form textarea,.edit-form select{border-radius:8px}.account-dialog{background:var(--paper);border:1px solid var(--line);border-radius:16px}.account-dialog h4{padding-top:12px;color:var(--muted);font-weight:500}.chat-header{background:var(--paper);min-height:76px}.chat-header h1{font-family:'Noto Serif SC','Songti SC',SimSun,serif;font-size:20px}.chat-message{line-height:1.95}.chat-proposal{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px}.chat-proposal summary{font-size:17px}.chat-footer form{border-radius:14px;background:#fff;border-color:var(--line)}.chat-message.user{border-radius:14px 14px 4px 14px}.chat-history-dialog{border-radius:14px}
@media(max-width:700px){.journey-home .travel-app{padding:28px 20px 110px;gap:26px}.journey-heading h1{font-size:30px}.featured-trip{grid-template-columns:1fr}.feature-copy{padding:28px}.feature-copy h2{font-size:27px}.feature-art{min-height:190px}.journey-home .trip-list{grid-template-columns:1fr;gap:24px}.journey-home .trip-cover{height:220px}.journey-home .trip-info{padding:16px 0 4px}.journey-home .trip-info h3{font-size:21px}.journey-home .trip-info p{font-size:13px}.journey-home .map-stage{height:320px}.detail-app{display:flex;flex-direction:column;height:100dvh}.detail-left{height:38%;flex:none}.detail-right{flex:1;overflow:auto}.detail-header{top:10px;left:10px;width:calc(100% - 20px);padding:12px}.detail-hero h1{font-size:21px}.detail-body{padding:18px 18px 80px}.detail-tabs{gap:16px}.detail-tab{font-size:13px}.tab-icon{display:none!important}.tab-label{display:inline!important}.photo-card img{height:160px}.chat-header h1{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Centered, scrollable journey collection. */
.journey-home .trip-list{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;align-items:stretch;padding:24px max(24px,calc((100% - 360px)/2)) 32px;scroll-padding-inline:24px;scrollbar-width:thin;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.journey-home .trip-list>.trip-card{flex:0 0 360px;max-width:80vw;scroll-snap-align:center;transform:scale(var(--card-scale,.92));opacity:var(--card-opacity,.65);transition:transform .18s,opacity .18s;transform-origin:center}
.journey-home .trip-list>.trip-card:hover{transform:scale(var(--card-scale,.92))}
.journey-home .trip-list>.secondary-button{flex:0 0 140px;align-self:center;scroll-snap-align:center}
@media(max-width:700px){.journey-home .trip-list{gap:12px;padding-inline:calc((100% - min(76vw,360px))/2)}.journey-home .trip-list>.trip-card{flex-basis:76vw;max-width:360px}}
@media(prefers-reduced-motion:reduce){.journey-home .trip-list>.trip-card{transition:none}}
