/* 홀덤연구소 공용 테마 — 토큰·기본 규칙·모바일 규칙의 단일 출처. 각 페이지의 <style>은 이 위에 화면별 규칙만 얹는다. */
:root{
  /* 표면 */
  --felt:#123328; --felt-deep:#0c241c; --felt-line:#2e5f4e; --felt-raised:#1b4538;
  --ivory:#f5efe0; --ivory-2:#e9e1cc; --hairline:#e3dac4;
  /* 글자 */
  --ink:#1d2320; --ink-soft:#5b625c; --ink-muted:#616861;
  --on-bg:#eef3ee; --on-bg-muted:#a9c1b3; --on-bg-title:#f6f1e4;
  /* 강조 */
  --gold:#d9b45a; --green:#2f8f5b; --blue:#3f6db4; --red:#c73f2f; --grey:#8b9089; --mix:#8a6bb5;
  --pos:#247a4a; --neg:#b8362a; --ok:#2f8f5b; --bad:#c73f2f;
  --line:#3f6db4; --grid:#e3dac4;
  /* 플레이어 색 */
  --p1:#3f6db4; --p2:#c73f2f; --p3:#2f8f5b; --p4:#d8a536; --p5:#8a6bb5; --p6:#3a8f8f; --p7:#b5651d; --p8:#5b625c; --p9:#1d2320; --p10:#d16ba5;
  /* 별칭 (드릴 앱) */
  --bg:var(--felt); --panel:var(--ivory); --panel-2:var(--ivory-2); --text:var(--ink); --muted:var(--ink-soft);
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  accent-color:var(--felt); caret-color:var(--felt);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --bg:#0a1f18; } }
:root[data-theme="dark"]{ --bg:#0a1f18; }
*{box-sizing:inherit}
/* details 안은 브라우저가 상속을 끊어 content-box로 돌아간다 → 폭 100% 입력 칸이 넘치던 문제 */
details *,details *::before,details *::after{box-sizing:border-box}
[hidden]{display:none !important}
::selection{background:var(--gold);color:var(--ink)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--on-bg);font-family:"Noto Sans KR",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;
  background-image:none !important;min-height:100vh;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
/* 조용한 카드룸 2.0: 그림자 대신 선과 여백으로 층을 나눈다 (페이지별 규칙보다 우선) */
body .panel{box-shadow:none;border-radius:18px}
body h1{letter-spacing:-.02em}
body .wrap>h1{color:var(--on-bg-title)}
body .vtabs{background:var(--felt-deep)}
body .vtabs button{border-radius:10px}
table{font-variant-numeric:tabular-nums}
a{color:inherit}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* 판정·피드백 상자: 옆 테두리 대신 표면 색으로 상태를 말한다 */
.verdict,.fb,.msg{background:#fbf8ef;border:1px solid #e3dcc6}
.verdict.ok,.fb.ok,.msg.ok,.verdict.call{background:#eaf3ec;border-color:#cfe3d5}
.verdict.no,.fb.bad,.msg.err,.verdict.push{background:#faedea;border-color:#efd0ca}
.verdict.fold{background:#f1ede2;border-color:#e0d8c4}
.verdict.call{background:#ebf1fa;border-color:#cfdcf0}
/* 모바일: 표적 크기와 글자 크기 확보 */
@media (max-width:430px){
  body .wrap{padding:12px 10px 40px}
  body .panel{padding:12px 8px}
  body th,body td{padding:5px 3px;font-size:12.5px}
  .panel .grid13{gap:1px}
  .panel .grid13 button{font-size:9.5px;border-radius:2px}
  .panel .pal{grid-template-columns:repeat(13,1fr);gap:2px}
  .panel .pal .sym{grid-column:1/-1;justify-self:start;font-size:12px;padding:4px 0 0;line-height:1;aspect-ratio:auto}
  .panel .pal button{aspect-ratio:auto;min-height:40px;font-size:13px;padding:0;border-radius:4px}
  .panel .x,.pl .x{min-width:32px;min-height:32px}
  .clock .cnt button{min-width:30px;height:28px}
}
h1 a.home{display:inline-block;padding:5px 6px;line-height:1.3}
/* 맨 위 '‹ 메인' 링크 (제목 위 별도 줄) */
a.back{display:inline-flex;align-items:center;gap:3px;min-height:32px;padding:2px 8px 2px 0;margin:4px 0 0;font-family:"Noto Sans KR",system-ui,sans-serif;font-size:13.5px;font-weight:500;color:var(--on-bg-muted);text-decoration:none;letter-spacing:0}
a.back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
a.back:hover{color:var(--on-bg)}
a.back+h1{margin-top:0 !important}
input[type=range]{min-height:28px}
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important} }
