
:root{--paper:#0b1020;--ink:#eff3ff;--muted:#b5c1dc;--red:#ad91ff;--green:#66dfeb;--line:#344267}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.55}a{color:var(--green)}button,input,select{font:inherit}button,select,.file-label{border:1px solid var(--line);border-radius:7px;background:#151e36;color:var(--ink);padding:.6rem .85rem}button{cursor:pointer}button:hover{border-color:var(--red)}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{background:var(--red);color:white}.primary{background:var(--red);color:white;font-weight:750}.project-nav{padding:1rem 3vw;display:flex;flex-wrap:wrap;gap:1.1rem;border-bottom:1px solid var(--line)}.project-nav a{font-weight:650;text-decoration:none}.intro{padding:2.5rem 3vw 1.6rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}h1{font-size:clamp(2rem,4.5vw,4.3rem);line-height:1.08;letter-spacing:-.045em;margin:.3rem 0}h2{font-size:1.3rem;line-height:1.2}h3{font-size:1rem}p{margin:.7rem 0}.eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:800;color:var(--muted)}.edition{border-left:4px solid var(--red);padding:.5rem 1rem;font-size:.85rem;flex-shrink:0}.play-layout{padding:0 2vw 2rem;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(215px,260px);gap:18px;align-items:start}.panel{border:1px solid var(--line);border-radius:10px;padding:1.1rem;background:#111a2f;margin-bottom:1rem}.route-panel{max-height:calc(100vh - 25px);overflow:auto;position:sticky;top:12px}.game-column{min-width:0}.game-stage{position:relative;aspect-ratio:4/3;background:#070c18;border:5px solid #eff3ff;border-radius:10px;overflow:hidden;color:white}#game{width:100%;height:100%}#boot-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(1rem,4vw,3rem);background:linear-gradient(145deg,#10172e,#28214c)}#boot-card[hidden]{display:none}#boot-card .eyebrow{color:#b8eafa}#boot-card h2{font-size:clamp(1.2rem,2.4vw,2rem)}#boot-card p{font-size:.9rem;max-width:45em}#player-status{font-size:.8rem}.toolbar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;padding:.8rem 0}.volume{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-left:auto}.volume input{width:100px}.time-panel{padding:1rem;border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:space-between;margin-bottom:1rem}.time-panel>div{display:flex;flex-direction:column;gap:.4rem}.time-panel label{font-size:.75rem}.time-panel p,.time-panel>.check{width:100%;margin:.3rem 0}.time-panel select{padding:.2rem .4rem;margin-left:.4rem}#speed-status{font-size:.85rem;font-weight:650}.small,small{font-size:.78rem;color:var(--muted)}.check{display:flex;gap:.5rem;align-items:center}.cheat{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0}.cheat input{margin-top:.3rem}.cheat small{display:block;margin-top:.4rem}.cheats-panel hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.touch-controls{display:flex;gap:1rem;justify-content:space-between;padding:1rem 0;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:3px;align-self:center}.dpad button{padding:0}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.face-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.face-buttons button{font-size:.7rem;padding:.5rem .4rem}.file-label{display:inline-block;margin-top:.6rem}.file-label input{display:block;max-width:100%;font-size:.8rem;margin-top:.4rem}summary{cursor:pointer;font-weight:700}footer{padding:2rem 3vw;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.content{max-width:1140px;margin:auto;padding:2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.cards a{display:block;text-decoration:none;padding:1.5rem;background:#111a2f;border:1px solid var(--line);border-radius:10px}.cards h2{color:var(--red)}.hero-capture{image-rendering:pixelated;width:min(100%,640px);border-radius:10px}.play-layout:fullscreen{background:var(--paper);overflow:auto;padding-top:15px}.ejs_parent{width:100%!important;height:100%!important}.ejs_parent canvas{image-rendering:pixelated}
@media(min-width:1600px){.play-layout{grid-template-columns:320px minmax(0,1000px) 270px;justify-content:center}}@media(max-width:1150px){.play-layout{grid-template-columns:230px minmax(0,1fr)}.cheats-panel{grid-column:2}.intro{padding-top:1.5rem}}@media(max-width:760px){.play-layout{display:flex;flex-direction:column;padding:0 12px}.game-column{order:0;width:100%}.route-panel{order:1;width:100%;position:static;max-height:600px}.cheats-panel{order:2;width:100%}.intro{padding:1.5rem 12px}.edition{display:none}.touch-controls{gap:.5rem}.face-buttons{grid-template-columns:repeat(2,1fr)}.volume{margin-left:0}.project-nav{font-size:.8rem;gap:.75rem}.time-panel{justify-content:center}.game-stage{border-width:3px}}


body{background:radial-gradient(ellipse at 90% 0,#252147 0,transparent 48rem),var(--paper)}
button[aria-pressed=true],.primary{color:#10152a}.game-stage{border-color:#394a72}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #66dfeb;outline-offset:3px}
.landing{max-width:1050px;margin:auto;padding:clamp(1.3rem,5vw,4rem)}
.landing h1{max-width:14ch}.landing-lead{max-width:48rem;font-size:1.12rem;color:#cad4eb}
.landing .actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin:1.8rem 0}
.button-link{display:inline-block;padding:.75rem 1.1rem;border-radius:.5rem;text-decoration:none;border:1px solid var(--line)}
.button-link.primary{background:#ad91ff;color:#10152a}.build-note{border-left:3px solid #ad91ff;padding-left:1rem;max-width:55rem}
.hero-art{width:100%;max-width:1000px;display:block;margin:2rem 0;border-radius:1rem;image-rendering:pixelated}
.juno-route select,.juno-route input[type=search],.juno-route-tabs button,.juno-route-item{background:#151e36!important;color:#eff3ff!important}
.juno-route-tabs button[aria-pressed=true]{background:#66dfeb!important;color:#10152a!important}
.juno-route-error{color:#efcc8c!important}.edition{border-color:#ad91ff}

.release-banner{margin:0 2vw 1.3rem;padding:.85rem 1rem;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:.5rem;background:#111a2f;color:var(--muted);font-size:.9rem}.release-banner strong{color:var(--ink)}

/* HD development landing and dated notes; earlier player styles stay scoped. */
.hd-landing{max-width:1280px}.hd-landing h1{max-width:20ch;font-size:clamp(2.3rem,5vw,4.6rem)}
.hd-hero{margin:2rem 0;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#101a2d}
.hd-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:auto}
.hd-hero figcaption{padding:.8rem 1rem;color:var(--muted);font-size:.8rem}
.release-history{margin-top:1rem}.release-history p{margin:.8rem 0}
.hd-update{max-width:960px}.hd-update h1{max-width:18ch}.hd-update .update-lead{font-size:1.15rem;color:#cad4eb}
.hd-update .update-status{border-left:4px solid var(--green);padding:.8rem 1rem;background:#111a2f;border-radius:0 .5rem .5rem 0}
.hd-update code{background:#17233c;padding:.12rem .3rem;border-radius:.25rem;font-size:.88em}
.hd-update table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}
.hd-update th,.hd-update td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.75rem .6rem}
.hd-update th{color:var(--muted);font-weight:650}.hd-update th:first-child{width:35%}
