/* The daily boards on /daily/ (daily-board.js). Brass and Ink: brass medals on dark plates, cyan for the player's own row.
   Reuses the old board's list rows (.kgd-b-list, .kgd-b-rank, .kgd-b-name) from keyhole.css. */
.kgb { padding: 0.9rem 0.9rem 1.1rem; }
.kgb-tabs { display: flex; gap: 0.35rem; overflow-x: auto; margin: 0 -0.2rem 0.8rem; padding: 0.2rem 0.2rem 0.5rem; scrollbar-width: thin; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.kgb-tab { flex: none; display: inline-flex; align-items: center; gap: 0.35rem; min-height: 2.75rem; padding: 0.25rem 0.85rem; border-radius: 999px; border: 1px solid #4b5254; background: rgba(0, 0, 0, 0.28); color: #d9d1bf; font: 700 0.78rem/1.1 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; cursor: pointer; scroll-snap-align: start; }
.kgb-tab .ki { width: 1rem; height: 1rem; }
.kgb-tab[aria-selected="true"] { background: linear-gradient(180deg, #f6d878, #e3a72f); border-color: #8a6414; color: #1d1405; }
.kgb-tab:focus-visible, .kgb-sel select:focus-visible, .kgb .btn:focus-visible { outline: 3px solid #2ee6ff; outline-offset: 2px; }
.kgb-rule { margin: 0 0 0.7rem; color: #cfc6ad; font-size: 0.92rem; line-height: 1.4; }
.kgb-rule b { color: #f0c25a; }
.kgb-note { margin: 0.4rem 0; color: #a7a191; line-height: 1.45; }
.kgb-podium { list-style: none; margin: 0 0 0.8rem; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) minmax(0, 1fr); gap: 0.5rem; align-items: end; }
.kgb-podium li { display: grid; justify-items: center; gap: 0.25rem; padding: 0.7rem 0.4rem 0.6rem; border-radius: 0.7rem; background: rgba(0, 0, 0, 0.3); border: 1px solid #343b3d; text-align: center; min-width: 0; }
.kgb-podium li.gold { padding-top: 1rem; padding-bottom: 0.9rem; border-color: rgba(240, 194, 90, 0.55); box-shadow: 0 0 18px rgba(240, 194, 90, 0.14); background: linear-gradient(180deg, rgba(227, 167, 47, 0.16), rgba(0, 0, 0, 0.3)); }
.kgb-podium li.empty { visibility: hidden; }
.kgb-medal { position: relative; display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; border: 2px solid #4b5254; font: 900 1.15rem/1 var(--display-plain); color: #d9d1bf; }
.kgb-medal .ki { position: absolute; top: -0.75rem; left: 50%; width: 1.1rem; height: 1.1rem; margin-left: -0.55rem; color: #f6d878; }
.gold .kgb-medal { width: 2.7rem; height: 2.7rem; color: #1d1405; background: linear-gradient(180deg, #f6d878, #e3a72f); border-color: #8a6414; }
.silver .kgb-medal { color: #1d1d1d; background: linear-gradient(180deg, #f1f1f1, #b9bcc0); border-color: #7d8084; }
.bronze .kgb-medal { color: #2a1206; background: linear-gradient(180deg, #f3c29a, #c8733a); border-color: #7a3d14; }
.kgb-pn { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; font-size: 0.9rem; }
.kgb-pv { font: 700 0.95rem/1.1 var(--mono); font-variant-numeric: tabular-nums; color: #f0c25a; }
.kgb-list li { grid-template-columns: 2.2rem minmax(0, 1fr) auto; }
.kgb-list li.you { border-color: rgba(46, 230, 255, 0.65); box-shadow: inset 0 0 0 1px rgba(46, 230, 255, 0.25); }
.kgb-list li i { font-style: normal; font-size: 0.78rem; color: #2ee6ff; }
.kgb-val { display: grid; justify-items: end; text-align: right; line-height: 1.15; }
.kgb-val b { font: 700 1rem/1.1 var(--mono); font-variant-numeric: tabular-nums; color: #f0c25a; }
.kgb-val small { font-size: 0.74rem; color: #a7a191; }
.kgb-yours { margin-top: 0.4rem; }
.kgb-you { margin: 0.7rem 0 0; color: #2ee6ff; font-weight: 700; }
.kgb-join { margin: 0.8rem 0 0; font-size: 0.88rem; color: #a7a191; line-height: 1.4; }
.kgb-join a, .kgb-note a { color: #2ee6ff; font-weight: 700; padding: 0.3rem 0.15rem; }
.kgb-two { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.kgb-h { margin: 0 0 0.4rem; font: 700 0.72rem/1.3 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; color: #a7a191; }
.kgb-sel { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.8rem; font: 700 0.72rem/1.3 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: #a7a191; }
.kgb-sel select { min-height: 2.75rem; padding: 0 0.6rem; border-radius: 0.5rem; border: 1px solid #4b5254; background: #1b1e1f; color: #efe6d0; font: inherit; letter-spacing: 0; text-transform: none; }
@media (min-width: 560px) { .kgb-two { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: no-preference) { .kgb-podium li { animation: kgb-rise 380ms cubic-bezier(.2, .9, .3, 1.1) both; } .kgb-podium li.gold { animation-delay: 80ms; } .kgb-podium li.bronze { animation-delay: 160ms; } }
@keyframes kgb-rise { from { opacity: 0; transform: translateY(10px); } }
