:root{--max-width:1100px;--border-radius:12px;--font-mono:ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;--foreground-rgb:0,0,0}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--primary-glow:radial-gradient(rgba(1,65,255,0.4),rgba(1,65,255,0));--secondary-glow:linear-gradient(to bottom right,rgba(1,65,255,0),rgba(1,65,255,0),rgba(1,65,255,0.3));--tile-start-rgb:2,13,46;--tile-end-rgb:2,5,19;--tile-border:conic-gradient(#ffffff80,#ffffff40,#ffffff30,#ffffff20,#ffffff10,#ffffff10,#ffffff80);--callout-rgb:20,20,20;--callout-border-rgb:108,108,108;--card-rgb:100,100,100;--card-border-rgb:200,200,200}}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:rgb(var(--foreground-rgb))}body.twoRoomsRoute,html.twoRoomsRoute{--two-rooms-seam-width:clamp(5px,1.4vw,8px);height:100%;overflow:hidden;overscroll-behavior:none}html.twoRoomsRoute{background:#1d5cc8}body.twoRoomsRoute{position:relative;isolation:isolate;background:transparent}body.twoRoomsRoute:after,body.twoRoomsRoute:before{position:fixed;top:-100vh;bottom:-100vh;content:"";pointer-events:none}body.twoRoomsRoute:before{z-index:-2;left:50%;right:-100vw;background:#df2e31}body.twoRoomsRoute:after{z-index:-1;left:50%;width:var(--two-rooms-seam-width);transform:translateX(-50%);background:#fffaf0}a{color:inherit;text-decoration:none}button.johnbox-switcher-button.johnbox-switcher-button{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:70;display:grid;width:3.35rem;height:3.35rem;min-width:3.35rem;min-height:3.35rem;max-width:3.35rem;max-height:3.35rem;place-items:center;padding:.26rem;margin:0;border:3px solid #111318;border-radius:.72rem;background:var(--johnbox-switcher-background,#fffdf7);color:inherit;font:inherit;letter-spacing:0;box-shadow:0 4px 0 #111318;cursor:pointer;filter:none;transform:none;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button.johnbox-switcher-button.johnbox-switcher-button:hover:not(:disabled){filter:none}button.johnbox-switcher-button.johnbox-switcher-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #111318}button.johnbox-switcher-button.johnbox-switcher-button img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}button.johnbox-switcher-button.johnbox-switcher-button:disabled{cursor:not-allowed;opacity:.45}.johnbox-game-option:focus-visible,.johnbox-modal-close:focus-visible,.johnbox-resolver button:focus-visible,.johnbox-resolver input:focus-visible,.johnbox-resolver select:focus-visible,.johnbox-switcher-button:focus-visible{outline:3px solid #fff;outline-offset:3px}.johnbox-game-option:focus-visible,.johnbox-modal-close:focus-visible{outline-color:#111318}.johnbox-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:rgba(4,6,10,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.johnbox-modal{width:min(30rem,100%);max-height:min(44rem,calc(100vh - 2rem));overflow:auto;border:3px solid #111318;border-radius:1.05rem;background:#fffaf0;color:#111318;box-shadow:0 28px 80px rgba(0,0,0,.48)}.johnbox-modal-header{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:5.45rem;gap:1rem;padding:1.45rem 4.1rem .9rem}.johnbox-modal-header p{display:none}.johnbox-modal-header h2{margin:0;color:#111318;text-align:center;font:900 clamp(2rem,8vw,2.8rem)/.95 system-ui,sans-serif;letter-spacing:0}button.johnbox-modal-close.johnbox-modal-close{position:absolute;top:1rem;right:1rem;display:grid;width:2.7rem;height:2.7rem;min-width:2.7rem;min-height:2.7rem;max-width:2.7rem;max-height:2.7rem;flex:0 0 auto;place-items:center;margin:0;padding:0;border:3px solid #111318;border-radius:.55rem;background:#fffdf7;color:#111318;letter-spacing:0;font:900 1.65rem/1 system-ui,sans-serif;cursor:pointer;filter:none;transform:none;box-shadow:0 4px 0 #111318}.johnbox-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem .85rem;gap:1rem .85rem;padding:.75rem 1.4rem 1.65rem}button.johnbox-game-option.johnbox-game-option{position:relative;display:flex;width:auto;height:auto;min-width:0;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;overflow:hidden;border:3px solid #111318;border-radius:.7rem;background:#fffdf7;color:#111318;padding:0;margin:0;text-align:center;cursor:pointer;box-shadow:0 5px 0 #111318;filter:none;font:inherit;letter-spacing:0;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}button.johnbox-game-option.johnbox-game-option:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 0 #111318;filter:none}button.johnbox-game-option.johnbox-game-option[data-selected]{border-color:#111318}button.johnbox-game-option.johnbox-game-option:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #111318}button.johnbox-game-option.johnbox-game-option:disabled{cursor:wait;opacity:.72}.johnbox-game-mark{display:block;width:100%;aspect-ratio:1;overflow:hidden;border:0;border-radius:0;border-bottom:3px solid #111318;background:#fff}.johnbox-game-mark img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.johnbox-game-label{display:grid;width:100%;min-height:2.7rem;place-items:center;padding:.3rem .35rem .42rem;background:#fffdf7}.johnbox-game-option strong{width:100%;color:#111318;white-space:nowrap;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;font:900 clamp(.68rem,2.95vw,1.02rem)/1.02 system-ui,sans-serif;letter-spacing:0}.johnbox-resolver{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.25rem;background-color:#ffdf4f;background-image:radial-gradient(rgba(17,19,24,.08) 2px,transparent 0);background-position:0 0;background-size:1.6rem 1.6rem;color:#111318;font-family:system-ui,sans-serif}.johnbox-resolver-panel{width:min(26rem,100%);border:3px solid #111318;border-radius:1rem;background:#fffaf0;padding:1.25rem;color:#111318;box-shadow:0 8px 0 #111318}.johnbox-resolver-panel--handoff{display:grid;justify-items:center;overflow:hidden;padding:1.45rem 1.35rem 1.35rem;text-align:center;animation:johnboxHandoffEnter .26s ease-out both}.johnbox-resolver-panel h1{margin:0 0 .35rem;color:#111318;font:900 1.55rem/1 system-ui,sans-serif;letter-spacing:0}.johnbox-resolver-panel--handoff h1{font-size:clamp(2rem,9vw,3.25rem);line-height:.92}.johnbox-resolver-panel p{margin:0 0 1rem;color:#6f5d20;font:800 .95rem/1.25 system-ui,sans-serif}.johnbox-resolver label{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.8rem;color:#6f5d20;font-size:.85rem;font-weight:700}.johnbox-resolver input,.johnbox-resolver select{min-height:2.7rem;border:2px solid #111318;border-radius:.55rem;background:#fffdf7;color:#111318;padding:0 .7rem;font:600 1rem/1.2 system-ui,sans-serif}.johnbox-resolver button{width:100%;min-height:2.85rem;border:3px solid #111318;border-radius:.6rem;background:#111318;color:#fffaf0;font:800 .95rem/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 0 rgba(17,19,24,.34)}.johnbox-resolver button:disabled{cursor:not-allowed;opacity:.55}.johnbox-resolver-error{margin-top:.8rem;color:#c02b2b;font-weight:700}.johnbox-handoff-icon{display:grid;width:6.1rem;height:6.1rem;place-items:center;margin:0 0 1.05rem;overflow:hidden;border:3px solid #111318;border-radius:.9rem;background:var(--johnbox-accent,#f0c75e);box-shadow:0 5px 0 #111318;transform:rotate(-2deg)}.johnbox-handoff-icon img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.johnbox-handoff-code{margin-bottom:.65rem;color:#6f5d20;font:950 .82rem/1 system-ui,sans-serif;letter-spacing:.08em}.johnbox-handoff-progress{width:min(14rem,100%);height:.8rem;overflow:hidden;border:3px solid #111318;border-radius:999px;background:#fffdf7}.johnbox-handoff-progress span{display:block;width:46%;height:100%;border-radius:inherit;background:var(--johnbox-accent,#f0c75e);animation:johnboxHandoffTrack .9s ease-in-out infinite alternate}@keyframes johnboxHandoffEnter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes johnboxHandoffTrack{0%{transform:translateX(-7%)}to{transform:translateX(124%)}}@media (prefers-reduced-motion:reduce){.johnbox-handoff-progress span,.johnbox-resolver-panel--handoff{animation:none}.johnbox-handoff-progress span{width:100%;transform:none}}@media (max-width:360px){.johnbox-modal{width:min(100%,calc(100vw - .9rem))}.johnbox-modal-header{min-height:4.8rem;padding:1.15rem 3.8rem .55rem}.johnbox-modal-header h2{font-size:1.85rem}.johnbox-game-grid{gap:.65rem .48rem;padding:.6rem .85rem 1rem}.johnbox-modal-close{width:2.35rem;height:2.35rem;font-size:1.45rem}.johnbox-game-label{min-height:2.45rem;padding-inline:.2rem}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}@font-face{font-family:Comic Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/02c8cea6cb5ab5f0-s.p.woff2) format("woff2");unicode-range:u+00??,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:Comic Neue;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/03fb38b812b1ca85-s.p.woff2) format("woff2");unicode-range:u+00??,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:Comic Neue Fallback;src:local("Arial");ascent-override:92.66%;descent-override:25.74%;line-gap-override:0.00%;size-adjust:97.13%}.__className_b36d7c{font-family:Comic Neue,Comic Neue Fallback;font-style:normal}.__variable_b36d7c{--font-comic:"Comic Neue","Comic Neue Fallback"}