/* Wertigkeit eines Turniers (2026-10-17): PDGA-Tier von dezent (C) bis golden (Major), Meisterschaften als Medaille, Tour-Etappen
   als Wegweiser. Abzeichen: templates/_tier_badges.html. Zeilen im Kalender bekommen ab A-Tier einen Akzent, Major einen goldenen Hauch. */
:root {
  --tb-bronze: #c19566; --tb-gold-ink: #7d5a24; --tb-silver-ink: #56616d; --tb-club-ink: #94653a; --tb-navy: #1a2636;
  --tb-gold-soft: rgba(212, 175, 55, .14); --tb-silver-soft: rgba(140, 150, 160, .16); --tb-club-soft: rgba(193, 149, 102, .12);
}
:root[data-theme="dark"] { --tb-gold-ink: #e6c67e; --tb-silver-ink: #c3ccd5; --tb-club-ink: #dcb48a; --tb-navy: #0e1620; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --tb-gold-ink: #e6c67e; --tb-silver-ink: #c3ccd5; --tb-club-ink: #dcb48a; --tb-navy: #0e1620; } }

.tb { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; min-width: 0; }
.tb-tier, .tb-champ, .tb-tour { position: relative; display: inline-flex; align-items: center; gap: 5px; max-width: 100%;
  font-family: 'JetBrains Mono', monospace; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  line-height: 1; padding: 4px 8px; border-radius: 3px; white-space: nowrap; }
.tb b { font-weight: 700; overflow: hidden; text-overflow: ellipsis; }
.tb-pre { font-size: 8.5px; opacity: .62; letter-spacing: .12em; }
.tb-disc { width: 13px; height: 13px; flex: none; }
.tb-crown { width: 15px; height: 12px; flex: none; filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .35)); }

/* C - die meisten Turniere: ruhig, aber wertig - feiner Verlauf, Scheibe in Plattformfarbe */
.tb-c { border: 1px solid var(--fd-line); color: var(--fd-ink-soft); background: linear-gradient(180deg, var(--fd-paper), var(--fd-paper-inset));
  box-shadow: inset 0 -1px 0 rgba(26, 38, 54, .07), 0 1px 2px rgba(26, 38, 54, .06); }
.tb-c b { color: var(--fd-ink); }
.tb-c .tb-disc { color: var(--fd-signal); }
/* B - gefüllt in der Plattformfarbe, Scheibe in Bronze */
.tb-b { border: 1px solid #3b675d; color: #fff; background: linear-gradient(135deg, #5a8b80 0%, #4d7d72 45%, #3b675d 100%);
  box-shadow: 0 1px 5px rgba(77, 125, 114, .35), inset 0 1px 0 rgba(255, 255, 255, .2); }
.tb-b .tb-pre { opacity: .75; }
.tb-b .tb-disc { color: #ecd1a6; }
/* die Scheibe dreht sich, wenn man über die Zeile fährt */
@media (hover: hover) and (pointer: fine) {
  .fd-board-row:hover .tb-disc, .cm-card:hover .tb-disc { animation: tb-spin 1.1s cubic-bezier(.3, .1, .3, 1) infinite; }
}
@keyframes tb-spin { to { transform: rotate(360deg); } }
.fd-chip-disc { width: 15px; height: 15px; vertical-align: -2px; }
/* A - Marineblau mit Bronze */
.tb-a { border: 1px solid var(--tb-bronze); color: #ecd1a6; background: var(--tb-navy); }
.tb-a .bi { color: var(--tb-bronze); }
/* Elite Series - Verlauf mit langsamem Glanz */
.tb-es { border: 1px solid rgba(193, 149, 102, .75); color: #fff; overflow: hidden;
  background: linear-gradient(120deg, #1a2636 0%, #2d5a52 55%, #1a2636 100%); box-shadow: 0 0 0 2px rgba(77, 125, 114, .16); }
.tb-es .bi { color: #e8cf9f; }
/* Major - Gold mit Schimmer und Krone */
.tb-m { border: 1px solid #8f6b3a; color: #1a2636; overflow: hidden;
  background: linear-gradient(115deg, #8a6634 0%, #c19566 22%, #f5e2b8 46%, #cfa56d 62%, #8f6b3a 100%);
  box-shadow: 0 2px 10px rgba(193, 149, 102, .45), inset 0 1px 0 rgba(255, 255, 255, .45); }
.tb-m .tb-pre { opacity: .7; }
.tb-es::after, .tb-m::after { content: ''; position: absolute; top: -2px; bottom: -2px; left: -70%; width: 45%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .6), transparent); transform: skewX(-18deg);
  animation: tb-sheen 4.2s ease-in-out infinite; }
.tb-es::after { opacity: .35; animation-duration: 6s; }
@keyframes tb-sheen { 0%, 55% { left: -70%; } 100% { left: 130%; } }

/* Meisterschaften: Medaille Gold (Staats-), Silber (Landes-), Bronze (Vereins-) */
.tb-champ-national { color: var(--tb-gold-ink); background: var(--tb-gold-soft); border: 1px solid rgba(190, 150, 50, .6); }
.tb-champ-state { color: var(--tb-silver-ink); background: var(--tb-silver-soft); border: 1px solid rgba(130, 140, 150, .55); }
.tb-champ-club { color: var(--tb-club-ink); background: var(--tb-club-soft); border: 1px dashed rgba(193, 149, 102, .6); }
.tb-ribbon { display: inline-block; width: 5px; height: 13px; border-radius: 1px; flex: none;
  background: linear-gradient(#c8102e 0 33%, #fff 33% 67%, #c8102e 67%); box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }

/* Tour-Etappe: Wegweiser + Etappe n/m */
.tb-tour { color: var(--fd-ink); background: var(--fd-paper-inset); border: 1px solid var(--fd-line); }
.tb-tour .bi { color: var(--fd-signal); }
.tb-tour b { max-width: 170px; }
.tb-stop { font-size: 9.5px; padding: 2px 5px; border-radius: 99px; background: var(--fd-signal); color: #fff; letter-spacing: .04em; }

/* Kalenderzeilen: ab A-Tier ein Akzentstreifen, Elite Series und Major zusätzlich ein Hauch Farbe */
.fd-board-row.tier-row { position: relative; }
.fd-board-row.tier-row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--tb-bronze); }
.fd-board-row.tier-row-b::before { width: 2px; background: rgba(77, 125, 114, .6); }
.fd-board-row.tier-row-es::before { width: 4px; background: linear-gradient(#4d7d72, #c19566); }
.fd-board-row.tier-row-es { background-image: linear-gradient(90deg, rgba(77, 125, 114, .08), transparent 55%); }
.fd-board-row.tier-row-m::before { width: 5px; background: linear-gradient(#f5e2b8, #c19566 45%, #8f6b3a); }
.fd-board-row.tier-row-m { background-image: linear-gradient(90deg, rgba(193, 149, 102, .18), rgba(193, 149, 102, .05) 45%, transparent 75%); }

/* Platz im Raster: am Computer unter dem Namen, am Handy rechts unter dem Status */
.fd-board-row.has-badges { grid-template-areas: "name venue date status" "badges venue date status"; row-gap: 7px; }
.fd-board-row.has-badges .fd-name { grid-area: name; align-self: end; }
.fd-board-row.has-badges .fd-venue { grid-area: venue; }
.fd-board-row.has-badges .fd-date { grid-area: date; }
.fd-board-row.has-badges .fd-status { grid-area: status; }
.fd-board-row.has-badges .tb { grid-area: badges; align-self: start; }
@media (max-width: 860px) {
  /* eigene Zeile unten rechts - sonst drückt die Spalte den Turniernamen zusammen */
  .fd-board-row.has-badges { grid-template-areas: "name status" "date date" "venue venue" "badges badges"; row-gap: 3px; }
  .fd-board-row.has-badges .fd-status { align-self: start; }
  .fd-board-row.has-badges .tb { justify-content: flex-end; margin-top: 8px; }
  .fd-board-row.has-badges .tb-tour b { max-width: 150px; }
}

/* Turnierseite: größer, auf dem Titelbild gut lesbar */
.tb-lg { gap: 7px; margin-top: 10px; }
.tb-lg .tb-tier, .tb-lg .tb-champ, .tb-lg .tb-tour { font-size: 12px; padding: 6px 11px; }
.tb-lg .tb-pre { font-size: 9.5px; }
.has-cover .tb-lg .tb-c, .has-cover .tb-lg .tb-tour, .has-cover .tb-lg .tb-champ { background: rgba(255, 255, 255, .9); color: #1a2636; border-color: rgba(255, 255, 255, .9); }
.tb-lg .tb-m { font-size: 13px; padding: 7px 13px; }

/* Karte: Pins ab A-Tier mit Ring */
.cm-pin.is-tier-a .cm-pin-body { border-color: #c19566; }
.cm-pin.is-tier-es .cm-pin-body { border-color: #e8cf9f; box-shadow: 0 0 0 3px rgba(77, 125, 114, .55), 0 6px 14px rgba(15, 24, 34, .4); }
.cm-pin.is-tier-m .cm-pin-body { border-color: #f5e2b8; box-shadow: 0 0 0 3px rgba(193, 149, 102, .75), 0 0 16px rgba(245, 226, 184, .55), 0 6px 14px rgba(15, 24, 34, .4); }
.cm-card .tb { margin-top: 2px; }

@media (prefers-reduced-motion: reduce) { .tb-es::after, .tb-m::after { animation: none; display: none; } .tb-disc { animation: none !important; } }
@media print { .tb-es::after, .tb-m::after { display: none; } }
