/* [공통] 디자인 토큰(:root)·Reset·전역(html/body/*) 및 전역 overflow 안전장치 */
:root {
  /* [Nav 역승계] 공통 Navigation 실측 높이 + 하단 최소 여백 (safe-area 없어도 6px 보장) */
  --ess83-nav-h: 52px;
  --ess83-nav-bottom-pad: max(6px, env(safe-area-inset-bottom, 0px));
  /* Header padding (현재 .hdr: 9px 14px 6px) */
  --hdr-pad-top: 9px;
  --hdr-pad-x:   14px;
  --hdr-pad-bot: 6px;

  /* Section 세로 리듬 (현재 game-sec 20px, qv-wrap/sec 16px) */
  --section-gap:      20px;   /* Desktop app-main flex gap */
  --section-pad-y:    20px;   /* game-sec 상/하 */
  --section-pad-y-sm: 16px;   /* qv-wrap / sub-section */
  --section-pad-x:    16px;   /* 콘텐츠 좌우 기본 */

  /* Card / Grid 간격 (현재 gc-row mobile 10px, tablet 16px, desktop 18px) */
  --card-gap-mobile: 10px;
  --card-gap:        16px;
  --card-gap-desk:   18px;
}
*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
:focus-visible {
  outline:2px solid rgba(59,124,244,.9);
  outline-offset:2px;
  border-radius:4px;
}
:focus:not(:focus-visible) { outline:none; }
html {font-size:14px;-webkit-text-size-adjust:100%}
body {
  background:#050505;
  font-family:-apple-system,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;
  -webkit-font-smoothing:antialiased;
  color:rgba(255,255,255,.82);
  min-height:100vh;
}
button {cursor:pointer;border:none;background:none;font-family:inherit}
svg {display:block;flex-shrink:0}
p, h1, h2 {margin:0}
:root {
  --content-max: 1440px;
  --page-pad-tablet: 24px;
  --page-pad-desktop: 32px;
  --rail-left-w: 240px;
  --rail-right-w: 300px;
  --desk-header-h: 64px;
}
@media (min-width:1200px){
  body { background:#070707; }
}
@media (min-width:1440px){
  :root {
    --rail-left-w:220px;
    --rail-right-w:280px;
  }
}
@media (min-width:2560px){
  :root { --content-max:1560px; }
}
