/* 2048 — gamekit 셸 위에 보드/타일만 추가 */
.tw-board-shell{background:var(--gk-panel2); border:1px solid var(--gk-line); border-radius:18px;
  padding:14px; margin-bottom:14px; box-shadow:inset 0 0 50px rgba(0,0,0,.4);}
.tw-board{--n:4; display:grid; grid-template-columns:repeat(var(--n),1fr); grid-template-rows:repeat(var(--n),1fr); gap:8px;
  max-width:460px; margin:0 auto; aspect-ratio:1/1; background:var(--gk-down);
  border:1px solid var(--gk-line); border-radius:12px; padding:8px;}
.tw-cell{background:#101826; border-radius:8px; position:relative;}
.tw-tile{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  border-radius:8px; font-family:"Chakra Petch",sans-serif; font-weight:700;
  font-size:clamp(16px,5.5vw,30px); color:#0a0e14; transition:transform .08s;}
.tw-tile.on{box-shadow:0 2px 8px rgba(0,0,0,.35);}
.tw-tile.pop{animation:twpop .14s ease-out;}
.tw-tile.merge{animation:twmerge .16s ease-out;}
@keyframes twpop{from{transform:scale(.1);}to{transform:scale(1);}}
@keyframes twmerge{0%{transform:scale(1);}50%{transform:scale(1.16);}100%{transform:scale(1);}}
/* 타일 색 (저→고: 차분→네온 강조) */
.tw-tile.v2{background:#cdd8e6;} .tw-tile.v4{background:#a8c0dc;}
.tw-tile.v8{background:#6ea8e0; color:#06121f;} .tw-tile.v16{background:#4f8fd6; color:#fff;}
.tw-tile.v32{background:#3f7fd0; color:#fff;} .tw-tile.v64{background:#2f6fc8; color:#fff;}
.tw-tile.v128{background:#22c3a6; color:#04231d; font-size:clamp(14px,4.8vw,26px);}
.tw-tile.v256{background:#1fbf8f; color:#04231d; font-size:clamp(14px,4.8vw,26px);}
.tw-tile.v512{background:#19b36a; color:#04231d; font-size:clamp(14px,4.8vw,26px);}
.tw-tile.v1024{background:#f5a623; color:#241400; font-size:clamp(12px,4vw,22px);}
.tw-tile.v2048{background:#f59e0b; color:#241400; font-size:clamp(12px,4vw,22px);
  box-shadow:0 0 26px rgba(245,158,11,.55) !important;}
.tw-tile.v4096{background:#22d3ee; color:#04222a; font-size:clamp(12px,4vw,22px);
  box-shadow:0 0 26px rgba(34,211,238,.5) !important;}
.tw-tile.vbig{background:#a855f7; color:#fff; font-size:clamp(11px,3.6vw,20px);
  box-shadow:0 0 26px rgba(168,85,247,.5) !important;}

/* 룰 페이지 카드 */
.tw-guide .gcard{background:var(--gk-panel2); border:1px solid var(--gk-line); border-radius:16px; padding:18px 20px; margin-bottom:14px;}
.tw-guide .gcard.hl{border-color:rgba(45,212,191,.35);}
.tw-guide .gcard h3{display:flex; align-items:center; gap:10px; margin:0 0 10px;
  font-family:"Chakra Petch",sans-serif; font-weight:700; font-size:17px; color:var(--gk-text);}
.tw-guide .gno{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:8px; font-size:14px; background:var(--gk-up); color:var(--gk-accent); border:1px solid var(--gk-line);}
.tw-guide .gcard p{margin:0; font-size:15px; line-height:1.7; color:#aebacb;}
.tw-guide .gcard b{color:var(--gk-text); font-weight:600;}

/* 방향 버튼 (마우스/터치 안내용) */
.tw-dpad{display:grid; grid-template-columns:repeat(3,52px); grid-template-rows:repeat(2,46px);
  gap:6px; justify-content:center; margin:0 auto 6px; max-width:200px;}
.tw-dpad button{border-radius:11px; background:linear-gradient(180deg,var(--gk-up2),var(--gk-up));
  border:1px solid var(--gk-line); color:var(--gk-accent); font-size:20px; font-weight:700;
  display:flex; align-items:center; justify-content:center; transition:.1s;}
.tw-dpad button:hover{border-color:var(--gk-accent);}
.tw-dpad button:active{transform:scale(.92);}
.tw-dpad .up{grid-column:2; grid-row:1;}
.tw-dpad .left{grid-column:1; grid-row:2;}
.tw-dpad .down{grid-column:2; grid-row:2;}
.tw-dpad .right{grid-column:3; grid-row:2;}
