@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#080c17;--muted:#7c879e;--cyan:#89e5ff;--orange:#ff7349}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#182238 0,#080c17 65%);color:#eef3ff;font-family:'IBM Plex Mono',monospace;font-size:14px}main{max-width:1240px;margin:auto;padding:30px 36px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.brand{font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:800;letter-spacing:3px;color:#edf2ff;text-decoration:none}.brand span{color:var(--orange)}.edition{font-size:12px;letter-spacing:2px;color:var(--muted)}.edition span{color:var(--orange);padding:0 10px}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #354158;background:#141c2b;padding:12px 16px}button:hover{background:#25354b;border-color:var(--cyan)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.tools{display:flex;gap:8px}.tools button{font-size:12px}#fullscreen{font-size:22px;padding:5px 13px}.console{border:1px solid #354158;background:#0b111e;box-shadow:0 24px 100px #0006}.telemetry{display:flex;justify-content:space-between;padding:19px 25px;border-bottom:1px solid #354158}.telemetry>div{display:flex;gap:7px;flex-direction:column}.telemetry label{font-size:12px;color:var(--muted);letter-spacing:2px}.telemetry strong{font-size:23px;letter-spacing:3px;font-weight:500}.record strong{color:var(--orange)}.screen{position:relative;background:#020713;aspect-ratio:16/9;overflow:hidden}.screen:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0002 3px 4px);opacity:.4}canvas{display:block;width:100%;height:100%;touch-action:none}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(90deg,#03091722,#03091777,#03091711);text-align:center;padding:20px}.eyebrow{font-size:12px;letter-spacing:5px;color:var(--cyan);margin-bottom:12px}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(65px,10vw,128px);font-style:italic;letter-spacing:9px;line-height:.95;margin:0;text-shadow:4px 4px 0 #263f64,0 0 65px #69bbff33}#subtitle{letter-spacing:10px;font-size:17px;color:var(--orange);margin:16px 0}#description{color:#a6b5ce;margin:8px 0 27px}.primary{background:var(--orange);border:0;color:#101521;font-weight:600;letter-spacing:1px;padding:17px 24px}.primary:hover{background:#ffa07e}.primary span{margin-left:25px}.hint{font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:16px}#pause{position:absolute;right:14px;top:14px;background:#0b132288;padding:8px 12px;z-index:2}#toast{position:absolute;top:20%;width:100%;text-align:center;color:#a9f3ff;font-size:18px;letter-spacing:3px;text-shadow:0 2px 5px #000;pointer-events:none;z-index:3}.power{display:flex;align-items:center;gap:16px;padding:20px 22px;border-top:1px solid #354158}.powerlabel{font-size:12px;line-height:1.7;color:#dce4f6;letter-spacing:1px}.powerlabel span{color:var(--muted)}.slots{display:flex;gap:5px;flex:1}.slot{flex:1;padding:11px 4px;text-align:center;border:1px solid #293348;color:#7888a3;font-size:12px;letter-spacing:1px;position:relative}.slot.equipped{color:#b0eaff;border-bottom:2px solid #72cfe7}.slot.selected{background:var(--orange);color:#131a27;border-color:var(--orange);box-shadow:0 0 22px #ff734933}.slot small{display:block;font-size:10px;margin-bottom:4px;opacity:.6}kbd{font:inherit;font-size:11px;border:1px solid #354158;padding:4px 6px;border-radius:3px;color:#d1d9eb}#upgrade{white-space:nowrap;font-size:12px}#upgrade kbd{margin-left:6px}.statusline{display:flex;justify-content:space-between;padding:12px 23px;font-size:11px;letter-spacing:1px;border-top:1px solid #222d40;color:var(--muted)}#state{color:var(--cyan)}footer{display:flex;gap:22px;align-items:center;margin-top:24px;font-size:11px;color:var(--muted)}footer>div{white-space:nowrap}footer button{margin-left:auto;border:0;background:none;padding:0;font-size:11px;color:#c5d0e3}.credit{text-align:center;font-size:10px;color:#536078;letter-spacing:2px;margin:35px 0 0}.credit span{padding:0 12px}#bossbar{position:absolute;top:22px;left:25%;width:50%;display:none;font-size:11px;letter-spacing:3px;text-align:center;color:#ff9b80}#bossbar>div{height:5px;background:#411d27;margin-top:8px}#bosshealth{display:block;height:100%;background:#ff7858;width:100%}.touch{display:none;justify-content:space-between;margin-top:15px;touch-action:none;user-select:none}.dpad{display:grid;grid-template:repeat(2,44px)/repeat(3,44px);gap:4px}.dpad button{padding:0;font-size:22px}.up{grid-column:2}.left{grid-column:1;grid-row:2}.down{grid-column:2;grid-row:2}.right{grid-column:3;grid-row:2}.actions{display:flex;gap:8px;align-items:center}.actions button{border-radius:50%;width:45px;height:45px;padding:0}.actions .fire{width:72px;height:72px;border-color:var(--orange);color:var(--orange)}dialog{max-width:580px;max-height:85dvh;background:#121b2b;border:1px solid #48627f;color:#c7d2e8;line-height:1.7;padding:30px}dialog::backdrop{background:#020711cc}dialog h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;color:#fff;margin-top:0}.close{float:right;padding:0 10px;font-size:24px}.small{font-size:12px;color:var(--muted)}summary{color:var(--orange);cursor:pointer}body:has(.screen:fullscreen) .screen{width:100vw;height:100vh;aspect-ratio:auto}.screen:fullscreen canvas{object-fit:contain}@media(pointer:coarse){.touch{display:flex}}@media(max-width:800px){main{padding:15px 12px}.edition{display:none}header{margin-bottom:16px}.telemetry{padding:12px 16px}.telemetry strong{font-size:17px}.telemetry label{font-size:10px}.power{padding:12px 8px;gap:7px}.powerlabel{display:none}.slot{font-size:9px;letter-spacing:0}#upgrade{font-size:10px;padding:13px 8px}#upgrade kbd{display:none}footer{flex-wrap:wrap;gap:16px;font-size:10px}footer button{margin-left:0}.statusline{font-size:9px;padding:10px}.eyebrow{font-size:9px;margin-bottom:5px;letter-spacing:3px}h1{font-size:60px}#subtitle{font-size:11px;margin:9px 0;letter-spacing:6px}#description{font-size:10px;margin:5px 0 13px}.primary{font-size:11px;padding:12px}.hint{font-size:8px;margin-top:10px}.credit{font-size:9px}.screen{min-height:230px}}@media(max-height:550px) and (orientation:landscape){main{padding:6px 12px;max-width:950px}header,footer,.credit,.statusline{display:none}.telemetry{padding:5px 12px;position:absolute;top:8px;left:8px;right:8px;z-index:4;border:0;pointer-events:none}.telemetry label{display:none}.telemetry strong{font-size:13px}.console{position:relative}.screen{height:calc(100dvh - 68px);aspect-ratio:auto;min-height:0}.power{padding:4px}.slot{padding:5px}.slot small{display:none}.touch{position:absolute;left:25px;right:25px;bottom:80px;pointer-events:none;opacity:.7;z-index:5}.touch button{pointer-events:auto}}
/* Keep rapid taps and holds inside the game from selecting text on iOS. */
.console, .console *, .touch, .touch *, button {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.console, .touch, .console button, .touch button {
  touch-action: none;
}
