:root{--bg: #eceded;--dot: #d7d7d2;--ink-soft: #7e7e88;--ink-faint: #a6a6ae;--line: #ccccC6}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--bg);background-image:radial-gradient(circle,var(--dot) 1.1px,transparent 1.3px);background-size:46px 46px;background-position:12px 12px;overflow:hidden;font-family:Instrument Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}.stage{position:fixed;top:0;right:0;bottom:0;left:0}.stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;opacity:0;transition:opacity .7s ease}.stage.ready canvas{opacity:1}.stage canvas:active{cursor:grabbing}.nav{position:fixed;left:50%;bottom:34px;transform:translate(-50%);display:flex;align-items:center;gap:26px;z-index:10}.nav-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#5b5b64;display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,border-color .18s ease,opacity .18s ease}.nav-btn:hover:not(:disabled){transform:scale(1.06);border-color:#9a9a92}.nav-btn:active:not(:disabled){transform:scale(.94)}.nav-btn:disabled{opacity:.32;cursor:default}.nav-btn:focus-visible{outline:2px solid #3a4bd0;outline-offset:2px}.nav-label{min-width:300px;text-align:center;color:var(--ink-soft);font-size:15.5px;letter-spacing:.02em;animation:label-in .45s ease}@keyframes label-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.hint{position:fixed;left:26px;bottom:40px;color:var(--ink-faint);font-size:13px;letter-spacing:.02em;z-index:10}.chip{position:fixed;right:26px;bottom:40px;color:var(--ink-faint);font-size:12px;letter-spacing:.06em;text-transform:uppercase;z-index:10}@media (max-width: 640px){.nav{gap:14px;bottom:22px}.nav-label{min-width:200px;font-size:13px}.hint,.chip{display:none}}@media (prefers-reduced-motion: reduce){.nav-label{animation:none}.stage canvas{transition:none}}.learning-pop{position:fixed;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px solid rgba(255,255,255,.85);border-radius:26px;background:#f8fafdd1;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:inset 0 1px #ffffffe6,0 14px 34px #23263029,0 2px 6px #23263014;color:#272a32;font-family:-apple-system,BlinkMacSystemFont,Instrument Sans,sans-serif;cursor:pointer;touch-action:manipulation;transform-origin:center bottom}.learning-pop:focus-visible{outline:3px solid #3949cf;outline-offset:4px}.learning-symbol{font-size:82px;line-height:1.1;font-weight:600;color:var(--element-accent);letter-spacing:-.04em}.learning-symbol.is-emoji{letter-spacing:normal;filter:drop-shadow(0 6px 8px rgba(30,35,42,.1))}.kind-arabic .learning-symbol,.learning-arabic{font-family:Noto Naskh Arabic,serif;letter-spacing:normal}.learning-title{font-size:22px;line-height:1.15;font-weight:600;overflow-wrap:anywhere}.learning-example,.learning-arabic{font-size:24px;line-height:1.15}.learning-trio{display:flex;gap:8px;font-size:44px;align-items:center}.learning-trio.is-letter{font-family:"Instrument Serif",Noto Naskh Arabic,serif;color:var(--element-accent);font-size:54px}.learning-count{display:grid;gap:6px;margin-top:4px}.learning-count>span{font-size:23px;opacity:.12;filter:grayscale(1);transform:scale(.8);transition:opacity .22s ease,filter .22s ease,transform .3s ease}.learning-count>span.is-revealed{opacity:1;filter:none;transform:scale(1)}@media (max-width:600px){.learning-pop{padding:12px;border-radius:22px}.learning-symbol{font-size:70px}.learning-title{font-size:20px}.learning-trio{font-size:34px;gap:6px}.learning-trio.is-letter{font-size:44px}.learning-count>span{font-size:20px}}@media (prefers-reduced-motion:reduce){.learning-count>span{transition:none}}.book-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.book-viewport canvas{position:relative;inset:auto}.mobile-guide{display:none}.render-error{position:fixed;left:24px;right:24px;top:30%;padding:24px;border-radius:20px;background:#fff;color:#272a32;text-align:center}.kind-bangla .learning-symbol,.kind-bangla .learning-title{font-family:Noto Sans Bengali,Bangla Sangam MN,Nirmala UI,sans-serif;letter-spacing:normal}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.learning-pop{background:#f7f9fc}}.nav{bottom:max(24px,env(safe-area-inset-bottom))}@media (max-width:699px) and (orientation:portrait){.book-viewport{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.book-viewport canvas{width:calc(200vw - 32px);min-width:100%;touch-action:pan-x pinch-zoom}.mobile-guide{display:block;position:fixed;left:0;right:0;bottom:calc(86px + env(safe-area-inset-bottom));text-align:center;font-size:12px;color:#696d76;pointer-events:none}.nav{bottom:max(18px,env(safe-area-inset-bottom))}.nav-label{min-width:176px;max-width:calc(100vw - 140px);font-size:12px}.nav-btn{width:52px;height:52px;flex-shrink:0}}@media (max-height:500px){.book-viewport{overflow:auto}.book-viewport canvas{min-height:600px;touch-action:pan-x pan-y pinch-zoom}.hint,.chip{display:none}}.stage{height:100%;height:100dvh}@media (max-width:1280px){.hint,.chip{display:none}}@media (max-height:500px){.book-viewport{bottom:90px}}.learning-caption{font-family:Noto Sans Bengali,Bangla Sangam MN,sans-serif;font-size:14px;line-height:1.4;color:#5c6269}.kind-bangla .learning-symbol{font-size:64px}.dedication{position:fixed;right:20px;bottom:calc(env(safe-area-inset-bottom) + 5px);max-width:calc(100vw - 40px);font-size:10px;line-height:1.4;color:#717780;text-align:right;pointer-events:none}.nav{bottom:calc(env(safe-area-inset-bottom) + 26px)}@media (max-width:699px) and (orientation:portrait){.nav{bottom:calc(env(safe-area-inset-bottom) + 24px)}.dedication{right:12px;max-width:calc(100vw - 24px);font-size:9px}}
