/* Local depth and environmental motion; the approved poster itself stays fixed. */
.living-scene{--depth-x:0;--depth-y:0;isolation:isolate}
.living-scene .world-local-plane{animation:world-local-life var(--scene-period) ease-in-out infinite;animation-delay:var(--idle-phase);mask-image:radial-gradient(ellipse,#000 26%,transparent 72%);transform-origin:55% 80%;will-change:auto}
.living-scene .world-subject-plane{animation:world-subject-depth calc(var(--scene-period) * 1.31) ease-in-out infinite;animation-delay:var(--idle-phase);mask-image:radial-gradient(ellipse,#000 30%,transparent 70%);will-change:auto}
.world-window-light{position:absolute;overflow:hidden;mask-image:radial-gradient(ellipse,#000 22%,transparent 73%);mix-blend-mode:screen;opacity:.26;animation:world-daylight var(--scene-period) ease-in-out infinite;animation-delay:var(--idle-phase);background:linear-gradient(112deg,transparent 20%,var(--scene-tone) 44%,transparent 73%)}
.world-window-light>i{position:absolute;inset:-25% -80%;background:repeating-linear-gradient(113deg,transparent 0 14%,#fff2 15% 17%,transparent 18% 27%);animation:world-window-refraction calc(var(--scene-period) * 1.7) ease-in-out infinite;animation-delay:var(--idle-phase)}
.world-material-light{position:absolute;background:linear-gradient(105deg,transparent 30%,#fff4 50%,transparent 70%);mask-image:radial-gradient(ellipse,#000 20%,transparent 71%);mix-blend-mode:screen;opacity:.12;animation:world-material-pass calc(var(--scene-period) * .87) ease-in-out infinite;animation-delay:var(--idle-phase)}
.world-floor-reflection{position:absolute;background:linear-gradient(105deg,transparent 27%,#fff3 46%,transparent 70%);mask-image:radial-gradient(ellipse,#000 15%,transparent 72%);mix-blend-mode:screen;animation:training-reflection 13.7s ease-in-out infinite;animation-delay:-4.1s}
.world-key-light{position:absolute;background:repeating-linear-gradient(90deg,transparent 0 9%,#ffe1cf55 10% 12%,transparent 13% 21%);mask-image:radial-gradient(ellipse,#000 25%,transparent 73%);mix-blend-mode:screen;opacity:.16;animation:studio-key-response 9.3s ease-in-out infinite}
.world-training .world-local-plane,.world-athletic .world-local-plane{animation-name:equipment-response;transform-origin:50% 80%}
.world-paper .world-local-plane,.world-study .world-local-plane{animation-name:paper-air-response;transform-origin:15% 80%}
.world-conversation .world-local-plane{animation-name:window-cloth-response;transform-origin:50% 0}
.world-celebration .world-local-plane{animation-name:celebration-response;transform-origin:50% 5%}
.world-precision .world-material-light{background:linear-gradient(100deg,transparent 46%,#eff6ff50 50%,transparent 54%);animation-duration:24.3s}
.world-study .world-window-light{opacity:.20;animation-duration:37.3s}
.world-studio .world-window-light{animation-duration:18.7s}
.world-autumn .world-window-light{opacity:calc(.2 + var(--music-accent) * .22)}
.world-event .world-local-plane{animation:world-gust 2.8s cubic-bezier(.16,.6,.2,1) both}
.world-event .world-material-light{animation:world-event-reflection 2.8s ease-in-out both}
.world-training.world-event .world-local-plane,.world-athletic.world-event .world-local-plane{animation-name:equipment-event}
.world-paper.world-event .world-local-plane,.world-study.world-event .world-local-plane{animation-name:paper-event}
.world-precision.world-event .world-material-light{animation-name:precision-event}
.world-wind-leaf{position:absolute;width:10px;height:8px;opacity:0;animation:world-wind-crossing 3.6s cubic-bezier(.24,.48,.64,.87) both}
.world-wind-leaf svg{width:100%;height:100%;display:block}
.world-touch .world-material-light{opacity:.4;transition:opacity .18s}
.living-scene[data-quality=LOW] .world-window-light>i,.living-scene[data-quality=LOW] .world-key-light{display:none}
.living-scene[data-quality=LOW] .world-subject-plane{animation:none;transform:translate3d(calc(var(--depth-x) * .6px),calc(var(--depth-y) * .4px),0)}
.living-scene[data-quality=REDUCED] *{animation:none!important;transform:none!important}.living-scene[data-quality=REDUCED] .world-window-light{opacity:.18}
.living-paused *,.living-paused *:after{animation-play-state:paused!important}
@keyframes world-local-life{0%,100%{transform:perspective(700px) translate3d(-.9px,.5px,0) rotateZ(-.28deg)}46%{transform:perspective(700px) translate3d(1.8px,-.8px,2px) rotateZ(.42deg)}}
@keyframes world-subject-depth{0%,100%{transform:translate3d(calc(var(--depth-x) * 2px),calc(var(--depth-y) * 1.4px),0)}47%{transform:translate3d(calc(var(--depth-x) * 2px + 1px),calc(var(--depth-y) * 1.4px - 1px),2px)}}
@keyframes world-daylight{0%,100%{opacity:.14;transform:translate3d(-4px,0,0) rotate(-1deg)}46%{opacity:.40;transform:translate3d(5px,2px,0) rotate(1deg)}}
@keyframes world-window-refraction{0%,100%{transform:translate3d(-18px,0,0)}57%{transform:translate3d(28px,2px,0)}}
@keyframes world-material-pass{0%,100%{opacity:.07;transform:translate3d(-6px,0,0)}45%{opacity:.25;transform:translate3d(8px,0,0)}}
@keyframes training-reflection{0%,100%{opacity:.04;transform:translateX(-10px)}43%{opacity:.32;transform:translateX(16px)}}
@keyframes studio-key-response{0%,100%{opacity:.06;transform:translateX(-2px)}31%{opacity:.23;transform:translateX(2px)}43%{opacity:.12}62%{opacity:.28;transform:translateX(5px)}}
@keyframes equipment-response{0%,100%{transform:translate3d(0,0,0) rotate(-.5deg)}48%{transform:translate3d(1px,-.8px,0) rotate(.65deg)}}
@keyframes paper-air-response{0%,100%{transform:perspective(600px) rotateX(0) rotateY(-.7deg)}54%{transform:perspective(600px) rotateX(1.1deg) rotateY(.8deg)}}
@keyframes window-cloth-response{0%,100%{transform:rotate(-.35deg)}51%{transform:rotate(.5deg)}}
@keyframes celebration-response{0%,100%{transform:rotate(-.6deg) translateY(0)}48%{transform:rotate(.6deg) translateY(-1.3px)}}
@keyframes world-gust{0%,100%{transform:rotate(0)}18%{transform:rotate(1.3deg) translate3d(2px,1px,0)}45%{transform:rotate(-.7deg) translate3d(-1px,0,0)}72%{transform:rotate(.3deg)}}
@keyframes equipment-event{0%,100%{transform:translate3d(0,0,0)}28%{transform:rotate(-1.6deg) translate3d(2px,-1px,0)}53%{transform:rotate(.8deg) translate3d(0,.5px,0)}}
@keyframes paper-event{0%,100%{transform:perspective(600px) rotateX(0)}31%{transform:perspective(600px) rotateX(3deg) rotateY(-2deg)}59%{transform:perspective(600px) rotateX(-.7deg)}}
@keyframes world-event-reflection{0%,100%{opacity:.05;transform:translateX(-8px)}38%{opacity:.44;transform:translateX(14px)}70%{opacity:.15;transform:translateX(4px)}}
@keyframes precision-event{0%,100%{opacity:.03;transform:translateX(-7px)}35%{opacity:.35;transform:translateX(5px)}61%{opacity:.16;transform:translateX(8px)}}
@keyframes world-wind-crossing{0%{opacity:0;transform:translate3d(0,0,-10px) rotateY(10deg)}12%{opacity:.72}43%{opacity:.65;transform:translate3d(32px,55px,0) rotateY(95deg) rotateZ(65deg)}78%{opacity:.55;transform:translate3d(62px,95px,0) rotateY(180deg) rotateZ(128deg)}100%{opacity:0;transform:translate3d(80px,128px,0) rotateY(225deg) rotateZ(155deg)}}
.world-audio-toggle{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:45;width:42px;height:42px;border:1px solid #fff3;border-radius:50%;background:#21142ce0;color:#fff1da;display:grid;place-items:center;box-shadow:inset 0 1px 4px #fff1,0 3px 10px #0003;cursor:pointer}
.world-audio-toggle svg{width:21px;height:21px}.world-audio-toggle .audio-off{display:none}.world-audio-toggle.is-muted .audio-off{display:block}.world-audio-toggle.is-muted .audio-waves{display:none}.preview-is-open .world-audio-toggle{visibility:hidden}
.world-shell{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#2e203d,#120b20 76%);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.world-shell .section-stage{width:min(100%,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .5625));align-self:center;aspect-ratio:720/1280;flex:none}
.section-page{height:100dvh;min-height:0;overflow:hidden;align-items:center}.section-page>.section-stage{align-self:center;width:min(100%,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .5625))}
.world-travel-camera{position:fixed;inset:0;z-index:950;overflow:hidden;perspective:850px;pointer-events:none;transform-style:preserve-3d;isolation:isolate}
.travel-environment,.travel-subject,.travel-card-material{position:absolute;backface-visibility:hidden;will-change:transform}
.travel-subject{mask-image:radial-gradient(ellipse,#000 28%,transparent 73%)}
.travel-gateway-rim,.travel-depth-rail{position:absolute;border:1px solid var(--gateway-tone);border-radius:9px;box-shadow:inset 0 0 9px #fff3,0 0 9px #e2bafa55;backface-visibility:hidden;will-change:transform}
.travel-card-material{box-shadow:inset 0 0 7px #ffe4aa,0 4px 9px #05011080}
.world-spatial-aperture{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#312049,#120b20 75%);isolation:isolate;transform-style:preserve-3d}
.travel-aperture-material{position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 23%,#ffe7cb24 48%,transparent 69%);mix-blend-mode:screen}
.travel-throat-light{position:absolute;top:12%;bottom:12%;width:2px;left:calc(50% + var(--throat-side) * 25%);background:linear-gradient(transparent,var(--gateway-tone),transparent);opacity:.2;transform:perspective(850px) rotateY(calc(var(--throat-side) * 30deg)) translateZ(40px);pointer-events:none}
.travel-unassembled-field{position:absolute;left:0;top:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 42%,#382444,#1b112b 80%)}
.travel-iris-edge{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.travel-iris-edge polygon{fill:none;stroke:var(--gateway-tone);stroke-width:1.2;vector-effect:non-scaling-stroke}
.travel-card-thickness{position:absolute;inset:0;background:linear-gradient(114deg,#26192ddd,var(--gateway-tone),#211329e0 71%);pointer-events:none}
.world-travel-camera[data-quality=LOW] .travel-card-thickness{opacity:.18!important}.world-travel-camera[data-quality=LOW] .travel-throat-light{display:none}
@media(prefers-reduced-motion:reduce){.world-travel-camera{display:none}.living-scene *{animation:none!important}.world-wind-leaf{display:none}}
/* The supplied preview frame owns the icons. Controls are precise transparent hits. */
.file-preview{direction:rtl;font-family:Vazirmatn,Tahoma,sans-serif;margin:auto;width:min(100vw,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 941 / 1672));aspect-ratio:941/1672;height:auto;max-width:100vw;max-height:100dvh;padding:0;border:0;border-radius:0;background:#21112e;color:white;overflow:hidden;box-shadow:0 8px 28px #05010c80}
.file-preview[open]{display:block}.file-preview::backdrop{background:#100a1d}.preview-frame-art{position:absolute;inset:0;pointer-events:none}.preview-frame-art img{display:block;width:100%;height:100%;object-fit:contain}
.preview-toolbar{position:absolute;width:0;height:0;overflow:hidden}.preview-viewport{position:absolute;left:15.1%;top:20.2%;width:69.5%;height:51.6%;padding:3px;overflow:auto;direction:ltr;background:white;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;border-radius:4px}
.preview-viewport::-webkit-scrollbar{display:none;width:0;height:0}.preview-pages{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:none}.preview-pages img{display:block;width:100%;height:auto;object-fit:contain;flex:none;background:white}.preview-status{color:#382046;direction:rtl;text-align:center;font-size:15px;line-height:1.9;padding:16px}
.preview-close,.preview-control,.preview-download,.preview-page-nav,.preview-reset,.preview-menu-hit{position:absolute;display:block;background:transparent;border:0;padding:0;cursor:pointer;touch-action:manipulation;color:white;border-radius:50%;min-width:40px;min-height:40px}
.preview-close{left:83%;top:8.9%;width:13%;height:7.5%}.preview-in{left:57.5%;top:72.5%;width:10%;height:5.3%}.preview-out{left:67%;top:72.5%;width:10%;height:5.3%}.preview-full{left:77%;top:72.5%;width:10%;height:5.3%}
.preview-download{left:21.5%;top:79.4%;width:58%;height:8.2%;border-radius:999px}.preview-page-nav{left:19.1%;top:72.5%;width:10%;height:5.3%}.preview-page-nav.next{left:44.4%}.preview-page-nav:disabled{cursor:default}.preview-reset,.preview-menu-hit{display:none}
.preview-close:hover,.preview-control:hover,.preview-page-nav:hover,.preview-menu-hit:hover{box-shadow:inset 0 0 7px #fff3}.preview-close:active,.preview-control:active,.preview-download:active,.preview-page-nav:active{box-shadow:inset 0 0 8px #ffe9ff80}.preview-control:disabled{cursor:default}
.preview-download:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 34%,#fff3 50%,transparent 65%);transform:translateX(-120%);transition:transform .6s;pointer-events:none;border-radius:inherit}.preview-download:hover:after{transform:translateX(120%)}
.preview-footer{position:absolute;left:29.4%;top:73.2%;width:14.5%;height:4.4%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(110deg,#301643,#411b5c,#321343);border-radius:8px;font-size:14px;font-weight:650;line-height:1.2;direction:ltr;pointer-events:none}.preview-footer small{font-size:11px;line-height:1.2;color:#e5cdec}
.preview-scroll{position:absolute;background:linear-gradient(90deg,#230e33,#512166,#230e33);border:1px solid #ac79c588;border-radius:10px;touch-action:none;cursor:grab;z-index:2}.preview-scroll-thumb{position:absolute;left:20%;top:0;width:60%;background:linear-gradient(#efd0ff,#9e54bd,#d7adeb);border-radius:6px;box-shadow:inset 0 0 2px #fff9;pointer-events:none}.preview-scroll.scroll-inactive .preview-scroll-thumb{display:none}
.preview-options{position:absolute;right:12%;bottom:14%;z-index:5;padding:7px;border:1px solid #e3b4f070;background:#251532f5;border-radius:12px;box-shadow:0 4px 15px #0006;direction:rtl}.preview-options button{display:block;width:100%;min-height:44px;border:0;background:transparent;color:white;font:inherit;font-size:15px;padding:6px 14px;border-radius:7px;cursor:pointer}.preview-options button:hover{background:#fff1}
.preview-fallback-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#100a1df5}.preview-fallback-backdrop .file-preview{position:relative}.preview-fullscreen-host:fullscreen{width:100vw;height:100dvh;background:#100a1d;display:grid;place-items:center}.preview-is-open{overflow:hidden}
@media(min-width:800px){
 .file-preview{width:min(96vw,calc(98dvh * 1312 / 1199));aspect-ratio:1312/1199;background:#160c21}
 .preview-viewport{left:8.5%;top:18%;width:83%;height:64.5%;padding:8px;border-radius:7px}
 .preview-close{left:86.5%;top:6.9%;width:7.5%;height:10%}.preview-out{left:70.8%;top:9%;width:5.2%;height:6.2%}.preview-in{left:80.7%;top:9%;width:5.2%;height:6.2%}
 .preview-reset{display:block;left:75.8%;top:9%;width:5.2%;height:6.2%}.preview-full{left:76.1%;top:87.3%;width:5.5%;height:6.2%}.preview-menu-hit{display:block;left:84.7%;top:87.3%;width:5.5%;height:6.2%}
 .preview-download{left:33%;top:85%;width:34%;height:11%}.preview-page-nav{left:3%;top:43%;width:7%;height:10%}.preview-page-nav.next{left:89.8%}
 .preview-footer{left:15%;top:88.3%;width:10%;height:5%;font-size:17px}.preview-footer small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.preview-download:after{transition:none}}
