/* Royal Teen Patti: shared visual system and the requested casino directory. */
@layer royal {
  .language-switcher { position:relative; z-index:45; flex-shrink:0; }
  .language-switcher summary { display:flex; align-items:center; gap:7px; min-height:40px; padding:7px 10px; border:1px solid var(--tp-border); border-radius:10px; color:var(--tp-text); background:var(--tp-surface); font-size:12px; font-weight:650; cursor:pointer; list-style:none; }
  .language-switcher summary::-webkit-details-marker { display:none; }
  .language-switcher summary::marker { content:""; }
  .language-chevron { color:var(--tp-gold-light); }
  .language-options { position:absolute; inset-block-start:calc(100% + 8px); inset-inline-end:0; display:grid; width:220px; max-height:min(70dvh,420px); overflow:auto; padding:6px; border:1px solid var(--tp-border); border-radius:12px; background:var(--tp-surface); box-shadow:0 18px 42px #0009; }
  .language-options a { display:flex; align-items:center; gap:10px; min-height:40px; padding:8px 10px; border-radius:8px; color:var(--tp-text); text-decoration:none; font-size:13px; }
  .language-options a:hover,.language-options a:focus-visible,.language-options a[aria-current=true] { background:var(--tp-bg); color:var(--tp-gold-light); }
  .locale-footer-top { grid-template-columns:1.5fr repeat(3,minmax(0,1fr)); }
  .locale-footer-top .footer-column { grid-column:auto; }
  .locale-page .locale-main { overflow:hidden; }
  .locale-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
  html[dir=rtl] .locale-page .hero,html[dir=rtl] .locale-page .section-heading,html[dir=rtl] .locale-page .home-reading,html[dir=rtl] .locale-page .info-band { direction:rtl; }
  html[dir=rtl] .locale-page .hero-visual figcaption { direction:rtl; }
  html[dir=rtl] .locale-page .toc { text-align:right; }
  @media(max-width:640px) {
    .locale-page .header-inner { gap:10px; }
    .locale-page .brand img { width:132px; }
    .locale-page .header-actions { gap:5px; }
    .locale-page .language-switcher summary { gap:4px; min-height:38px; padding-inline:7px; font-size:10px; }
    .locale-page .locale-reading { grid-template-columns:1fr; gap:18px; }
    .locale-footer-top { grid-template-columns:1fr 1fr; }
    .locale-footer-top .footer-brand { grid-column:1/-1; }
  }
  @media(max-width:360px) {
    .locale-page .brand img { width:116px; }
    .locale-page .language-switcher summary { font-size:9px; }
    .locale-page .header-inner { gap:6px; }
  }
  .locale-app-bar { grid-template-columns:repeat(5,minmax(0,1fr)); }
  html:not(.js) .locale-app-bar { grid-template-columns:repeat(5,minmax(0,1fr)); }
  @media(max-width:640px) { .locale-page .locale-app-bar a,.locale-page .locale-app-bar button { font-size:clamp(9px,2.5vw,10px); } }
}
@layer royal {
  .not-found { padding-block:42px 72px; }
  .not-found-panel { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:12px; padding:48px 46px; border:1px solid #CEAB6540; border-radius:28px; background:radial-gradient(ellipse at 86% 55%,#185C4938,transparent 60%),linear-gradient(125deg,#162A40,#0D1C2B 70%); overflow:hidden; box-shadow:0 24px 65px #020B1838; }
  .not-found-panel::before { content:""; position:absolute; pointer-events:none; inset:10px; z-index:-1; border:1px solid #CEAB6512; border-radius:20px; }
  .not-found-copy { min-width:0; }
  .not-found-kicker { display:flex; align-items:center; gap:12px; color:var(--tp-gold-light); font-size:11px; line-height:1.5; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
  .not-found-kicker>span { display:grid; place-items:center; width:30px; height:30px; border:1px solid #D6AE5D66; border-radius:50%; font-size:18px; }
  .not-found h1 { margin:24px 0 22px; font-size:clamp(46px,5.7vw,78px); font-weight:800; letter-spacing:-.055em; line-height:1.02; text-wrap:initial; }
  .not-found h1 span { color:var(--tp-gold-light); }
  .not-found-description { max-width:38ch; font-size:17px; line-height:1.75; color:var(--tp-text-muted); }
  .not-found-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
  .not-found-actions .button { min-width:0; padding-inline:19px; }
  .not-found-actions svg { width:19px; height:19px; flex-shrink:0; }
  .not-found-note { margin-top:20px; color:#92A9BC; font-size:12px; }
  .not-found-art { min-width:0; position:relative; text-align:center; }
  .not-found-art img { width:100%; height:auto; filter:drop-shadow(0 20px 22px #020B1838); }
  .not-found-table-label { display:block; margin-bottom:2px; color:#89AC9C; font-size:9px; letter-spacing:.23em; }
  .not-found-art-caption { display:flex; justify-content:center; align-items:center; gap:12px; color:#C2AD7C; font-size:9px; letter-spacing:.16em; margin-top:6px; }
  .not-found-art-caption i { width:20px; height:1px; background:#C2AD7C66; }
  .not-found-routes { margin-top:36px; }
  .not-found-routes-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:18px; }
  .not-found-routes-heading h2 { font-size:21px; letter-spacing:-.02em; }
  .not-found-routes-heading p { color:var(--tp-text-muted); font-size:13px; }
  .not-found-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .not-found-route { display:flex; align-items:center; gap:16px; min-width:0; padding:23px 20px; border:1px solid #FFFFFF16; border-radius:16px; background:#12233788; text-decoration:none; }
  .not-found-route:hover { background:var(--tp-surface); border-color:#D6AE5D88; }
  .not-found-route-icon { display:grid; place-items:center; flex-shrink:0; width:44px; height:48px; border-radius:12px; color:var(--tp-gold-light); background:#D6AE5D0D; border:1px solid #D6AE5D22; }
  .not-found-route-icon svg { width:22px; height:22px; }
  .not-found-route-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
  .not-found-route-copy small { color:#BBA87E; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
  .not-found-route-copy strong { color:var(--tp-text); font-size:16px; font-weight:700; }
  .not-found-route-copy>span { color:var(--tp-text-muted); font-size:12px; line-height:1.6; }
  .not-found-route-arrow { margin-left:auto; color:var(--tp-gold-light); font-size:20px; }
  @media(max-width:1000px) {
    .not-found-panel { padding:34px 30px; gap:0; }
    .not-found h1 { font-size:54px; }
    .not-found-description { font-size:16px; }
    .not-found-actions .button { padding-inline:14px; font-size:14px; }
    .not-found-route { padding:20px 16px; gap:12px; }
    .not-found-route-icon { display:none; }
  }
  @media(max-width:700px) {
    .not-found { padding-block:24px 42px; }
    .not-found-panel { grid-template-columns:1fr; padding:24px; gap:8px; border-radius:22px; }
    .not-found-art { grid-row:1; width:100%; max-width:360px; margin:-6px auto 14px; }
    .not-found-table-label { display:none; }
    .not-found-art-caption { margin-top:0; font-size:8px; }
    .not-found h1 { font-size:48px; margin-block:18px; }
    .not-found-description { max-width:100%; }
    .not-found-actions { flex-wrap:nowrap; }
    .not-found-actions .button { flex:1; padding-inline:10px; gap:8px; }
    .not-found-route-grid { grid-template-columns:1fr; gap:10px; }
    .not-found-routes-heading { display:block; }
    .not-found-routes-heading p { margin-top:4px; }
    .not-found-route-icon { display:grid; }
  }
  @media(max-width:420px) {
    .not-found-panel { padding:20px; }
    .not-found-art { max-width:280px; margin-bottom:12px; }
    .not-found-art-caption { gap:7px; font-size:7px; letter-spacing:.11em; }
    .not-found-kicker { font-size:9px; gap:10px; }
    .not-found h1 { font-size:42px; margin-block:16px; }
    .not-found-description { font-size:15px; line-height:1.65; }
    .not-found-actions { margin-top:22px; gap:10px; }
    .not-found-actions .button { font-size:13px; padding:12px 8px; }
    .not-found-note { font-size:11px; margin-top:16px; }
  }
  @media(max-width:340px) {
    .not-found-panel { padding:18px; }
    .not-found h1 { font-size:36px; }
    .not-found-actions .button { font-size:12px; gap:5px; }
    .not-found-actions svg { width:16px; height:16px; }
  }
}
@layer royal {
  .share-body { padding:12px 24px 24px; }
  .share-body>p { color:var(--tp-text-muted); font-size:15px; margin:0 0 18px; }
  .share-body label { display:block; font-size:13px; margin-bottom:8px; }
  .share-body input { width:100%; padding:13px; border:1px solid #647386; border-radius:10px; background:var(--tp-bg); color:var(--tp-text); font:inherit; font-size:14px; }
  .share-body .button { margin-top:18px; }
  .share-body .share-feedback { margin:16px 0 0; }
  .share-toast { position:fixed; z-index:50; bottom:calc(92px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); max-width:calc(100% - 36px); padding:12px 22px; border:1px solid var(--tp-gold-light); border-radius:12px; background:var(--tp-surface); color:var(--tp-text); box-shadow:0 8px 24px #0006; font-size:14px; text-align:center; pointer-events:none; }
  .share-toast:empty { display:none; }
  html:not(.js) .app-bar { grid-template-columns:repeat(5,minmax(0,1fr)); }
  @media print { .share-dialog,.share-toast { display:none!important; } }
}
@layer royal {
  /* Keep the quick navigation available at every viewport width. */
  body { padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
  .app-bar {
    display:grid;
    position:fixed;
    inset-inline:0;
    inset-block-end:0;
    z-index:40;
    width:100%;
    box-sizing:border-box;
    grid-template-columns:repeat(5,minmax(0,1fr));
    padding:8px 8px max(8px,env(safe-area-inset-bottom));
    border-top:1px solid #B68A36;
    background:rgba(11,22,35,.98);
    backdrop-filter:blur(16px);
  }
  .app-bar > a,.app-bar > button {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:100%;
    min-width:0;
    min-height:49px;
    padding:5px 4px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--tp-text-muted);
    text-align:center;
    text-decoration:none;
    font-size:clamp(10px,.75vw,12px);
    font-weight:600;
    line-height:1.2;
  }
  .app-bar > a span,.app-bar > button span { max-width:100%; overflow-wrap:anywhere; }
  .app-bar svg { width:21px; height:21px; flex:none; }
  .app-bar a[aria-current=page] { color:var(--tp-gold-light); background:#FFB00015; box-shadow:inset 0 2px var(--tp-gold); }
  @media(max-width:360px) { .app-bar > a,.app-bar > button { font-size:10px; } }
  @media print { body { padding-bottom:0; } }
}
@layer royal {
  .download-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0 0 56px; scroll-margin-top:120px; }
  @media(min-width:1100px) { .download-options { grid-template-columns:repeat(3,minmax(0,1fr)); } }
  .download-card { display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--tp-border); border-radius:20px; background:radial-gradient(ellipse at top right,#2563EB19,transparent 65%),var(--tp-surface); }
  .download-card-offline { background:radial-gradient(ellipse at top left,#0D5C4666,transparent 70%),var(--tp-surface); }
  .download-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:24px; }
  .download-mark { display:grid; place-items:center; width:56px; height:64px; flex-shrink:0; border:1px solid #D7AF624D; border-radius:12px; background:#0B162366; color:var(--tp-gold-light); font-size:38px; }
  .download-mark-brand { font-size:23px; font-weight:800; letter-spacing:-.06em; }
  .download-tag { color:var(--tp-gold-light); font-size:12px; letter-spacing:.03em; text-align:right; }
  .download-card h2 { font-size:30px; line-height:1.25; margin:0 0 16px; }
  .download-card>p { color:var(--tp-text-muted); font-size:16px; margin:0 0 22px; }
  .download-features { margin:0 0 28px; padding-left:20px; font-size:14px; color:var(--tp-text-muted); }
  .download-features li { padding:3px 0; }
  .download-features li::marker { color:var(--tp-gold-light); }
  .download-action { margin-top:auto; }
  .download-action .button { display:flex; align-items:center; justify-content:center; width:100%; text-align:center; white-space:normal; }
  .download-action p { margin:14px 0 0; color:var(--tp-text-muted); font-size:12px; line-height:1.5; text-align:center; }
  @media(max-width:700px) {
    .download-options { grid-template-columns:1fr; gap:18px; margin-bottom:32px; }
    .download-card { padding:24px 22px; }
    .download-card h2 { font-size:26px; }
  }
}

@layer royal {
  :root {
    --tp-bg: #0B1623;
    --tp-surface: #122337;
    --tp-surface-raised: #1B3048;
    --tp-gold: #FFB000;
    --tp-gold-light: #FFD778;
    --tp-gold-deep: #D88A00;
    --tp-blue: #2563EB;
    --tp-violet: #7C3AED;
    --tp-felt: #0D5C46;
    --tp-felt-dark: #073E31;
    --tp-card: #FFFDF7;
    --tp-suit-red: #C51D3A;
    --tp-suit-black: #14202E;
    --tp-text: #F7FAFF;
    --tp-text-muted: #B6C4D5;
    --tp-text-on-gold: #14202E;
    --tp-border: rgba(255,176,0,.20);
    --bg: var(--tp-bg);
    --surface: var(--tp-surface);
    --surface2: var(--tp-surface-raised);
    --border: var(--tp-border);
    --text: var(--tp-text);
    --muted: var(--tp-text-muted);
    --accent: var(--tp-gold);
    --gold: var(--tp-gold-light);
    --max: 1280px;
    --radius: 18px;
  }

  body { font-size:18px; line-height:1.7; background:var(--tp-bg); }
  ::selection { background:#274B87; color:var(--tp-text); }
  :focus-visible { outline:3px solid var(--tp-gold-light); outline-offset:4px; }
  h1,h2,h3 { text-wrap:balance; }
  p { text-wrap:pretty; }
  a,button,summary,input { transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s; }
  input::placeholder { color:var(--tp-text-muted); opacity:1; }

  /* The existing sticky header, menu and mobile app bar keep their behavior. */
  .topline { background:#08121E; border-color:var(--tp-border); }
  .topline a { color:var(--tp-gold-light); }
  .site-header { background:rgba(11,22,35,.98); border-bottom-color:rgba(255,176,0,.36); box-shadow:0 8px 30px #02081120; }
  .header-inner { gap:26px; }
  .brand { align-items:center; min-height:44px; }
  .brand img { width:180px; }
  .desktop-nav { gap:20px; }
  .desktop-nav a { font-size:13px; color:var(--tp-text-muted); padding-block:30px; }
  .desktop-nav a:hover { color:var(--tp-gold-light); }
  .desktop-nav a[aria-current=page] { color:var(--tp-gold-light); box-shadow:inset 0 -3px var(--tp-gold); }
  .icon-button { width:46px; height:46px; border:1px solid #536477; background:var(--tp-surface); }
  .icon-button:hover { color:var(--tp-gold-light); border-color:var(--tp-gold); background:var(--tp-surface-raised); }
  .mobile-menu { background:var(--tp-bg); max-height:calc(100dvh - 152px); overflow-y:auto; overscroll-behavior:contain; }
  .mobile-menu a { padding:13px 16px; min-height:48px; border-left:3px solid transparent; border-radius:0 10px 10px 0; font-size:16px; }
  .mobile-menu a:hover { background:var(--tp-surface); }
  .mobile-menu a[aria-current=page] { color:var(--tp-gold-light); border-left-color:var(--tp-gold); background:var(--tp-surface); }

  /* A three-card composition occupies its own space, separate from source art. */
  .hero { position:relative; isolation:isolate; grid-template-columns:1.06fr 1fr; gap:54px; padding-block:58px 64px; }
  .hero::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 86% 32%,#7C3AED20,transparent 54%),radial-gradient(ellipse at 64% 60%,#2563EB15,transparent 58%); }
  .hero h1 { font-size:clamp(3.25rem,5.3vw,5rem); letter-spacing:-.048em; line-height:1.06; }
  .hero h1 span { color:var(--tp-gold); }
  .eyebrow { color:var(--tp-gold-light); letter-spacing:.14em; }
  .eyebrow::before { width:22px; background:var(--tp-gold); box-shadow:6px 0 14px #FFB00025; }
  .hero-copy>p { font-size:18px; max-width:48ch; }
  .hero-actions { gap:12px; margin-block:28px 23px; }
  .hero-note { font-size:13px; }
  .hero-visual { transform:none; display:grid; grid-template-columns:126px 1fr; gap:20px; align-items:center; padding:20px 24px 24px; border-radius:24px; border:1px solid var(--tp-border); background:radial-gradient(ellipse at 75% 0%,#7C3AED24,transparent 65%),var(--tp-surface); box-shadow:0 28px 65px #02091365; }
  .royal-decoration { grid-column:1/-1; width:100%; aspect-ratio:600/360; background:url('/assets/royal-cards.svg') center / contain no-repeat; pointer-events:none; user-select:none; }
  .hero-visual>img { width:126px; height:126px; aspect-ratio:1; object-fit:contain; border-radius:12px; border:1px solid #FFD77845; background:#0B1623; }
  .hero-visual figcaption { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:0; line-height:1.65; font-size:12px; letter-spacing:.11em; }
  .hero-visual figcaption span:last-child { color:var(--tp-gold-light); font-size:11px; }
  .fact-strip { padding-block:26px; border:1px solid var(--tp-border); border-radius:16px; background:var(--tp-surface); }
  .fact strong { color:var(--tp-gold-light); font-variant-numeric:tabular-nums; }
  .fact span { font-size:14px; }
  .section { padding-block:70px; }
  .section-heading h2 { letter-spacing:-.035em; }
  .section-heading>a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }

  /* Gold actions use dark labels; secondary actions retain a clear outline. */
  .button { min-height:50px; border-radius:12px; border:1px solid var(--tp-gold-light); padding:13px 22px; font-size:15px; line-height:1.5; font-weight:750; color:var(--tp-text-on-gold); background:linear-gradient(180deg,#FFC443,var(--tp-gold)); box-shadow:0 3px 0 #9A6408,0 7px 18px #0003; }
  .button:hover { color:var(--tp-text-on-gold); background:var(--tp-gold-light); box-shadow:0 3px 0 #9A6408,0 9px 22px #0004; }
  .button:active { box-shadow:0 1px 0 #9A6408; transform:translateY(1px); }
  .button-secondary { color:var(--tp-gold-light); border-color:#B68A36; background:var(--tp-surface); box-shadow:0 3px 0 #020B16; }
  .button-secondary:hover { color:var(--tp-gold-light); background:var(--tp-surface-raised); border-color:var(--tp-gold); box-shadow:0 3px 0 #020B16; }
  .button-small { min-height:46px; font-size:14px; }
  button:disabled,.button:disabled,.button[aria-disabled=true] { color:#B6C4D5; background:#304052; border-color:#647386; box-shadow:none; cursor:not-allowed; transform:none; }

  .guide-card,.question-card { background:var(--tp-surface); border-color:var(--tp-border); box-shadow:0 9px 24px #020B161F; }
  .guide-card:hover,.question-card:hover { transform:none; color:var(--tp-text); border-color:#BD8D34; box-shadow:0 12px 30px #020B164F; }
  .guide-card img { background:#0B1623; border-bottom:1px solid var(--tp-border); }
  .guide-card h3,.listing-grid .guide-card h2 { color:var(--tp-text); font-size:1.4rem; line-height:1.32; }
  .guide-card p,.listing-grid .guide-card p,.question-card p { font-size:16px; line-height:1.7; }
  .card-body { position:relative; }
  .card-kicker { font-size:11px; color:var(--tp-gold-light); }
  .card-link { color:var(--tp-gold-light); font-size:14px; text-decoration:underline; text-underline-offset:5px; }
  .listing-tools p { font-size:16px; }
  .pagination a { min-width:46px; min-height:46px; border-radius:12px; background:var(--tp-surface); }
  .pagination a[aria-current=page] { color:var(--tp-text-on-gold); border-color:var(--tp-gold-light); background:var(--tp-gold); font-weight:750; box-shadow:0 3px 0 #9A6408; }

  /* Felt is confined to the hand-ranking section, with actual suit symbols. */
  .rank-section { background:radial-gradient(ellipse at 30% 20%,#126449,transparent 80%),var(--tp-felt-dark); border-block:1px solid #A88338; }
  .rank-section .section-heading p,.rank-section .fineprint { color:#D2E5DC; }
  .rank-card { background:#0B211F; border-color:#72977E88; border-radius:16px; padding:21px 16px; }
  .rank-number { color:var(--tp-gold-light); }
  .rank-example { display:flex; align-items:center; gap:6px; font-size:0; margin-block:18px; letter-spacing:0; }
  .royal-hand-card { display:inline-flex; justify-content:center; align-items:center; width:40px; height:58px; flex-shrink:0; border:1px solid #DDD2B6; border-radius:6px; background:var(--tp-card); color:var(--tp-suit-black); font-family:Georgia,"Times New Roman",serif; font-size:19px; font-weight:700; box-shadow:0 4px 0 #041410; }
  .royal-hand-card.is-red { color:var(--tp-suit-red); }
  .royal-hand { display:inline-flex; gap:5px; white-space:nowrap; }
  .royal-hand .royal-hand-card { width:32px; height:46px; font-size:16px; box-shadow:0 2px 0 #020811; }
  table:has(.royal-hand) td:nth-child(2) { color:var(--tp-gold-light); font-weight:700; white-space:nowrap; }
  table:has(.royal-hand) { min-width:680px; }
  .rank-card h3 { font-size:16px; }
  .rank-card p { color:#D2E5DC; font-size:14px; }

  /* Reading surfaces stay quiet and keep every paragraph and table visible. */
  .breadcrumb { font-size:14px; gap:10px; }
  .breadcrumb a { padding-block:5px; text-decoration:underline; text-decoration-color:#6E8192; }
  .page-heading { position:relative; max-width:none; padding:26px 32px 32px; border:1px solid var(--tp-border); border-left:4px solid var(--tp-gold); border-radius:0 18px 18px 0; margin-bottom:42px; background:radial-gradient(ellipse at 100% 0%,#4B32A425,transparent 60%),var(--tp-surface); }
  .page-heading h1 { max-width:1000px; font-size:clamp(2.25rem,4.3vw,3.7rem); line-height:1.14; }
  .page-heading>p { max-width:72ch; font-size:18px; margin-top:18px; }
  .page-meta { font-size:13px; gap:12px 22px; }
  .article-layout { grid-template-columns:250px minmax(0,1fr); gap:56px; }
  .article-content { max-width:76ch; }
  .article-content p,.article-content li,.home-reading p,.home-reading li { font-size:18px; line-height:1.75; }
  .article-content h2 { font-size:1.8rem; padding-top:8px; margin-bottom:18px; }
  .article-content section { margin-bottom:42px; }
  .article-cover { background:#08121E; border-color:var(--tp-border); box-shadow:0 10px 24px #0209133D; }
  .toc { border-color:var(--tp-border); border-top:3px solid var(--tp-gold); padding:23px 20px; border-radius:16px; }
  .toc h2 { font-size:12px; color:var(--tp-gold-light); }
  .toc ol { counter-reset:contents; }
  .toc li { counter-increment:contents; }
  .toc li+li { margin-top:4px; }
  .toc li a { position:relative; padding:9px 0 9px 24px; min-height:44px; font-size:14px; line-height:1.55; }
  .toc li a::before { content:counter(contents,decimal-leading-zero); position:absolute; left:0; top:12px; color:var(--tp-gold-light); font-size:10px; font-variant-numeric:tabular-nums; }
  .toc a.active { color:var(--tp-gold-light); text-decoration:underline; text-underline-offset:5px; }
  .toc .toc-back { display:block; font-size:14px; min-height:44px; }
  .home-reading { grid-template-columns:1fr 1.65fr; gap:72px; }
  .home-reading>div { max-width:75ch; }
  .home-reading h2 { color:var(--tp-gold-light); }
  .table-scroll { border-color:#526677; border-radius:14px; overscroll-behavior-x:contain; }
  table { font-size:16px; line-height:1.65; background:var(--tp-surface); }
  th { color:var(--tp-gold-light); background:#103F35; font-weight:700; }
  th,td { padding:17px 20px; border-bottom-color:#364B5D; }
  td { color:var(--tp-text-muted); }
  td:first-child { color:var(--tp-text); font-weight:600; }
  tbody tr:nth-child(even) { background:#192D41; }
  .related-links a { font-size:16px; border-radius:14px; padding:20px; }
  .related-links a:hover { background:var(--tp-surface-raised); border-color:#B68A36; }

  .faq-aside { display:block; border-top:3px solid var(--tp-gold); }
  .faq-aside p { font-size:16px; }
  .faq-aside a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
  .faq-list details { padding:0; }
  .faq-list summary { padding:22px 6px; min-height:64px; align-items:center; font-size:18px; }
  .faq-list summary::after { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border:1px solid #B68A36; border-radius:50%; font-size:22px; line-height:1; }
  .faq-list details[open] { padding-bottom:22px; }
  .faq-list details[open] summary { color:var(--tp-gold-light); }
  .faq-list details p { margin-top:0; margin-bottom:16px; font-size:18px; line-height:1.75; }
  .faq-list details a { font-size:15px; padding-block:10px; min-height:44px; margin-top:0; }
  .faq-search { border:1px solid #73889B; background:#0B1623; color:var(--tp-text); border-radius:12px; min-height:52px; font-size:16px; }
  .question-card { padding:28px; }
  .question-card h2 { font-size:1.35rem; }
  .info-band { background:#112D2D; border:1px solid #62877A; border-left:4px solid var(--tp-gold); padding:28px; }
  .info-band p { color:#D2E5DC; font-size:16px; }
  .info-band>a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
  .age-mark { width:56px; height:56px; background:#073E31; border-color:var(--tp-gold-light); }
  .fineprint { font-size:14px; line-height:1.7; }
  .partner-panel { padding:32px; border-top:3px solid var(--tp-gold); }
  .partner-panel .button { margin-bottom:12px; }
  .partner-domain { border:1px solid #596C7F; color:var(--tp-gold-light); }

  .site-footer { background:#08121E; border-top:1px solid #957132; padding-top:56px; }
  .footer-top { grid-template-columns:1.2fr 1.2fr .65fr 1.25fr; gap:32px; }
  .footer-brand p { font-size:16px; }
  .footer-column { border-left:1px solid var(--tp-border); padding-left:24px; }
  .footer-column a { display:flex; align-items:center; min-height:44px; margin:0; padding-block:7px; font-size:15px; line-height:1.55; }
  .footer-column a[aria-current=page] { color:var(--tp-gold-light); text-decoration:underline; }
  .footer-column:last-child a { color:var(--tp-gold-light); }
  .footer-bottom { font-size:13px; line-height:1.75; }
  .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; color:var(--tp-gold-light); }
  .footer-search { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:18px; padding:10px 16px; border:1px solid #7B8DA0; border-radius:10px; background:var(--tp-surface); color:var(--tp-gold-light); font-size:14px; }
  .footer-search:hover { background:var(--tp-surface-raised); border-color:var(--tp-gold-light); }
  .search-dialog { border-color:#AE8740; background:var(--tp-surface); }
  .search-head h2 { font-size:1.4rem; }
  .search-field { background:var(--tp-bg); border-color:#7B8DA0; }
  .search-field input { font-size:16px; }
  .search-field:focus-within { outline:3px solid var(--tp-gold); outline-offset:2px; }
  .search-status,.search-hint { font-size:14px; }
  .search-results strong { color:var(--tp-gold-light); font-size:17px; }
  .search-results span { font-size:15px; }
  .search-results a:hover,.search-results a:focus-visible { background:var(--tp-surface-raised); }
  .reading-progress { background:var(--tp-gold); }
  .app-bar { background:rgba(11,22,35,.98); border-top-color:#B68A36; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; box-sizing:border-box; }
  .app-bar > a,.app-bar > button { width:100%; min-width:0; justify-content:center; text-align:center; line-height:1.2; font-size:11px; }
  .app-bar > a span,.app-bar > button span { max-width:100%; overflow-wrap:anywhere; }
  .app-bar svg { flex:none; }
  .app-bar a[aria-current=page] { color:var(--tp-gold-light); background:#FFB00015; box-shadow:inset 0 2px var(--tp-gold); }
  @media(max-width:360px) { .app-bar a,.app-bar button { font-size:10px; } }

  @media(max-width:1200px) {
    .desktop-nav { display:none; }
    .header-actions { margin-left:auto; }
    .menu-toggle { display:grid; }
    .hero { gap:32px; }
    .hero-visual { padding:16px; gap:18px; grid-template-columns:100px 1fr; }
    .hero-visual>img { width:100px; height:100px; }
    .hero-actions .button { padding-inline:17px; }
    .article-layout { gap:32px; grid-template-columns:224px minmax(0,1fr); }
    .home-reading { gap:46px; }
    .rank-grid { grid-template-columns:repeat(3,1fr); }
  }
  @media(max-width:900px) {
    .hero { grid-template-columns:1fr 1fr; gap:25px; padding-block:40px; }
    .hero h1 { font-size:3.25rem; }
    .hero-actions .button { flex:1 1 100%; }
    .hero-visual { grid-template-columns:80px 1fr; padding:14px; gap:12px; }
    .hero-visual>img { width:80px; height:80px; }
    .hero-visual figcaption { font-size:10px; gap:8px; }
    .hero-visual figcaption span:last-child { font-size:9px; }
    .article-layout { grid-template-columns:1fr; gap:28px; }
    .toc { position:static; }
    .toc ol { gap:0 22px; }
    .toc .toc-back { display:block; }
    .home-reading { grid-template-columns:1fr; gap:28px; }
    .faq-aside { display:block; }
    .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
    .footer-column:last-child { grid-column:auto; }
    .guide-card .card-body { padding:20px; }
    .guide-grid,.listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .info-band>a { margin-left:0; }
  }
  @media(max-width:640px) {
    body { font-size:16px; padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
    .container { width:calc(100% - 36px); }
    .header-inner { height:70px; }
    .brand img { width:151px; }
    .topline .container { font-size:9px; letter-spacing:.04em; gap:8px; }
    .topline a { font-size:10px; }
    .hero { grid-template-columns:1fr; padding-block:30px 36px; gap:30px; }
    .hero h1 { font-size:clamp(2.85rem,12vw,3.7rem); }
    .hero-copy>p { font-size:16px; line-height:1.7; margin-top:18px; }
    .hero .eyebrow { font-size:10px; margin-bottom:19px; }
    .hero-actions { margin-block:22px; gap:10px; }
    .hero-actions .button { flex:1 1 0; padding:12px 10px; font-size:13px; min-height:56px; }
    .hero-note { font-size:12px; }
    .hero-visual { width:100%; max-width:450px; grid-template-columns:96px 1fr; gap:15px; padding:14px 18px 20px; border-radius:20px; }
    .hero-visual>img { width:96px; height:96px; }
    .hero-visual figcaption { font-size:11px; }
    .hero-visual figcaption span:last-child { font-size:10px; }
    .fact-strip { gap:24px 0; padding-block:24px; }
    .fact { gap:10px; padding-left:14px; }
    .fact strong { font-size:1.85rem; }
    .fact span { font-size:12px; }
    .section { padding-block:46px; }
    .section-heading h2 { font-size:1.9rem; }
    .guide-grid,.listing-grid { grid-template-columns:1fr; gap:22px; }
    .guide-card .card-body { padding:24px; }
    .guide-card h3 { font-size:1.4rem; }
    .rank-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .rank-card { padding:18px 12px; }
    .rank-example { gap:4px; }
    .royal-hand-card { width:33px; height:50px; font-size:17px; }
    .rank-card h3 { font-size:15px; }
    .rank-card p { font-size:13px; }
    .home-reading { padding-block:46px; }
    .home-reading p,.home-reading li,.article-content p,.article-content li,.faq-list details p { font-size:16px; line-height:1.75; }
    .breadcrumb { font-size:12px; gap:7px; padding-block:20px; }
    .page-heading { padding:24px 21px; margin-bottom:28px; border-radius:0 16px 16px 0; }
    .page-heading h1 { font-size:clamp(2rem,8.7vw,2.5rem); overflow-wrap:break-word; }
    .page-heading>p { font-size:16px; line-height:1.7; }
    .page-meta { font-size:12px; gap:8px 14px; }
    .article-content h2 { font-size:1.5rem; }
    .article-content section { margin-bottom:32px; }
    .toc { padding:22px; }
    .toc ol { grid-template-columns:1fr; }
    .toc li a { font-size:14px; }
    table { font-size:16px; }
    th,td { padding:14px 16px; }
    .faq-aside { padding:22px; }
    .faq-list summary { font-size:16px; gap:16px; }
    .related-links { grid-template-columns:1fr; }
    .info-band { padding:23px 20px; gap:18px; }
    .info-band>div:nth-child(2) { min-width:170px; }
    .info-band p { font-size:16px; }
    .info-band h2 { font-size:1.2rem; }
    .age-mark { width:44px; height:44px; }
    .footer-top { gap:28px 18px; }
    .footer-column { padding-left:14px; }
    .footer-column a { font-size:14px; }
    .footer-column:last-child { grid-column:1/-1; }
    .footer-brand p { font-size:16px; }
    .footer-bottom { font-size:13px; }
    .fineprint { font-size:14px; }
    .partner-panel { padding:24px; }
    .partner-panel .button { display:flex; width:100%; }
    .search-head h2 { font-size:1.15rem; }
    .search-head .icon-button { flex-shrink:0; }
    .search-status,.search-hint { font-size:13px; }
  }
  @media(prefers-reduced-motion:reduce) {
    a,button,summary,input,.guide-card { transition:none; }
    .button:active { transform:none; }
  }
  @media print {
    body { background:#fff; color:#111; padding:0; }
    .royal-decoration { display:none; }
    .page-heading { border:0; background:none; padding:0; }
    .hero::before { display:none; }
    .hero h1 span,.eyebrow,.fact strong,.card-kicker { color:#111; }
    .hero-visual,.fact-strip,.rank-section,.rank-card,.guide-card,.question-card,.info-band,.partner-panel,.royal-hand-card,table,th { background:#fff; color:#111; box-shadow:none; }
    .hero-visual { display:block; }
    .hero-visual>img { max-width:240px; width:auto; height:auto; }
    .article-cover { box-shadow:none; }
    .royal-hand-card.is-red { color:#A20F2A; }
  }
}

/* Game library and the explicitly requested navigation additions. */
@layer royal {
  .desktop-nav { gap:14px; }
  .desktop-nav a { font-size:12px; }
  .header-inner { gap:20px; }
  .games-footer { border-top:1px solid var(--tp-border); margin-top:36px; padding:32px 0; }
  .games-footer-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:24px; }
  .games-footer-heading h2 { margin:0; font-size:22px; }
  .games-footer-heading h2 a { color:var(--tp-gold-light); text-decoration:none; }
  .games-footer-heading p { color:var(--tp-text-muted); font-size:13px; margin:0; }
  .games-footer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
  .games-footer-grid h3 { margin:0 0 14px; color:var(--tp-gold-light); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
  .games-footer-grid a { display:block; padding:10px 0; color:var(--tp-text); text-decoration:none; font-size:14px; line-height:1.5; border-bottom:1px solid #FFFFFF0A; overflow-wrap:anywhere; }
  .games-footer-grid a:hover { color:var(--tp-gold-light); }
  .games-footer-grid a span { display:block; margin-top:2px; color:var(--tp-text-muted); font-size:11px; }
  .game-library { margin-bottom:60px; }
  .library-intro { display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center; background:radial-gradient(ellipse at right,#BD8D341A,transparent 60%),var(--tp-surface); border:1px solid var(--tp-border); border-radius:22px; padding:40px 44px; margin-bottom:36px; overflow:hidden; }
  .library-intro h1 { font-size:clamp(32px,3.7vw,48px); line-height:1.12; margin:14px 0 20px; letter-spacing:-.04em; }
  .library-intro h1 em { color:var(--tp-gold-light); font-style:normal; }
  .library-intro p { color:var(--tp-text-muted); font-size:16px; max-width:470px; line-height:1.7; }
  .library-stats { display:flex; flex-wrap:wrap; gap:28px; margin-top:30px; }
  .library-stats span { font-size:11px; color:var(--tp-text-muted); }
  .library-stats strong { display:block; font-size:27px; font-weight:600; color:var(--tp-gold-light); line-height:1.3; margin-bottom:5px; }
  .library-art { display:grid; place-items:center; min-width:0; }
  .library-art img { width:100%; height:auto; max-width:370px; max-height:310px; object-fit:contain; filter:drop-shadow(0 15px 20px #0006); }
  .library-art>span { color:var(--tp-text-muted); font-size:9px; letter-spacing:.3em; margin-top:15px; }
  .library-controls { display:grid; grid-template-columns:minmax(180px,1.5fr) minmax(140px,1fr) minmax(180px,1fr) auto; gap:14px; align-items:end; padding:22px; background:var(--tp-surface); border:1px solid var(--tp-border); border-radius:16px; }
  .library-controls label { display:grid; gap:9px; min-width:0; color:var(--tp-text-muted); font-size:12px; }
  .library-controls input,.library-controls select { width:100%; min-width:0; border:1px solid #64748B; border-radius:8px; background:var(--tp-bg); color:var(--tp-text); padding:12px; height:48px; font:inherit; font-size:14px; }
  .library-controls .button { padding-inline:18px; }
  .library-controls input::placeholder { color:var(--tp-text-muted); }
  .library-results-heading { display:flex; justify-content:space-between; align-items:baseline; gap:18px; margin:30px 0 20px; }
  .library-results-heading h2 { margin:0; font-size:23px; }
  .library-results-heading p { color:var(--tp-text-muted); font-size:13px; margin:0; white-space:nowrap; }
  .game-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .game-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--tp-border); border-radius:16px; background:var(--tp-surface); overflow:hidden; }
  .game-card[hidden] { display:none; }
  .game-card:hover,.game-card:focus-within { border-color:var(--tp-gold); }
  .game-card-visual { position:relative; display:flex; align-items:center; gap:14px; min-height:94px; padding:18px 22px; background:radial-gradient(ellipse at 90% 80%,#BD8D3426,transparent 75%),#142033; border-bottom:1px solid var(--tp-border); overflow:hidden; }
  .game-visual-app { background:radial-gradient(ellipse at 90% 80%,#5088AD26,transparent 75%),#122638; }
  .game-provider-mark { display:grid; place-items:center; width:56px; height:58px; flex-shrink:0; background:linear-gradient(140deg,#334561,#132033); border:1px solid #D7AF6266; border-radius:12px; color:var(--tp-gold-light); font-size:17px; font-weight:750; letter-spacing:-.045em; }
  .game-visual-app .game-provider-mark { color:#B6D5F4; border-color:#7AA7D566; }
  .game-card-kind { position:relative; z-index:1; color:var(--tp-text-muted); font-size:9px; letter-spacing:.14em; }
  .game-card-suit { position:absolute; right:14px; bottom:-12px; color:#D7AF6217; font-size:108px; line-height:1; transform:rotate(-15deg); pointer-events:none; }
  .game-card-body { display:flex; flex-direction:column; padding:23px; flex:1; }
  .game-card-provider { font-size:11px; color:var(--tp-gold-light); margin:0 0 8px; letter-spacing:.04em; }
  .game-card h3 { font-size:23px; line-height:1.25; margin:0 0 12px; letter-spacing:-.025em; }
  .game-card h3 a { color:var(--tp-text); text-decoration:none; }
  .game-card-summary { color:var(--tp-text-muted); font-size:14px; margin:0 0 24px; line-height:1.6; }
  .game-card-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:auto; color:var(--tp-text-muted); font-size:11px; border-top:1px solid var(--tp-border); padding-top:16px; }
  .game-card-meta span:first-child { color:var(--tp-text); }
  .library-empty { text-align:center; border:1px dashed var(--tp-border); padding:40px 24px; border-radius:16px; }
  .library-empty h3 { margin:0 0 12px; }
  .library-empty p { color:var(--tp-text-muted); }
  .library-notes { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:40px; padding-top:30px; border-top:1px solid var(--tp-border); }
  .library-notes h2 { font-size:21px; margin:0 0 14px; }
  .library-notes p { color:var(--tp-text-muted); font-size:14px; line-height:1.8; margin:0; }
  .game-overview { margin-bottom:40px; border:1px solid var(--tp-border); border-radius:18px; background:var(--tp-surface); overflow:hidden; }
  .game-overview-summary { display:flex; gap:20px; padding:28px 32px 0; align-items:center; }
  .game-overview-summary h2 { font-size:26px; margin:6px 0; }
  .game-overview-summary p { margin:0; color:var(--tp-text-muted); font-size:14px; }
  .game-overview-summary .eyebrow { font-size:10px; }
  .game-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding:24px 32px; margin:0; }
  .game-facts dt { color:var(--tp-gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:8px; }
  .game-facts dd { margin:0; font-size:14px; line-height:1.6; }
  .game-facts dd a { color:var(--tp-text); text-underline-offset:4px; }
  .game-destination { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:26px 32px; border-top:1px solid var(--tp-border); background:#0B132144; }
  .game-destination h3 { font-size:21px; margin:0 0 9px; }
  .game-destination p { color:var(--tp-text-muted); font-size:14px; line-height:1.7; margin:0; max-width:620px; }
  .game-destination .casino-action { min-width:220px; }
  .game-casino-review { font-size:13px; text-underline-offset:4px; }
  @media(max-width:1200px) {
    .library-intro { padding:34px; }
    .game-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media(max-width:900px) {
    .library-intro { gap:16px; grid-template-columns:1.3fr .7fr; }
    .library-art img { max-height:240px; }
    .library-controls { grid-template-columns:1fr 1fr; }
    .game-destination { flex-direction:column; align-items:flex-start; gap:24px; }
    .game-destination .casino-action { align-items:flex-start; }
    .games-footer-grid { gap:24px; }
    .games-footer-heading { display:block; }
    .games-footer-heading p { margin-top:12px; }
  }
  @media(max-width:640px) {
    .library-intro { grid-template-columns:1fr; padding:26px 22px; }
    .library-intro h1 { font-size:36px; }
    .library-intro p { font-size:15px; }
    .library-art { display:none; }
    .library-stats { gap:20px; }
    .library-controls { padding:18px; gap:18px; }
    .library-controls label:first-child { grid-column:1/-1; }
    .library-controls label:nth-child(3) { grid-column:1/-1; grid-row:3; }
    .library-controls .button { align-self:end; }
    .library-results-heading h2 { font-size:20px; }
    .library-results-heading p { font-size:12px; }
    .game-grid { grid-template-columns:1fr; gap:18px; }
    .game-card-body { padding:22px; }
    .library-notes { grid-template-columns:1fr; gap:28px; }
    .game-overview-summary { padding:24px 22px 0; gap:16px; }
    .game-facts { padding:24px 22px; grid-template-columns:1fr; gap:20px; }
    .game-destination { padding:24px 22px; }
    .game-destination .casino-action { width:100%; min-width:0; align-items:center; }
    .game-destination .button { width:100%; }
    .game-destination .casino-disclosure { font-size:11px; }
    .games-footer-grid { grid-template-columns:1fr; gap:30px; }
    .games-footer-grid a { padding:12px 0; }
  }
  @media print {
    .library-controls,.library-art,.game-destination .casino-action { display:none; }
    .game-card[hidden] { display:flex; }
    .game-card,.game-overview,.library-intro { color:black; background:white; border-color:#aaa; }
  }
}

@layer royal {
  .casino-directory { padding:12px 0 56px; scroll-margin-top:120px; }
  .casino-directory .section-heading { align-items:flex-end; gap:24px; }
  .casino-count { flex-shrink:0; border:1px solid var(--tp-border); border-radius:99px; padding:8px 16px; color:var(--tp-gold-light); font-size:13px; }
  .casino-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .casino-card { display:flex; flex-direction:column; min-width:0; padding:26px; border:1px solid var(--tp-border); border-radius:18px; background:linear-gradient(135deg,#1B304844,transparent 70%),var(--tp-surface); }
  .casino-card:focus-within,.casino-card:hover { border-color:#BD8D34; }
  .casino-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
  .casino-monogram { display:grid; place-items:center; flex-shrink:0; width:60px; height:60px; border:1px solid #D7AF624D; border-radius:16px; color:var(--tp-gold-light); background:linear-gradient(145deg,#334561,#142236); font-size:23px; font-weight:800; letter-spacing:-.045em; box-shadow:inset 0 1px #FFFFFF14; }
  .casino-card-number { font-size:11px; color:var(--tp-text-muted); letter-spacing:.12em; font-variant-numeric:tabular-nums; }
  .casino-card h3 { font-size:24px; line-height:1.3; margin:0 0 8px; }
  .casino-card h3 a { color:var(--tp-text); text-decoration:none; }
  .casino-card h3 a:hover { color:var(--tp-gold-light); }
  .casino-card-focus { margin:0 0 22px; color:var(--tp-text-muted); font-size:15px; }
  .casino-card-evidence { margin:auto 0 0; padding-top:18px; border-top:1px solid #FFFFFF14; color:var(--tp-text-muted); font-size:12px; }
  .casino-read { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding-top:8px; margin-top:7px; color:var(--tp-gold-light); font-size:14px; font-weight:700; }
  .casino-directory-note { margin:20px 0 0; color:var(--tp-text-muted); font-size:13px; }
  .casino-overview { margin:0 0 44px; padding:30px 34px 20px; border:1px solid var(--tp-border); border-radius:20px; background:radial-gradient(ellipse at 10% 0%,#2563EB12,transparent 70%),var(--tp-surface); }
  .casino-overview-heading { display:flex; gap:22px; align-items:center; }
  .casino-overview-heading>.casino-monogram { width:82px; height:90px; font-size:32px; border-radius:14px; transform:rotate(-4deg); }
  .casino-overview-heading h2 { font-size:26px; line-height:1.3; margin:5px 0; }
  .casino-overview-heading p { font-size:14px; margin:0; color:var(--tp-text-muted); }
  .casino-overview-heading .eyebrow { font-size:10px; }
  .casino-action { display:flex; flex-direction:column; align-items:center; gap:9px; flex-shrink:0; }
  .casino-overview-heading>.casino-action { margin-left:auto; }
  .casino-visit { display:flex; justify-content:center; align-items:center; gap:24px; min-width:182px; }
  .casino-link-note,.casino-disclosure { color:var(--tp-text-muted); font-size:12px; line-height:1.5; text-align:center; }
  .casino-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:26px 0 0; padding-top:24px; border-top:1px solid var(--tp-border); }
  .casino-facts div { min-width:0; }
  .casino-facts dt { color:var(--tp-gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:7px; }
  .casino-facts dd { color:var(--tp-text); font-size:14px; line-height:1.6; margin:0; }
  .casino-method { margin:22px 0 0; color:var(--tp-text-muted); font-size:12px; }
  .casino-end { margin:36px 0; padding:26px; display:flex; gap:24px; align-items:center; border:1px solid var(--tp-border); border-radius:16px; background:var(--tp-surface); }
  .article-content .casino-end h2 { font-size:24px; margin:0 0 10px; }
  .article-content .casino-end p { font-size:14px; margin:0; }
  .casino-end .casino-action>a:not(.button) { font-size:12px; }
  @media(max-width:1000px) {
    .casino-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .casino-overview-heading { flex-wrap:wrap; }
    .casino-overview-heading>.casino-action { margin-left:104px; align-items:flex-start; }
    .casino-end { align-items:flex-start; flex-direction:column; }
  }
  @media(max-width:640px) {
    .casino-directory { padding-bottom:36px; }
    .casino-directory .section-heading { display:block; }
    .casino-count { display:inline-block; margin-top:18px; }
    .casino-grid { grid-template-columns:1fr; gap:16px; }
    .casino-card { padding:22px; }
    .casino-card-top { margin-bottom:18px; }
    .casino-overview { padding:24px 20px; margin-bottom:28px; }
    .casino-overview-heading { gap:18px; }
    .casino-overview-heading>.casino-monogram { width:52px; height:62px; font-size:23px; }
    .casino-overview-heading>div:not(.casino-action) { flex:1; min-width:0; }
    .casino-overview-heading h2 { font-size:22px; }
    .casino-overview-heading .eyebrow { font-size:9px; line-height:1.7; }
    .casino-overview-heading>.casino-action { margin-left:0; width:100%; align-items:center; }
    .casino-visit { width:100%; }
    .casino-facts { grid-template-columns:1fr; gap:18px; }
    .casino-end { padding:22px; }
    .casino-end .casino-action { width:100%; }
  }
  @media print {
    .casino-card,.casino-overview,.casino-end { background:white; color:black; box-shadow:none; border-color:#aaa; }
    .casino-facts dd { color:black; }
    .casino-action { display:none; }
  }
}
