.plaza-stage{background-color:var(--color-night);cursor:grab;touch-action:none;--mx:50%;--my:50%;background-image:linear-gradient(#2af0ea0a 1px,#0000 1px),linear-gradient(90deg,#2af0ea0a 1px,#0000 1px),radial-gradient(#ff3d8b0f 1px,#0000 1px);background-size:28px 28px,28px 28px,28px 28px;width:100%;height:100vh;position:relative;overflow:hidden}.plaza-stage:active{cursor:grabbing}.plaza-stage:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle 240px at var(--mx) var(--my), #ff3d8b24, #ffe14d0d 40%, transparent 70%);transition:background .1s linear;position:absolute;inset:0}@media (width<=640px){.plaza-stage:before{display:none}}.plaza-canvas{z-index:2;pointer-events:none;display:block;position:absolute;inset:0}.plaza-station{z-index:3;background-color:var(--color-night-warm);pointer-events:none;will-change:transform;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;width:100vw;height:100vh;position:absolute;top:0;left:-100vw;overflow:hidden auto}.plaza-station::-webkit-scrollbar{display:none}.plaza-station>*{pointer-events:auto;touch-action:pan-y}.plaza-station-loading{height:100vh;color:var(--color-neon-cyan);pointer-events:auto;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.station-page-inner{background-color:var(--color-night);min-height:100vh}.plaza-divider{z-index:4;background:linear-gradient(180deg, var(--color-neon-pink) 0%, var(--color-neon-yellow) 50%, var(--color-neon-cyan) 100%);pointer-events:none;will-change:transform;width:2px;height:100vh;position:absolute;top:0;left:0;box-shadow:0 0 12px #ff3d8b99}.plaza-hint{z-index:10;background-color:var(--color-neon-yellow);color:var(--color-night);border-radius:var(--radius-capsule);box-shadow:4px 4px 0 0 var(--color-neon-pink);pointer-events:none;padding:10px 18px;font-size:13px;font-weight:600;animation:2s ease-in-out infinite plaza-hint-pulse;position:fixed;bottom:24px;right:24px}@keyframes plaza-hint-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.plaza-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);background-color:#0d0a0fd9;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out plaza-modal-fade;display:flex;position:fixed;inset:0}@keyframes plaza-modal-fade{0%{opacity:0}to{opacity:1}}.plaza-modal{background-color:var(--color-ink);width:100%;max-width:720px;color:var(--color-night);border-radius:var(--radius-capsule);box-shadow:6px 6px 0 0 var(--color-neon-pink);animation:.22s cubic-bezier(.34,1.56,.64,1) plaza-modal-pop;position:relative;overflow:hidden}@keyframes plaza-modal-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.plaza-modal-close{z-index:2;background-color:var(--color-night);width:36px;height:36px;color:var(--color-ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;transition:transform .15s;display:flex;position:absolute;top:12px;right:12px}.plaza-modal-close:hover{transform:rotate(90deg)scale(1.1)}.plaza-modal-cover{aspect-ratio:16/9;background-color:var(--color-night-warm);width:100%;overflow:hidden}.plaza-modal-cover img{object-fit:cover;width:100%;height:100%;display:block}.plaza-modal-body{flex-direction:column;gap:16px;padding:28px 32px 32px;display:flex}.plaza-modal-tag{color:var(--color-night);border-radius:var(--radius-capsule);letter-spacing:.05em;align-self:flex-start;padding:4px 14px;font-size:12px;font-weight:700}.plaza-modal-title{color:var(--color-night);margin:0;font-size:24px;font-weight:800;line-height:1.3}.plaza-modal-cta{color:var(--color-night);border-radius:var(--radius-capsule);box-shadow:4px 4px 0 0 var(--color-night);align-self:flex-start;margin-top:8px;padding:12px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s}.plaza-modal-cta:hover{box-shadow:6px 6px 0 0 var(--color-night);transform:translate(-2px,-2px)}@media (width<=640px){.plaza-modal-body{padding:20px 20px 24px}.plaza-modal-title{font-size:18px}.plaza-hint{padding:8px 14px;font-size:12px;bottom:16px;right:16px}}
