html,body{overflow-x:clip!important;width:100%;margin:0}#container{transform-origin:top left;overflow:clip;isolation:isolate}#container>[data-breakpoint]{display:block!important;width:100%!important;min-width:100%!important}.touch-toolbar{display:none}.compact{padding-bottom:64px}.compact .touch-toolbar{display:flex;position:fixed;z-index:20000;inset:auto 0 0;gap:8px;align-items:center;justify-content:space-evenly;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#21162ff5;border-top:1px solid #ffffff33;color:#fff;font:15px system-ui}.touch-toolbar a,.touch-toolbar button,.touch-toolbar summary{display:block;min-height:44px;min-width:44px;padding:10px 13px;color:#fff;text-decoration:none;background:transparent;border:1px solid #ffffff44;border-radius:6px;line-height:22px;touch-action:manipulation}.touch-toolbar nav{position:absolute;bottom:calc(100% + 8px);right:12px;max-height:70dvh;overflow:auto;background:#21162f;border:1px solid #ffffff44;border-radius:8px;padding:12px;min-width:250px}.touch-toolbar nav a{margin-bottom:7px}.compact #container [role=button]:after,.compact #container [role=link]:after{content:"";position:absolute;inset:calc(-7px / var(--scene-scale));pointer-events:auto}.reader{position:fixed;inset:0;z-index:30000;overflow:auto;background:#20152c}.reader[hidden]{display:none!important}.reader-bar{position:sticky;top:0;z-index:30;display:flex;justify-content:flex-end;padding:8px 16px;background:#20152cf5;border-bottom:1px solid #ffffff22}.reader-bar button{color:white;background:transparent;border:1px solid #ffffff55;border-radius:6px;padding:10px 18px;min-height:44px;font:16px system-ui}.reader .btl-scene,.reader .btl-media,.reader .btl-header{display:none}.reader .btl-section{padding-bottom:10px}.reader .btl-intro{padding-top:28px}#container img{backface-visibility:hidden}@media(prefers-reduced-motion:reduce){#container *{animation-duration:0.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}html,body{height:100%;overflow:hidden!important}#scene-viewport{position:fixed;inset:0;overflow:hidden;background:#20152c}#interactive-scene{position:absolute;top:0;border:0;transform-origin:top left;max-width:none}.scene-document{height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important}html:has(.scene-document){height:auto!important;overflow-y:auto!important;overflow-x:hidden!important}.scene-document #container{width:100%;margin:0;zoom:1}.scene-document #container>[data-breakpoint]{min-width:100%!important;width:100%!important}
.compact-scene #container [role=button]:after,.compact-scene #container [role=link]:after{content:"";position:absolute;inset:calc(-12px / var(--scene-scale));pointer-events:auto}.scene-loading{position:fixed;inset:0;z-index:15000;display:grid;place-content:center;background:#20152c;color:#f8eff7;font:32px/1.2 Georgia,serif;text-align:center}.scene-loading small{display:block;font:14px system-ui;margin-top:20px;opacity:.75}.touch-hint{display:none}.compact .touch-hint{display:block;position:fixed;bottom:86px;left:50%;transform:translateX(-50%);z-index:15000;white-space:nowrap;font:13px system-ui;padding:8px 14px;border-radius:30px;background:#20152ccb;color:#fff;pointer-events:none}.scene-document .scene-loading,.scene-document .touch-hint{display:none}


.compact-scene [style*="backdrop-filter"]{backdrop-filter:none!important}

/* Code effects fill their own Lumen frame instead of the browser window, so the cover clouds never spill into the next section. */
.scene-document #container .h-screen{height:100%!important;min-height:0!important}.scene-document #container .h-screen>canvas{width:100%!important;height:100%!important}

/* No splash: the scene fades in over the page colour as soon as it is ready. */
.scene-loading{display:none!important}
