/* A single, compact arena for campaign and online play. Card artwork stays 2:3. */
body[data-duel-active="true"] .topbar{height:48px;padding:0 24px}
body[data-duel-active="true"] .gi-wordmark{width:112px;height:40px}
body[data-duel-active="true"] .topbar .breadcrumb{font-size:8px}
body[data-duel-active="true"] .sidebar.game-nav{min-height:43px;padding:3px 24px}
body[data-duel-active="true"] .nav-item{padding:7px 12px;margin:0;font-size:15px}
body[data-duel-active="true"] .sidebar-podcast{display:none}
body[data-duel-active="true"] .oz-nav-podcast{display:none!important}
body[data-duel-active="true"] .oz-mobile-podcast{display:none}
body[data-duel-active="true"] .main-content{max-width:1500px;padding:9px 20px 3px}
body[data-duel-active="true"] .mobile-nav{display:none}
.duel-layout{--duel-card-width:clamp(70px,calc((100dvh - 402px)/4.42),140px);--duel-hand-width:clamp(78px,calc(var(--duel-card-width)*.94),124px);display:grid!important;grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:'heading heading' 'arena utility' 'hand utility';grid-template-rows:auto auto auto;gap:8px 14px;max-width:none;margin:0 auto;align-items:start;min-width:0}
.duel-side{grid-area:utility;position:relative;align-self:stretch;min-height:0;min-width:0}
.duel-side-content{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}
.duel-side-content>.duel-narration{flex:none}
.duel-heading{grid-area:heading;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 2px}
.duel-heading>.battle-top,.duel-heading>.battle-heading{margin:0;flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.duel-heading h1,.duel-heading h2{font:900 25px/1 'Barlow Condensed',sans-serif!important;letter-spacing:0;text-transform:uppercase;margin:0}
.duel-heading .eyebrow{font-size:8px!important;letter-spacing:.7px;margin:0 0 3px!important}
.duel-heading p,.duel-heading .battle-heading>div>span{font-size:10px!important;margin:4px 0 0!important;color:#a8c2a5}
.duel-heading .btn{min-height:36px;padding:8px 12px;font-size:13px;white-space:nowrap}
.duel-heading-actions,.duel-exit-actions{display:flex;align-items:center;gap:8px;flex:none}
.duel-heading-actions [data-online-countdown]{font-size:17px;min-width:39px;padding:3px 5px}
.duel-status{flex-shrink:0}
.duel-status-label{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #638446;border-radius:6px;background:#192b1b;color:#d5f393;font:800 15px 'Barlow Condensed',sans-serif;letter-spacing:.5px}
.duel-status .online-turn-status{margin:0;min-height:36px;padding:6px 10px;gap:6px}
.duel-status .online-turn-status strong{font-size:16px}
.duel-status .online-turn-status span{display:none}
.duel-arena{grid-area:arena;min-width:0;position:relative}
.duel-arena>.battle-field,.duel-arena>.battle-board{display:grid;gap:7px;margin:0;padding:9px 12px;position:relative;overflow:hidden;border:1px solid #5d8144;border-radius:10px;isolation:isolate;background:radial-gradient(ellipse at center,#25492d80,#09160f 80%),linear-gradient(#17281d,#101914);box-shadow:inset 0 0 45px #0008,0 8px 24px #0004}
.duel-arena>.battle-board::before{content:'';position:absolute;z-index:-1;width:min(80%,440px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #9ce95523;border-radius:50%;background:repeating-conic-gradient(from 0deg,#adff7515 0 1deg,transparent 1deg 45deg);box-shadow:0 0 0 24px #77e36506,0 0 0 25px #8fbf6023,0 0 0 80px #6da74608,0 0 0 81px #5df5d31a;pointer-events:none}
.duel-layout .leader{display:flex;align-items:center;gap:8px;width:100%;margin:0!important;min-height:34px;padding:4px 8px;border-radius:5px;text-align:left}
.duel-layout .leader-portrait{width:27px;height:27px;border-width:1px;transform:none;flex:none}
.duel-layout .leader-name{font-size:16px;min-width:80px;max-width:200px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.duel-layout .leader-health{width:130px;max-width:30%;flex-shrink:0}
.duel-layout .leader-health .row{font-size:12px;line-height:1;margin-bottom:3px}
.duel-layout .leader-health .icon{width:12px;height:12px}
.duel-layout .hp-bar{height:4px}
.duel-layout .aura-display{margin-left:auto;font-size:10px!important;gap:3px;flex-shrink:0}
.duel-layout .aura-display small{font-size:11px}
.duel-layout .aura-orb{height:8px;width:6px}
.duel-layout .board{display:grid;grid-template-columns:repeat(3,var(--duel-card-width))!important;justify-content:center;gap:12px;margin:0;padding:0;min-width:0}
.duel-layout .board .slot,.duel-layout .board .unit-card{width:var(--duel-card-width);aspect-ratio:2/3;min-width:0;min-height:0;height:calc(var(--duel-card-width)*1.5);position:relative}
.duel-layout .board .slot.empty{padding:0;border:1px dashed #65834670;border-radius:8px;background:#07160f3a}
.duel-layout .board .game-card{width:100%!important;aspect-ratio:2/3;height:auto;min-width:0}
.duel-layout .board-divider,.duel-layout .battle-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;min-height:11px;font:700 9px/1 'Barlow Condensed',sans-serif;color:#80e3ce;letter-spacing:1.3px}
.duel-layout .board-divider .icon,.duel-layout .battle-divider .icon{width:13px;height:13px}
.duel-layout .draw-pile{display:none}
.duel-layout .card-cost{font-size:15px;width:23px;height:25px;left:5px;top:5px}
.duel-layout .card-rarity{font-size:8px;top:7px;right:5px}
.duel-layout .card-label{padding:3px 5px 2px}
.duel-layout .card-label h3{font-size:clamp(11px,calc(var(--duel-card-width)*.115),16px);line-height:1.04;white-space:normal}
.duel-layout .card-type{font-size:6px;letter-spacing:.1px;margin-top:3px}
.duel-layout .card-stats{padding:4px 5px;font-size:10px;gap:3px}
.duel-layout .card-stats>span:last-child{display:none}
.duel-layout .card-stats .icon{width:11px;height:11px}
.duel-layout .unit-inspect{top:30px;right:4px;width:28px;height:28px;z-index:4}
.duel-layout .unit-inspect .icon{width:14px;height:14px}
.duel-layout .unit-keywords{top:-3px;bottom:auto;font-size:7px;max-width:calc(100% - 12px);left:7px}
.duel-layout .unit-keywords .pill{font-size:7px;padding:2px 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.duel-layout .unit-status{top:31px;right:-6px;min-width:18px;height:18px;font-size:10px;z-index:5}
.duel-hand-dock{grid-area:hand;min-width:0;padding:8px 11px 4px;background:linear-gradient(110deg,#13261c,#0a1811);border:1px solid #3d5d3c;border-radius:9px}
.duel-controls{margin:0 0 5px}
.duel-layout .battle-actions{position:static;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0;margin:0;border:0;box-shadow:none;background:none;border-radius:0}
.duel-layout .battle-actions>p{font-size:11px;line-height:1.35;color:#aecaa4;min-width:0}
.duel-layout .battle-actions .action-copy{font-size:11px;line-height:1.25;min-width:0;flex:1}
.duel-layout .battle-actions .action-copy>strong{font-size:16px}
.duel-layout .battle-actions .action-copy small{font-size:10px;line-height:1.3;display:block;margin-top:2px}
.duel-layout .battle-actions>.btn{font-size:16px;padding:10px 15px;min-height:40px;white-space:nowrap;flex:none}
.duel-layout .battle-actions .btn.ghost{font-size:12px;padding:8px}
.duel-layout .hand-label{font-size:11px;letter-spacing:.3px;margin:5px 0;display:flex;justify-content:space-between;gap:8px}
.duel-layout .hand-label>span:last-child{font-size:10px}
.duel-layout .hand{display:flex;align-items:flex-start;gap:9px;min-height:0;height:auto;padding:4px 3px 7px;margin:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#638443 #132116}
.duel-layout .hand .game-card{width:var(--duel-hand-width)!important;flex:0 0 var(--duel-hand-width)!important;aspect-ratio:2/3;min-width:0;scroll-snap-align:start}
.duel-layout .hand .game-card:hover,.duel-layout .hand .game-card.selected{transform:translateY(-2px)}
.duel-narration{grid-area:narration;min-width:0}
.duel-narration .intent{margin:0;padding:10px;font-size:12px;line-height:1.4;min-height:64px;display:flex;gap:7px;border-radius:8px}
.duel-narration .intent .icon{width:15px;height:15px;flex:none}
.duel-narration .opponent-step{display:grid;margin:0;min-height:0;grid-template-columns:40px minmax(0,1fr);gap:9px;padding:10px;border-radius:8px}
.duel-narration .opponent-mini{width:40px;aspect-ratio:2/3;height:auto;border-radius:4px;padding:0;align-self:start}
.duel-narration .opponent-mini img{width:100%;height:100%;display:block;object-fit:cover}
.duel-narration .opponent-step h3{font-size:20px;line-height:1.05}
.duel-narration .opponent-step-top strong{font-size:9px;letter-spacing:.4px}
.duel-narration .opponent-description,.duel-narration .opponent-outcomes{font-size:12px;line-height:1.45;margin-top:6px}
.duel-narration .is-own{border-color:#6f9940;background:linear-gradient(105deg,#233719,#10241b)}
.duel-narration .online-playback{margin-top:4px;padding:5px 8px;border:1px solid #466333;border-radius:6px}
.duel-rail{grid-area:rail;min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;flex:1;overflow:auto;scrollbar-width:thin}
.duel-history,.duel-chat-disclosure{border:1px solid #36583d;background:#0d1c14;border-radius:8px;overflow:hidden;margin:0;flex:none}
.duel-history>summary,.duel-chat-disclosure>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;padding:10px;color:#b7d7a6;font-size:12px;min-height:40px}
.duel-history>summary:after,.duel-chat-disclosure>summary:after{content:'+';margin-left:4px;color:#caff32;font-size:19px;line-height:1}
.duel-history[open]>summary:after,.duel-chat-disclosure[open]>summary:after{content:'−'}
.duel-history summary>span,.duel-chat-disclosure summary>span{margin-left:auto;color:#89a78d;font-size:9px}
.duel-history summary .icon,.duel-chat-disclosure summary .icon{width:15px;height:15px}
.duel-history-list{max-height:240px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.duel-history-empty{padding:12px;font-size:11px;line-height:1.5}
.duel-history-list .online-move{grid-template-columns:31px minmax(0,1fr);padding:10px 8px;gap:7px;border-top:1px solid #294232}
.duel-history-list .online-move-art{width:31px}
.duel-history-list .online-move h4{font-size:17px}
.duel-history-list .online-move ul{font-size:11px}
.duel-history-list .online-move-owner{font-size:9px;gap:4px 7px}
.duel-history-entry{padding:9px;border-top:1px solid #294232}
.duel-history-meta{font-size:9px;color:#95b28f;line-height:1.3;margin-bottom:5px}
.duel-history-entry .opponent-step{min-height:0;margin:0;padding:8px;gap:8px;box-shadow:none}
.duel-history-entry .opponent-mini{width:30px;flex-basis:30px}
.duel-history-entry .opponent-step h3{font-size:17px}
.duel-history-entry .opponent-description,.duel-history-entry .opponent-outcomes{font-size:11px;line-height:1.4}
.duel-history-entry .opponent-step-top{font-size:8px;letter-spacing:.4px}
.duel-rail .online-chat{padding:10px;border:0;background:transparent;border-radius:0;box-shadow:none;position:static!important}
.duel-rail .online-chat .section-head{display:none}
.duel-rail .online-messages{height:150px!important;max-height:150px}
.duel-rail .online-messages p{font-size:11px;padding:8px 0;gap:3px}
.duel-rail .online-messages time{font-size:9px}
.duel-rail .online-chat-form{display:grid;grid-template-columns:minmax(0,1fr) 39px;gap:6px;margin-top:8px}
.duel-rail .online-chat-form input{padding:9px 8px;font-size:14px;min-height:38px}
.duel-rail .online-chat-form .btn{font-size:0;padding:9px;min-height:38px}
.duel-rail .online-chat-form .btn .icon{width:16px;height:16px}
.duel-footnote{font-size:10px;line-height:1.4;color:#8fae89;padding:2px 5px}
.duel-footnote .online-timer-rule{font-size:10px;margin:0;line-height:1.5}
.duel-footnote .battle-log{margin:0;display:flex;flex-wrap:wrap;gap:8px}
.duel-footnote .battle-log>span{flex-basis:100%}
.duel-result-overlay{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:12px;background:#08110eea;border-radius:9px;overflow:auto}
.duel-result-overlay .online-result{max-width:490px;width:100%;margin:0;padding:18px;border:0;background:transparent}
.duel-result-overlay .online-result h2{font-size:36px}
.duel-result-overlay .online-result-stats{margin:11px 0}
.duel-result-overlay .podcast-result{margin-top:15px;padding-top:12px}
.duel-layout[data-duel-view='finished'] .duel-hand-dock{opacity:.58}
@media(max-width:1040px){.duel-layout{grid-template-columns:minmax(0,1fr) 225px;gap:8px 10px}.duel-layout .leader-name{max-width:140px}.duel-status{display:none}}
@media(max-width:760px){
 body[data-duel-active="true"] .topbar{display:flex;height:48px;min-height:48px;padding:0 10px;gap:6px}
 body[data-duel-active="true"] .topbar .gi-wordmark{width:98px;height:37px}
 body[data-duel-active="true"] .topbar .resource{font-size:11px;padding:5px;gap:3px}
 body[data-duel-active="true"] .main-content{padding:7px 9px 12px}
 body[data-duel-active="true"] .account-discovery-btn{min-width:0}
 body[data-duel-active="true"] .topbar>.header-account{border:0;padding:0;grid-column:auto;flex:none;gap:0}
 body[data-duel-active="true"] .header-account .account-user-link{width:32px;max-width:32px;min-height:32px;padding:5px;justify-content:center}
 body[data-duel-active="true"] .account-user-link>span,body[data-duel-active="true"] .account-user-link>.icon:last-child{display:none}
 body[data-duel-active="true"] .header-account .account-header-signup{display:none}
 body[data-duel-active="true"] .header-account .account-header-login{min-height:32px;padding:5px;font-size:12px}
 .duel-layout{--duel-card-width:clamp(72px,calc((100dvh - 588px)/3),102px);--duel-hand-width:clamp(82px,calc(var(--duel-card-width)*.94),96px);grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'arena' 'narration' 'hand' 'rail';grid-template-rows:auto;gap:6px}
 .duel-side,.duel-side-content{display:contents}
 .duel-heading{min-height:40px;padding:0}
 .duel-heading h1,.duel-heading h2{font-size:22px!important}
 .duel-heading .eyebrow{font-size:7px!important;max-width:250px;line-height:1.2;letter-spacing:.4px}
 .duel-heading .btn{font-size:12px;padding:8px;min-height:36px}
 .duel-heading-actions,.duel-exit-actions{gap:4px}
 .duel-heading-actions [data-online-countdown]{font-size:16px;min-width:34px}
 .duel-heading p,.duel-heading .battle-heading>div>span{font-size:9px!important;margin-top:3px!important}
 .duel-arena>.battle-field,.duel-arena>.battle-board{padding:7px 8px;gap:6px;border-radius:8px;border-color:#344e3b;background:linear-gradient(#102018,#0c1913);box-shadow:none}
 .duel-arena>.battle-field::before,.duel-arena>.battle-board::before{opacity:.15;box-shadow:none;background:none}
 .duel-layout .leader{min-height:31px;padding:4px 6px;gap:6px;border-color:transparent;box-shadow:none}
 .duel-layout .leader.enemy{background:#35222b80}
 .duel-layout .leader.player{background:#213a2780}
 .duel-layout .leader.targetable{border-color:#cce78c;outline:2px solid #cce78c;background:#32432b}
 .duel-layout .leader-portrait{width:24px;height:24px}
 .duel-layout .leader-name{font-size:13px;min-width:60px;max-width:100px}
 .duel-layout .leader-health{width:90px;max-width:28%}
 .duel-layout .leader-health .row{font-size:10px;gap:5px}
 .duel-layout .leader-shield{font-size:10px}
 .duel-layout .aura-display{font-size:9px!important}
 .duel-layout .aura-display small{display:inline;font-size:9px;line-height:1}
 .duel-layout .aura-orb{display:none}
 .duel-layout .board{gap:10px}
 .duel-layout .board .slot.empty{border:1px solid #5c81652b;background:#0b18123a;box-shadow:none;color:#699c7b55}
 .duel-layout .board .slot.empty::before,.duel-layout .board .slot.empty:not(.card-drop-zone)::after{display:none}
 .card-is-dragging .duel-layout .board .slot.empty.card-drop-zone::after{display:block}
 .duel-layout .board .slot.empty .icon{width:17px;height:17px;opacity:.45}
 .duel-layout .board-divider,.duel-layout .battle-divider{min-height:9px;font-size:0;letter-spacing:0;gap:7px;opacity:.6}
 .duel-layout .board-divider .icon,.duel-layout .battle-divider .icon{width:11px;height:11px}
 .duel-layout .card-cost{font-size:13px;width:20px;height:22px;left:4px;top:4px}
 .duel-layout .game-card{border-color:#557460;box-shadow:0 2px 6px #0004}
 .duel-layout .game-card .card-inner{box-shadow:none;border-color:#ffffff14}
 .duel-layout .game-card .card-inner::after{box-shadow:none}
 .duel-layout .card-rarity,.duel-layout .card-label .card-type{display:none}
 .duel-layout .card-label h3{font-size:12px}
 .duel-layout .card-stats{font-size:9px;padding:3px 4px}
 .duel-layout .card-stats .icon{width:10px;height:10px}
 .duel-layout .unit-inspect{top:27px;right:2px;width:29px;height:29px;background:#08180fd9;border-color:#607b6660;box-shadow:none}
 .duel-layout .unit-card.ready::after{content:'';width:20px;height:3px;padding:0;bottom:-1px;border:0;border-radius:2px;background:#b7e680;box-shadow:none}
 .duel-layout .unit-card.ready .game-card{border-color:#b7e680}
 .duel-layout .unit-card.unit-selected .game-card,.duel-layout .hand .game-card.selected{border-color:#cbff32;box-shadow:0 0 0 2px #cbff3238}
 .duel-layout .unit-status{top:28px}
 .duel-hand-dock{padding:7px 8px 3px;border-color:#334d39;background:#102018}
 .duel-layout .battle-actions{min-height:40px;gap:7px;flex-wrap:nowrap}
 .duel-layout .battle-actions>p{font-size:10px;line-height:1.3;max-width:none;flex:1}
 .duel-layout .battle-actions .action-copy{font-size:11px;flex-basis:auto;min-width:0}
 .duel-layout .battle-actions .action-copy>strong{font-size:14px}
 .duel-layout .battle-actions .action-copy small{font-size:9px;line-height:1.25}
 .duel-layout .battle-actions>.btn{font-size:14px;padding:9px 12px;min-height:41px}
 .duel-layout .battle-actions .btn.ghost{font-size:10px;padding:5px}
 .duel-layout .battle-actions [data-action='inspect-attacker'],.duel-layout .battle-actions [data-action='inspect-selected']{font-size:0;width:28px;min-height:36px;padding:5px;flex:none}
 .duel-layout .battle-actions [data-action='inspect-attacker']:not(:has(.icon)):before,.duel-layout .battle-actions [data-action='inspect-selected']:not(:has(.icon)):before{content:'⌕';font:700 22px/1 sans-serif}
 .duel-layout .battle-actions .btn[data-action='cancel-selection']{font-size:0;width:24px;padding:4px;min-height:36px;flex:none}
 .duel-layout .battle-actions [data-action='cancel-selection']:before{content:'×';font:500 22px/1 sans-serif}
 .duel-layout .battle-actions [data-action='cancel-selection']>.icon{display:none}
 .duel-layout .battle-actions:has([data-action='inspect-attacker']) .action-copy small,.duel-layout .battle-actions:has([data-action='inspect-selected']) .action-copy small{display:none}
 .duel-layout .battle-actions:has([data-action='inspect-attacker']) .action-copy>strong,.duel-layout .battle-actions:has([data-action='inspect-selected']) .action-copy>strong{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:30px}
 .duel-layout .hand-label{font-size:10px;margin:4px 0 2px;gap:5px}
 .duel-layout .hand-label>span:last-child{font-size:9px}
 .duel-layout .hand{gap:8px;padding:4px 2px 6px;scroll-snap-type:x proximity}
 .duel-narration .intent{min-height:35px;padding:7px 8px;font-size:10px;align-items:center}
 .duel-narration .opponent-step{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:6px 8px;border-width:0 0 0 2px;border-radius:4px;background:#102018;box-shadow:none}
 .duel-narration .opponent-mini{width:30px}
 .duel-narration .opponent-step.is-complete .opponent-mini{color:#b7e680;background:none;border:0;aspect-ratio:auto;height:24px;align-self:center}
 .duel-narration .opponent-step.is-complete .opponent-mini span{font-size:21px}
 .duel-narration .opponent-step h3{font-size:17px;margin-top:2px;letter-spacing:0}
 .duel-narration .opponent-step-top strong{font-size:8px;line-height:1.2;letter-spacing:.15px;color:#b2c3af}
 .duel-narration .opponent-description,.duel-narration .opponent-outcomes{font-size:10px;line-height:1.3;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .duel-narration .opponent-outcomes{display:none}
 .duel-narration .opponent-step.is-complete .opponent-description{display:none}
 .duel-narration .opponent-progress{font-size:8px;min-width:29px}
 .duel-narration .online-playback{font-size:9px;padding:3px 6px;margin-top:3px}
 .duel-narration .online-playback button{padding:3px;font-size:9px}
 .duel-rail{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:none;overflow:visible;align-items:start}
 .duel-history,.duel-chat-disclosure{overflow:hidden;min-width:0;border-color:#334d39;background:#0d1b13}
 .duel-history[open],.duel-chat-disclosure[open]{grid-column:1/-1}
 .duel-history>summary,.duel-chat-disclosure>summary{font-size:11px;padding:8px;min-height:39px;gap:5px}
 .duel-history summary>span,.duel-chat-disclosure summary>span{font-size:8px}
 .duel-rail .online-chat-form input{font-size:16px}
 .duel-history-list{max-height:250px}
 .duel-footnote{grid-column:1/-1;font-size:9px;padding:3px}
 .duel-footnote .online-timer-rule{font-size:9px}
 .duel-footnote .online-timer-rule span{flex-basis:auto;margin-left:0}
 .duel-result-overlay{padding:7px}
 .duel-result-overlay .online-result{padding:10px 6px}
 .duel-result-overlay .online-result h2{font-size:28px}
 .duel-result-overlay .online-result p{font-size:11px}
 .duel-result-overlay .online-result-stats>span{font-size:18px;padding:7px 10px}
 .duel-result-overlay .online-result .btn{font-size:14px;padding:10px 14px}
}
@media(max-height:690px) and (min-width:761px){body[data-duel-active='true'] .sidebar.game-nav{display:none}body[data-duel-active='true'] .main-content{padding-bottom:0}.duel-layout{--duel-card-width:68px;--duel-hand-width:72px}.duel-heading{min-height:35px}.duel-heading h1,.duel-heading h2{font-size:22px!important}.duel-layout .leader{min-height:30px}.duel-layout .leader-portrait{width:23px;height:23px}.duel-layout .leader-name{font-size:14px}.duel-narration .opponent-description,.duel-narration .opponent-outcomes{font-size:11px}.duel-rail{max-height:calc(100dvh - 200px)}}
@media(max-height:700px) and (max-width:760px){
 body[data-duel-active='true'] .topbar{height:43px;min-height:43px}
 body[data-duel-active='true'] .main-content{padding-top:5px;padding-bottom:7px}
 .duel-layout{--duel-card-width:60px;--duel-hand-width:76px;gap:5px}
 .duel-heading{min-height:37px}
 .duel-heading h1,.duel-heading h2{font-size:20px!important}
 .duel-heading .btn{font-size:11px;padding:7px}
 .duel-arena>.battle-field,.duel-arena>.battle-board{padding:6px;gap:5px}
 .duel-layout .leader{min-height:28px;padding:3px 5px}
 .duel-layout .leader-portrait{width:21px;height:21px}
 .duel-layout .leader-name{font-size:12px}
 .duel-layout .card-label h3{font-size:10px}
 .duel-layout .card-stats{min-height:19px;font-size:8px;padding:3px}
 .duel-layout .unit-inspect{width:27px;height:27px;top:24px}
 .duel-layout .unit-keywords .pill{font-size:6px;padding:1px 3px}
 .duel-layout .unit-status{top:24px}
 .duel-layout .hand .card-label h3{font-size:12px}
 .duel-narration .opponent-description{-webkit-line-clamp:1}
 .duel-layout .hand-label{margin-top:3px}
 .duel-rail .duel-history>summary,.duel-rail .duel-chat-disclosure>summary{min-height:35px;padding:6px 8px}
}
@media(max-height:500px) and (min-width:761px) and (max-width:1100px){
 body[data-duel-active='true'] .topbar{height:40px;min-height:40px}
 body[data-duel-active='true'] .sidebar.game-nav{display:none}
 body[data-duel-active='true'] .main-content{padding:5px 8px 8px}
 body[data-duel-active='true'] .gi-wordmark{width:98px;height:35px}
 .duel-layout{--duel-card-width:clamp(56px,calc((100dvh - 210px)/3),80px);--duel-hand-width:78px;grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:'heading heading' 'arena hand' 'narration rail';grid-template-rows:auto auto auto;gap:6px 9px}
 .duel-side,.duel-side-content{display:contents}
 .duel-status{display:none}
 .duel-heading{min-height:35px}
 .duel-heading h1,.duel-heading h2{font-size:21px!important}
 .duel-heading .btn{min-height:32px;padding:6px 9px}
 .duel-arena>.battle-field,.duel-arena>.battle-board{padding:6px;gap:5px}
 .duel-layout .leader{min-height:27px;padding:3px 5px;gap:6px}
 .duel-layout .leader-portrait{width:20px;height:20px}
 .duel-layout .leader-name{font-size:12px}
 .duel-layout .leader-health{width:105px}
 .duel-layout .leader-health .row{font-size:10px}
 .duel-layout .board{gap:10px}
 .duel-layout .card-label h3{font-size:10px}
 .duel-layout .card-stats{min-height:19px;font-size:8px;padding:3px}
 .duel-layout .card-cost{width:18px;height:20px;font-size:12px}
 .duel-layout .unit-inspect{top:23px;width:26px;height:26px}
 .duel-layout .unit-keywords .pill{font-size:6px;padding:1px 3px}
 .duel-hand-dock{padding:7px 8px 4px}
 .duel-layout .battle-actions{min-height:40px;flex-wrap:wrap;gap:5px}
 .duel-layout .battle-actions>p,.duel-layout .battle-actions .action-copy{font-size:10px;flex-basis:100%;line-height:1.3}
 .duel-layout .battle-actions>.btn{font-size:14px;padding:9px 11px;min-height:40px}
 .duel-layout .battle-actions .action-copy>strong{font-size:14px}
 .duel-layout .battle-actions .action-copy small{font-size:10px}
 .duel-layout .hand-label{font-size:10px;margin:4px 0}
 .duel-layout .hand-label>span:last-child{font-size:9px}
 .duel-layout .hand .card-label h3{font-size:12px}
 .duel-layout .hand{padding:3px 2px 7px;gap:8px}
 .duel-narration .opponent-description,.duel-narration .opponent-outcomes{font-size:11px}
 .duel-rail{display:flex;max-height:none;overflow:visible}
}
/* Phone controls use the visible viewport, including mobile browser chrome. */
@media(max-width:760px){
 body[data-duel-active='true'] .topbar{height:34px;min-height:34px;padding:0 8px;gap:5px}
 body[data-duel-active='true'] .topbar .gi-wordmark{width:85px;height:31px}
 body[data-duel-active='true'] .topbar .resource{font-size:10px;padding:3px}
 body[data-duel-active='true'] .resources{gap:6px}
 body[data-duel-active='true'] .topbar .icon-btn{width:25px;height:25px}
 body[data-duel-active='true'] .main-content{padding:5px 7px max(6px,env(safe-area-inset-bottom))}
 .duel-layout{--duel-card-width:clamp(52px,calc((var(--duel-viewport-height,100dvh) - 365px)/4.5),88px);--duel-hand-width:clamp(64px,calc(var(--duel-card-width)*1.05),92px);gap:5px}
 .duel-heading{min-height:33px}
 .duel-heading h1,.duel-heading h2{font-size:19px!important;line-height:1.05}
 .duel-heading .eyebrow{font-size:6px!important;margin-bottom:2px!important}
 .duel-heading .btn{min-height:31px;font-size:10px;padding:6px;gap:4px}
 .duel-heading .btn .icon{width:13px;height:13px}
 .duel-heading-actions [data-online-countdown]{font-size:14px;min-width:30px;padding:3px}
 .duel-arena>.battle-field,.duel-arena>.battle-board{padding:5px 6px;gap:4px}
 .duel-layout .leader{min-height:27px;padding:3px 4px;gap:5px}
 .duel-layout .leader-portrait{width:20px;height:20px}
 .duel-layout .leader-name{font-size:11px;max-width:100px;min-width:50px}
 .duel-layout .leader-health{width:86px;max-width:29%}
 .duel-layout .leader-health .row{font-size:10px;margin-bottom:2px}
 .duel-layout .hp-bar{height:3px}
 .duel-layout .board{gap:10px}
 .duel-layout .board-divider,.duel-layout .battle-divider{min-height:7px}
 .duel-layout .board .card-label{bottom:21px;padding:3px 3px 2px}
 .duel-layout .board .card-label h3{font-size:10px;line-height:1.02}
 .duel-layout .board .card-stats{min-height:19px;padding:3px;font-size:9px}
 .duel-layout .board .card-cost{font-size:12px;width:18px;height:20px;left:3px;top:3px}
 .duel-layout .unit-inspect{display:none}
 .duel-layout .unit-status{top:4px;right:3px;width:auto;min-width:19px;height:18px;display:flex;align-items:center;justify-content:center;gap:2px;padding:2px 3px;border:1px solid #6bada170;border-radius:4px;background:#12342ef2;color:#b6ece2;font:700 9px/1 'Barlow',sans-serif;box-shadow:none;pointer-events:none}
 .duel-layout .unit-status .icon{width:10px;height:10px;flex:none}
 .duel-layout .unit-keywords{top:-3px;left:3px;max-width:calc(100% - 6px);right:auto;pointer-events:none}
 .duel-layout .unit-keywords .pill{font-size:6px;padding:1px 3px;line-height:1.2;background:#173328;color:#d8ebaf;border-color:#6082556b}
 .duel-layout .board .slot.targetable{border:2px solid #c9ed7c;background:#2a3d2555;cursor:pointer;box-shadow:inset 0 0 15px #b9dc7a15}
 .duel-layout .field-playable{border-radius:5px;outline:1px dashed #c9ed7c80;outline-offset:3px}
 .duel-layout .unit-card.unit-selected{transform:none;outline-offset:1px}
 .duel-layout .unit-card.targetable{outline-offset:1px;animation:none}
 .duel-layout .unit-card,.duel-layout .leader,.duel-layout .slot{touch-action:manipulation}
 .duel-hand-dock{padding:5px 6px 2px}
 .duel-layout .battle-actions{min-height:36px;gap:5px}
 .duel-layout .battle-actions>.btn{font-size:12px;padding:7px 10px;min-height:36px}
 .duel-layout .battle-actions>p,.duel-layout .battle-actions .action-copy{font-size:9px;line-height:1.25;min-width:0;flex-basis:auto}
 .duel-layout .battle-actions .action-copy>strong{font-size:12px}
 .duel-layout .battle-actions .action-copy small{font-size:9px}
 .duel-layout .battle-actions:has(.duel-play-confirm) .action-copy,.duel-layout .battle-actions:has(.duel-play-confirm)>p{display:none}
 .duel-layout .battle-actions .duel-play-confirm{margin-right:auto;min-width:61px;font-size:12px;padding:7px 9px}
 .duel-layout .battle-actions [data-action='inspect-selected'],.duel-layout .battle-actions [data-action='inspect-attacker'],.duel-layout .battle-actions [data-action='o-inspect-selection']{display:flex;align-items:center;justify-content:center;width:31px;min-height:36px;padding:6px;font-size:0;flex:none}
 .duel-layout .battle-actions [data-action='inspect-selected']>span,.duel-layout .battle-actions [data-action='o-inspect-selection']>span{display:none}
 .duel-layout .battle-actions [data-action='inspect-selected'] .icon,.duel-layout .battle-actions [data-action='o-inspect-selection'] .icon{width:16px;height:16px}
 .duel-layout .battle-actions [data-action='o-cancel']{width:26px;padding:5px;min-height:36px;font-size:0;flex:none}
 .duel-layout .battle-actions [data-action='o-cancel'] .icon{width:14px;height:14px}
 .duel-layout .hand-label{font-size:9px;margin:3px 0 1px}
 .duel-layout .hand-label>span:last-child{font-size:8px}
 .duel-layout .hand{gap:7px;padding:3px 2px 5px;min-height:0}
 .duel-layout .hand .card-label{bottom:21px;padding:3px 4px 2px}
 .duel-layout .hand .card-label h3{font-size:11px;line-height:1.02}
 .duel-layout .hand .card-stats{font-size:9px;padding:3px 4px;min-height:19px}
 .duel-layout .hand .game-card:hover{transform:none}
 .duel-layout .hand .game-card.selected{transform:translateY(-1px)}
 .duel-narration .opponent-step{grid-template-columns:22px minmax(0,1fr);gap:6px;padding:4px 6px}
 .duel-narration .opponent-mini{width:22px}
 .duel-narration .opponent-step h3{font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:1px}
 .duel-narration .opponent-step-top strong{font-size:7px}
 .duel-narration .opponent-description{font-size:9px;line-height:1.25;-webkit-line-clamp:1;margin-top:2px}
 .duel-narration .intent{font-size:9px;min-height:27px;padding:5px 7px}
 .duel-narration .online-playback{display:flex;align-items:center;justify-content:space-between;margin-top:2px;padding:2px 6px}
 .duel-history>summary,.duel-chat-disclosure>summary{min-height:32px;font-size:10px;padding:6px 7px;gap:4px}
 .duel-history summary>span,.duel-chat-disclosure summary>span{font-size:7px}
 .duel-history>summary:after,.duel-chat-disclosure>summary:after{font-size:16px}
 .duel-footnote{padding:1px 3px}
 .duel-footnote .online-timer-rule{font-size:8px;line-height:1.2}
 body[data-duel-active='true'] #toast{bottom:max(12px,env(safe-area-inset-bottom));font-size:12px}
}
@media(min-width:761px){.duel-layout .unit-status>.icon{display:none}}
