.profile-twitch-links{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin:0}.profile-twitch-links[hidden]{display:none}.stream-watch-link{display:inline-flex;align-items:center;gap:6px;color:#bf94ff;font-size:12px;text-decoration:none;padding:5px 9px;border:1px solid #7952aa;border-radius:4px;background:#21162e}.stream-watch-link:hover{background:#35204d;color:#fff}.stream-watch-link.is-live{background:#762fca;color:#fff}.live-game-streams{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.carousel-item.twitch-live.live-game-active .live-game-btn{background-image:url('./livegame-button-shape-twitch.svg')}.noticeboard-tabs{position:relative}.noticeboard-stream-prompt{display:none;position:absolute;inset:0;border:0;background:#202020;color:#ededed;cursor:pointer;font:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;border-radius:4px}.noticeboard-tabs.streams-rotating>.tab-btn{opacity:0;pointer-events:none}.noticeboard-tabs.streams-rotating>.noticeboard-stream-prompt{display:block}.noticeboard--expanded .noticeboard-tabs.streams-rotating>.tab-btn{opacity:1;pointer-events:auto}.noticeboard--expanded .noticeboard-tabs.streams-rotating>.noticeboard-stream-prompt{display:none}.twitch-account-status{padding:6px 15px;font-size:12px;color:#bf94ff}@media(prefers-reduced-motion:reduce){.noticeboard-tabs .tab-btn{transition:none}}

/* One compact row; only the stream rail scrolls, horizontally. */
.noticeboard-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-right:24px}
.noticeboard--streams .noticeboard-content{overflow:hidden}
.stream-pane{height:100%;min-width:0}
.stream-carousel{display:flex;align-items:center;gap:8px;height:100%;min-width:0}
.stream-carousel-track{height:100%;display:flex;gap:10px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#85858f #28282e;scroll-snap-type:none;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab;border-radius:6px}
.stream-carousel-track::-webkit-scrollbar{height:8px}
.stream-carousel-track::-webkit-scrollbar-track{background:#28282e;border-radius:4px}
.stream-carousel-track::-webkit-scrollbar-thumb{background:#85858f;border-radius:4px}
.stream-carousel-track::-webkit-scrollbar-thumb:hover{background:#b7b7c2}
.stream-carousel-track:focus-visible{outline:2px solid #bf94ff;outline-offset:2px}
.stream-carousel-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.stream-discovery-card{position:relative;display:block;flex:0 0 min(100%,248px);height:calc(100% - 4px);box-sizing:border-box;padding:0;background:transparent;border:0;border-radius:6px;color:#f5efff;text-decoration:none;scroll-snap-align:start;user-select:none;min-width:0}
.stream-discovery-card:hover .stream-card-frame,.stream-discovery-card:focus-visible .stream-card-frame{border-color:#a798d0;background:#302a43}
.stream-card-heading{font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.stream-card-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit}
.stream-channel-identity{display:flex;align-items:baseline;gap:2px;min-width:0}
.stream-channel-note{flex-shrink:0;white-space:nowrap;color:#b9b9c2;font-size:inherit;font-weight:400}
.stream-tv-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;pointer-events:none}
.stream-live-label{flex-shrink:0;font-size:inherit;font-weight:700;color:var(--secondary-color);letter-spacing:.04em}
.stream-player-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;font-size:11px;color:#d9cbea}
.stream-player-rank{display:flex;align-items:center;gap:5px;white-space:nowrap;font-weight:700;color:#e4c47e}
.stream-player-rank img{width:30px;height:30px;object-fit:contain}
.stream-player-badges{display:flex;align-items:center;justify-content:flex-end;gap:2px;min-width:0}
.stream-player-badges img{width:24px;height:28px;object-fit:contain}
.stream-carousel-arrow{flex:0 0 28px;width:28px;height:66px;padding:0;border:1px solid #5c5c64;border-radius:5px;background:#29292d;color:#e1e1e5;font-size:26px;cursor:pointer}
.stream-carousel-arrow:hover:not(:disabled){background:#414148;border-color:#a8a8b1}
.stream-carousel-arrow:disabled{opacity:.3;cursor:default}
.stream-empty{display:flex;align-items:center;height:82px;margin:0!important;color:#cdbfdb;font-size:12px}
@media(max-width:500px){.noticeboard-tabs .tab-btn{font-size:10px;letter-spacing:0;padding:5px 2px}.stream-carousel{gap:5px}.stream-carousel-arrow{flex-basis:22px;width:22px}.stream-discovery-card{flex-basis:min(100%,248px);padding:0}.stream-card-heading{font-size:13px}.stream-player-badges img{width:22px}.stream-player-rank{font-size:10px}}

.stream-twitch-action{position:absolute;top:0;right:12px;display:flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:4px;background:#242131;color:#c5b7e9;transition:background .15s,color .15s}
.stream-twitch-action svg{width:18px;height:18px}
.noticeboard-tabs [data-tab="streams"]{gap:5px}
.stream-tab-live{color:var(--secondary-color);font-size:inherit;font-weight:800;letter-spacing:0;white-space:nowrap}
.stream-tab-live[hidden]{display:none}
.noticeboard-tabs [data-tab="streams"].needs-attention .tab-label{color:inherit}
@media(max-width:500px){.noticeboard-tabs [data-tab="streams"]{gap:3px}}

.stream-card-frame{height:100%;box-sizing:border-box;min-width:0;margin:0;padding:7px 12px 8px;border:1px solid #6c6087;border-radius:6px;background:#242131}
.stream-border-label{padding:0 6px;font-size:11px;font-weight:800;line-height:20px;letter-spacing:.06em;color:#e5ddf5}
.stream-card-frame.is-official{border-color:#806e43}
.is-official>.stream-border-label{color:#f1d389}
.stream-card-body{height:100%;display:grid;grid-template-rows:28px 22px 34px;align-content:space-between;gap:3px;min-width:0}
.stream-card-body>*{min-width:0}
.stream-card-heading,.stream-player-meta{height:100%;margin:0;align-self:center}
.stream-card-title{display:flex;align-items:center;overflow:hidden;white-space:nowrap;min-width:0;line-height:18px;font-size:11px;color:#d8cce3}
.stream-title-run{display:inline-flex;gap:32px;flex:none;width:max-content}
.stream-title-text,.stream-title-copy{display:inline-block;flex:none}
.stream-title-copy{display:none}
.stream-card-title.is-overflowing .stream-title-copy{display:inline-block}
.stream-card-title.is-overflowing .stream-title-run{animation:stream-title-scroll var(--title-duration) linear infinite}
@keyframes stream-title-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--title-distance)))}}
@media(prefers-reduced-motion:reduce){.stream-card-title.is-overflowing .stream-title-run{animation:none;display:block;overflow:hidden;text-overflow:ellipsis;max-width:100%}.stream-title-text{display:inline}.stream-card-title.is-overflowing .stream-title-copy{display:none}}

.login-menu-btn .twitch-account-name{color:#bf94ff;font-weight:700;overflow-wrap:anywhere}

.profile-twitch-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;box-sizing:border-box;color:#bf94ff;line-height:1;text-decoration:none;border-radius:4px}
.profile-twitch-action svg{width:24px;height:24px}
.profile-twitch-action:hover{color:#dfc8ff}
.profile-twitch-action:focus-visible{outline:2px solid #bf94ff;outline-offset:2px}

.profile-twitch-links:not([hidden]) + .profile-header-help-btn{margin-left:-4px}
@media(max-width:600px){.profile-twitch-action{width:26px;height:26px}.profile-twitch-action svg{width:22px;height:22px}}

.stream-discovery-card:hover .stream-twitch-action,.stream-discovery-card:focus-visible .stream-twitch-action{background:#8064b5;color:#fff}
.noticeboard-stream-prompt::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--secondary-color);vertical-align:middle}
@media(max-width:500px){.stream-card-frame{padding:4px 12px 5px}.stream-card-body{grid-template-rows:22px 18px 30px;gap:2px}.stream-border-label{line-height:18px}.stream-twitch-action{height:20px}.stream-card-title{font-size:10px}}

#live-game .live-game-player-twitch{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;margin-left:6px;padding:3px;color:#c5b7e9;font-size:10px;font-weight:800;line-height:1;text-decoration:none;border-radius:3px}
#live-game .live-game-player-twitch svg{width:16px;height:16px}
#live-game .live-game-player-twitch:hover{color:#fff;background:#654591}
#live-game .live-game-player-twitch:focus-visible{outline:2px solid #bf94ff;outline-offset:2px}
#live-game .live-game-streams{margin:0}
#live-game .live-game-streams svg{width:18px;height:18px;flex-shrink:0}

.stream-card-channel-link{position:absolute;inset:0;display:block;height:100%;color:inherit;text-decoration:none;border-radius:6px}
.stream-card-channel-link:focus-visible{outline:2px solid #bf94ff;outline-offset:-2px}
.stream-vods-button{flex-shrink:0;padding:5px 10px;border:1px solid #a47bd8;background:#7045a8;color:#fff;font:inherit;font-size:12px;line-height:16px;font-weight:700;cursor:pointer;border-radius:4px;pointer-events:auto}
.stream-vods-button:hover,.stream-vods-button:focus-visible{background:#8064b5;color:#fff;outline:2px solid #bf94ff}
#live-game .live-game-header{margin-bottom:8px}
#live-game .live-game-broadcast-controls{height:30px;margin-bottom:12px;display:flex;align-items:center}
/* Use the profile modal and match-history styles, including their responsive rules. */
dialog.tv-vods-modal{box-sizing:border-box;position:fixed;inset:0;margin:auto}
.tv-vods-modal::backdrop{background:rgba(0,0,0,.8)}
.tv-vods-modal .profile-modal-heading{padding-right:24px;text-transform:none}
.tv-vods-table-wrapper{min-width:0}
.tv-vods-modal .match-history-table{box-sizing:border-box}
.tv-vods-modal .match-history-table table{table-layout:fixed;width:100%}
.tv-vods-modal .match-history-table th,.tv-vods-modal .match-history-table td{padding-left:clamp(3px,.6vw,8px);padding-right:clamp(3px,.6vw,8px);white-space:normal;overflow-wrap:anywhere}
.tv-vods-modal .match-history-time{max-width:100%;justify-content:center;white-space:nowrap}
.tv-vods-modal .match-record-crown-slot:empty{display:none}
.tv-vods-modal .champion-icon-cell img{max-width:100%;height:auto}
.tv-vods-status{font-size:13px;color:var(--text-color);opacity:.7;line-height:1.5}
.tv-vods-status:empty{display:none}
.tv-vods-player{text-align:left}
.tv-vods-identity{display:flex;align-items:center;gap:4px 6px}
.tv-vods-rank{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;white-space:nowrap}
.tv-vods-rank img{width:24px;height:24px;object-fit:contain;flex-shrink:0}
.tv-vods-name{flex:1;min-width:0}
.tv-vods-region{display:block;font-size:11px;color:var(--primary-color)}
.tv-vods-more[hidden]{display:none}
.tv-vods-more:disabled{opacity:.6;cursor:wait}

.tv-vods-time-col{width:112px}
.tv-vods-watch-col{width:30px}
.tv-vods-champion-col{width:96px}
.tv-vods-place-col{width:70px}
.tv-vods-opponents-col{width:20%}
.tv-vods-expand-col{width:32px}
.tv-vods-modal .match-history-table th.tv-vods-champion-heading,.tv-vods-modal .match-history-table th.tv-vods-place-heading{white-space:nowrap;overflow-wrap:normal}
.tv-vods-modal .match-history-table td.tv-vods-watch{padding:0;text-align:center}
.tv-vods-modal .match-history-table td.match-history-breakdown-cell,.tv-vods-modal .match-history-table td.ranked-breakdown-cell{padding:0}
.tv-vods-modal .match-history-table tbody:not(:last-of-type)>.match-history-game-row:not(.expanded)>td,.tv-vods-modal .match-history-table tbody:not(:last-of-type)>tr:first-child:last-child>td{border-bottom:1px solid rgba(255,255,255,.1)}
.tv-vods-profile-link{color:inherit;text-decoration:none}
.tv-vods-profile-link:hover{color:var(--primary-color);text-decoration:underline}
.tv-vods-profile-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.tv-vods-profile-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:26px;padding:2px;border:0;border-radius:3px;background:transparent;cursor:pointer;opacity:.75}
.tv-vods-profile-icon:hover{opacity:1;background:rgba(255,255,255,.1)}
.tv-vods-profile-icon img{width:18px;height:18px}
.tv-vods-load-match:disabled{opacity:.5;cursor:wait}

/* Keep the scaled table legible instead of also applying the mobile font reductions. */
.tv-vods-modal .match-history-table[data-match-history-scaled] th{font-size:.75rem!important;letter-spacing:.5px!important;padding:8px 6px!important}
.tv-vods-modal .match-history-table[data-match-history-scaled] td{font-size:.8rem!important;padding:12px 6px!important}
.tv-vods-modal .match-history-table[data-match-history-scaled] td.tv-vods-watch,.tv-vods-modal .match-history-table[data-match-history-scaled] td.match-history-breakdown-cell,.tv-vods-modal .match-history-table[data-match-history-scaled] td.ranked-breakdown-cell{padding:0!important}
@media(max-width:350px){dialog.tv-vods-modal{min-width:0;width:calc(100vw - 20px)}}

.tv-vods-modal [data-match-history-scaled] .tv-vods-time-col{width:106px}
.tv-vods-modal [data-match-history-scaled] .tv-vods-watch-col{width:32px}
.tv-vods-modal [data-match-history-scaled] .tv-vods-champion-col{width:88px}
.tv-vods-modal [data-match-history-scaled] .tv-vods-place-col{width:60px}
.tv-vods-modal [data-match-history-scaled] .tv-vods-opponents-col{width:18%}
.tv-vods-modal [data-match-history-scaled] .tv-vods-identity{column-gap:4px}
.tv-vods-modal [data-match-history-scaled] .match-history-time{font-size:12px}

.tv-vods-name>.tv-vods-profile-link{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
