/* Impressum and Datenschutz: printed house-rules card on the casino's dark ground. */
@font-face { font-family: "Barlow Condensed"; font-weight: 900; font-display: swap; src: url("../assets/fonts/BarlowCondensed-Black.ttf") format("truetype"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 600; font-display: swap; src: url("../assets/fonts/BarlowCondensed-SemiBold.ttf") format("truetype"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 500; font-display: swap; src: url("../assets/fonts/BarlowCondensed-Medium.ttf") format("truetype"); }
:root { --black: #151414; --charcoal: #24211F; --cream: #F2E6C9; --red: #C83D3D; --gold: #D6A84B; --burgundy: #681F2C; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 50% 0, #2d211b, var(--black) 60%) fixed, var(--black); color: var(--black);
  font-family: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif; font-weight: 500; font-size: 19px; line-height: 1.55;
  padding: 0 max(16px, env(safe-area-inset-right, 0px)) 60px max(16px, env(safe-area-inset-left, 0px)); }
.top { max-width: 860px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 22px 0; }
.top a { color: var(--cream); text-decoration: none; font-weight: 900; text-transform: uppercase; font-size: 22px; }
.top a small { color: var(--gold); font-size: .6em; }
.top a.back { font-size: 15px; letter-spacing: .2em; font-weight: 600; color: rgba(242,230,201,.75); }
.top a.back:hover { color: var(--gold); }
.card { max-width: 860px; margin: 0 auto; background: var(--cream); border-radius: 6px; padding: clamp(26px, 5vw, 60px);
  box-shadow: inset 0 0 0 8px var(--cream), inset 0 0 0 10px var(--burgundy), 0 40px 80px -30px #000; }
h1 { font-weight: 900; text-transform: uppercase; font-size: clamp(44px, 8vw, 76px); line-height: .9; margin: 0 0 8px; color: var(--burgundy); }
.sub { margin: 0 0 34px; letter-spacing: .2em; text-transform: uppercase; font-size: 14px; font-weight: 600; color: #7a6a52; }
h2 { font-weight: 900; text-transform: uppercase; font-size: 28px; margin: 34px 0 8px; line-height: 1; }
p, li { max-width: 68ch; }
a { color: var(--red); }
dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 22px; margin: 0; }
dt { font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 15px; padding-top: 3px; color: #7a6a52; }
dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 520px) { dl { grid-template-columns: 1fr; } dd { margin-bottom: 10px; } }
.todo { background: #ffe08a; padding: 0 4px; border-radius: 3px; }
footer { max-width: 860px; margin: 26px auto 0; color: rgba(242,230,201,.5); font-size: 15px; display: flex; gap: 22px; flex-wrap: wrap; }
footer a { color: rgba(242,230,201,.75); }
