:root{--ink:#fff;--yellow:#ffc93c;--red:#ff4d6d;--panel:#241e63;--font:"Hind Siliguri","Noto Sans Bengali","Kalpurush","Nirmala UI",system-ui,sans-serif} *{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent} html,body{height:100%;overflow:hidden;background:#0f0c33;color:var(--ink);font-family:var(--font);overscroll-behavior:none} body{display:flex;align-items:center;justify-content:center} .stage{position:relative;height:100svh;max-height:100vh;aspect-ratio:9/16;max-width:100vw;background:#1c1750} canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block} .ov{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px; padding:24px 22px;text-align:center;background:rgba(15,12,51,.88);overflow:auto} .ov.on{display:flex} .ov h1{font-size:clamp(26px,8vw,34px);line-height:1.2} .ov p{font-size:clamp(15px,4.3vw,18px);opacity:.9;max-width:30ch} .ov .em{font-size:64px;line-height:1} .btn{border:0;border-radius:16px;padding:15px 28px;font:700 clamp(18px,5.4vw,22px) var(--font);background:var(--yellow);color:#2b2200; cursor:pointer;box-shadow:0 5px 0 rgba(0,0,0,.35);touch-action:manipulation;width:100%;max-width:300px} .btn:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.35)} .btn.alt{background:transparent;color:var(--ink);border:2px solid var(--yellow);box-shadow:none;padding:11px 14px;font-size:16px} .btn:focus-visible{outline:3px solid #fff;outline-offset:3px} .grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:300px} #prev{width:min(62%,230px);border-radius:12px;border:1px solid rgba(255,255,255,.25)} .legend{display:flex;gap:14px;font-size:15px;opacity:.95} .foot{font-size:11px;opacity:.6;max-width:34ch} .toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#fff;color:#111;padding:8px 16px;border-radius:20px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none} .toast.on{opacity:1} [hidden]{display:none!important}.branding{position:absolute;bottom:0;left:0;right:0;z-index:5;pointer-events:none;text-align:center;background:#100d36ed;color:#e9e8ff;font-size:10px;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.branding b{color:#ffc93c}.ov{padding-bottom:52px;z-index:4}.smallbtn{position:absolute;top:53px;right:12px;z-index:3;border:1px solid #ffffff55;background:#100d36bd;color:white;font:700 12px var(--font);border-radius:8px;padding:7px 10px;cursor:pointer}#touchControls{position:absolute;bottom:34px;left:12px;right:12px;display:flex;justify-content:space-between;pointer-events:none}#touchControls button{pointer-events:auto;touch-action:none;min-width:52px;min-height:38px;border:1px solid #ffffff66;border-radius:10px;background:#100d3688;color:white;font-size:22px;cursor:pointer}#copyLink{width:100%;padding:9px;background:#fff;color:#111;border:0;border-radius:6px}.toast{z-index:10;bottom:60px}button:focus-visible,input:focus-visible{outline:3px solid white;outline-offset:3px}.stage{width:min(100vw,56.25svh);height:100svh;max-height:none;aspect-ratio:auto}.locked{display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;font:18px/1.6 system-ui;color:white;background:#171340;min-height:100svh}.locked p{max-width:420px}@media(max-height:550px){.ov{justify-content:flex-start;padding-top:20px}.ov .em{font-size:40px}.ov h1{font-size:23px}.ov p{font-size:13px}.ov .btn{font-size:15px;padding:10px}.ov{gap:9px}#prev{max-height:28svh;width:auto}}@media(prefers-reduced-motion:reduce){.toast{transition:none}}