/* 远境 2026 — travel editorial, softened into a quiet cinema interface. */
:root{
  --ink-deep:#071116;
  --paper:#eee7da;
  --paper-bright:#f6f0e5;
  --brass:#c4a271;
  --hairline:rgba(247,239,225,.18);
  --glass-soft:rgba(5,15,20,.25);
}

body{font-feature-settings:"kern" 1,"palt" 1;background:var(--ink-deep)}
button{outline-offset:4px}
.map-screen{background:radial-gradient(circle at 68% 45%,#183d44 0,#0a2029 28%,#071219 60%,#03080c 100%)}
.map-screen:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(2,8,11,.68),transparent 47%),radial-gradient(circle at 69% 48%,transparent 0 24%,rgba(2,8,11,.2) 62%,rgba(2,8,11,.48));mix-blend-mode:multiply}
.map-screen:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}
#stars{opacity:.54}#globe{filter:saturate(.72) contrast(1.06);opacity:.94}
.topbar{z-index:12}.map-copy,.place-list,.resume-card,.map-hint{z-index:4}

.brand{gap:15px}.brand-mark{width:43px;height:43px;border:0;border-radius:0;background:rgba(243,235,221,.06)}
.brand-mark:before{display:none}.far-window{position:relative;display:block;width:27px;height:20px;border:1px solid rgba(245,236,221,.82);overflow:hidden}
.far-window:before{content:"";position:absolute;left:-2px;right:-2px;top:9px;height:1px;background:linear-gradient(90deg,transparent 0 9%,#d2b37e 28% 72%,transparent 93%)}
.far-window:after{content:"";position:absolute;width:7px;height:7px;right:4px;top:3px;border-radius:50%;background:#e5c896;box-shadow:0 0 13px rgba(229,200,150,.58)}
.far-window i{position:absolute;left:-3px;bottom:-6px;width:34px;height:13px;border-radius:50% 50% 0 0;background:linear-gradient(180deg,rgba(184,159,114,.68),rgba(58,76,70,.72));transform:rotate(-3deg)}
.brand-copy b{display:block;font:400 17px/1 "Noto Serif SC",serif;letter-spacing:.14em;white-space:nowrap}.brand-copy b i{font-style:normal;color:#cbae7e;margin:0 .2em}.brand-copy small{font:300 6px/1.2 Outfit,sans-serif;letter-spacing:.3em;color:rgba(255,255,255,.42);margin-top:7px}
.glass{background:var(--glass-soft);border-color:rgba(255,255,255,.12);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);box-shadow:0 18px 55px rgba(0,0,0,.13)}
.map-tools>.icon-button{font-size:0}.map-tools>.icon-button:after{content:"••";font:400 10px Outfit;letter-spacing:3px;transform:rotate(90deg);opacity:.72}
.journey-button{background:rgba(6,17,22,.22);border-radius:2px;padding:8px 8px 8px 17px}.journey-button span{font-family:"Noto Serif SC",serif;letter-spacing:.13em}.journey-button b{border-radius:1px;background:rgba(211,178,126,.13)}

.map-copy{top:17.5%;width:min(590px,44vw)}
.edition-note{display:flex;align-items:center;gap:12px;margin-bottom:34px;color:rgba(255,255,255,.38);font:300 7px Outfit,sans-serif;letter-spacing:.27em}.edition-note i{width:54px;height:1px;background:linear-gradient(90deg,#c5a676,transparent)}
.map-copy .eyebrow{margin-bottom:20px;font:300 8px Outfit,sans-serif;letter-spacing:.42em;color:#c9ae81}
.map-copy h1{max-width:570px;font-size:clamp(43px,4.6vw,68px);font-weight:400;line-height:1.3;letter-spacing:.045em;text-shadow:0 14px 50px rgba(0,0,0,.35)}
.map-copy>p:not(.eyebrow){max-width:420px;font-size:11px;line-height:2.1;letter-spacing:.08em;color:rgba(247,241,231,.56)}
.mood-prompt{display:flex;align-items:center;gap:15px;margin-top:34px}.mood-prompt>small{margin:0;white-space:nowrap}.mood-options{gap:2px;border-left:1px solid var(--hairline);padding-left:13px}.mood-options button{padding:6px 10px;border:0;background:transparent;font-family:"Noto Serif SC",serif}.mood-options button.selected{background:transparent;color:#ecd8b6;box-shadow:none}.mood-options button.selected:after{content:"";display:block;width:14px;height:1px;margin:5px auto -6px;background:#c6a371}
.daily-actions{margin-top:24px}.daily-actions button{height:50px;border-radius:2px}.daily-primary{background:var(--paper);color:#1d3035;box-shadow:0 16px 45px rgba(0,0,0,.2)}.daily-primary:hover{background:#faf3e7}.daily-explore{border-color:rgba(255,255,255,.14);background:rgba(5,16,21,.15)}
.place-list{gap:2px}.place-chip{padding:10px;opacity:.42}.place-chip strong{font-size:12px;display:flex;align-items:center;justify-content:flex-end;gap:7px}.place-chip strong em{font:500 6px/1 Outfit,sans-serif;letter-spacing:.15em;color:#1b3036;background:#e8c998;padding:3px 5px;border-radius:2px}.place-chip.new-place{opacity:.82}.place-chip.new-place .dot{box-shadow:0 0 12px color-mix(in srgb,var(--place,#e7d1ac) 72%,transparent)}.place-chip.active{transform:translateX(-9px)}.place-chip .dot{border-radius:0;transform:rotate(45deg);width:6px;height:6px}.place-chip.active .dot{background:var(--place,#e7d1ac)}
.resume-card{border-radius:2px;border-left:1px solid rgba(209,175,122,.5);background:rgba(5,17,22,.2)}

.scene-vignette{background:linear-gradient(180deg,rgba(2,10,13,.34),transparent 19%,transparent 72%,rgba(2,10,13,.32))}
.arrival-overlay{background:radial-gradient(circle at 50% 49%,rgba(3,12,15,.02),rgba(3,12,15,.25) 52%,rgba(2,8,11,.63));overflow:hidden}
.arrival-overlay:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.arrival-overlay>*{position:relative;z-index:1}.arrival-brand{position:absolute;left:50%;top:clamp(24px,5vh,54px);transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.58)}.arrival-brand .far-window{width:21px;height:15px}.arrival-brand .far-window:before{top:7px}.arrival-brand .far-window:after{width:5px;height:5px;top:2px}.arrival-brand b{font:300 7px Outfit,sans-serif;letter-spacing:.29em;white-space:nowrap}
.arrival-rule{height:34px;margin-bottom:20px}.arrival-overlay p{font-family:Outfit,sans-serif;letter-spacing:.4em}.arrival-overlay h1{font-size:clamp(45px,5.4vw,70px);font-weight:400;letter-spacing:.13em}.arrival-overlay>span{font-size:10px;letter-spacing:.4em}.arrival-overlay blockquote{margin:30px 20px 16px;max-width:520px;font-size:11px;letter-spacing:.09em;color:rgba(255,255,255,.64)}
.arrival-facts{display:flex;align-items:center;gap:11px;margin-bottom:27px;color:rgba(255,255,255,.4);font:300 7px Outfit,sans-serif;letter-spacing:.18em}.arrival-facts i{width:2px;height:2px;border-radius:50%;background:var(--scene-accent,#d1b383)}
.arrival-overlay button{width:202px;height:54px;border-radius:2px;background:rgba(6,18,22,.28);border-color:rgba(255,255,255,.2);animation-delay:1s}.arrival-overlay button:not(:disabled):hover{width:212px;background:rgba(242,233,218,.94)}.arrival-overlay button:disabled{cursor:wait;opacity:.42}.arrival-overlay button:disabled i{opacity:.2}.arrival-progress{width:202px;margin-top:13px;text-align:left}.arrival-progress>i{display:block;width:100%;height:1px;background:rgba(255,255,255,.12);overflow:hidden}.arrival-progress>i:after{content:"";display:block;width:0;height:1px;background:linear-gradient(90deg,var(--scene-accent,#d0ae76),rgba(255,255,255,.85));animation:arrival-progress 7.8s linear forwards}.arrival-progress em{display:block;margin-top:8px;font-style:normal;font-size:6px;letter-spacing:.18em;color:rgba(255,255,255,.34)}
@keyframes arrival-progress{to{width:100%}}
.scene-screen.arriving .scene-media{transform:scale(1.055);filter:saturate(.78) brightness(.86)}.scene-screen:not(.arriving) .scene-media{filter:none;transition:transform 3.2s cubic-bezier(.2,.8,.2,1),filter 2.6s ease}

.scene-topbar{left:clamp(18px,3vw,48px);right:clamp(18px,3vw,48px);top:clamp(18px,3vw,34px)}.scene-topbar .icon-button{width:38px;height:38px;border-radius:2px;background:rgba(4,14,18,.16)}.scene-location small{font-family:Outfit,sans-serif;letter-spacing:.34em}.scene-location strong{font-size:11px;letter-spacing:.16em}
.presence-badge{top:79px;right:clamp(18px,3vw,48px);padding:7px 11px;background:rgba(4,14,18,.16)}
.timer-wrap{top:19%}.timer-dial{width:clamp(205px,19vw,244px);box-shadow:0 24px 80px rgba(5,12,14,.08),inset 0 0 0 1px rgba(255,255,255,.04)}.timer-dial-inner{border-width:5px;background:rgba(5,15,19,.04);backdrop-filter:none}.timer{font-size:clamp(39px,5vw,60px)}
.focus-rhythm{opacity:.72}.scene-controls,.view-switch,.focus-rhythm{background:rgba(4,14,18,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.1)}
.scene-controls{bottom:22px;border-radius:3px}.scene-controls button{height:48px}.view-switch{bottom:86px;border-radius:3px}.view-switch button,.view-switch button.selected{border-radius:1px}
.mini-focus-clock{left:auto;right:clamp(18px,3vw,48px);top:clamp(18px,3vw,34px);transform:translateY(-8px);padding:7px 11px;border-radius:2px;background:rgba(4,14,18,.09);border-color:rgba(255,255,255,.09);box-shadow:none}.mini-focus-clock span{font-size:15px}.mini-focus-clock small{font-size:6px}.scene-screen.focus-minimal .mini-focus-clock{opacity:.48;transform:none}.scene-screen.focus-minimal .scene-vignette{opacity:.34}.scene-screen.focus-minimal:hover .mini-focus-clock{opacity:.72}

/* Static gallery rooms: every frame is a sharp still, never a looping background. */
.scene-screen.static-gallery .scene-image{inset:0;animation:none!important;transform:none!important;will-change:auto;background-position:center;background-size:cover}
.scene-screen.static-gallery.vista .scene-image{transform:none!important}
.scene-screen.static-gallery .scene-image.gallery-shift{animation:gallery-fade .52s ease both!important}
@keyframes gallery-fade{from{opacity:.72}to{opacity:1}}
.scene-screen[data-scene="swiss"]{--scene-accent:#b5c7a2}.scene-screen[data-scene="banff"]{--scene-accent:#8fb8bd}.scene-screen[data-scene="marrakech"]{--scene-accent:#d4a06f}
.view-switch{gap:2px}.view-switch button{min-width:58px;padding-left:13px;padding-right:13px}.view-switch button.selected{background:rgba(247,240,227,.92)}
.preview-meta{gap:28px}.preview-meta>div{min-width:0}.preview-meta strong{white-space:nowrap}

@media(max-width:760px){
  .brand{gap:10px}.brand-mark{width:37px;height:37px}.brand-copy b{font-size:14px}.brand-copy small{display:none}.journey-button{border-radius:2px}
  .map-copy{top:12.5%;width:calc(100% - 46px)}.edition-note{margin-bottom:25px}.map-copy h1{font-size:35px}.mood-prompt{display:block;margin-top:20px}.mood-options{border-left:0;padding-left:0;margin-top:8px}.daily-actions{margin-top:17px}.daily-actions button{height:45px}
  .arrival-brand{top:25px}.arrival-overlay blockquote{margin-top:24px}.arrival-facts{margin-bottom:22px}.arrival-overlay button,.arrival-progress{width:190px}
  .timer-wrap{top:17%}.mini-focus-clock{right:16px;top:17px}.presence-badge{top:66px;right:16px}.scene-controls{border-radius:3px}.view-switch{border-radius:3px}.view-switch button{min-width:50px;padding-left:9px;padding-right:9px}
  .map-screen .place-list{max-width:calc(100% - 28px);overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.map-screen .place-list::-webkit-scrollbar{display:none}
  .map-screen.explore-open .place-list{bottom:16px;width:calc(100% - 28px);padding:7px;border-radius:8px;gap:4px;scroll-snap-type:x proximity}
  .map-screen.explore-open .place-chip{min-width:116px;padding:8px 9px;justify-content:space-between;scroll-snap-align:start;border-right:1px solid rgba(255,255,255,.07)}
  .map-screen.explore-open .place-chip .copy{display:block;text-align:left}.map-screen.explore-open .place-chip strong{justify-content:flex-start;font-size:10px}.map-screen.explore-open .place-chip small{font-size:5px;letter-spacing:.08em;white-space:nowrap}.map-screen.explore-open .place-chip .dot{width:7px;height:7px}
}

@media(prefers-reduced-motion:reduce){.arrival-progress>i:after{animation:none;width:100%}.map-screen:after,.arrival-overlay:after{display:none}}
