.world-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;outline:none;perspective:1100px}.world-viewport.dragging{cursor:grabbing}.world-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.world-link{stroke:rgba(76,199,235,.23);stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(31,207,255,.26))}.world-link-node{fill:rgba(99,224,255,.42);filter:drop-shadow(0 0 5px rgba(31,207,255,.5))}
.orbit-aura{position:absolute;left:50%;top:50%;border:1px solid rgba(100,220,255,.055);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) rotate(-8deg);box-shadow:0 0 50px rgba(31,207,255,.02) inset;z-index:0}.orbit-aura-a{width:min(78vw,920px);height:min(54vh,470px)}.orbit-aura-b{width:min(55vw,640px);height:min(76vh,650px);transform:translate(-50%,-50%) rotate(68deg)}
.system-core{position:absolute;left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#75b7c9;pointer-events:none;z-index:30}.system-core img{width:142px;opacity:.78;filter:drop-shadow(0 0 21px rgba(51,216,255,.46));animation:coreLogoBreath 4.2s ease-in-out infinite}.system-core span{font-size:7px;letter-spacing:.24em;line-height:1.55;margin-top:5px;opacity:.72;text-align:center}.core-halo{position:absolute;inset:-24px;border:1px solid rgba(103,224,255,.12);border-radius:50%;box-shadow:0 0 54px rgba(31,207,255,.055),0 0 42px rgba(31,207,255,.025) inset;animation:corePulse 4.6s ease-in-out infinite}.core-halo::before,.core-halo::after{content:"";position:absolute;border:1px dashed rgba(103,224,255,.07);border-radius:50%;inset:18px;animation:spinHalo 26s linear infinite}.core-halo::after{inset:-12px;animation-direction:reverse;animation-duration:34s}@keyframes corePulse{50%{transform:scale(1.06);border-color:rgba(103,224,255,.24)}}@keyframes coreLogoBreath{50%{filter:drop-shadow(0 0 34px rgba(51,216,255,.62));opacity:.92}}@keyframes spinHalo{to{transform:rotate(360deg)}}
.world-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.world-card{position:absolute;width:196px;height:126px;left:50%;top:50%;border:0;background:transparent;padding:0;cursor:pointer;pointer-events:auto;will-change:transform,opacity;transform-origin:center center;isolation:isolate}.world-card-inner{position:absolute;inset:0;border:2px solid rgba(255,66,88,.72);border-radius:24% 18% 22% 16% / 17% 24% 15% 22%;background:#03070c;overflow:hidden;box-shadow:0 0 12px rgba(255,66,88,.48),0 0 28px rgba(255,66,88,.14),0 0 0 1px rgba(255,116,130,.16) inset,0 0 34px rgba(255,42,65,.16) inset;animation:tubeWobble 7.6s ease-in-out infinite}.world-card:nth-child(even) .world-card-inner{animation-delay:-2.7s;animation-duration:8.4s}.world-card:nth-child(3n) .world-card-inner{animation-delay:-4.1s;animation-duration:9.2s}.world-card.available .world-card-inner{border-color:rgba(74,220,255,.86);box-shadow:0 0 12px rgba(31,207,255,.52),0 0 30px rgba(31,207,255,.16),0 0 0 1px rgba(113,238,255,.18) inset,0 0 34px rgba(31,207,255,.15) inset}@keyframes tubeWobble{0%,100%{border-radius:24% 18% 22% 16% / 17% 24% 15% 22%;transform:translateY(0) rotate(.12deg)}50%{border-radius:18% 24% 16% 22% / 23% 16% 24% 17%;transform:translateY(-3px) rotate(-.12deg)}}
.world-card-inner::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 44%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.62) 100%),repeating-linear-gradient(to bottom,rgba(255,255,255,.02) 0 1px,transparent 1px 4px);mix-blend-mode:screen}.world-card-inner::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.05);border-radius:inherit;z-index:6;pointer-events:none;box-shadow:0 0 24px rgba(255,255,255,.03) inset}
.world-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.34) saturate(.62) contrast(1.1) blur(.2px);transform:scale(1.03);transition:filter .25s ease,transform .6s ease}.world-card:hover img,.world-card:focus-visible img{filter:brightness(.53) saturate(.86) contrast(1.08);transform:scale(1.06)}.world-card:hover .world-card-inner,.world-card:focus-visible .world-card-inner{box-shadow:0 0 15px rgba(255,66,88,.72),0 0 40px rgba(255,66,88,.18),0 0 36px rgba(255,42,65,.2) inset}.world-card.available:hover .world-card-inner{box-shadow:0 0 16px rgba(31,207,255,.78),0 0 42px rgba(31,207,255,.2),0 0 36px rgba(31,207,255,.2) inset}.world-card-label{position:absolute;left:12px;top:10px;z-index:8;font-size:13px;font-weight:650;letter-spacing:.22em;color:#ffe7ea;text-shadow:0 0 10px rgba(255,66,88,.95),0 0 20px rgba(255,66,88,.35)}.world-card.available .world-card-label{color:#e7fcff;text-shadow:0 0 10px rgba(31,207,255,.95),0 0 20px rgba(31,207,255,.35)}.world-card-scan{position:absolute;left:0;right:0;height:2px;top:10%;z-index:7;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);opacity:.42;animation:scanCard 4.2s linear infinite}@keyframes scanCard{from{top:4%}to{top:96%}}

.world-modal-card{width:min(790px,94vw);max-height:90vh;overflow:auto;border-color:rgba(255,66,88,.48);box-shadow:0 0 50px rgba(255,66,88,.08);display:block}.world-modal-card:not(.locked){border-color:rgba(31,207,255,.45);box-shadow:0 0 50px rgba(31,207,255,.08)}
.world-dream{position:relative;aspect-ratio:16/8.8;min-height:260px;overflow:hidden;background:#010307;border-bottom:1px solid rgba(255,66,88,.2)}.world-dream-bg{position:absolute;inset:-9%;width:118%;height:118%;object-fit:cover;filter:blur(28px) brightness(.28) saturate(.72);opacity:.88;transform:scale(1.08)}.world-poster,.world-video{position:absolute;inset:4% 5%;width:90%;height:92%;object-fit:contain;filter:brightness(.72) saturate(.78) contrast(.98);-webkit-mask-image:radial-gradient(ellipse at center,#000 52%,rgba(0,0,0,.94) 67%,transparent 96%);mask-image:radial-gradient(ellipse at center,#000 52%,rgba(0,0,0,.94) 67%,transparent 96%)}.world-poster{opacity:.88;transition:opacity .7s ease}.world-video{opacity:0;transition:opacity 1.1s ease,filter 1.1s ease;filter:brightness(.69) saturate(.72) contrast(.96) blur(.15px)}.world-video.ready{opacity:.92}.world-video.ready~.dream-vignette{opacity:1}.dream-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 37%,rgba(3,7,14,.08) 58%,rgba(3,7,14,.7) 92%,rgba(1,3,8,.96) 100%),linear-gradient(180deg,rgba(30,146,210,.045),transparent 24%,rgba(4,9,16,.18));pointer-events:none;opacity:.95}.dream-vignette::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(110,225,255,.025) 3px 4px);mix-blend-mode:screen}.dream-glitch{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 48%,rgba(74,216,255,.035) 49% 50%,transparent 51%),linear-gradient(transparent 0 67%,rgba(255,66,88,.025) 67% 69%,transparent 69%);animation:dreamPulse 6.7s ease-in-out infinite}@keyframes dreamPulse{0%,100%{opacity:.35;transform:none}48%{opacity:.5}50%{opacity:.85;transform:translateX(2px)}52%{opacity:.35;transform:translateX(-1px)}}
.world-badge{position:absolute;top:16px;left:18px;border:1px solid rgba(255,66,88,.68);background:rgba(3,6,12,.62);padding:8px 10px;font-size:10px;font-weight:600;letter-spacing:.2em;color:#ffdce0;box-shadow:0 0 14px rgba(255,66,88,.12)}.world-modal-card:not(.locked) .world-badge{border-color:rgba(31,207,255,.7);color:#dcfaff;box-shadow:0 0 14px rgba(31,207,255,.12)}
.world-modal-copy{padding:26px 30px 30px;text-align:center}.world-code{font-size:8px;letter-spacing:.26em;color:#6d91a0;margin-bottom:10px}.world-modal-copy h2{font-size:clamp(24px,4.6vw,40px);margin:0 0 12px;line-height:1;text-transform:uppercase;letter-spacing:.045em;font-weight:520;text-wrap:balance}.world-status{display:inline-flex;padding:7px 9px;border:1px solid rgba(255,66,88,.45);color:#ff8996;background:rgba(255,66,88,.06);font-size:8px;letter-spacing:.23em;margin-bottom:17px}.world-status.available{border-color:rgba(31,207,255,.5);color:#8beaff;background:rgba(31,207,255,.07)}.world-synopsis{max-width:640px;margin:0 auto 20px;color:#b7cbd3;font-size:13px;line-height:1.72;letter-spacing:.025em;font-weight:350;text-wrap:balance}.world-enter-question{font-size:9px;letter-spacing:.16em;color:#89a6b1;margin:0 0 16px;text-transform:uppercase}
