
:root{color-scheme:dark;--ink:var(--text-bright);--dim:var(--text-muted);font-family:Consolas,'Courier New',monospace}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 42% 40%,#172e18,#091a0e 58%,#030a05);color:var(--ink);text-shadow:0 0 10px #9dff6955}a{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:clamp(16px,4vw,40px) clamp(16px,5vw,58px)}.top a,.links a{font-size:.85rem;text-decoration:none}.top a:hover,.links a:hover{background:var(--ink);color:#0d2011;text-shadow:none}.language{display:flex;gap:7px;align-items:center;color:var(--dim);z-index:1}.language button{font:inherit;font-size:.85rem;background:none;color:inherit;border:1px solid transparent;padding:7px 9px;cursor:pointer}.language button[aria-pressed=true]{border-color:#61894b;color:var(--ink);background:#203b1b}main{max-width:1040px;margin:auto;padding:clamp(28px,7vh,84px) clamp(22px,7vw,86px) 52px}.prompt,.meta{color:var(--dim);font-size:.83rem;letter-spacing:.1em}.prompt{margin:0 0 8px}.cursor{display:inline-block;width:.12em;height:.73em;background:currentColor;margin-left:.14em;animation:blink 1.15s steps(1) infinite}@keyframes blink{50%{opacity:0}}h1{margin:0;font-size:clamp(2.75rem,10vw,7rem);line-height:1;letter-spacing:-.065em;text-shadow:0 0 23px #9dff6980}dl{margin:32px 0 0;border-top:1px dashed #4f7541}.row{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;gap:16px;border-bottom:1px dashed #4f7541;padding:14px 0;line-height:1.55}dt{color:var(--dim);font-size:.82rem;letter-spacing:.07em}dd{margin:0;color:var(--text-body)}.links{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}.meta{margin-top:52px}@media(max-width:460px){.row{grid-template-columns:1fr;gap:4px}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}}

main{padding-top:clamp(24px,6vh,68px)} h1{font-size:clamp(2.2rem,7vw,5.8rem);line-height:1.1}
.lead,.detail,.file-section > p{color:var(--text-body);line-height:1.65}.index{list-style:none;padding:0;margin:32px 0;border-top:1px dashed #4f7541}
.index a{display:grid;grid-template-columns:5ch minmax(0,1fr) auto;gap:12px;padding:16px 0;border-bottom:1px dashed #4f7541;text-decoration:none}.index a:hover{background:#203b1b}
.index small,.index .number{color:var(--dim)}.index strong,.index small{display:block}.index small{margin-top:4px;line-height:1.5}
.arcade{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;margin-top:24px}canvas{width:100%;height:auto;display:block;background:#071108;border:1px solid #416337;touch-action:none}canvas:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.panel h3{margin:0}.panel p{line-height:1.6}.btn{padding:8px 12px;border:1px solid #6a9852;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.btn:hover,.primary{background:var(--ink);color:#102112}
@media(max-width:660px){.arcade{grid-template-columns:1fr}}

.project-detail .file-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;color:var(--dim);font-size:.76rem;letter-spacing:.08em}
.file-meta span{padding:4px 8px;border:1px solid #355130}
.project-detail .lead{max-width:62ch;margin:16px 0 0}
.file-section{margin-top:34px}
.file-heading{display:flex;align-items:baseline;gap:12px;border-bottom:1px dashed #4f7541;padding-bottom:10px}
.file-heading span,.display-label{color:var(--dim);font-size:.76rem;letter-spacing:.1em}
.file-heading h2{margin:0;font-size:1.12rem}
.project-detail .arcade{margin-top:14px;grid-template-columns:minmax(0,1fr);gap:12px}
.game-display{min-width:0;border:1px solid #416337;background:#071108}
.display-label{display:flex;justify-content:space-between;padding:6px 10px}
.game-display canvas{border:0;border-top:1px solid #416337}
.project-detail .arcade .panel{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.project-detail .arcade .readout{margin:0;color:var(--text-body)}
.project-detail .detail{border-top:0;margin:0}
.empty-preview{min-height:160px;display:grid;align-content:center;justify-items:center;text-align:center;border:1px dashed #355130;margin-top:14px;padding:16px;color:var(--dim)}
.empty-preview p{margin:8px 0 0}

.project-shot{margin:20px 0;border-bottom:1px dashed #4f7541}
.project-shot img{display:block;width:100%;max-height:480px;object-fit:contain;background:#071108}
.project-shot figcaption{padding:10px 0;color:var(--text-muted);font-size:.8rem}
.project-rules{padding-left:1.6em;color:var(--text-body);line-height:1.65}
.project-rules li+li{margin-top:.55em}
