/* Öffentliche Seiten (Level, Sprüche, Pausenkönig) – nutzt die Farben aus style.css */
.pg { background: var(--bg, #f6efe2); }
.pg-head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 12px 20px; background: var(--ink, #1c2b78); }
.pg-logo { font-weight: 800; font-size: 1.5rem; color: #fff; text-decoration: none; flex: 1; }
.pg-nav { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.pg-nav a { color: #fff; font-weight: 700; text-decoration: none; }
.pg-nav .pg-cta { background: #ffd23f; color: var(--ink, #1c2b78); padding: 6px 14px; border-radius: 999px; }
.pg-main { max-width: 1000px; margin: 0 auto; padding: 20px 16px 40px; }
.pg-main h1 { margin: 6px 0 10px; }
.pg-lead { font-size: 1.1rem; max-width: 70ch; }
.pg-card { background: var(--card, #fff); border: 3px solid var(--ink, #1c2b78); border-radius: 14px; padding: 14px 18px; margin: 16px 0; }
.pg-card h2 { margin: 0 0 10px; font-size: 1.2rem; }
.pg-card h2 a { color: inherit; }
.pg-jokes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pg-jokes li { border-bottom: 1px dashed #e3ddcf; padding-bottom: 6px; }
.pg-board { font-family: Mynerve, "Comic Sans MS", cursive; font-size: 1.15rem; }
.pg-jokes details summary { cursor: pointer; color: var(--muted, #666); font-size: 0.9rem; }
.pg-jokes details p { margin: 4px 0 0; font-weight: 700; color: #d7263d; }
.pg-switch a { font-weight: 700; } .pg-switch a[aria-current] { text-decoration: none; color: #d7263d; }
.pg-world { margin: 24px 0 8px; grid-column: 1 / -1; }
.pg-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.pg-level { display: grid; gap: 6px; text-decoration: none; color: inherit; font-weight: 700; }
.pg-level img { width: 100%; aspect-ratio: 1832 / 859; object-fit: cover; border-radius: 10px; border: 2px solid var(--ink, #1c2b78); }
.pg-hero { width: 100%; height: auto; border-radius: 14px; border: 3px solid var(--ink, #1c2b78); }
.pg-crumb { color: var(--muted, #666); }
.pg-pager { display: flex; justify-content: space-between; margin: 16px 0; font-weight: 700; }
.pg-center { text-align: center; margin: 24px 0; }
.pg-table { width: 100%; border-collapse: collapse; }
.pg-table th, .pg-table td { text-align: left; padding: 8px; border-bottom: 1px solid #e3ddcf; }
.pg-weeks { columns: 3 160px; } .pg-list li { margin: 6px 0; }
.pg-foot { text-align: center; padding: 20px; }

/* Geteilter Kampf (/k/<code>) */
.share-title { text-align: center; }
.share-arena { max-width: 900px; margin: 0 auto 8px; }
.btn.big { font-size: 1.15rem; padding: 12px 22px; }

/* Spielerprofil */
.pg-profile { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.pg-avatar { width: 140px; height: auto; }
.pg-facts { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0; }
.pg-facts dt { font-weight: 600; }
.pg-facts dd { margin: 0; }
@media (max-width: 520px) { .pg-facts { grid-template-columns: 1fr; } .pg-facts dd { margin-bottom: 6px; } }

/* Boni (nur Optik) */
.nc { font-weight: 800; }
.nc-gold { color: #c99a00; } .nc-red { color: #d63a3a; } .nc-blue { color: #2f6fe0; }
.nc-green { color: #1f9d55; } .nc-purple { color: #8a3fd1; }
.nc-rainbow { background: linear-gradient(90deg, #e53935, #fb8c00, #fdd835, #43a047, #1e88e5, #8e24aa);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
img.framed { outline: 4px solid #e7b416; outline-offset: 2px; border-radius: 12px; box-shadow: 0 0 14px rgba(231,180,22,.6); }

/* Zwei Spalten (Wie damals / Neu) */
.pg-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pg-cols h3 { margin: 4px 0; }
@media (max-width: 640px) { .pg-cols { grid-template-columns: 1fr; } }
.pg-faq { margin: 6px 0; } .pg-faq summary { cursor: pointer; font-weight: 600; } .pg-faq p { margin: 6px 0 10px 18px; }

/* Startseite /start (v2.36) */
.pt-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
  background: var(--board, #1F3D32); color: var(--chalk, #F2F1EA); border: 3px solid var(--ink, #1c2b78);
  border-radius: 14px; padding: 18px 22px; margin: 18px 0; }
.pt-hero h2 { margin: 0 0 6px; font-size: 1.8rem; color: var(--marker, #FFE14D); }
.pt-hero p { margin: 0; max-width: 52ch; }
.pt-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pt-card { background: var(--card, #fff); border: 3px solid var(--ink, #1c2b78); border-radius: 14px; padding: 14px 18px;
  display: flex; flex-direction: column; }
.pt-card h2 { margin: 0 0 10px; font-size: 1.3rem; }
.pt-card p { margin: 0 0 8px; }
.pt-card .pt-more { margin-top: auto; padding-top: 6px; font-weight: 700; }
.pt-joke { font-family: var(--hand, cursive); font-size: 1.3rem; line-height: 1.25; }
.pt-card details summary { cursor: pointer; color: var(--muted, #666); font-size: 0.9rem; }
.pt-punch { font-weight: 700; color: var(--red, #d7263d); margin-top: 4px; }
.pt-king { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 4px; }
.pt-badge { display: inline-block; align-self: flex-start; background: var(--marker-soft, #FFF4B8); border: 2px dashed var(--ink, #1c2b78);
  border-radius: 999px; padding: 2px 10px; font-size: 0.9rem; font-weight: 700; }
.pt-count { font-family: var(--hand, cursive); font-size: 1.6rem; color: var(--red, #d7263d); }
.pt-soon { text-align: center; margin: 22px 0 0; }
.pt-hero .btn { width: auto; flex: 0 0 auto; }
@media (max-width: 520px) { .pt-hero .btn { width: 100%; text-align: center; } }

/* Startseite Stufe 2 (v2.37): Suche, Nachrichten, Wetter */
.pt-search { display: flex; gap: 8px; margin: 14px 0 6px; }
.pt-search input { flex: 1; min-width: 0; font: inherit; font-size: 1.1rem; padding: 10px 14px;
  border: 3px solid var(--ink, #1c2b78); border-radius: 999px; background: var(--card, #fff); color: var(--ink, #1c2b78); }
.pt-search input:focus { outline: 3px solid var(--marker, #FFE14D); outline-offset: 1px; }
.pt-search .btn { border-radius: 999px; padding: 10px 20px; }
@media (min-width: 820px) { .pt-wide { grid-column: span 2; } }
.pt-news { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 8px; }
.pt-news li { border-bottom: 1px dashed #e3ddcf; padding-bottom: 6px; line-height: 1.35; }
.pt-news a { font-weight: 700; text-decoration-thickness: 1px; }
.pt-src { margin-top: auto !important; padding-top: 6px; font-size: 0.82rem; color: var(--muted, #666); }
.pt-src a { color: inherit; }
.pt-cities { font-size: 0.9rem; margin: -4px 0 8px !important; }
.pt-wnow { display: flex; align-items: center; gap: 12px; }
.pt-wicon { font-size: 2.6rem; line-height: 1; }
.pt-wtemp { font-family: var(--hand, cursive); font-size: 2.6rem; line-height: 1; }
.pt-wdays { list-style: none; margin: 6px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
.pt-wdays li { display: grid; gap: 2px; background: var(--paper, #F7FAFE); border-radius: 8px; padding: 6px 2px; font-size: 0.9rem; }
.pt-wdays li span:first-of-type { font-size: 1.4rem; }
.pt-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pt-results a { font-weight: 700; font-size: 1.05rem; }
.pt-url { color: var(--green, #1F7A4D); word-break: break-all; }
.pg-main > .pt-card { margin: 14px 0; }
