@font-face{font-family:KenFuture;src:url('./assets/font/kenvector_future.ttf') format('truetype');font-display:swap}
.bo-page{padding-block:32px 60px;min-width:0}.bo-back{display:inline-block;color:var(--text-3,#8494a8);margin-bottom:26px;font-size:13px}.bo-head{max-width:760px}.bo-eyebrow{display:flex;align-items:center;gap:12px;color:var(--text-3,#8292a7);font-size:12px}.bo-eyebrow__rule{width:56px;height:1px;background:var(--line-2,#253649)}.bo-title{font-size:clamp(30px,4vw,48px);font-weight:600;letter-spacing:-.04em;margin:12px 0}.bo-intro{color:var(--text-2,#afbdd0);line-height:1.9;max-width:65ch;font-size:14px}.bo-pill{display:inline-block;margin-top:14px;border:1px solid var(--line-2,#2b4251);border-radius:30px;padding:7px 13px;font-size:10px;letter-spacing:.09em;color:var(--text-2,#b1c8d1)}
.bo-game{scroll-margin-top:80px;position:relative;box-sizing:border-box;max-width:510px;padding:12px;margin:26px auto 0;border:1px solid var(--line,#25334b);border-radius:12px;background:var(--surface,#0a1423)}.bo-page .corner{position:absolute;width:12px;height:12px;border:0 solid var(--cyan,#79dcd6);pointer-events:none}.bo-page .corner--tl{left:-1px;top:-1px;border-top-width:2px;border-left-width:2px}.bo-page .corner--br{right:-1px;bottom:-1px;border-right-width:2px;border-bottom-width:2px}
.bo-stage{position:relative;aspect-ratio:3/5;width:min(100%,calc((100dvh - 160px)*.6));margin:auto;background:#060c19;isolation:isolate;border:1px solid #26344b;border-radius:5px;overflow:hidden}#plane-canvas{display:block;width:100%;height:100%;aspect-ratio:3/5;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;outline:none}#plane-canvas:focus-visible{outline:2px solid #7ae4d5;outline-offset:-2px}
.bo-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.bo-game button{font:inherit;cursor:pointer;border:1px solid #304454;background:#142238;color:#d9e9ef;padding:9px 10px;border-radius:6px;font-size:12px;transition:background .15s,border-color .15s;touch-action:manipulation}.bo-game button:hover{background:#22394c;border-color:#6adac6}.bo-game button:focus-visible{outline:2px solid #8bf5d7;outline-offset:2px}.bo-game button:disabled{opacity:.42;cursor:default}.bo-game button.bo-primary{background:#9aefd3;color:#08272b;border-color:#9aefd3;font-weight:750}.bo-game button.bo-primary:hover{background:#c8ffe8}.bo-help{max-width:510px;margin:18px auto;color:var(--text-3,#8495a8);font-size:11px;line-height:1.95}
.bo-panel{position:absolute;inset:0;background:linear-gradient(180deg,#071222e8,#071222eb 60%,#071222f7);backdrop-filter:blur(7px);z-index:5;color:#e4f3fa;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.bo-panel[hidden]{display:none}.bo-panel-content{box-sizing:border-box;width:100%;max-width:440px;padding:26px 22px;text-align:center;margin:auto}.bo-kicker{font:10px KenFuture,monospace;letter-spacing:.15em;color:#83e5ca;margin:0 0 16px}.bo-panel h2{font-size:clamp(20px,5vw,31px);font-weight:650;letter-spacing:-.03em;margin:10px 0 14px}.bo-panel p{font-size:12px;line-height:1.8;color:#aabed0}.bo-panel progress{width:100%;accent-color:#83e5ca;height:5px}.bo-panel .bo-panel-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:19px}.bo-panel .bo-panel-actions button{min-width:105px}.bo-panel small{color:#7896a7;font-size:10px}.bo-ship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:22px 0 16px}.bo-game .bo-ship{padding:14px 5px 10px;background:#101e31;border-color:#263b4a}.bo-game .bo-ship[aria-pressed=true]{border-color:#8ce9d0;background:#143c43;box-shadow:0 0 18px #6ffff312}.bo-ship img{display:block;width:49px;height:45px;object-fit:contain;margin:0 auto 10px}.bo-ship b{display:block;font-size:13px}.bo-ship small{display:block;font-size:9px;margin-top:5px}.bo-ship-caption{min-height:22px}.bo-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.bo-game .bo-level{text-align:left;padding:12px 10px;position:relative;min-height:87px;background:#101f31}.bo-level .bo-num{font:18px KenFuture,monospace;color:#79e4cd;display:block;margin-bottom:7px}.bo-level b{font-size:12px;display:block}.bo-level small{font-size:9px;display:block;margin-top:5px}.bo-stars{color:#ffd98f;font-size:13px;letter-spacing:3px}.bo-level .bo-stars{position:absolute;right:8px;top:12px;font-size:10px;letter-spacing:1px}.bo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:20px 0}.bo-stats div{border:1px solid #2a3e52;border-radius:6px;padding:12px 2px}.bo-stats b{font:18px KenFuture,monospace;display:block;color:#9feeda}.bo-stats small{display:block;margin-top:7px}.bo-help-list{text-align:left;display:grid;gap:8px;margin:16px 0}.bo-help-list div{display:flex;gap:10px;align-items:center;background:#0f2033;border-radius:5px;padding:7px}.bo-help-list img{width:26px;height:26px;object-fit:contain}.bo-help-list b{font-size:12px}.bo-help-list p{font-size:11px;margin:3px 0}.bo-help-text{text-align:left}.bo-game .bo-bomb{position:absolute;right:13px;bottom:16px;z-index:2;border-radius:50%;height:65px;width:65px;padding:0;background:#152942c9;border:1px solid #4b6575;color:#92b0c4;user-select:none;-webkit-user-select:none;opacity:.45}.bo-bomb b{display:block;font-size:17px}.bo-game .bo-bomb.bo-ready{opacity:1;border-color:#99f1d4;color:#afffe4;box-shadow:0 0 20px #5dffd324}.bo-game .bo-fs-exit{display:none;position:absolute;right:10px;top:calc(8px + env(safe-area-inset-top));z-index:20;font-size:23px;padding:0;width:34px;height:34px;background:#0c1c2add}
html.bo-pseudo-fs,html.bo-pseudo-fs body{overflow:hidden;height:100%;overscroll-behavior:none}.bo-game:fullscreen,html.bo-pseudo-fs .bo-game{position:fixed;inset:0;max-width:none;width:100%;height:100dvh;border:0;border-radius:0;margin:0;z-index:1000;background:#040914;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(10px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));gap:7px}.bo-game:fullscreen .bo-stage,html.bo-pseudo-fs .bo-stage{width:min(100%,calc((100dvh - 105px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.6));flex:none;margin:0}.bo-game:fullscreen .bo-actions,html.bo-pseudo-fs .bo-actions{width:min(480px,100%);margin:0}.bo-game:fullscreen .bo-fs-exit,html.bo-pseudo-fs .bo-fs-exit{display:block}html.bo-pseudo-fs .nav,html.bo-pseudo-fs .bg-grid{display:none!important}
@media(max-width:600px){.bo-page{padding-block:19px 30px}.bo-back{margin-bottom:16px}.bo-head .bo-intro{font-size:12px}.bo-title{font-size:29px}.bo-pill{font-size:9px;margin-top:9px}.bo-game{padding:6px;margin-top:18px}.bo-stage{width:min(100%,calc((100dvh - 140px)*.6))}.bo-actions{gap:5px;margin-top:7px}.bo-game .bo-actions button{padding:8px 2px;font-size:11px}.bo-panel-content{padding:20px 15px}.bo-panel h2{font-size:25px}.bo-help{font-size:10px}.bo-game .bo-bomb{width:59px;height:59px;bottom:13px;right:10px}}
@media(max-height:550px) and (orientation:landscape){.bo-game:fullscreen,html.bo-pseudo-fs .bo-game{flex-direction:row;gap:16px;padding:8px}.bo-game:fullscreen .bo-stage,html.bo-pseudo-fs .bo-stage{width:calc((100dvh - 16px)*.6)}.bo-game:fullscreen .bo-actions,html.bo-pseudo-fs .bo-actions{width:115px;display:flex;flex-direction:column}.bo-panel-content{padding:12px}.bo-panel h2{font-size:21px}.bo-ship-grid{margin:12px 0}.bo-level-grid{gap:5px}.bo-game .bo-level{min-height:65px;padding:7px}.bo-level .bo-num{font-size:14px}.bo-level .bo-stars{top:7px}}
@media(prefers-reduced-motion:reduce){.bo-game button{transition:none}.bo-panel{backdrop-filter:none}}

/* Keep the paused status rack visible above the dialog. */
.bo-is-paused .bo-panel {
  top: 17.5%;
}

.bo-stats {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 600px) {
  .bo-game .bo-bomb {
    right: max(9px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    width: 54px;
    height: 54px;
    background: #103d50dc;
  }
}

.bo-flight-rail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 58px;
  margin: 7px auto 0;
  color: #add9df;
  font-size: 12px;
  line-height: 1.7;
}

.bo-flight-rail small {
  color: #819cac;
  font-size: 10px;
}

.bo-game .bo-flight-rail .bo-bomb {
  position: static;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
}

.bo-stage {
  width: min(100%, calc((100dvh - 218px) * .6));
}

.bo-game:fullscreen .bo-flight-rail,
html.bo-pseudo-fs .bo-flight-rail {
  width: min(480px, 100%);
  margin: 0;
}

.bo-game:fullscreen .bo-stage,
html.bo-pseudo-fs .bo-stage {
  width: min(100%, calc((100dvh - 170px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .6));
}

@media (max-height: 550px) and (orientation: landscape) {
  .bo-game:fullscreen .bo-stage,
  html.bo-pseudo-fs .bo-stage {
    width: calc((100dvh - 16px) * .6);
  }

  .bo-game:fullscreen .bo-flight-rail,
  html.bo-pseudo-fs .bo-flight-rail {
    width: 64px;
    flex-direction: column;
    gap: 12px;
  }

  .bo-flight-rail span {
    display: none;
  }
}

.bo-actions button,.bo-volume{min-height:40px}.bo-volume{display:flex;align-items:center;gap:8px;grid-column:span 2;color:#d9e9ef;font-size:12px;padding:0 8px;white-space:nowrap}.bo-volume input{min-width:0;width:100%;height:40px;accent-color:#9aefd3}.bo-game:fullscreen .bo-stage,html.bo-pseudo-fs .bo-stage{width:min(100%,calc((100dvh - 240px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.6))}

.bo-stage{width:min(100%,calc((100dvh - 258px)*.6))}
@media(max-height:550px) and (orientation:landscape){.bo-game:fullscreen .bo-stage,html.bo-pseudo-fs .bo-stage{width:calc((100dvh - 16px)*.6)}}
