@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--table:#e9e0d0;--paper:#fffcf6;--paper-2:#f6efe3;--ink:#2b2118;--ink-2:#43372c;--muted:#66584a;--line:#e7dccb;--clay:#e0ae80;--accent:#e4572e;--accent-ink:#b8401c;--search:#3a6bf0;--search-ink:#2a55cc;--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Instrument Serif", ui-serif, Georgia, serif;--radius:22px;--shadow:0 1px 0 #ffffffb3 inset, 0 18px 40px -18px #54381c6b, 0 3px 10px #54381c1a;--ease:cubic-bezier(.22, 1, .36, 1);--panel-w:452px;--gap:18px}*,:before,:after{box-sizing:border-box}html{background:var(--table);color:var(--ink-2);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.6}body{min-height:100vh;margin:0}img,video{max-width:100%;display:block}button{font:inherit;color:inherit}a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2.5px solid var(--search);outline-offset:3px;border-radius:8px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--ink);color:var(--paper);border-radius:10px;padding:10px 16px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.btn{background:var(--ink);color:#fffaf1;letter-spacing:-.005em;cursor:pointer;min-height:44px;transition:transform .15s var(--ease), background .2s;white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 18px;font-size:15.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-quiet{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-solve,.btn-solve-inline{background:var(--accent);color:#fff}.btn-solve:hover,.btn-solve-inline:hover{background:var(--accent-ink)}.solve-ring{background:conic-gradient(#fff calc(var(--p,0) * 1turn), #ffffff59 0);border-radius:50%;width:18px;height:18px;-webkit-mask:radial-gradient(circle,#0000 4.5px,#000 5px);mask:radial-gradient(circle,#0000 4.5px,#000 5px)}.btn-solve[aria-pressed=true]{background:var(--ink)}.hud{z-index:20;left:var(--gap);right:var(--gap);top:var(--gap);pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed}.hud>*{pointer-events:auto}.brand{background:var(--paper);min-height:44px;box-shadow:var(--shadow);color:var(--ink);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:10px;padding:7px 18px 7px 9px;font-weight:650;text-decoration:none;display:inline-flex}.hud-actions{gap:8px;display:flex}.hud-actions .btn{box-shadow:var(--shadow)}.only-mobile{display:none!important}.stage{background:radial-gradient(ellipse at 40% 45%, #fffcf4d9, transparent 65%), var(--table);position:fixed;inset:0}.stage canvas{opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease);touch-action:none;display:block;position:absolute;inset:0}.maze-ready .stage canvas{opacity:1}.stage-loading{left:calc((100% - var(--panel-w) - var(--gap)) / 2);color:var(--muted);align-items:center;gap:12px;font-weight:550;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.stage-loading span{background:var(--accent);width:14px;height:14px;animation:pulse 1s var(--ease) infinite alternate;border-radius:50%}.maze-ready .stage-loading,.no-webgl .stage-loading{display:none}@keyframes pulse{to{opacity:.5;transform:scale(.55)}}.hint{z-index:15;left:calc((100% - var(--panel-w) - var(--gap)) / 2);top:calc(var(--gap) + 4px);color:#fffaf1;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);background:#2b2118db;border-radius:999px;margin:0;padding:10px 18px;font-size:15px;font-weight:550;position:fixed;transform:translate(-50%)}.maze-ready .hint.show{opacity:1}.hint-touch{display:none}@media (max-width:1280px){.hint{top:calc(var(--gap) + 58px)}}@media (hover:none){.hint-mouse,.mapcard-help{display:none}.hint-touch{display:inline}}.mapcard{z-index:16;left:var(--gap);bottom:var(--gap);background:var(--paper);width:317px;box-shadow:var(--shadow);border-radius:18px;padding:14px 16px 12px;position:fixed}.mapcard-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.mapcard-title{color:var(--ink);font-size:15px;font-weight:700}.mapcard-stat{color:var(--search-ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.minimap{aspect-ratio:57/43;background:#f8f3e9;border-radius:8px;width:285px;position:relative;overflow:hidden}.minimap canvas{cursor:crosshair;width:100%;height:100%;display:block}.mm-rooms button{cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0;position:absolute}.mm-rooms button:hover,.mm-rooms button:focus-visible{background:#3a6bf029}.mm-rooms button:after{content:attr(data-name);background:var(--ink);color:#fffaf1;white-space:nowrap;opacity:0;pointer-events:none;z-index:2;border-radius:6px;padding:3px 9px;font-size:13px;font-weight:600;transition:opacity .15s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.mm-rooms button:hover:after,.mm-rooms button:focus-visible:after{opacity:1}.mapcard-help{color:var(--muted);margin:8px 0 0;font-size:15px}@media (max-height:780px) and (min-width:861px){.mapcard{width:252px;padding:12px 14px 10px}.minimap{width:224px}.mapcard-help{display:none}}.rooms{z-index:18;right:var(--gap);top:calc(var(--gap) + 58px);max-height:calc(100vh - var(--gap) * 2 - 58px);max-height:calc(100dvh - var(--gap) * 2 - 58px);width:var(--panel-w);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;display:flex;position:fixed;overflow-y:auto}.rooms:focus{outline:none}.room{display:none}.room.is-active{animation:enter .35s var(--ease);display:block}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}.room-head{background:var(--band,var(--paper-2));color:var(--band-ink,var(--ink));border-radius:var(--radius) var(--radius) 0 0;padding:26px 30px 22px}.kicker{letter-spacing:.02em;margin:0 0 10px;font-size:14.5px;font-weight:650}.kicker .no{background:color-mix(in srgb, var(--band-ink) 14%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;margin-right:6px;padding:1px 8px;display:inline-block}.room-head h1,.room-head h2{color:var(--band-head,var(--ink));text-wrap:balance;margin:0}h1{font-family:var(--serif);letter-spacing:-.015em;font-size:58px;font-style:italic;font-weight:400;line-height:1}h2{letter-spacing:-.025em;font-size:30px;font-weight:650;line-height:1.12}.role{color:var(--band-ink,var(--ink-2));margin:10px 0 0;font-size:16.5px;font-weight:550}.room-body{padding:22px 30px 30px}.room-body>:first-child{margin-top:0}.room-body p,.room-body li{font-size:17px}.room-body h3{color:var(--ink);letter-spacing:-.01em;margin:26px 0 6px;font-size:17px;font-weight:700}.lede{color:var(--ink);line-height:1.55;font-size:19px!important}blockquote{border-left:3px solid var(--accent);font-family:var(--serif);color:var(--ink);margin:20px 0;padding:2px 0 2px 18px;font-size:25px;font-style:italic;line-height:1.25}.aside{background:var(--paper-2);color:var(--ink-2);border-radius:14px;padding:14px 16px;font-size:16px!important}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.stats li{background:var(--paper-2);border-radius:14px;padding:12px 14px;line-height:1.35;font-size:16px!important}.stats b{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;display:block}.papers,.plain{margin:14px 0;padding:0;list-style:none}.papers li{border-top:1px solid var(--line);padding:12px 0}.papers li:last-child{border-bottom:1px solid var(--line)}.papers a{font-weight:600}.papers span{color:var(--muted);font-size:15px;display:block}.plain li{margin:8px 0}.links{flex-wrap:wrap;gap:6px 18px;font-weight:600;display:flex}.pipeline{counter-reset:step;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.pipeline li{counter-increment:step;background:var(--paper-2);border-radius:999px;padding:6px 12px;font-weight:550;font-size:16px!important}.pipeline li:before{content:counter(step) " ";color:var(--search-ink);font-weight:700}.howto{background:var(--paper-2);border-radius:16px;margin-top:22px;padding:18px 20px 20px}.howto-title{color:var(--ink);margin:0 0 8px;font-weight:700}.howto ul{margin:0;padding-left:20px}.howto li{margin:6px 0}.howto li::marker{color:var(--search)}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.foot{color:var(--muted);margin-top:30px;font-size:15px!important}.cards{gap:12px;margin:14px 0 6px;display:grid}.card{background:var(--paper-2);border-radius:16px;grid-template-columns:132px 1fr;gap:14px;padding:10px;transition:box-shadow .25s,background .25s;display:grid}.card.is-playing{box-shadow:inset 0 0 0 2px var(--search);background:#fff}.card-media video{aspect-ratio:16/9;object-fit:cover;background:#24222b;border-radius:10px;width:100%}.card-body h3{margin:0 0 2px!important}.card-body p{margin:0;line-height:1.45;font-size:16px!important}.card-body .links{margin-top:6px}.photos{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.photos figure{margin:0}.photos a{background:var(--paper-2);border-radius:10px;display:block;overflow:hidden}.photos img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:transform .4s var(--ease)}.photos a:hover img{transform:scale(1.03)}.photos figcaption{color:var(--muted);margin-top:5px;font-size:15px}.photos figcaption b{color:var(--ink);font-weight:600}.room-nav{background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:12px 14px;display:flex;position:sticky;bottom:0}.room-nav button{background:var(--paper-2);min-height:44px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:0 14px;font-size:15px;font-weight:600}.room-nav button:disabled{opacity:.35;cursor:default}.room-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.no-webgl-note{display:none}.viewer{color:#fffaf1;background:#1d1915;border:0;border-radius:18px;max-width:min(1200px,94vw);max-height:94vh;padding:0}.viewer::backdrop{background:#1d1915c7}.viewer img{width:auto;max-height:78vh;margin:0 auto}.viewer-cap{margin:12px 18px 0;font-weight:600}.viewer-nav{justify-content:space-between;gap:8px;padding:12px 14px 14px;display:flex}.viewer-nav button{color:#fffaf1;cursor:pointer;background:#fffaf11f;border:0;border-radius:999px;min-width:44px;min-height:44px;padding:0 16px;font-weight:600}.is-maze body{height:100vh;height:100dvh;overflow:hidden}.is-maze .maze-hide{display:none}.is-list .stage,.is-list .mapcard,.is-list .hint,.is-list #solve,.is-list #map-toggle,.is-list .room-nav,.is-list .maze-only,.is-list .sheet-grip,.is-list .howto{display:none!important}.is-list .hud{padding:var(--gap);background:linear-gradient(var(--table) 70%, transparent);position:sticky;top:0;left:0;right:0}.is-list .rooms{width:min(780px,100% - 32px);box-shadow:none;background:0 0;border-radius:0;gap:22px;margin:8px auto 64px;display:grid;position:static;overflow:visible}.is-list .room{border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);scroll-margin-top:90px;display:block}.is-list .card{grid-template-columns:1fr}.is-list .cards{grid-template-columns:repeat(2,1fr)}.is-list .photos{grid-template-columns:repeat(3,1fr)}.no-webgl .no-webgl-note{background:var(--paper);border-radius:14px;margin:0;padding:14px 18px;font-weight:550;display:block}.no-webgl #view-toggle{display:none}@media (max-width:860px){:root{--gap:10px;--sheet-peek:min(36vh, 300px)}.only-mobile{display:inline-flex!important}.brand{padding-right:9px}.brand-name{display:none}.hud-actions{gap:6px}.hud-actions .btn{padding:0 14px;font-size:15px}.stage-loading,.hint{left:50%}.hint{top:calc(var(--gap) + 56px);text-align:center;max-width:calc(100% - 24px);font-size:14.5px}.is-maze .rooms{width:auto;max-height:none;height:var(--sheet-peek);transition:height .32s var(--ease);border-radius:22px;inset:auto 8px 8px;overflow:hidden}.is-maze.sheet-open .rooms{height:min(80vh,100dvh - 80px);overflow-y:auto}.sheet-grip{z-index:2;cursor:pointer;background:0 0;border:0;justify-content:center;width:100%;min-height:26px;margin-bottom:-26px;padding:9px 0 0;position:sticky;top:0;display:flex!important}.sheet-grip span:first-child{background:color-mix(in srgb, var(--ink) 30%, transparent);border-radius:3px;width:44px;height:5px}.room-head{padding:28px 22px 18px}.room-body{padding:18px 22px 24px}h1{font-size:46px}h2{font-size:26px}.is-maze .room-nav{padding:8px 10px}.mapcard{display:none}.map-open .mapcard{left:50%;top:calc(var(--gap) + 58px);display:block;bottom:auto;transform:translate(-50%)}.is-list .rooms{width:calc(100% - 20px)}.is-list .cards,.is-list .photos{grid-template-columns:1fr 1fr}.card{grid-template-columns:112px 1fr}}@media (max-width:520px){.is-list .cards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
