:root{
  --bg:#07111f;
  --text:#f7fbff;
  --muted:#a9bac9;
  --line:rgba(255,255,255,.12);
  --accent:#32d6ff;
  --cta:#ffffff;
  --cta-text:#06131d;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--bg)}
body{
  min-height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at 50% -10%,#17344d 0,#0b1b2c 34%,#07111f 70%);
}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.shell{width:min(1180px,calc(100% - 28px));margin-inline:auto}
.site-header{flex:0 0 54px;height:54px;border-bottom:1px solid var(--line);background:rgba(7,17,31,.94);backdrop-filter:blur(10px)}
.header-row{height:100%;display:flex;align-items:center}
.brand{display:flex;align-items:center;gap:10px;font-weight:900}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#ffe36c,#47cfff);color:#06131d;font-weight:950}
.brand-copy{font-size:16px;line-height:1.05}
.brand-copy small{display:block;margin-top:3px;color:var(--muted);font-size:9px;letter-spacing:.05em}
.main-shell{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  place-items:center;
  padding:10px 14px 12px;
  overflow:hidden;
}
.game-feature{
  position:relative;
  width:min(1120px,calc(100vw - 28px),calc((100dvh - 92px) * 1.77683));
  border:1px solid var(--line);
  border-radius:20px;
  background:#08121e;
  box-shadow:0 22px 64px rgba(0,0,0,.34);
  overflow:hidden;
}
.poster-link{display:block;width:100%;background:#08121e}
.poster-image{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.cta-dock{
  position:absolute;
  z-index:3;
  left:0;right:0;bottom:0;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  background:linear-gradient(180deg,rgba(3,9,16,0),rgba(3,9,16,.62) 22%,rgba(3,9,16,.94) 100%);
  pointer-events:none;
}
.cta-copy{margin:0;min-width:0;display:grid;gap:2px;text-shadow:0 2px 12px rgba(0,0,0,.75)}
.cta-copy strong{font-size:14px;font-weight:950;letter-spacing:.02em}
.cta-copy span{color:#dce8f1;font-size:12px;line-height:1.2}
.play-button{
  pointer-events:auto;
  flex:0 0 auto;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 22px;
  border-radius:14px;
  background:var(--cta);
  color:var(--cta-text);
  border:2px solid rgba(255,255,255,.96);
  font-size:13px;
  font-weight:950;
  letter-spacing:.035em;
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}
.poster-link:focus-visible,.play-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
  .poster-link:hover .poster-image{filter:brightness(1.035)}
  .play-button:hover{transform:translateY(-1px);filter:brightness(.97)}
}
@media(max-height:680px) and (min-width:701px){
  .site-header{flex-basis:48px;height:48px}
  .main-shell{padding:7px 12px 8px}
  .game-feature{width:min(1020px,calc(100vw - 24px),calc((100dvh - 68px) * 1.77683));border-radius:16px}
  .brand-mark{width:30px;height:30px}.brand-copy{font-size:14px}.brand-copy small{font-size:8px}
  .cta-dock{min-height:66px;padding:10px 14px}.play-button{min-height:40px;padding:0 18px;font-size:12px}.cta-copy span{font-size:11px}
}
@media(max-width:700px){
  .site-header{flex-basis:50px;height:50px}
  .shell{width:calc(100% - 14px)}
  .brand-copy{font-size:15px}.brand-copy small{display:none}.brand-mark{width:31px;height:31px}
  .main-shell{padding:7px}
  .game-feature{width:min(calc(100vw - 14px),calc((100dvh - 68px) * 1.77683));border-radius:15px}
  .cta-dock{min-height:62px;padding:9px 10px;gap:8px}
  .cta-copy strong{font-size:11px}.cta-copy span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}
  .play-button{min-height:40px;padding:0 14px;font-size:11px;border-radius:11px}
}
@media(max-width:390px){.cta-copy span{display:none}.play-button{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
