:root{color-scheme:dark;--bg:#101611;--panel:#172019;--border:#2c3a2d;--muted:#a2b0a1;--lime:#c0ef78;--ink:#f1f4e9;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,select,input{touch-action:manipulation}button,.button,select{border:1px solid var(--border);background:#1b261c;border-radius:6px}button{cursor:pointer;padding:9px 13px}button:hover,.button:hover{background:#2b3a27;border-color:#8dba61}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:550;letter-spacing:-.045em}p{line-height:1.7}em{font-style:normal;color:var(--lime)}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 4.2%;border-bottom:1px solid var(--border);background:#101611f5}.brand{display:flex;align-items:center;gap:20px}.brand img{object-fit:contain;image-rendering:pixelated}.brand span{max-width:105px;font-size:9px;letter-spacing:.16em;line-height:1.7;color:var(--muted);border-left:1px solid var(--border);padding-left:20px}.site-header nav{display:flex;align-self:stretch;gap:28px}.site-header nav a{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.site-header nav a[aria-current=page]{color:var(--lime);border-color:var(--lime)}nav span{font:9px monospace;padding:2px 4px;border:1px solid var(--border);border-radius:3px}.repo-link{font-size:12px;color:var(--muted)}.landing,.content-page{max-width:1560px;margin:auto;padding:0 5.5% 70px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:570px;align-items:center;gap:50px;padding:58px 0}.eyebrow{font:10px/1.5 Consolas,monospace;letter-spacing:.16em;color:var(--lime);margin-bottom:23px}.eyebrow i,.status-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:9px;flex-shrink:0}h1{font-size:clamp(42px,4.4vw,72px);line-height:1.04;margin-bottom:25px}.intro{max-width:550px;font-size:16px;color:var(--muted);line-height:1.8}.actions{display:flex;gap:12px;margin:30px 0 19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 21px;font-size:13px;font-weight:600}.button.primary{background:var(--lime);color:#18230e;border-color:var(--lime)}.button.primary:hover{background:#d2ffa0}.button b{font-size:16px;font-weight:400}.subtle,.fine{font-size:11px;color:var(--muted);line-height:1.7}.hero-art{position:relative;height:440px;overflow:hidden;border:1px solid #41543a;border-radius:12px;background:#071008;transform:rotate(-2deg);box-shadow:0 25px 80px #0005}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080f09 2%,transparent 45%);pointer-events:none}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.85;transition:transform .6s}.hero-art:hover img{transform:scale(1.04)}.art-caption{position:absolute;z-index:1;bottom:25px;left:27px;right:27px;display:flex;flex-direction:column;gap:9px}.art-caption span{font:9px monospace;letter-spacing:.14em;color:var(--lime)}.art-caption strong{font-size:25px;font-weight:500;letter-spacing:-.035em}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;border-block:1px solid var(--border);padding:27px 0}.metrics>div{display:flex;align-items:center;gap:19px;border-right:1px solid var(--border);padding:0 24px}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0;padding-right:0}.metrics strong{font-size:33px;font-weight:500;letter-spacing:-.05em;white-space:nowrap}.metrics strong span{font-size:18px;color:#6e8568}.metrics span{font-size:10px;line-height:1.6;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:65px 0 26px;gap:20px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{font-size:32px;margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{display:block;padding:28px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(130deg,#1b251b,#131b14)}a.feature:hover{border-color:#7e9b5b}.feature-num{display:block;font:9px monospace;color:#a0b88c;letter-spacing:.08em;margin-bottom:30px}.feature h3{font-size:23px;display:flex;justify-content:space-between}.feature h3 span{color:var(--lime)}.feature p{font-size:13px;color:var(--muted)}.tag{display:inline-block;font:9px monospace;letter-spacing:.07em;color:#bdd69d;margin-top:14px}.project-note{display:flex;align-items:center;gap:18px;border-top:1px solid var(--border);margin-top:35px;padding-top:30px}.project-note p{font-size:12px;color:var(--muted);margin:0;max-width:800px}.project-note strong{color:var(--ink)}.project-note a{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--lime)}footer{border-top:1px solid var(--border);padding:25px 4.2%;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#8e9f88;line-height:1.6}footer b{color:var(--lime)}.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px}.tool-heading h1{font-size:28px;margin:0}.tool-heading .eyebrow{font-size:8px;margin:0 0 8px}.tool-actions{display:flex;gap:12px;align-items:center}.tool-actions label{font:9px monospace;color:var(--muted);display:flex;gap:10px;align-items:center}.level-select{padding:11px;font:12px Segoe UI,sans-serif;max-width:290px}.compact{padding:11px 14px;font-size:11px}.tool-page{background:#0c120d}.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;border-top:1px solid var(--border);height:calc(100dvh - 194px);min-height:610px}.viewport{position:relative;min-width:0;background:radial-gradient(ellipse at center,#253428,#0d160f);overflow:hidden}.viewport canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.view-toolbar{position:absolute;top:18px;left:18px;z-index:2;display:flex;flex-wrap:wrap;gap:5px}.view-toolbar button{font-size:11px;background:#111b12eb;box-shadow:0 2px 15px #0003}.view-toolbar [aria-pressed=true]{background:var(--lime);color:#15200d}.view-message{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);background:#101a10ed;padding:20px;border:1px solid #5c7647;border-radius:8px;max-width:80%;font-size:13px;line-height:1.7;text-align:center}.view-caption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;display:flex;justify-content:space-between;gap:20px;background:#0d160fe8;border-top:1px solid #29372b;font:10px monospace;color:#b1c5a7;pointer-events:none}.inspector{border-left:1px solid var(--border);padding:25px 22px;overflow:auto;background:#151e16}.inspector .eyebrow{font-size:9px;margin-bottom:12px}.inspector h2{font-size:24px}.view-options{display:grid;gap:15px;margin:25px 0}.view-options label{font-size:12px;display:flex;align-items:center;gap:10px}.view-options input{accent-color:var(--lime);width:15px;height:15px;margin:0}.inspector-section{border-top:1px solid var(--border);padding-top:22px;margin-top:23px}.secret-button{width:100%;text-align:left;margin-bottom:7px;color:#ffc9eb;font-size:12px;border-color:#68505e;background:#30242e}.inspector p{font-size:12px;color:var(--muted)}.inspector .fine{font-size:10px}.inspector dl{display:grid;grid-template-columns:75px 1fr;gap:8px;font-size:11px}.inspector dt{color:var(--muted)}.inspector dd{margin:0;overflow-wrap:anywhere}.inspector a{color:var(--lime);text-decoration:underline}.content-page{padding-top:65px}.content-page h1{font-size:52px;max-width:900px}.development-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:45px}.development-grid h2{font-size:29px;margin-top:22px}.development-grid a{font-size:12px;color:var(--lime)}.live{color:var(--lime)}.resource-list{margin:10px 0 40px}.resource-list a{display:flex;align-items:center;gap:25px;padding:24px 5px;border-bottom:1px solid var(--border)}.resource-list a>span{font:11px monospace;color:var(--lime)}.resource-list strong{font-size:16px;font-weight:500}.resource-list small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.resource-list b{margin-left:auto;color:var(--lime)}.skip{position:fixed;left:10px;top:-60px;z-index:10;padding:12px;background:var(--lime);color:#000}.skip:focus{top:10px}::selection{background:#c0ef78;color:#101611}
@media(min-width:1700px){.hero{min-height:660px}.hero-art{height:500px}}@media(max-width:1100px){.brand span{display:none}.site-header{gap:15px}.site-header nav{gap:20px}.hero{gap:28px}.hero-art{height:390px}.metrics>div{padding:0 15px;gap:10px}.metrics strong{font-size:27px}.metrics span{font-size:9px}.tool-actions{gap:7px}.tool-heading{padding:22px}.explorer-layout{grid-template-columns:minmax(0,1fr) 255px}.inspector{padding:23px 17px}.view-caption{flex-direction:column;gap:5px}.feature{padding:22px}.feature h3{font-size:20px}}@media(max-width:760px){.site-header{height:auto;min-height:111px;flex-wrap:wrap;padding:10px 5% 0;gap:0}.brand img{width:120px;height:40px}.repo-link{margin-left:auto;order:1}.site-header nav{order:2;width:100%;height:48px;justify-content:space-between;gap:12px}.site-header nav a{font-size:12px}.hero{grid-template-columns:1fr;padding:42px 0;gap:30px}.hero h1{font-size:52px}.hero-art{height:340px;transform:none}.intro{font-size:14px}.metrics{grid-template-columns:1fr 1fr;gap:24px}.metrics>div{padding:0;border:0}.metrics strong{font-size:29px}.feature-grid,.development-grid{grid-template-columns:1fr}.section-heading{margin-top:45px;display:block}.section-heading>p{margin-top:14px}.section-heading h2{font-size:29px}.project-note{flex-wrap:wrap;align-items:start}.project-note p{flex:1}.project-note a{margin-left:24px}footer{flex-wrap:wrap;padding:22px 5%}.tool-heading{align-items:start;flex-direction:column;padding:22px 16px;gap:18px}.tool-actions{flex-wrap:wrap;width:100%}.tool-actions label{width:100%}.level-select{flex:1;max-width:none}.tool-heading h1{font-size:30px}.explorer-layout{height:auto;display:block;min-height:0}.viewport{height:65dvh;min-height:430px}.view-toolbar{left:10px;top:10px;right:10px}.view-toolbar button{font-size:10px;padding:8px 9px}.inspector{border-left:0;border-top:1px solid var(--border);overflow:visible;padding:25px}.view-options{grid-template-columns:1fr 1fr;gap:17px 10px}.content-page{padding-top:40px}.content-page h1{font-size:40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.native-art{transform:none;display:flex;align-items:flex-start;background:#111b12;height:440px}.native-art img{height:100%;object-fit:contain;object-position:center top;image-rendering:pixelated;opacity:1}.native-art:after{background:linear-gradient(0deg,#080f09 0%,#080f09e8 15%,transparent 38%)}.tool-heading .fine{margin:10px 0 0;max-width:490px;font-size:10px}.tool-actions{flex-wrap:wrap;justify-content:flex-end}.tool-heading{min-height:120px}.explorer-layout{height:calc(100dvh - 208px)}.text-link{font-size:12px;color:var(--lime)}.status-pill{border:1px solid #526d39;background:#23301c;color:var(--lime);padding:8px 12px;border-radius:20px;font:11px monospace}.controls-strip{margin-top:30px;padding:30px;border:1px solid var(--border);border-radius:8px;background:#121c14}.controls-strip h2{font-size:27px}.controls-strip .eyebrow{margin-bottom:10px}.controls-strip dl{display:flex;flex-wrap:wrap;gap:25px 40px;margin:25px 0 0}.controls-strip dd{margin:12px 0 0;color:var(--muted);font-size:12px}kbd{display:inline-block;padding:7px 10px;border:1px solid #506248;border-bottom:3px solid #506248;border-radius:5px;font:12px Consolas,monospace;background:#1c281c}.roadmap{border-top:1px solid var(--border);margin-bottom:30px}.roadmap article{display:flex;gap:30px;padding:30px 0;border-bottom:1px solid var(--border)}.roadmap-step{font:22px monospace;color:var(--lime);padding-top:18px}.roadmap h3{font-size:26px;margin:13px 0}.roadmap p{color:var(--muted);font-size:14px;max-width:850px;margin:0}.roadmap .tag{margin:0}.build-steps{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.7}.build-steps li{margin:18px 0}.build-steps pre{padding:13px;background:#0b130d;border:1px solid var(--border);border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere;color:#d8ebca;font-size:11px}.build-steps code{overflow-wrap:anywhere}.development-grid strong{color:var(--ink)}@media(max-width:1100px){.site-header nav{gap:16px}.tool-heading{align-items:flex-start}.tool-actions{max-width:490px}.native-art{height:390px}}@media(max-width:760px){.site-header nav a{font-size:11px}.site-header nav{gap:7px}.native-art{height:340px}.tool-actions{justify-content:flex-start;max-width:none}.explorer-layout{height:auto}.controls-strip{padding:22px}.controls-strip dl{gap:25px}.roadmap article{gap:18px}}

/* Keep the complete gameplay capture visible, including the edge HUD. */
.hero .native-art{display:block;height:auto;align-self:center}
.hero .native-art img{width:100%;height:auto;aspect-ratio:8/5;display:block;transform:none}
.hero .native-art::after{display:none}
/* Shared scrollbars for pages, panels, image previews and reference tables.
   Keep native controls in high-contrast mode. */
@media(forced-colors:none){
 :root{--scrollbar-track:var(--bg);--scrollbar-thumb:#6e8568;--scrollbar-hover:#8dba61}
 *{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
 @supports selector(::-webkit-scrollbar){
  *{scrollbar-color:auto}
  ::-webkit-scrollbar{width:14px;height:14px}
  ::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--scrollbar-track)}
  ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:8px;min-height:32px;min-width:32px}
  ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}
  ::-webkit-scrollbar-thumb:active{background:var(--lime)}
  ::-webkit-scrollbar-button{display:none}
 }
}
/* Original BG0 tilemap phases: +64px every eight GBA VBlanks (1862C).
   64 * 280896 / 16777216 seconds per eight-phase cycle; BG1 stays fixed.
   Both layers and the phase offsets use the requested integer 4x scale. */
body{isolation:isolate}
body::before{
 content:"";
 position:fixed;
 inset:0;
 z-index:-1;
 pointer-events:none;
 background-image:url('assets/theme/grid.png'),url('assets/theme/stone.png');
 background-size:32px 32px,2048px 2048px;
 background-repeat:repeat;
 background-position:0 0,-256px 0;
 image-rendering:crisp-edges;
 image-rendering:pixelated;
 opacity:.12;
 animation:advance-background-frames 1.071533203125s steps(8,end) infinite;
}
.tool-page{background:#0c120dd9}
@keyframes advance-background-frames{
 from{background-position:0 0,-256px 0}
 to{background-position:0 0,-2304px 0}
}
@media(prefers-reduced-motion:reduce){body::before{animation:none}}
