.river-stop{position:absolute;z-index:16;transform:translateX(-50%);display:flex;align-items:center;gap:10px;pointer-events:auto}.river-main{padding:5px 7px;border-radius:12px;background:rgba(239,231,204,.9);box-shadow:0 5px 14px #1d383b66}.main-picture{width:154px;display:flex;flex-direction:column;align-items:center;gap:4px}.stop-picture{width:154px;height:92px;padding:3px;border:2px solid #c39a54;border-radius:9px;background:#f7efd9;cursor:pointer;box-shadow:0 4px 10px #203b3766;position:relative;overflow:hidden}.stop-picture img{width:100%;height:100%;object-fit:cover;border-radius:6px}.stop-picture span{position:absolute;bottom:3px;left:5px;right:5px;padding:3px;background:#173e3bd9;color:#fff3cf;border-radius:4px;font-size:10px;font-weight:700}.stop-city-name{font-size:22px;font-weight:900;letter-spacing:4px;color:#244942;text-shadow:0 1px #fff}.stop-play{min-width:74px;height:48px;border:1px solid #f3d48b;border-radius:10px;background:linear-gradient(145deg,#b76b46,#713a35);color:#fff2cb;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 4px 0 #522a27,0 6px 12px #40261f66;transition:.18s}.stop-play:hover{transform:translateY(-3px);filter:brightness(1.15)}.river-decoration{z-index:12;pointer-events:none}.decor-item{display:flex;flex-direction:column;align-items:center;gap:2px;filter:drop-shadow(0 3px 4px #1f393655)}.decor-item img{width:78px;height:62px;object-fit:contain;mix-blend-mode:multiply}.decor-item small{font-size:11px;color:#35564d;background:#f3ead0d9;padding:2px 5px;border-radius:4px;white-space:nowrap;font-weight:700}
.main-picture:after{content:'点击查看详细介绍';font-size:10px;color:#8a6740;white-space:nowrap;letter-spacing:1px}.stop-picture{transform-style:preserve-3d;animation:landmark-float 3.6s ease-in-out infinite}.stop-picture:hover{transform:perspective(420px) rotateX(6deg) rotateY(-8deg) translateY(-5px) scale(1.06);box-shadow:0 10px 18px #203b3766}.stop-picture:active{transform:perspective(420px) rotateX(0) rotateY(0) translateY(2px) scale(.98)}@keyframes landmark-float{0%,100%{transform:perspective(420px) rotateY(-2deg) translateY(0)}50%{transform:perspective(420px) rotateY(2deg) translateY(-3px)}}
.river-decoration[data-zone="river"]{transform:translate(-50%,-50%) scale(.9)}.river-decoration[data-zone="edge"]{transform:translate(-50%,-50%) scale(.82)}.river-decoration[data-zone="bank"]{transform:translate(-50%,-50%) scale(.86)}.river-main{transition:top .45s ease}.river-main:hover{z-index:30}.river-paint{filter:saturate(1.12) contrast(1.05);animation:water-shimmer 7s ease-in-out infinite}@keyframes water-shimmer{0%,100%{filter:saturate(1.08) contrast(1.02) brightness(1)}50%{filter:saturate(1.2) contrast(1.08) brightness(1.04)}}
.stop-city-name{font-family:'STKaiti','KaiTi','FangSong',serif;font-style:italic;font-weight:900;letter-spacing:6px}
.river-decoration{z-index:24;pointer-events:auto}
.landmark-image-preview{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;background:rgba(12,25,25,.84);padding:30px}.landmark-image-preview[hidden]{display:none}.landmark-image-preview figure{margin:0;max-width:min(900px,92vw);max-height:86vh;text-align:center}.landmark-image-preview img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border:4px solid #e2c777;border-radius:12px;box-shadow:0 20px 70px #000b}.landmark-image-preview figcaption{margin-top:10px;color:#fff2cb;font-family:'STKaiti','KaiTi',serif;font-size:20px}.landmark-image-preview>button{position:absolute;right:28px;top:20px;width:42px;height:42px;border:0;border-radius:50%;background:#d6b461;color:#273f3a;font-size:28px;cursor:pointer}
.river-decoration[data-zone="river"] .decor-item{background:transparent!important}.river-decoration[data-zone="river"] .decor-item img{mix-blend-mode:multiply;filter:saturate(1.08) contrast(1.08) drop-shadow(0 5px 4px rgba(20,55,50,.32));background:transparent}.river-decoration[data-zone="river"] .decor-item small{background:rgba(35,74,68,.72);color:#fff2c9;border:1px solid rgba(232,202,123,.55)}
#landmark-image-preview{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;background:rgba(12,25,25,.84);padding:30px}#landmark-image-preview[hidden]{display:none}#landmark-image-preview figure{margin:0;max-width:min(900px,92vw);max-height:86vh;text-align:center}#landmark-image-preview img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border:4px solid #e2c777;border-radius:12px;box-shadow:0 20px 70px #000b}#landmark-image-preview figcaption{margin-top:10px;color:#fff2cb;font-family:'STKaiti','KaiTi',serif;font-size:20px}#landmark-image-preview>button{position:absolute;right:28px;top:20px;width:42px;height:42px;border:0;border-radius:50%;background:#d6b461;color:#273f3a;font-size:28px;cursor:pointer}
.landmark-intro{max-width:760px;margin:8px auto 0;color:#f5e8c8;font-family:'STKaiti','KaiTi',serif;font-size:16px;line-height:1.8}
.landmark-image-preview figure{max-height:88vh;overflow-y:auto;padding:8px 14px 18px;border-radius:14px;background:rgba(28,53,50,.32)}.landmark-image-preview .landmark-intro{max-height:25vh;overflow-y:auto;padding:0 12px}
.river-decoration,.river-decoration *{pointer-events:auto!important;cursor:zoom-in}.river-decoration{z-index:120!important}
.bonus-activity{display:none!important}
.river-decoration { pointer-events:auto !important; cursor:pointer; }
.river-decoration img { pointer-events:auto !important; cursor:zoom-in; }
.decor-item model-viewer{display:block;width:110px;height:82px;background:transparent;--poster-color:transparent;cursor:zoom-in;filter:drop-shadow(0 5px 5px rgba(20,55,50,.35))}
.river-decoration model-viewer[data-small-name*="三湾"]{transform:rotate(30deg)!important;transform-origin:50% 50%}
.river-decoration model-viewer[data-small-name*="高旻寺"]{width:128px!important;height:96px!important}
.river-decoration model-viewer[data-small-name*="清口水利枢纽"]{width:190px!important;height:104px!important;transform:rotate(90deg)!important;transform-origin:50% 50%}
.river-decoration model-viewer[data-small-name*="漕运粮仓"]{width:124px!important;height:92px!important}
.river-decoration model-viewer[data-small-name*="纤夫"]{width:132px!important;height:98px!important}

/* Main cities sit directly on the bank: the model always faces the water. */
.river-main{
  width:224px;
  padding:0;
  flex-direction:column;
  align-items:center;
  gap:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.main-picture::after{content:none}
.stop-model-stage{
  position:relative;
  width:224px;
  height:145px;
  overflow:visible;
  border:0;
  background:transparent;
  pointer-events:none;
}
.stop-model-stage::after{
  content:'';
  position:absolute;
  z-index:0;
  left:28px;
  right:28px;
  bottom:2px;
  height:15px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(34,52,43,.34),rgba(34,52,43,0) 72%);
  filter:blur(1px);
  pointer-events:none;
}
.river-main[data-bank="south"] .stop-model-stage::before,
.river-main[data-bank="north"] .stop-model-stage::before{
  content:'';
  position:absolute;
  z-index:0;
  left:32px;
  right:32px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(112,91,50,.5),transparent);
  pointer-events:none;
}
.stop-model-preview{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  background:transparent;
  --poster-color:transparent;
  pointer-events:none;
  filter:drop-shadow(0 9px 6px rgba(31,47,42,.34));
}
.stop-city-name{
  width:170px;
  min-height:46px;
  padding:5px 8px 4px;
  border:1px solid #9d7139;
  border-radius:7px;
  background:linear-gradient(145deg,#fff7dc,#dfc58b);
  color:#23463f;
  font-family:'STKaiti','KaiTi','FangSong',serif;
  font-size:22px;
  font-style:normal;
  font-weight:900;
  letter-spacing:5px;
  line-height:1.05;
  text-align:center;
  text-shadow:0 1px rgba(255,255,255,.8);
  cursor:pointer;
  box-shadow:0 3px 0 #8f6737,0 5px 10px rgba(50,43,30,.2);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.stop-city-name small{
  display:block;
  margin-top:4px;
  color:#76552f;
  font-family:'Microsoft YaHei','PingFang SC',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:1px;
}
.stop-city-name:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 5px 0 #8f6737,0 8px 14px rgba(50,43,30,.22);
}
.stop-city-name:active{transform:translateY(2px);box-shadow:0 1px 0 #8f6737}
.river-main>.stop-play{
  width:150px;
  min-width:150px;
  height:40px;
  margin:0;
  border-radius:8px;
  font-size:15px;
  letter-spacing:3px;
}
.river-main[data-bank="north"] .stop-model-stage,
.river-main[data-bank="south"] .stop-model-stage{margin:0}

/* Keep Yangzhou's complete south-bank stack clear of the bottom controls. */
.river-main[data-city="扬州"]{
  margin-top:-42px;
  z-index:34;
}
.river-main[data-city="扬州"] .stop-play{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
