:root{--deep:#0a0705;--ink:#f2e6cd;--dim:#f2e6cd3d;--amber:#f0a63c;--danger:#e2503a;--slope:2.4deg;--ground-y:78%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--deep);color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;font-family:Georgia,Times New Roman,serif;overflow:hidden}.title{border-bottom:1px solid #f0a63c29;align-items:baseline;gap:.9rem;padding:.55rem clamp(.75rem,3vw,2rem);display:flex}.title__name{letter-spacing:.42em;text-indent:.42em;color:var(--amber);margin:0;font-size:clamp(.95rem,2.2vw,1.3rem);font-weight:400}.title__nav{font-size:0}.title__nav a{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.game{grid-template-rows:1fr auto;height:calc(100dvh - 2.6rem);display:grid;position:relative}.stage{background:#0c0805;min-height:0;position:relative;overflow:hidden}.world{z-index:1;transform-origin:50% var(--ground-y);transform:scale(var(--zoom,1));will-change:transform;position:absolute;inset:0}.backdrop{z-index:0;background:linear-gradient(#070503 0%,#120c07 62%,#17100a 100%);position:absolute;inset:-140% -140% -60%}.layer{left:var(--layer-left,0);width:var(--layer-width,calc(100% + 900px));transform-origin:var(--layer-origin,0) 0;will-change:transform;background-repeat:repeat-x;position:absolute}.layer--wall{height:calc(var(--ground-y) + 14%);z-index:1;top:-14%}.layer--props{top:calc(var(--ground-y) - 26%);z-index:2;height:30%}.layer--ceiling{z-index:3;height:66%;top:-14%}.layer--floor{top:var(--ground-y);z-index:4;height:60%}.firelight{z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 62% 58%,#ffb05221 0%,#ff963c0d 45%,#0000 72%);animation:3.7s ease-in-out infinite flicker;position:absolute;inset:0}@keyframes flicker{0%,to{opacity:.86}17%{opacity:1}38%{opacity:.72}54%{opacity:.95}71%{opacity:.8}}.boulder{height:var(--boulder-size,34%);aspect-ratio:1;z-index:5;will-change:transform;position:absolute;top:0;left:0;transform:translate(-200vw)}.boulder svg{width:100%;height:100%;overflow:visible}.boulder:after{content:"";pointer-events:none;background:radial-gradient(50% 50%,#000000b8,#0000 70%);width:116%;height:22%;position:absolute;bottom:-6%;left:50%;transform:translate(-50%)}.boulder__body{fill:url(#rock);stroke:#150e07;stroke-width:3px;stroke-linejoin:round}.boulder__facet{stroke:none}.boulder__facet--lit{fill:#d6b4852b}.boulder__facet--dark{fill:#0c08046b}.boulder__crack{fill:none;stroke:#150e07;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.62}.boulder__pocket{fill:url(#pit);stroke:#be9e7438;stroke-width:1.6px}.boulder__rim{fill:none;stroke:#ffd89e9e;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.boulder__dust ellipse{fill:#c4a87e33;animation:1.05s ease-out infinite puff}.boulder__dust ellipse:nth-child(2){animation-duration:1.35s;animation-delay:-.5s}.boulder__dust ellipse:nth-child(3){animation-duration:1.6s;animation-delay:-.9s}@keyframes puff{0%{opacity:.42;transform:translate(0)scale(.5)}to{opacity:0;transform:translate(-26px,-16px)scale(1.5)}}[data-state=idle] .boulder__dust{display:none}.boulder__spin{transform-box:view-box;transform-origin:100px 100px}[data-state=idle] .boulder__spin{animation:.15s linear infinite tremble}@keyframes tremble{0%,to{transform:translate(0)rotate(-1.1deg)}50%{transform:translate(2.5px,-1.5px)rotate(1.1deg)}}.runner{left:50%;top:var(--runner-y,40%);height:var(--runner-size,25%);aspect-ratio:100/130;z-index:7;position:absolute;transform:translate(-50%)}.runner svg{width:100%;height:100%;overflow:visible}.runner path{fill:none;stroke:var(--ink);stroke-width:5.4px;stroke-linecap:round;stroke-linejoin:round}.runner__head,.runner__hat-crown,.runner__hat-brim{fill:var(--ink);stroke:none}.runner__neck{stroke-width:4px}.runner__foot{stroke-width:4.6px}.limb--far path{stroke:var(--ink)}.outside{width:var(--outside-width,150%);height:var(--outside-height,145%);z-index:6;pointer-events:none;will-change:transform;background-repeat:no-repeat;background-size:100% 100%;position:absolute;top:0;left:0;transform:translate(-200vw)}.exit{z-index:3;pointer-events:none;width:clamp(90px,26vw,380px);opacity:var(--glow,.1);background:linear-gradient(90deg,#ffe8ba00 0%,#ffecc48c 68%,#fff6e0eb 100%);position:absolute;inset:0 0 0 auto}.daylight{z-index:4;pointer-events:none;opacity:var(--wash,0);background:linear-gradient(92deg,#fff0d60f 0%,#fff0d657 55%,#fffaecb3 100%);position:absolute;inset:0}.whiteout{z-index:15;pointer-events:none;opacity:var(--white,0);background:#fffdf6;position:absolute;inset:0}.vignette{z-index:5;pointer-events:none;opacity:calc(1 - var(--daylight,0) * .72);background:radial-gradient(104% 82% at 48% 46%,#0000 24%,#0604028c 62%,#030201f2 100%);position:absolute;inset:0}.grain{z-index:6;pointer-events:none;opacity:.2;mix-blend-mode:overlay;background-repeat:repeat;position:absolute;inset:0}.levels{z-index:8;gap:clamp(.6rem,2.5vw,1.4rem);transition:opacity .26s ease-out;display:flex;position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.game:not([data-state=idle]) .levels{opacity:0;pointer-events:none}.level{color:#f2e6cd9e;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#40301eeb,#1e150ceb);border:1px solid #f0a63c47;border-radius:2px;padding:.5em 1.4em;font-family:Georgia,Times New Roman,serif;font-size:clamp(.72rem,1.5vw,.95rem);box-shadow:inset 0 1px #ffd69629,0 2px 6px #0000008c}.level:hover,.level:focus-visible{color:var(--ink);border-color:#f0a63c8c}.level[aria-pressed=true]{border-color:var(--amber);color:var(--amber);box-shadow:inset 0 1px #ffd6963d,0 0 14px #f0a63c47}.tracker{left:clamp(.4rem,2vw,1.4rem);top:var(--tracker-y,62%);z-index:7;color:var(--amber);text-shadow:0 0 10px #000000e6;align-items:center;gap:.3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.8rem,1.8vw,1.05rem);display:none;position:absolute}.tracker[data-visible]{display:flex}.tracker svg{fill:currentColor;width:1em;height:1em}.tracker__unit{opacity:.6}[data-state=crushing] .stage{animation:.3s linear shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px,4px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,-4px)}80%{transform:translate(3px,3px)}}.passage{--lines:3;height:calc(var(--lines) * 1.75em + 1.6rem);background:#0b0805;border-top:1px solid #f0a63c29;padding:.8rem clamp(.75rem,4vw,3rem);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.95rem,1.35vw + .55rem,1.55rem);line-height:1.75;overflow:hidden}.passage__inner{white-space:pre-wrap;overflow-wrap:break-word;margin:0;transition:transform 90ms linear}.passage__done{color:var(--dim)}.passage__errors{color:var(--danger);-webkit-text-decoration:underline wavy var(--danger) 1px;text-decoration:underline wavy var(--danger) 1px;text-underline-offset:.22em}.passage__rest{color:var(--ink)}.caret{vertical-align:baseline;width:0;display:inline-block;position:relative}.caret:before{content:"";background:var(--amber);width:2px;height:1.25em;animation:1.05s steps(2,jump-none) infinite blink;position:absolute;bottom:-.28em;left:-1px}[data-state=running] .caret:before,[data-state=crushing] .caret:before{animation:none}@keyframes blink{to{opacity:0}}.capture{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.result{z-index:20;background:#080503db;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.8rem,3vh,2rem);animation:.32s ease-out fade;display:flex;position:absolute;inset:0}.result[hidden]{display:none}@keyframes fade{0%{opacity:0}}.result__verdict{letter-spacing:.16em;text-indent:.16em;color:var(--amber);margin:0;font-size:clamp(2rem,9vw,5.5rem)}[data-outcome=caught] .result__verdict{color:var(--danger)}.result__stats{text-align:center;gap:clamp(1.2rem,6vw,3.6rem);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.result__stats dt{letter-spacing:.2em;color:var(--dim);font-size:.68rem}.result__stats dd{color:var(--ink);margin:.2em 0 0;font-size:clamp(1.3rem,4vw,2.2rem)}.result__again{aspect-ratio:1;width:clamp(3rem,9vw,4rem);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #f2e6cd4d;border-radius:50%;place-items:center;padding:0;display:grid}.result__again:hover,.result__again:focus-visible{border-color:var(--amber);color:var(--amber)}.result__again svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:52%}.result__again svg path:last-child{fill:currentColor;stroke:none}@media (height<=620px),(width<=560px){.passage{--lines:2}}@media (prefers-reduced-motion:reduce){.firelight,.boulder__dust ellipse,[data-state=idle] .boulder__spin,[data-state=crushing] .stage,.caret:before{animation:none}}
