@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f2ede3;--paper-2: #e9e2d4;--ink: #1f1c18;--ink-2: #5a544a;--ink-3: #8b8477;--rule: rgba(31, 28, 24, .15);--red: #c8432a;--serif: "Newsreader Variable", "Iowan Old Style", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--gutter: clamp(16px, 4vw, 40px);--bar: 56px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #171614;--paper-2: #201e1b;--ink: #ebe5d8;--ink-2: #aca496;--ink-3: #777166;--rule: rgba(235, 229, 216, .14);--red: #ec6a4d;color-scheme:dark}}:root[data-theme=dark]{--paper: #171614;--paper-2: #201e1b;--ink: #ebe5d8;--ink-2: #aca496;--ink-3: #777166;--rule: rgba(235, 229, 216, .14);--red: #ec6a4d;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--bar);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:clip}body:before{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .25 0 0 0 0 .2 -1.4 0 0 0 .78'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body:before{mix-blend-mode:screen;opacity:.18}}:root[data-theme=dark] body:before{mix-blend-mode:screen;opacity:.18}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-color:var(--red)}:focus-visible{outline:2px solid var(--red);outline-offset:3px}h1,h2,h3{font-weight:400;text-wrap:balance}p{text-wrap:pretty}.skip-link{position:absolute;left:12px;top:-100px;z-index:50;background:var(--ink);color:var(--paper);padding:8px 12px;font:500 .8rem var(--mono)}.skip-link:focus{top:12px}.topbar{position:sticky;top:0;z-index:30;height:var(--bar);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.wordmark{font:500 1.2rem/1 var(--serif);letter-spacing:-.01em;text-decoration:none}.topnav,.status{display:flex;align-items:center;gap:clamp(12px,2.5vw,22px);font:400 .75rem/1 var(--mono)}.topnav a,.status-skip{text-decoration:none;color:var(--ink-2)}.topnav a:hover,.status-skip:hover{color:var(--ink)}.status-locks{display:flex;gap:6px;margin:0;padding:0;list-style:none}.status-locks a{display:grid;place-items:center;width:22px;height:26px;color:var(--ink-3)}.status-locks .is-open a{color:var(--red)}.status-timer{min-width:3.2em;font-variant-numeric:tabular-nums;color:var(--ink-2)}.is-escaped .status-timer{color:var(--red)}.mini-lock{width:12px;height:14px;overflow:visible}.mini-lock path{fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}.mini-lock rect{fill:currentColor}.is-open .mini-lock path,.is-solved .fig-cap .mini-lock path{transform:translateY(-2.5px)}@media(max-width:420px){.status-skip{display:none}}.ink-defs{position:absolute;width:0;height:0;overflow:hidden;color:var(--ink)}.hatch-line{stroke:var(--ink);stroke-width:.7}.hatch-line--faint{stroke-width:.55;opacity:.5}.hatch-line--red{stroke:var(--red)}.line,.line-thin,.line-bold,.line-faint{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.line-thin{stroke-width:.8}.line-bold{stroke-width:2.4}.line-faint{stroke:var(--rule);stroke-width:1}.fill-paper{fill:var(--paper)}.fill-paper2{fill:var(--paper-2)}.fill-ink{fill:var(--ink);stroke:none}.fill-red{fill:var(--red)}.fill-hatch{fill:url(#hatch);stroke:none}.tube-outer{fill:none;stroke:var(--ink);stroke-width:4.4}.tube-inner{fill:none;stroke:var(--paper-2);stroke-width:1.8}.tube-outer--big{stroke-width:10}.tube-inner--big{stroke-width:6.4}.is-boiling .door-ink,.is-boiling>svg>g[filter]{filter:url(#ink-boil)}.fig-no{font:500 7.5px var(--mono);letter-spacing:.14em;fill:var(--ink-2)}.screen-note{font:400 6.5px var(--mono);letter-spacing:.12em;text-anchor:middle;fill:var(--ink-3);transition:opacity .3s}.callout text{font:400 7.5px var(--mono);text-anchor:end;fill:var(--ink-2)}@media(max-width:559px){.fig-no,.callout text{font-size:10px}.screen-note{font-size:8.5px}}.door{position:relative}.door-svg{display:block;width:100%;height:100%;overflow:visible}.door-outside{fill:none;stroke:var(--ink);stroke-width:.9;stroke-linecap:round}.door-outside .sun{stroke:var(--red);stroke-width:1.3}.door-outside .dash{stroke-dasharray:4 6}.door-light{fill:var(--paper);opacity:0;transition:opacity 1.4s ease}.door.is-escaped .door-light{opacity:.92}.door-chain{transition:transform .8s cubic-bezier(.55,0,.9,.45),opacity .8s}.door.is-chain-gone .door-chain{transform:translateY(70px);opacity:0}.padlock{transform-box:fill-box;transform-origin:50% 0;transition:transform .9s cubic-bezier(.55,0,.9,.45),opacity .9s ease-in}.padlock-shackle{transform-box:fill-box;transform-origin:0% 100%;transition:transform .28s cubic-bezier(.2,1.6,.4,1)}.padlock.is-open .padlock-shackle,.is-solved .card-lock .padlock-shackle{transform:translateY(-4px) rotate(-30deg)}.door .padlock.is-open{transform:translate(10px,340px) rotate(38deg);opacity:0;transition-delay:.45s}.padlock-no{font:500 5px var(--mono);fill:var(--ink-2)}.exit-sign rect{fill:var(--paper-2);stroke:var(--ink);stroke-width:1.2;transition:fill .4s}.exit-sign text{font:500 8.5px var(--mono);letter-spacing:.24em;text-anchor:middle;fill:var(--ink);transition:fill .4s}.is-escaped .exit-sign rect{fill:var(--red);stroke:var(--red)}.is-escaped .exit-sign text{fill:var(--paper)}.door-hit{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%}.room{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}.hero{padding:56px 0 8px}.hero h1{margin:0 0 .28em;font-size:clamp(3.6rem,1.4rem + 9vw,8.4rem);font-variation-settings:"opsz" 72;line-height:.88;letter-spacing:-.04em}.hero-line{margin:0;max-width:28ch;font-size:clamp(1.25rem,1rem + .8vw,1.6rem);line-height:1.38}.hero-start{margin-top:36px}.hero-hint{margin:0 0 14px;font:400 .78rem/1.6 var(--mono);color:var(--ink-2)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.door--hero{width:min(48vw,220px);margin:36px auto 0}@media(min-width:960px){.room{display:grid;grid-template-columns:minmax(280px,5fr) minmax(0,7fr);gap:clamp(48px,7vw,120px)}.rail-sticky{position:sticky;top:var(--bar);height:calc(100svh - var(--bar));display:flex;align-items:center;justify-content:center;padding:28px 0}.door--rail{height:min(100%,760px);aspect-ratio:320 / 560}.hero{min-height:calc(100svh - var(--bar));display:flex;flex-direction:column;justify-content:center;padding:48px 0}.door--hero,.door--exit{display:none}}@media(max-width:959px){.rail{display:none}}.plate{padding-top:clamp(88px,16vh,180px)}.plate-year{position:relative;margin:0 0 10px;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red)}.plate h2{margin:0 0 12px;font-size:clamp(2.3rem,1.5rem + 2.6vw,3.5rem);font-variation-settings:"opsz" 60;line-height:1;letter-spacing:-.025em}.plate-line{margin:0 0 28px;max-width:36ch;font-size:1.2rem;line-height:1.45;color:var(--ink-2)}.fig{position:relative;margin:0;padding:clamp(12px,2.4vw,24px);background-color:var(--paper-2);background-image:radial-gradient(circle,var(--rule) .75px,transparent 1.1px);background-size:14px 14px}.fig-art{position:relative}.fig-art>svg{display:block;width:100%;height:auto;overflow:visible}.crop{position:absolute;width:14px;height:14px;border:0 solid var(--ink)}.crop--tl{top:0;left:0;border-width:1.25px 0 0 1.25px}.crop--tr{top:0;right:0;border-width:1.25px 1.25px 0 0}.crop--bl{bottom:0;left:0;border-width:0 0 1.25px 1.25px}.crop--br{bottom:0;right:0;border-width:0 1.25px 1.25px 0}.fig-cap{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font:400 .74rem/1.3 var(--mono);color:var(--ink-2)}.fig-cap .mini-lock{flex:none;color:var(--ink-3)}.is-solved .fig-cap .mini-lock,.is-solved .fig-hint{color:var(--red)}.fig-count{margin-left:auto;font-variant-numeric:tabular-nums}.stamp{position:absolute;top:-6px;right:4px;padding:.28em .5em .22em .72em;border:2px solid currentColor;border-radius:3px;font:500 .95rem/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--red);opacity:0;transform:rotate(-9deg) scale(1.7);pointer-events:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 0 0 0 5.6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 0 0 0 5.6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}.is-solved .stamp{animation:stamp .26s cubic-bezier(.2,.9,.3,1.15) forwards}@keyframes stamp{to{opacity:.9;transform:rotate(-9deg) scale(1)}}.hit{position:absolute;width:48px;height:48px;padding:0;transform:translate(-50%,-50%);background:transparent;border:0;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}.hit--phone{width:14%;height:32%;border-radius:12px}.is-solved .hit{pointer-events:none}.sightline line{stroke-dasharray:1.5 4;opacity:.55}.target-ring,.target-cross{fill:none;stroke:var(--ink-3);stroke-width:1}.target-dot{fill:var(--ink-3)}.target-pulse{fill:none;stroke:var(--red);opacity:0;transform-box:fill-box;transform-origin:center}.target.is-next .target-ring,.target.is-next .target-cross{stroke:var(--red)}.target.is-next .target-dot{fill:var(--red)}.target.is-next .target-pulse{animation:pulse 1.5s ease-out infinite}.target.is-done .target-ring,.target.is-done .target-cross{stroke:var(--ink)}.target.is-done .target-dot{fill:var(--ink)}@keyframes pulse{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.scribble{stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1}.is-solved .scribble{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s cubic-bezier(.5,0,.4,1)}.is-solved .scribble--late{transition-delay:1.6s;transition-duration:.5s}.is-solved .screen-note{opacity:0}.pen{transition:transform .42s cubic-bezier(.45,.05,.2,1)}.pen-led{fill:var(--red)}.pen-ring{fill:none;stroke:var(--red);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}.pen.is-tap .pen-ring{animation:ring .55s ease-out}@keyframes ring{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(3.2)}}.qr{fill:var(--ink)}.key-stroke{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.5,0,.4,1)}.key-stroke.is-drawn{stroke-dashoffset:0}.sightline line[data-sight]{opacity:0;transition:opacity .3s}.sightline line[data-sight].is-on{opacity:.55}.phone{transform-box:fill-box;transform-origin:center;transition:transform .35s cubic-bezier(.2,1.4,.4,1)}.phone.is-joined{transform:translateY(-5px)}.phone-finder{transition:opacity .2s}.phone.is-joined .phone-finder{opacity:0}.phone-scan{stroke:var(--red);stroke-width:1.2;opacity:0}.phone.is-scanning:not(.is-joined) .phone-scan{animation:scan .48s ease-in-out}@keyframes scan{0%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(40px)}}.phone-check{fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.phone.is-joined .phone-check{stroke-dashoffset:0;transition:stroke-dashoffset .3s .1s}.compass text{font:500 7px var(--mono);text-anchor:middle;fill:var(--ink);stroke:none}.leg{fill:none;stroke:var(--ink-3);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:.1 5;transition:stroke .3s}.leg.is-walked{stroke:var(--red)}.stop circle{transition:stroke .3s}.stop.is-reached circle{stroke:var(--red)}.stop-no{font:500 8px var(--mono);text-anchor:middle;fill:var(--ink)}.walker{transition:transform .45s cubic-bezier(.45,.05,.2,1)}.walker-dot{fill:var(--red);stroke:var(--paper-2);stroke-width:1.5}.slot-arrow{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0}.slot-arrow.is-set{opacity:1}.dpad path{fill:var(--paper)}.dpad path.is-pressed{animation:flash .3s}@keyframes flash{0%{fill:var(--red)}}.dlock{transform-box:fill-box;transform-origin:center}.dlock.is-wrong{animation:shake .42s}.dlock-shackle{transform-box:fill-box;transform-origin:0% 100%;transition:transform .35s cubic-bezier(.2,1.5,.4,1)}.is-solved .dlock-shackle{transform:translateY(-14px)}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.keypad{display:flex;justify-content:center;gap:10px;margin-top:16px}.keypad button{display:grid;place-items:center;width:54px;height:46px;padding:0;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 var(--ink);cursor:pointer;transition:transform .08s,box-shadow .08s;-webkit-tap-highlight-color:transparent}.keypad button:active,.keypad button.is-pressed{transform:translateY(3px);box-shadow:0 0 0 var(--ink)}.keypad button.is-pressed{animation:unpress .2s .1s forwards}@keyframes unpress{to{transform:none;box-shadow:0 3px 0 var(--ink)}}.keypad svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.is-solved .keypad{opacity:.4;pointer-events:none}.fig-reader{display:grid;gap:22px;padding-top:22px}.fig-no--html{position:absolute;top:0;left:0;font:500 .6rem/1 var(--mono)}.card{position:relative;padding:30px 22px 20px;background:var(--paper);border:1.25px solid var(--ink);box-shadow:4px 5px 0 var(--rule);transform:rotate(-.6deg)}.card:before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:var(--red);opacity:.55}.card.is-wrong{animation:shake .42s}.card-pin{position:absolute;top:-10px;left:50%;width:20px;margin-left:-10px}.card-lock{position:absolute;top:34px;right:18px;width:30px;overflow:visible}.card-q{margin:8px 48px 18px 0;font-size:1.32rem;font-style:italic;line-height:1.35}.card-form{display:flex;align-items:flex-end;gap:12px}.card-form input{flex:1;min-width:0;padding:8px 2px;font:400 1.15rem var(--serif);color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0}.card-form input::placeholder{color:var(--ink-3)}.card-form input:focus{outline:none;border-bottom:2.5px solid var(--red);padding-bottom:7px}.card-form button{flex:none;padding:12px 18px;font:500 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:0;border-radius:6px;cursor:pointer}.card-form button:disabled{opacity:.5;cursor:progress}.bars{display:grid;gap:9px;margin:0;padding:0;list-style:none}.bars li{display:grid;grid-template-columns:8.5em 1fr 2.8em;align-items:center;gap:12px;font:400 .74rem/1 var(--mono);color:var(--ink-2)}.bar{position:relative;height:12px;background:var(--paper);border:1px solid var(--ink)}.bar-fill{position:absolute;inset:0 auto 0 0;width:var(--p, 0%);background:repeating-linear-gradient(-45deg,var(--ink) 0 1px,transparent 1px 4px);transition:width .8s cubic-bezier(.3,.8,.3,1)}.bars li.is-top{color:var(--ink)}.bars li.is-top .bar-fill{background:var(--red)}.bar-val{text-align:right;font-variant-numeric:tabular-nums}.reader-meta{margin:0;font:400 .72rem/1.4 var(--mono);color:var(--ink-3)}.exit{display:grid;gap:32px;padding:clamp(110px,20vh,220px) 0 clamp(72px,12vh,128px)}.door--exit{width:min(70vw,300px);margin:0 auto 8px}.portrait{position:relative;width:min(100%,210px);justify-self:start;margin:0;padding:10px 10px 34px;background:var(--paper);border:1px solid var(--rule);box-shadow:3px 4px 0 var(--rule);transform:rotate(-2.5deg)}.portrait:before{content:"";position:absolute;top:-11px;left:50%;width:72px;height:22px;margin-left:-36px;background:color-mix(in srgb,var(--paper-2) 75%,transparent);border:1px solid var(--rule);transform:rotate(4deg)}.portrait img,.portrait-empty{display:block;width:100%;aspect-ratio:4 / 5}.portrait img{height:auto;object-fit:cover;filter:grayscale(1) contrast(1.05)}.portrait-empty{display:grid;place-items:center;background:repeating-linear-gradient(45deg,var(--rule) 0 1px,transparent 1px 6px);font:500 .66rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.exit h2{margin:0;max-width:13ch;font-size:clamp(2.4rem,1.4rem + 3.4vw,4rem);font-variation-settings:"opsz" 66;line-height:1;letter-spacing:-.03em}.exit-body>.exit-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px;font:400 .82rem/1 var(--mono);color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:.4em;padding:13px 18px;font:500 .82rem/1 var(--mono);letter-spacing:.04em;text-decoration:none;color:var(--paper);background:var(--ink);border:1.5px solid var(--ink);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:hover{background:var(--red);border-color:var(--red)}.btn--ghost{color:var(--ink);background:transparent}.btn--ghost:hover{color:var(--paper);background:var(--ink);border-color:var(--ink)}.btn[hidden]{display:none}.exit-game{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:28px}.exit-stat{flex-basis:100%;margin:0;font:400 .74rem/1.4 var(--mono);color:var(--red)}.exit-stat:empty{display:none}@media(max-width:959px){.portrait{width:150px;margin-left:6px}}@media(min-width:960px){.exit{grid-template-columns:210px minmax(0,1fr);align-items:end;gap:48px;min-height:calc(100svh - var(--bar));align-content:center}}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;max-width:1240px;margin:0 auto;padding:24px var(--gutter) 40px;border-top:1px solid var(--rule);font:400 .74rem/1.4 var(--mono);color:var(--ink-3)}.footer p{margin:0}.footer nav{display:flex;gap:20px}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}.wrap{max-width:720px;margin:0 auto;padding:0 var(--gutter)}.page-head{padding:clamp(56px,10vh,112px) 0 28px}.page-head h1,.post h1{margin:0 0 12px;font-size:clamp(2.6rem,1.8rem + 3vw,4.2rem);font-variation-settings:"opsz" 66;line-height:1;letter-spacing:-.03em}.page-head p{margin:0;font-size:1.2rem;color:var(--ink-2)}.note-list{margin:0 0 112px;padding:0;list-style:none;border-top:1px solid var(--rule)}.note-link{display:grid;grid-template-columns:7.5em 1fr;gap:4px 20px;padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none}.note-link time,.post-meta,.post-back{font:400 .74rem/1.6 var(--mono);color:var(--ink-3)}.note-link h3{margin:0 0 4px;font-size:1.4rem;line-height:1.2}.note-link p{margin:0;color:var(--ink-2)}.note-link:hover h3{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:.18em}@media(max-width:559px){.note-link{grid-template-columns:1fr}}.post{padding:clamp(48px,9vh,96px) 0 112px}.post-back{display:inline-block;margin-bottom:28px;text-decoration:none}.post-back:before{content:"← "}.post-meta,.post-figure{margin:0 0 32px}.post-figure img{display:block;width:100%;height:auto;border:1px solid var(--rule)}.prose{font-size:1.18rem;line-height:1.65}.prose a{text-decoration-color:var(--red)}.prose ul{padding-left:1.2em}.prose li::marker{color:var(--red)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}
