@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./pixelify-sans-latin-400-normal-DLrIX9QE.woff2)format("woff2"),url(./pixelify-sans-latin-400-normal-JapMNN6Z.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2)format("woff2"),url(./pixelify-sans-latin-600-normal-BNlgYbDL.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{--sky-storm:#224953;--sky-clear:#3d5c65;--cloud-near:#3d5c65;--cloud-far:#073642;--rain:#839496;--flash:#fdf6e3;--grass-wet:#859900;--grass-speck:#268bd2;--dirt-lit:#073642;--dirt-shadow:#022d38;--bark:#002b36;--rope-plank:#eee8d5;--brick:#dc322f;--puddle:#268bd2;--warm-light:#b58900;--crt-screen:#2aa198;--paper:#eee8d5;--ink:#002b36;--plate:#073642;--note-frame:#224953;--button-primary:#b58900;--muted-ink:#3d5c65;--font-pixel:"Pixelify Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--size-site:32px;--size-title:26px;--size-ui:15px;--size-body:13px;--size-eyebrow:11px;--sky:var(--sky-storm);--gutter:48px;--nav-h:120px;--note-w:380px}@media (max-width:1100px){:root{--gutter:24px;--note-w:340px}}@media (max-width:640px){:root{--gutter:16px}}*,:before,:after{box-sizing:border-box}html,body{background:var(--sky);height:100%;color:var(--paper);font-family:var(--font-mono);font-size:var(--size-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;line-height:1.45;overflow:hidden}body{transition:background-color 1.2s}body.weather-clear{--sky:var(--sky-clear);background-image:radial-gradient(ellipse 55% 42% at 50% 45%, #586e75 0%, var(--sky-clear) 100%)}button,a{font:inherit;color:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}#sky,#world,#mist,#flash,#bolt{width:100%;height:100%;position:fixed;inset:0}#sky{z-index:0;pointer-events:none;overflow:hidden}#world{z-index:1;opacity:0;touch-action:none;cursor:grab;transition:opacity .8s;display:block}#world.ready{opacity:1}#world.dragging{cursor:grabbing}#world.hovering{cursor:pointer}#mist{z-index:2;pointer-events:none;overflow:hidden}#flash{z-index:3;background:var(--flash);opacity:0;pointer-events:none}#fade{z-index:3;background:var(--sky-storm);opacity:0;pointer-events:none;position:fixed;inset:0}#bolt{z-index:3;pointer-events:none;opacity:0}#app{z-index:4;pointer-events:none;position:fixed;inset:0}#app>*,#main>*{pointer-events:none}#app button,#app a,#note,#panel,#panel-backdrop,#app .joystick{pointer-events:auto}.cloud{height:var(--h,28px);width:var(--w,300px);background:var(--c,var(--cloud-far));animation:cloud-drift var(--dur,26s) ease-in-out infinite alternate;animation-delay:var(--delay,0s);transition:background-color 1.2s;position:absolute}.cloud:before,.cloud:after{content:"";background:inherit;position:absolute}.cloud:before{left:var(--b1x,12%);width:var(--b1w,45%);height:var(--h1,26px);bottom:100%}.cloud:after{left:var(--b2x,22%);bottom:calc(100% + var(--h1,26px));width:var(--b2w,22%);height:var(--h2,18px)}.cloud.near{--c:var(--cloud-near)}.cloud.far{--c:var(--cloud-far)}body.weather-clear .cloud{--c:#224953}@keyframes cloud-drift{0%{transform:translateX(calc(var(--drift,70px) * -1))}to{transform:translateX(var(--drift,70px))}}.mist-band{width:140%;height:var(--h,34px);opacity:.1;animation:mist-drift var(--dur,40s) linear infinite alternate;background:#839496;position:absolute;left:-20%}@keyframes mist-drift{0%{transform:translate(-6%)}to{transform:translate(6%)}}.site-header{padding:36px var(--gutter) 0;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:absolute;top:0;left:0;right:0}.brand{pointer-events:none}.site-name{font-family:var(--font-pixel);font-weight:600;font-size:var(--size-site);color:var(--paper);margin:0;line-height:1.1}.tagline{color:var(--paper);font-size:var(--size-body);margin:10px 0 0}.controls{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.btn{min-height:44px;font-family:var(--font-pixel);font-size:var(--size-ui);color:var(--ink);background:var(--paper);border:3px solid var(--ink);cursor:pointer;white-space:nowrap;border-radius:0;justify-content:center;align-items:center;padding:10px 20px;line-height:1;text-decoration:none;transition:transform 80ms,background-color .15s;display:inline-flex}.btn:hover{background:#fdf6e3}.btn:active{transform:translateY(1px)}.btn-dark,.btn[aria-current=true]{background:var(--plate);color:var(--paper);border-color:var(--paper)}.btn-dark:hover,.btn[aria-current=true]:hover{background:#3d5c65}.btn-primary{background:var(--button-primary)}.btn-primary:hover{background:#eee8d5}.btn.is-placeholder{color:var(--muted-ink);cursor:not-allowed;border-style:dashed}.btn.is-placeholder:hover{background:var(--paper)}:focus-visible{outline:3px solid var(--warm-light);outline-offset:3px}.note :focus-visible,.panel :focus-visible{outline-color:var(--ink)}.skip-link{z-index:10;background:var(--paper);color:var(--ink);font-family:var(--font-pixel);font-size:var(--size-ui);padding:8px 12px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}#labels{position:absolute;inset:0;overflow:hidden}.label{font-family:var(--font-pixel);font-size:var(--size-ui);color:var(--paper);background:var(--plate);cursor:pointer;white-space:nowrap;will-change:transform;opacity:0;border:0;padding:10px 16px;line-height:1;transition:opacity .6s,background-color .15s;position:absolute;top:0;left:0}.label.placed{opacity:1}.label:after{content:"";border:8px solid #0000;border-top-color:var(--paper);opacity:0;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-4px)}.label:hover,.label.hover,.label:focus-visible{background:#3d5c65}.label:hover:after,.label.hover:after,.label:focus-visible:after,.label[aria-current=true]:after{opacity:1;transform:translate(-50%)}.player-hint{font-family:var(--font-pixel);font-size:var(--size-ui);color:var(--ink);background:var(--paper);border:2px solid var(--plate);cursor:pointer;white-space:nowrap;will-change:transform;z-index:2;align-items:center;gap:8px;padding:6px 10px 6px 6px;line-height:1;display:inline-flex;position:absolute;top:0;left:0}.player-hint[hidden]{display:none}.player-hint:hover{background:var(--button-primary)}.player-hint-key{background:var(--plate);min-width:20px;height:20px;color:var(--paper);place-items:center;padding:0 4px;font-size:13px;display:inline-grid}.joystick{left:var(--gutter);bottom:calc(var(--nav-h) + 16px);touch-action:none;z-index:4;background:#002b3659;border:2px solid #eee8d58c;border-radius:50%;width:104px;height:104px;position:fixed}.joystick-knob{background:var(--paper);border:2px solid var(--plate);border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.joystick[hidden]{display:none}.joystick-toggle{left:var(--gutter);bottom:calc(var(--nav-h) + 128px);z-index:4;min-height:32px;padding:4px 10px;font-size:13px;position:fixed}.joystick.unavailable,.joystick-toggle.unavailable,.hint-touch{display:none}@media (pointer:coarse){.hint-touch{display:inline}.hint-keys{display:none}}.island-nav{padding:0 var(--gutter) 22px;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}#nav-list{gap:14px;max-width:100%;margin:0;padding:4px;list-style:none;display:flex}.hint{color:var(--paper);text-align:center;margin:0}.note{z-index:10;left:var(--gutter);width:var(--note-w);max-height:calc(100% - 180px);color:var(--ink);background:var(--paper);border:6px solid var(--note-frame);padding:24px 28px 28px;animation:.22s ease-out note-in;position:absolute;bottom:40px;overflow:auto}@keyframes note-in{0%{opacity:0;transform:translateY(8px)}}.note[hidden]{display:none}@media (max-width:1699px){.note{bottom:auto;top:calc(var(--header-h,130px) + 12px);max-height:calc(100% - var(--header-h,130px) - var(--nav-h) - 28px)}}.note-head,.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow{font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:1px;text-transform:uppercase;color:var(--muted-ink);margin:0}.icon-btn{width:44px;height:44px;font-family:var(--font-mono);color:var(--ink);border:3px solid var(--ink);cursor:pointer;background:0 0;flex:none;place-items:center;font-size:18px;display:inline-grid}.icon-btn:hover{background:#fdf6e3}.note-title,.panel-title{font-family:var(--font-pixel);font-weight:400;font-size:var(--size-title);outline:none;margin:14px 0 12px;line-height:1.15}.note-summary{margin:0 0 18px;font-size:15px;line-height:1.45}.note-items{flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.note-items:empty{display:none}.note-items button{min-height:36px;font-family:var(--font-mono);color:var(--ink);border:2px solid var(--ink);cursor:pointer;background:0 0;padding:6px 10px;font-size:12px}.note-items button[aria-pressed=true]{background:var(--plate);color:var(--paper);border-color:var(--plate)}.note-actions{flex-wrap:wrap;gap:12px;display:flex}#panel-backdrop{z-index:20;background:#002b3659;position:absolute;inset:0}#panel-backdrop[hidden]{display:none}.panel{z-index:21;overscroll-behavior:contain;width:min(640px,100% - 48px);color:var(--ink);background:var(--paper);border:6px solid var(--note-frame);padding:28px 36px 40px;animation:.25s ease-out panel-in;position:absolute;top:24px;bottom:24px;right:24px;overflow:auto}.panel[hidden]{display:none}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}}.panel-title{font-size:32px}.prose{font-size:14px;line-height:1.6}.prose h3{font-family:var(--font-pixel);margin:28px 0 8px;font-size:20px;font-weight:400}.prose h4{margin:20px 0 6px;font-size:14px}.prose a{color:var(--note-frame)}.prose code{background:#fdf6e3;padding:1px 4px}.prose pre{background:var(--plate);color:var(--paper);padding:14px;overflow:auto}.prose pre code{background:0 0;padding:0}.prose img{max-width:100%;height:auto}.prose .stack{margin:20px 0 0}.prose .stack-label{font-size:var(--size-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-ink);margin:0 0 8px}.prose .stack-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.prose .stack-chip{background:#eee8d5;border:1px solid #fdf6e3;align-items:center;gap:6px;padding:4px 8px;font-size:12px;line-height:1.2;display:inline-flex}.prose .stack-logo{flex:none;width:14px;height:14px}.panel-links{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.noscript{z-index:10;background:var(--plate);color:var(--paper);padding:12px 16px;position:fixed;inset:auto 16px 16px}@media (max-width:900px){.site-header{flex-direction:column;gap:12px;padding-top:20px}.controls{justify-content:flex-start;gap:8px}.controls .btn{min-height:40px;padding:8px 12px;font-size:14px}}@media (max-width:640px){.site-header{gap:10px;padding-top:16px}.site-name{font-size:26px}.label{padding:7px 10px}.tagline{margin-top:4px;font-size:12px}.island-nav{padding:0 0 calc(12px + env(safe-area-inset-bottom));gap:6px}#nav-list{scroll-snap-type:x proximity;width:100%;padding:4px var(--gutter);scrollbar-width:none;overflow-x:auto}#nav-list::-webkit-scrollbar{display:none}#nav-list li{scroll-snap-align:center;flex:none}.hint{padding:0 var(--gutter);font-size:11px}.note{width:auto;max-height:52%;padding:18px var(--gutter) calc(20px + env(safe-area-inset-bottom));border-width:5px 0 0;animation-name:sheet-in;inset:auto 0 0}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.note-summary{font-size:14px}.panel{width:100%;padding:20px var(--gutter) 40px;border-width:0;inset:0}.panel-title{font-size:26px}}@media (prefers-reduced-motion:reduce){.cloud,.mist-band,.note,.panel{animation:none!important}#world,.label,body{transition:none!important}}
