.babylon-shell{max-width:1280px;height:min(920px,calc(100dvh - 36px));display:flex;flex-direction:column}
.bb-stage{position:relative;flex:1;min-height:0;background:#07060d;overflow:hidden;touch-action:none}
.bb-stage canvas{width:100%;height:100%;display:block;cursor:crosshair}
.bb-overlay{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 20px;background:linear-gradient(180deg,rgba(7,6,13,.42),rgba(7,6,13,.86));overflow:auto}
.bb-overlay[hidden]{display:none}
.bb-overlay h2{font:italic 900 clamp(56px,9vw,108px)/.78 'Barlow Condensed';margin:6px 0 0;color:#fff;text-shadow:5px 5px 0 #8d5cff}
.bb-overlay h3{font:700 clamp(16px,2vw,22px) 'Barlow Condensed';letter-spacing:.42em;color:var(--pink);margin:12px 0}
.bb-overlay p{color:#b2adc1;max-width:640px;line-height:1.55;margin:0 0 14px}
.bb-overlay .cyan{color:var(--cyan)}
.bb-overlay .key-row{margin-bottom:16px}
.bb-board{list-style:none;padding:0;margin:0 0 16px;min-width:min(420px,100%)}
.bb-board li{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:6px 10px;border-bottom:1px solid #2a2638;font:700 12px Inter;color:#dce3eb;letter-spacing:.04em}
.bb-board li span{color:#9691a8}
.bb-form{display:flex;justify-content:center;margin:0 0 14px}
.bb-form input{width:180px;background:#0b0912;border:1px solid #4a435e;border-right:0;color:#fff;padding:12px;font:700 14px Inter;letter-spacing:1px}
.bb-form button{border:0;background:var(--cyan);color:var(--ink);padding:0 14px;font:900 16px 'Barlow Condensed';letter-spacing:1px;cursor:pointer}
.bb-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.bb-hud{position:absolute;inset:0;z-index:2;pointer-events:none}
.bb-hud[hidden]{display:none}
.bb-cross{position:absolute;left:50%;top:46%;width:22px;height:22px;transform:translate(-50%,-50%)}
.bb-cross i,.bb-cross b{position:absolute;background:#f4f7fb;box-shadow:0 0 8px rgba(49,231,255,.85)}
.bb-cross i{left:50%;top:0;bottom:0;width:2px;margin-left:-1px}
.bb-cross b{top:50%;left:0;right:0;height:2px;margin-top:-1px}
.bb-cross.hit i,.bb-cross.hit b{background:var(--pink)}
.bb-cross.wide{transform:translate(-50%,-50%) scale(1.55)}
.bb-top{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bb-round{font:900 26px/1 'Barlow Condensed';letter-spacing:.18em;color:#fff;text-shadow:0 0 16px rgba(49,231,255,.8)}
.bb-round small{display:block;margin-top:4px;font:700 10px Inter;letter-spacing:.22em;color:var(--cyan)}
.bb-slots{display:flex;flex-direction:column;gap:3px;text-align:right}
.bb-slots b{font:700 11px Inter;letter-spacing:.12em;color:#6f6980}
.bb-slots b.on{color:var(--cyan)}
.bb-banner{position:absolute;left:0;right:0;top:18%;text-align:center;font:italic 900 clamp(42px,7vw,84px)/.86 'Barlow Condensed';color:#fff;text-shadow:4px 4px 0 var(--pink);letter-spacing:.04em}
.bb-boss{position:absolute;top:58px;left:50%;transform:translateX(-50%);width:min(440px,72%);text-align:center}
.bb-boss[hidden]{display:none}
.bb-boss span{font:700 10px Inter;letter-spacing:.28em;color:var(--pink)}
.bb-boss i{display:block;height:6px;margin-top:6px;background:#241018;border:1px solid #5a2436}
.bb-boss i b{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff326d,#f8d147)}
.bb-bottom{position:absolute;left:14px;right:14px;bottom:12px;display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:8px;align-items:end}
.bb-card{background:rgba(9,7,15,.78);border:1px solid #39334e;padding:8px 10px 9px}
.bb-card strong{display:block;font:900 30px/1 'Barlow Condensed';color:#fff}
.bb-card em{font-style:normal;font:700 10px Inter;letter-spacing:.18em;color:var(--cyan)}
.bb-card .bb-meter{display:block;height:4px;margin-top:7px;background:#241c30}
.bb-card .bb-meter b{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff326d,#f8d147)}
.bb-weapon{text-align:center}
.bb-weapon strong{letter-spacing:.08em}
.bb-points{text-align:right}
.bb-prompt{position:absolute;left:50%;bottom:24%;transform:translateX(-50%);padding:8px 12px;background:rgba(9,7,15,.82);border:1px solid var(--cyan);color:#fff;font:700 12px Inter;letter-spacing:.08em;white-space:nowrap}
.bb-prompt.poor{border-color:#4c465c;color:#9691a8}
.bb-prompt[hidden]{display:none}
.bb-toast{position:absolute;left:50%;top:30%;transform:translateX(-50%);color:var(--yellow);font:800 13px Inter;letter-spacing:.16em}
.bb-damage{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 35%,rgba(120,8,32,.72) 100%);opacity:0}
.bb-debug{position:absolute;left:12px;bottom:92px;z-index:3;color:#9fd4ff;font:700 11px/1.45 ui-monospace,monospace;text-shadow:0 1px 2px #000;white-space:pre}
.bb-debug[hidden]{display:none}
.bb-touch{display:none}
.babylon-card:hover{border-color:#ef5b32!important}
.babylon-art{background:radial-gradient(circle at 50% 62%,rgba(238,91,50,.22),transparent 26%),linear-gradient(155deg,#2b2925,#090b0b 72%);isolation:isolate}
.babylon-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 55px,rgba(255,255,255,.035) 56px 58px),linear-gradient(0deg,rgba(238,91,50,.15),transparent 45%);clip-path:polygon(0 70%,10% 48%,20% 62%,32% 38%,45% 65%,57% 30%,69% 58%,82% 42%,100% 68%,100% 100%,0 100%)}
.babylon-art strong{color:rgba(239,91,50,.12);text-shadow:0 0 35px rgba(239,91,50,.25)}
.babylon-badge{background:#ef5b32;color:#080b0b}
.babylon-signal{position:absolute;z-index:2;left:50%;top:53%;display:flex;gap:9px;transform:translate(-50%,-50%)}
.babylon-signal i{display:block;width:10px;height:92px;background:linear-gradient(#5b625d,#171a18);border:1px solid #7e4130;box-shadow:0 0 18px rgba(239,91,50,.2);transform:skew(-7deg)}
.babylon-signal i:nth-child(2){height:125px;margin-top:-25px}
.babylon-signal i:nth-child(3){height:76px;margin-top:18px}
@media (pointer:coarse){
  .bb-touch{display:block;position:absolute;inset:0;z-index:3}
  .bb-stick,.bb-look{position:absolute;bottom:86px;width:42%;top:0}
  .bb-stick{left:0}
  .bb-look{right:0}
  .bb-stick i{position:absolute;left:18%;bottom:18px;width:92px;height:92px;border-radius:50%;border:2px solid rgba(49,231,255,.45);background:rgba(9,7,15,.35)}
  .bb-firebar{position:absolute;right:12px;bottom:18px;display:flex;gap:8px}
  .bb-firebar button,.bb-touch button{min-width:74px;min-height:52px;border:1px solid rgba(49,231,255,.7);background:rgba(9,7,15,.72);color:#fff;font:900 13px 'Barlow Condensed';letter-spacing:.08em;touch-action:none}
  .bb-firebar button:active{background:rgba(49,231,255,.28)}
  .bb-bottom{bottom:78px}
}
@media (max-width:800px) and (orientation:portrait){
  .babylon-modal .game-bar{display:flex}
}
@media (max-width:600px){
  .babylon-shell{height:100dvh;max-width:none}
  .bb-overlay h2{font-size:64px}
  .bb-bottom{grid-template-columns:1fr 1.2fr .8fr}
  .bb-card strong{font-size:24px}
}
