*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#020711;color:#e9fbff;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(0,240,255,.17),transparent 32%),radial-gradient(circle at 82% 2%,rgba(151,74,255,.16),transparent 34%),linear-gradient(180deg,#061624,#020711 64%);pointer-events:none}.erq-shell{position:relative;z-index:1;width:min(1480px,96vw);margin:24px auto;display:grid;grid-template-columns:minmax(720px,1fr) 360px;gap:20px}.erq-cabinet,.erq-card{border:1px solid rgba(74,236,255,.34);border-radius:28px;background:linear-gradient(145deg,rgba(8,24,38,.92),rgba(3,9,20,.96));box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 24px 80px rgba(0,0,0,.55),0 0 40px rgba(0,219,255,.12)}.erq-cabinet{padding:18px}.erq-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.erq-kicker{font-size:12px;color:#51e9ff;letter-spacing:2px;font-weight:900}.erq-topbar h1{margin:2px 0 0;font-size:34px;line-height:1;text-shadow:0 0 24px rgba(0,225,255,.5)}.erq-status{font-size:12px;font-weight:900;color:#051018;background:linear-gradient(90deg,#39e8ff,#99fff4);padding:9px 14px;border-radius:999px;box-shadow:0 0 20px rgba(57,232,255,.32)}.erq-screen-wrap{position:relative;overflow:hidden;border-radius:22px;border:2px solid rgba(118,245,255,.55);background:#071018;box-shadow:0 0 0 8px rgba(0,0,0,.22),0 0 60px rgba(0,226,255,.2) inset}#gameCanvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#12202d}.erq-dialogue,.erq-battle{position:absolute;left:18px;right:18px;bottom:18px;min-height:78px;padding:14px 16px;border:2px solid #dffcff;background:linear-gradient(180deg,rgba(4,18,31,.94),rgba(2,8,16,.96));border-radius:14px;box-shadow:0 0 26px rgba(0,238,255,.32);font-family:"Courier New",monospace;font-weight:900;line-height:1.35}.hidden{display:none!important}.erq-toasts{position:absolute;top:14px;right:14px;display:grid;gap:8px;z-index:8}.erq-toast{background:rgba(2,12,22,.94);border:1px solid rgba(76,239,255,.55);border-radius:13px;padding:10px 12px;font-size:12px;font-weight:900;box-shadow:0 0 24px rgba(0,227,255,.22)}.erq-controls-panel{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.erq-controls-panel button,.erq-mobile-pad button,.erq-close{border:1px solid rgba(82,238,255,.55);background:linear-gradient(180deg,rgba(26,65,92,.9),rgba(5,20,34,.95));color:#e9fbff;border-radius:14px;padding:11px 16px;font-weight:950;text-transform:uppercase;letter-spacing:.8px;box-shadow:0 8px 22px rgba(0,0,0,.35),0 0 18px rgba(0,225,255,.13);cursor:pointer}.erq-controls-panel button:hover,.erq-mobile-pad button:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(0,238,255,.25)}.erq-side{display:grid;gap:14px;align-content:start}.erq-card{padding:16px;border-radius:22px}.erq-card h2{margin:0 0 12px;color:#8ff7ff;font-size:16px;letter-spacing:1.8px;text-transform:uppercase}.erq-stat{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0}.erq-stat span{color:#8da7b7}.erq-party,.erq-inventory,.erq-achievements{display:grid;gap:9px}.erq-pill,.erq-achievement{border:1px solid rgba(80,220,255,.24);background:rgba(3,20,33,.72);border-radius:14px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.erq-pill b,.erq-achievement b{font-size:13px}.erq-pill small,.erq-achievement small{color:#9ab6c4}.erq-achievement.unlocked{border-color:rgba(255,220,89,.55);box-shadow:0 0 20px rgba(255,194,42,.12)}.erq-overlay{position:fixed;z-index:20;inset:0;background:rgba(0,0,0,.74);display:grid;place-items:center;backdrop-filter:blur(10px)}.erq-modal{position:relative;width:min(720px,92vw);border-radius:26px;padding:28px;background:linear-gradient(145deg,rgba(8,30,45,.98),rgba(3,8,18,.98));border:1px solid rgba(88,240,255,.45);box-shadow:0 40px 120px rgba(0,0,0,.65),0 0 60px rgba(0,231,255,.16)}.erq-modal h2{margin:0 0 8px;font-size:30px}.erq-close{position:absolute;right:16px;top:16px;width:42px;height:42px;padding:0;border-radius:50%}.erq-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.erq-help-grid div{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;background:rgba(255,255,255,.04)}.erq-help-grid span{display:block;color:#a9bdc8;font-size:13px;margin-top:6px}.erq-mobile-pad{display:none;justify-content:space-between;align-items:center;margin-top:14px}.erq-dpad{display:grid;grid-template-columns:54px 54px 54px;grid-template-rows:54px 54px 54px;gap:5px}.erq-dpad button:nth-child(1){grid-column:2}.erq-dpad button:nth-child(2){grid-column:1;grid-row:2}.erq-dpad button:nth-child(3){grid-column:3;grid-row:2}.erq-dpad button:nth-child(4){grid-column:2;grid-row:3}.erq-ab{display:flex;gap:12px}.erq-ab button{width:62px;height:62px;border-radius:50%;padding:0}@media(max-width:1100px){.erq-shell{grid-template-columns:1fr}.erq-side{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.erq-shell{width:100%;margin:0;padding:10px}.erq-cabinet{border-radius:20px;padding:10px}.erq-topbar h1{font-size:24px}.erq-mobile-pad{display:flex}.erq-side{grid-template-columns:1fr}.erq-help-grid{grid-template-columns:1fr}}


/* Keyboard + mouse/touch upgrade: safe canvas-only affordance */
#gameCanvas {
  cursor: crosshair;
  touch-action: manipulation;
}
.erq-screen-wrap:after {
  content: "Click map to move • Double-click / Enter to interact • Right-click / X to cancel";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(219, 252, 255, .72);
  background: rgba(3, 13, 24, .52);
  border: 1px solid rgba(65, 236, 255, .16);
  pointer-events: none;
  box-shadow: 0 0 18px rgba(25, 232, 255, .08);
}
@media (max-width: 760px) {
  .erq-screen-wrap:after { display: none; }
}

/* Fullscreen + expansion pack v2 additions. Scoped only to /games/retro/ UI. */
:root { --erq-accent:#20e7ff; --erq-accent2:#a855ff; --erq-base:#071528; }
html, body { overscroll-behavior: none; }
.erq-fullscreen { overflow: hidden; }
.erq-fullscreen .erq-shell {
  width: 100vw;
  min-height: 100vh;
  margin: 0;
  border-radius: 0;
  grid-template-columns: minmax(520px, 1fr) 360px;
  align-items: stretch;
}
.erq-fullscreen .erq-cabinet { display: flex; flex-direction: column; }
.erq-fullscreen .erq-screen-wrap { flex: 1; display: grid; place-items: center; }
.erq-fullscreen #gameCanvas { width: min(96vw, calc((100vh - 190px) * 1.111)); max-height: calc(100vh - 190px); image-rendering: pixelated; }
.erq-status span, .erq-card h2 { color: var(--erq-accent); }
.erq-cabinet, .erq-card, .erq-modal { border-color: color-mix(in srgb, var(--erq-accent) 50%, transparent); }
.erq-screen-wrap { background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--erq-accent) 18%, transparent), transparent 45%), linear-gradient(135deg, var(--erq-base), #020712); }
.erq-mini-mon { width: 18px; height: 18px; display:inline-block; flex:0 0 auto; border-radius: 50% 50% 48% 48%; background: radial-gradient(circle at 35% 25%, #fff9, transparent 20%), var(--c); box-shadow:0 0 14px color-mix(in srgb, var(--c) 70%, transparent); }
.erq-achievement div { position:relative; flex:1; padding-bottom:8px; }
.erq-achievement i { position:absolute; left:0; bottom:0; height:3px; border-radius:999px; background:linear-gradient(90deg,var(--erq-accent),var(--erq-accent2)); box-shadow:0 0 10px var(--erq-accent); }
.erq-controls-panel #btnFullscreen { border-color: color-mix(in srgb, var(--erq-accent2) 70%, white 10%); }
@media(max-width:900px){ .erq-fullscreen .erq-shell{grid-template-columns:1fr; overflow:auto;} .erq-fullscreen #gameCanvas{width:96vw; max-height:none;} }


/* Retro Quest v3: intro menu, cleaner canvas instructions, rarity badges. Scoped to game only. */
.erq-intro-overlay{position:absolute;z-index:30;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(0,240,255,.14),transparent 35%),linear-gradient(180deg,rgba(1,6,15,.94),rgba(2,8,18,.98));backdrop-filter:blur(6px)}
.erq-intro-card{width:min(520px,88%);border:2px solid rgba(91,241,255,.58);border-radius:24px;padding:34px 28px;text-align:center;background:linear-gradient(145deg,rgba(8,31,48,.97),rgba(3,8,18,.98));box-shadow:0 0 60px rgba(0,238,255,.22),0 28px 80px rgba(0,0,0,.6)}
.erq-intro-kicker{color:#55efff;font-size:12px;font-weight:950;letter-spacing:2.4px;text-transform:uppercase}.erq-intro-card h2{margin:8px 0 2px;font-size:46px;line-height:.95;text-shadow:0 0 28px rgba(0,234,255,.55),0 4px 0 rgba(0,0,0,.5)}.erq-intro-card p{margin:0 0 22px;color:#bdefff;font-weight:800}.erq-intro-card button{display:block;width:min(280px,100%);margin:12px auto 0;padding:14px 18px;border-radius:16px;border:1px solid rgba(82,238,255,.66);background:linear-gradient(180deg,rgba(24,80,110,.95),rgba(5,20,34,.98));color:#fff;font-weight:950;text-transform:uppercase;letter-spacing:1px;box-shadow:0 0 24px rgba(0,225,255,.16);cursor:pointer}.erq-intro-card button:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(0,238,255,.35)}
.erq-screen-wrap:after{content:"X/Z/Enter: interact or enter doors • Esc/right-click: cancel • F: fullscreen";font-size:11px;color:rgba(225,252,255,.86);background:rgba(2,9,18,.72);border-color:rgba(80,238,255,.28)}
.erq-achievement em{display:inline-block;margin-left:8px;color:var(--erq-accent);font-style:normal;font-size:10px;font-weight:950;letter-spacing:.08em}.erq-achievement[data-rarity="legendary"]{border-color:rgba(255,204,69,.42)}.erq-achievement[data-rarity="mythic"]{border-color:rgba(255,77,203,.5);box-shadow:0 0 22px rgba(255,77,203,.08)}.erq-achievement[data-rarity="epic"]{border-color:rgba(168,85,255,.42)}
@media(max-width:720px){.erq-intro-card h2{font-size:32px}.erq-screen-wrap:after{display:none}}


/* ==========================================================
   Eggy Retro Quest v5.2.2 EMERGENCY LAYOUT LOCK
   Keeps SQL/rank work from pushing the game into the right side.
   Scoped to /games/retro/ classes only.
   ========================================================== */
.erq-shell{
  position:relative!important;
  z-index:1!important;
  width:min(1480px,96vw)!important;
  margin:24px auto!important;
  display:grid!important;
  grid-template-columns:minmax(720px,1fr) 360px!important;
  gap:20px!important;
  align-items:start!important;
}
.erq-shell > .erq-rank-card{grid-column:1 / -1!important;grid-row:1!important;order:0!important;width:100%!important;}
.erq-shell > .erq-cabinet{grid-column:1!important;grid-row:2!important;order:1!important;width:100%!important;min-width:0!important;}
.erq-shell > .erq-side{grid-column:2!important;grid-row:2!important;order:2!important;width:100%!important;min-width:0!important;display:grid!important;gap:14px!important;align-content:start!important;}
.erq-rank-card{
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr) 190px!important;
  align-items:center!important;
  gap:18px!important;
  padding:16px 18px!important;
  border:1px solid rgba(74,236,255,.36)!important;
  border-radius:24px!important;
  background:radial-gradient(circle at 12% 50%,rgba(52,232,255,.18),transparent 30%),linear-gradient(145deg,rgba(8,24,38,.92),rgba(3,9,20,.96))!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 18px 60px rgba(0,0,0,.45),0 0 34px rgba(0,219,255,.10)!important;
}
.erq-rank-badge{width:72px!important;height:72px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,.02) 47%,transparent 48%),conic-gradient(from 0deg,#27eaff,#a855ff,#27eaff)!important;box-shadow:0 0 24px rgba(0,238,255,.22)!important;}
.erq-rank-badge span{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:linear-gradient(180deg,rgba(12,29,45,.98),rgba(3,8,18,.98))!important;color:#fff!important;font-weight:950!important;}
.erq-rank-main{min-width:0!important;display:block!important;}
.erq-rank-main .erq-rank-kicker{display:block!important;white-space:nowrap!important;margin-bottom:3px!important;}
.erq-rank-main strong{display:block!important;font-size:clamp(26px,3vw,44px)!important;line-height:.95!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 0 24px rgba(255,255,255,.35)!important;}
.erq-rank-main small{display:block!important;color:#ccefff!important;font-weight:850!important;margin-top:4px!important;}
.erq-rank-bar{display:block!important;height:8px!important;margin-top:10px!important;border-radius:999px!important;overflow:hidden!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.12)!important;}
.erq-rank-bar i{display:block!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#22e6ff,#7dffcf,#a855ff)!important;box-shadow:0 0 18px rgba(34,230,255,.42)!important;}
.erq-rank-next{min-width:0!important;padding-left:18px!important;border-left:1px solid rgba(112,236,255,.22)!important;text-align:center!important;}
.erq-rank-next span{display:block!important;color:#51e9ff!important;font-size:12px!important;font-weight:950!important;letter-spacing:1.4px!important;}
.erq-rank-next b{display:block!important;font-size:38px!important;line-height:1!important;margin:4px 0!important;text-shadow:0 0 20px rgba(255,255,255,.32)!important;}
.erq-rank-next small{display:block!important;color:#bffaff!important;font-size:11px!important;font-weight:900!important;}
.erq-leaderboards{position:relative!important;z-index:1!important;width:min(1480px,96vw)!important;margin:0 auto 30px!important;}
@media(max-width:1100px){.erq-shell{grid-template-columns:1fr!important}.erq-shell>.erq-rank-card,.erq-shell>.erq-cabinet,.erq-shell>.erq-side{grid-column:1!important}.erq-shell>.erq-side{grid-row:3!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.erq-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.erq-shell{width:100%!important;margin:0!important;padding:10px!important;grid-template-columns:1fr!important}.erq-rank-card{grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;border-radius:18px!important}.erq-rank-badge{width:52px!important;height:52px!important}.erq-rank-badge span{width:38px!important;height:38px!important;font-size:13px!important}.erq-rank-main strong{font-size:28px!important}.erq-rank-next{grid-column:1 / -1!important;border-left:0!important;border-top:1px solid rgba(112,236,255,.18)!important;padding:10px 0 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;text-align:left!important}.erq-rank-next b{font-size:26px!important;margin:0!important}.erq-shell>.erq-side{grid-template-columns:1fr!important}.erq-leaderboards{width:calc(100% - 20px)!important}.erq-board-grid{grid-template-columns:1fr!important}}


/* v5.4 persistence/music/guest-demo safe patch */
.erq-screen-wrap{position:relative;}
.erq-guest-demo-overlay{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;letter-spacing:2px;color:#66f7ff;text-shadow:0 0 12px rgba(0,234,255,.9),0 3px 0 rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));cursor:pointer;animation:erqGuestBlink 1.15s infinite steps(2,end);pointer-events:auto;}
@keyframes erqGuestBlink{0%,55%{opacity:1}56%,100%{opacity:.35}}
.erq-shell[data-guest="1"] .erq-controls-panel button,
.erq-shell[data-guest="1"] .erq-mobile-pad button{cursor:pointer;}


/* Eggy Retro Quest v5.7 permanent layout guards */
.erq-cabinet .erq-leaderboards{width:100%!important;margin:26px 0 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;position:relative!important;}
.erq-cabinet .erq-board-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;}
.erq-cabinet .erq-board-head h2{margin:2px 0 0;font-size:22px;}
.erq-cabinet .erq-board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.erq-cabinet .erq-board-grid article{min-height:112px;border:1px solid rgba(74,236,255,.28);border-radius:16px;background:rgba(3,15,27,.62);padding:12px;}
.erq-cabinet .erq-board-grid h3{margin:0 0 9px;color:#8ff7ff;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;}
.erq-board-list p{margin:4px 0;color:#dffbff;font-size:12px;font-weight:800;display:flex;justify-content:space-between;gap:8px;}
.erq-board-list i{font-style:normal;color:#46f5ff;margin-right:6px;}
.erq-gold-card .erq-gold-row{display:flex;align-items:center;gap:13px;}
.erq-gold-icon{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,209,82,.45));flex:0 0 auto;}
.erq-gold-copy{display:grid;line-height:1.05;min-width:0;flex:1;}
.erq-gold-copy strong{font-size:24px;color:#fff;text-shadow:0 0 16px rgba(255,214,84,.32);}
.erq-gold-copy span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#8ff7ff;font-weight:900;}
.erq-spend-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.9px;font-size:12px;font-weight:950;color:#eaffff;border:1px solid rgba(82,238,255,.55);border-radius:12px;padding:10px 14px;background:linear-gradient(180deg,rgba(26,65,92,.9),rgba(5,20,34,.95));box-shadow:0 0 18px rgba(0,225,255,.14);}
.erq-spend-btn:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(0,238,255,.25);}
@media(max-width:900px){.erq-cabinet .erq-board-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.erq-cabinet .erq-board-grid{grid-template-columns:1fr}.erq-cabinet .erq-board-head{align-items:flex-start;flex-direction:column}.erq-gold-copy strong{font-size:20px}}
