:root{--indigo-night: #1a1438;--indigo-deep: #0f0a24;--indigo-veil: #3d2f6b;--lamp-gold: #e8c373;--lamp-gold-warm: #f5d99a;--jasmine: #f4ecd8;--kumkum: #b13e3e;--banana-leaf: #3d5a3a;--ink: #0a0814;--font-en-display: "Cormorant Garamond", Georgia, serif;--font-en-body: "EB Garamond", Georgia, serif;--font-te: "Noto Serif Telugu", "Cormorant Garamond", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:var(--indigo-deep);color:var(--jasmine);font-family:var(--font-en-body);user-select:none;-webkit-user-select:none;overscroll-behavior:none}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#world{position:fixed;inset:0;overflow:hidden;background:var(--indigo-deep);touch-action:pan-x;cursor:grab}#world.dragging{cursor:grabbing}.layer{position:absolute;top:0;left:0;height:100%;will-change:transform;contain:paint;pointer-events:none;transform:translateZ(0)}.layer svg{display:block;height:100%;width:auto}#title{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:0;right:0;text-align:center;z-index:10;pointer-events:none}#title h1{font-family:var(--font-en-display);font-size:11px;letter-spacing:5px;opacity:.55;font-weight:400}#title p{font-size:10px;opacity:.35;margin-top:4px;font-style:italic;letter-spacing:1px}#caption{position:fixed;top:calc(env(safe-area-inset-top) + 56px);left:0;right:0;text-align:center;padding:0 24px;pointer-events:none;z-index:10;transition:opacity .5s ease;opacity:.95}#caption .te{display:block;font-family:var(--font-te);color:var(--lamp-gold);font-size:clamp(20px,5.6vw,28px);font-weight:300;letter-spacing:.01em;text-shadow:0 0 24px rgba(232,195,115,.3);margin-bottom:6px;line-height:1.3}#caption .en{font-family:var(--font-en-body);font-style:italic;font-size:13px;color:#f4ecd8a6;letter-spacing:.02em}#stations{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 22px);left:0;right:0;display:flex;gap:5px;justify-content:center;z-index:10;pointer-events:none;flex-wrap:wrap;padding:0 16px}#stations .dot{width:5px;height:5px;border-radius:50%;background:#f4ecd840;transition:all .45s ease}#stations .dot.active{background:var(--lamp-gold);width:18px;border-radius:3px;box-shadow:0 0 12px #e8c37380}#hint{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 50px);left:0;right:0;text-align:center;font-size:10px;color:#f4ecd866;font-style:italic;letter-spacing:2px;pointer-events:none;z-index:10;transition:opacity .6s}#hint.gone{opacity:0}@keyframes tw{0%,to{opacity:.55}50%{opacity:1}}.twinkle{animation:tw 2.5s ease-in-out infinite}.twinkle.a{animation-delay:.3s}.twinkle.b{animation-delay:.9s}.twinkle.c{animation-delay:1.4s}.twinkle.d{animation-delay:2s}@keyframes drift{0%{transform:translate(0);opacity:.55}to{transform:translate(8px,-36px);opacity:0}}.smoke{animation:drift 5s ease-out infinite;transform-origin:center bottom}.smoke.b{animation-delay:1.7s}.smoke.c{animation-delay:3.2s}@keyframes flicker{0%,to{opacity:.85}50%{opacity:1}}.flame{animation:flicker .8s ease-in-out infinite;transform-origin:center bottom}@media (prefers-reduced-motion: reduce){.twinkle,.smoke,.flame{animation:none}#caption,#hint{transition:none}}
