@font-face{font-family:Form;src:url('assets/form-pixel.ttf')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101022;color:#f8e5bd}body{font-family:Form,monospace;font-size:14px}button{font:inherit;color:#f8e5bd;background:#30345c;border:2px solid #66587e;min-width:44px;min-height:44px;padding:8px 10px;cursor:pointer;touch-action:manipulation;border-radius:3px;line-height:1.2}button:active{transform:translateY(1px);background:#66587e}button:focus-visible{outline:3px solid #eac773;outline-offset:1px}button:disabled{opacity:.45;cursor:default}.quiet{background:#191b32}button.primary,#start,#replay{background:#9ee3c0;color:#15152b;border-color:#f8e5bd}button[hidden],[hidden]{display:none!important}#app{height:var(--vh,100dvh);width:100%;max-width:1100px;margin:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;isolation:isolate}.screen{height:100%;position:relative;overflow:hidden}canvas{image-rendering:pixelated;image-rendering:crisp-edges}#titleScene,#endScene{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}#title:after,#ending:after{content:'';position:absolute;inset:0;background:linear-gradient(#15152be8 0%,#15152b90 27%,#15152b08 48%,#15152bd0 76%,#15152b 100%);z-index:-1}#titleScene,#endScene{z-index:-2}.titleCopy{position:absolute;top:3%;left:4%;right:4%;text-align:center}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#9ee3c0;margin:8px 0 14px}h1{font-size:clamp(23px,5.9vw,42px);line-height:1.18;margin:0;text-shadow:3px 3px #15152b}h1 span{color:#eac773;font-size:1.22em}.tagline{font-size:13px;line-height:1.5;color:#f8e5bd;margin-top:12px}.titleBottom{position:absolute;bottom:14px;left:6%;right:6%;text-align:center}.titleButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px;margin:auto}#start{grid-column:1/-1}#continue{background:#eac773;color:#15152b;grid-column:1/-1}#continue:not([hidden])~#titleInfo{grid-column:auto}.brand{font-size:12px;line-height:1.5;color:#eac773;margin:12px 0 5px}.micro{font-size:9px;color:#b9b5cb;margin:0}header{height:50px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 6px;background:#1c1e37;border-bottom:2px solid #66587e}header nav{display:flex;gap:4px}header button{font-size:10px;padding:4px 7px}.gameLogo{font-size:11px;letter-spacing:1px;color:#9ee3c0;max-width:85px}.cabinet{height:calc(100% - 50px);display:grid;grid-template-rows:26px minmax(90px,1fr) 47px 48px 98px;gap:4px;padding:0 7px 6px;min-width:0;min-height:0}.roomHeading{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.roomHeading h2{font-size:12px;color:#9ee3c0;margin:0;white-space:nowrap}.roomHeading span{font-size:10px;color:#eac773}.world{position:relative;min-width:0;min-height:0;width:100%;border:2px solid #66587e;background:#15152b;overflow:hidden}.world canvas{transform:scale(1.2);display:block;width:100%;height:100%;object-fit:contain;touch-action:none}.mapButton{position:absolute;bottom:2px;right:2px;font-size:11px;padding:5px;background:#191b32e8}#message{font-size:11px;line-height:1.45;padding:4px 6px;background:#22253f;border-left:3px solid #9ee3c0;overflow:auto;min-width:0;min-height:0}.masks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.masks button{font-size:11px;padding:5px 2px;position:relative;overflow:hidden}.masks button.selected{border-color:#eac773;background:#66587e}.masks button.resting{color:#9ee3c0}.maskThumb{display:none}.controls{display:grid;grid-template-columns:138px minmax(80px,1fr);gap:6px;position:relative;min-height:0}.dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:44px 44px;gap:3px;touch-action:none}.dpad button{font-size:17px;color:#9ee3c0}.up{grid-column:2}.left{grid-row:2;grid-column:1}.down{grid-row:2;grid-column:2}.right{grid-row:2;grid-column:3}#interact{background:#9ee3c0;border-color:#f8e5bd;color:#15152b;font-size:13px;align-self:stretch;margin-bottom:24px}.moveNote{position:absolute;right:4px;bottom:1px;text-align:center;font-size:9px;line-height:1.3;color:#b9b5cb;width:calc(100% - 148px);pointer-events:none}dialog{border:2px solid #9ee3c0;background:#1c1e37;color:#f8e5bd;width:min(94vw,520px);max-height:calc(var(--vh,100dvh) - 24px);padding:18px;box-shadow:8px 8px #101022;font:14px Form,monospace;overflow:auto}dialog::backdrop{background:#101022d9}dialog h2{margin:0 0 14px;color:#9ee3c0;font-size:20px}dialog h3{font-size:14px;color:#eac773;margin:16px 0 8px}dialog p,dialog li{line-height:1.65;font-size:12px}dialog button{width:100%;margin-top:7px}dialog .two{display:grid;grid-template-columns:1fr 1fr;gap:7px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:11px;padding:10px 0}.legend span{padding:8px;background:#30345c}.endingCard{position:absolute;inset:8% 6% auto;text-align:center;padding:20px 12px;background:#15152be8;border:2px solid #eac773;max-height:86%;overflow:auto}.endingCard h1{color:#eac773}.endingCard p{font-size:12px;line-height:1.8}.endingCard button{margin:6px 3px;min-width:155px}#endingStats{font-size:13px;line-height:1.8;color:#9ee3c0}.endingWords{letter-spacing:1px;color:#eac773;font-size:10px!important}.expanded{position:fixed!important;inset:0;max-width:none!important;width:100%!important;height:var(--vh,100dvh)!important;z-index:50}.savedToast{color:#9ee3c0}@media(max-width:350px){.gameLogo{display:none}header{justify-content:center}.cabinet{grid-template-rows:25px minmax(82px,1fr) 47px 46px 96px;padding-left:5px;padding-right:5px;gap:3px}.roomHeading h2{font-size:10px}.roomHeading span{font-size:9px}.tagline{font-size:11px}.eyebrow{font-size:8px}.micro{font-size:8px}.brand{margin-top:8px}.titleBottom{bottom:9px}.titleButtons{gap:5px}.titleButtons button{font-size:12px}}@media(orientation:landscape) and (max-height:550px){header{height:46px}.gameLogo{max-width:none}.cabinet{height:calc(100% - 46px);grid-template-columns:minmax(0,1fr) 224px;grid-template-rows:24px minmax(0,1fr) 45px 94px;gap:4px}.roomHeading{grid-column:1;grid-row:1}.world{grid-column:1;grid-row:2/5}#message{grid-column:2;grid-row:1/3;align-self:stretch;font-size:10px}.masks{grid-column:2;grid-row:3}.masks button{font-size:10px}.controls{grid-column:2;grid-row:4;grid-template-columns:138px minmax(0,1fr)}#interact{font-size:11px;padding:4px;margin-bottom:0}.moveNote{display:none}.titleCopy{top:7%;left:3%;right:auto;width:48%}.titleCopy h1{font-size:24px}.titleCopy .eyebrow{font-size:8px}.tagline{font-size:11px}.titleBottom{left:55%;right:3%;bottom:9%;}.titleButtons{gap:5px}.titleButtons button{font-size:11px;padding:5px}.brand{font-size:10px;margin-top:7px}.micro{font-size:8px}.endingCard{inset:5% 13%;padding:10px;max-height:90%}.endingCard h1{font-size:25px}.endingCard p{margin:6px;font-size:11px}.endingCard .eyebrow{margin:2px}.endingWords{margin:4px!important}.endingCard button{margin:3px;min-height:44px}#endingStats{font-size:11px}}@media(min-width:900px) and (min-height:600px){#app{border-left:2px solid #30345c;border-right:2px solid #30345c}.cabinet{max-width:800px;margin:auto;grid-template-rows:32px minmax(90px,1fr) 46px 50px 102px}.titleCopy{top:6%}.titleBottom{bottom:5%}}@media(prefers-reduced-motion:reduce){button:active{transform:none}}

dialog{position:fixed;inset:calc(env(safe-area-inset-top) + 12px) calc(env(safe-area-inset-right) + 12px) calc(env(safe-area-inset-bottom) + 12px) calc(env(safe-area-inset-left) + 12px);width:min(520px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px));max-height:calc(var(--vh,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}

.titleButtons:has(#titleReflections:not([hidden])) #continue{grid-column:auto}
