.maze3d-root{--maze3d-top:max(.7rem, var(--app-safe-area-top,env(safe-area-inset-top,0px)));--maze3d-left:max(.7rem, var(--app-safe-area-left,env(safe-area-inset-left,0px)));--maze3d-right:max(.7rem, var(--app-safe-area-right,env(safe-area-inset-right,0px)));--maze3d-bottom:max(1rem, var(--app-safe-area-bottom,env(safe-area-inset-bottom,0px)));z-index:40;color:#211d4d;background:#1b3b28;font-family:Comfortaa,system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.maze3d-hud{display:contents}.module-landing-intro:has(~.maze3d-root){display:none}.maze3d-root :is(button,summary):focus-visible{outline-offset:4px;outline:3px solid #7c3aed}.maze3d-root [hidden]{display:none!important}.maze3d-stage{position:absolute;inset:0}.maze3d-stage canvas{display:block;width:100%!important;height:100%!important}.maze3d-mouse-resume{z-index:35;text-align:center;background:#fff9dbf5;border:3px solid #211d4d;border-radius:1.1rem;width:min(22rem,100% - 1.5rem);padding:1rem;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:.15em .15em #211d4d}.maze3d-mouse-resume p{margin:.75rem 0 0;font-size:.8rem;line-height:1.5}.maze3d-top{top:var(--maze3d-top);left:var(--maze3d-left);right:var(--maze3d-right);z-index:30;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex;position:absolute}.maze3d-top>*{pointer-events:auto}.maze3d-title-block{background:#fff9dbeb;border:3px solid #211d4d;border-radius:1.15rem;min-width:0;max-width:min(18rem,58vw);padding:.45rem .85rem .55rem;box-shadow:.15em .15em #211d4d}.maze3d-title-block .maze3d-progress{color:#365314;letter-spacing:normal;text-transform:none;margin-top:.4rem;font-size:.72rem}.maze3d-title-block p{letter-spacing:.08em;text-transform:uppercase;color:#92400e;margin:0;font-size:.68rem;font-weight:800}.maze3d-title-block h1{color:#211d4d;margin:.1rem 0 0;font-size:clamp(1rem,2.4vw,1.25rem);font-weight:900}.maze3d-top-actions{flex-shrink:0;justify-content:flex-end;gap:.45rem;display:flex}.maze3d-top-actions .kid-back-btn.kid-back-btn--compact{min-width:2.75rem;height:2.75rem;min-height:2.75rem}.maze3d-tools{position:relative}.maze3d-tools summary{list-style:none}.maze3d-tools summary::-webkit-details-marker{display:none}.maze3d-tools__panel{width:min(20rem, calc(100vw - var(--maze3d-left) - var(--maze3d-right)));max-height:calc(100dvh - var(--maze3d-top) - var(--maze3d-bottom) - 4.5rem);overscroll-behavior:contain;background:#fffdf6;border:3px solid #211d4d;border-radius:1.1rem;gap:.65rem;padding:1rem;display:grid;position:absolute;top:calc(100% + .75rem);right:0;overflow-y:auto;box-shadow:.15em .15em #211d4d}.maze3d-tools__panel p{margin:0 0 .25rem;font-size:.85rem;font-weight:700;line-height:1.5}.maze3d-minimap{top:calc(var(--maze3d-top) + 6.2rem);right:var(--maze3d-right);z-index:28;width:min(15rem, calc(100% - var(--maze3d-left) - var(--maze3d-right)));max-height:calc(100% - var(--maze3d-top) - var(--maze3d-bottom) - 11rem);overscroll-behavior:contain;pointer-events:auto;background:#fffdf6;border:3px solid #211d4d;border-radius:1.15rem;padding:.65rem;position:absolute;overflow-y:auto;box-shadow:.15em .15em #211d4d}.maze3d-minimap__svg{filter:drop-shadow(.12em .12em #211d4d);width:min(100%,10rem);height:auto;margin-inline:auto;display:block}.maze3d-map-hint{margin:.65rem 0;font-size:.72rem;font-weight:700;line-height:1.5}.maze3d-minimap__frame{fill:#211d4d}.maze3d-minimap__fog{fill:#2b2a55}.maze3d-minimap__wall{fill:#365c32}.maze3d-minimap__floor{fill:#d8f0b4}.maze3d-minimap__floor.is-start{fill:#fde68a}.maze3d-minimap__floor.is-goal,.maze3d-minimap__fog+.is-goal{fill:#f59e0b}.maze3d-minimap__floor.is-halt{fill:#a8a29e}.maze3d-minimap__floor.is-halt-near{fill:#fef08a}.maze3d-minimap__floor.is-halt-on{fill:#fbbf24}.maze3d-minimap__player{fill:#db2777;stroke:#211d4d;stroke-width:1.1px}.maze3d-halts{flex-direction:column;gap:.35rem;display:flex}.maze3d-halt-chip{color:#211d4d;text-align:left;cursor:pointer;background:#ffffffe6;border:3px solid #211d4d;border-radius:999px;align-items:center;gap:.4rem;min-height:2.75rem;padding:.45rem .65rem;font-size:.82rem;font-weight:800;line-height:1.4;display:inline-flex;box-shadow:.1em .1em #211d4d}.maze3d-halt-chip svg{flex-shrink:0}.maze3d-halt-chip:disabled{color:#57534e;cursor:default;background:#f5f5f4}.maze3d-prompt{left:50%;bottom:calc(var(--maze3d-bottom) + 4rem);z-index:32;text-align:center;flex-direction:column;align-items:center;gap:.55rem;width:min(22rem,100% - 1.5rem);display:flex;position:absolute;transform:translate(-50%)}.maze3d-prompt p{color:#fff8e7;background:#211d4ddb;border-radius:1rem;margin:0;padding:.55rem .9rem;font-size:.95rem;font-weight:800}.maze3d-perf{right:.7rem;bottom:max(.7rem, var(--app-safe-area-bottom));z-index:28;color:#e5e7eb;pointer-events:none;background:#16122adb;border:3px solid #211d4d;border-radius:.9rem;min-width:6.4rem;padding:.45rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.45;position:absolute;box-shadow:.12em .12em #211d4d}.maze3d-fly-charge,.maze3d-fly-banner{z-index:32;color:#211d4d;text-align:center;pointer-events:none;background:#fff9dbf0;border:3px solid #211d4d;border-radius:1.1rem;flex-direction:column;align-items:center;gap:.45rem;width:min(22rem,100% - 1.5rem);padding:.7rem .9rem;display:flex;position:absolute;bottom:4.4rem;left:50%;transform:translate(-50%);box-shadow:.12em .12em #211d4d}.maze3d-fly-charge p,.maze3d-fly-banner p{margin:0;font-weight:800}.maze3d-fly-charge p{align-items:center;gap:.4rem;display:inline-flex}.maze3d-fly-charge__track{background:#fff;border:2px solid #211d4d;border-radius:999px;width:100%;height:.55rem;overflow:hidden}.maze3d-fly-charge__track span{background:#ca8a04;height:100%;display:block}.maze3d-fly-banner{pointer-events:auto;flex-direction:row;justify-content:center}.maze3d-fly-banner div{text-align:left}.maze3d-fly-banner p:last-child{font-size:.75rem;font-weight:700}.maze3d-hint{left:50%;bottom:var(--maze3d-bottom);z-index:26;text-align:center;color:#fff8e7;text-shadow:0 1px 8px #00000073;pointer-events:none;background:#211d4ddb;border-radius:1rem;width:min(28rem,100% - 1.5rem);margin:0;padding:.5rem .8rem;font-size:.78rem;font-weight:800;position:absolute;transform:translate(-50%)}.maze3d-btn{cursor:pointer;border:3px solid #211d4d;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-width:2.75rem;min-height:2.75rem;padding:.45rem 1rem;font-family:inherit;font-weight:900;line-height:1.35;display:inline-flex;box-shadow:.12em .12em #211d4d}.maze3d-btn--primary{color:#211d4d;background:#ffca1f}.maze3d-btn--ghost{color:#211d4d;background:#fff}.maze3d-btn--ghost.is-on{color:#365314;background:#d9f99d}.maze3d-btn--verse{color:#4c1d95;background:#ede9fe}.maze3d-btn--danger{color:#9f1239;background:#ffe4e6}.maze3d-btn:disabled{opacity:.5;cursor:default}.maze3d-sheet,.maze3d-intro,.maze3d-reveal{z-index:40;padding:max(1rem, var(--maze3d-top)) max(1rem, var(--maze3d-right)) var(--maze3d-bottom) max(1rem, var(--maze3d-left));background:#121c168c;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;display:grid;position:absolute;inset:0}.maze3d-sheet__card,.maze3d-intro__card,.maze3d-reveal__card{overscroll-behavior:contain;background:#fffdf6;border:3px solid #211d4d;border-radius:1.6rem;width:min(28rem,100%);min-height:0;max-height:100%;padding:1.2rem 1.25rem 1.1rem;overflow-y:auto;box-shadow:.25em .25em #211d4d}.maze3d-sheet__eyebrow,.maze3d-intro__card p:first-child{letter-spacing:.08em;text-transform:uppercase;color:#b45309;margin:0;font-size:.72rem;font-weight:800}.maze3d-sheet__card h2,.maze3d-intro__card h1,.maze3d-reveal__card h2{margin:.35rem 0 .55rem;font-size:1.55rem;font-weight:900}.maze3d-sheet__body,.maze3d-intro__card .maze3d-intro__body,.maze3d-reveal__card p{color:#44403c;margin:0;font-size:.98rem;font-weight:700;line-height:1.45}.maze3d-sheet__verse-state{color:#365c32;margin:.75rem 0 0;font-weight:800}.maze3d-sheet__actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.maze3d-sheet__hint{color:#9a3412;margin:.65rem 0 0;font-size:.85rem;font-weight:800}.maze3d-sheet__close,.maze3d-intro__hint{font:inherit;color:#57534e;cursor:pointer;background:0 0;border:0;margin:.85rem 0 0;font-weight:800}.maze3d-intro__card .maze3d-btn{margin-top:1.1rem}.maze3d-quiz{margin-top:1rem}.maze3d-quiz__prompt{margin:.35rem 0 .7rem;font-size:1.02rem;font-weight:800;line-height:1.35}.maze3d-quiz__options{gap:.45rem;display:grid}.maze3d-quiz__option{color:#211d4d;min-height:2.75rem;font:inherit;text-align:left;cursor:pointer;background:#fff;border:3px solid #211d4d;border-radius:1rem;padding:.55rem .85rem;font-weight:800;box-shadow:.1em .1em #211d4d}.maze3d-quiz__option.is-correct{color:#365314;background:#d9f99d}.maze3d-quiz__option.is-missed{color:#9f1239;opacity:.7;cursor:default;background:#ffe4e6}.maze3d-quiz__live{color:#365c32;min-height:1.35em;margin:.7rem 0 0;font-weight:800}.maze3d-quiz__fragment{color:#44403c;margin:.45rem 0 0;font-weight:800}.maze3d-order{gap:.45rem;margin:.9rem 0 1rem;padding:0;list-style:none;display:grid}.maze3d-order__row{background:#fff;border:3px solid #211d4d;border-radius:1rem;align-items:center;gap:.45rem;min-height:2.75rem;padding:.4rem .55rem;display:flex;box-shadow:.1em .1em #211d4d}.maze3d-order__row.is-correct{background:#d9f99d}.maze3d-order__row.is-wrong{background:#fef3c7}.maze3d-order__row.is-dragging{opacity:.55}.maze3d-order__row.is-over{outline:3px dashed #ca8a04}.maze3d-order__grip{color:#57534e;cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;min-height:2.75rem;display:inline-flex}.maze3d-order__index{color:#fff8e7;background:#211d4d;border-radius:.55rem;flex-shrink:0;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.85rem;font-weight:900;display:inline-flex}.maze3d-order__text{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-weight:800}.maze3d-order__arrows{flex-shrink:0;gap:.25rem;display:inline-flex}.maze3d-order__arrow{cursor:pointer;background:#fffdf6;border:2px solid #211d4d;border-radius:.7rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.maze3d-order__arrow:disabled{opacity:.35;cursor:default}.maze3d-reveal__art{background:#ffe9bd;border:3px solid #211d4d;border-radius:1.1rem;width:100%;height:auto;margin:0 0 .85rem;display:block;box-shadow:.15em .15em #211d4d}.maze3d-hub{color:#211d4d;background:#f5f3ff;min-height:100dvh;font-family:Comfortaa,system-ui,sans-serif}.maze3d-hub__intro{background:#fffdf6;border:3px solid #211d4d;border-radius:1.6rem;margin-top:1.1rem;padding:1.2rem 1.3rem;box-shadow:.2em .2em #211d4d}.maze3d-hub__intro p:first-child{letter-spacing:.08em;text-transform:uppercase;color:#b45309;margin:0;font-size:.72rem;font-weight:800}.maze3d-hub__intro h2{margin:.35rem 0 .45rem;font-size:1.7rem;font-weight:900}.maze3d-hub__intro p{margin:0;font-weight:700;line-height:1.45}.maze3d-hub__grid{gap:1rem;margin-top:1.2rem;display:grid}@media (width>=720px){.maze3d-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.maze3d-hub__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.maze3d-sheet__excerpt{color:#57534e;margin:.2rem 0;font-size:.8rem}.maze3d-ending{z-index:40;left:50%;bottom:max(1rem, env(safe-area-inset-bottom));text-align:center;background:#fffdf6;border:3px solid #211d4d;border-radius:1.2rem;width:min(30rem,100% - 2rem);padding:.75rem 1rem;position:absolute;transform:translate(-50%);box-shadow:.15em .15em #211d4d}.maze3d-ending h1{margin:0;font-size:1.1rem}.maze3d-ending p{margin:.3rem 0 .6rem;font-weight:700}.maze3d-sheet__close{min-width:44px;min-height:44px}@media (height<=450px) and (orientation:landscape){.maze3d-ending{width:min(19rem,42vw);padding:.5rem .75rem;left:auto;right:.75rem;transform:none}}.maze3d-hub__card{background:#fffdf6;border:3px solid #211d4d;border-radius:1.4rem;overflow:hidden;box-shadow:.15em .15em #211d4d}.maze3d-hub__hit{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.maze3d-hub__art{background:#d9f99d;height:10rem;position:relative}.maze3d-hub__art img{object-fit:cover;width:100%;height:100%}.maze3d-hub__period{color:#211d4d;letter-spacing:.04em;background:#fff8e7;border:2px solid #211d4d;border-radius:999px;padding:.28rem .7rem;font-size:.72rem;font-weight:900;position:absolute;bottom:.7rem;left:.7rem}.maze3d-hub__body{padding:1rem 1.05rem 1.1rem}.maze3d-hub__body h2{margin:0;font-size:1.35rem;font-weight:900}.maze3d-hub__body p{color:#44403c;margin:.4rem 0 0;font-weight:700}.maze3d-hub__meta{justify-content:space-between;align-items:center;gap:.6rem;margin-top:.85rem;display:flex}.maze3d-hub__badge{background:#fff;border:2px solid #211d4d;border-radius:999px;align-items:center;min-height:2.75rem;padding:0 .75rem;font-size:.78rem;font-weight:800;display:inline-flex}.maze3d-fade{z-index:36;pointer-events:none;opacity:0;background:#120e08;transition:opacity .16s;position:absolute;inset:0}.maze3d-fade.is-on{opacity:1}@media (width<=767px){.maze3d-top-actions{gap:.35rem}.maze3d-top-actions>.maze3d-btn,.maze3d-tools>summary{padding-inline:.65rem}.maze3d-top-actions>.maze3d-btn span,.maze3d-tools>summary span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.maze3d-title-block{max-width:none;padding-inline:.6rem}.maze3d-title-block>p:first-child{font-size:.6rem}.maze3d-order__row{grid-template-columns:2rem minmax(0,1fr) auto;gap:.4rem;display:grid}.maze3d-order__grip{grid-area:2/1;justify-self:center;width:2.75rem}.maze3d-order__index{grid-area:1/1}.maze3d-order__text{grid-area:1/2/span 2;font-size:.9rem;line-height:1.5}.maze3d-order__arrows{flex-direction:column;grid-area:1/3/span 2}}.maze3d-root[data-touch-controls=true] .maze3d-prompt{bottom:calc(var(--maze3d-bottom) + 9rem)}.maze3d-root[data-touch-controls=true] .maze3d-hint{bottom:calc(var(--maze3d-bottom) + 9rem);max-width:21rem}.maze3d-root:has(.maze3d-prompt) .maze3d-hint{display:none}@media (height<=450px) and (orientation:landscape){.maze3d-top{gap:.5rem}.maze3d-title-block>p:first-child{display:none}.maze3d-minimap{top:calc(var(--maze3d-top) + 4.5rem);max-height:calc(100% - var(--maze3d-top) - var(--maze3d-bottom) - 5rem)}.maze3d-root[data-touch-controls=true] .maze3d-prompt{bottom:var(--maze3d-bottom);width:min(22rem,100% - 21rem)}.maze3d-root[data-touch-controls=true] .maze3d-hint{bottom:var(--maze3d-bottom);width:min(22rem,100% - 21rem);font-size:.7rem}}
