/* Independent page theme. Font Awesome remains connected for existing icons. */ :root {
  --ink:#223b34;
  --muted:#62756c;
  --paper:#f5f3ec;
  --surface:#fffefa;
  --line:#dce4da;
  --accent:#17634d;
  --gold:#c49a4b;
}
*,*::before,*::after {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  overflow-wrap:anywhere;
}
body > :not(header):not(footer):not(script) {
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
body > p, body > h2, body > ul {
  width:calc(100% - 48px);
}
body > p {
  margin-top:22px;
  margin-bottom:22px;
}
body > table {
  width:calc(100% - 48px);
  margin-top:26px;
  margin-bottom:36px;
}
body > section, body > div:not(.section-divider) {
  width:calc(100% - 48px);
}
h1,h2,h3,h4 {
  color:var(--ink);
  line-height:1.25;
  text-wrap:balance;
}
h1,h2 {
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}
h1 {
  font-size:clamp(2.2rem,5vw,4rem);
  margin:0 0 24px;
}
h2 {
  font-size:clamp(1.7rem,3vw,2.5rem);
  margin:44px 0 22px;
}
h3 {
  font-size:1.3rem;
  margin:0 0 16px;
}
h4 {
  margin:0 0 8px;
}
p {
  margin:0 0 18px;
}
p:last-child {
  margin-bottom:0;
}
ul,ol {
  margin:16px 0;
  padding-left:1.4em;
}
li {
  padding-left:4px;
  margin:8px 0;
}
li::marker {
  color:var(--accent);
}
a {
  color:var(--accent);
  text-underline-offset:4px;
  transition:color .2s;
}
a:hover {
  color:#a57629;
}
img {
  display:block;
  max-width:100%;
  height:auto;
  border-radius:16px;
}
section {
  scroll-margin-top:24px;
}
section h2:first-child {
  margin-top:0;
}
.container {
  width:min(1120px,100%);
}
.gradient-bg {
  background:radial-gradient(ellipse at top right,#2d7059,transparent 60%),#123e32;
  color:#fffefa;
}
header {
  padding:56px 24px 48px !important;
  border-bottom:6px solid var(--gold);
}
header h1 {
  color:#fffefa;
  max-width:960px;
  margin:24px auto !important;
}
header h1 i {
  color:#e9c886;
  font-size:.72em;
}
header .flex {
  flex-wrap:wrap;
  gap:12px;
}
header .flex > span {
  margin:0;
  border:1px solid #ffffff38;
  background:#ffffff12;
  color:#fffefa;
}
header .flex > p {
  flex-basis:100%;
  max-width:850px;
  margin:20px auto 0;
  text-align:center;
  color:#dae7dd;
}
.date {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:.8rem;
  color:#d5e3d7;
}
.date img {
  width:24px;
  height:24px;
  object-fit:contain;
}
.updated {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.updated p {
  margin:0;
}
.updated time {
  color:#f0d8a5;
  font-weight:600;
}
footer {
  margin-top:64px;
  padding:38px 24px !important;
}
footer p,footer a {
  color:#e6eee8;
}
footer a {
  display:inline-block;
  padding:6px 0;
}
.bg-white {
  background:var(--surface);
}
.rounded {
  border-radius:8px;
}
.rounded-lg {
  border-radius:20px;
}
.rounded-full {
  border-radius:999px;
}
.shadow-lg {
  border:1px solid var(--line);
  box-shadow:0 10px 30px #203d2c08;
}
.border {
  border:1px solid var(--line);
}
.casino-card {
  border:1px solid var(--line);
  transition:transform .2s,box-shadow .2s;
  break-inside:avoid;
}
.casino-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 32px #203d2c12;
}
.highlight-box {
  background:#f5eedc;
  border:1px solid #e7d8b5;
  border-left:4px solid var(--gold);
}
.section-divider {
  height:1px;
  background:var(--line);
  width:calc(100% - 48px);
  margin:36px auto;
}
.bonus-badge {
  display:inline-block;
  background:var(--accent);
  color:white;
  padding:5px 13px;
  border-radius:8px;
  font-size:.78rem;
  font-weight:700;
}
.rating-stars {
  color:#ad7c25;
}
.toc-link {
  display:block;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.toc-link:hover {
  color:#a57629;
}
table {
  display:block;
  overflow-x:auto;
  width:100%;
  border-spacing:0;
  border-collapse:separate;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  margin:24px 0;
  -webkit-overflow-scrolling:touch;
}
thead,tbody {
  width:100%;
}
th,td {
  padding:16px 20px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--line);
  min-width:140px;
}
th {
  background:#e7eee5;
  color:#214e3c;
  font-size:.8rem;
  letter-spacing:.04em;
  font-weight:700;
}
td {
  font-size:.93rem;
}
td:first-child {
  font-weight:650;
  color:#23573f;
}
tbody tr:nth-child(even) {
  background:#f5f7f0;
}
tbody tr:hover {
  background:#edf3e8;
}
tbody tr:last-child td {
  border-bottom:0;
}
.form-checkbox {
  width:19px;
  height:19px;
  flex-shrink:0;
  accent-color:var(--accent);
  cursor:pointer;
}
label {
  cursor:pointer;
}
:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:4px;
}
.flex {
  display:flex;
}
.grid {
  display:grid;
}
.items-center {
  align-items:center;
}
.justify-center {
  justify-content:center;
}
.justify-between {
  justify-content:space-between;
}
.font-bold {
  font-weight:700;
}
.text-center {
  text-align:center;
}
.leading-relaxed {
  line-height:1.8;
}
.mx-auto {
  margin-left:auto;
  margin-right:auto;
}
.bg-opacity-20 {
  background-color:#ffffff20;
}
.mb-1 {
  margin-bottom:.25rem;
}
.mt-1 {
  margin-top:.25rem;
}
.mr-1 {
  margin-right:.25rem;
}
.p-1 {
  padding:.25rem;
}
.gap-1 {
  gap:.25rem;
}
.px-1 {
  padding-left:.25rem;
  padding-right:.25rem;
}
.py-1 {
  padding-top:.25rem;
  padding-bottom:.25rem;
}
.mb-2 {
  margin-bottom:.5rem;
}
.mt-2 {
  margin-top:.5rem;
}
.mr-2 {
  margin-right:.5rem;
}
.p-2 {
  padding:.5rem;
}
.gap-2 {
  gap:.5rem;
}
.px-2 {
  padding-left:.5rem;
  padding-right:.5rem;
}
.py-2 {
  padding-top:.5rem;
  padding-bottom:.5rem;
}
.mb-3 {
  margin-bottom:.75rem;
}
.mt-3 {
  margin-top:.75rem;
}
.mr-3 {
  margin-right:.75rem;
}
.p-3 {
  padding:.75rem;
}
.gap-3 {
  gap:.75rem;
}
.px-3 {
  padding-left:.75rem;
  padding-right:.75rem;
}
.py-3 {
  padding-top:.75rem;
  padding-bottom:.75rem;
}
.mb-4 {
  margin-bottom:1rem;
}
.mt-4 {
  margin-top:1rem;
}
.mr-4 {
  margin-right:1rem;
}
.p-4 {
  padding:1rem;
}
.gap-4 {
  gap:1rem;
}
.px-4 {
  padding-left:1rem;
  padding-right:1rem;
}
.py-4 {
  padding-top:1rem;
  padding-bottom:1rem;
}
.mb-6 {
  margin-bottom:1.5rem;
}
.mt-6 {
  margin-top:1.5rem;
}
.mr-6 {
  margin-right:1.5rem;
}
.p-6 {
  padding:1.5rem;
}
.gap-6 {
  gap:1.5rem;
}
.px-6 {
  padding-left:1.5rem;
  padding-right:1.5rem;
}
.py-6 {
  padding-top:1.5rem;
  padding-bottom:1.5rem;
}
.mb-8 {
  margin-bottom:2rem;
}
.mt-8 {
  margin-top:2rem;
}
.mr-8 {
  margin-right:2rem;
}
.p-8 {
  padding:2rem;
}
.gap-8 {
  gap:2rem;
}
.px-8 {
  padding-left:2rem;
  padding-right:2rem;
}
.py-8 {
  padding-top:2rem;
  padding-bottom:2rem;
}
.mb-12 {
  margin-bottom:3rem;
}
.mt-12 {
  margin-top:3rem;
}
.mr-12 {
  margin-right:3rem;
}
.p-12 {
  padding:3rem;
}
.gap-12 {
  gap:3rem;
}
.px-12 {
  padding-left:3rem;
  padding-right:3rem;
}
.py-12 {
  padding-top:3rem;
  padding-bottom:3rem;
}
.space-y-1 > * + * {
  margin-top:0.25rem;
}
.space-x-1 > * + * {
  margin-left:0.25rem;
}
.space-y-2 > * + * {
  margin-top:0.5rem;
}
.space-x-2 > * + * {
  margin-left:0.5rem;
}
.space-y-3 > * + * {
  margin-top:0.75rem;
}
.space-x-3 > * + * {
  margin-left:0.75rem;
}
.space-y-4 > * + * {
  margin-top:1.0rem;
}
.space-x-4 > * + * {
  margin-left:1.0rem;
}
.space-y-6 > * + * {
  margin-top:1.5rem;
}
.space-x-6 > * + * {
  margin-left:1.5rem;
}
.text-xs {
  font-size:.78rem;
}
.text-sm {
  font-size:.88rem;
}
.text-lg {
  font-size:1.08rem;
}
.text-xl {
  font-size:1.3rem;
}
.text-2xl {
  font-size:1.65rem;
}
.text-3xl {
  font-size:2.1rem;
}
.text-4xl {
  font-size:clamp(2.2rem,5vw,4rem);
}
.text-gray-500 {
  color:#76867c;
}
.text-gray-600 {
  color:#62756c;
}
.text-gray-700 {
  color:#435c50;
}
.text-gray-800 {
  color:#223b34;
}
.bg-green-50 {
  background:#edf4e9;
}
.border-green-200 {
  border-color:#cddfc5;
}
.text-green-500,.text-green-600 {
  color:#377044;
}
.text-green-800 {
  color:#245735;
}
.bg-green-500 {
  background:#377044;
}
.from-green-50 {
  --gradient-start:#edf4e9;
}
.from-green-100 {
  --gradient-start:#edf4e9;
}
.to-green-100 {
  --gradient-end:#cddfc5;
}
.to-green-200 {
  --gradient-end:#cddfc5;
}
.bg-blue-50 {
  background:#edf3f3;
}
.border-blue-200 {
  border-color:#cfdfdf;
}
.text-blue-500,.text-blue-600 {
  color:#366c75;
}
.text-blue-800 {
  color:#28515a;
}
.bg-blue-500 {
  background:#366c75;
}
.from-blue-50 {
  --gradient-start:#edf3f3;
}
.from-blue-100 {
  --gradient-start:#edf3f3;
}
.to-blue-100 {
  --gradient-end:#cfdfdf;
}
.to-blue-200 {
  --gradient-end:#cfdfdf;
}
.bg-purple-50 {
  background:#f2eef3;
}
.border-purple-200 {
  border-color:#dfd3e2;
}
.text-purple-500,.text-purple-600 {
  color:#785c82;
}
.text-purple-800 {
  color:#5e4568;
}
.bg-purple-500 {
  background:#785c82;
}
.from-purple-50 {
  --gradient-start:#f2eef3;
}
.from-purple-100 {
  --gradient-start:#f2eef3;
}
.to-purple-100 {
  --gradient-end:#dfd3e2;
}
.to-purple-200 {
  --gradient-end:#dfd3e2;
}
.bg-red-50 {
  background:#fbefeb;
}
.border-red-200 {
  border-color:#e8d1c8;
}
.text-red-500,.text-red-600 {
  color:#a25343;
}
.text-red-800 {
  color:#853f32;
}
.bg-red-500 {
  background:#a25343;
}
.from-red-50 {
  --gradient-start:#fbefeb;
}
.from-red-100 {
  --gradient-start:#fbefeb;
}
.to-red-100 {
  --gradient-end:#e8d1c8;
}
.to-red-200 {
  --gradient-end:#e8d1c8;
}
.bg-yellow-50 {
  background:#faf3df;
}
.border-yellow-200 {
  border-color:#eadcb1;
}
.text-yellow-500,.text-yellow-600 {
  color:#977220;
}
.text-yellow-800 {
  color:#75551a;
}
.bg-yellow-500 {
  background:#977220;
}
.from-yellow-50 {
  --gradient-start:#faf3df;
}
.from-yellow-100 {
  --gradient-start:#faf3df;
}
.to-yellow-100 {
  --gradient-end:#eadcb1;
}
.to-yellow-200 {
  --gradient-end:#eadcb1;
}
.bg-orange-50 {
  background:#fbf0e3;
}
.border-orange-200 {
  border-color:#ead6bb;
}
.text-orange-500,.text-orange-600 {
  color:#a16b2d;
}
.text-orange-800 {
  color:#80501e;
}
.bg-orange-500 {
  background:#a16b2d;
}
.from-orange-50 {
  --gradient-start:#fbf0e3;
}
.from-orange-100 {
  --gradient-start:#fbf0e3;
}
.to-orange-100 {
  --gradient-end:#ead6bb;
}
.to-orange-200 {
  --gradient-end:#ead6bb;
}
.bg-teal-50 {
  background:#eaf3ed;
}
.border-teal-200 {
  border-color:#cbded1;
}
.text-teal-500,.text-teal-600 {
  color:#33715a;
}
.text-teal-800 {
  color:#255540;
}
.bg-teal-500 {
  background:#33715a;
}
.from-teal-50 {
  --gradient-start:#eaf3ed;
}
.from-teal-100 {
  --gradient-start:#eaf3ed;
}
.to-teal-100 {
  --gradient-end:#cbded1;
}
.to-teal-200 {
  --gradient-end:#cbded1;
}
.bg-gradient-to-br {
  background:linear-gradient(145deg,var(--gradient-start,var(--surface)),var(--gradient-end,var(--line)));
}
.border-gray-200 {
  border-color:var(--line);
}
.text-white {
  color:#fffefa;
}
.hover\:text-yellow-300:hover {
  color:#efd299;
}
@media(min-width:768px) {
  .md\:grid-cols-2 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .md\:grid-cols-5 {
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media(min-width:1024px) {
  .lg\:grid-cols-3 {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:767px) {
  body {
    font-size:15px;
  }
  body > p,body > h2,body > ul,body > table,body > section,body > div:not(.section-divider) {
    width:calc(100% - 28px);
  }
  header {
    padding:32px 14px !important;
  }
  .p-8 {
    padding:22px;
  }
  .p-6 {
    padding:18px;
  }
  .grid {
    gap:18px;
  }
  .text-3xl {
    font-size:1.8rem;
  }
  .text-2xl {
    font-size:1.5rem;
  }
  .mb-12 {
    margin-bottom:28px;
  }
  th,td {
    padding:12px 14px;
  }
  header .flex > span {
    font-size:.76rem;
    padding:7px 10px;
  }
  label.flex {
    align-items:flex-start;
  }
  .form-checkbox {
    margin-top:4px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none !important;
  }
  .casino-card:hover {
    transform:none;
  }
}
@media print {
  body {
    background:white;
    color:black;
    font-size:11pt;
  }
  .no-print {
    display:none;
  }
  .shadow-lg {
    box-shadow:none;
  }
  header,footer {
    background:white !important;
    color:black;
  }
  header h1,header p,footer p,footer a {
    color:black !important;
  }
  table {
    overflow:visible;
  }
  .casino-card {
    break-inside:avoid;
  }
}
