/* 스도쿠 — gamekit 셸 위에 보드/패드만 추가 (gk- 변수 상속) */
.sd-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);}
.sd-board{display:grid; grid-template-columns:repeat(9,1fr); gap:0; max-width:480px; margin:0 auto;
  aspect-ratio:1/1; background:var(--gk-line); border:2.5px solid #34507a; border-radius:6px; overflow:hidden;}
.sd-cell{position:relative; background:var(--gk-down); display:flex; align-items:center; justify-content:center;
  cursor:pointer; user-select:none; border:0.5px solid #16202e; aspect-ratio:1/1; transition:background .1s;}
.sd-cell.br{border-right:2.5px solid #34507a;}
.sd-cell.bb{border-bottom:2.5px solid #34507a;}
.sd-cell .v{font-family:"Chakra Petch",sans-serif; font-weight:600;
  font-size:clamp(18px,5.2vw,26px); color:var(--gk-accent);}
.sd-cell.given .v{color:#cdd8e6; font-weight:700;}
.sd-cell.peer{background:#121b27;}
.sd-cell.same{background:#15303a;}
.sd-cell.sel{background:#1d4250; box-shadow:inset 0 0 0 2px var(--gk-accent);}
.sd-cell.err .v{color:var(--gk-danger) !important;}
.sd-cell.err{background:#2a1414;}
.sd-cell.hint-target{box-shadow:inset 0 0 0 2px var(--gk-accent); animation:sdpulse 1.1s ease-in-out infinite; z-index:1;}
@keyframes sdpulse{0%,100%{box-shadow:inset 0 0 0 2px var(--gk-accent);}50%{box-shadow:inset 0 0 0 2px rgba(34,211,238,.25);}}
.sd-cell .n{position:absolute; inset:2px; display:grid; grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(3,1fr); pointer-events:none;}
.sd-cell .n i{font-style:normal; font-size:clamp(7px,1.8vw,10px); color:var(--gk-muted);
  display:flex; align-items:center; justify-content:center; line-height:1;}

/* 숫자 패드 */
.sd-pad{display:grid; grid-template-columns:repeat(9,1fr); gap:6px; max-width:480px; margin:0 auto 6px;}
.sd-pad button{aspect-ratio:1/1; border-radius:10px; background:linear-gradient(180deg,var(--gk-up2),var(--gk-up));
  border:1px solid var(--gk-line); color:var(--gk-text); font-family:"Chakra Petch",sans-serif;
  font-weight:700; font-size:clamp(16px,4.5vw,22px); transition:.1s;}
.sd-pad button:hover{border-color:var(--gk-accent); color:var(--gk-accent);}
.sd-pad button:active{transform:scale(.94);}
.sd-pad button.done{opacity:.32; pointer-events:none;}
.sd-pad2{display:grid; grid-template-columns:1fr 1fr; gap:8px; max-width:480px; margin:0 auto 4px;}
.sd-pad2 button{padding:11px; border-radius:11px; font-weight:600; font-size:15px;
  font-family:"IBM Plex Sans KR",sans-serif; border:1px solid var(--gk-line); background:var(--gk-panel2); color:var(--gk-text);
  display:flex; align-items:center; justify-content:center; gap:7px;}
.sd-pad2 button:hover{border-color:var(--gk-accent); color:var(--gk-accent);}
.sd-pad2 #sdNotesBtn.on{color:var(--gk-accent2); border-color:rgba(245,158,11,.45); box-shadow:0 0 16px rgba(245,158,11,.12);}
.sd-pad2 #sdNotesBtn .dot{width:8px; height:8px; border-radius:50%; background:currentColor; opacity:.7;}

/* 룰 페이지 카드 (헥스위퍼와 동일 톤) */
.sd-guide .gcard{background:var(--gk-panel2); border:1px solid var(--gk-line); border-radius:16px; padding:18px 20px; margin-bottom:14px;}
.sd-guide .gcard.hl{border-color:rgba(45,212,191,.35);}
.sd-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);}
.sd-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);}
.sd-guide .gcard p{margin:0; font-size:15px; line-height:1.7; color:#aebacb;}
.sd-guide .gcard b{color:var(--gk-text); font-weight:600;}
