:root{--gold:#f2bf45;--paper:#f0d894;--ink:#3a220e}*{box-sizing:border-box}html{min-height:100%;background:#000}body{margin:0;min-height:100vh;overflow-x:hidden;color:#f8e8b7;font-family:Georgia,"Times New Roman",serif;background:#000}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;background:radial-gradient(ellipse at 50% 73%,rgba(104,37,18,.22),transparent 25%),radial-gradient(ellipse at 50% 38%,#130507 0,#040102 36%,#000 68%)}body::after{content:"";position:fixed;z-index:30;inset:0;pointer-events:none;box-shadow:inset 0 0 16vw 7vw #000,inset 0 0 5vw 2vw rgba(0,0,0,.9)}
.home-link{position:fixed;z-index:40;top:1rem;left:1rem;padding:.58rem .8rem;border:1px solid rgba(236,190,81,.38);border-radius:99rem;color:#d8b96d;background:rgba(4,1,2,.8);font:800 .67rem/1 sans-serif;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;backdrop-filter:blur(8px)}
.stage{position:relative;min-height:100vh;padding:2.5rem 1rem 5rem;display:flex;align-items:center;flex-direction:column;justify-content:center;perspective:1400px;overflow:hidden}.stage::before{content:"";position:absolute;z-index:0;left:50%;top:1%;width:min(840px,96vw);height:92%;transform:translateX(-50%);pointer-events:none;background:linear-gradient(103deg,transparent 17%,rgba(91,30,18,.07) 43%,rgba(129,47,22,.11) 50%,rgba(91,30,18,.06) 57%,transparent 83%);clip-path:polygon(43% 0,57% 0,82% 100%,18% 100%)}.stage::after{content:"";position:absolute;z-index:0;left:50%;bottom:4%;width:min(930px,120vw);height:12%;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse,rgba(116,67,42,.13),transparent 68%);filter:blur(16px);animation:fog 9s ease-in-out infinite alternate}.machine{position:relative;z-index:1;width:min(670px,94vw);aspect-ratio:2/3;filter:drop-shadow(0 2.4rem 3.6rem #000);transform-style:preserve-3d;animation:arrive 1.1s cubic-bezier(.2,.8,.2,1) both}.machine__photo{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:brightness(.63) saturate(.76) contrast(1.08);transition:filter 1.2s ease}
.marquee{position:absolute;z-index:5;left:21.7%;top:4.7%;width:56.6%;height:9.4%;display:flex;align-items:center;flex-direction:column;justify-content:center;pointer-events:none;transform:rotate(-.25deg)}.marquee h1{margin:0;color:#ffd45c;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(1.9rem,8.2vw,4.2rem);font-style:italic;letter-spacing:.035em;line-height:.72;text-transform:uppercase;-webkit-text-stroke:clamp(1px,.18vw,2px) #7a0a13;text-shadow:0 .05em 0 #661019,0 0 .18em #ffbd33,0 0 .4em rgba(255,96,21,.72)}.marquee p{margin:.37em 0 0;color:#fff0af;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(.72rem,2.3vw,1.3rem);letter-spacing:.46em;line-height:1;text-transform:uppercase;text-shadow:0 0 .6em #e44320}.bulb{position:absolute;width:1.7%;aspect-ratio:1;border-radius:50%;background:#ffe979;box-shadow:0 0 .45rem #ffaf21}.bulb--1{left:-5%;top:30%}.bulb--2{right:-5%;top:30%}.bulb--3{left:-1%;bottom:4%}.bulb--4{right:-1%;bottom:4%}
.lamp{position:absolute;z-index:4;top:25.2%;width:4%;aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:.2;background:#fffbd1;filter:blur(1px);box-shadow:0 0 1rem .5rem #ffaf38,0 0 3rem 1.3rem rgba(255,100,20,.6)}.lamp--left{left:32.3%}.lamp--right{right:32.1%}.movement{position:absolute;z-index:3;inset:0;pointer-events:none;background:url('/assets/zoltar-realistic-machine.png') center/100% 100% no-repeat}.movement--head{clip-path:ellipse(11.5% 11% at 50% 31.2%);transform-origin:50% 34%}.movement--hand-left{clip-path:polygon(31% 31%,44% 30%,46% 47%,29% 48%);transform-origin:39% 45%}.movement--hand-right{clip-path:polygon(53% 40%,70% 38%,70% 53%,52% 53%);transform-origin:58% 45%}.movement--crystal{clip-path:circle(9.7% at 50% 47.4%)}
.crystal-aura{position:absolute;z-index:4;left:40.4%;top:40.7%;width:19.2%;aspect-ratio:1;pointer-events:none;border-radius:50%;opacity:.18;background:radial-gradient(circle,#eaffff 0 8%,#5efff7 25%,rgba(31,225,230,.38) 50%,transparent 70%);filter:blur(2px);box-shadow:0 0 1.7rem #4cf5f1,0 0 4rem rgba(28,211,222,.64)}.crystal-aura span{position:absolute;inset:5%;border-radius:50%;background:conic-gradient(transparent,#e8ffff,transparent,#3eeded,transparent);opacity:.55;animation:spin 5s linear infinite}
.start-button{position:absolute;z-index:12;left:47.25%;top:64.5%;width:7.2%;aspect-ratio:1;padding:0;border:0;border-radius:50%;color:transparent;background:rgba(255,21,28,.05);cursor:pointer;box-shadow:0 0 0 3px rgba(255,225,104,.08)}.start-button::before{content:"";position:absolute;inset:-18%;border:2px solid rgba(255,224,98,.72);border-radius:50%;box-shadow:0 0 .7rem #ffcb3d,0 0 1.5rem rgba(255,65,25,.75);animation:startPulse 1.2s ease-in-out infinite alternate}.start-button span{position:absolute;left:50%;top:128%;width:max-content;transform:translateX(-50%);padding:.35rem .55rem;border:1px solid rgba(242,191,69,.65);border-radius:99rem;color:#ffe395;background:rgba(8,2,2,.9);font:800 clamp(.48rem,1.4vw,.72rem)/1 sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.start-button:hover::before{inset:-28%;border-color:#fff1a8}.start-button:disabled{cursor:wait}.start-button:disabled::before{animation-duration:.25s}.machine-status{position:absolute;z-index:11;left:32%;top:58.5%;width:36%;margin:0;color:#f6d779;font:800 clamp(.5rem,1.5vw,.78rem)/1.2 sans-serif;letter-spacing:.1em;text-align:center;text-shadow:0 1px .45rem #000;text-transform:uppercase}
.ticket{position:absolute;z-index:15;left:31.4%;top:79.7%;width:37.2%;min-height:15%;margin:0;padding:clamp(.7rem,2.2vw,1.15rem) clamp(.6rem,2vw,1rem);color:var(--ink);text-align:center;background:linear-gradient(90deg,rgba(113,72,18,.1),transparent 14% 86%,rgba(113,72,18,.1)),var(--paper);box-shadow:0 .8rem 1.5rem rgba(0,0,0,.8);clip-path:polygon(0 0,4% 2%,8% 0,12% 2%,16% 0,20% 2%,24% 0,28% 2%,32% 0,36% 2%,40% 0,44% 2%,48% 0,52% 2%,56% 0,60% 2%,64% 0,68% 2%,72% 0,76% 2%,80% 0,84% 2%,88% 0,92% 2%,96% 0,100% 2%,100% 98%,96% 100%,92% 98%,88% 100%,84% 98%,80% 100%,76% 98%,72% 100%,68% 98%,64% 100%,60% 98%,56% 100%,52% 98%,48% 100%,44% 98%,40% 100%,36% 98%,32% 100%,28% 98%,24% 100%,20% 98%,16% 100%,12% 98%,8% 100%,4% 98%,0 100%);animation:print 1.65s cubic-bezier(.18,.8,.2,1) both}.ticket[hidden]{display:none}.ticket__eyebrow{margin:0;color:#8a5414;font:900 clamp(.4rem,1.2vw,.62rem)/1 sans-serif;letter-spacing:.15em;text-transform:uppercase}.ticket h2{margin:.35rem 0;font-size:clamp(.8rem,2.5vw,1.35rem)}.ticket__fortune{margin:.45rem 0;font-size:clamp(.55rem,1.7vw,.88rem);line-height:1.35}.ticket__numbers{margin:.45rem 0;font-size:clamp(.48rem,1.4vw,.73rem);font-weight:700}.ticket__seal{margin:0;color:#7a4b14;font-size:clamp(.35rem,1vw,.55rem);letter-spacing:.07em;text-transform:uppercase}
.machine:not(.is-running) .bulb--3{animation:deadBulb 7s steps(1) infinite}.machine.is-running{animation:machineHum .14s linear infinite alternate}.machine.is-running .machine__photo{filter:brightness(1.03) saturate(1) contrast(1.02)}.machine.is-running .lamp{opacity:1;animation:lampFlicker .42s infinite alternate}.machine.is-running .bulb{animation:bulbChase .45s infinite alternate}.machine.is-running .bulb--2{animation-delay:.12s}.machine.is-running .bulb--3{animation-delay:.24s}.machine.is-running .bulb--4{animation-delay:.36s}.machine.is-running .crystal-aura{opacity:.95;animation:crystalPulse .65s ease-in-out infinite alternate}.machine.is-speaking .movement--head{animation:headSpeak 2.4s ease-in-out infinite}.machine.is-speaking .movement--hand-left{animation:handLeft 1.4s ease-in-out infinite alternate}.machine.is-speaking .movement--hand-right{animation:handRight 1.1s ease-in-out infinite alternate}.entertainment{position:relative;z-index:1;margin:1.2rem 0 0;color:#4b3c2d;font:700 .58rem/1.4 sans-serif;letter-spacing:.12em;text-align:center;text-transform:uppercase}
@keyframes arrive{from{opacity:0;transform:translateY(3rem) rotateX(5deg)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fog{to{transform:translateX(-47%) scaleX(1.12);opacity:.45}}@keyframes deadBulb{0%,7%,9%,68%,70%,100%{opacity:.2;box-shadow:none}8%,69%{opacity:.85;box-shadow:0 0 .7rem #ffae2d}}@keyframes startPulse{to{opacity:.25;transform:scale(1.14)}}@keyframes machineHum{to{transform:translateX(.35px)}}@keyframes bulbChase{from{opacity:.12;box-shadow:none}to{opacity:1;box-shadow:0 0 .75rem #fff,0 0 1.4rem #ff8d20}}@keyframes lampFlicker{from{filter:blur(2px) brightness(.8)}to{filter:blur(1px) brightness(1.45)}}@keyframes crystalPulse{to{transform:scale(1.1);filter:blur(1px);box-shadow:0 0 2.3rem #fff,0 0 5rem #2cf4ee}}@keyframes headSpeak{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.8deg) translateY(-1px)}70%{transform:rotate(1.5deg) translateY(1px)}}@keyframes handLeft{to{transform:rotate(-4deg) translateY(-4px)}}@keyframes handRight{to{transform:rotate(3deg) translateY(-3px)}}@keyframes print{from{opacity:0;clip-path:inset(0 0 96% 0);transform:translateY(-9%)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@media(max-width:560px){.stage{padding:3.8rem .25rem 3rem}.machine{width:99vw}.home-link{font-size:.56rem}.ticket{left:28%;width:44%;top:79.5%}.start-button span{top:142%}.entertainment{max-width:80vw}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
