.rv-lobby { min-height:100dvh; color:#122a43; background:#fff7e8 url('/duel/hub-comic-v1/paper.webp') repeat; background-size:640px; --text:#122a43; --muted:#746b5d; --line:#d7c7a7; }
.rl-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px max(24px,calc((100% - 1180px)/2)); border-bottom:1px solid #d9c7a1; }
.rl-nav button,.rl-panel-title button { background:none; color:#284b68; font-size:11px; font-weight:800; padding:6px 0; }
.rl-nav > span { color:#97805b; font:italic 13px Georgia,serif; }
.rl-main { max-width:1180px; margin:auto; padding:33px 26px 26px; }
.rl-heading { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-bottom:25px; }
.rl-eyebrow,.rl-panel-title > span,.rl-side-label { text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:800; color:#8b6e3f; }
.rv-lobby h1 { font-size:clamp(30px,3.3vw,52px); margin:10px 0; line-height:1.08; overflow-wrap:anywhere; }
.rl-heading p { font-size:12px; color:#7b705e; margin:0; }
.rl-invite { flex-shrink:0; border-left:1px solid #cdbb94; padding:3px 0 3px 28px; }
.rl-invite > small { font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.rl-invite > strong { display:block; color:#235b96; font:900 30px 'Fraunces',Georgia,serif; letter-spacing:.1em; margin:4px 0; user-select:all; }
.rl-invite div { display:flex; gap:14px; }
.rl-invite button { background:none; padding:4px 0; color:#655335; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.rl-matchup { display:grid; grid-template-columns:1fr 150px 1fr; align-items:center; padding:24px; background:#102b50 url('/duel/hub-comic-v2/classic-panel.webp') center/cover; border:3px solid #122b43; box-shadow:5px 5px 0 #bd9b4e; position:relative; isolation:isolate; }
.rl-matchup::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,#0b3256ee,#164c82d9 50%,#161c3be8); }
.rl-side { display:grid; gap:12px; min-width:0; }
.rl-side-label { color:#a3c5e3; font-size:8px; }
.rl-opponent .rl-side-label { color:#e4c394; }
.rl-seat { display:flex; position:relative; gap:15px; align-items:center; min-height:116px; padding:13px 15px 13px 10px; background:linear-gradient(110deg,#f9f4e8,#fffaf0e8); border:1px solid #e1ca96; box-shadow:0 4px 0 #0003; min-width:0; }
.rl-seat-portrait { position:relative; flex:none; width:80px; height:88px; }
.rl-seat-portrait > img { width:100%; height:100%; object-fit:cover; object-position:50% 15%; border-radius:45% 45% 40% 40%; border:2px solid #b79a59; }
.rl-seat h3 { font:900 22px/1.15 'Fraunces',Georgia,serif; margin:5px 0; overflow-wrap:anywhere; }
.rl-seat h3 em { display:inline-block; vertical-align:middle; background:#265d92; color:#fff3cb; padding:3px 5px; font:700 8px 'DM Sans',sans-serif; border-radius:2px; }
.rl-seat small { font-size:8px; color:#91703d; text-transform:uppercase; letter-spacing:.09em; }
.rl-seat p { margin:0; font-size:10px; color:#786d5a; }
.rl-online,.rl-status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#bf9052; }
.rl-online { position:absolute; right:0; bottom:4px; border:2px solid #fff7e8; width:12px; height:12px; }
.rl-online.on,.rl-status-dot.on { background:#4c9d77; box-shadow:0 0 0 4px #4c9d7720; }
.rl-seal { margin-left:auto; color:#b79452; padding:5px; }
.rl-empty { border:1px dashed #a3bdd178; background:#0d28494a; color:#e5e7e3; }
.rl-empty h3 { font-size:17px; }
.rl-empty small,.rl-empty p { color:#acc8dc; }
.rl-seat-empty { font:italic 36px Georgia,serif; color:#81add054; width:50px; text-align:center; flex:none; }
.rl-empty .dh-button { padding:8px; min-height:32px; font-size:10px; margin-left:auto; background:#ffdf83; border-color:#ffdf83; color:#132f4e; white-space:nowrap; }
.rl-signal { font-size:8px; color:#abc6d8; margin-left:auto; }
.rl-remove { margin-left:auto; background:#f1e4ce; color:#79553f; font-size:22px; width:28px; height:28px; flex:none; }
.rl-versus { display:grid; place-items:center; position:relative; padding:12px; }
.rl-versus > img { width:64px; height:64px; object-fit:contain; filter:drop-shadow(0 0 12px #5cd9ff55); animation:rl-emblem 6s ease-in-out infinite; }
.rl-versus b { font:900 italic 42px 'Fraunces',Georgia,serif; color:#ffda76; text-shadow:2px 3px #091c37; }
.rl-versus small { font-size:8px; color:#b1cbe0; margin-top:4px; }
.rl-versus i { position:absolute; width:125px; height:125px; border:1px solid #e2c7773a; border-radius:50%; top:13px; z-index:-1; }
.rl-settings { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:28px; align-items:start; }
.rl-panel { border:1px solid #cebd9c; padding:21px 23px; background:#fffaf1bb; min-width:0; }
.rl-panel-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rl-panel-title small { font-size:9px; color:#918471; }
.rv-lobby .rl-panel h2 { font-size:25px; line-height:1.2; margin:10px 0 21px; }
.rl-panel label { display:block; font-size:10px; font-weight:700; margin-bottom:7px; color:#78654a; }
.rl-panel select { width:100%; min-height:44px; border:1px solid #bbaa89; border-radius:2px; color:#17334c; background:#fffcf4; padding:10px 32px 10px 12px; font:700 12px 'DM Sans',sans-serif; }
.rl-deck-preview { display:flex; align-items:center; min-height:200px; gap:20px; padding-top:18px; }
.rl-deck-art { position:relative; width:190px; height:177px; flex:none; isolation:isolate; }
.rl-deck-art::before { content:''; position:absolute; inset:10px; border:1px solid #cda75c55; border-radius:50%; }
.rl-deck-art .rl-card { position:absolute; left:calc(9px + var(--slot)*35px); top:14px; rotate:calc((var(--slot) - 1)*10deg); scale:.92; pointer-events:none; }
.rl-deck-crest { position:absolute; height:115px; width:115px; object-fit:contain; top:20px; left:35px; z-index:-1; opacity:.25; }
.rl-mystery { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 8px 7px #182d4420); animation:rl-emblem 7s ease-in-out infinite; }
.rl-deck-art > span { position:absolute; right:24px; bottom:12px; background:#123854; color:#ffe1a0; border:2px solid #c3a365; border-radius:50%; height:42px; width:42px; display:grid; place-items:center; font:900 25px 'Fraunces',Georgia,serif; }
.rl-deck-copy { min-width:0; }
.rl-deck-copy > strong { display:block; font:900 20px/1.1 'Fraunces',Georgia,serif; }
.rl-deck-copy p { font-size:11px; line-height:1.65; color:#81715a; margin:12px 0 0; }
.rl-persist { border-top:1px solid #d7c6a8; padding-top:12px; color:#897b61; font-size:9px; margin:0; }
.rl-error { color:#ad3c34; font-size:11px; line-height:1.5; }
.rl-mode-options { display:flex; gap:7px; }
.rl-mode-options button,.rl-levels button { flex:1; background:#eee4d1; color:#62573f; font-size:10px; font-weight:700; padding:10px 7px; border:1px solid #ccbd9d; border-radius:2px; }
.rv-lobby [aria-pressed=true] { background:#173e65; color:#ffe29f; border-color:#173e65; }
.rv-lobby button:disabled { cursor:default; opacity:.55; }
.rv-lobby [aria-pressed=true]:disabled { opacity:1; }
.rl-bot-settings summary { font-size:11px; font-weight:800; cursor:pointer; padding:0 0 12px; }
.rl-bot-profiles { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.rl-bot-profiles button { min-width:0; background:#f5ead8; border:1px solid #d3bd97; padding:7px 4px; color:#15334e; }
.rl-bot-profiles img { width:46px; height:46px; object-fit:cover; object-position:50% 15%; border-radius:50%; }
.rl-bot-profiles strong,.rl-bot-profiles small { display:block; font-size:10px; margin-top:4px; }
.rl-bot-profiles small { font-size:8px; opacity:.7; }
.rl-levels { display:flex; gap:7px; margin-top:10px; }
.rl-coop-info { color:#81715a; font-size:10px; line-height:1.6; margin:16px 0 0; }
.rl-start { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:2px solid #b49966; padding:21px 0 0; margin-top:25px; }
.rl-start > div { display:flex; align-items:center; gap:12px; }
.rl-start p { font-size:11px; color:#796c56; line-height:1.6; margin:0; }
.rl-start .dh-button { flex:none; padding:16px 30px; font-size:13px; }
.rl-waiting { font-size:12px; color:#235b96; }
.rl-results { text-align:center; max-width:850px; padding-top:45px; }
.rl-invitation { text-align:center; max-width:720px; }
.rl-invitation > p { color:#81715a; font-size:13px; line-height:1.7; }
.rl-invitation .rl-panel { max-width:400px; margin:30px auto; text-align:left; }
.rl-invitation input:not([type=hidden]) { width:100%; border:1px solid #bbaa89; color:#17334c; background:#fffcf4; padding:12px; margin-bottom:20px; }
.rl-invitation .dh-button { width:100%; margin-top:12px; }
.rl-result-crest { display:block; width:130px; height:130px; object-fit:contain; margin:25px auto; animation:rl-emblem 7s ease-in-out infinite; }
.rl-results > p { font-size:13px; color:#7e7058; }
.rl-result-players { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; margin:30px 0; }
.rl-result-players > div { padding:15px 25px; border:1px solid #cfbc95; background:#fff9ed; }
.rl-result-players small { display:block; color:#877455; font-size:11px; margin-top:7px; }
.rl-result-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:15px; margin:30px 0; }
.rv-lobby button:focus-visible,.rv-lobby select:focus-visible { outline:3px solid #daab36; outline-offset:3px; }
@keyframes rl-emblem { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-4px) rotate(1deg); } }
@media(max-width:950px) { .rl-matchup { grid-template-columns:1fr 90px 1fr; padding:18px; } .rl-seat { gap:9px; padding:12px 9px; flex-wrap:wrap; } .rl-seat-portrait { width:58px; height:70px; } .rl-seat h3 { font-size:19px; } .rl-seal { display:none; } .rl-empty .dh-button { margin-left:0; } .rl-deck-preview { flex-direction:column; gap:5px; padding-bottom:20px; text-align:center; } .rl-versus i { width:82px; height:100px; } }
@media(max-width:640px) { .rl-main { padding:24px 16px; } .rl-nav { padding:9px 16px; } .rl-nav > span { display:none; } .rl-heading { align-items:start; gap:16px; flex-direction:column; } .rl-invite { border:0; border-top:1px solid #cdbb94; padding:12px 0 0; width:100%; display:grid; grid-template-columns:1fr auto; align-items:center; } .rl-invite > strong { grid-column:2; grid-row:1 / 3; font-size:25px; } .rl-invite div { grid-column:1; } .rl-matchup { grid-template-columns:1fr; padding:16px; gap:12px; } .rl-versus { display:flex; justify-content:center; gap:15px; padding:0; } .rl-versus img { width:37px; height:37px; } .rl-versus b { font-size:28px; } .rl-versus small,.rl-versus i { display:none; } .rl-seat { min-height:92px; flex-wrap:nowrap; } .rl-seat-portrait { width:56px; height:64px; } .rl-seat h3 { font-size:20px; } .rl-seat-empty { width:32px; } .rl-empty h3 { font-size:15px; } .rl-signal { display:none; } .rl-settings { grid-template-columns:1fr; gap:16px; margin-top:23px; } .rl-panel { padding:19px 17px; } .rl-deck-preview { flex-direction:row; text-align:left; gap:12px; } .rl-deck-art { width:155px; height:170px; } .rl-deck-art .rl-card { left:calc(-4px + var(--slot)*27px); scale:.8; } .rl-deck-copy > strong { font-size:18px; } .rl-deck-copy p { font-size:10px; } .rl-start { align-items:stretch; flex-direction:column; gap:15px; } .rl-start .dh-button { width:100%; } }
@media(max-width:360px) { .rl-main { padding-inline:11px; } .rl-deck-preview { flex-direction:column; text-align:center; } .rl-panel { padding:17px 13px; } .rl-mode-options { gap:4px; } .rl-mode-options button { font-size:9px; padding:9px 4px; } .rl-seat { gap:8px; } .rl-seat h3 { font-size:18px; } .rl-empty .dh-button { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .rv-lobby *, .rv-lobby *::before { animation:none!important; transition:none!important; } }
body.dl-page-hidden .rv-lobby * { animation-play-state:paused!important; }

/* Ekran podsumowania meczu */
.rl-results { max-width:920px; }
.rl-results h1 { font-size:clamp(34px,6vw,58px); }
.rl-results.won h1 { color:#b9831a; text-shadow:0 2px 0 #fff3cf; }
.rl-results.lost h1 { color:#3b4d66; }
.rl-result-chips { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:26px auto 0; max-width:620px; }
.rl-result-chips > div { padding:13px 10px; border:1px solid #cfbc95; background:#fff9ed; }
.rl-result-chips small { display:block; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#8b774f; }
.rl-result-chips strong { display:block; margin-top:5px; font:900 24px 'Fraunces',Georgia,serif; color:#173e61; }
.rl-result-chips em { font:700 11px inherit; font-style:normal; color:#8b774f; }
.rl-result-players { margin:22px 0 8px; }
.rl-result-players > div.winner { border-color:#d3a53c; background:#fff3cf; box-shadow:0 0 0 2px #f4d98a66; }
.rl-stats-wrap { margin:26px 0 8px; padding:20px 22px 12px; border:1px solid #cfbc95; background:#fffaf0; text-align:left; }
.rl-stats-wrap h2 { margin:0 0 12px; font:900 22px 'Fraunces',Georgia,serif; text-align:center; color:#173e61; }
.rl-stats { width:100%; border-collapse:collapse; font-size:13px; }
.rl-stats thead th { padding:0 10px 10px; font-size:13px; font-weight:900; color:#173e61; text-align:center; }
.rl-stats thead th small { display:block; margin-top:3px; font-size:10px; font-weight:700; color:#8b774f; }
.rl-stats thead th.winner { color:#a8741a; }
.rl-stats tbody th { padding:10px 10px 10px 0; text-align:left; font-weight:700; color:#6a583a; border-top:1px solid #e1d3b3; }
.rl-stats td { position:relative; padding:10px; text-align:center; border-top:1px solid #e1d3b3; }
.rl-stats td b { position:relative; z-index:1; font:900 17px 'Fraunces',Georgia,serif; color:#2a3f54; }
.rl-stats td i { position:absolute; left:10px; bottom:4px; height:4px; width:calc((100% - 20px) * var(--w) / 100); background:#b9c8d6; border-radius:2px; }
.rl-stats td.top b { color:#a8741a; }
.rl-stats td.top i { background:#e0a92e; }
.rl-results .round-reward.rv-match-reward { margin:22px auto; max-width:560px; text-align:center; }
@media(max-width:560px) { .rl-result-chips { grid-template-columns:1fr 1fr 1fr; gap:8px; } .rl-result-chips strong { font-size:19px; } .rl-stats-wrap { padding:14px 10px 6px; } .rl-stats { font-size:11px; } .rl-stats td b { font-size:15px; } .rl-stats tbody th { font-size:11px; padding-right:4px; } }
.rl-results .rv-match-reward > strong { color: #ffe7ae; font-size: 18px; }
.rl-results .rv-match-reward > div span { color: #fff; font-weight: 800; }
.rl-results .rv-match-reward small { color: #d3dae6; font-size: 12px; }
.rl-results .rv-match-reward a { color: #ffd98a; }
/* "Dodaj bota" sat dark-on-dark inside the dashed empty seat; give it the bright yellow action surface. */
.dh-premium .rl-empty .dh-button,
.dh-premium .rl-empty .dh-button:hover {
  --action-surface: linear-gradient(170deg, #ffe9ab, #ffd35a 43%, #efb727);
  --action-line: #fff0b2;
  --action-text: #102038;
  color: #102038;
  min-height: 38px;
  padding: 9px 16px;
  font-size: 12px;
  font-weight: 800;
  text-shadow: 0 1px #fff1b66b;
}
.dh-premium .rl-empty .dh-button:disabled { opacity: .65; }
.rl-seat .dl-rank { display:inline-flex; align-items:center; gap:5px; margin:0 0 4px; font-size:10px; font-weight:800; letter-spacing:0; text-transform:none; color:#927037; }
.rl-seat .dl-rank img { flex:none; }
