.theme-worlds{position:relative;overflow:hidden;background:#20261d}
.theme-world-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:4%;align-items:center;margin-top:28px}
.theme-world-copy{position:relative;z-index:2;padding:30px 0;max-width:410px}
.theme-world-copy h2{font-size:clamp(39px,4.1vw,67px);letter-spacing:-.065em;line-height:1.03}
.theme-world-copy>p{font-size:13px;line-height:1.85;color:#b3bba8;margin-top:25px;max-width:340px}
.theme-world-copy>.theme-explore-hint{font-family:monospace;font-size:8px;letter-spacing:.7px;color:#c4b99d;line-height:1.8;margin-top:24px}
.theme-description{margin-top:26px;min-height:95px;max-width:340px;border-left:1px solid #f49c7770;padding-left:17px}
.theme-description h3{font-family:Georgia,serif;font-style:italic;font-size:28px;font-weight:400;letter-spacing:-1px;color:#eee8d6}
.theme-description p{font-size:11px;line-height:1.8;color:#b3bba8;margin-top:9px}
.theme-world-copy>.text-link{font-size:11px;margin-top:25px;gap:24px}
.theme-play{display:inline-flex;margin-top:16px;padding:8px 12px;color:#c8d0b9;background:none;border:1px solid #8d9e7145;border-radius:20px;font-size:9px}.theme-play:hover{border-color:#d2ab87;color:#f2dfc2}.theme-play:disabled{opacity:.55}
.theme-visual{position:relative;height:clamp(590px,48vw,800px);min-width:0;background:none}
#theme-scene{position:absolute;inset:0 -7%;touch-action:pan-y}
.theme-phone-center{position:absolute;left:50%;top:50%;width:30%;max-width:300px;z-index:3;transform:translate(-50%,-50%) rotate(-2deg);pointer-events:none}
.theme-phone-center img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 18px #0004)}
#theme-phone-canvas{display:none;position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 18px 18px #0004)}
.is-cascade-ready #theme-phone-main{opacity:0}.is-cascade-ready #theme-phone-canvas{display:block}
.theme-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.theme-connections path{fill:none;stroke:#a5b18e65;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}
.theme-connections path.is-active{stroke:#ee9979;stroke-width:1.6}
.theme-node{position:absolute;left:var(--x);top:var(--y);width:clamp(58px,6.3vw,88px);padding:0;background:none;z-index:4;transform:translate(-50%,-50%);text-align:center;isolation:isolate}
.theme-node-animals{--x:18%;--y:30%}.theme-node-fruits{--x:18%;--y:74%}.theme-node-jewels{--x:50%;--y:10%}.theme-node-mandalas{--x:82%;--y:30%}.theme-node-anime{--x:82%;--y:74%}
.theme-node-candy{--x:50%;--y:90%}
.theme-node-disc{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border:1px solid #8d9e713b;border-radius:50%;background:#242b20;overflow:hidden;transition:border-color .25s,background .25s,transform .3s}
.theme-node-disc img{display:block;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 3px 3px #0002)}
.theme-node-label{position:absolute;top:calc(100% + 10px);left:-35%;right:-35%;font-family:monospace;font-size:7px;letter-spacing:1px;text-transform:uppercase;color:#aeb99e;transition:color .25s}
.theme-node:hover .theme-node-disc,.theme-node[aria-pressed=true] .theme-node-disc{border-color:#d2ab87;background:#30382a;transform:translateY(-3px)}
.theme-node:hover .theme-node-label,.theme-node[aria-pressed=true] .theme-node-label{color:#f2dfc2}
.theme-node.is-active .theme-node-disc{border:2px solid #f0bc91;background:#3a4632;box-shadow:0 0 0 4px #e8c39718,0 10px 24px #0003;animation:theme-active-idle 3.6s ease-in-out infinite;will-change:transform}
.theme-node.is-active .theme-node-disc:after{content:'';position:absolute;inset:-30% 0;left:-20%;width:44%;background:linear-gradient(90deg,transparent,#fff6de99,transparent);transform:translateX(-180%) rotate(-25deg);animation:theme-active-shine 3.6s ease-in-out infinite;pointer-events:none}
.theme-node.is-active .theme-node-label{color:#f5dcba;font-weight:700}
.theme-node.is-active .theme-node-label:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#ff9172;margin-right:5px;vertical-align:middle}
#theme-scene:not(.is-in-view) .theme-node.is-active .theme-node-disc,#theme-scene:not(.is-in-view) .theme-node.is-active .theme-node-disc:after{animation-play-state:paused}
@keyframes theme-active-idle{0%,100%{transform:perspective(450px) translateY(-3px) rotateX(-7deg) rotateY(-9deg) scale(1.1)}50%{transform:perspective(450px) translateY(-7px) rotateX(7deg) rotateY(9deg) scale(1.14)}}
@keyframes theme-active-shine{0%,12%{transform:translateX(-180%) rotate(-25deg);opacity:0}22%{opacity:.9}56%,100%{transform:translateX(400%) rotate(-25deg);opacity:0}}
#theme-scene.is-revealed .theme-connections path{animation:theme-line-enter 1.1s ease backwards}
#theme-scene.is-revealed .theme-node{animation:theme-node-enter .65s ease backwards;animation-delay:var(--reveal-delay)}
#theme-scene.is-revealed .theme-phone-center{animation:theme-phone-enter .7s ease backwards}
@keyframes theme-line-enter{from{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}to{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}
@keyframes theme-node-enter{from{opacity:0}to{opacity:1}}
@keyframes theme-phone-enter{from{opacity:0}to{opacity:1}}
.theme-visual-top,.theme-visual-bottom{position:absolute;left:2%;right:2%;display:flex;justify-content:space-between;gap:15px;pointer-events:none;font-family:monospace;font-size:7px;letter-spacing:.8px;color:#9aa78b;line-height:1.7;z-index:6}
.theme-visual-top{top:8px}.theme-visual-bottom{bottom:8px;align-items:flex-end}
.theme-visual-top>span:last-child{color:#ddc5a9}.theme-visual-bottom>span:last-child{text-align:right}
.theme-world-footer{border-top:1px solid #85956e33;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-family:monospace;font-size:7px;letter-spacing:.7px;line-height:1.8;color:#9ca88e}
.theme-world-footer>span:first-child{color:#dfd7be}
@media(min-width:1600px){.theme-world-layout{gap:6%}.theme-world-copy>p{font-size:15px;max-width:390px}.theme-description{max-width:390px}.theme-description p{font-size:13px}.theme-description h3{font-size:32px}.theme-world-copy>.text-link{font-size:12px}.theme-visual-top,.theme-visual-bottom,.theme-world-footer{font-size:8px}.theme-node-label{font-size:8px}}
@media(max-width:1100px) and (min-width:761px){.theme-world-layout{grid-template-columns:.8fr 1.2fr;gap:3%}.theme-world-copy h2{font-size:43px}.theme-visual{height:610px}.theme-visual-top,.theme-visual-bottom{font-size:6px}.theme-description{min-height:110px}.theme-phone-center{width:36%}.theme-node{width:64px}}
@media(max-width:760px){.theme-world-layout{grid-template-columns:1fr;gap:12px;margin-top:24px}.theme-world-copy{padding:10px 0 0;max-width:none}.theme-world-copy h2{font-size:43px}.theme-world-copy>p{font-size:12px;margin-top:20px;max-width:430px}.theme-world-copy>.theme-explore-hint{font-size:7px;margin-top:20px}.theme-description{min-height:88px;margin-top:22px;max-width:none}.theme-description p{max-width:430px}.theme-world-copy>.text-link{margin-top:18px;font-size:10px}.theme-visual{height:460px;margin:16px -12px 12px}#theme-scene{inset:12px -10px}.theme-phone-center{width:36%}.theme-node{width:56px}.theme-node-label{font-size:6px;letter-spacing:.6px;top:calc(100% + 8px)}.theme-visual-top,.theme-visual-bottom{font-size:6px;left:4%;right:4%}.theme-visual-bottom>span:last-child{max-width:135px}.theme-world-footer{flex-direction:column;gap:6px;font-size:6px}}
@media(max-width:380px){.theme-world-copy h2{font-size:38px}.theme-visual{height:420px}.theme-node{width:50px}.theme-visual-top,.theme-visual-bottom{font-size:5px}}
@media(prefers-reduced-motion:reduce){.theme-node-disc,.theme-node-label,.theme-connections path{transition:none}#theme-scene.is-revealed .theme-connections path,#theme-scene.is-revealed .theme-node,#theme-scene.is-revealed .theme-phone-center,.theme-node.is-active .theme-node-disc{animation:none}.theme-node.is-active .theme-node-disc{transform:scale(1.1)}.theme-node.is-active .theme-node-disc:after{display:none}}
