*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:root[data-theme=day]{--paper: #f3ead8;--paper-2: #ede0c4;--ink: #8b1f24;--ink-soft: rgba(139, 31, 36, .45);--poster-filter: none}:root[data-theme=dusk]{--paper: #efd1ad;--paper-2: #d8a978;--ink: #5a1518;--ink-soft: rgba(90, 21, 24, .5);--poster-filter: sepia(.35) saturate(1.25) hue-rotate(-10deg) brightness(.96)}:root[data-theme=night]{--paper: #0e1a26;--paper-2: #15293c;--ink: #e6c98a;--ink-soft: rgba(230, 201, 138, .55);--poster-filter: invert(1) hue-rotate(180deg) brightness(.95) saturate(.85)}:root{color-scheme:light;font-family:Cormorant Garamond,Georgia,serif}:root[data-theme=night]{color-scheme:dark}html,body{background:var(--paper);color:var(--ink);min-height:100vh;transition:background .7s ease,color .7s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,var(--paper) 0%,var(--paper-2) 100%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-blend-mode:multiply;z-index:-2;pointer-events:none;transition:background .7s ease}#app{max-width:760px;margin:0 auto;padding:24px 16px 56px;position:relative}.poster-frame{position:relative;width:100%;aspect-ratio:1408 / 3054;margin:0 auto;box-shadow:0 30px 50px -20px #00000038;border-radius:4px;overflow:hidden;background:var(--paper);transition:box-shadow .7s ease}.poster-img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;filter:var(--poster-filter);transition:filter .7s ease}.hotspot{position:absolute;background:transparent;border:0;cursor:pointer;padding:0;outline:none}.hotspot:focus-visible{outline:2px solid rgba(139,31,36,.5);outline-offset:2px}body[data-debug=true] .hotspot{background:#1482dc1f;box-shadow:inset 0 0 0 1.5px #1482dccc}body[data-debug=true] .hotspot:after{content:attr(aria-label);position:absolute;bottom:100%;left:0;background:#1482dcf2;color:#fff;font:600 10px/1 system-ui,sans-serif;padding:2px 5px;border-radius:2px;white-space:nowrap;letter-spacing:.04em;transform:translateY(-2px);pointer-events:none}.debug-pill{position:fixed;bottom:18px;left:18px;z-index:25;background:#1482dcf2;color:#fff;font:600 11px/1.2 system-ui,sans-serif;letter-spacing:.06em;padding:8px 12px;border-radius:4px;display:none}body[data-debug=true] .debug-pill{display:block}.controls{position:fixed;top:18px;right:18px;display:flex;flex-direction:column;gap:10px;z-index:20}.controls button{width:44px;height:44px;background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;color:var(--ink);display:grid;place-items:center;transition:background .24s,transform .2s,box-shadow .24s;font-family:Bebas Neue,sans-serif;font-size:11px;letter-spacing:.08em}.controls button:hover{background:var(--ink);color:var(--paper);box-shadow:0 6px 18px var(--ink-soft);transform:translateY(-2px)}.controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.controls button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6}.drawer{position:fixed;top:0;right:0;width:min(440px,92vw);height:100vh;background:var(--paper);border-left:1.5px solid var(--ink);box-shadow:-24px 0 60px #00000038;transform:translate(100%);transition:transform .46s cubic-bezier(.22,.95,.4,1);z-index:30;overflow-y:auto;color:var(--ink)}.drawer[data-open=true]{transform:translate(0)}.drawer-inner{padding:28px 32px 48px;position:relative}.drawer-close{position:absolute;top:18px;right:20px;width:36px;height:36px;border:1.4px solid var(--ink);border-radius:999px;display:grid;place-items:center}.drawer-close:before,.drawer-close:after{content:"";position:absolute;width:14px;height:1.5px;background:currentColor}.drawer-close:before{transform:rotate(45deg)}.drawer-close:after{transform:rotate(-45deg)}.drawer .category{font-family:DM Mono,monospace;font-size:11px;letter-spacing:.32em;opacity:.7;margin-bottom:12px;margin-top:28px}.drawer h2{font-family:Bebas Neue,sans-serif;font-size:44px;letter-spacing:.04em;margin:0 0 4px;line-height:1}.drawer .bn{font-family:"Noto Serif Bengali",serif;font-size:24px;margin:0 0 12px}.drawer .subtitle{font-family:Cormorant Garamond,serif;font-size:16px;letter-spacing:.18em;text-transform:uppercase;opacity:.75;margin:0 0 24px}.drawer .divider{height:1px;background:var(--ink);opacity:.25;margin:22px 0;position:relative}.drawer .divider:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--ink);border-radius:999px;transform:translate(-50%,-50%)}.drawer .meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-family:Cormorant Garamond,serif;font-size:16px}.drawer .meta dt{font-family:DM Mono,monospace;font-size:11px;letter-spacing:.18em;opacity:.65;text-transform:uppercase;align-self:center}.drawer .meta dd{margin:0}.drawer .body{font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.55;margin:12px 0 24px}.drawer a.maps{display:inline-flex;align-items:center;gap:8px;font-family:Bebas Neue,sans-serif;letter-spacing:.16em;font-size:14px;color:var(--ink);border:1.4px solid var(--ink);padding:8px 14px;text-decoration:none;transition:background .24s,color .24s}.drawer a.maps:hover{background:var(--ink);color:var(--paper)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .36s ease;z-index:25}.scrim[data-show=true]{opacity:1;pointer-events:auto}.tip{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--paper);border:1.4px solid var(--ink);padding:10px 18px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:14px;letter-spacing:.12em;opacity:0;transition:opacity .48s ease;z-index:15;border-radius:2px}.tip[data-show=true]{opacity:.92}.credit{text-align:center;font-family:Cormorant Garamond,serif;font-style:italic;font-size:13px;color:var(--ink);opacity:.55;padding:28px 16px 8px;letter-spacing:.02em}.credit a{color:inherit;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:2px}.credit a:hover{opacity:.85}@media (max-width: 760px){#app{padding:12px 6px}.controls{top:10px;right:10px}.controls button{width:38px;height:38px;font-size:10px}.drawer h2{font-size:34px}.drawer .body{font-size:16px}}
