@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/press-start-2p-latin-400-normal._wFEWmAB.woff2)format("woff2"),url(/_astro/press-start-2p-latin-400-normal.KLytu4cr.woff)format("woff")}:root{--ink:#1f1f1b;--mid:#4f5440;--soft:#8b9270;--paper:#c4cba5;--shell:#cdc8bf;--shell-dark:#aaa59c;--shell-ink:#4d4a45;--bezel:#5f5e6e;--bezel-text:#d6d2ca;--stripe-1:#8a1f4f;--stripe-2:#2e2f86;--led:#ff2a3c;--logo:#28297a;--btn:#a3244f;--btn-shadow:#6e1634;--rubber:#8d8b95;--dpad:#2b2a30;--backdrop-glow:#f6f3e8;--backdrop:#dfddd4;--backdrop-edge:#cbc9bf;--font-pixel:"Press Start 2P", ui-monospace, monospace;--font-body:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--body-size:15px;--body-line:1.7;--px:4px;--fs-xs:.5rem;--fs-s:.625rem;--fs-m:.75rem;--fs-l:1rem;--fs-xl:1.5rem}:root[data-palette=dmg]{--ink:#0f380f;--mid:#306230;--soft:#8bac0f;--paper:#9bbc0f}:root[data-palette=light]{--ink:#06303a;--mid:#0f6b6b;--soft:#3fb3a0;--paper:#8de9cf}:root[data-palette=berry]{--ink:#2b1129;--mid:#7a2e57;--soft:#d0738c;--paper:#f7d6c4}:root[data-palette=night]{--ink:#b8d86a;--mid:#8bac0f;--soft:#306230;--paper:#0f2a0f}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background-color:var(--backdrop-edge);background-image:radial-gradient(circle at 50% -20%, var(--backdrop-glow), var(--backdrop) 58%, var(--backdrop-edge));min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-line);margin:0;padding:24px 16px 48px}::selection{background:var(--ink);color:var(--paper)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--paper);color:var(--ink);font-family:var(--font-pixel);font-size:var(--fs-s);padding:10px 12px;position:absolute;top:16px;left:-999px}.skip-link:focus{left:16px}.console{background:var(--shell);max-width:1320px;box-shadow:inset -6px -6px 0 var(--shell-dark), inset 6px 6px 0 #ffffff59, 0 18px 40px #00000040;border-radius:18px 18px 80px;margin:0 auto;padding:14px 28px 32px}.console-top{border-bottom:3px solid var(--shell-dark);font-family:var(--font-pixel);font-size:var(--fs-xs);color:var(--shell-ink);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:0 -28px 18px;padding:0 28px 10px;display:grid}.console-micro{opacity:.7;white-space:nowrap}.console-micro:last-child{text-align:right}.console-name{color:inherit;font:inherit;font-size:var(--fs-xl);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;padding:0}.bezel{background:var(--bezel);border-radius:10px 10px 48px;padding:14px 28px 36px 72px;position:relative}.bezel-label{font-family:var(--font-pixel);font-size:var(--fs-xs);color:var(--bezel-text);align-items:center;gap:10px;margin-bottom:14px;display:flex}.bezel-label .stripes{border-top:2px solid var(--stripe-1);border-bottom:2px solid var(--stripe-2);flex:1;height:8px}.bezel-label .stripes.short{flex:0 0 40px}.bezel-text{white-space:nowrap}.led-wrap{font-family:var(--font-pixel);font-size:var(--fs-xs);color:var(--bezel-text);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:140px;left:14px}.led{background:var(--led);width:10px;height:10px;box-shadow:0 0 8px var(--led);border-radius:50%}.lcd{background:var(--paper);min-height:60vh;color:var(--ink);border-radius:4px;padding:clamp(16px,4vw,36px);position:relative;box-shadow:inset 0 0 0 3px #0000002e,inset 5px 5px #0000001f}.lcd:after{content:"";pointer-events:none;border-radius:inherit;background-image:linear-gradient(#0000000d 1px,#0000 1px),linear-gradient(90deg,#0000000d 1px,#0000 1px);background-size:3px 3px;position:absolute;inset:0}:where(.lcd) h1,:where(.lcd) h2,:where(.lcd) h3{font-family:var(--font-pixel);overflow-wrap:break-word;margin:0 0 .7em;font-weight:400;line-height:1.5}:where(.lcd) h1{font-size:var(--fs-xl)}:where(.lcd) h2{font-size:var(--fs-l);margin-top:2em}:where(.lcd) h3{font-size:var(--fs-m);margin-top:1.6em}:where(.lcd) p{margin:0 0 .8em}.lcd a{color:inherit;text-underline-offset:3px;text-decoration-thickness:2px}.lcd a:hover{background:var(--ink);color:var(--paper);text-decoration:none}.lcd :focus-visible{outline:3px dashed var(--ink);outline-offset:3px}.lcd .pbox:focus-visible,.lcd .entry>a:focus-visible{outline-offset:8px}:root{--pbox-edge:0 calc(var(--px) * -1) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(var(--px) * -1) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink)}.pbox{margin:var(--px);box-shadow:var(--pbox-edge)}.menubar{border-bottom:var(--px) solid var(--ink);flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:30px;padding-bottom:14px;display:flex}.menubar .logo{font-family:var(--font-pixel);font-size:var(--fs-l);margin-right:auto;padding:6px 4px;text-decoration:none}.menubar ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menubar ul a,.menubar button{color:inherit;font-family:var(--font-pixel);font-size:var(--fs-s);cursor:pointer;background:0 0;border:0;padding:8px 10px;text-decoration:none;display:inline-block}.menubar button:hover,.menubar [aria-current=page]{background:var(--ink);color:var(--paper)}.kicker{font-family:var(--font-pixel);font-size:var(--fs-s);letter-spacing:.05em;margin:0 0 14px}.tag{background:var(--ink);color:var(--paper);font-family:var(--font-pixel);font-size:var(--fs-xs);letter-spacing:.04em;vertical-align:middle;padding:5px 6px 4px;display:inline-block}.tag.outline{color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:0 0}.blink{animation:1s step-end infinite blink}@keyframes blink{0%{opacity:1}50%{opacity:0}}.hint{margin-top:28px;font-size:.85rem}.hero{margin-bottom:40px}.hero .lede{font-size:1.05rem}.press-start{font-family:var(--font-pixel);font-size:var(--fs-m);margin-top:8px;padding:12px 14px;text-decoration:none;display:inline-block}.section-label{border-bottom:2px dashed var(--ink);font-family:var(--font-pixel);font-size:var(--fs-s);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 16px;padding-bottom:8px;display:flex}.section-label .count{font-family:var(--font-body);font-size:.8rem}.filters{flex-wrap:wrap;gap:12px;margin:0 0 30px;padding:4px;display:flex}.chip{background:var(--paper);color:var(--ink);font-family:var(--font-pixel);font-size:var(--fs-s);cursor:pointer;border:0;padding:9px 10px 8px}.chip:hover{background:var(--soft)}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.menu{gap:8px;margin:0;padding:0;list-style:none;display:grid}.entry>a,.entry>.locked-inner{margin:var(--px);padding:14px 14px 14px 40px;text-decoration:none;display:block;position:relative}.entry>a{box-shadow:var(--pbox-edge)}.lcd .entry>a:hover,.entry.is-selected>a{background:var(--soft);color:var(--ink);box-shadow:inset var(--px) 0 0 var(--ink), var(--pbox-edge)}.cursor{font-family:var(--font-pixel);font-size:var(--fs-m);position:absolute;top:16px;left:12px}.entry>a:hover .cursor,.entry>a:focus-visible .cursor,.entry.is-selected .cursor{animation:1s step-end infinite blink}.entry-title{font-family:var(--font-pixel);font-size:var(--fs-m);margin-bottom:8px;line-height:1.6;display:block}.entry-meta{flex-wrap:wrap;align-items:center;gap:4px 14px;margin-bottom:4px;font-size:.8rem;display:flex}.entry-blurb{display:block}.locked .locked-inner{border:2px dashed var(--mid)}.xp{z-index:50;background:var(--ink);height:8px;position:fixed;top:0;left:0;right:0}.xp-fill{background:var(--soft);width:0;height:100%}.post-head{border-bottom:var(--px) solid var(--ink);margin-bottom:28px;padding-bottom:18px}.post-meta{flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.85rem;display:flex}.prose h2:before{content:"▶︎ ";content:"▶︎ " / ""}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.4em}.prose li{margin:.25em 0}.prose ul{list-style:none}.prose ul li:before{content:"▸︎";content:"▸︎" / "";margin-left:-1.1em;position:absolute}.prose code{background:var(--soft);font-family:var(--font-body);padding:0 .25em;font-size:.92em}.prose pre{background:var(--ink);color:var(--paper);scrollbar-color:var(--soft) var(--ink);margin:1.2em 0;padding:14px 18px 16px;font-size:.85rem;line-height:1.5;overflow-x:auto}.prose pre[data-language]:before{content:attr(data-language);color:var(--soft);font-family:var(--font-pixel);font-size:var(--fs-xs);text-transform:uppercase;margin-bottom:10px;display:block}.prose pre[data-language=plaintext]:before,.prose pre[data-language=text]:before{content:none}.prose pre code{color:inherit;background:0 0;padding:0}:root{--astro-code-background:var(--ink);--astro-code-foreground:var(--paper);--astro-code-token-keyword:var(--soft);--astro-code-token-string:var(--soft);--astro-code-token-string-expression:var(--soft);--astro-code-token-comment:var(--soft);--astro-code-token-constant:var(--paper);--astro-code-token-function:var(--paper);--astro-code-token-parameter:var(--paper);--astro-code-token-punctuation:var(--paper);--astro-code-token-link:var(--soft)}.prose table{border-collapse:collapse;max-width:100%;margin:1.2em 0;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:2px solid var(--ink);text-align:left;vertical-align:top;padding:6px 10px}.prose th{background:var(--ink);color:var(--paper);font-family:var(--font-pixel);font-size:var(--fs-xs);font-weight:400}.prose blockquote{margin:1.4em var(--px);background:var(--soft);box-shadow:0 calc(var(--px) * -1) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(var(--px) * -1) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink);padding:14px 18px}.prose blockquote>p:first-child>strong:first-child{font-family:var(--font-pixel);font-size:var(--fs-s);margin-bottom:8px;font-weight:400;display:block}.prose blockquote p:last-child{margin-bottom:0}.quest{margin:2.4em var(--px) 1em;padding:18px 20px 8px}.quest h2{margin-top:0}.quest h2:before{content:"★︎ ";content:"★︎ " / ""}.share{margin:28px 0 0}.post-nav{grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;display:grid}.post-nav a,.post-nav .end{padding:14px;text-decoration:none;display:block}.post-nav small{font-family:var(--font-pixel);font-size:var(--fs-xs);margin-bottom:6px;display:block}.post-nav .next{text-align:right}.post-nav .end{margin:var(--px);border:2px dashed var(--mid)}.game-over{text-align:center;padding:8vh 0}.game-over .continue{margin-top:32px}.eyebrow{justify-content:space-between;gap:12px;display:flex}.profile{grid-template-columns:214px minmax(0,1fr);align-items:center;gap:24px;display:grid}.profile>div{container-type:inline-size}.portrait{background:var(--soft);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--mid);place-items:center;padding:8px;display:grid}.portrait svg{width:192px;height:192px;display:block}.lcd .profile-name{margin:4px 0 12px;font-size:clamp(1.2rem,19cqi,4rem);line-height:1.2}.profile-class{font-family:var(--font-pixel);margin:0 0 8px;font-size:clamp(.6rem,4.5cqi,1rem);line-height:1.5}.profile-base{font-family:var(--font-pixel);margin:0;font-size:clamp(.5rem,3.5cqi,.8rem)}.sprite .s-ink{fill:var(--ink)}.sprite .s-mid{fill:var(--mid)}.sprite .s-soft{fill:var(--soft)}.sprite .s-paper,:root[data-palette=night] .sprite .s-ink{fill:var(--paper)}:root[data-palette=night] .sprite .s-mid{fill:var(--soft)}:root[data-palette=night] .sprite .s-soft{fill:var(--mid)}:root[data-palette=night] .sprite .s-paper{fill:var(--ink)}.goal{background:color-mix(in srgb, var(--paper), var(--ink) 12%);border-left:6px solid var(--ink);margin:24px 0 8px;padding:14px 16px}.lcd .goal h2{font-size:var(--fs-s);margin:0 0 8px}.goal p{margin:0}.skills-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:2em 0 14px;display:flex}.lcd .skills-title{font-size:var(--fs-s);margin:0}.lcd .scale-toggle{background:var(--ink);color:var(--paper);font-family:var(--font-pixel);font-size:var(--fs-xs);cursor:pointer;border:0;padding:8px 10px}.lcd .scale-toggle:hover{background:var(--soft);color:var(--ink)}.stat-scale{font-family:var(--font-pixel);font-size:var(--fs-xs);justify-content:space-between;gap:10px;margin:10px 0 0;display:flex}.stat-note{opacity:.85;margin-top:10px;font-size:.8rem}.story-divider{border-top:2px dashed var(--mid);font-family:var(--font-pixel);font-size:var(--fs-s);text-align:center;margin:32px 0 0;padding-top:18px}.story-divider+.about-sections>section:first-child{border-top:0;margin-top:0}.skills-title span{opacity:.75}.stats{gap:14px;margin:0 0 1em;padding:0;list-style:none;display:grid}.stat-top{font-family:var(--font-pixel);font-size:var(--fs-xs);justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.stat-blocks{grid-template-columns:repeat(var(--segments,13), minmax(0, 1fr));gap:4px;display:grid}.stat-blocks span{border:2px solid var(--mid);height:12px}.stat-blocks span.on{background:var(--ink);border-color:var(--ink)}.about-sections section{border-top:2px dashed var(--mid);margin-top:26px;padding-top:4px}.lcd .about-sections h2{margin-top:1.2em}.about-sections h2:before{content:none}.contact{background:color-mix(in srgb, var(--paper), var(--ink) 12%);border-left:6px solid var(--ink);margin-top:28px;padding:14px 16px}.lcd .contact h2{font-size:var(--fs-s);margin:0 0 8px}.contact p{margin:4px 0}.contact a{font-weight:700}.brand{color:var(--logo);font-family:var(--font-pixel);margin:20px 0 0 4px}.brand-maker{font-size:var(--fs-m);margin-right:10px}.brand-model{font-size:var(--fs-xl);display:inline-block;transform:skew(-12deg)}.brand sup{font-size:var(--fs-xs)}.controls{grid-template-columns:auto 1fr auto;grid-template-areas:"dpad.ab"".ss speaker";align-items:center;row-gap:20px;padding:30px 12px 0;display:grid}.controls button{cursor:pointer}.controls button:focus-visible{outline:3px solid var(--logo);outline-offset:3px}.dpad{grid-template:repeat(3,36px)/repeat(3,36px);grid-area:dpad;display:grid}.dpad button,.dpad-mid{background:var(--dpad);border:0;position:relative}.dpad-up{border-radius:4px 4px 0 0;grid-area:1/2}.dpad-left{border-radius:4px 0 0 4px;grid-area:2/1}.dpad-mid{grid-area:2/2}.dpad-right{border-radius:0 4px 4px 0;grid-area:2/3}.dpad-down{border-radius:0 0 4px 4px;grid-area:3/2}.dpad button:after{content:"";border:6px solid #0000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dpad-up:after{border-bottom-color:#5a5961;margin-top:-3px}.dpad-down:after{border-top-color:#5a5961;margin-top:3px}.dpad-left:after{border-right-color:#5a5961;margin-left:-3px}.dpad-right:after{border-left-color:#5a5961;margin-left:3px}.dpad button:active{background:#141317}.ab{grid-area:ab;gap:18px;display:flex;transform:rotate(-25deg)}.ab-btn,.ss-btn{flex-direction:column;align-items:center;gap:8px;display:flex}.ab-btn button{background:var(--btn);width:52px;height:52px;box-shadow:0 4px 0 var(--btn-shadow);border:0;border-radius:50%}.ab-btn button:active{box-shadow:0 1px 0 var(--btn-shadow);transform:translateY(3px)}.ab-btn span,.ss-btn span{color:var(--logo);font-family:var(--font-pixel);font-size:var(--fs-s)}.ss{grid-area:ss;justify-self:center;gap:22px;display:flex}.ss-btn{transform:rotate(-25deg)}.ss-btn button{background:var(--rubber);width:50px;height:14px;box-shadow:0 2px 0 var(--shell-ink);border:0;border-radius:8px}.ss-btn button:active{box-shadow:none;transform:translateY(2px)}.ss-btn span{font-size:var(--fs-xs)}.speaker{grid-area:speaker;gap:8px;display:flex;transform:rotate(-30deg)}.speaker span{background:var(--shell-dark);border-radius:4px;width:7px;height:54px;box-shadow:inset 2px 2px #0000002e}.console-foot{color:var(--shell-ink);font-family:var(--font-pixel);font-size:var(--fs-xs);text-align:center;margin-top:34px;line-height:2.2}.console-foot a{color:inherit}.toast{z-index:60;background:var(--paper);color:var(--ink);font-family:var(--font-pixel);font-size:var(--fs-s);visibility:hidden;padding:12px 16px;transition:transform .2s steps(4,end),visibility 0s .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%,calc(100% + 40px))}.toast.is-on{visibility:visible;transition:transform .2s steps(4,end);transform:translate(-50%)}.boot{z-index:100;background:var(--paper);cursor:pointer;place-items:center;display:grid;position:fixed;inset:0}.boot-logo{color:var(--ink);font-family:var(--font-pixel);font-size:clamp(1.2rem,6vw,2.6rem);animation:1.8s steps(12,end) both boot-drop}.boot-logo sup{font-size:.4em}.boot.is-leaving{animation:.6s steps(4,end) forwards boot-fade}@keyframes boot-drop{0%{transform:translateY(-55vh)}to{transform:translateY(0)}}@keyframes boot-fade{to{opacity:0}}@media (width<=640px){body{padding:10px 8px 32px}.console{border-radius:14px 14px 52px;padding:10px 12px 24px}.console-top{gap:6px;margin:0 -12px 12px;padding:0 12px 8px}.console-name{font-size:var(--fs-l)}.bezel{border-radius:8px 8px 32px;padding:10px 10px 24px}.bezel-text{min-width:0;overflow:hidden}.bezel-label .stripes.short{flex-basis:16px}.led-wrap{display:none}.controls{grid-template-areas:"dpad.ab""ss ss ss";padding-top:22px}.dpad{grid-template:repeat(3,32px)/repeat(3,32px)}.ab-btn button{width:44px;height:44px}.speaker{display:none}.post-nav{grid-template-columns:1fr}.profile{grid-template-columns:134px minmax(0,1fr);gap:14px}.portrait{padding:4px}.portrait svg{width:120px;height:120px}:where(.lcd) h1{font-size:var(--fs-l)}:where(.lcd) h2{font-size:var(--fs-m)}}@media (width<=400px){.console-micro:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
