/* Shared sidebar (templates/tags/sidebar.html). Kept in a stylesheet, not inline, because the
   partial can sit inside a Vue mount root where <style> tags are stripped. */
.dsb { --dsb-ink: #112e41; --dsb-muted: #5f6b76; --dsb-line: #e6eaee; --dsb-accent: #1f5fbf; --dsb-bg: #f3f6f8; }
.dsb-card { background: #fff; border: 1px solid var(--dsb-line); border-radius: 12px; padding: 1rem 1.1rem; margin-bottom: 1rem; }
.dsb-title { font-size: 1.05rem; font-weight: 700; color: var(--dsb-ink); margin: 0 0 .85rem; padding-left: .7rem; border-left: 4px solid var(--dsb-accent); line-height: 1.2; }
.dsb-more { display: inline-block; margin-top: .75rem; font-size: .9rem; font-weight: 600; color: var(--dsb-accent); }
.dsb-more:hover { text-decoration: underline; color: var(--dsb-accent); }

.dsb-search { display: flex; margin: 0; border: 1px solid var(--dsb-line); border-radius: 999px; background: var(--dsb-bg); overflow: hidden; }
.dsb-search:focus-within { border-color: var(--dsb-accent); box-shadow: 0 0 0 3px rgba(31, 95, 191, .15); }
.dsb-search-input { flex: 1; min-width: 0; border: 0; background: transparent; padding: .55rem 1rem; font-size: .95rem; outline: none; color: var(--dsb-ink); }
.dsb-search-btn { border: 0; background: transparent; color: var(--dsb-accent); padding: 0 1rem; cursor: pointer; font-size: 1rem; }

.dsb-posts, .dsb-list, .dsb-matches { list-style: none; margin: 0; padding: 0; }
.dsb-posts li + li { margin-top: .85rem; padding-top: .85rem; border-top: 1px solid var(--dsb-line); }
.dsb-post { display: flex; gap: .8rem; align-items: flex-start; text-decoration: none; color: var(--dsb-ink); }
.dsb-thumb { flex: 0 0 80px; width: 80px; height: 60px; object-fit: cover; border-radius: 8px; background: var(--dsb-bg); }
.dsb-post-text { display: flex; flex-direction: column; min-width: 0; }
.dsb-kicker { font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--dsb-accent); }
.dsb-post-title { font-size: .95rem; font-weight: 600; line-height: 1.3; color: var(--dsb-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dsb-post:hover .dsb-post-title { color: var(--dsb-accent); text-decoration: underline; }
.dsb-date { font-size: .78rem; color: var(--dsb-muted); margin-top: .15rem; }

.dsb-list li a { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .5rem 0; color: var(--dsb-ink); text-decoration: none; font-weight: 600; font-size: .95rem; border-bottom: 1px solid var(--dsb-line); }
.dsb-list li:last-child a { border-bottom: 0; }
.dsb-list li a:hover { color: var(--dsb-accent); }
.dsb-count { font-size: .72rem; font-weight: 700; color: var(--dsb-muted); margin-left: .25rem; }
.dsb-chip:hover .dsb-count { color: #fff; }

.dsb-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.dsb-chip { font-size: .82rem; font-weight: 600; color: var(--dsb-ink); background: var(--dsb-bg); border: 1px solid transparent; border-radius: 8px; padding: .3rem .65rem; text-decoration: none; }
.dsb-chip-tag { font-weight: 500; color: var(--dsb-muted); }
.dsb-more-box { margin-top: .6rem; }
.dsb-more-box summary { cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--dsb-accent); list-style: none; }
.dsb-more-box summary::-webkit-details-marker { display: none; }
.dsb-more-box[open] summary { margin-bottom: .6rem; }
.dsb-more-box[open] summary::after { content: ''; }
.dsb-chip:hover { color: #fff; background: var(--dsb-accent); border-color: var(--dsb-accent); }

.dsb-matches li + li { border-top: 1px solid var(--dsb-line); }
.dsb-matches a { display: block; padding: .6rem 0; text-decoration: none; color: var(--dsb-ink); }
.dsb-teams { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.dsb-teams b { color: var(--dsb-accent); font-size: .92rem; }
.dsb-when { display: block; font-size: .78rem; color: var(--dsb-muted); margin-top: .15rem; }
.dsb-matches a:hover .dsb-teams b { text-decoration: underline; }

@media (max-width: 991px) { .dsb { padding: 0 12px; } }

.dsb-moves { list-style: none; margin: 0; padding: 0; }
.dsb-moves li { padding: .55rem 0; border-top: 1px solid var(--dsb-line); }
.dsb-moves li:first-child { border-top: 0; padding-top: 0; }
.dsb-move-player { display: block; font-weight: 700; color: var(--dsb-ink); font-size: .93rem; }
.dsb-move-route { display: block; font-size: .83rem; color: var(--dsb-muted); }
.dsb-move-route a { color: var(--dsb-ink); font-weight: 600; text-decoration: none; }
.dsb-move-route a:hover { color: var(--dsb-accent); text-decoration: underline; }
.dsb-move-meta { display: block; font-size: .75rem; color: var(--dsb-muted); margin-top: .1rem; }
