@font-face{font-family:RoamingBrush;src:url('/admin/assets/design/brush.ttf') format('truetype');font-display:swap}
:root{--ink:#064e43;--teal:#00aaa9;--orange:#ff702e;--paper:#fff8ed;--line:#e9dfcf;--muted:#6e7770}
*{box-sizing:border-box}html{background:#edf1ed}body{margin:0 auto;max-width:460px;min-height:100vh;color:var(--ink);font-family:'Microsoft YaHei','PingFang SC',sans-serif;background:var(--paper) url('/admin/assets/design/sky-paper.webp') center top/100% auto no-repeat;padding-bottom:70px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button::after{border:0}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}.icon{display:inline-block;width:23px;height:23px;vertical-align:middle;object-fit:contain;flex-shrink:0}.brush{font-family:RoamingBrush,'KaiTi',serif;font-weight:400}.brand{font-family:RoamingBrush,'KaiTi',serif;font-size:29px;line-height:1.2;white-space:nowrap}.brand small{font:12px sans-serif;margin-left:8px}.masthead{padding:17px 18px 7px;min-height:57px;display:flex;align-items:center;justify-content:space-between}.masthead .back-link{display:flex;align-items:center;gap:6px;font-size:17px}.edition{border:1px solid #fff;background:#ffffffa8;border-radius:22px;padding:6px 11px;font-size:11px}.page{padding:10px 18px 24px}.search{display:flex;align-items:center;gap:12px;background:#ffffffd9;border:1px solid #fff;border-radius:28px;padding:10px 17px;height:42px;box-shadow:0 3px 10px #418c9a16}.search input{width:100%;min-width:0;border:0;background:none;outline:none;font-size:16px;color:#384c43}.hero-title{font-size:38px;line-height:1.25;white-space:nowrap;letter-spacing:-1.5px;margin:18px 0 14px;position:relative}.hero-title img{height:14px;width:150px;object-fit:fill;margin-top:-2px}.region-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:5px;font-size:11px}.region-row select{background:#fff9;border:1px solid #fff;border-radius:20px;padding:5px 11px;color:var(--ink)}.map-entry{display:flex;align-items:center;gap:4px;font-size:12px}.map-entry .icon{width:18px;height:18px}.destination-tabs{display:flex;justify-content:space-around;align-items:center;margin:12px 0 8px;gap:0}.destination-tabs button{font-family:RoamingBrush,'KaiTi',serif;font-size:22px;flex:1;padding:6px 0;white-space:nowrap}.destination-tabs button+button{border-left:1px solid #9aaea1}.destination-tabs button.active{background:#fff0d5;border-radius:22px;color:#064e43;border-bottom:3px solid #ff8a25}.collage{position:relative;height:338px;margin:20px -18px 0;isolation:isolate}.collage-main{position:absolute;left:3%;top:3%;width:78%;height:98%;background:#fff;padding:7px;transform:rotate(-5deg);box-shadow:0 5px 13px #5b422b1c;overflow:hidden}.collage-main img{width:100%;height:100%;object-fit:cover}.collage-side{position:absolute;right:-1%;width:43%;height:35%;padding:5px;background:#fff;box-shadow:0 5px 13px #5b422b24;transform:rotate(12deg);top:12%;overflow:hidden}.collage-side img{width:100%;height:100%;object-fit:cover}.collage-side.second{top:54%;right:-3%;transform:rotate(-13deg);height:34%;width:39%}.collage-curve{position:absolute;inset:5% 0 0;width:100%;height:98%;object-fit:fill;pointer-events:none}.story-paper{position:relative;padding:13px 105px 16px 15px;margin:0 -9px;min-height:96px;background:url('/admin/assets/design/paper.webp') center/100% 100% no-repeat;z-index:2}.story-paper h2{font-size:32px;line-height:1.1;white-space:nowrap}.story-paper p{font-size:17px;line-height:1.5;margin-top:7px;white-space:nowrap}.mascot{position:absolute;width:112px;height:120px;right:2px;bottom:0;object-fit:contain}.speech{position:absolute;right:1px;top:-24px;background:#fffdf3;border:1px solid #ffc56f;border-radius:50%;font-size:13px;padding:8px 12px;transform:rotate(-4deg);z-index:3;white-space:nowrap}.quick-actions{display:flex;gap:9px;margin:14px 2px 11px}.pill{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #eadbc4;background:#fbf3e5c9;border-radius:25px;padding:10px 14px;font-size:17px;min-height:40px}.quick-actions>*{flex:1}.primary{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--orange);color:white;border:1px solid #ffa970;border-radius:30px;padding:12px 18px;font-size:19px;min-height:45px;box-shadow:0 6px 13px #f16d2620}.primary.small{font-size:13px;padding:8px 12px;min-height:33px}.teal{background:var(--teal);border-color:var(--teal)}.home-main-action{font-size:24px;letter-spacing:2px}.home-links{text-align:center;font-size:13px;display:flex;justify-content:center;gap:16px;margin:12px 0 8px}.visual-note{text-align:center;color:#8c8b83;font-size:10px;line-height:1.7;margin:7px 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;background:#fffdf8f5;border-top:1px solid #e7e0d5;display:flex;justify-content:space-around;z-index:30;padding:7px 0 max(8px,env(safe-area-inset-bottom));height:64px}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;color:#778079;min-width:65px}.bottom-nav a.active{color:var(--teal)}.bottom-nav .icon{width:24px;height:24px}.section-title{font-size:27px;margin:12px 0 9px}.section-subtitle{font-size:13px;color:var(--muted);line-height:1.6}.page-title{font-size:33px;margin:5px 0 14px}.filter-tabs{display:flex;gap:9px;margin:12px 0}.filter-tabs>*{flex:1;font-size:13px;text-align:center;border-radius:22px;padding:9px 10px;background:#fff0d9;white-space:nowrap}.filter-tabs .active{background:var(--teal);color:white}.map-viewport{position:relative;width:100%;height:350px;overflow:hidden;margin:4px 0}.map-viewport>.map-base{position:absolute;width:100%;max-width:none;height:auto;top:-25.93%;left:0}.landmark{position:absolute;transform:translate(-50%,-50%);transition:transform .28s cubic-bezier(.2,.8,.2,1);min-width:35px;min-height:36px;display:flex;flex-direction:column;align-items:center;padding:0;z-index:2}.landmark .sprite{width:46px;height:46px;background-image:url('/admin/assets/design/landmark-sprites-v1.webp');background-size:200% 200%;display:block;filter:drop-shadow(0 4px 3px #2d4c3545)}.sprite.baiyi{background-position:0 0}.sprite.lengyan{background-position:100% 0}.sprite.rock{background-position:0 100%}.sprite.tower{background-position:100% 100%}.landmark .glint{width:12px;height:12px;background:#fff7cf;border:3px solid var(--teal);border-radius:50%;box-shadow:0 0 9px #fff}.landmark .landmark-label{font-size:9px;line-height:1.3;background:#fffdf1eb;color:#075648;border-radius:12px;padding:3px 6px;white-space:nowrap;margin-top:1px;box-shadow:0 2px 4px #386f5c22}.landmark.active,.landmark:hover{transform:translate(-50%,calc(-50% - 14px)) scale(1.17);z-index:5}.landmark.active .landmark-label{color:#e75d22;box-shadow:0 3px 8px #df7d3a44}.selected-card{display:flex;gap:12px;background:#fffaf0;border:1px solid #f0dfc6;border-radius:17px;padding:10px;box-shadow:0 3px 10px #7a5c2b10;margin:10px 0}.selected-card>.selected-photo{width:100px;height:111px;object-fit:cover;border-radius:9px;flex-shrink:0}.selected-card .body{min-width:0;flex:1}.selected-card h2{font-size:28px;margin:2px 0 5px}.selected-card p{font-size:12px;line-height:1.6;color:#697568}.selected-actions{display:flex;gap:5px;margin-top:7px}.selected-actions .pill{font-size:11px;padding:6px 7px;min-height:30px;gap:4px}.selected-actions .icon{width:15px;height:15px}.selected-actions .primary{font-size:12px;min-height:30px;padding:6px 9px}.spot-cover{width:100%;height:245px;object-fit:cover;border-radius:14px 14px 4px 4px}.spot-heading{font-size:36px;line-height:1.2;margin:8px 0}.tag{display:inline-block;border:1px solid #b9cec0;border-radius:12px;font-size:10px;padding:2px 8px;color:#347b6b}.tag.soft{background:#c5eeea;border:0;color:#009b9c}.paragraph{font-size:14px;line-height:1.85;color:#4d5c52;margin:10px 0}.audio-story{background:#e0f3ef;padding:13px;border-radius:13px;margin:11px 0 14px}.audio-top{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:9px}.audio-top .icon{margin-right:5px;width:19px;height:19px}.audio-story audio{width:100%;height:32px}.audio-story details{font-size:11px;line-height:1.8;margin-top:9px}.photo-link{display:flex;gap:10px;align-items:center;border:1px solid #ebdfcb;border-radius:12px;padding:12px;margin:12px 0}.photo-link strong{font-size:14px}.photo-link small{display:block;font-size:11px;color:#8d9088;margin-top:3px}.photo-link>.icon:last-child{margin-left:auto;width:16px}.actions{display:flex;gap:9px;margin:16px 0}.actions>.primary{flex:1}.actions>.pill{font-size:13px;padding:9px 15px}.photos-title{font-size:32px;margin:9px 0}.photo-paper{padding:7px;background:#fff;border-radius:2px;box-shadow:0 5px 12px #76634c1c;margin:17px 0;position:relative;transform:rotate(-1deg)}.photo-paper>.pose-main{width:100%;height:350px;object-fit:cover}.pose-badge{position:absolute;top:17px;left:13px;background:#fff9e8;border-radius:20px;padding:5px 11px;font-size:13px}.pose-disclaimer{position:absolute;top:18px;right:14px;color:#fff;font-size:10px;background:#164b3970;padding:3px 5px;border-radius:10px}.pose-small{position:absolute;right:9px;bottom:10px;width:100px;height:150px;object-fit:cover;border:4px solid white;transform:rotate(8deg);box-shadow:0 4px 6px #3e432833}.guide-row{display:flex;gap:12px;padding:12px;border-bottom:1px solid #eadfcc;font-size:12px;line-height:1.7}.guide-row strong{white-space:nowrap;font-size:13px}.guide-row .icon{width:19px;height:19px}.gallery{display:flex;gap:9px;overflow:auto;margin:12px 0}.gallery figure{margin:0;min-width:88%}.gallery img{height:200px;width:100%;object-fit:cover;border-radius:10px}.gallery figcaption{font-size:10px;color:#7c867d;line-height:1.5}.place-list{margin-top:13px}.place{display:flex;gap:11px;border-bottom:1px solid #ede2d3;padding:10px 0;align-items:center}.place img{width:95px;height:75px;object-fit:cover;border-radius:9px}.place>div{flex:1;min-width:0}.place h3{font-size:16px;line-height:1.4}.place p{font-size:11px;color:#778277;line-height:1.6;margin:4px 0}.city-map{position:relative;width:100%;aspect-ratio:1086/1448;overflow:hidden}.city-map>.city-base{width:100%;height:100%}.city-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transition:transform .3s;filter:drop-shadow(0 7px 4px #35544455)}.city-layer.active{transform:translateY(-15px)}.city-pin{position:absolute;transform:translate(-50%,-50%);background:#fff9eddf;padding:6px 9px;border-radius:17px;font-size:11px;z-index:3;border:1px solid #94ceae}.city-pin.active{background:var(--orange);color:white;border-color:#fff}.city-options{display:flex;gap:6px}.city-options button{font-size:12px;flex:1;border:1px solid #d7e4d4;padding:8px;border-radius:15px}.city-options .active{background:var(--teal);color:white}.commerce-hero{width:100%;height:210px;object-fit:cover;border-radius:12px;margin:12px 0 7px}.commerce-title{display:flex;align-items:center;gap:9px;font-size:20px;margin:6px 0}.demo-tag{border:1px solid #e6b362;border-radius:13px;font-size:10px;padding:1px 6px;color:#6d6a35;white-space:nowrap}.commerce-sub{font-size:12px;color:#7b8277;line-height:1.6}.menu-grid{display:flex;gap:9px;margin:10px 0}.menu-grid>*{flex:1}.info-card{border:1px solid #eadfce;border-radius:13px;padding:12px;margin:12px 0;background:#fff9f0}.info-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:12px;border-bottom:1px solid #eee5d8}.info-row:last-child{border:0}.price{color:#07594b;font-size:27px;font-weight:700}.product-hero{width:100%;height:280px;object-fit:cover}.product-card{margin:10px 0 24px}.product-card .product-hero{height:230px;border-radius:12px}.product-card h2{font-size:25px}.price-row{display:flex;align-items:center;gap:9px;margin-top:9px;font-size:12px}.price-row .primary{margin-left:auto;font-size:13px;min-height:30px;padding:7px 14px}.product-grid{display:flex;gap:9px;margin:12px 0}.product-grid .product-card{width:50%}.product-grid .product-hero{height:130px}.product-grid h2{font-size:17px}.product-grid .price{font-size:18px}.notice{font-size:11px;color:#7f8177;line-height:1.8;margin:11px 0;text-align:center}.mine-hero{min-height:160px;position:relative;padding:12px 0}.mine-hero h1{font-size:37px;margin:12px 0}.mine-hero p{font-size:13px;color:#6a786c;margin:8px 0}.mine-hero .primary{width:135px;font-size:15px;min-height:34px;padding:8px}.mine-hero .mascot{bottom:8px;right:-3px;width:135px;height:135px}.mine-menu{border:1px solid #eee5d9;background:#fffaf4;border-radius:13px;padding:4px 13px}.mine-menu button,.mine-menu a{display:flex;align-items:center;width:100%;text-align:left;gap:13px;padding:16px 0;border-bottom:1px solid #ece5da;font-size:15px}.mine-menu>*:last-child{border:0}.mine-menu .arrow{margin-left:auto;width:17px}.collection-note{margin:23px 0;background:#eefaff url('/admin/assets/design/sky-paper.webp') center top/100% auto;border-radius:13px;padding:15px;min-height:145px;position:relative}.collection-note h2{font-size:25px}.collection-note p{width:65%;font-size:13px;line-height:1.7;margin:9px 0}.collection-note>img{position:absolute;width:92px;height:79px;right:12px;top:39px;border:4px solid white;transform:rotate(7deg)}.empty{text-align:center;padding:32px 10px;font-size:13px;line-height:1.8}.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#075247ed;color:white;border-radius:20px;padding:11px 18px;font-size:13px;max-width:350px;z-index:40;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page-footer{padding:18px;text-align:center;font-size:10px;color:#8c938a}.small-map-link{display:flex;justify-content:center;gap:6px;align-items:center;padding:9px 0;font-size:12px}.home-extra{margin-top:30px;padding-top:15px;border-top:1px solid #efe3d0}.saved{color:#00a5a5}.audio-range{accent-color:var(--teal);width:100%}.audio-time{font-size:10px;color:#6f8d84;display:flex;justify-content:space-between}.audio-native-controls{display:flex;align-items:center;gap:10px}.audio-native-controls button{background:var(--orange);border-radius:50%;width:32px;height:32px;padding:7px;flex-shrink:0}.audio-native-controls .icon{width:18px;height:18px}.service-panel{border:1px solid #eee1d2;background:#fffaf1;border-radius:15px;padding:17px;font-size:13px;line-height:1.8}.pose-tabs{display:flex;gap:6px;margin:12px 0}.pose-tabs>*{flex:1;border-radius:20px;background:#f5ecd9;padding:8px;font-size:14px;text-align:center}.pose-tabs>.active{background:var(--teal);color:white}.sticky-actions{position:sticky;bottom:65px;z-index:8;background:#fff8edeb;padding:6px 0}.product-details .section-title{font-size:25px}@media(min-width:600px){html{padding:20px 0}body{box-shadow:0 12px 60px #1956491c;border-radius:18px 18px 0 0}.bottom-nav{border-radius:0 0 15px 15px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{overflow-x:clip}.brush,.brand{font-weight:700}.collage{margin-top:10px;height:330px}.story-paper .mascot{right:-8px;width:120px;height:132px}.story-paper p{font-size:16px}.collage-side{right:0}.collage-side.second{right:0}


body:not([data-page=home]){background-size:100% 270px}.hero-title{letter-spacing:-1.8px}.hero-title::after{content:'';display:block;width:155px;height:10px;background:url('/admin/assets/design/route.webp') center bottom/100% auto no-repeat}


.place>.icon{width:17px;height:17px}.audio-story audio{display:none}.audio-track{flex:1}.audio-story .audio-native-controls{margin-top:12px}.audio-native-controls .audio-range{height:4px;display:block;margin:8px 0}.audio-story details{font-size:10px}.story-paper{padding-right:90px}body[data-page=merchants] .page>.page-title,body[data-page=products] .page>.page-title,body[data-page=mine] .page>.page-title{display:none}body[data-page=merchants] .masthead .back-link,body[data-page=products] .masthead .back-link,body[data-page=mine] .masthead .back-link{font:700 28px RoamingBrush,serif}body[data-page=merchants] .masthead .back-link>.icon,body[data-page=products] .masthead .back-link>.icon,body[data-page=mine] .masthead .back-link>.icon{display:none}.commerce-hero{height:190px}.page>.commerce-hero+.commerce-title{margin-top:7px}body[data-page=merchant] .page>.commerce-hero:nth-of-type(2){height:115px}.page>.section-title{margin-top:15px}.selected-card>.body>.section-title{margin:0 0 7px}.selected-card .section-subtitle{font-size:12px}


.brand>img{width:135px;height:45px;object-fit:contain}.masthead{padding-top:8px;padding-bottom:2px}.hero-title-art{width:100%;height:60px;margin:10px 0 4px;overflow:hidden}.hero-title-art img{width:100%;height:100%;object-fit:cover}


.map-viewport{height:300px}.map-viewport>.map-base{height:142.222%;top:-25.93%;object-fit:fill}.audio-story .section-subtitle{font-size:11px}.selected-card>.selected-photo{height:105px}.selected-card{padding:9px}.pose-main{height:350px}


body[data-page=home] .story-paper{min-height:84px;padding-top:8px;padding-bottom:10px}body[data-page=home] .story-paper .mascot{width:108px;height:108px;right:0;bottom:-12px}body[data-page=home] .quick-actions{margin-top:10px}.home-main-action{font-size:23px}

html{overflow-x:hidden}

body[data-page=home] .collage{height:314px;margin-top:4px}body[data-page=home] .page>.primary{font-size:22px;letter-spacing:1px;font-weight:600}body[data-page=destination] .masthead .back-link span{font-size:23px}.selected-card>.selected-photo{width:120px;height:120px}.selected-card{gap:11px}.selected-card .selected-actions{flex-wrap:wrap}


.speech{top:-38px}.search>.map-entry{padding-left:10px;border-left:1px solid #b8d9d2}.search>.map-entry .icon{width:21px;height:21px}
@font-face {
  font-family: RoamingSans;
  src: url('/admin/assets/investor/roaming-ui.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}
body[data-page="home"] .destination-tabs button,
body[data-page="home"] .story-paper {
  font-family: RoamingSans, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
body[data-page="home"] .destination-tabs button {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
}
body[data-page="home"] .story-paper h2 {
  font-family: RoamingSans, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
body[data-page="home"] .story-paper p,
body[data-page="home"] .story-paper .speech {
  font-weight: 400;
  letter-spacing: 0;
}
.journey-start {
  width: 100%;
  margin: 18px 0 5px;
  font-weight: 700;
}
.journey-intro {
  padding: 12px 0 10px;
  font-family: RoamingSans, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.journey-eyebrow {
  display: block;
  color: #418a7e;
  font-size: 12px;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.journey-intro h1 {
  font-size: 30px;
  line-height: 1.3;
  font-weight: 700;
}
.journey-intro p { font-size: 12px; color: #6e7770; margin-top: 7px; }
.journey-tabs { display: flex; gap: 8px; margin: 8px 0 13px; }
.journey-tabs a {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: #fff7e8;
  border: 1px solid #e9dfcf;
  border-radius: 24px;
  padding: 9px 5px;
  font-size: 12px;
}
.journey-tabs .icon { width: 18px; height: 18px; }
.journey-audio {
  position: sticky;
  top: 8px;
  z-index: 12;
  border: 1px solid #c6e7df;
  box-shadow: 0 6px 18px #124d4220;
}
.journey-audio .visual-note { margin-bottom: 0; }
.journey-section { margin: 25px 0; scroll-margin-top: 145px; }
.journey-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 13px 0; }
.journey-heading h2 {
  font-family: RoamingSans, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
.journey-heading .pill { padding: 7px 10px; font-size: 12px; min-height: 32px; gap: 4px; }
.journey-heading .pill .icon { width: 17px; height: 17px; }
.journey-section .spot-cover { height: 210px; border-radius: 14px; }
.journey-section .paragraph { white-space: pre-line; }
.journey-section .photo-paper { margin-top: 14px; }
.journey-section .place { background: #fffaf1; padding: 12px; border: 1px solid #ece0cc; border-radius: 14px; margin-top: 10px; }
.journey-section .place h3 { font-size: 15px; }
.journey-return { margin: 28px 0; }

/* Map-first discovery and visitor photo journals inherit the travel-paper palette. */
.home-map-title { font: 700 28px/1.35 RoamingSans, sans-serif; margin: 14px 0 5px; }
body[data-page="home"] .city-map { margin: 10px -12px 0; }
.home-selection { background: #fffaf1; padding: 16px; border-radius: 16px; }
.home-place-heading { display: flex; gap: 15px; justify-content: space-between; align-items: center; }
.home-place-heading h2 { font: 700 24px/1.4 RoamingSans,sans-serif; margin: 0 0 5px; }
.home-place-heading p { color: #52695f; font-size: 13px; line-height: 1.7; }
.home-place-heading > img { width: 86px; height: 86px; object-fit: cover; border-radius: 12px; }
.arrival-actions { display: flex; gap: 9px; margin-top: 12px; }
.arrival-actions > * { flex: 1; font-size: 12px; padding: 9px 5px; }
.arrival-button { margin: 7px 0; }
.arrival-dialog { width: min(390px,calc(100vw - 36px)); color: #073d32; background: #fff9ef; padding: 24px; border: 0; border-radius: 18px; box-shadow: 0 20px 70px #062c3340; }
.arrival-dialog::backdrop { background: #153b3a70; }
.arrival-dialog h2 { font-size: 23px; margin: 0 45px 25px 0; }
.arrival-dialog h3 { font-size: 18px; margin: 12px 0; }
.arrival-dialog .primary { width: 100%; margin: 15px 0 12px; }
.dialog-close { position: absolute; top: 12px; right: 12px; font-size: 12px; padding: 5px 9px; }
.publish-link { display: inline-flex; align-items: center; gap: 4px; color: #087d70; font-size: 12px; white-space: nowrap; min-height: 44px; }
.publish-link .icon { width: 18px; height: 18px; }
.checkin-grid { columns: 2; column-gap: 10px; margin-top: 15px; }
.checkin-card { display: block; break-inside: avoid; background: #fffdfa; border-radius: 12px; overflow: hidden; margin-bottom: 12px; padding-bottom: 10px; }
.checkin-image-wrap { position: relative; }
.checkin-image { width: 100%; object-fit: cover; display: block; }
.checkin-image-0 { aspect-ratio: 3/4; }
.checkin-image-1 { aspect-ratio: 1; }
.checkin-image-2 { aspect-ratio: 4/5; }
.checkin-image-label { display: block; padding: 5px 8px 0; font-size: 10px; color: #52695f; }
.image-count { position: absolute; right: 7px; top: 7px; background: #183c32cc; color: white; border-radius: 12px; font-size: 10px; padding: 3px 7px; }
.checkin-card h3 { font: 600 14px/1.55 RoamingSans,sans-serif; margin: 6px 9px; overflow-wrap: anywhere; }
.checkin-author { display: flex; align-items: center; gap: 5px; padding: 0 8px; font-size: 10px; color: #52695f; }
.checkin-author > img:first-child { width: 22px; height: 22px; object-fit: contain; background: #e1f4ee; border-radius: 50%; }
.checkin-author .icon { width: 16px; height: 16px; margin-left: auto; }
.community-status { color: #52695f; font-size: 12px; }
.checkin-byline { display: flex; align-items: center; gap: 10px; margin: 12px 0 18px; }
.checkin-byline > img { width: 40px; height: 40px; object-fit: contain; background: #dcf3ee; border-radius: 50%; }
.checkin-byline small { display: block; color: #52695f; margin-top: 3px; font-size: 11px; }
.checkin-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 14px; background: #e4f2ef; }
.checkin-gallery figure { position: relative; flex: 0 0 100%; margin: 0; scroll-snap-align: center; }
.checkin-gallery img { width: 100%; height: 430px; object-fit: contain; display: block; }
.checkin-gallery figcaption { position: absolute; top: 12px; right: 12px; background: #073d32bb; color: white; border-radius: 15px; padding: 4px 10px; font-size: 12px; }
.checkin-detail h1,.checkin-form h1 { font: 700 25px/1.5 RoamingSans,sans-serif; margin: 16px 0 12px; }
.checkin-detail .paragraph { white-space: pre-line; }
.checkin-detail-actions { display: flex; gap: 10px; justify-content: space-between; margin: 24px 0; }
.checkin-detail-actions .pill { font-size: 12px; padding: 8px; }
.checkin-form > label { display: block; margin-top: 20px; font-size: 14px; font-weight: 600; }
.checkin-form input:not([type=checkbox]):not([type=file]),.checkin-form textarea,.checkin-form select { display: block; width: 100%; padding: 12px; margin-top: 8px; color: #073d32; background: #fffdfa; border: 1px solid #d5ded5; border-radius: 10px; font: 400 15px/1.6 RoamingSans,sans-serif; }
.upload-picker { position: relative; display: flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 120px; border: 1px dashed #82b5a5; border-radius: 14px; background: #edf7f1; }
.upload-picker input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.upload-previews { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.upload-previews img { width: 92px; height: 110px; object-fit: cover; border-radius: 9px; }
.checkin-form .consent { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.7; font-weight: 400; }
.consent input { width: 18px; height: 18px; flex-shrink: 0; accent-color: #087d70; }
.checkin-form .primary { width: 100%; margin-top: 18px; }
#publish-status { font-size: 13px; color: #52695f; margin-top: 16px; }
.publish-success { text-align: center; padding: 35px 0; }
.publish-success > .icon { width: 55px; height: 55px; }
:focus-visible { outline: 3px solid #087d70; outline-offset: 3px; }
::selection { color: #073d32; background: #b6e9db; }
@media(max-width:360px) { .journey-heading h2 { font-size: 20px; } .home-map-title { font-size: 25px; } }

.checkin-gallery { scrollbar-width: thin; scrollbar-color: #87b6a5 #e3eee5; }
.checkin-gallery::-webkit-scrollbar { height: 4px; }
.checkin-gallery::-webkit-scrollbar-thumb { background: #87b6a5; border-radius: 4px; }
.checkin-gallery::-webkit-scrollbar-button { display: none; }

.next-place{display:flex;gap:13px;margin:17px 0 24px;align-items:flex-start}.next-place-photo{flex:0 0 100px}.next-place-photo img{width:100px;height:134px;object-fit:cover;border-radius:12px}.next-place .body{flex:1;min-width:0}.next-name{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.next-name h3{font-size:18px;margin:0}.next-name .tag{font-size:10px;padding:3px 7px}.next-place p{font-size:12px;line-height:1.65;color:#52695f;margin:6px 0}.next-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.next-actions .pill{font-size:11px;padding:7px 9px;min-height:34px;margin:0}.next-actions .icon{width:15px;height:15px}.route-plan{padding:16px 0 20px;border-top:1px solid #dedfcc}.route-plan h3{font-size:18px;line-height:1.5;margin:0 0 6px}.route-plan>p{font-size:12px;color:#52695f;line-height:1.7;margin:0 0 13px}.route-stations{display:flex;gap:15px;align-items:flex-start}.route-station{flex:1;min-width:0;position:relative}.route-station:not(:last-child):after{content:'→';position:absolute;right:-13px;top:64px;color:#087d70;font-size:16px}.route-period{display:block;color:#087d70;font-size:11px;margin-bottom:7px}.route-photo{display:block;position:relative;border-radius:10px;overflow:hidden}.route-photo>img{width:100%;height:84px;object-fit:cover;display:block}.route-stop-number{position:absolute;left:6px;bottom:6px;background:#fff9ef;color:#073d32;border-radius:50%;width:21px;height:21px;text-align:center;font-size:12px;line-height:21px}.route-station strong{display:block;font-size:13px;margin:8px 0 5px}.route-station.selected strong{color:#087d70}.route-station small{font-size:10px;line-height:1.6;color:#52695f;display:block}.route-legs{display:flex;gap:15px;flex-wrap:wrap;margin-top:14px}.route-legs>span{font-size:10px;color:#52695f}.route-legs strong{display:block;font-size:11px;margin-top:3px;font-weight:500}.route-guide>.visual-note{line-height:1.8}

body[data-page="home"] .route-plans { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #87b6a5 #e3eee5; }
body[data-page="home"] .route-plan { flex: 0 0 92%; scroll-snap-align: start; }

.journey-tabs { gap: 5px; }
.journey-tabs a { gap: 4px; font-size: 12px; }
.arrival-actions { align-items: center; }
.arrival-actions .pill { white-space: nowrap; }
