/* Geographic light and motion: decoration never sits over reading surfaces. */
.vrd-journey{isolation:isolate;min-height:450px}
.u-interface .vrd-journey-active .n-world{overflow:hidden}
.u-interface .vrd-journey-active .c-orbit,.vrd-journey-active .n-world-label,.vrd-journey-active .n-coordinate{opacity:0;pointer-events:none}
.vrd-globe-enter,.vrd-globe-back{position:relative;display:block;margin:14px auto 0;min-height:46px;padding:12px 20px;border:1px solid var(--ui-accent);background:var(--ui-surface);color:var(--ui-accent);border-radius:4px;font:500 12px/1.5 var(--ui-mono);letter-spacing:.02em;cursor:pointer}
.vrd-globe-enter::before{content:'⊕';margin-right:12px;font-size:18px}
.vrd-journey .c-globe{cursor:pointer}
.vrd-journey-region{animation:vrd-region-reveal .6s ease-out both}
.vrd-region-panel{min-width:0;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface);overflow:hidden;position:relative}
.u-interface .vrd-region-panel>.u-kicker{margin:0;padding:18px 22px;border-bottom:1px solid var(--ui-line)}
.vrd-region-frame{position:relative;isolation:isolate;aspect-ratio:680/520;overflow:hidden;background:#071c26}
.vrd-region-art{width:100%;height:100%;display:block;object-fit:contain;filter:none!important;transform:none!important;animation:none!important}
.vrd-map-point{position:absolute;z-index:2;min-height:44px;padding:6px 11px;background:#071c26ed;color:#c7fff1;border:1px solid #41766e;border-radius:3px;font:500 clamp(10px,1vw,12px)/1.2 var(--ui-mono);white-space:nowrap;cursor:pointer;box-shadow:0 4px 12px #0004;transform:translate(14px,-50%)}
.vrd-map-point[aria-pressed=true]{background:#a5ffe0;color:#072f2c;border-color:#c7ffea;box-shadow:0 0 0 4px #79edcf20}
.vrd-point-sarande{left:44.63%;top:51.769%;transform:translate(calc(-100% - 14px),-50%)}
.vrd-point-gjirokaster{left:54.232%;top:27.207%}.vrd-point-delvine{left:51.278%;top:42.512%}.vrd-point-konispol{left:57.286%;top:78.26%}
.vrd-map-focus::after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #a5ffe066;animation:vrd-map-lock .7s ease-out both}
.u-interface .vrd-region-details{padding:22px 24px 14px;min-height:170px;background:var(--ui-surface)}
.u-interface .vrd-region-details h3{margin:0 0 10px;font-size:1.4rem}.u-interface .vrd-region-details p{font-size:13px;line-height:1.7;margin:0 0 8px;max-width:55ch}.u-interface .vrd-region-details a{white-space:normal}
.u-interface .vrd-map-note{font:10px/1.65 var(--ui-mono);color:var(--ui-muted);padding:0 24px 20px;margin:0}
.vrd-app-region{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);align-items:center;gap:48px;padding-block:18px 50px}
.vrd-region-heading h2{font-size:clamp(1.8rem,3vw,3rem);max-width:12ch;line-height:1.2;margin:0 0 20px}.vrd-region-heading p{max-width:35ch}
:is(.s-standalone .u-interface,.vrd-map-app) main{position:relative;isolation:isolate}:is(.s-standalone .u-interface,.vrd-map-app) main::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('/assets/interface/world-neon.svg?v=20260928-vrd-25.2');background-position:center 120px;background-repeat:repeat-y;background-size:max(100%,900px) auto;opacity:.1}
:root[data-theme=light] :is(.s-standalone .u-interface,.vrd-map-app) main::before{filter:brightness(.5);opacity:.12}
.vrd-heading-signal{position:relative;isolation:isolate;padding-bottom:22px}
.vrd-heading-signal::after{content:'';display:block;position:absolute;inset:auto 0 0;height:7px;background:linear-gradient(90deg,var(--ui-accent) 0 12%,transparent 12% 15%,var(--ui-line) 15% 100%);opacity:.6;clip-path:polygon(0 0,96% 0,100% 100%,0 100%);pointer-events:none}
.vrd-heading-signal::before{content:'';position:absolute;bottom:0;left:0;width:18%;height:7px;z-index:1;background:linear-gradient(90deg,transparent,var(--ui-accent),transparent);opacity:0;pointer-events:none}
.vrd-heading-signal.vrd-signal-visible::before{animation:vrd-heading-sweep 4s ease-in-out 2}
.u-interface .c-photo img,.u-interface .c-photo:is(:hover,:focus-visible) img,.u-interface .c-dialog-photo,.u-interface .c-selected .c-photo img,.u-interface .u-art img{filter:grayscale(1)!important}
.u-interface .c-dialog-photo{object-fit:contain;background:var(--ui-bg);max-height:min(60svh,680px);aspect-ratio:auto;width:100%;height:auto}
.u-interface .u-ancient-mosaic .c-place[data-place=sokaku] .c-photo{aspect-ratio:4/3}.u-interface .u-ancient-mosaic .c-place[data-place=sokaku] img{object-position:50% 58%}
.u-interface .vrd-wisdom{margin-block:64px 24px;padding:clamp(24px,5vw,64px);background:var(--ui-surface);border:1px solid var(--ui-line);border-left:3px solid var(--ui-accent);position:relative;overflow:hidden}
.vrd-wisdom::after{content:'“';position:absolute;right:25px;top:10px;font:240px/1 Georgia,serif;color:var(--ui-accent);opacity:.055;pointer-events:none}
.u-interface .vrd-wisdom h2{font-size:clamp(1.2rem,2vw,1.8rem);color:var(--ui-muted);margin:0 0 35px}
.vrd-wisdom-reading{position:relative;z-index:1;min-height:180px;max-width:880px}.u-interface .vrd-wisdom blockquote{margin:0 0 20px;padding:0;border:0;font:500 clamp(1.45rem,3.6vw,2.7rem)/1.4 var(--ui-mono);color:var(--ui-ink);max-width:none}
.vrd-wisdom-original{font:13px/1.7 var(--ui-mono);color:var(--ui-muted)}.vrd-wisdom-author{font:12px/1.7 var(--ui-mono);color:var(--ui-accent)}
.vrd-wisdom-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--ui-line)}
.vrd-wisdom-controls button{min-height:44px;padding:10px 16px;border:1px solid var(--ui-line);background:var(--ui-raised);color:var(--ui-ink);font:12px/1.5 var(--ui-mono);border-radius:3px;cursor:pointer}.vrd-wisdom-controls button:hover{border-color:var(--ui-accent)}.vrd-wisdom-count{font:10px var(--ui-mono);color:var(--ui-muted);white-space:nowrap}
.vrd-quote-enter{animation:vrd-quote-reveal .35s ease-out both}
@keyframes vrd-heading-sweep{0%,15%{transform:translateX(0);opacity:0}30%{opacity:.8}85%,100%{transform:translateX(450%);opacity:0}}
@keyframes vrd-map-lock{from{transform:scale(.94);opacity:.8}to{transform:scale(1);opacity:0}}
@keyframes vrd-region-reveal{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes vrd-quote-reveal{from{opacity:.15;transform:translateY(6px)}to{opacity:1;transform:none}}
.pfs-scrolling .vrd-heading-signal::before,.u-page-hidden .vrd-heading-signal::before{animation-play-state:paused!important}
[data-motion=off] .vrd-heading-signal::before,[data-motion=off] .vrd-map-focus::after,[data-motion=off] .vrd-journey-region,[data-motion=off] .vrd-quote-enter{animation:none!important}
@media(max-width:760px){.vrd-app-region{grid-template-columns:1fr;gap:20px;padding-block:0 32px}.vrd-region-heading h2{max-width:20ch;font-size:1.8rem;margin-bottom:12px}.vrd-region-heading p{font-size:13px}.vrd-journey{min-height:320px}.vrd-globe-enter,.vrd-globe-back{font-size:11px;max-width:100%}.u-interface .vrd-region-details{padding:18px 20px 10px;min-height:170px}.vrd-map-point{font-size:10px;padding-inline:7px}.vrd-wisdom-reading{min-height:200px}.u-interface .vrd-wisdom{margin-block:40px 24px}:is(.s-standalone .u-interface,.vrd-map-app) main::before{background-size:900px auto;opacity:.085}}
@media(prefers-reduced-motion:reduce){.vrd-heading-signal::before,.vrd-map-focus::after,.vrd-journey-region,.vrd-quote-enter{animation:none!important}}

/* Keep cartographic captions readable in both palettes. */
.u-interface .u-globe-stage :is(.n-coordinate,.n-world-label>span){color:var(--ui-muted)}

/* A stable home target and an explicit return beside the app map. */
#globe{scroll-margin-top:calc(var(--pfs-header-height,150px) + 20px)}
.vrd-app-globe-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;margin-top:16px;padding:10px 14px;border:1px solid var(--ui-line);border-radius:4px;color:var(--ui-accent);background:var(--ui-surface);font:500 12px/1.5 var(--ui-mono);text-decoration:none}
.vrd-app-globe-link:hover{border-color:var(--ui-accent)}
.vrd-app-globe-link:focus-visible,.vrd-globe-back:focus-visible,.vrd-globe-enter:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
.vrd-globe-back:not([hidden]){margin:0 auto 16px}
