:root{--paper: #cccccc;--card: #ffffff;--ink: #111;--rule: #999;--shadow: 6px 6px 0 var(--ink)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Courier New,ui-monospace,Menlo,Consolas,monospace;line-height:1.55;overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stage{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}#void{z-index:0}#marx{z-index:1}.bar,.topbar{position:relative;z-index:2}.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.topbar a,.sound-toggle{color:var(--paper);background:transparent;border:0;padding:.2rem .4rem;font:inherit;text-decoration:none;cursor:pointer}.topbar a:hover,.topbar a:focus-visible,.sound-toggle:hover,.sound-toggle:focus-visible{background:var(--paper);color:var(--ink)}.bar{width:min(760px,100%);margin:0 auto;padding:1rem 1rem 1.6rem}.node{border:3px solid var(--ink);background:var(--card);padding:1.3rem 1.4rem;box-shadow:var(--shadow);position:relative;outline:1px solid var(--ink);outline-offset:-6px}.node .orn{position:absolute;inset:0;pointer-events:none}.node .orn .dia{position:absolute;width:10px;height:10px;background:var(--ink);transform:rotate(45deg)}.node .orn .dia.tl{top:8px;left:8px}.node .orn .dia.tr{top:8px;right:8px}.node .orn .dia.bl{bottom:8px;left:8px}.node .orn .dia.br{bottom:8px;right:8px}.node .orn .dot{position:absolute}.node .orn .dot.top{top:12px;left:20px;right:20px;border-top:2px dotted var(--ink);height:0}.node .orn .dot.bot{bottom:12px;left:20px;right:20px;border-bottom:2px dotted var(--ink);height:0}.node .orn .dot.left{left:12px;top:20px;bottom:20px;border-left:2px dotted var(--ink);width:0}.node .orn .dot.right{right:12px;top:20px;bottom:20px;border-right:2px dotted var(--ink);width:0}.js .node+.node{margin-top:0}:not(.js) .node+.node{margin-top:1.4rem}.js .node[data-off]{display:none}.speaker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.55;margin:0 0 .4rem}.line{margin:0;white-space:pre-wrap;min-height:3.2em;font-size:clamp(.95rem,2.6vw,1.08rem)}.heading{margin:0 0 .3rem;font-size:clamp(1.2rem,5vw,1.9rem);letter-spacing:.16em}.subhead{margin:0 0 1rem;font-size:.85rem;opacity:.75}.choices{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.choice{color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--ink);padding:.45rem 1.1rem;background:var(--paper);cursor:pointer}.choice:hover,.choice:focus-visible{background:var(--ink);color:var(--paper)}.js .choice:not(.ready){visibility:hidden}.doors{display:grid;gap:.7rem;margin-top:1.1rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.door{display:block;color:var(--ink);text-decoration:none;border:2px solid var(--ink);background:var(--paper);padding:.7rem .8rem}.door:hover,.door:focus-visible{background:var(--ink);color:var(--paper)}.door[data-primary]{border-width:4px;box-shadow:4px 4px 0 var(--ink)}.door .door-label{display:block;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.door .door-sub{display:block;font-size:.76rem;opacity:.75;margin-top:.2rem}.door[data-kind=restart]{padding:.4rem .8rem}.door[data-kind=restart] .door-label{display:inline}.door[data-kind=restart] .door-sub{display:inline;margin:0 0 0 .6em;font-size:.7rem}.door .slider{margin-top:.5rem}.door input[type=range]{width:100%}.door .slider-value{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.door:hover input[type=range]{accent-color:var(--paper)}.note{margin:.9rem 0 0;font-size:.72rem;opacity:.7}.scroll-hint{margin:.6rem 0 0;text-align:center;font-weight:700;font-size:.75rem;line-height:1.2;letter-spacing:.25em;animation:bob .9s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.booking{position:relative;z-index:2;width:100%;background:var(--paper)}.embed{display:block;width:100%;height:100svh;border:0;background:var(--paper)}.embed[hidden]{display:none}.js body.entering{background:#000}.js body.entering #void,.js body.entering .bar,.js body.entering .topbar{opacity:0}.bar,.topbar{transition:opacity .3s ease}@media(prefers-reduced-motion:reduce){.scroll-hint{animation:none}}
