.stf__parent{box-sizing:border-box;-ms-touch-action:pan-y;touch-action:pan-y;display:block;position:relative;transform:translateZ(0)}.sft__wrapper{box-sizing:border-box;width:100%;position:relative}.stf__parent canvas{width:100%;height:100%;position:absolute;top:0;left:0}.stf__block{box-sizing:border-box;perspective:2000px;width:100%;height:100%;position:absolute}.stf__item{transform-style:preserve-3d;display:none;position:absolute}.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;top:0;left:0}:root{--bg:#f3f2ec;--bg-accent:#eef2ea;--ink:#2a3128;--brand-green:#1c6b40;--control-bg:#ffffffd1;--control-fg:#2a3128;--control-idle-opacity:.42;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;height:100%;margin:0;padding:0}body{background:radial-gradient(circle at 50% 0%, var(--bg-accent), var(--bg) 60%);color:var(--ink);touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#app{flex-direction:column;display:flex;position:fixed;inset:0}#loading-screen{background:var(--bg);z-index:50;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.loading-mark{border:3px solid #1c6b402e;border-top-color:var(--brand-green);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#loading-screen p{letter-spacing:.02em;color:#2a3128a6;margin:0;font-size:14px}#stage{min-height:0;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;flex:1;display:flex}#book-wrapper{flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 8px;display:flex;position:relative}#book{touch-action:pan-y pinch-zoom}#book canvas{max-width:100%;max-height:100%;display:block}.nav-arrow{background:var(--control-bg);width:42px;height:42px;color:var(--control-fg);cursor:pointer;opacity:var(--control-idle-opacity);z-index:5;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .35s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #00000014}.nav-arrow:hover,.nav-arrow:focus-visible{opacity:1}.nav-arrow:active{transform:translateY(-50%)scale(.94)}.nav-arrow[disabled]{pointer-events:none;opacity:0!important}#nav-prev{left:6px}#nav-next{right:6px}@media (width>=700px){#nav-prev{left:18px}#nav-next{right:18px}.nav-arrow{width:48px;height:48px}}#stage.controls-active .nav-arrow:not([disabled]){opacity:.85}#swipe-hint{color:#fff;letter-spacing:.01em;pointer-events:none;opacity:0;z-index:6;white-space:nowrap;background:#1e231eb8;border-radius:999px;padding:9px 16px;font-size:13px;transition:opacity .5s;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}#swipe-hint.visible{opacity:1}#toolbar{padding:6px calc(14px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(14px + var(--safe-left));opacity:var(--control-idle-opacity);flex:none;justify-content:space-between;align-items:center;transition:opacity .4s;display:flex}#stage.controls-active #toolbar{opacity:1}#page-indicator{color:#2a312899;background:var(--control-bg);font-variant-numeric:tabular-nums;border-radius:999px;padding:5px 11px;font-size:12px}#toolbar-buttons{gap:8px;display:flex}.tool-btn{background:var(--control-bg);width:36px;height:36px;color:var(--control-fg);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;box-shadow:0 2px 8px #0000000f}.tool-btn .icon-off,.tool-btn[aria-pressed=false] .icon-on{display:none}.tool-btn[aria-pressed=false] .icon-off{display:inline}:-webkit-any(#app:fullscreen,#app:-webkit-full-screen){background:var(--bg)}:is(#app:fullscreen,#app:fullscreen){background:var(--bg)}:-webkit-any(:fullscreen #stage,:-webkit-full-screen #stage){padding:0}:is(:fullscreen #stage,:fullscreen #stage){padding:0}
