:root{--color-paper:#17251c;--color-panel:#203126;--color-ink:#d5dfb7;--color-muted:#a1b18c;--color-rule:#405440;--color-focus:#ecf4ce;--color-lcd0:#e0e8bd;--color-lcd1:#a6ba80;--color-lcd2:#607b4c;--color-lcd3:#243e2b;--font-display:"Portfolio Pixel", monospace;--font-body:"Portfolio Pixel", monospace;--dur-short:.12s;--ease-out:cubic-bezier(.16, 1, .3, 1)}@font-face{font-family:Portfolio Pixel;src:url(/pixel.ttf)format("truetype");font-display:swap}*{box-sizing:border-box}html,body{overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:16px/1.6 var(--font-body);margin:0}a{color:inherit;text-underline-offset:5px}button,a{touch-action:manipulation;white-space:nowrap}button{font:inherit;color:inherit;cursor:pointer}button:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}header,main,footer{width:min(1040px,100% - 40px);margin-inline:auto}header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;padding-block:25px;font-size:14px;display:flex}.brand{font-size:24px;text-decoration:none}.brand span{font-size:14px}.intro{justify-content:space-between;align-items:end;margin:35px 0 25px;display:flex}.eyebrow{letter-spacing:1px;color:var(--color-muted);margin:0 0 8px;font-size:13px}h1{font:36px/1.2 var(--font-display);overflow-wrap:anywhere;min-width:0;margin:0}h2{overflow-wrap:anywhere;font-size:26px;line-height:1.35}.location{color:var(--color-muted);text-align:right;margin:0;font-size:14px}.layout{grid-template-columns:minmax(0,648px) minmax(0,1fr);align-items:start;gap:40px;display:grid}.game{background:var(--color-lcd0);color:var(--color-lcd3);border:4px solid var(--color-lcd3);outline:1px solid var(--color-rule)}.bar{border-bottom:2px solid var(--color-lcd3);justify-content:space-between;gap:8px;padding:10px 12px;font-size:14px;line-height:1;display:flex}.bar.bottom{border-bottom:0;border-top:2px solid var(--color-lcd3);font-size:12px}.screen{position:relative}canvas{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;background:var(--color-lcd0);display:block;outline-offset:-5px!important}#hint{pointer-events:none;background:var(--color-lcd0);border:2px solid var(--color-lcd3);text-align:center;box-shadow:2px 2px 0 var(--color-lcd3);padding:6px 8px;font-size:14px;line-height:1.2;position:absolute;bottom:8px;left:8px;right:8px}.guide{padding-top:4px}.guide h2{margin:15px 0}.guide p{color:var(--color-muted);font-size:15px}.guide ol{margin:25px 0;padding:0;list-style:none}.guide li{border-top:1px solid var(--color-rule)}.guide li:last-child{border-bottom:1px solid var(--color-rule)}.guide button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:52px;padding:10px 0;font-size:16px;display:flex}.num{color:var(--color-muted);margin-right:10px;font-size:12px}.mark{color:var(--color-muted)}.guide .note{font-size:13px;line-height:1.5}.legend{color:var(--color-muted);margin-top:24px;font-size:12px}.controls{justify-content:space-between;align-items:center;gap:12px;max-width:648px;margin-top:20px;display:flex}.keys{color:var(--color-muted);gap:20px;font-size:12px;display:flex}.keys span{align-items:center;gap:4px;display:flex}kbd{font:inherit;border:1px solid var(--color-rule);color:var(--color-ink);padding:2px 5px}#sound{border:1px solid var(--color-rule);background:0 0;min-height:44px;padding:8px 12px;font-size:12px}.welcome{color:var(--color-muted);margin:18px 0 40px;font-size:14px}footer{border-top:1px solid var(--color-rule);color:var(--color-muted);justify-content:space-between;gap:12px;padding:20px 0 30px;font-size:12px;display:flex}.touch{justify-content:space-between;max-width:350px;margin:20px auto;display:flex}.dpad{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,44px);gap:4px;display:grid}.dpad button,#interact{background:var(--color-panel);border:1px solid var(--color-rule)}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-area:2/1}.dpad button:nth-child(3){grid-area:2/2}.dpad button:nth-child(4){grid-area:2/3}#interact{border-radius:50%;align-self:center;width:76px;height:76px;font-size:28px}#interact span{font-size:10px;display:block}dialog{background:var(--color-lcd0);width:min(480px,100% - 32px);height:-moz-fit-content;height:fit-content;max-height:85dvh;color:var(--color-lcd3);border:4px double var(--color-lcd3);box-shadow:8px 8px 0 var(--color-lcd3);font:18px/1.5 var(--font-body);margin:auto;padding:24px;position:fixed;inset:0;overflow:auto}dialog::backdrop{background:var(--color-paper);opacity:.8}.dialog-top{border-bottom:2px solid var(--color-lcd3);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:14px;display:flex}.dialog-top button{min-width:44px;min-height:44px;color:var(--color-lcd3);background:0 0;border:0;font-size:30px;line-height:1}dialog h2{margin:22px 0 14px;font-size:30px}dialog p{margin-bottom:28px}.actions{flex-wrap:wrap;gap:12px;display:flex}.actions a,.actions button{border:2px solid var(--color-lcd3);min-height:44px;color:var(--color-lcd3);background:0 0;justify-content:center;align-items:center;padding:8px 12px;font-size:16px;text-decoration:none;display:inline-flex}.actions a{background:var(--color-lcd3);color:var(--color-lcd0)}dialog :focus-visible{outline-color:var(--color-lcd3)}@media (hover:hover) and (pointer:fine){.touch{display:none}.guide button:hover,button:hover{background:var(--color-panel)}dialog button:hover{background:var(--color-lcd1)}}@media (max-width:850px){.layout{grid-template-columns:minmax(0,1fr)}.guide{display:none}.intro{max-width:none;margin-inline:auto}.controls{margin-inline:auto}.welcome{text-align:center}}@media (max-width:560px){header,main,footer{width:calc(100% - 24px)}header{padding-block:16px;font-size:12px}.brand span{font-size:11px}.brand{font-size:20px}.intro{margin-block:24px 18px}.location{display:none}h1{font-size:28px}.eyebrow{font-size:11px}.bar{padding:9px 8px;font-size:12px}.bar.bottom{padding:9px 6px;font-size:10px}.keys{gap:8px;font-size:10px}.keys span:last-child{display:none}.keys kbd{padding:2px}#hint{font-size:12px}.controls{gap:6px}#sound{padding:6px;font-size:10px}footer{flex-wrap:wrap;font-size:10px}footer span:nth-child(2){display:none}.welcome{font-size:12px}.touch{display:flex}dialog{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}button:disabled{opacity:.5;cursor:not-allowed}a:active{opacity:.8}.place-icon{width:32px;height:32px;image-rendering:pixelated;background:0 0;flex:0 0 32px;outline:0!important}.guide button>span:first-of-type{flex:1}.story-heading{align-items:center;gap:16px;margin-top:22px;display:flex}.story-heading h2{margin:0}.story-heading canvas{width:64px;height:64px;image-rendering:pixelated;background:0 0;flex:0 0 64px;outline:0!important}.story-heading canvas[hidden]{display:none}.display-controls{gap:8px;display:flex}#lcd{border:1px solid var(--color-rule);background:0 0;min-height:44px;padding:8px 12px;font-size:12px}.screen.lcd #world{filter:contrast(.96)brightness(1.01)}.screen.lcd:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-lcd3) 10%, transparent) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-lcd3) 6%, transparent) 0 1px, transparent 1px 4px);box-shadow:inset 0 0 28px 8px color-mix(in srgb, var(--color-lcd3) 16%, transparent);position:absolute;inset:0}#hint{z-index:1}@media (max-width:560px){.controls{flex-wrap:wrap}.display-controls{gap:6px}#lcd{padding:6px;font-size:10px}}.screen[data-scene=studio] #hint{top:8px;bottom:auto}#next-fact[hidden],#guide-toggle{display:none}.dpad button,#interact{touch-action:none;-webkit-user-select:none;user-select:none}@media (max-width:850px){.layout{gap:12px}.guide{padding:0;display:block}#guide-toggle{border:1px solid var(--color-rule);background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:8px 12px;font-size:14px;display:flex}#guide-content{display:none}.guide.expanded #guide-content{display:block}.guide ol{margin-block:16px}.guide button{white-space:normal}.controls{flex-wrap:wrap}.keys{display:none}.display-controls{justify-content:space-between;width:100%}.touch{width:min(100%,350px);margin-block:14px;display:flex}.dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px)}.display-controls button{min-height:44px;font-size:12px!important}dialog{max-height:calc(100dvh - 24px)}.actions a,.actions button{white-space:normal;max-width:100%}}@media (max-width:360px){.bar{font-size:11px}.bar.bottom{font-size:9px}#hint{padding:5px;font-size:11px}.story-heading h2{font-size:24px}}.intro{align-items:center;gap:16px;margin:18px 0 16px}.intro h1{font-size:30px}.intro .eyebrow{margin-bottom:4px;font-size:11px}.read-link{flex-shrink:0;align-items:center;min-height:44px;font-size:14px;display:flex}#about-portrait{width:min(240px,100%);margin:18px auto 0}#about-portrait[hidden]{display:none}#about-portrait canvas{aspect-ratio:1;width:100%;outline:0!important}@media (max-width:560px){.intro{gap:10px;margin:12px auto}.intro h1{font-size:26px}.intro .eyebrow{letter-spacing:0;font-size:10px}.read-link{font-size:12px}#about-portrait{width:min(200px,100%)}}.header-actions{align-items:center;gap:20px;display:flex}.header-actions .display-controls{justify-content:flex-end;gap:8px;width:auto}@media (max-width:850px){.controls{display:none}.header-actions{gap:12px}}@media (max-width:560px){.intro{flex-wrap:wrap;row-gap:4px}.header-actions{justify-content:space-between;width:100%}.header-actions .display-controls{gap:8px;width:auto}}@media (min-width:851px){.layout{grid-template-columns:minmax(0,648px) minmax(0,1fr);justify-content:normal}}.play-area{min-width:0}.play-area .touch{width:min(100%,350px);margin:14px auto 0;display:flex}.play-area .controls{max-width:none}@media (max-width:850px){.layout{gap:16px}.play-area .touch{margin-bottom:0}.guide{grid-row:2}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dpad{touch-action:none;-webkit-user-select:none;user-select:none}.dpad button[data-pressed=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}@media (min-width:851px){.play-area .touch{display:none}}#sound{justify-content:center;align-items:center;gap:8px;display:inline-flex}.sound-icon{flex-shrink:0;width:16px;height:16px}.sound-muted,#sound[aria-pressed=false] .sound-waves{display:none}#sound[aria-pressed=false] .sound-muted{display:block}
