*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#101b22;color:#f9eaca;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;min-height:100dvh;background-image:linear-gradient(115deg,#10282c,#141528)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:2px solid #6c7971;background:#1d302f;box-shadow:0 3px 0 #030f17;border-radius:2px;padding:10px 13px}button:hover{background:#3b544d}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ffc44f;outline-offset:3px}button[aria-pressed=true]{background:#f4d273;color:#263238}header{display:flex;align-items:center;justify-content:space-between;max-width:1050px;margin:0 auto;padding:20px 22px;font-size:12px;letter-spacing:1px}header a{color:#f5d56f;text-decoration:none}header nav{display:flex;gap:10px}header button{font-size:10px;padding:8px 12px}main{display:flex;justify-content:center;padding:0 12px 30px}.cabinet{width:min(560px,calc((100dvh - 255px)*.846));min-width:320px;padding:10px;background:#d6b871;border:5px solid #f2d59a;border-bottom-color:#6f653f;box-shadow:0 12px 0 #07151c,0 28px 60px #0006}.marquee{display:flex;justify-content:space-between;align-items:center;background:#24372e;color:#fff1bd;margin-bottom:9px;min-height:45px;border:3px solid #665b34;gap:4px}.marquee h1{font-size:clamp(12px,1.3vw,19px);text-align:center;margin:5px}.marquee button{border:0;box-shadow:none;background:transparent;padding:8px;color:#ebc860}.screen{position:relative;border:5px solid #101e22;background:#102a30}canvas{width:100%;display:block;image-rendering:pixelated;touch-action:none}.dashboard{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px 4px;color:#24322b;font-size:10px}.meters{display:flex;gap:10px;align-items:center}#lives{color:#923c30;white-space:nowrap;font-size:19px}.utility{display:flex;gap:5px;color:#fff0bd}.utility button{font-size:9px;padding:6px 8px}.controls{display:flex;justify-content:center;align-items:center;gap:6px;padding:5px 0 0;position:relative}.controls>div{display:grid;gap:4px}.controls button{width:47px;height:31px;padding:1px;font-size:19px;background:#b64a36;border-color:#d87954;box-shadow:0 3px 0 #6a302a}.controls #hint{position:absolute;left:2px;bottom:8px;color:#24322b;font-size:10px;max-width:90px;line-height:1.4}#message{position:absolute;inset:20% 8% 28%;background:#172c29ee;border:4px solid #f4d173;padding:30px 16px;display:flex;gap:20px;align-items:center;justify-content:center;flex-direction:column;text-align:center}#message h2{font-size:21px;margin:0}#message button{background:#a84130}#message[hidden],button[hidden]{display:none}#loader{position:fixed;inset:0;z-index:100;background:#14282a;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;color:#f5d56f;letter-spacing:3px;font-size:21px}#loader span{font-size:11px}#loader progress{width:220px;accent-color:#f5d56f}#loader[hidden]{display:none}dialog{border:4px solid #dec781;background:#18352f;color:#fcf1ce;padding:0;max-width:min(960px,96vw);max-height:94dvh;width:960px;box-shadow:12px 12px 0 #0005}dialog::backdrop{background:#050c19cf}.dialog-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#173b32;border-bottom:3px solid #cfb774}.dialog-top h2{font-size:17px;margin:0}.dialog-top button{font-size:23px;padding:2px 10px}#stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}#stage-grid button{padding:0;overflow:hidden;background:#213b35;border-color:#837a49;font-size:11px;text-align:left;position:relative}#stage-grid canvas{aspect-ratio:16/9;pointer-events:none}#stage-grid span{display:block;padding:10px 7px;line-height:1.4}#stage-grid button.cleared:after{content:'★';position:absolute;top:7px;right:7px;color:#ffdb63;font-size:22px;text-shadow:1px 1px #000}#media{padding:10px 24px;--ab-ink:#f6eed9;--ab-muted:#c2c8ab;--ab-line:#4b6d58;--ab-bg:#18352f;font-weight:400;font-family:system-ui,sans-serif}#reader footer{display:flex;justify-content:space-between;gap:10px;padding:22px}#reader footer button{font-size:12px}#reader .ab-lede{font-size:17px;line-height:1.5}#reader .ab-heading{font-family:ui-monospace,monospace}#reader .ab-image img{background:#102621}#reader .ab-zoom{border:none;box-shadow:none}#reader .ab-frame{background:#081612}@media(max-width:600px){header{padding:14px 12px;font-size:10px;letter-spacing:0}header nav{gap:6px}header button{font-size:8px;padding:8px}main{padding:0 8px 18px}.cabinet{min-width:0;width:100%;padding:6px;border-width:3px}.marquee{min-height:38px;margin-bottom:6px}.marquee h1{font-size:13px}.dashboard{font-size:8px;padding-top:7px}.controls button{width:49px;height:34px}.controls #hint{font-size:9px}#stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:9px}#media{padding:7px 12px}dialog{max-width:98vw;max-height:97dvh;border-width:3px}.dialog-top{padding:10px}.dialog-top h2{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Round two: the worlds fill the cabinet; thumb controls keep a full target. */
.controls button{width:58px;height:50px}.controls{gap:7px}.controls>div{gap:7px}.collection-footer{padding:16px;text-align:center}#stage-grid canvas{background:#18352f}
@media(min-width:900px){header{max-width:920px;padding:9px 16px;min-height:42px}main{padding-bottom:16px}.cabinet{width:auto;min-width:0;display:grid;grid-template-columns:max(560px,min(720px,calc((100dvh - 138px)*.846))) 178px;grid-template-rows:auto 1fr;gap:10px 15px;padding:10px}.marquee{grid-column:1;grid-row:1;margin-bottom:0;min-height:36px}.screen{grid-column:1;grid-row:2}.dashboard{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-self:start;padding-top:2px;gap:18px}.meters{flex-direction:column;gap:8px}.utility{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.utility button{font-size:10px;padding:9px}.controls{grid-column:2;grid-row:2;align-self:center;padding-bottom:50px;gap:5px}.controls button{width:52px;height:52px}.controls #hint{left:0;bottom:12px;width:100%;max-width:none;text-align:center;font-size:13px}.marquee h1{font-size:18px}}
@media(max-width:600px){.controls button{width:58px;height:50px}.controls{padding-top:10px}.controls #hint{bottom:6px;max-width:78px}.cabinet{width:100%}}

header #about-button{padding:0;border:0;background:transparent;box-shadow:none;font-size:inherit;color:#f5d56f;letter-spacing:inherit}header nav{align-items:center}.faces-link{font-size:10px;padding:8px 2px}#about-content{padding:20px 28px;font:16px/1.65 system-ui,sans-serif;font-weight:400}#about-content a{color:#f5d56f}#about-content .about-role{font-family:ui-monospace,monospace;color:#f5d56f}#about-content .about-bio{font-size:20px}#about-content .about-links{display:flex;flex-wrap:wrap;gap:20px}.about-job{border-top:1px solid #6c7971;margin-top:25px;padding-top:12px}.about-job h3{font-size:16px}
