@font-face{
  font-family:'Estedad';
  src:local('Estedad'),local('Estedad VF');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
:root{
  color-scheme:dark;
  --bg:#07131d;
  --panel:rgba(8,20,31,.88);
  --line:rgba(255,255,255,.15);
  --text:#f6fbff;
  --muted:rgba(246,251,255,.72);
  --cyan:#45d9ff;
  --green:#45f28c;
  --gold:#ffd166;
  --red:#ff526f;
  --font:'Estedad',Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#07131d;overscroll-behavior:none}
body{font-family:var(--font);color:var(--text);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
button:focus-visible,.rb-root:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.rb-root{
  width:100vw;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;gap:8px;
  padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  background:radial-gradient(circle at 13% 12%,rgba(69,217,255,.16),transparent 28%),radial-gradient(circle at 86% 8%,rgba(255,209,102,.15),transparent 24%),linear-gradient(180deg,rgba(7,22,33,.98),rgba(3,7,12,.99));
  outline:none;overflow:hidden
}
.rb-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}
.rb-brand{display:flex;align-items:center;gap:10px;min-width:0}
.rb-brand strong{font-size:23px;line-height:1;font-weight:900;letter-spacing:-.5px;text-shadow:0 0 18px rgba(69,217,255,.28)}
.rb-brand span,.rb-panel-badge{display:inline-flex;align-items:center;border:1px solid rgba(69,217,255,.30);background:rgba(69,217,255,.12);color:#d9f8ff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;white-space:nowrap}
.rb-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.rb-actions button,.rb-panel button,.rb-guide-done{border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.06));border-radius:14px;min-height:44px;padding:9px 12px;font-weight:900;box-shadow:0 10px 26px rgba(0,0,0,.22);cursor:pointer;transition:transform .08s ease,border-color .15s ease,background .15s ease}
.rb-actions button:active,.rb-direction-pad button:active,.rb-guide-done:active{transform:scale(.96)}
.rb-actions button:disabled,.rb-direction-pad button:disabled{opacity:.34;cursor:not-allowed;transform:none}
.rb-actions button.is-paused{border-color:rgba(255,209,102,.55);background:rgba(255,209,102,.18);color:#ffe8ae}
.rb-hud{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;flex:0 0 auto}
.rb-card{min-width:0;padding:8px 8px 7px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 20px rgba(0,0,0,.18);text-align:center}
.rb-card span{display:block;font-size:11px;color:var(--muted);font-weight:800;margin-bottom:2px;white-space:nowrap}
.rb-card b{font-size:18px;line-height:1.1;font-weight:900;color:#fff;text-shadow:0 0 14px rgba(69,217,255,.18);font-variant-numeric:tabular-nums}
.rb-status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;border:1px solid rgba(255,255,255,.10);border-radius:17px;background:rgba(0,0,0,.18);padding:8px 12px;min-height:54px}
.rb-status h1{margin:0;font-size:17px;line-height:1.25}.rb-status p{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.rb-seed{direction:ltr;text-align:left;font-size:11px;color:rgba(255,255,255,.54);white-space:nowrap}
.rb-arena{position:relative;flex:1 1 auto;min-height:260px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#07131d;box-shadow:0 18px 50px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.06)}
#gameCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;background:#07131d}
#gameCanvas:active{cursor:grabbing}
.rb-toast{position:absolute;left:50%;top:12px;z-index:7;max-width:calc(100% - 24px);transform:translate(-50%,-12px);opacity:0;pointer-events:none;background:rgba(2,8,12,.92);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 15px;font-weight:900;font-size:13px;box-shadow:0 14px 30px rgba(0,0,0,.32);transition:opacity .18s ease,transform .18s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-toast.show{opacity:1;transform:translate(-50%,0)}
.rb-overlay,.rb-guide-modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(4,12,18,.34),rgba(4,12,18,.82));backdrop-filter:blur(5px);z-index:8;padding:14px}.rb-overlay.is-hidden{display:none}.rb-guide-modal[hidden]{display:none}
.rb-panel,.rb-guide-card{width:min(470px,100%);max-height:100%;overflow:auto;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(11,31,45,.96),rgba(4,11,18,.96));border-radius:26px;padding:22px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.12)}
.rb-panel h2,.rb-guide-card h2{font-size:30px;margin:12px 0 8px}.rb-panel p{margin:0 auto 14px;color:var(--muted);line-height:1.85;font-size:14px;max-width:36em}
.rb-start-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 16px}.rb-start-steps span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:68px;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.06);font-size:11px;font-weight:800;line-height:1.45}.rb-start-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#0b1520;font-size:13px}
.rb-panel>button{background:linear-gradient(135deg,rgba(255,209,102,.98),rgba(69,242,140,.88));color:#061019;border:0;min-width:180px;min-height:48px;box-shadow:0 14px 30px rgba(255,209,102,.15)}.rb-panel button[hidden]{display:none!important}
.rb-guide-card{position:relative;text-align:right}.rb-guide-card h2{text-align:center}.rb-guide-card ol{margin:14px 0 20px;padding:0 24px 0 0;color:var(--muted);font-size:14px;line-height:1.9}.rb-guide-card li{margin:7px 0}.rb-guide-card b{color:#fff}.rb-guide-close{position:absolute;top:10px;left:10px;width:44px;height:44px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.08);font-size:28px;line-height:1;cursor:pointer}.rb-guide-done{display:block;width:100%;min-height:50px;background:linear-gradient(135deg,var(--cyan),var(--green));color:#04131a;border:0}
.rb-touch-controls{display:none;grid-template-columns:minmax(108px,1fr) minmax(0,1.55fr);gap:8px;flex:0 0 auto}
.rb-selected{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.08)}.rb-selected span{font-size:10px;color:var(--muted);font-weight:800}.rb-selected b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rb-direction-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;direction:ltr}.rb-direction-pad button{min-width:0;min-height:50px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(180deg,rgba(69,217,255,.20),rgba(255,255,255,.06));font:900 25px/1 var(--font);box-shadow:0 8px 18px rgba(0,0,0,.20);cursor:pointer}
.rb-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:rgba(255,255,255,.62);font-size:11px;font-weight:800;flex:0 0 auto;min-height:22px}.rb-mini{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.rb-mini i{width:24px;height:12px;border-radius:7px;display:inline-block;background:linear-gradient(90deg,#ffd166,#fff4bf);box-shadow:0 0 14px rgba(255,209,102,.45)}
.rb-root.rb-paused #gameCanvas{filter:saturate(.72) brightness(.72)}
html.rb-page-scroll,body.rb-page-scroll{touch-action:pan-y!important;overscroll-behavior-y:auto!important}
.rb-root.rb-paused{touch-action:pan-y!important}
.rb-root.rb-paused #gameCanvas{touch-action:pan-y!important;pointer-events:none}
.rb-root.rb-paused .rb-direction-pad button,.rb-root.rb-paused .rb-actions button:not(#pauseButton){pointer-events:none}

@media (max-width:780px),(pointer:coarse){
  .rb-root{padding:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));gap:7px}
  .rb-topbar{display:block}.rb-brand{justify-content:space-between;margin-bottom:7px}.rb-brand strong{font-size:21px}.rb-brand span{font-size:11px;padding:5px 9px}
  .rb-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.rb-actions button{min-width:0;min-height:46px;padding:7px 3px;font-size:11px;border-radius:13px}
  .rb-hud{grid-template-columns:repeat(3,1fr);gap:5px}.rb-card{padding:6px 4px;border-radius:13px}.rb-card span{font-size:10px}.rb-card b{font-size:16px}
  .rb-status{display:none}.rb-seed{display:none}.rb-arena{min-height:250px;border-radius:19px}.rb-touch-controls{display:grid}.rb-footer{display:none}
  .rb-panel,.rb-guide-card{padding:18px 16px;border-radius:22px}.rb-panel h2,.rb-guide-card h2{font-size:26px}.rb-panel p{font-size:13px}.rb-start-steps{gap:5px}.rb-start-steps span{font-size:10px;min-height:62px;padding:5px}.rb-guide-card ol{font-size:13px;padding-right:20px}
}
@media (max-width:380px){.rb-actions button{font-size:10px}.rb-selected{padding:6px 8px}.rb-selected b{font-size:12px}.rb-direction-pad button{min-height:48px}.rb-start-steps{grid-template-columns:1fr}.rb-start-steps span{min-height:42px;flex-direction:row;justify-content:flex-start;padding:6px 10px}}
@media (max-height:590px){
  .rb-root{gap:5px;padding:5px;min-height:0}
  .rb-hud{display:none}.rb-brand{margin-bottom:4px}.rb-brand strong{font-size:18px}.rb-brand span{display:none}.rb-actions button{min-height:40px;padding:4px 2px;font-size:10px}.rb-hud{grid-template-columns:repeat(6,1fr);gap:4px}.rb-card{padding:4px 2px}.rb-card span{font-size:8px}.rb-card b{font-size:13px}.rb-status,.rb-footer{display:none}.rb-arena{min-height:170px}.rb-touch-controls{grid-template-columns:105px 1fr;gap:5px}.rb-direction-pad{gap:4px}.rb-direction-pad button{min-height:42px;border-radius:12px;font-size:22px}.rb-selected{border-radius:12px}.rb-panel,.rb-guide-card{padding:14px}.rb-panel h2,.rb-guide-card h2{font-size:22px;margin:7px 0}.rb-panel p{line-height:1.55;margin-bottom:8px}.rb-start-steps{display:none}
}
