:root{--ink: #151514;--near-black: #292927;--deep: #454542;--dark: #62625d;--mid: #85857f;--light: #b2b2aa;--grass: #c9c9c1;--paper: #f4f4ed;--white: #fbfbf7;--pixel: "Lucida Console", "Courier New", monospace;color:var(--ink);background:var(--near-black);font-family:var(--pixel);font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background:var(--near-black);touch-action:none}button,a{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}::selection{color:var(--paper);background:var(--ink)}.game-shell{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden;background:var(--near-black);user-select:none;-webkit-user-select:none}.game-shell:after{position:fixed;z-index:12;inset:0;opacity:.045;pointer-events:none;content:"";background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(21,21,20,.24) 3px,rgba(21,21,20,.24) 4px)}.phaser-game{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--near-black);touch-action:none}.phaser-game canvas{display:block;max-width:100%;max-height:100%;cursor:crosshair;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none}.game-ui{position:absolute;z-index:20;inset:0;color:var(--paper);pointer-events:none}.world-stamp{position:absolute;top:clamp(.75rem,2vw,1.4rem);left:clamp(.75rem,2vw,1.4rem);display:flex;align-items:center;gap:.6rem;filter:drop-shadow(2px 2px 0 var(--ink));text-transform:uppercase}.world-stamp>span{display:grid;width:2.65rem;height:2.65rem;border:2px solid currentColor;place-items:center;background:#151514a3;font:700 .6rem/1 var(--pixel)}.world-stamp p{margin:0;font:700 .5rem/1.45 var(--pixel);letter-spacing:.04em}.world-status{position:absolute;top:clamp(1rem,2.2vw,1.6rem);right:clamp(.75rem,2vw,1.4rem);display:flex;align-items:center;gap:.45rem;filter:drop-shadow(2px 2px 0 var(--ink));font:700 .5rem/1 var(--pixel);letter-spacing:.06em;text-transform:uppercase}.world-status i{width:.45rem;height:.45rem;background:var(--paper);animation:statusBlink 1.4s steps(2,end) infinite}@keyframes statusBlink{50%{opacity:.25}}.instructions{position:absolute;bottom:clamp(.9rem,2vw,1.5rem);left:clamp(.75rem,2vw,1.4rem);width:min(24rem,calc(100vw - 1.5rem));padding:.8rem .9rem;border:3px solid var(--ink);color:var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink);transition:opacity .18s steps(3,end),transform .18s steps(3,end)}.instructions--hidden{opacity:0;transform:translateY(1rem)}.instructions>span{display:block;margin-bottom:.5rem;font:700 .5rem/1 var(--pixel);letter-spacing:.08em;text-transform:uppercase}.instructions strong{display:block;font:900 clamp(1.05rem,2.3vw,1.7rem)/.95 Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase}.instructions p{margin:.55rem 0 0;color:var(--deep);font:700 .56rem/1.45 var(--pixel)}.control-legend{position:absolute;right:clamp(.75rem,2vw,1.4rem);bottom:clamp(.9rem,2vw,1.5rem);display:flex;align-items:center;gap:.45rem;filter:drop-shadow(2px 2px 0 var(--ink));font:700 .48rem/1 var(--pixel);text-transform:uppercase}.control-legend span:first-child{padding:.42rem .5rem;border:2px solid currentColor;background:#1515148c}.loading{position:fixed;z-index:100;inset:0;display:flex;padding:clamp(1rem,2.5vw,2.5rem);align-items:center;flex-direction:column;justify-content:center;color:var(--ink);background:repeating-linear-gradient(90deg,var(--paper) 0,var(--paper) 15px,#ededE6 15px,#ededE6 16px);overflow:hidden}.loading:before{position:absolute;inset:clamp(1rem,2.5vw,2.5rem);border:2px solid rgba(21,21,20,.18);content:""}.loading__index{position:absolute;top:clamp(1.35rem,3vw,3rem);right:clamp(1.35rem,3vw,3rem);left:clamp(1.35rem,3vw,3rem);display:flex;justify-content:space-between;font:700 .55rem/1 var(--pixel);letter-spacing:.07em}.loading__logo{display:block;width:min(25rem,66vw);height:auto;image-rendering:pixelated;mix-blend-mode:multiply;animation:loadingLogo .6s steps(5,end) both}@keyframes loadingLogo{0%{opacity:0;transform:scale(.92)}}.loading__progress{position:relative;width:min(25rem,66vw);height:8px;margin-top:1.6rem;border:2px solid var(--ink);overflow:hidden;background:var(--paper)}.loading__progress i{position:absolute;inset:1px;background:var(--ink);transform-origin:left;animation:loadingProgress 1.15s steps(9,end) both}@keyframes loadingProgress{0%{transform:scaleX(0)}to{transform:scaleX(.92)}}.loading>p{margin:.8rem 0 0;font:700 .56rem/1 var(--pixel);letter-spacing:.07em;text-transform:uppercase}.loading--reduced .loading__logo,.loading--reduced .loading__progress i{animation-duration:.01ms}.dialog-layer{position:fixed;z-index:60;inset:0;display:flex;padding:clamp(.75rem,2.4vw,1.8rem);align-items:flex-end;justify-content:center;pointer-events:none}.interaction-dialog{width:min(42rem,calc(100% - 7rem));border:4px solid var(--ink);color:var(--ink);background:var(--paper);box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--ink),7px 7px #151514cc;pointer-events:none;animation:dialogIn .18s steps(4,end) both}@keyframes dialogIn{0%{opacity:0;transform:translateY(18px)}}.interaction-dialog--reduced{animation-duration:.01ms}.interaction-dialog__marker{display:flex;padding:.45rem .7rem;justify-content:space-between;color:var(--paper);background:var(--ink);font:700 .48rem/1 var(--pixel);letter-spacing:.07em;text-transform:uppercase}.interaction-dialog__content{display:grid;padding:.85rem .95rem .75rem;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:baseline}.interaction-dialog__kicker{margin:0;font:700 .5rem/1 var(--pixel);letter-spacing:.08em;text-transform:uppercase}.interaction-dialog h2{margin:0;font:900 clamp(1.5rem,4vw,2.6rem)/.9 Arial,sans-serif;letter-spacing:-.05em;text-transform:uppercase}.interaction-dialog__content>p:nth-of-type(2){grid-column:2;margin:.45rem 0 0;font:700 .64rem/1 var(--pixel);text-transform:uppercase}.interaction-dialog__description{grid-column:2;margin:.45rem 0 0;color:var(--deep);font:700 .56rem/1.4 var(--pixel)}.interaction-dialog__actions{display:flex;min-height:3rem;padding-left:.8rem;align-items:stretch;justify-content:flex-end;border-top:2px solid var(--ink)}.interaction-dialog__actions a,.interaction-dialog__actions button{display:flex;min-width:7.2rem;padding:.75rem .9rem;align-items:center;justify-content:center;gap:.4rem;border-left:2px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;font:700 .58rem/1 var(--pixel);letter-spacing:.07em;text-decoration:none;text-transform:uppercase;pointer-events:auto}.interaction-dialog__actions a:hover,.interaction-dialog__actions button:hover,.interaction-dialog__actions a:focus-visible,.interaction-dialog__actions button:focus-visible{color:var(--paper);background:var(--ink)}.interaction-dialog__soon{display:flex;margin-right:auto;align-items:center;color:var(--deep);font:700 .5rem/1 var(--pixel);text-transform:uppercase}.lab-list{margin:0 .95rem .75rem;border-top:2px solid var(--ink)}.lab-list>div{display:grid;padding:.45rem 0;grid-template-columns:2.8rem 1fr auto;gap:.8rem;border-bottom:1px dashed var(--mid);font-family:var(--pixel);text-transform:uppercase}.lab-list span,.lab-list em{color:var(--deep);font-size:.5rem;font-style:normal}.lab-list strong{font-size:.56rem}.accessible-links{position:fixed;z-index:90;top:.75rem;left:50%;display:flex;width:min(42rem,calc(100vw - 2rem));padding:.75rem;border:3px solid var(--ink);flex-wrap:wrap;gap:.65rem;color:var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink);transform:translate(-50%,-180%);transition:transform .12s steps(3,end)}.accessible-links:focus-within{transform:translate(-50%)}.accessible-links span{width:100%;font:700 .52rem/1 var(--pixel);text-transform:uppercase}.accessible-links a{padding:.4rem .5rem;border:2px solid var(--ink);font:700 .52rem/1 var(--pixel);text-decoration:none;text-transform:uppercase}.accessible-links a:hover,.accessible-links a:focus-visible{color:var(--paper);background:var(--ink)}.fallback{min-height:100%;overflow:auto;padding:clamp(1.25rem,5vw,5rem);color:var(--paper);background:var(--ink)}.fallback>img{width:min(10rem,35vw);image-rendering:pixelated;filter:invert(1)}.fallback>p:first-of-type{margin:clamp(3rem,8vw,7rem) 0 1rem;font:700 .62rem/1 var(--pixel);letter-spacing:.08em}.fallback h1{max-width:11ch;margin:0;font:900 clamp(3rem,10vw,8rem)/.86 Arial,sans-serif;letter-spacing:-.07em;text-transform:uppercase}.fallback__note{width:min(29rem,82vw);margin:3rem 0 5rem auto;color:var(--light);font:700 .72rem/1.55 var(--pixel)}.fallback nav{border-top:2px solid var(--dark)}.fallback nav a{display:flex;padding:1.3rem 0;justify-content:space-between;border-bottom:2px solid var(--dark);font:700 clamp(.68rem,1.3vw,.88rem)/1 var(--pixel);text-decoration:none;text-transform:uppercase}@media(max-width:720px){.world-stamp{top:.7rem;left:.7rem}.world-stamp>span{width:2.35rem;height:2.35rem;font-size:.54rem}.world-stamp p,.world-status span{display:none}.world-status{top:1.55rem;right:.85rem}.instructions{right:.75rem;bottom:.85rem;left:.75rem;width:auto}.instructions strong{font-size:1.2rem}.control-legend{display:none}.dialog-layer{padding:.7rem}.interaction-dialog{width:calc(100% - 1rem);max-height:min(46svh,23rem);overflow-y:auto;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink),4px 4px #151514cc}.interaction-dialog__content{display:block;padding:.7rem .75rem}.interaction-dialog__kicker{margin-bottom:.32rem}.interaction-dialog h2{font-size:clamp(1.4rem,8vw,2.1rem)}.interaction-dialog__content>p:nth-of-type(2),.interaction-dialog__description{margin-top:.38rem}.interaction-dialog__actions{min-height:3.4rem;padding-left:.7rem}.interaction-dialog__actions a,.interaction-dialog__actions button{min-width:6.4rem}.interaction-dialog__soon{max-width:8rem;font-size:.46rem;line-height:1.3}.lab-list{margin-right:.75rem;margin-left:.75rem}.lab-list>div{grid-template-columns:2.4rem 1fr}.lab-list em{display:none}.loading__logo,.loading__progress{width:min(19rem,78vw)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
