/* Obsydian i złoto. The arena shell changes; the shared card renderer stays intact. */
.mini-duel.duel-playing { --ob-gold:#d2ae62; --ob-line:#b58a433d; --ob-ink:#10141beF; --ob-muted:#b8b8bd; }
.mini-duel.duel-playing .gamebar { height:46px; border-color:var(--ob-line); background:linear-gradient(90deg,#15171c,#0d1016); }
.mini-duel.duel-playing .gamebar-title strong { color:#f0e8d6; }
.mini-duel.duel-playing .game-body { overflow-y:auto; scrollbar-width:thin; scrollbar-color:#9b7a414d transparent; }
.mini-duel.duel-playing .mini-main { max-width:1480px; margin-inline:auto; padding:10px 16px 14px; gap:12px; grid-template-columns:minmax(0,1fr) clamp(210px,18vw,250px); align-items:stretch; }
.mini-duel.duel-playing .mini-stage { justify-content:stretch; }
.mini-duel.duel-playing.coop .mini-main { flex:1; align-self:stretch; }
.dl-table.obsidian { --piece-w:clamp(68px,min(6.1vw,11dvh),102px); --hero-size:clamp(48px,7dvh,72px); height:100%; min-height:590px; padding:18px 24px 14px; gap:7px; grid-template-rows:auto minmax(110px,1fr) auto minmax(138px,1fr) auto; border:1px solid #b68d4f88; border-radius:18px; background:radial-gradient(ellipse at 50% 40%,#222833,#0b1017); box-shadow:inset 0 0 0 3px #05080caa,inset 0 0 0 5px #b68d4f20,0 10px 35px #0006; }
.dl-table.obsidian.has-bg { background:linear-gradient(#080c1226,#080c1210 50%,#080c1244),var(--board-bg) center/cover no-repeat; }
.dl-table.obsidian .dl-row-top { padding:4px 6px 9px; gap:12px; border-bottom:1px solid #bf9a5a24; }
.dl-table.obsidian .dl-hero { gap:10px; min-width:0; }
.dl-table.obsidian .dl-portrait { --size:var(--hero-size); }
.dl-table.obsidian .dl-hero-info { flex:1; gap:4px; }
.dl-table.obsidian .dl-hero-info strong { font-size:14px; }
.dl-table.obsidian .dl-hero-info strong em { color:#b5b3ae; font-size:11px; }
.dl-table.obsidian .dl-hero-title { font-size:11px; max-width:240px; }
.dl-table.obsidian .dl-mana { gap:3px; flex-wrap:wrap; }
.dl-table.obsidian .dl-mana i { width:10px; height:12px; }
.dl-table.obsidian .dl-mana b { font-size:12px; }
.dl-table.obsidian .dl-power { width:56px; }
.dl-table.obsidian .dl-power-face { width:43px; height:43px; }
.dl-table.obsidian .dl-power-name { font-size:10px; color:#c7c0b1; }
.dl-table.obsidian .dl-power-cost { width:20px; height:22px; }
.dl-table.obsidian .dl-hero-hp { min-width:29px; height:32px; right:-6px; bottom:-4px; }
.dl-table.obsidian .dl-hero-hp b { font-size:17px; }
.dl-table.obsidian .dl-hero-av .avatar { width:21px; height:21px; }
.dl-table.obsidian .dl-deck { margin:0 5px 8px 1px; width:32px; height:43px; }
.dl-table.obsidian .dl-deck .dl-back { width:30px; height:42px; }
.dl-table.obsidian .dl-deck b { right:-7px; bottom:-4px; min-width:20px; height:20px; font-size:11px; }
.dl-table.obsidian .dl-deck small { position:absolute; top:calc(100% + 7px); left:50%; transform:translateX(-50%); font:500 9px var(--font); color:var(--ob-muted); white-space:nowrap; }
.dl-table.obsidian .dl-foe-hand { padding:0 5px 0 20px; }
.dl-table.obsidian .dl-foe-hand .dl-back { width:34px; height:48px; margin-left:-15px; }
.dl-table.obsidian .dl-board { flex-wrap:nowrap; gap:clamp(20px,2.2vw,38px); padding:20px 12px 25px; background:radial-gradient(ellipse at center,#090e1420,transparent 75%); }
.dl-table.obsidian .dl-board.mine { padding-bottom:32px; }
.dl-table.obsidian .dl-unit { --w:var(--piece-w); }
.dl-table.obsidian .dl-arena-count { left:50%; top:-3px; z-index:5; transform:translateX(-50%); padding:3px 16px; border:1px solid var(--ob-line); background:#10141bf5; border-radius:20px; color:#e5d1a4; white-space:nowrap; font-size:11px; font-weight:600; }
.dl-table.obsidian .dl-unit-owner { top:calc(100% + 12px); font-size:10px; max-width:calc(100% + 10px); }
.dl-table.obsidian .dl-unit-owner.own { --oc:#68dca4; --oc2:#175d3d; --oc3:#103523; }
.dl-table.obsidian .dl-unit-owner.ally { --oc:#dfb862; --oc2:#6d4e1d; --oc3:#3d2c14; }
.dl-table.obsidian .dl-mid { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:9px 0; min-height:46px; }
.dl-table.obsidian .dl-mid::before { z-index:-1; height:1px; background:linear-gradient(90deg,#9b6e2533,#e5c47599 50%,#9b6e2533); box-shadow:0 0 6px #d9a64d33; }
.dl-turn-progress { position:absolute; inset:0 0 auto; height:2px; pointer-events:none; }
.dl-turn-progress .mg-bar { height:2px; background:#b68d4f18; border-radius:0; }
.dl-turn-progress .mg-bar i { background:linear-gradient(90deg,#7f5d27,#f3d58d); border-radius:0; box-shadow:0 0 8px #dbb45b88; }
.dl-turn-progress .mg-bar i.low { background:#e9825f; }
.dl-table.obsidian .dl-turn { padding:7px 12px; font-size:12px; border-color:#b8914d55; background:#0a1016f2; }
.dl-table.obsidian .dl-hint { flex:1; font-size:11px; padding:4px 10px; background:#0c111acc; color:#c5c0b5; }
.dl-table.obsidian .dl-end { --end-width:208px; width:var(--end-width); height:calc(var(--end-width)*.27); min-width:0; min-height:0; margin-left:auto; padding:0 calc(var(--end-width)*.15) 6px calc(var(--end-width)*.30); display:grid; place-items:center; border:0; border-radius:12px; background:transparent url('/duel-art/koniec-tury-krysztal') center/100% auto no-repeat; box-shadow:none; color:#c3c7ca; font-size:14px; letter-spacing:0; white-space:nowrap; text-shadow:0 1px 3px #000; filter:grayscale(.8) brightness(.65); transition:transform .15s var(--ease),filter .2s; }
.dl-table.obsidian .dl-end.on { color:#fff0bd; background:transparent url('/duel-art/koniec-tury-krysztal') center/100% auto no-repeat; border:0; box-shadow:none; filter:drop-shadow(0 3px 5px #0008) drop-shadow(0 0 5px #59dbe63d); }
.dl-table.obsidian .dl-end.on:hover { filter:brightness(1.12) drop-shadow(0 0 7px #63e2ed66); }
.dl-table.obsidian .dl-end:focus-visible { outline:2px solid #a3edf3; outline-offset:3px; }
.dl-table.obsidian .dl-end.nudge { animation:dl-crystal-nudge 1.4s ease-in-out infinite; }
@keyframes dl-crystal-nudge { 0%,100% { filter:drop-shadow(0 0 4px #57dbe645); } 50% { filter:brightness(1.12) drop-shadow(0 0 10px #57dbe68c); transform:scale(1.025); } }
.dl-turn-order { display:flex; justify-content:center; align-items:center; gap:7px; margin:auto; padding:4px 12px; border:1px solid var(--ob-line); border-radius:24px; background:#0b1119ee; min-width:0; }
.dl-order-player { display:flex; align-items:center; gap:5px; color:#b7b5ad; min-width:0; }
.dl-order-player b { max-width:82px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:500; }
.dl-order-face { width:23px; height:23px; overflow:hidden; border:1px solid #be98544d; border-radius:50%; display:grid; place-items:center; }
.dl-order-face>img { width:100%; height:100%; object-fit:cover; object-position:50% 15%; }
.dl-order-player.active { color:#fff0c6; }
.dl-order-player.active .dl-order-face { border-color:#e7c16d; box-shadow:0 0 7px #e7c16d55; }
.dl-order-player.eliminated { opacity:.4; text-decoration:line-through; }
.dl-order-arrow { color:#b6985b; font-size:17px; }
.dl-table.obsidian.coop .dl-hint { flex-basis:100%; order:5; background:transparent; font-size:10px; padding:0; }
.dl-table.obsidian .dl-row-bottom { display:flex; flex-direction:column; align-items:stretch; gap:7px; min-width:0; }
.dl-table.obsidian .dl-team-heroes { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:0; width:100%; max-width:460px; align-self:flex-start; }
.dl-table.obsidian.coop .dl-team-heroes { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1020px; align-self:center; }
.dl-table.obsidian .dl-me,.dl-table.obsidian .dl-ally { min-width:0; padding:9px 13px; border:1px solid #b9924b77; border-radius:12px; background:linear-gradient(110deg,#111820ee,#090f16e8); box-shadow:inset 0 1px 0 #edce8720,0 4px 12px #0004; }
.dl-table.obsidian .dl-me:has(.dl-hero.active) { border-color:#62c394aa; box-shadow:inset 0 0 16px #31795919,0 0 10px #64c99a22; }
.dl-table.obsidian .dl-ally { border-color:#d5ab5c66; }
.dl-table.obsidian .dl-ally:has(.dl-hero.active) { border-color:#f0cc7a; box-shadow:inset 0 0 16px #af7d1819,0 0 10px #d7ab5122; }
.dl-table.obsidian .dl-ally .dl-hero-title,.dl-table.obsidian .dl-ally .dl-deck,.dl-table.obsidian .dl-ally .dl-power { display:revert; }
.dl-table.obsidian .dl-ally .dl-deck { display:grid; }
.dl-table.obsidian .dl-ally .dl-power { display:grid; }
.dl-ally-out { display:block; margin-top:5px; color:#d5ac8a; font-size:11px; }
.dl-table.obsidian .dl-hero.active .dl-portrait { box-shadow:0 0 0 1px #d9b56b,0 0 18px #d8ad4133,0 5px 12px #0008; }
.dl-table.obsidian .dl-hand { --hand-card-size:clamp(88px,min(8.3vw,15dvh),126px); container-type:inline-size; flex:none; justify-content:center; min-height:calc(var(--hand-card-size)*1.4 + 12px); padding:14px 22px 9px; margin:0; gap:0; border:1px solid #9c773a55; border-radius:12px; background:linear-gradient(#12182090,#090d14df); box-shadow:inset 0 1px 0 #e1ba6b1a; }
.dl-table.obsidian .dl-slot { --cw:var(--hand-card-size); flex:none; min-width:0; width:clamp(10px,calc((100cqw - 24px - var(--cw))/max(1,var(--hand-count) - 1)),calc(var(--cw) + 8px)); margin:0; transform:none; }
.dl-table.obsidian .dl-slot:last-child { width:var(--cw); }
.dl-table.obsidian .dl-slot:hover .dl-card { transform:translateY(-22px) scale(1.1); }
.dl-table.obsidian .dl-hand .dl-card.selected { transform:translateY(-24px) scale(1.1); }
.dl-table.obsidian .dl-hand .dl-card:not(.playable) { filter:saturate(.78) brightness(.88); }
.dl-table.obsidian .dl-hand:empty { display:none; }
.mini-duel.duel-playing .dl-side { display:flex; flex-direction:column; min-height:0; border:1px solid #b68d4f55; border-radius:15px; background:linear-gradient(140deg,#1a1e25,#10141c); box-shadow:inset 0 0 0 3px #080c1233; overflow:hidden; }
.mini-duel .dl-inspect-label { padding:13px 16px 0; color:#d6bf91; font-size:11px; font-weight:600; letter-spacing:.06em; }
.duel-playing .dl-inspect { gap:12px; padding:12px 12px 16px; min-height:0; border-color:#bd9b552e; align-content:start; }
.duel-playing .dl-inspect { flex:1; max-height:none; overflow:hidden; }
.duel-playing .dl-inspect-description { max-height:none; }
.duel-playing .dl-inspect .dl-card { --w:clamp(134px,12vw,180px); }
.duel-playing .dl-inspect > small { font-size:12px; line-height:1.6; color:#aaaeb7; }
.dl-inspect-placeholder { display:grid; place-items:center; width:64px; height:80px; border:1px solid #ab884344; border-radius:8px; color:#cfab6a88; font-size:34px; background:linear-gradient(130deg,#262728,#101820); box-shadow:inset 0 0 0 4px #101722; }
.duel-playing .dl-side .ranking-head { border-bottom:0; padding:14px 16px 10px; color:#e4d7bc; }
.duel-playing .dl-side .ranking-head span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:9px; vertical-align:2px; border-radius:50%; background:#c8a55e; box-shadow:0 0 6px #d0b17355; }
.duel-playing .dl-log { flex:1 1 72px; min-height:72px; align-content:start; gap:0; padding:0 16px 12px; font-size:12px; line-height:1.6; scrollbar-width:thin; scrollbar-color:#af915144 transparent; }
.duel-playing .dl-log li { padding:7px 0; border-bottom:1px solid #a68b4e14; color:#a9aeb7; }
.duel-playing .dl-log li:first-child { color:#f0e3c9; }
.duel-playing .dl-concede { margin:10px 12px; border-top:1px solid #af915122; padding-top:12px; color:#a8a7a4; }
.duel-playing .dl-side>[data-region="battle-actions"] { margin-top:auto; }
.duel-playing .dl-keyword-note { font-size:11px; line-height:1.5; }
@media(min-width:961px) and (max-height:800px) {
 .mini-duel.duel-playing .mini-main { padding:7px 12px 9px; }
 .dl-table.obsidian { --piece-w:62px; --hero-size:42px; min-height:545px; padding:10px 18px; gap:4px; grid-template-rows:auto minmax(88px,1fr) auto minmax(112px,1fr) auto; }
 .dl-table.obsidian .dl-board { padding:15px 8px 21px; }
 .dl-table.obsidian .dl-board.mine { padding-bottom:32px; }
 .dl-table.obsidian .dl-hero-title { display:none; }
 .dl-table.obsidian .dl-row-top { padding-bottom:5px; }
 .dl-table.obsidian .dl-hero-info strong { font-size:12px; }
 .dl-table.obsidian .dl-power-face { width:32px; height:32px; }
 .dl-table.obsidian .dl-power { width:43px; }
 .dl-table.obsidian .dl-power-name { font-size:9px; }
 .dl-table.obsidian .dl-me,.dl-table.obsidian .dl-ally { padding:6px 10px; }
 .dl-table.obsidian .dl-hand { --hand-card-size:82px; padding-top:10px; padding-bottom:7px; }
 .dl-table.obsidian .dl-mid { padding:5px 0; min-height:38px; }
 .dl-table.obsidian .dl-end { --end-width:174px; font-size:12px; }
 .dl-table.obsidian .dl-turn { padding:6px 9px; font-size:11px; }
 .dl-table.obsidian .dl-deck { transform:scale(.85); margin-bottom:5px; }
 .dl-table.obsidian .dl-foe-hand .dl-back { width:27px; height:38px; }
 .duel-playing .dl-inspect { min-height:0; padding:10px 12px 12px; gap:10px; }
 .duel-playing .dl-inspect-art { height:112px; }
 .duel-playing .dl-inspect-identity h3 { font-size:15px; margin-top:8px; }
 .dl-table.obsidian.coop .dl-hint { display:none; }
}
@media(min-width:1200px) {
 .mini-duel.duel-playing.chat-open .mini-main { padding-right:350px; grid-template-columns:minmax(0,1fr) 200px; }
 .mini-duel.duel-playing.chat-open .dl-table { --piece-w:62px; }
 .mini-duel.duel-playing.chat-open .dl-board { gap:22px; }
 .mini-duel.duel-playing.chat-open .dl-deck,.mini-duel.duel-playing.chat-open .dl-hero-title { display:none!important; }
}
@media(max-width:1200px) and (min-width:961px) {
 .mini-duel.duel-playing .mini-main { grid-template-columns:minmax(0,1fr) 200px; }
 .dl-table.obsidian.coop .dl-hero-title { display:none; }
 .dl-table.obsidian.coop .dl-deck { display:none; }
 .dl-table.obsidian.coop .dl-hero { gap:7px; }
 .dl-table.obsidian .dl-hero-info strong em { font-size:10px; }
 .dl-table.obsidian .dl-board { gap:22px; }
}
@media(max-width:960px) {
 .mini-duel.duel-playing { height:auto; min-height:calc(100dvh - var(--header-h)); overflow:visible; }
 .mini-duel.duel-playing .game-body { overflow:visible; }
 .mini-duel.duel-playing .mini-main { grid-template-columns:minmax(0,1fr); padding:8px; gap:10px; }
 .mini-duel.duel-playing.coop .mini-main { flex:none; }
 .dl-table.obsidian { --piece-w:72px; --hero-size:52px; height:auto; min-height:0; padding:14px 18px; grid-template-rows:auto minmax(120px,auto) auto minmax(148px,auto) auto; }
 .mini-duel.duel-playing .dl-side { display:flex; height:clamp(420px,70dvh,600px); }
 .duel-playing .dl-inspect { min-height:0; border:0; }
 .duel-playing .dl-inspect { max-height:none; }
 .duel-playing .dl-inspect-description { max-height:none; }
 .duel-playing .dl-side .dl-log { max-height:none; }
 .duel-playing .dl-inspect .dl-card { --w:140px; }
 .dl-table.obsidian .dl-hand { --hand-card-size:100px; }
 .dl-table.obsidian .dl-board { gap:24px; }
 .dl-table.obsidian.coop .dl-hint { display:none; }
}
@media(max-width:640px) {
 .mini-duel.duel-playing .gamebar { height:42px; }
 .mini-duel.duel-playing .mini-main { padding:4px; }
 .dl-table.obsidian { --piece-w:65px; --hero-size:42px; padding:13px 12px 9px; border-radius:13px; gap:7px; grid-template-rows:auto minmax(112px,auto) auto minmax(142px,auto) auto; }
 .dl-table.obsidian .dl-row-top { gap:5px; padding:0 0 8px; flex-wrap:wrap; }
 .dl-table.obsidian .dl-row-top>.dl-hero { flex:1; }
 .dl-table.obsidian .dl-hero { gap:7px; }
 .dl-table.obsidian .dl-hero-info strong { font-size:12px; }
 .dl-table.obsidian .dl-hero-info strong em { font-size:10px; }
 .dl-table.obsidian .dl-hero-title { display:none; }
 .dl-table.obsidian .dl-hero-hp { min-width:23px; height:26px; }
 .dl-table.obsidian .dl-hero-hp b { font-size:14px; }
 .dl-table.obsidian .dl-mana { gap:2px; }
 .dl-table.obsidian .dl-mana i { width:7px; height:9px; }
 .dl-table.obsidian .dl-mana b { font-size:11px; margin-left:3px; }
 .dl-table.obsidian .dl-power { width:35px; }
 .dl-table.obsidian .dl-power-face { width:30px; height:30px; }
 .dl-table.obsidian .dl-power-cost { width:16px; height:18px; }
 .dl-table.obsidian .dl-power-cost b { font-size:10px; }
 .dl-table.obsidian .dl-deck { display:none!important; }
 .dl-table.obsidian .dl-foe-hand { margin-left:0; padding:0 3px 0 10px; }
 .dl-table.obsidian .dl-foe-hand .dl-back { width:20px; height:29px; margin-left:-11px; }
 .dl-table.obsidian .dl-board,.dl-table.obsidian.coop .dl-board { display:grid; grid-template-columns:repeat(3,max-content); justify-content:center; gap:38px 25px; padding:24px 5px 30px; }
 .dl-table.obsidian .dl-board.mine { padding-bottom:39px; }
 .dl-table.obsidian .dl-empty { grid-column:1/-1; font-size:11px; }
 .dl-table.obsidian .dl-arena-count { font-size:10px; top:-3px; }
 .dl-table.obsidian .dl-mid { gap:5px; padding:8px 0; }
 .dl-table.obsidian .dl-turn { font-size:10px; padding:6px 8px; }
 .dl-table.obsidian .dl-end { --end-width:150px; font-size:11px; border-radius:10px; }
 .dl-turn-order { flex-basis:100%; order:4; margin:2px auto 0; max-width:100%; padding:4px 10px; }
 .dl-order-player b { max-width:86px; font-size:10px; }
 .dl-order-face { width:19px; height:19px; }
 .dl-table.obsidian .dl-team-heroes { gap:6px; }
 .dl-table.obsidian .dl-me,.dl-table.obsidian .dl-ally { padding:8px; border-radius:9px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-hero { display:grid; grid-template-columns:36px minmax(0,1fr); gap:7px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-portrait { --size:36px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-hero-info strong { font-size:11px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-hero-info strong em { display:block; font-size:9px; margin-top:2px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-powers { grid-column:1/-1; padding-top:5px; border-top:1px solid #bba26622; justify-content:center; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-power { width:70px; display:flex; gap:5px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-power-face { flex:none; width:25px; height:25px; }
 .dl-table.obsidian.coop .dl-team-heroes .dl-power-name { display:block; font-size:9px; max-width:62px; }
 .dl-table.obsidian .dl-hand { --hand-card-size:78px; padding:12px 12px 9px; border-radius:10px; }
 .dl-table.obsidian .dl-slot:hover .dl-card { transform:translateY(-12px) scale(1.06); }
 .duel-playing .dl-inspect-label,.duel-playing .dl-side .ranking-head { padding:10px 10px 0; font-size:10px; }
 .duel-playing .dl-inspect { padding:12px; min-height:0; border-bottom:1px solid #bd9b552e; }
 .duel-playing .dl-inspect-art { height:160px; }
 .duel-playing .dl-inspect > small { font-size:11px; }
 .duel-playing .dl-log { font-size:11px; padding:6px 10px; max-height:180px; }
}
@media(prefers-reduced-motion:reduce) { .dl-table.obsidian .dl-slot:hover .dl-card { transition:none; } .dl-table.obsidian .dl-end { transition:none; } .dl-table.obsidian .dl-end.nudge { animation:none; } }
