:root{--blue:#263873;--text:#4f639e;--pink:#d434d3;--bg:#f7fbff;--line:#e3eeff}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#333;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;overflow-x:clip}button,a{font:inherit}button{cursor:pointer}.page{max-width:1920px;margin:auto;padding:0 36px 60px;overflow:visible;position:relative}.glass{background:rgba(255,255,255,.9);border:1px solid rgba(201,217,245,.6)}
    html.hide-routes #routes,html.hide-routes .nav a[href="#routes"],html.hide-routes .drawer a[href="#routes"],html.hide-videos #videos,html.hide-videos .nav a[href="#videos"],html.hide-videos .drawer a[href="#videos"],html.hide-assistant .assistant-launch,html.hide-assistant .assistant-panel{display:none!important}
    .header{height:92px;width:min(calc(100vw - 72px),1848px);border-radius:46px;display:flex;align-items:center;padding:0 16px;position:fixed;z-index:50;top:40px;left:50%;right:auto;transform:translateX(-50%);background:linear-gradient(110deg,rgba(255,255,255,.3),rgba(218,237,255,.2));border:1px solid rgba(224,241,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 12px 34px rgba(10,54,115,.12);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}
    .header.header-hidden{transform:translate(-50%,-120%);opacity:0;pointer-events:none}.logos{display:flex;gap:15px;align-items:center}.logos img{width:120px;height:50px;object-fit:contain}.logo-sz{width:140px!important;height:72px!important}.logo-apec{width:auto!important;height:64px!important}.nav{margin:auto;display:flex;gap:clamp(18px,2.4vw,64px)}.nav a{position:relative;color:#f1f7ff;text-decoration:none;font-size:clamp(13px,1.05vw,18px);white-space:nowrap;text-shadow:0 1px 10px rgba(21,66,128,.25)}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;margin:auto;width:36px;height:3px;background:#ff6eab}.header .lang{background:rgba(255,255,255,.18);border-color:rgba(232,246,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}.lang{width:132px;height:54px;border-radius:27px;display:flex;align-items:center;justify-content:space-around;color:#fff;padding:3px}.lang button{width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:transparent}.lang button.active{color:white;background:linear-gradient(135deg,#8e62ff,#d44bd4);font-weight:600}.menu{display:none;border:0;background:none;color:#fff;font-size:25px}section,footer{scroll-margin-top:150px}
    .hero{width:100vw;height:100vh;height:100dvh;aspect-ratio:auto;margin:0 calc(50% - 50vw);border-radius:0;overflow:hidden;position:relative}.hero-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .7s}.hero-slide>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-slide.active{opacity:1}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,120,193,.18),transparent 48%),linear-gradient(0deg,rgba(24,105,182,.12),transparent 30%);pointer-events:none}.hero-copy{position:absolute;z-index:2;left:9.2%;top:30.5%;width:34.5%}.hero-copy img{width:100%;display:block}.route-btn{margin:15% 0 0 20.5%;width:59.7%;height:auto;aspect-ratio:282/88;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;font-size:clamp(14px,1.67vw,24px);background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dots{position:absolute;z-index:3;bottom:max(16px,env(safe-area-inset-bottom));left:50%;display:flex;gap:6px;transform:translateX(-50%)}.dot{width:5px;height:5px;border-radius:5px;border:0;padding:0;background:rgba(255,255,255,.45)}.dot.active{width:12px;background:#fff}
    .stats{height:156px;margin-top:80px;background:#fff;border:1px solid var(--line);border-radius:40px;display:grid;grid-template-columns:repeat(5,1fr)}.stat{display:grid;place-content:center;text-align:center;position:relative;color:var(--text);font-size:20px}.stat:not(:last-child):after{content:"";position:absolute;right:0;top:55px;height:45px;border-right:1px solid #dfe9fb}.stat b{color:var(--pink);font-size:40px;margin-bottom:4px;font-variant-numeric:tabular-nums;will-change:transform,opacity}.stat b small{font-size:20px}.stat b.counting{animation:stat-float 3s cubic-bezier(.22,.61,.36,1) both}@keyframes stat-float{0%{transform:translateY(10px);opacity:.25}18%{transform:translateY(-7px);opacity:1}36%{transform:translateY(5px)}54%{transform:translateY(-3px)}72%{transform:translateY(2px)}100%{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.stat b.counting{animation:none}}
    .section-head{margin:96px 0 24px;display:grid;grid-template-columns:1fr 1.05fr;align-items:end}.eyebrow{font-size:14px;font-weight:700;letter-spacing:2.6px;color:var(--pink)}h2{font-size:64px;line-height:1.1;color:#333;margin:10px 0 0}.section-head:not(.map-head) > div:first-child{width:fit-content}.title-line{width:100%;height:13px;margin-top:-12px;opacity:.3;background:linear-gradient(90deg,#4872f0,#de70d6)}.section-head p{color:var(--text);font-size:18px;line-height:30px;margin:0}
    .map-head{align-items:start;display:flex;gap:32px;justify-content:space-between}
    .map-head > div:first-child{width:fit-content;flex-shrink:0}
    .map-head .map-search-wrap{align-self:flex-start;margin-top:28px;margin-left:auto}
    .map-search-wrap{justify-self:end;width:360px;position:relative}
    .map-search{position:relative}
    .map-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;object-fit:contain;pointer-events:none}
    .map-search-input{width:100%;height:48px;padding:0 48px 0 48px;border:2px solid #dce5fb;border-radius:24px;background:#fff;font-size:15px;color:#333;outline:none;transition:border-color .2s,box-shadow .2s}
    .map-search-input:focus{border-color:#2d72ca;box-shadow:0 0 0 3px rgba(45,114,202,.12)}
    .map-search-clear{position:absolute;right:44px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:#e0e6f0;border-radius:50%;cursor:pointer;font-size:12px;color:#666;display:flex;align-items:center;justify-content:center;transition:background .2s}
    .map-search-clear:hover{background:#d0d8e8}
    .map-search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.12);max-height:360px;overflow-y:auto;z-index:100;border:1px solid #e8edf5}
    .map-search-item{padding:14px 18px;cursor:pointer;border-bottom:1px solid #f0f3f9;display:flex;align-items:center;gap:12px;transition:background .15s}
    .map-search-item:last-child{border-bottom:none}
    .map-search-item:hover,.map-search-item.active{background:#f4f7ff}
    .map-search-item-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
    .map-search-item-info{flex:1;min-width:0}
    .map-search-item-name{font-size:15px;font-weight:600;color:#333;margin:0 0 2px}
    .map-search-item-station{font-size:12px;color:#888;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .map-search-item-empty{padding:24px;text-align:center;color:#999;font-size:14px}
    .map-search-item-meta{display:flex;align-items:center;gap:8px}
    .map-search-highlight{color:#2d72ca;font-weight:700}
    .themes{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.theme{position:relative;aspect-ratio:448/292;overflow:visible;background:transparent;color:#fff;cursor:pointer}.theme.selected{filter:drop-shadow(0 0 1px rgba(255,70,146,.75))}.theme>img,.theme>picture,.theme>picture img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s}.theme.tall{grid-column:2;grid-row:1/3}.theme-copy{position:absolute;z-index:2;left:24px;bottom:24px;right:24px}.theme-copy b{font-size:48px;font-weight:800;text-shadow:0 4px 16px rgba(0,0,0,.5)}.theme-play{position:absolute;z-index:5;right:0;bottom:0;width:46px;height:46px;border:0;background:transparent;padding:0}.theme-play img{display:block;width:100%;height:100%;object-fit:contain}.theme-hover{position:absolute;z-index:3;inset:0;border-radius:40px;background:rgba(9,14,61,.68);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.theme:hover>img,.theme:focus-within>img,.theme:hover>picture img,.theme:focus-within>picture img{transform:scale(1.02)}.theme:hover .theme-hover,.theme:focus-within .theme-hover{opacity:1;visibility:visible}.theme-hover strong{font-size:24px}.theme-hover a{width:68%;padding:20px;text-align:center;border-radius:36px;color:#fff;text-decoration:none;background:rgba(255,255,255,.18)}.theme-hover a:hover,.theme-hover a:focus-visible{background:rgba(255,255,255,.3);outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.theme-carousel-controls{display:none}
    #map{padding-top:48px}.map-count,.more{border:0;border-radius:24px;padding:11px 24px;color:#2d72ca;background:#f4f7ff}.map-count{transition:background .2s,box-shadow .2s}.map-count:hover{background:#eaf2ff}.map-count:focus-visible{outline:2px solid #2d72ca;outline-offset:3px}.map-wrap{margin-top:0;padding:38px 24px 24px;border-radius:40px;background:linear-gradient(180deg,#edf5ff 0%,#f8f5ff 60%,#fff 100%);border:none;box-shadow:none}.map-toolbar-row{display:flex;align-items:flex-start;gap:12px}.filter-wrap{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;flex:1}.tag{padding:8px 18px;border-radius:28px;font-size:14px;font-weight:700;border:1.5px solid #e6e8ee;color:#2b3038;background:#fbfcfe;cursor:pointer;transition:all .28s cubic-bezier(.34,1.4,.64,1);display:flex;align-items:center;justify-content:flex-start;gap:9px;box-shadow:0 1px 4px rgba(30,40,60,.05);user-select:none;position:relative;min-width:178px}.tag:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--tag-color) 35%, #e6e8ee);box-shadow:0 6px 18px rgba(30,40,60,.12)}.tag.active{background:color-mix(in srgb, var(--tag-color) 13%, white);border-color:color-mix(in srgb, var(--tag-color) 40%, white);color:color-mix(in srgb, var(--tag-color) 72%, #1a1a1a);transform:translateY(-2px);box-shadow:0 6px 16px color-mix(in srgb, var(--tag-color) 28%, transparent)}.tag-pin{width:14px;height:19px;flex-shrink:0;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18));transition:transform .28s cubic-bezier(.34,1.4,.64,1)}.tag.active .tag-pin{transform:scale(1.18) translateY(-1px)}.tag-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.tag-cn{font-size:14px;font-weight:700;line-height:1.2}.tag-en{font-size:10px;font-weight:500;line-height:1.2;opacity:.7;letter-spacing:.3px}.map-stage{position:relative;isolation:isolate;margin-top:24px;border-radius:20px;overflow:hidden;box-shadow:0 16px 56px rgba(26,111,244,.13)}.map{width:100%;display:block;border-radius:0}
#amapContainer{width:100%;height:calc(100vh - 280px);min-height:600px;position:relative}
.map-point-list-section{margin-top:24px}
.map-channel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;padding:0 4px}
.map-channel-heading strong{display:flex;align-items:center;gap:9px;color:var(--blue);font-size:18px;line-height:1.3}
.map-channel-heading strong:before{content:"";width:4px;height:20px;border-radius:4px;background:linear-gradient(180deg,#4872f0,#d434d3);flex:0 0 auto}
.map-channel-map-tip{color:#7181a6;font-size:13px;line-height:1.5;text-align:right}
.map-point-list{display:grid;grid-auto-flow:column;grid-template-rows:1fr;grid-auto-columns:clamp(230px,calc((100% - 42px)/4),320px);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 4px 13px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(72,114,240,.36) rgba(255,255,255,.65)}
.map-point-list::-webkit-scrollbar{height:7px}.map-point-list::-webkit-scrollbar-track{border-radius:8px;background:rgba(255,255,255,.65)}.map-point-list::-webkit-scrollbar-thumb{border-radius:8px;background:rgba(72,114,240,.36)}
.map-point-list-card{position:relative;width:100%;height:116px;padding:10px;display:flex;align-items:center;gap:12px;border:1px solid rgba(210,224,249,.9);border-radius:18px;background:#fff;color:#333;text-align:left;box-shadow:0 5px 18px rgba(40,78,139,.08);scroll-snap-align:start;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.map-point-list-card:hover{transform:translateY(-2px);border-color:rgba(72,114,240,.38);box-shadow:0 10px 28px rgba(40,78,139,.14)}
.map-point-list-card:focus-visible{outline:2px solid #2d72ca;outline-offset:2px}
.map-point-list-card.active{border-color:color-mix(in srgb,var(--point-color) 50%,white);background:color-mix(in srgb,var(--point-color) 6%,white);box-shadow:0 8px 24px color-mix(in srgb,var(--point-color) 18%,transparent)}
.map-point-list-thumb-wrap{position:relative;flex:0 0 112px;width:112px;height:88px;overflow:hidden;border-radius:13px;background:linear-gradient(135deg,#dceaff,#f1e7ff)}
.map-point-list-thumb{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.map-point-list-card:hover .map-point-list-thumb{transform:scale(1.045)}
.map-point-list-index{position:absolute;left:7px;top:7px;min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;border-radius:12px;background:rgba(20,39,90,.72);color:#fff;font-size:10px;font-weight:700;backdrop-filter:blur(5px)}
.map-point-list-copy{min-width:0;align-self:stretch;display:flex;flex:1;flex-direction:column;justify-content:center}
.map-point-list-name{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#273866;font-size:15px;line-height:1.35;font-weight:750}
.map-point-list-station{margin-top:7px;overflow:hidden;color:#7181a6;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.map-point-list-action{margin-top:7px;color:var(--point-color,#2d72ca);font-size:11px;font-weight:700}
.map-point-list-empty{grid-column:1/-1;min-width:min(520px,calc(100vw - 100px));padding:28px 20px;border:1px dashed #cbd9f1;border-radius:18px;background:rgba(255,255,255,.68);color:#7181a6;font-size:14px;text-align:center}
.map-point-list-skeleton{height:116px;border-radius:18px;background:linear-gradient(100deg,rgba(255,255,255,.55) 20%,rgba(229,238,252,.95) 40%,rgba(255,255,255,.55) 60%);background-size:220% 100%;animation:mapListLoading 1.3s ease-in-out infinite}
@keyframes mapListLoading{to{background-position:-220% 0}}
.map-channel-heading-map{margin-top:15px;margin-bottom:10px}
.map-empty-state{position:absolute;z-index:750;left:50%;top:50%;width:min(420px,calc(100% - 36px));padding:15px 18px;transform:translate(-50%,-50%);border:1px solid rgba(210,224,249,.92);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 32px rgba(26,58,110,.16);color:#5f7098;font-size:13px;line-height:1.6;text-align:center;pointer-events:none;backdrop-filter:blur(8px)}
.map-empty-state[hidden]{display:none}
@media(max-width:768px){.map-point-list-section{margin-top:18px}.map-channel-heading{gap:12px;margin-bottom:9px;padding:0}.map-channel-heading strong{font-size:15px}.map-channel-heading strong:before{height:17px}.map-channel-map-tip{font-size:10px}.map-point-list{grid-auto-columns:min(84vw,280px);gap:10px;margin-right:-16px;padding:2px 16px 10px 1px;scroll-padding-left:1px}.map-point-list-card{height:100px;padding:8px;gap:10px;border-radius:14px}.map-point-list-thumb-wrap{flex-basis:104px;width:104px;height:82px;border-radius:11px}.map-point-list-name{font-size:13px}.map-point-list-station,.map-point-list-action{margin-top:5px;font-size:10px}.map-point-list-empty{min-width:calc(100vw - 62px);padding:22px 15px;font-size:12px}.map-point-list-skeleton{height:100px;border-radius:14px}.map-channel-heading-map{margin-top:12px}.map-empty-state{font-size:11px;padding:12px 14px}}
.leaflet-tile-pane{z-index:200!important}
.leaflet-marker-pane{z-index:600!important}
.leaflet-overlay-pane{z-index:400!important}
.leaflet-marker-icon.amap-marker{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  outline:none!important;
  pointer-events:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.amap-pin-wrap{display:flex;flex-direction:column;align-items:center;cursor:pointer;transform:translateZ(0)}
.amap-pin-bounce{animation:pinFloat 2.4s ease-in-out infinite;transition:transform .2s,filter .2s}
.amap-pin-wrap:hover .amap-pin-bounce{animation-play-state:paused;transform:scale(1.15) translateY(-3px)}
.amap-pin-wrap.active .amap-pin-bounce{animation-play-state:paused;transform:scale(1.2) translateY(-4px)}
.amap-pin-svg{width:36px;height:50px;display:block}
.amap-pin-shadow{width:18px;height:6px;background:rgba(0,0,0,.22);border-radius:50%;margin-top:-2px;animation:shadowScale 2.4s ease-in-out infinite}
@keyframes pinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes shadowScale{0%,100%{transform:scaleX(1);opacity:.3}50%{transform:scaleX(.6);opacity:.12}}
.amap-pin-label{margin-top:5px;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.3px;color:#fff;background:rgba(0,0,0,.56);padding:2px 8px;border-radius:5px;pointer-events:none}
.amap-info-content{padding:0!important;border:none!important;border-radius:16px!important;overflow:visible!important;box-shadow:none!important;background:transparent!important}
.amap-info-sharp,.amap-info-close{display:none!important}
.amap-info-outer{box-shadow:none!important}
.amap-iw-card{width:248px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 48px rgba(0,0,0,.18);animation:iwPop .38s cubic-bezier(.34,1.56,.64,1) forwards;position:relative}
@keyframes iwPop{from{opacity:0;transform:scale(.75) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.amap-iw-img{width:100%;height:114px;object-fit:cover;display:block}
.amap-iw-body{padding:10px 13px 13px}
.amap-iw-name-row{display:flex;align-items:center;gap:7px}
.amap-iw-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.amap-iw-name{font-size:14px;font-weight:800;color:var(--text-dark)}
.amap-iw-station{font-size:11px;color:var(--text-gray);margin-top:2px}
.amap-iw-desc{font-size:12px;color:var(--text-mid);margin-top:7px;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.amap-iw-close-btn{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.32);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;line-height:1;transition:background .2s;border:none;font-family:inherit;z-index:3}
.amap-iw-close-btn:hover{background:rgba(0,0,0,.55)}
.highlights-shell{position:relative}.highlights{height:644px;padding:24px;border-radius:40px;background:linear-gradient(180deg,#edf5ff 0%,#f8f5ff 50%,#fff 100%);border:1px solid var(--line);box-shadow:0 8px 32px rgba(67,130,222,.08);display:flex;gap:16px;position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:24px;overscroll-behavior-x:contain;cursor:grab;scrollbar-width:thin;scrollbar-color:rgba(72,114,240,.45) rgba(255,255,255,.5)}
.highlights::-webkit-scrollbar{height:10px}.highlights::-webkit-scrollbar-track{margin:0 24px;border-radius:10px;background:rgba(255,255,255,.5)}.highlights::-webkit-scrollbar-thumb{border-radius:10px;background:linear-gradient(90deg,#4872f0,#d434d3)}
.highlights.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.video-card{position:relative;flex:0 0 calc((100% - 48px)/4);min-width:0;overflow:hidden;scroll-snap-align:start;border-radius:24px;background:linear-gradient(135deg,#1a3a6e 0%,#2d5fa8 50%,#1a3a6e 100%);color:#fff;cursor:pointer;transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s}
.video-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(26,58,110,.2)}
.video-card>img:first-child{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.video-card:hover>img:first-child{transform:scale(1.05)}
.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(3,16,63,.4) 60%,rgba(3,16,63,.85) 100%)}
.video-card.video-active{box-shadow:0 16px 48px rgba(26,58,110,.25)}
.play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:0;background:transparent;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;padding:0}
.play:hover{transform:translate(-50%,-50%) scale(1.1)}
.play img{width:64px;height:64px;display:block}
.video-copy{position:absolute;z-index:2;left:24px;right:20px;bottom:20px}
.video-copy b{font-size:24px;font-weight:700;line-height:1.3;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.video-carousel-controls{position:absolute;z-index:7;inset:24px;pointer-events:none}.video-prev,.video-next{position:absolute;top:50%;width:44px;height:44px;padding:11px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(26,58,110,.2);transform:translateY(-50%);pointer-events:auto;transition:transform .2s,box-shadow .2s}.video-prev:hover,.video-next:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 12px 30px rgba(26,58,110,.28)}.video-prev{left:8px}.video-next{right:8px}.video-prev img,.video-next img{display:block;width:100%;height:100%;object-fit:contain}.video-prev img{transform:rotate(180deg)}.video-dots{display:none}
.section-head.section-more-head,.section-more-head{display:flex;gap:32px;justify-content:space-between}
    .section-more-head > div:first-child{width:fit-content;flex-shrink:0}
    .section-more-head p{align-self:flex-start;margin-top:32px;margin-left:auto}
.section-more-head .more{border:0;border-radius:24px;padding:12px 28px;color:#2d72ca;background:#f4f7ff;font-size:14px;font-weight:600;cursor:pointer;transition:all .28s cubic-bezier(.34,1.4,.64,1);display:inline-flex;align-items:center;gap:6px}
.section-more-head .more:hover{transform:translateY(-2px);background:#eaf2ff;box-shadow:0 6px 18px rgba(30,50,130,.12)}
.section-more-head .more:after{content:"→";font-size:16px;transition:transform .2s}
.section-more-head .more:hover:after{transform:translateX(4px)}
    .highlights-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,rgba(26,58,110,.75) 0%,rgba(68,40,130,.7) 50%,rgba(120,50,140,.65) 100%);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}
    .highlights-modal.open{display:flex;animation:modalFadeIn .4s cubic-bezier(.34,1.56,.64,1)}
    @keyframes modalFadeIn{from{opacity:0}to{opacity:1}}
    .highlights-box{position:relative;width:min(1200px,calc(100vw - 48px));height:70vh;height:70dvh;max-height:70dvh;padding:0;border-radius:32px;background:#fff;box-shadow:0 32px 96px rgba(8,24,57,.35),0 0 0 1px rgba(255,255,255,.3);display:flex;flex-direction:column;overflow:hidden;animation:modalSlideUp .5s cubic-bezier(.34,1.56,.64,1)}
    @keyframes modalSlideUp{from{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
    .highlights-modal-close{position:absolute;z-index:10;right:20px;top:20px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,243,255,.9));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 8px 24px rgba(26,58,110,.2);backdrop-filter:blur(8px)}
    .highlights-modal-close:hover{background:#fff;transform:rotate(90deg) scale(1.1);box-shadow:0 12px 32px rgba(26,58,110,.25)}
    .highlights-modal-close img{width:18px;height:18px;object-fit:contain}
    .highlights-modal-header{padding:32px 36px 24px;border-bottom:1px solid rgba(224,234,255,.6);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:linear-gradient(135deg,#f8faff 0%,#f0edff 50%,#f5eeff 100%);position:relative}
    .highlights-modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4872f0 0%,#7e62ff 50%,#d434d3 100%)}
    .highlights-modal-title{margin:0;font-size:28px;font-weight:800;color:var(--blue);line-height:1.2;display:flex;align-items:center;gap:14px;letter-spacing:-.5px}
    .highlights-modal-title:before{content:"";display:inline-block;width:6px;height:32px;border-radius:4px;background:linear-gradient(180deg,#4872f0,#d434d3);box-shadow:0 4px 12px rgba(72,114,240,.35)}
    .highlights-modal-count{font-size:13px;color:#666;margin-left:12px;padding:5px 14px;background:linear-gradient(135deg,#e8edff,#f0e8ff);border-radius:20px;font-weight:600;border:1px solid rgba(72,114,240,.15)}
    .highlights-modal-body{flex:1;display:grid;grid-template-columns:1fr 340px;gap:0;min-height:0;overflow:hidden}
    .highlights-modal-left{padding:28px 32px;display:flex;flex-direction:column;gap:20px;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#fff 0%,#fafbff 100%)}
    .highlights-modal-player{position:relative;width:100%;aspect-ratio:var(--highlights-player-ratio,16/9);border-radius:24px;overflow:hidden;background:#000;flex-shrink:0;cursor:pointer;box-shadow:0 16px 48px rgba(26,58,110,.22),0 0 0 1px rgba(255,255,255,.5)}
    .highlights-modal-player[data-video-orientation="portrait"]{width:min(100%,calc(min(46dvh,calc(70dvh - 150px),460px) * var(--highlights-player-ratio,9/16)));height:auto;max-width:100%;aspect-ratio:var(--highlights-player-ratio,9/16);align-self:center}
    .highlights-modal-player video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
    .highlights-modal-player .poster-play{position:absolute;z-index:2;inset:0;width:100%;height:100%;transform:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:linear-gradient(180deg,transparent 30%,rgba(26,58,110,.4) 100%);transition:all .3s}
    .highlights-modal-player:hover .poster-play{background:linear-gradient(180deg,transparent 20%,rgba(26,58,110,.3) 100%)}
    .highlights-modal-player .poster-play img{width:80px;height:80px;opacity:.95;transition:all .3s;filter:none}
    .highlights-modal-player:hover .poster-play img{transform:scale(1.1);opacity:1}
    .highlights-modal-player.has-video .poster-play{display:none}
    .highlights-modal-prev,.highlights-modal-next{position:absolute;z-index:5;top:50%;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,243,255,.9));display:flex;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-50%);transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 8px 28px rgba(0,0,0,.2);opacity:0;pointer-events:none;backdrop-filter:blur(8px)}
    .highlights-modal-player:hover .highlights-modal-prev,.highlights-modal-player:hover .highlights-modal-next{opacity:1;pointer-events:auto}
    .highlights-modal-prev{left:20px}
    .highlights-modal-next{right:20px}
    .highlights-modal-prev:hover,.highlights-modal-next:hover{background:#fff;transform:translateY(-50%) scale(1.12);box-shadow:0 12px 36px rgba(0,0,0,.28)}
    .highlights-modal-prev img{transform:rotate(180deg)}
    .highlights-modal-prev img,.highlights-modal-next img{width:22px;height:22px;object-fit:contain}
    .highlights-modal-info{flex:0 0 auto;min-height:0;padding-right:4px}
    .highlights-modal-info h3{margin:0 0 10px;font-size:22px;font-weight:700;color:var(--blue);line-height:1.3}
    .highlights-modal-info p{margin:0;color:#5a6a8e;font-size:15px;line-height:1.8}
    .highlights-modal-right{border-left:1px solid rgba(224,234,255,.5);display:flex;flex-direction:column;min-height:0;overflow:hidden;background:linear-gradient(180deg,#fafbff 0%,#f5f0ff 100%)}
    .highlights-modal-list-header{padding:22px 28px;border-bottom:1px solid rgba(224,234,255,.5);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:linear-gradient(135deg,#f0f5ff 0%,#f0edff 100%)}
    .highlights-modal-list-header h4{margin:0;font-size:17px;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:8px}
    .highlights-modal-list-header h4:before{content:"";display:inline-block;width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,#4872f0,#d434d3)}
    .highlights-modal-list-count{font-size:13px;color:#666;background:#fff;padding:5px 12px;border-radius:18px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.06);border:1px solid rgba(224,234,255,.6)}
    .highlights-modal-list{flex:1;overflow-y:auto;padding:14px 18px}
    .highlights-modal-item{display:flex;gap:14px;padding:14px;border-radius:18px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.4,.64,1);border:2px solid transparent;margin-bottom:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
    .highlights-modal-item:hover{background:linear-gradient(135deg,#f8faff,#f0edff);border-color:rgba(72,114,240,.25);transform:translateX(6px);box-shadow:0 10px 32px rgba(67,130,222,.15)}
    .highlights-modal-item.active{background:linear-gradient(135deg,#e7edff,#f0edff);border-color:transparent;border-radius:18px;box-shadow:0 10px 32px rgba(67,130,222,.2),inset 0 0 0 2px transparent;position:relative}
    .highlights-modal-item.active:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:4px;height:60%;border-radius:0 2px 2px 0;background:linear-gradient(180deg,#4872f0,#d434d3)}
    .highlights-modal-item-thumb{width:92px;height:60px;border-radius:12px;object-fit:cover;flex-shrink:0;position:relative;box-shadow:0 4px 12px rgba(0,0,0,.1)}
    .highlights-modal-item-duration{position:absolute;right:4px;bottom:4px;background:linear-gradient(135deg,rgba(26,58,110,.85),rgba(50,30,90,.85));color:#fff;font-size:10px;padding:3px 6px;border-radius:6px;font-weight:500}
    .highlights-modal-item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
    .highlights-modal-item-title{font-size:15px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    @media(max-width:768px){
      .highlights-box{width:100%;height:70vh;height:70dvh;max-height:70dvh;border-radius:24px;overflow:hidden}
      .highlights-modal-header{padding:22px 20px 16px}
      .highlights-modal-title{font-size:22px}
      .highlights-modal-body{display:block;overflow-y:auto;overscroll-behavior:contain}
      .highlights-modal-left{padding:20px;overflow:visible}
      .highlights-modal-player{aspect-ratio:var(--highlights-player-ratio,16/9)}
      .highlights-modal-player[data-video-orientation="portrait"]{width:min(100%,calc(min(50dvh,calc(70dvh - 120px),560px) * var(--highlights-player-ratio,9/16)));height:auto;aspect-ratio:var(--highlights-player-ratio,9/16)}
      .highlights-modal-info{padding:0}
      .highlights-modal-info h3{font-size:18px}
      .highlights-modal-right{border-left:none;border-top:1px solid rgba(224,234,255,.5)}
      .highlights-modal-list-header{padding:16px 20px}
      .highlights-modal-list{padding:12px 14px;overflow:visible}
      .highlights-modal-item{padding:12px}
      .highlights-modal-item-thumb{width:76px;height:48px}
    }
    .contact{margin-top:96px;height:560px;border-radius:40px;background:#fff;border:1px solid var(--line);box-shadow:0 0 20px rgba(67,130,222,.1);text-align:center;padding:44px 8%}.contact .eyebrow{color:#999}.contact h2,.contact-title{color:var(--blue);font-size:60px;margin:10px 0 0;display:flex;justify-content:center;align-items:center}.contact-logo{display:block;width:min(560px,78%);height:auto;object-fit:contain}.email{max-width:920px;margin:38px auto 26px;padding:26px;border:1px solid rgba(153,188,244,.2);border-radius:20px;color:#666;font-size:24px}.email a{display:block;color:var(--pink);font-weight:600;font-size:32px;text-decoration:none;margin-top:10px}.legal{color:#666;font-size:18px;line-height:3}.legal small{display:block;border-top:1px solid #eee;color:#999;font-size:12px}
    .drawer-backdrop{display:none;position:fixed;inset:0;height:100%;background:rgba(18,40,68,.18);z-index:10000}.drawer{position:absolute;right:0;top:0;width:69%;height:100%;overflow-y:auto;background:#fff;padding-top:16px}.drawer a{display:block;text-align:center;color:#385291;text-decoration:none;font-size:20px;padding:27px}.drawer a.active{font-weight:600}.drawer a.active:after{content:"";display:block;width:34px;height:3px;background:#ff4692;margin:8px auto 0}
    .modal{display:none;position:fixed;inset:0;z-index:1100;background:linear-gradient(135deg,rgba(26,58,110,.75) 0%,rgba(68,40,130,.7) 50%,rgba(120,50,140,.65) 100%);align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}
.modal.open{display:flex;animation:modalFadeIn .4s cubic-bezier(.34,1.56,.64,1)}
.video-box{width:min(1200px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px));border-radius:32px;background:#fff;color:#333;position:relative;padding:0;box-shadow:0 32px 96px rgba(8,24,57,.35),0 0 0 1px rgba(255,255,255,.3);display:flex;flex-direction:column;overflow:hidden;animation:modalSlideUp .5s cubic-bezier(.34,1.56,.64,1)}
.close{position:absolute;z-index:10;right:20px;top:20px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,243,255,.9));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 8px 24px rgba(26,58,110,.2);backdrop-filter:blur(8px)}
.close:hover{background:#fff;transform:rotate(90deg) scale(1.1);box-shadow:0 12px 32px rgba(26,58,110,.25)}
.close img{width:18px;height:18px;object-fit:contain}
.modal-header{padding:32px 36px 24px;border-bottom:1px solid rgba(224,234,255,.6);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;background:linear-gradient(135deg,#f8faff 0%,#f0edff 50%,#f5eeff 100%);position:relative}
.modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4872f0 0%,#7e62ff 50%,#d434d3 100%)}
.modal-theme-title{margin:0;font-size:28px;font-weight:800;color:var(--blue);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:14px;letter-spacing:-.5px}
.modal-theme-title:before{content:"";display:inline-block;width:6px;height:32px;border-radius:4px;background:linear-gradient(180deg,#4872f0,#d434d3);box-shadow:0 4px 12px rgba(72,114,240,.35)}
.modal-tabs{display:flex;gap:0;height:44px;align-items:center;padding:5px;background:linear-gradient(135deg,rgba(72,114,240,.1),rgba(212,52,211,.08));border-radius:26px;overflow:hidden;flex-shrink:0;border:1px solid rgba(72,114,240,.15)}
.modal-tab{position:relative;flex:1;border:0;background:transparent;color:#6b7fa8;padding:0 24px;height:34px;font-size:14px;font-weight:500;white-space:nowrap;border-radius:22px;letter-spacing:.01em;cursor:pointer;transition:color .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)}
.modal-tab:hover:not(.active){color:#4a5f9e;background:rgba(72,114,240,.08)}
.modal-tab.active{background:#fff;color:var(--blue);font-weight:600;box-shadow:0 4px 16px rgba(30,50,130,.15)}
.modal-layout{flex:1;display:grid;grid-template-columns:1fr 380px;gap:0;min-height:0;overflow:visible}
.modal-left{padding:28px 32px;display:flex;flex-direction:column;gap:20px;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#fff 0%,#fafbff 100%)}
.player-shell{position:relative;width:100%;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#1a3a6e,#2d5fa8);flex-shrink:0;box-shadow:0 16px 48px rgba(26,58,110,.22),0 0 0 1px rgba(255,255,255,.5)}
.modal-player,.modal-poster{position:absolute;inset:0;width:100%;height:100%}
.modal-player{object-fit:contain;background:#000}
.modal-poster{display:block;max-width:100%;max-height:100%;object-fit:cover}
.player-shell.has-source .modal-poster,.player-shell.has-source .poster-play{display:none}
.player-shell.is-image-slide .modal-player,.player-shell.is-image-slide .poster-play{display:none}
.player-shell.is-image-slide .modal-poster{display:block}
.modal-player{display:none}
.player-shell.has-source .modal-player{display:block}
.poster-play{position:absolute;z-index:2;left:50%;top:50%;width:72px;height:72px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}
.poster-play img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}
.modal-prev,.modal-next{position:absolute;z-index:3;top:50%;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.42);display:none;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-50%);transition:opacity .25s ease,background .25s ease,transform .3s cubic-bezier(.34,1.4,.64,1),box-shadow .25s ease;box-shadow:0 6px 20px rgba(0,0,0,.16);backdrop-filter:blur(8px);opacity:0;pointer-events:none}
.player-shell:hover .modal-prev,.player-shell:hover .modal-next{opacity:1;pointer-events:auto}
.modal-prev{left:20px}
.modal-next{right:20px}
.modal-prev:hover,.modal-next:hover{background:rgba(255,255,255,.72);transform:translateY(-50%) scale(1.08);box-shadow:0 10px 28px rgba(0,0,0,.22)}
.modal-prev img{transform:rotate(180deg)}
.modal-prev img,.modal-next img{width:22px;height:22px;object-fit:contain;opacity:.85}
@media (hover:none){
  .modal-prev,.modal-next{opacity:.75;pointer-events:auto}
}
.video-meta{padding:0;display:flex;flex-direction:column;min-height:0;flex:0 0 auto}
.video-meta h3{margin:0 0 10px;font-size:22px;font-weight:700;color:var(--blue);line-height:1.3;flex:0 0 auto}
.video-description{margin:0;color:#5a6a8e;font-size:15px;line-height:1.8;max-height:none;overflow:visible;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(101,137,239,.4) transparent;-webkit-overflow-scrolling:touch}
.video-description::-webkit-scrollbar{width:4px}
.video-description::-webkit-scrollbar-thumb{background:rgba(101,137,239,.4);border-radius:4px}
.video-description::-webkit-scrollbar-track{background:transparent}
.player-overlay{order:3;position:relative;padding:0;background:transparent}
.player-overlay .video-library{margin-top:0}
.video-library{margin-top:12px}
.video-library-list{display:grid;grid-template-columns:repeat(2,1fr);padding:2px 2px 8px;gap:14px}
.video-library-item{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px;border:2px solid transparent;border-radius:18px;background:#fff;text-align:left;color:#111;transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.video-library-item:hover{background:linear-gradient(135deg,#f8faff,#f0edff);border-color:rgba(72,114,240,.25);transform:translateX(4px);box-shadow:0 10px 32px rgba(67,130,222,.15)}
.video-library-item:focus-visible{outline:2px solid #2d72ca;outline-offset:2px}
.video-library-item.active{background:linear-gradient(135deg,#e7edff,#f0edff);border-color:transparent;border-radius:18px;box-shadow:0 10px 32px rgba(67,130,222,.2)}
.video-library-item.active .video-library-index{background:linear-gradient(135deg,#4872f0,#d434d3)}
.video-library-index{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#7e8cff,#d95bd6);color:#fff;font:700 12px/1 Inter,sans-serif;display:grid;place-items:center;flex-shrink:0}
.video-library-copy{flex:1;min-width:0}
.video-library-copy strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:14px;line-height:18px}
.video-library-summary{display:block;margin-top:3px;color:#888;font-size:12px;line-height:16px}
    .points-modal{display:none;position:fixed;inset:0;z-index:1101;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.5)}.points-modal.open{display:flex}.points-box{position:relative;width:min(852px,calc(100vw - 48px));height:min(504px,calc(100vh - 48px));padding:20px 16px 22px;border-radius:24px;background:#fff;box-shadow:0 24px 80px rgba(8,24,57,.3)}.points-close{position:absolute;z-index:4;right:-25px;top:-20px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent}.points-head{height:48px;display:flex;align-items:center;justify-content:space-between}.points-head h3{margin:0;font-size:20px;line-height:24px}.points-total{flex:0 0 auto;min-width:107px;padding:10px 16px;border-radius:22px;color:#2d72ca;background:#f4f7ff;font-size:14px;text-align:center}.points-grid{height:calc(100% - 58px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:114px;gap:16px;overflow-y:auto;margin-top:10px;padding:0 0 8px;scrollbar-width:none}.points-grid::-webkit-scrollbar{display:none}.visit-card{position:relative;width:100%;height:114px;padding:14px 46px 12px 34px;border:0;border-radius:10px;overflow:hidden;text-align:left;color:#111;background:linear-gradient(90deg,#f0edff 6.48%,#e5f3ff 97.5%)}.visit-card:hover{box-shadow:0 7px 18px rgba(89,112,170,.13)}.visit-card:focus-visible{outline:2px solid #2d72ca;outline-offset:2px}.visit-number{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:0 0 12px 0;display:grid;place-items:center;color:#fff;font:700 14px/1 Inter,sans-serif;background:linear-gradient(135deg,#7e8cff,#d95bd6)}.visit-arrow{position:absolute;right:14px;top:50%;width:24px;height:24px;transform:translateY(-50%)}.visit-arrow img{display:block;width:24px;height:24px;object-fit:contain}.visit-card strong{display:block;font-size:14px;line-height:18px}.visit-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:8px 0 7px;color:#666;font-size:12px;line-height:15px}.visit-meta{display:flex;align-items:center;gap:6px;color:#777;font-size:12px;line-height:13px}.visit-meta img{width:13px;height:13px;object-fit:contain}
    .assistant-launch{position:fixed;z-index:9999;right:36px;bottom:50px;width:132px;height:74px;padding:0;border:0;background:transparent;filter:drop-shadow(0 8px 15px rgba(38,72,153,.16));transition:transform .2s}.assistant-launch:hover{transform:translateY(-3px)}.assistant-launch:focus-visible{outline:2px solid #7d66f2;outline-offset:4px;border-radius:24px}.assistant-launch img{display:block;width:100%;height:100%;object-fit:contain}.assistant-panel{position:fixed;z-index:9998;right:38px;bottom:132px;width:375px;height:499px;padding:17px 16px 25px;background:url('assets/智能助手-窗口底图.png') center/100% 100% no-repeat;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s}.assistant-panel.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}.assistant-close{position:absolute;right:-24px;top:-23px;width:32px;height:32px;padding:0;border:0;background:transparent}.assistant-close img{display:block;width:100%;height:100%}.assistant-close:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:50%}.assistant-heading{height:48px;display:flex;align-items:center;margin:0;font-size:20px;line-height:24px}.assistant-heading .ai{margin-right:2px;background:linear-gradient(120deg,#175ce7,#9049ff);background-clip:text;-webkit-background-clip:text;color:transparent}.assistant-description{height:34px;margin:0;color:#666;font-size:14px;line-height:17px}.assistant-quick{height:33px;display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.assistant-quick::-webkit-scrollbar{display:none}.assistant-chip{flex:0 0 auto;height:33px;padding:0 14px;border:0;border-radius:17px;background:#fff;color:#666;font-size:12px;white-space:nowrap}.assistant-chip.active,.assistant-chip:hover{color:#ff4692;font-weight:600}.assistant-chip:focus-visible{outline:2px solid #ff4692;outline-offset:2px}.assistant-feed{height:252px;display:flex;flex-direction:column;gap:12px;margin-top:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(101,137,239,.35) transparent}.assistant-message{max-width:298px;padding:14px 16px;border-radius:20px;color:#333;font-size:14px;line-height:18px;overflow-wrap:anywhere}.assistant-message strong{display:block;margin-bottom:8px}.assistant-message.ai-message{align-self:flex-start;background:#fff}.assistant-message.user-message{align-self:flex-end;max-width:260px;border-radius:22px 22px 0 22px;background:#6589ef;color:#fff;font-weight:600}.assistant-typing{display:flex;align-items:center;gap:5px;width:58px}.assistant-typing span{width:6px;height:6px;border-radius:50%;background:#8aa1de;animation:assistant-dot 1s infinite ease-in-out}.assistant-typing span:nth-child(2){animation-delay:.15s}.assistant-typing span:nth-child(3){animation-delay:.3s}@keyframes assistant-dot{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.assistant-composer{height:48px;display:flex;align-items:center;gap:8px;margin-top:16px;padding:4px 4px 4px 15px;border-radius:24px;background:#fff}.assistant-input{flex:1;min-width:0;height:40px;padding:0;border:0;outline:0;background:transparent;color:#333;font-size:14px}.assistant-input::placeholder{color:#999}.assistant-send{flex:0 0 40px;width:40px;height:40px;padding:0;border:0;background:transparent}.assistant-send img{display:block;width:40px;height:40px;object-fit:contain}.assistant-send:focus-visible{outline:2px solid #6589ef;outline-offset:2px;border-radius:50%}
    @media(min-width:1101px) and (max-width:1450px){.logos{gap:12px}.logo-sz{width:104px!important;height:48px!important}.logo-apec{height:58px!important}.nav{gap:18px}.nav a{font-size:13px}.header .lang{width:104px}}
    @media(min-width:769px) and (max-width:1100px){.header{height:72px;top:24px;border-radius:36px;padding:0 12px}.logos{gap:10px}.logos img{width:70px;height:34px}.logo-sz{width:82px!important;height:40px!important}.logo-apec{height:52px!important;width:auto!important}.nav{gap:12px}.nav a{font-size:11px}.header .lang{width:88px;height:40px}.lang button{width:34px;height:34px;font-size:13px}}
    @media(max-width:768px){.page{width:100%;padding:18px 16px 36px}.header{height:46px;border-radius:30px;padding:0 8px;position:relative;top:auto;left:auto;right:auto;background:rgba(255,255,255,.9);border-color:rgba(201,217,245,.6);box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.logos{gap:12px}.logos img{width:60px;height:25px}.logo-sz{width:70px!important;height:28px!important}.logo-apec{height:36px!important;width:auto!important}.nav{display:none}.header .lang{margin-left:auto;width:66px;height:27px;font-size:11px;background:rgba(255,255,255,.72);border-color:rgba(201,217,245,.6)}.lang button{color:#5c70a6}.lang b{width:23px;height:23px}.menu{display:block;margin-left:8px;color:#6e83ba}.hero:after{background:linear-gradient(90deg,rgba(25,120,189,.88),transparent 58%),linear-gradient(0deg,rgba(25,120,189,.65),transparent 27%)}.hero-copy{left:6%;top:26%;width:72%}.route-btn{width:140px;height:44px;margin:58px 0 0 42px;font-size:12px}.stats{height:151px;margin-top:40px;border-radius:20px;grid-template-columns:repeat(3,1fr);padding:8px 0 23px}.stat{font-size:9px}.stat b{font-size:18px}.stat b small{font-size:10px}.stat:not(:last-child):after{top:18px;height:26px}.stat:nth-child(4),.stat:nth-child(5){transform:translateX(50%)}.section-head{display:block;margin:64px 0 12px}.eyebrow{font-size:9px;letter-spacing:1.2px}h2{font-size:30px;margin-top:5px}.title-line{width:196px;height:10px;margin-top:-8px}.section-head p{font-size:11px;line-height:16px;margin-top:36px}.map-search-wrap{justify-self:start;width:100%;margin-top:16px}.map-search-input{height:40px;font-size:13px;padding:0 44px 0 42px}.map-search-icon{width:16px;height:16px;left:14px}.map-search-clear{right:38px;width:18px;height:18px;font-size:10px}.themes{height:235px;aspect-ratio:auto;display:block}.theme{display:none;height:235px}.theme:first-child{display:block}.theme-copy{left:19px;bottom:18px}.theme-copy b{font-size:36px}.theme-copy span{font-size:14px}.theme-copy small{font-size:12px}.theme-play{width:38px;height:38px}.theme-hover{display:none}.map-head{margin-top:64px}.map-head h2{font-size:23px}.map-count{font-size:10px;padding:7px 12px}.map-wrap{padding:20px 16px;border-radius:20px;margin-top:10px}.map-tools{padding:0}.map-tools button{font-size:12px;padding:7px 14px;box-shadow:none}.map-tools button:hover{transform:none;box-shadow:none}.map-tools button.active{transform:translateY(-2px);box-shadow:0 6px 16px rgba(31,41,55,.16)}.map-point{width:32px;height:45px}.map-point-number{font-size:10px}.location-label{min-width:132px;max-width:190px;min-height:72px;padding:14px 18px 23px;bottom:76%}.location-label strong{font-size:13px}.location-detail{margin-top:5px;font-size:10px}.location-detail img{width:13px;height:13px}.section-head.section-more-head,.section-more-head{display:flex;align-items:flex-end;gap:12px}.section-more-head > div:first-child{flex:1;min-width:0}.section-more-head .title-line{max-width:100%}.section-more-head p{flex:0 0 auto;align-self:flex-end}.section-more-head .more{white-space:nowrap;font-size:10px;padding:8px 20px}.highlights{height:600px;padding:0;display:block;border:0;box-shadow:none}.video-card{display:none;height:600px}.video-card:first-child{display:block}.video-copy b{font-size:28px}.contact{height:auto;min-height:280px;margin-top:64px;border-radius:20px;padding:22px 5% 32px}.contact-title{margin-top:8px}.contact-logo{width:min(260px,82%)}.email{margin:21px auto 8px;max-width:300px;padding:12px;font-size:12px}.email a{font-size:13px}.legal{font-size:8px;line-height:3.2}.legal small{font-size:5px}.drawer-backdrop.open{display:block}}
    /* Mobile layout is proportioned from the 390px Figma frame to a 375px base. */
    .section-head{margin-top:64px;grid-template-columns:1fr}.map-search-wrap{justify-self:end;width:360px;position:relative}
    @media(max-width:768px){
      .page{padding:17px 15px 35px}
      .lang button{width:23px;height:23px;font-size:11px}
      .stats{height:145px;margin-top:40px}
      .section-head{margin-top:64px}
      .themes,.theme{height:226px;aspect-ratio:auto}
      .section-head.map-head{display:flex;align-items:flex-end;gap:12px;margin-top:64px}
      .map-head > div:first-child{flex:0 1 auto;min-width:0;max-width:45%}
      .map-head .title-line{width:100%}
      .section-head.map-head .map-search-wrap{flex:0 0 45%;align-self:flex-end;width:45%;max-width:360px;min-width:0;margin:0 0 0 auto}
      .map-head .map-search-input{padding:0 32px;font-size:12px}
      .map-head .map-search-icon{left:12px}
      .map-head .map-search-clear{right:10px}
      .highlights{height:577px}
      .video-card{height:577px}
      .contact{height:auto;min-height:269px;margin-top:64px;padding:28px 5% 36px}.contact-logo{width:min(280px,82%)}
      .drawer{width:69%;}
    }
    @media(max-width:768px){.hero-slide>img{object-position:center}.hero-copy{width:72%}.route-btn{margin:24.4% 0 0 17.6%;width:58.8%;height:auto;font-size:12px}}
    @media(max-width:768px){.modal{padding:10px;align-items:center}.video-box{width:100%;height:auto;max-height:calc(100vh - 20px);padding:0;border-radius:20px;overflow-y:auto;overscroll-behavior:contain}.close{position:absolute;right:12px;top:12px;width:30px;height:30px;margin:0;background:transparent}.modal-tabs{clear:both;height:36px;padding:3px;gap:0;border-radius:20px;background:rgba(86,118,230,.09);overflow:hidden;overflow-x:auto;scrollbar-width:none;padding-right:34px}.modal-tab{font-size:13px;font-weight:500;padding:0 18px;height:30px;border-radius:16px;transition:color .28s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)}.modal-tab.active{font-size:13px;padding-top:0;background:#fff;color:#1a2d7a;font-weight:600;box-shadow:0 1px 6px rgba(30,50,130,.12)}.modal-layout{display:block;margin-top:10px}.main-video{display:block}.player-shell{position:relative;inset:auto;height:auto;aspect-ratio:430/242;border-radius:10px}.player-overlay{position:static!important;background:transparent!important;opacity:1!important;pointer-events:auto!important;padding:8px 0 0;gap:4px}.video-meta{position:static!important;background:none!important;padding:8px 0 0;border-radius:0}.video-meta h3{color:#333!important;font-size:17px!important;margin:4px 0 3px!important;line-height:22px!important}.video-description{color:#666!important;min-height:0!important;max-height:none!important;overflow:visible!important;font-size:12px!important;line-height:18px!important}.theme-chip{background:#e7eeff!important;color:#2d72ca!important}.player-overlay .video-library{max-height:none;margin-top:0}.video-library-list{grid-template-columns:1fr;gap:10px}.video-library-item{min-height:72px;padding:12px 14px}.video-library-copy strong{font-size:13px;line-height:18px}.video-library-summary{font-size:11px;line-height:15px}}
    @media(max-width:768px){.points-modal{padding:10px}.points-box{width:100%;height:min(900px,calc(100vh - 20px));padding:14px 12px 16px;border-radius:20px}.points-close{position:absolute;right:10px;top:10px;width:30px;height:30px;background:transparent}.points-head{height:46px;padding-right:36px}.points-head h3{font-size:18px}.points-total{padding:8px 12px;font-size:11px}.points-grid{height:calc(100% - 58px);grid-template-columns:1fr;grid-auto-rows:108px;gap:10px;padding:2px 2px 8px}.visit-card{height:108px;padding:13px 42px 13px 30px}.visit-card strong{font-size:13px}.visit-card p{margin:7px 0 6px;font-size:11px;line-height:14px}.visit-meta{font-size:11px}.visit-arrow{right:10px;top:50%}}
    @media(max-width:768px){body.assistant-active{overflow:hidden;overscroll-behavior:none}.assistant-launch{right:12px;bottom:16px;width:118px;height:66px}.assistant-launch.keyboard-hidden{opacity:0;visibility:hidden;pointer-events:none}.assistant-panel{right:12px;bottom:91px;width:min(375px,calc(100% - 24px));height:min(499px,calc(100dvh - 112px));padding:17px 16px 22px;display:flex;flex-direction:column}.assistant-panel.keyboard-open{top:calc(var(--assistant-vv-top,0px) + 8px);bottom:auto;height:max(280px,calc(var(--assistant-vv-height,100dvh) - 16px));transition:none}.assistant-close{right:7px;top:7px}.assistant-heading{padding-right:36px}.assistant-feed{height:auto;flex:1;min-height:80px}.assistant-description,.assistant-quick,.assistant-heading,.assistant-composer{flex:0 0 auto}.assistant-message{font-size:13px}.assistant-composer{margin-top:12px}.assistant-panel.keyboard-open .assistant-heading{height:40px}.assistant-panel.keyboard-open .assistant-description{height:30px;font-size:12px;line-height:15px}.assistant-panel.keyboard-open .assistant-quick{margin-top:7px}.assistant-panel.keyboard-open .assistant-feed{margin-top:10px}.assistant-panel.keyboard-open .assistant-composer{margin-top:8px}}
    @media(max-width:768px){.themes{position:relative;display:block;overflow:hidden;touch-action:pan-y}.theme{display:block!important;position:absolute;inset:0;height:100%!important;opacity:0;transform:translateX(9%);pointer-events:none;transition:opacity .28s ease,transform .32s ease;overflow:hidden;border-radius:24px;border:2px solid transparent;box-sizing:border-box}.theme.carousel-active{opacity:1;transform:translateX(0);pointer-events:auto}.theme.selected{box-shadow:none;filter:none}.theme-copy b{font-size:40px!important}.theme-carousel-controls{display:flex;position:absolute;z-index:7;left:12px;right:12px;bottom:10px;align-items:center;justify-content:space-between;pointer-events:none}.theme-carousel-controls button{pointer-events:auto;width:30px;height:30px;padding:6px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(255,255,255,.18)}.theme-carousel-controls img{width:100%;height:100%;object-fit:contain}.theme-prev img{transform:rotate(180deg)}.theme-dots{display:flex;gap:5px}.theme-dots button{width:5px;height:5px;padding:0;border:0;background:rgba(255,255,255,.5)}.theme-dots button.active{width:14px;border-radius:5px;background:#fff}#map{padding-top:28px}.map-toolbar-row{gap:8px}.filter-wrap{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}.tag{min-width:0;min-height:48px;padding:7px 12px;border-width:1.5px;border-radius:28px;justify-content:flex-start;gap:7px;box-shadow:none}.tag:hover{transform:none}.tag.active{transform:translateY(-2px);box-shadow:0 6px 16px rgba(31,41,55,.16)}.tag-text{min-width:0;align-items:flex-start}.tag-cn{font-size:12px;line-height:1.2;white-space:nowrap}.tag-en{max-width:100%;overflow:hidden;font-size:8px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}#amapContainer{height:auto;min-height:0;aspect-ratio:16/9}.map-selection{right:24px;bottom:24px;max-width:230px;padding:10px 12px;font-size:12px}}
    @media(max-width:768px){.theme .theme-arrow{display:none}.theme-carousel-controls{left:0;right:0;top:0;bottom:0}.theme-carousel-controls>.theme-prev,.theme-carousel-controls>.theme-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(30,54,126,.3);backdrop-filter:blur(4px)}.theme-carousel-controls>.theme-prev:focus-visible,.theme-carousel-controls>.theme-next:focus-visible{outline:2px solid #fff;outline-offset:2px}.theme-carousel-controls>.theme-prev{left:12px;right:auto}.theme-carousel-controls>.theme-next{right:12px}.theme-carousel-controls>.theme-prev img,.theme-carousel-controls>.theme-next img{filter:brightness(0) invert(1)}.theme-dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%)}}
    /* removed redundant override */
    @media(max-width:768px){.highlights{height:577px;padding:0 0 8px;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;touch-action:pan-y;scrollbar-width:none;background:transparent}.highlights::-webkit-scrollbar{display:none}.video-card,.video-card:first-child{display:block!important;position:relative;inset:auto;flex:0 0 88%;height:100%!important;opacity:1;transform:none;pointer-events:auto;scroll-snap-align:center}.video-card.video-active{transform:none}.video-carousel-controls{inset:0 0 8px}.video-prev,.video-next{width:36px;height:36px;padding:9px;background:rgba(30,54,126,.55);border-color:rgba(255,255,255,.7);box-shadow:0 6px 18px rgba(12,30,80,.2)}.video-prev{left:8px}.video-next{right:8px}.video-prev img,.video-next img{filter:brightness(0) invert(1)}}
    @media(max-width:768px){
      .page{padding-top:0}
      .header{position:fixed;z-index:50;top:17px;left:50%;right:auto;width:calc(100vw - 34px);height:60px;padding:0 8px;transform:translateX(-50%);border-radius:30px;background:linear-gradient(110deg,rgba(255,255,255,.3),rgba(218,237,255,.2));border:1px solid rgba(224,241,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 8px 24px rgba(10,54,115,.12);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}
      .header.header-hidden{transform:translate(-50%,-120%);opacity:0;pointer-events:none}
      .logos{min-width:0;gap:6px}.logos img{width:64px;height:30px}.logo-sz{width:64px!important;height:30px!important}.logo-apec{height:32px!important;width:auto!important}
      .header .lang{width:72px;height:32px;margin-left:auto;background:rgba(255,255,255,.18);border-color:rgba(232,246,255,.45)}
      .lang button{width:30px;height:30px;color:#fff;font-size:13px}
      .menu{margin-left:8px;color:#fff;font-size:28px;line-height:1}
      .hero-copy{left:13%;top:41%;width:74%}
      .route-btn{margin:49% 0 0 12%;width:76%;font-size:14px}
      .stat{font-size:10px}.stat b{font-size:20px}.stat b small{font-size:11px}
      section,footer{scroll-margin-top:90px}
    }
    html[lang="en"] .section-head h2{font-size:54px}
    html[lang="en"] .theme-copy b{font-size:36px}
    html[lang="en"] .stat span{font-size:16px;line-height:1.25;padding:0 10px}
    @media(max-width:768px){html[lang="en"] .section-head h2{font-size:25px}html[lang="en"] .section-head p{font-size:10px;line-height:15px}html[lang="en"] .theme-copy b{font-size:30px}html[lang="en"] .stat span{font-size:8px;padding:0 3px}}
    @media(max-width:768px){.map-point:not(.active) .map-pin-button{transform:scale(.9)}.location-label{bottom:calc(100% + 2px)}}
    .visit-arrow{right:0}
    .theme:hover>img,.theme:focus-within>img,.theme:hover>picture img,.theme:focus-within>picture img{transform:none}
    .point-detail-modal{display:none;position:fixed;inset:0;z-index:1102;background:linear-gradient(135deg,rgba(26,58,110,.75) 0%,rgba(68,40,130,.7) 50%,rgba(120,50,140,.65) 100%);align-items:center;justify-content:center;padding:max(12px,2vh) max(12px,2vw);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);box-sizing:border-box}
    .point-detail-modal.open{display:flex;animation:modalFadeIn .4s cubic-bezier(.34,1.56,.64,1)}
    .point-detail-box{position:relative;width:min(850px,calc(100vw - 48px),calc((100dvh - 48px) * 1.05));height:auto;max-height:min(720px,calc(100dvh - 48px));background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 32px 96px rgba(8,24,57,.35),0 0 0 1px rgba(255,255,255,.3);animation:modalSlideUp .5s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;min-height:0}
    .point-detail-close{position:absolute;z-index:10;right:20px;top:20px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,243,255,.9));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 8px 24px rgba(26,58,110,.2);backdrop-filter:blur(8px)}
    .point-detail-close:hover{background:#fff;transform:rotate(90deg) scale(1.1);box-shadow:0 12px 32px rgba(26,58,110,.25)}
    .point-detail-close img{width:18px;height:18px;object-fit:contain}
    .point-detail-media{position:relative;width:min(100%,calc(min(52dvh,calc(100dvh - 240px)) * 16 / 9));max-width:100%;aspect-ratio:16/9;flex:0 0 auto;align-self:center;background:#1a2d5a;overflow:hidden;min-height:0}
    .point-detail-carousel{width:100%;height:100%;overflow:hidden}
    .point-detail-track{display:flex;height:100%;transition:transform .4s ease}
    .point-detail-track>*{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
    .point-detail-track video{width:100%;height:100%;object-fit:contain;background:#000}
    .player-shell.is-portrait-video,.point-detail-media.is-portrait-video{width:auto;height:min(54dvh,460px);max-width:100%;aspect-ratio:9/16;align-self:center}
    .point-detail-prev,.point-detail-next{position:absolute;z-index:5;top:50%;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(240,243,255,.9));display:none;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-50%);transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 8px 28px rgba(0,0,0,.2);backdrop-filter:blur(8px)}
    .point-detail-prev:hover,.point-detail-next:hover{background:#fff;transform:translateY(-50%) scale(1.12);box-shadow:0 12px 36px rgba(0,0,0,.28)}
    .point-detail-prev{left:20px}
    .point-detail-next{right:20px}
    .point-detail-prev img,.point-detail-next img{width:22px;height:22px;object-fit:contain}
    .point-detail-prev img{transform:rotate(180deg)}
    .point-detail-dots{position:absolute;z-index:5;left:50%;bottom:12px;transform:translateX(-50%);display:none;gap:6px}
    .point-detail-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:background .2s,width .2s}
    .point-detail-dots button.active{width:20px;border-radius:4px;background:#fff}
    .point-detail-info{padding:clamp(16px,2.8vh,32px) clamp(20px,3.5vw,40px);background:linear-gradient(180deg,#f8faff 0%,#f0edff 100%);display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:hidden}
    .point-detail-name-row{flex-shrink:0;display:flex;align-items:center;gap:16px;margin-bottom:clamp(8px,1.2vh,12px)}
    .point-detail-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#4872f0,#d434d3);box-shadow:0 4px 12px rgba(72,114,240,.35)}
    .point-detail-name{margin:0;font-size:clamp(20px,2.6vw,32px);font-weight:800;color:var(--blue);line-height:1.3;letter-spacing:-.5px}
    .point-detail-station{flex-shrink:0;margin:0 0 clamp(8px,1.4vh,14px);font-size:clamp(13px,1.5vw,16px);color:#6b7fa8;display:flex;align-items:center;gap:6px;font-weight:500}
    .point-detail-station::before{content:"📍";font-size:1em}
    .point-detail-desc{flex:0 1 auto;height:auto;min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(72,114,240,.35) transparent;font-size:clamp(14px,1.55vw,17px);color:#5a6a8e;line-height:1.75}
    .point-detail-desc::-webkit-scrollbar{width:6px}.point-detail-desc::-webkit-scrollbar-track{background:transparent}.point-detail-desc::-webkit-scrollbar-thumb{border-radius:6px;background:rgba(72,114,240,.35)}
    .point-detail-modal.has-multiple .point-detail-prev,.point-detail-modal.has-multiple .point-detail-next{display:flex}
    .point-detail-modal.has-multiple .point-detail-dots{display:flex}
    @media(max-width:768px){
      .point-detail-modal{padding:10px}
      .point-detail-box{width:100%;height:auto;max-height:min(620px,calc(100dvh - 20px));border-radius:24px}
      .point-detail-close{right:14px;top:14px;width:38px;height:38px}
      .point-detail-close img{width:16px;height:16px}
      .point-detail-media{width:min(100%,calc(min(42dvh,calc(100dvh - 220px)) * 16 / 9))}
      .point-detail-info{padding:18px 20px}
      .point-detail-name{font-size:clamp(18px,5.5vw,24px)}
      .point-detail-station{font-size:13px}
      .point-detail-desc{font-size:14px;line-height:1.65}
      .point-detail-prev,.point-detail-next{width:40px;height:40px}
      .point-detail-prev img,.point-detail-next img{width:16px;height:16px}
    }
    .map-wrap{--theme-pointer-x:16.67%;position:relative}
    .map-theme-pointer{position:absolute;z-index:3;top:-23px;left:var(--theme-pointer-x);width:84px;height:24px;object-fit:contain;transform:translateX(-50%);transition:left .28s ease}
    .map-theme-entries{display:flex;align-items:center;gap:40px;min-height:54px;padding:0 12px 6px}
    .map-theme-entry{position:relative;border:0;background:transparent;padding:8px 0 13px;color:#333;font-size:22px}
    .map-theme-entry.active{font-weight:700}
    .map-theme-entry.active:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:3px;border-radius:3px;background:#ff4692}
    .map-theme-entry:focus-visible{outline:2px solid #2d72ca;outline-offset:3px}
    .theme>img,.theme>picture img,.video-card>img:first-child{transform:scale(1);transition:transform .45s cubic-bezier(.22,.61,.36,1);transform-origin:center}
    @media(hover:hover) and (pointer:fine){.theme:hover>img,.theme:hover>picture img,.theme:focus-within>img,.theme:focus-within>picture img,.video-card:hover>img:first-child,.video-card:focus-within>img:first-child{transform:scale(1.045)}}
    .section-more-head p{display:flex;align-items:center;justify-content:flex-end;margin:0;margin-top:32px;margin-left:auto}.section-more-head .more{float:none;margin:0}
    .modal.highlight-mode .modal-header,.modal.highlight-mode .modal-right{display:none!important}.modal.highlight-mode .video-box{width:min(560px,calc(100vw - 48px));height:auto;min-height:0;padding:0;border-radius:24px}.modal.highlight-mode .modal-layout{display:block!important;height:auto!important;overflow:visible!important;margin-top:0}.modal.highlight-mode .modal-left{display:block!important}.modal.highlight-mode .player-shell{position:relative!important;inset:auto!important;height:auto!important;border-radius:10px!important;aspect-ratio:16/9}.modal.highlight-mode .modal-prev,.modal.highlight-mode .modal-next,.modal.highlight-mode .modal-dots{display:none!important}.modal.highlight-mode .video-meta{position:static!important;background:none!important;padding:2px 2px 0}.modal.highlight-mode .video-meta h3{color:#333!important}.modal.highlight-mode .video-description{color:#666!important;min-height:0!important;max-height:5.4em!important;overflow-y:auto!important}
    .modal-right{padding:28px 24px;background:linear-gradient(180deg,#f8faff 0%,#f0edff 100%);display:flex;flex-direction:column;border-left:1px solid rgba(224,234,255,.4);min-height:0;overflow:visible}
.modal-points-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(224,234,255,.6)}
.modal-points-title{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;color:var(--blue)}
.modal-points-title:before{content:"";display:inline-block;width:4px;height:24px;border-radius:2px;background:linear-gradient(180deg,#4872f0,#d434d3)}
.modal-points-count{font-size:13px;color:#888;padding:6px 12px;border-radius:20px;background:rgba(72,114,240,.1);font-weight:500}
.modal-points-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(72,114,240,.3) transparent}
.modal-point-card{display:flex;gap:12px;padding:14px;border-radius:16px;border:2px solid transparent;text-align:left;cursor:pointer;background:#fff;width:100%;transition:all .3s cubic-bezier(.34,1.4,.64,1);box-shadow:0 2px 8px rgba(0,0,0,.04);position:relative;box-sizing:border-box}
.modal-point-card:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;border-radius:2px;background:linear-gradient(180deg,#4872f0,#d434d3);transition:height .3s ease}
.modal-point-card:hover{background:linear-gradient(135deg,#f8faff,#f0edff);border-color:rgba(72,114,240,.25);transform:translateX(4px);box-shadow:0 10px 32px rgba(67,130,222,.15)}
.modal-point-card:hover:before{height:60%}
.modal-point-card.active{background:linear-gradient(135deg,#e7edff,#f0edff);border-color:transparent;box-shadow:0 10px 32px rgba(67,130,222,.2)}
.modal-point-card.active:before{height:70%}
.modal-point-thumb{width:72px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.modal-point-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.modal-point-title{font-size:14px;font-weight:700;color:#333;white-space:normal;word-break:break-word;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.modal-point-desc{font-size:12px;color:#777;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.modal-point-card.intro{background:linear-gradient(135deg,#f0edff 0%,#e5f3ff 100%);border:2px solid #dce5fb;margin-bottom:4px}
.modal-point-card.intro .modal-point-title{color:var(--blue);font-weight:700}
.modal-point-card.intro .modal-point-desc{color:#555}
.modal-point-card.extra .modal-point-thumb{border:1px solid #edf1fa}
    .hero-copy{top:40%;width:31%;transform:translateY(-50%)}
    @media(max-width:768px){.hero-copy{left:17%;top:50%;width:66%}}
    @media(max-width:768px){#map{padding-top:40px}.map-wrap{--theme-pointer-x:50%!important;margin-top:0}.map-theme-pointer{top:-17px;width:60px;height:auto}.map-theme-entries{gap:28px;min-height:46px;padding:0 4px 4px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.map-theme-entries::-webkit-scrollbar{display:none}.map-theme-entry{flex:0 0 auto;padding:7px 0 11px;font-size:17px}.map-theme-entry.active:after{bottom:4px}.section-more-head p{margin-top:0}.section-more-head .more{margin:0;font-size:10px;padding:8px 20px}
      .modal-tabs{height:auto;flex-wrap:wrap;gap:6px;padding:4px}
      .modal-tab{font-size:13px;padding:6px 14px;height:auto;border-radius:16px}
      .modal-layout{display:flex!important;flex-direction:column!important;gap:12px;height:auto!important;overflow-y:auto}
      .modal-left{flex:none;overflow:visible}
      .modal-right{flex:none;border-left:none;border-top:1px solid #e8edf5;padding:12px 16px 16px;max-height:40vh}
      .modal-points-list{gap:8px}
      .modal-point-card{padding:8px;border-radius:8px}
      .modal-point-thumb{width:56px;height:38px}
      .modal-point-title{font-size:13px}
      .modal-point-desc{font-size:11px;line-height:14px}
      .modal-prev,.modal-next{width:36px;height:36px}
      .modal-prev img,.modal-next img{width:18px;height:18px}
      .modal.highlight-mode .video-box{width:100%;height:auto;max-height:calc(100vh - 20px);padding:0;border-radius:20px}.modal.highlight-mode .close{position:absolute}
    }
    @media(prefers-reduced-motion:reduce){.theme>img,.theme>picture img,.video-card>img:first-child{transition:none}}

    /* AI assistant: embedded adaptation of ai-new.html */
    .assistant-panel{
      right:38px;
      bottom:132px;
      width:min(460px,calc(100vw - 48px));
      height:min(720px,calc(100dvh - 164px));
      padding:0;
      border:1px solid rgba(255,255,255,.72);
      border-radius:26px;
      background:rgba(245,249,255,.94);
      box-shadow:0 28px 80px rgba(30,58,138,.24);
      backdrop-filter:blur(22px);
      -webkit-backdrop-filter:blur(22px);
      overflow:visible;
    }
    .assistant-panel.open{display:block}
    .assistant-shell{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:inherit}
    .assistant-close{
      z-index:2;
      right:-14px;
      top:-14px;
      width:32px;
      height:32px;
      border-radius:50%;
      filter:drop-shadow(0 4px 10px rgba(30,58,138,.2));
    }
    .assistant-header{flex:0 0 auto;padding:24px 20px 10px}
    .assistant-heading{
      height:auto;
      margin:0;
      gap:6px;
      color:#111827;
      font-size:24px;
      font-weight:700;
      line-height:1.25;
      letter-spacing:-.3px;
    }
    .assistant-heading .ai{
      margin:0;
      background:linear-gradient(135deg,#3b82f6,#1d4ed8);
      background-clip:text;
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
    }
    .assistant-description{
      height:auto;
      margin:4px 0 0;
      color:#6b7280;
      font-size:13px;
      line-height:1.5;
    }
    .assistant-quick{
      flex:0 0 auto;
      height:auto;
      gap:10px;
      margin:0;
      padding:4px 20px 16px;
    }
    .assistant-chip{
      height:auto;
      padding:7px 16px;
      border:1px solid #e5e7eb;
      border-radius:24px;
      background:#fff;
      color:#374151;
      box-shadow:0 2px 6px rgba(0,0,0,.04);
      font-size:13px;
      font-weight:500;
      transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
    }
    .assistant-chip:hover{border-color:#d1d5db;color:#374151;font-weight:500;transform:translateY(-1px)}
    .assistant-chip.active{
      border-color:#fecaca;
      background:#fff1f0;
      color:#ef4444;
      font-weight:500;
    }
    .assistant-feed{
      flex:1 1 auto;
      height:auto;
      min-height:0;
      display:flex;
      flex-direction:column;
      gap:16px;
      margin:0;
      padding:12px 18px 16px;
      overflow-y:auto;
      scrollbar-width:thin;
      scrollbar-color:rgba(37,99,235,.2) transparent;
    }
    .assistant-feed::-webkit-scrollbar{width:4px}
    .assistant-feed::-webkit-scrollbar-thumb{border-radius:4px;background:rgba(37,99,235,.2)}
    .assistant-user-message{
      align-self:flex-end;
      max-width:88%;
      padding:11px 18px;
      border-radius:22px;
      background:linear-gradient(135deg,#3b82f6,#2563eb);
      box-shadow:0 4px 14px rgba(37,99,235,.25);
      color:#fff;
      font-size:14px;
      line-height:1.55;
      overflow-wrap:anywhere;
      animation:assistant-fade-in .28s ease-out;
    }
    .assistant-wrap{
      align-self:flex-start;
      width:100%;
      display:flex;
      align-items:flex-start;
      gap:8px;
      animation:assistant-fade-in .28s ease-out;
    }
    .assistant-avatar{
      flex:0 0 32px;
      width:32px;
      height:32px;
      border-radius:50%;
      background:#edf4ff;
      box-shadow:0 2px 6px rgba(37,99,235,.18);
      object-fit:cover;
      object-position:34% center;
    }
    .assistant-content{
      flex:1;
      min-width:0;
      display:flex;
      flex-direction:column;
      align-items:stretch;
      gap:10px;
    }
    .assistant-text{
      align-self:flex-start;
      max-width:100%;
      padding:12px 16px;
      border-radius:18px 18px 18px 4px;
      background:#fff;
      box-shadow:0 2px 8px rgba(0,0,0,.04);
      color:#1f2937;
      font-size:14px;
      line-height:1.65;
      overflow-wrap:anywhere;
    }
    .assistant-summary-typing > :last-child::after{
      content:"";
      display:inline-block;
      width:2px;
      height:1.05em;
      margin-left:3px;
      border-radius:2px;
      background:#2563eb;
      vertical-align:-.14em;
      animation:assistant-caret .75s steps(1,end) infinite;
    }
    .assistant-markdown{width:100%}
    .assistant-markdown > :first-child{margin-top:0}
    .assistant-markdown > :last-child{margin-bottom:0}
    .assistant-markdown p{margin:0 0 10px}
    .assistant-markdown h1,.assistant-markdown h2,.assistant-markdown h3,.assistant-markdown h4{
      margin:14px 0 8px;
      color:#111827;
      font-weight:700;
      line-height:1.4;
    }
    .assistant-markdown h1{font-size:19px}
    .assistant-markdown h2{font-size:17px}
    .assistant-markdown h3,.assistant-markdown h4{font-size:15px}
    .assistant-markdown ul,.assistant-markdown ol{margin:8px 0 10px;padding-left:22px}
    .assistant-markdown li{margin:3px 0}
    .assistant-markdown blockquote{
      margin:10px 0;
      padding:8px 12px;
      border-left:3px solid #60a5fa;
      border-radius:0 8px 8px 0;
      background:#eff6ff;
      color:#4b5563;
    }
    .assistant-markdown blockquote > :last-child{margin-bottom:0}
    .assistant-markdown code{
      padding:2px 5px;
      border-radius:5px;
      background:#eef2f7;
      color:#be185d;
      font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
      overflow-wrap:anywhere;
    }
    .assistant-markdown pre{
      max-width:100%;
      margin:10px 0;
      padding:12px;
      border-radius:10px;
      overflow-x:auto;
      background:#172033;
      color:#e5edf8;
      scrollbar-width:thin;
    }
    .assistant-markdown pre code{padding:0;background:transparent;color:inherit;overflow-wrap:normal;white-space:pre}
    .assistant-markdown a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}
    .assistant-markdown hr{height:1px;margin:12px 0;border:0;background:#dbe5f3}
    .assistant-markdown table{display:block;max-width:100%;margin:10px 0;border-collapse:collapse;overflow-x:auto;font-size:12px}
    .assistant-markdown th,.assistant-markdown td{padding:7px 9px;border:1px solid #dbe5f3;text-align:left;white-space:nowrap}
    .assistant-markdown th{background:#eff6ff;color:#1e3a8a;font-weight:700}
    .assistant-typing{display:flex;align-items:center;gap:5px;min-width:58px}
    .assistant-typing span{width:7px;height:7px;border-radius:50%;background:#a0aec0;animation:assistant-bounce 1.2s infinite}
    .assistant-typing span:nth-child(2){animation-delay:.15s}
    .assistant-typing span:nth-child(3){animation-delay:.3s}
    .assistant-route-card{
      width:100%;
      padding:18px 16px;
      border:1px solid rgba(37,99,235,.06);
      border-radius:20px;
      background:rgba(255,255,255,.92);
      box-shadow:0 4px 16px rgba(30,58,138,.08);
      color:#1f2937;
    }
    .assistant-route-overview{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(37,99,235,.08)}
    .assistant-route-title{margin-bottom:10px;color:#111827;font-size:18px;font-weight:700;line-height:1.35;text-align:center}
    .assistant-route-tags{display:flex;justify-content:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
    .assistant-route-tags span{color:#2563eb;font-size:12px;font-weight:500}
    .assistant-route-tags span:not(:last-child)::after{content:"|";margin-left:8px;color:#d1d5db}
    .assistant-route-meta{display:flex;align-items:center;justify-content:center;gap:6px;color:#6b7280;font-size:13px}
    .assistant-point-icon,.assistant-rec-icon{flex:0 0 auto;width:20px;height:20px;color:#2563eb}
    .assistant-point-card{margin-bottom:12px;padding:14px;border-radius:16px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.03)}
    .assistant-point-card:last-child{margin-bottom:0}
    .assistant-point-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
    .assistant-point-name{flex:1;min-width:0;color:#2563eb;font-size:15px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
    .assistant-point-duration{flex:0 0 auto;padding:3px 10px;border-radius:12px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:500;white-space:nowrap}
    .assistant-point-route{margin-bottom:10px;padding:8px 11px;border-radius:10px;background:#f3f4f6;color:#4b5563;font-size:12px;line-height:1.5}
    .assistant-point-route strong{margin-right:4px;color:#1f2937;font-weight:600}
    .assistant-point-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:8px;color:#6b7280;font-size:12px}
    .assistant-activities-title{margin-bottom:6px;color:#111827;font-size:13px;font-weight:700}
    .assistant-activities{margin:0;padding:0;list-style:none;counter-reset:assistant-activity}
    .assistant-activities li{position:relative;margin-bottom:3px;padding-left:18px;color:#1f2937;font-size:13px;line-height:1.7}
    .assistant-activities li::before{content:counter(assistant-activity)".";counter-increment:assistant-activity;position:absolute;left:0;color:#6b7280;font-weight:500}
    .assistant-recommendation,.assistant-point-reason{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:#eff6ff}
    .assistant-point-reason{margin-top:2px;padding:10px 11px;gap:8px}
    .assistant-recommendation .assistant-rec-icon,.assistant-point-reason .assistant-rec-icon{color:#f59e0b}
    .assistant-rec-title{margin-bottom:3px;color:#111827;font-size:13px;font-weight:700}
    .assistant-rec-text{color:#4b5563;font-size:12.5px;line-height:1.6;overflow-wrap:anywhere}
    .assistant-input-area{flex:0 0 auto;padding:12px 18px 20px;border-top:1px solid rgba(37,99,235,.06);background:rgba(255,255,255,.55)}
    .assistant-status{padding-bottom:8px;color:#9ca3af;font-size:11px;text-align:center}
    .assistant-composer{
      height:auto;
      min-height:46px;
      margin:0;
      padding:5px 5px 5px 18px;
      border-radius:26px;
      box-shadow:0 2px 12px rgba(37,99,235,.08);
    }
    .assistant-input{height:36px;padding:0;color:#1f2937;font-family:inherit;font-size:14px}
    .assistant-input::placeholder{color:#9ca3af}
    .assistant-send{
      flex:0 0 36px;
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:linear-gradient(135deg,#3b82f6,#2563eb);
      color:#fff;
      transition:transform .2s;
    }
    .assistant-send:hover:not(:disabled){transform:scale(1.05)}
    .assistant-send:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}
    .assistant-send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    @keyframes assistant-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    @keyframes assistant-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
    @keyframes assistant-caret{0%,48%{opacity:1}49%,100%{opacity:0}}

    @media(max-width:768px){
      .assistant-panel{
        right:12px;
        bottom:91px;
        width:calc(100% - 24px);
        height:min(680px,calc(100dvh - 112px));
        padding:0;
        display:block;
      }
      .assistant-panel.keyboard-open{
        top:calc(var(--assistant-vv-top,0px) + 8px);
        bottom:auto;
        height:max(280px,calc(var(--assistant-vv-height,100dvh) - 16px));
      }
      .assistant-close{right:7px;top:7px;filter:none}
      .assistant-header{padding:18px 18px 8px}
      .assistant-heading{padding-right:36px;font-size:21px}
      .assistant-quick{gap:8px;padding:4px 18px 12px}
      .assistant-chip{padding:6px 13px;font-size:12px}
      .assistant-feed{padding:10px 14px 12px}
      .assistant-user-message,.assistant-text{font-size:13px}
      .assistant-input-area{padding:9px 14px 14px}
      .assistant-composer{margin:0}
      .assistant-panel.keyboard-open .assistant-heading{height:auto}
      .assistant-panel.keyboard-open .assistant-description{height:auto}
      .assistant-panel.keyboard-open .assistant-quick{margin:0}
      .assistant-panel.keyboard-open .assistant-feed{margin:0}
      .assistant-panel.keyboard-open .assistant-composer{margin:0}
    }
    @media(prefers-reduced-motion:reduce){
      .assistant-panel,.assistant-chip,.assistant-user-message,.assistant-wrap,.assistant-send{transition:none;animation:none}
      .assistant-summary-typing > :last-child::after{animation:none}
    }
    /* HarmonyOS 状态栏适配：识别到鸿蒙 UA 时，JS 会把 statusBarHeight 写入 --status-bar-height，header glass 整体下移对应高度 */
    :root{--status-bar-height:0px}
    .header{top:calc(40px + var(--status-bar-height))}
    @media(min-width:769px) and (max-width:1100px){.header{top:calc(24px + var(--status-bar-height))}}
    @media(max-width:768px){.header{top:calc(17px + var(--status-bar-height))}html.harmonyos .header{height:calc(var(--status-bar-height) + 46px)}}

/* Updated visit assistant cards and request feedback. */
.assistant-point-address{margin-bottom:10px;padding:8px 11px;border-radius:10px;background:#eff6ff;color:#2563eb;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.assistant-point-address strong{margin-inline-end:4px;color:#1f2937;font-weight:600}
.assistant-route-extra{margin-top:10px;padding:10px 12px;background:rgba(37,99,235,.04);border-inline-start:3px solid #3b82f6;border-radius:0 10px 10px 0}
.assistant-route-extra .assistant-rec-text{white-space:pre-wrap;line-height:1.7}
.assistant-ask .assistant-text{background:linear-gradient(135deg,rgba(16,185,129,.06),rgba(37,99,235,.04));border:1px dashed rgba(16,185,129,.35);border-radius:14px;padding:12px 14px}
.assistant-loading{display:flex;align-items:center;gap:10px;color:#64748b}
.assistant-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:assistant-spin .8s linear infinite}
@keyframes assistant-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.assistant-spinner{animation:none}}

.assistant-contact-hint{margin-top:8px;padding:12px;background:#eef4ff;border:1px solid #c7d7f7;border-radius:14px}
.assistant-contact-hint .assistant-rec-text{white-space:pre-wrap}

/* Theme content and carousel length follow getVideoTypeTree. */
.themes.is-empty{display:grid;height:auto;min-height:180px;aspect-ratio:auto}
.theme-status{grid-column:1/-1;align-self:center;text-align:center;padding:32px 16px;color:#7181a6}
.theme-status[hidden],.themes .theme-carousel-controls[hidden],.modal-poster[hidden]{display:none!important}
.theme-retry{margin-inline-start:12px;padding:8px 16px;border:1px solid #dce5fb;border-radius:20px;background:#f4f7ff;color:#2d72ca;cursor:pointer}
.theme-retry[hidden]{display:none}
.routes-head .more:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.theme.no-poster{border-radius:24px;background:linear-gradient(135deg,#1a3a6e,#6380bc)}

/* “More” lists root themes after the six home-page previews. */
.routes-list-modal{display:none;position:fixed;inset:0;z-index:1100;padding:24px;background:rgba(26,40,78,.68);backdrop-filter:blur(12px);align-items:center;justify-content:center}
.routes-list-modal.open{display:flex}
.routes-list-box{display:flex;flex-direction:column;width:min(1000px,100%);max-height:calc(100dvh - 48px);overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 24px 80px rgba(8,24,57,.3)}
.routes-list-header{position:relative;display:flex;align-items:center;gap:16px;flex-shrink:0;padding:24px;padding-inline-end:80px;border-bottom:1px solid #e5eafb;background:linear-gradient(135deg,#f8faff,#f0edff)}
.routes-list-header h2{min-width:0;margin:0;font-size:28px;line-height:1.3;color:var(--blue);overflow-wrap:anywhere}
.routes-list-count{flex-shrink:0;color:#7181a6;font-size:14px}
.routes-list-close{position:absolute;inset-inline-end:20px;top:20px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(26,58,110,.12)}
.routes-list-close img{width:16px;height:16px}
.routes-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px}
.routes-list-card{min-width:0;padding:0;overflow:hidden;text-align:start;border:1px solid #e5eafb;border-radius:18px;background:#f7f9ff;color:#253b70;cursor:pointer}
.routes-list-cover{display:block;aspect-ratio:448/292;background:linear-gradient(135deg,#1a3a6e,#6380bc)}
.routes-list-cover img{display:block;width:100%;height:100%;object-fit:cover}
.routes-list-card strong{display:block;padding:12px 14px;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.routes-list-card:hover{border-color:#a7b9ee;background:#eef3ff}
.routes-list-card:focus-visible,.routes-list-close:focus-visible{outline:2px solid #2d72ca;outline-offset:-3px}
@media(max-width:768px){
  .routes-list-modal{padding:10px}
  .routes-list-box{max-height:calc(100dvh - 20px);border-radius:20px}
  .routes-list-header{padding:20px 16px;padding-inline-end:64px;gap:10px}
  .routes-list-header h2{font-size:22px}
  .routes-list-count{font-size:12px}
  .routes-list-close{inset-inline-end:12px;top:16px;width:32px;height:32px}
  .routes-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
  .routes-list-card{border-radius:14px}
  .routes-list-card strong{padding:10px;font-size:16px}
}

.routes-list-empty{grid-column:1/-1;margin:0;padding:40px 16px;text-align:center;color:#7181a6;font-size:14px}

.routes-head .more[hidden]{display:none}
