/* Shared presentation for all translated guides (ported from nothanks, warm pega6 palette). */
body { background: radial-gradient(ellipse at 50% 0, #3a2616 0, transparent 520px), var(--bg); }
main { max-width: 880px; padding: 40px 28px 80px; }
header.hero { padding: 32px 24px; margin-bottom: 32px; }
header.hero img { width: 64px; height: 64px; }
h1 { font-size: clamp(30px, 5vw, 46px); line-height: 1.12; letter-spacing: -.04em; margin: 20px 0; }
.subtitle { max-width: 620px; margin: 0 auto 24px; font-size: 18px; line-height: 1.65; }
.play-button { border-radius: 15px; min-height: 54px; box-shadow: 0 8px 30px #0003; }
/* Cast button (cast-sender.js): hidden unless Chrome can cast and a device is on the network. */
.play-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; }
.play-actions .play-button { display: inline-flex; align-items: center; }
.cast-button { display: inline-flex; align-items: center; gap: 8px; min-height: 54px; padding: 0 22px; border-radius: 15px; border: 2px solid var(--accent); background: transparent; color: var(--text); font: inherit; font-size: 1.05rem; font-weight: 700; cursor: pointer; }
.cast-button[hidden] { display: none; }
.cast-button:disabled { opacity: .6; cursor: progress; }
.cast-button:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.cast-status { margin: 10px 0 0; font-size: .9rem; }
h2 { margin-top: 40px; padding-bottom: 12px; font-size: 24px; letter-spacing: -.02em; }
p, li { line-height: 1.75; }
li + li { margin-top: 8px; }
.how-it-works, .callout { background: var(--panel); border: 1px solid var(--border); border-radius: 24px; padding: 24px; }
.how-it-works h2 { margin-top: 0; }
.quick-links { gap: 24px; }
details { border-radius: 16px; padding: 16px 20px; }
summary { min-height: 28px; }
details[open] { border-color: var(--accent); }
footer { border-top: 1px solid var(--border); padding-top: 24px; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
@media(max-width: 600px) {
  main { padding: 20px 20px 76px; }
  header.hero { padding: 20px 0; }
  .subtitle { font-size: 16px; }
  .how-it-works, .callout { padding: 18px; border-radius: 18px; }
  .quick-links { flex-wrap: wrap; }
  h2 { font-size: 22px; }
}

/* Rules articles: static HTML, readable and navigable without JavaScript. */
.quick-guide main > ol { counter-reset: step; list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.quick-guide main > ol > li { counter-increment: step; margin: 0; padding: 22px; background: var(--panel); border: 1px solid var(--border); border-radius: 18px; }
.quick-guide main > ol > li::before { content: counter(step, decimal-leading-zero); display: block; color: var(--accent); font-size: 24px; font-weight: 800; margin-bottom: 10px; }
.quick-guide #private-room + p { padding: 24px; background: #e8622c0c; border: 1px solid #e8622c4d; border-radius: 18px; }
@media(max-width:600px) { .quick-guide main > ol { grid-template-columns: 1fr; } }
.rules-guide main { max-width: 980px; }
.guide-languages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.guide-languages a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 12px; border: 1px solid transparent; border-radius: 10px; color: var(--text-dim); text-decoration: none; font-size: 14px; }
.guide-languages a[aria-current] { color: var(--accent); background: #e8622c12; border-color: #e8622c50; }
.guide-languages a:hover { color: var(--text); background: var(--panel); }
.rules-guide header.hero { margin-bottom: 10px; padding-top: 36px; }
.rules-guide h1 { max-width: 760px; margin-inline: auto; text-wrap: balance; }
.rules-guide .subtitle { max-width: 660px; }
.guide-toc { padding: 20px 24px; border: 1px solid var(--border); border-radius: 18px; background: #1a141088; }
.guide-toc > strong { display: block; margin-bottom: 10px; font-size: 13px; color: var(--text-dim); }
.guide-toc > div { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.guide-toc a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 5px; }
.rules-guide h2[id] { scroll-margin-top: 24px; }
.rules-guide main > p, .rules-guide main > ul { max-width: 76ch; }
.rules-guide .how-it-works { margin-top: 28px; }
.rules-guide .quick-links { align-items: start; }
.rules-guide .quick-link-col { width: 180px; }
.rules-guide .quick-link-url { min-height: 44px; display: flex; align-items: center; justify-content: center; }
.rules-guide .quick-links-divider { align-self: center; }
.turn-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0; list-style: none; counter-reset: choice; }
.turn-choices > li { position: relative; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: var(--panel); counter-increment: choice; }
.turn-choices > li + li { margin-top: 0; border-color: #e8622c5c; }
.turn-choices > li::before { content: counter(choice, decimal-leading-zero); display: block; color: var(--accent); font-weight: 800; font-size: 26px; margin-bottom: 12px; }
.turn-choices strong { display: block; margin-bottom: 8px; font-size: 19px; }
.score-example { margin: 28px 0; border: 1px solid #e8622c5c; border-radius: 22px; background: linear-gradient(145deg,#3a2419,var(--panel)); padding: 28px; }
.score-example figcaption { font-size: 20px; font-weight: 700; margin-bottom: 24px; }
.score-groups { display: grid; grid-template-columns: 1.3fr .85fr 1fr; gap: 20px; text-align: center; }
.score-label { display: block; color: var(--text-dim); font-size: 14px; min-height: 48px; }
.guide-hand { display: flex; justify-content: center; align-items: center; min-height: 108px; gap: 6px; }
.guide-card { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 84px; flex-shrink: 0; border: 3px solid white; border-radius: 8px; background: hsl(var(--card-hue) 52% 45%); color: #fff; font-size: 27px; font-weight: 800; box-shadow: 0 4px 8px #0005; }
.guide-corner { position: absolute; font-size: 9px; line-height: 1; }
.guide-corner.top { top: 5px; left: 5px; }
.guide-corner.bottom { bottom: 5px; right: 5px; }
.guide-chip { display: inline-block; width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; background: radial-gradient(circle at 33% 28%,#ff9d92 0%,#e53935 55%,#a81c1c 100%); box-shadow: 0 2px 4px #0006,inset 0 -2px 3px #0004,inset 0 2px 2px #ffffff59; }
.score-groups strong { display: block; font-size: 22px; margin-top: 10px; }
.score-result { padding-top: 20px; margin: 24px 0 0; border-top: 1px solid #ffffff26; text-align: center; font-size: clamp(20px,3vw,28px); font-weight: 800; color: var(--accent); }
.rules-guide summary { min-height: 44px; align-content: center; }
.guide-online { margin-top: 32px; padding: 22px; border-radius: 16px; background: var(--panel); }
.guide-online a { display: block; text-underline-offset: 5px; }
@media(max-width:600px) {
  .rules-guide main { padding-inline: 16px; }
  .rules-guide header.hero { padding-top: 24px; }
  .guide-toc { padding: 16px; }
  .guide-toc > div { display: grid; grid-template-columns: 1fr; gap: 0; }
  .guide-toc a { border-bottom: 1px solid var(--border); padding: 8px 0; }
  .guide-toc a:last-child { border-bottom: 0; }
  .turn-choices { grid-template-columns: 1fr; }
  .score-example { padding: 20px 16px; }
  .score-groups { grid-template-columns: 1fr; gap: 24px; }
  .score-groups > div { padding-bottom: 18px; border-bottom: 1px solid #ffffff17; }
  .score-groups > div:last-child { padding-bottom: 0; border-bottom: 0; }
  .score-label { min-height: 0; }
  .guide-hand { min-height: 102px; }
  .rules-guide .quick-links { gap: 24px 12px; }
  .rules-guide .quick-link-col { width: 100%; }
  .rules-guide .quick-links-divider { width: 100%; text-align: center; }
}

/* pega6: the score example shows the real card art (public/cards/NNN.png). */
.guide-card-img { width: 60px; height: 84px; object-fit: contain; border-radius: 6px; box-shadow: 0 4px 8px #0005; flex-shrink: 0; }
.score-groups.four { grid-template-columns: repeat(4, 1fr); }
@media(max-width:600px) { .score-groups.four { grid-template-columns: 1fr 1fr; } }
/* pega6: the round steps carry inline emphasis, not per-panel titles. */
.turn-choices strong { display: inline; margin: 0; font-size: inherit; }
/* Way back to the mode picker from any guide, above the language bar. */
.guide-home { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-bottom: 8px; padding: 6px 12px 6px 6px; border-radius: 12px; color: var(--text-dim); font-size: 15px; font-weight: 650; text-decoration: none; }
.guide-home img { width: 28px; height: 28px; border-radius: 8px; }
.guide-home:hover, .guide-home:focus-visible { color: var(--text); background: var(--panel); }
/* Google Play badge in the hero (play-badge.js hides it on iPhone/iPad and inside the apps). */
.hero-badge { display: inline-block; margin-top: 14px; }
header.hero .hero-badge img { display: block; height: 54px; width: auto; }
.no-play-badge .play-store-link { display: none !important; }
