.web-duel-page{width:min(1480px,calc(100% - 32px));margin:0 auto 64px;color:#e8ddc9}.web-duel-page *{box-sizing:border-box}.web-duel-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;margin:8px 0 14px;border:1px solid rgba(218,171,60,.5);border-radius:10px;background:linear-gradient(115deg,rgba(44,19,67,.96),rgba(4,12,21,.96) 72%);box-shadow:0 18px 50px rgba(0,0,0,.32),inset 0 1px rgba(255,230,145,.08)}.web-duel-hero.compact{padding-block:22px}.web-duel-hero h1{margin:3px 0 8px;color:#ffd76b;font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:.98}.web-duel-hero p{max-width:820px;margin:0;color:#d7cdbd;line-height:1.55}.web-duel-kicker,.web-duel-panel-heading span:first-child{display:block;color:#c995ff;font-weight:800;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.web-duel-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.web-duel-page .gameplay-button{min-height:42px;padding:8px 13px;border:1px solid rgba(218,171,60,.52);border-radius:7px;background:rgba(3,8,15,.8);color:#f2d779;text-decoration:none}.web-duel-page .gameplay-button img{width:25px;height:25px;object-fit:contain}.web-duel-notice{margin:12px 0;padding:13px 16px;border:1px solid rgba(78,196,133,.45);border-radius:8px;background:rgba(13,79,47,.24);color:#d5f6df}.web-duel-notice.error{border-color:rgba(231,78,95,.55);background:rgba(112,23,37,.28);color:#ffd6db}.web-duel-notice.warning{border-color:rgba(241,186,65,.55);background:rgba(112,75,14,.25);color:#ffe3a0}.web-duel-notice.info{border-color:rgba(130,112,255,.5);background:rgba(44,31,105,.24);color:#ded8ff}.web-duel-notice a{color:#ffd76b}.web-duel-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.web-duel-stat-grid article{padding:14px 18px;border:1px solid rgba(218,171,60,.35);background:linear-gradient(135deg,rgba(23,13,38,.94),rgba(2,9,15,.96));min-height:74px}.web-duel-stat-grid strong{display:block;color:#ffd76b;font:700 1.45rem Georgia,serif}.web-duel-stat-grid span{color:#c8bcaa;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.web-duel-grid{display:grid;gap:12px;margin:12px 0}.web-duel-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.web-duel-panel{padding:18px;border:1px solid rgba(218,171,60,.38);border-radius:9px;background:linear-gradient(145deg,rgba(25,12,39,.96),rgba(2,10,16,.97));box-shadow:0 14px 36px rgba(0,0,0,.28)}.web-duel-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(218,171,60,.22)}.web-duel-panel-heading h2{margin:3px 0 0;color:#f4d36c;font:700 1.65rem Georgia,serif}.web-duel-count{display:grid!important;place-items:center;width:32px;height:32px;border:1px solid rgba(218,171,60,.45);border-radius:50%;color:#ffd76b!important;font-size:.9rem!important;letter-spacing:0!important}.web-duel-status,.connection-pill{padding:5px 9px;border:1px solid rgba(76,190,125,.45);border-radius:999px;color:#aaf0c3!important;background:rgba(18,80,49,.26);font-size:.67rem!important;letter-spacing:.08em!important;text-transform:uppercase}.web-duel-status.idle{border-color:rgba(218,171,60,.35);color:#d9c797!important;background:rgba(70,52,15,.2)}.web-duel-form,.challenge-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.web-duel-form label,.challenge-form label{display:grid;gap:6px}.web-duel-form label span,.challenge-form label span{font-size:.72rem;color:#d7bd79;text-transform:uppercase;letter-spacing:.07em}.challenge-form .wide{grid-column:1/-1}.web-duel-form input,.web-duel-form select,.challenge-form input,.challenge-form select,.inline-accept select{width:100%;min-height:42px;padding:9px 11px;border:1px solid rgba(218,171,60,.36);border-radius:6px;background:#030a10;color:#eee2cf}.web-duel-primary-button,.web-duel-secondary-button,.web-duel-danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border-radius:6px;text-decoration:none;font-weight:800;cursor:pointer}.web-duel-primary-button{border:1px solid #f1c34d;background:linear-gradient(#ffe080,#d69322);color:#1b1002}.web-duel-primary-button.large{min-height:50px;padding-inline:26px;font-size:1rem}.web-duel-secondary-button{border:1px solid rgba(218,171,60,.55);background:rgba(9,14,22,.85);color:#f0d880}.web-duel-danger-button{border:1px solid rgba(235,86,103,.6);background:rgba(104,21,34,.35);color:#ffd4d9}.web-duel-primary-button:disabled,.web-duel-secondary-button:disabled{opacity:.45;cursor:not-allowed}.queue-searching{display:flex;align-items:center;gap:15px;margin:18px 0}.queue-searching p{margin:4px 0 0;color:#bfb4a7}.queue-orb{width:54px;height:54px;border:3px solid rgba(156,88,255,.35);border-top-color:#ffd76b;border-radius:50%;box-shadow:0 0 24px rgba(137,67,255,.45);animation:duel-spin 1.4s linear infinite}@keyframes duel-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.queue-orb{animation:none}}.web-duel-list{display:grid;gap:8px;margin-top:12px}.web-duel-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid rgba(218,171,60,.2);border-radius:7px;background:rgba(1,7,13,.72)}details.web-duel-list-row{display:block}details.web-duel-list-row summary{display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none}details.web-duel-list-row summary::-webkit-details-marker{display:none}details.web-duel-list-row summary span:nth-child(2){flex:1}.web-duel-list-row strong{display:block;color:#f1d174}.web-duel-list-row small{display:block;margin-top:3px;color:#a99f93}.web-duel-list-row p{margin:7px 0 0;color:#d4c9b7}.web-duel-list-row em{color:#d9bd74;font-style:normal}.online-dot{width:10px;height:10px;border-radius:50%;background:#52df82;box-shadow:0 0 11px #52df82}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inline-accept{display:flex;gap:7px}.inline-accept select{min-width:180px}.web-duel-empty{padding:20px;border:1px dashed rgba(218,171,60,.26);border-radius:7px;text-align:center;color:#a9a095}.web-duel-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.web-duel-room-card{display:grid;gap:7px;padding:17px;border:1px solid rgba(218,171,60,.3);border-radius:8px;background:linear-gradient(135deg,rgba(46,19,69,.6),rgba(1,8,14,.9));text-decoration:none}.web-duel-room-card>span{color:#b78cff;font-size:.7rem;letter-spacing:.11em}.web-duel-room-card strong{color:#f5d36b;font-size:1.1rem}.web-duel-room-card small{color:#bdb3a6}.web-duel-room-card em{color:#f2dd9d;font-style:normal}.duel-ready-stage{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:stretch;gap:12px;margin:12px 0}.duelist-panel{padding:22px;border:1px solid rgba(218,171,60,.38);border-radius:9px;background:radial-gradient(circle at 10% 20%,rgba(121,48,174,.25),transparent 48%),rgba(4,10,17,.96)}.duelist-panel.opponent{background:radial-gradient(circle at 90% 20%,rgba(32,94,182,.28),transparent 48%),rgba(4,10,17,.96)}.duelist-panel.ready{border-color:rgba(72,218,126,.65);box-shadow:inset 0 0 25px rgba(46,173,99,.12)}.duelist-panel span{color:#c998ff;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.duelist-panel h2{margin:6px 0;color:#f4d36c;font:700 1.8rem Georgia,serif}.duelist-panel p{margin:0 0 16px;color:#bdb4a9}.duelist-panel>strong{color:#e3c36b;font-size:.75rem;letter-spacing:.12em}.duelist-panel.ready>strong{color:#78e6a2}.duel-versus{display:grid;place-items:center;align-content:center;color:#ffd76b}.duel-versus span{font:700 2.4rem Georgia,serif;text-shadow:0 0 18px #8f52ff}.duel-versus small{color:#a89d91;text-align:center}.ready-controls{display:flex;align-items:center;justify-content:space-between;gap:18px}.ready-controls h2{margin:4px 0;color:#f4d36c;font:700 1.7rem Georgia,serif}.ready-controls p{max-width:760px;margin:0;color:#bdb3a6}.ready-confirmed{padding:10px 13px;border:1px solid rgba(74,211,124,.45);border-radius:6px;color:#a9f0c2;background:rgba(23,94,55,.25)}.duel-table-shell{padding:18px;border:1px solid rgba(218,171,60,.42);border-radius:12px;background:radial-gradient(circle at 50% 45%,rgba(90,42,148,.28),transparent 35%),linear-gradient(180deg,#07101a,#020609);box-shadow:inset 0 0 60px rgba(0,0,0,.5)}.zone-label{margin-bottom:10px;color:#cfb36e;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.hidden-hand{display:flex;justify-content:center;gap:5px;min-height:72px}.card-back{width:47px;height:68px;border:2px solid #b98931;border-radius:6px;background:radial-gradient(circle,#7437bf,#15102b 55%,#02040a);box-shadow:0 5px 12px rgba(0,0,0,.45)}.duel-board-grid{display:grid;grid-template-columns:1fr 150px 1fr;gap:12px;align-items:center;margin:16px 0}.board-side{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:9px}.reserve-slot,.active-slot{display:grid;place-items:center;min-height:150px;border:1px dashed rgba(218,171,60,.38);border-radius:10px;color:#8f8378;background:rgba(1,6,11,.55)}.active-slot{min-height:190px;border-style:solid;color:#cbb36f}.board-center{text-align:center;color:#d6bd75}.board-center strong{display:block;margin:7px 0;color:#ffd76b;font-size:1.4rem}.board-center small{color:#92887d}.hand-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.duel-hand-card{padding:8px;border:1px solid rgba(218,171,60,.33);border-radius:8px;background:rgba(4,9,15,.9)}.duel-hand-card img,.card-art-placeholder{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:5px;background:linear-gradient(145deg,#25113d,#07101a)}.duel-hand-card strong,.duel-hand-card span,.duel-hand-card small{display:block;margin-top:5px}.duel-hand-card strong{color:#f0d174}.duel-hand-card span{color:#b9a9d3}.duel-hand-card small{color:#a99f93}.event-log ol{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.event-log li{display:flex;gap:12px;padding:10px;border-left:2px solid rgba(166,93,255,.55);background:rgba(2,8,14,.7)}.event-log li strong{min-width:160px;color:#ebcb70}.event-log li span{color:#bbb1a4}
@media(max-width:980px){.web-duel-hero,.ready-controls{align-items:flex-start;flex-direction:column}.web-duel-hero-actions{justify-content:flex-start}.web-duel-grid.two-column,.duel-ready-stage{grid-template-columns:1fr}.duel-versus{min-height:70px}.web-duel-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-board-grid{grid-template-columns:1fr}.board-center{order:2}.opponent-board{order:1}.your-board{order:3}.hand-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.web-duel-page{width:min(100% - 16px,1480px)}.web-duel-hero{padding:20px}.web-duel-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.web-duel-form,.challenge-form{grid-template-columns:1fr}.web-duel-room-grid{grid-template-columns:1fr}.web-duel-list-row,.row-actions,.inline-accept{align-items:stretch;flex-direction:column}.inline-accept select{min-width:0}.board-side{grid-template-columns:1fr}.reserve-slot,.active-slot{min-height:110px}.hand-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.event-log li{display:grid}.event-log li strong{min-width:0}}

/* Pass 5 authoritative turn engine */
.duelist-resources{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0;color:#f7d77b;font-size:.82rem}.duelist-resources span{border:1px solid rgba(218,169,58,.35);border-radius:999px;padding:.25rem .55rem;background:rgba(5,8,14,.62)}
.duel-versus b{display:block;margin-top:.55rem;color:#ffd768;font-size:1.15rem}.duel-versus b.urgent{color:#ff7b75;text-shadow:0 0 12px rgba(255,68,68,.6)}
.duel-deployment-form{display:grid;gap:1rem}.duel-deployment-form>label{display:grid;gap:.45rem}.duel-deployment-form fieldset{border:1px solid rgba(213,165,57,.35);border-radius:12px;padding:1rem}.duel-deployment-form legend{padding:0 .5rem;color:#f4cf69;font-weight:700}.duel-deployment-form legend small{font-weight:400;color:#bdb4ca}.duel-deployment-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.duel-deployment-choices label{display:grid;gap:.25rem;padding:.7rem;border:1px solid rgba(139,88,190,.35);border-radius:10px;background:rgba(7,10,18,.8);cursor:pointer}.duel-deployment-choices label:has(input:checked){border-color:#f0c95b;box-shadow:0 0 16px rgba(151,78,222,.3)}.duel-deployment-choices input{accent-color:#d2a53f}.duel-deployment-choices span{color:#f6d26f;font-weight:700}.duel-deployment-choices small{color:#aaa2b5}
.duel-board-grid.live{align-items:stretch;gap:1rem}.duel-board-grid.live .board-side{display:grid;gap:.8rem}.duel-reserve-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.duel-active-row{display:flex;justify-content:center}.duel-field-card{position:relative;display:grid;gap:.35rem;align-content:start;min-height:210px;padding:.7rem;border:1px solid rgba(211,161,53,.45);border-radius:12px;background:linear-gradient(160deg,rgba(25,15,42,.95),rgba(5,9,16,.96));box-shadow:inset 0 0 24px rgba(102,40,166,.16)}.duel-field-card img,.duel-field-card .card-art-placeholder{width:100%;max-height:175px;object-fit:contain;border-radius:7px}.duel-field-card strong{color:#f7d36e}.duel-field-card small{color:#b8afc4}.duel-slot-label{position:absolute;top:.35rem;left:.35rem;z-index:2;border-radius:999px;background:rgba(4,6,12,.9);padding:.2rem .45rem;color:#f2ca5c;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.duel-hp-meter{height:8px;overflow:hidden;border-radius:999px;background:#24152f;border:1px solid rgba(218,166,54,.2)}.duel-hp-meter span{display:block;height:100%;background:linear-gradient(90deg,#bd2f46,#f3c75f)}.duel-card-numbers{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem;color:#eee6f5}.duel-status-list{display:flex;flex-wrap:wrap;gap:.3rem}.duel-status-list span{border:1px solid rgba(181,110,231,.45);border-radius:999px;padding:.15rem .4rem;color:#dbc5ee;font-size:.65rem}.duel-field-card.hidden{place-items:center}.duel-card-back{width:100%;min-height:160px;border-radius:8px;background:radial-gradient(circle at 50% 45%,#4f2384,#120c25 62%,#04060c);border:1px solid #a56bd5}
.duel-action-console{margin:1rem 0;padding:1rem;border:1px solid rgba(214,166,58,.45);border-radius:14px;background:linear-gradient(145deg,rgba(24,12,40,.96),rgba(4,8,15,.96))}.duel-ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.duel-ability-action{display:grid;grid-template-rows:auto auto 1fr auto;gap:.35rem;padding:.75rem;border:1px solid rgba(126,76,171,.4);border-radius:10px;background:rgba(6,9,16,.8)}.duel-ability-action strong{color:#f2cd63}.duel-ability-action span{color:#c2a8db;font-size:.75rem}.duel-ability-action small{color:#b7afbf;line-height:1.35}.duel-ability-action button,.duel-support-actions button{border:1px solid #bd8c25;border-radius:7px;background:linear-gradient(#f6d36a,#b77917);color:#0e0b0d;font-weight:800;padding:.55rem .7rem;cursor:pointer}.duel-ability-action button:disabled{opacity:.45;cursor:not-allowed}.duel-support-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;margin-top:1rem}.duel-support-actions form{display:flex;gap:.45rem;align-items:end}.duel-support-actions label{display:grid;gap:.25rem;color:#cfbfd9;font-size:.75rem}.duel-support-actions select{min-width:180px}.duel-surrender-form{display:flex;justify-content:flex-end;margin-top:1rem}.duel-result-panel{text-align:center;margin:1rem 0;padding:1.4rem;border:1px solid rgba(239,191,71,.55);border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(104,42,160,.28),rgba(5,8,14,.95) 60%)}.duel-result-panel h2{font-size:2.2rem;color:#f4ce66;margin:.2rem 0}.duel-settlement{display:flex;justify-content:center;gap:1rem}.duel-settlement span{border:1px solid rgba(212,164,54,.4);border-radius:999px;padding:.4rem .75rem;color:#f1d174}
@media(max-width:1050px){.duel-deployment-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.duel-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.duel-deployment-choices,.duel-ability-grid{grid-template-columns:1fr}.duel-board-grid.live{display:grid}.duel-reserve-row{grid-template-columns:1fr 1fr}.duel-support-actions,.duel-support-actions form{display:grid;width:100%}.duel-support-actions select{width:100%;min-width:0}.duelist-resources{justify-content:center}.duel-field-card{min-height:170px}}

/* Pass 6: polished interactive Web Duel tabletop */
.web-duel-match-page{--duel-gold:#e7bd55;--duel-gold-soft:#f7df91;--duel-violet:#a65dea;--duel-blue:#4c8fe8;--duel-ink:#03070d;--duel-panel:rgba(5,9,16,.94);padding-bottom:3rem}
.web-duel-match-page .duel-match-hero{margin-bottom:.85rem}
.duel-live-toast{position:fixed;top:88px;left:50%;z-index:60;max-width:min(560px,calc(100vw - 24px));transform:translateX(-50%);border:1px solid rgba(229,184,70,.6);border-radius:999px;padding:.72rem 1.1rem;background:rgba(4,8,14,.96);box-shadow:0 12px 38px rgba(0,0,0,.48),0 0 22px rgba(142,71,214,.22);color:#f7e4a8;font-weight:700;text-align:center}
.duel-live-toast[data-type="success"]{border-color:rgba(73,221,131,.65);color:#b9f3cf}.duel-live-toast[data-type="error"]{border-color:rgba(255,98,99,.72);color:#ffb9b5}.duel-live-toast[data-type="working"]{border-color:rgba(159,96,235,.68);color:#dfc4f7}
.duel-battle-hud{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:.75rem;align-items:stretch;margin:.85rem 0}
.duel-hud-player{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem 1rem;align-items:center;padding:.95rem 1.1rem;border:1px solid rgba(216,169,62,.35);border-radius:14px;background:radial-gradient(circle at 5% 20%,rgba(128,57,177,.24),transparent 52%),rgba(4,9,16,.92);box-shadow:inset 0 0 30px rgba(0,0,0,.24)}
.duel-hud-player.opponent{direction:rtl;text-align:right;background:radial-gradient(circle at 95% 20%,rgba(47,101,183,.28),transparent 52%),rgba(4,9,16,.92)}.duel-hud-player.opponent>*{direction:ltr}
.duel-hud-player>div:first-child span{color:#c99af1;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}.duel-hud-player h2{margin:.12rem 0;color:var(--duel-gold-soft);font:700 1.35rem Georgia,serif}.duel-hud-player p{margin:0;color:#a9a0b3;font-size:.82rem}.duel-hud-player>strong{grid-column:1/-1;color:#d3b866;font-size:.69rem;letter-spacing:.12em}.duel-hud-player.ready{border-color:rgba(84,216,132,.52)}
.duel-hud-player .duelist-resources{justify-content:flex-end;margin:0}.duel-hud-player.opponent .duelist-resources{justify-content:flex-start}.duel-hud-player .duelist-resources span{min-width:42px;text-align:center}
.duel-turn-core{display:grid;place-items:center;align-content:center;min-height:112px;border:1px solid rgba(216,169,62,.42);border-radius:50%;aspect-ratio:1;background:radial-gradient(circle,#4d1d78 0,#150b28 48%,#05070c 72%);box-shadow:inset 0 0 26px rgba(231,189,85,.2),0 0 24px rgba(116,54,180,.25);text-align:center}
.duel-turn-core span{max-width:100px;color:#c8a5e2;font-size:.57rem;letter-spacing:.08em;text-transform:uppercase}.duel-turn-core strong{color:#ffe08a;font:700 1.15rem Georgia,serif}.duel-turn-core b{color:#fff0b3;font-size:1.2rem}.duel-turn-core small{color:#b9adb9}.duel-turn-core.your-turn{animation:duel-turn-pulse 2.4s ease-in-out infinite}.duel-turn-core b.urgent{color:#ff726e}
.duel-time-critical .duel-turn-core{border-color:#ff625f;box-shadow:0 0 28px rgba(255,65,63,.35),inset 0 0 20px rgba(255,65,63,.2)}

.duel-deployment-panel{overflow:hidden}.duel-opening-preview{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:.65rem;margin:1rem 0}.duel-opening-preview>div{padding:.75rem;border:1px solid rgba(218,169,58,.34);border-radius:10px;background:rgba(4,8,14,.72)}.duel-opening-preview span,.duel-opening-preview strong{display:block}.duel-opening-preview span{color:#a991bf;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.duel-opening-preview strong{margin-top:.2rem;color:#f2d378}
.duel-opening-roster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.duel-opening-card{position:relative;border:1px solid rgba(126,76,171,.4);border-radius:13px;padding:.55rem;background:rgba(4,8,15,.82);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.duel-opening-card.is-opening-active{border-color:#f0cc62;box-shadow:0 0 22px rgba(224,178,62,.32);transform:translateY(-4px)}.duel-opening-card.is-opening-reserve{border-color:#aa6ce6;box-shadow:0 0 18px rgba(157,86,220,.26)}.duel-opening-choices{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.5rem}.duel-opening-choices label{display:flex;gap:.35rem;align-items:center;justify-content:center;border:1px solid rgba(218,169,58,.28);border-radius:7px;padding:.42rem;color:#e5d3ef;font-size:.75rem;cursor:pointer}.duel-opening-choices input{accent-color:#ddb64c}

.duel-tabletop{position:relative;isolation:isolate;overflow:hidden;margin:1rem 0;border:1px solid rgba(229,183,66,.5);border-radius:22px;padding:1rem;background:linear-gradient(rgba(3,7,13,.82),rgba(3,7,13,.92)),url('/assets/vendor/gameplay/assets/battle-arena-base.png') center/cover no-repeat;box-shadow:inset 0 0 90px rgba(0,0,0,.7),0 16px 55px rgba(0,0,0,.35)}
.duel-table-glow{position:absolute;inset:14% 22%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(151,65,216,.3),rgba(53,96,195,.12) 45%,transparent 72%);filter:blur(12px)}
.duel-opponent-rail,.duel-player-rail{display:grid;grid-template-columns:88px minmax(0,1fr) 88px 88px;gap:.65rem;align-items:center}
.duel-opponent-rail{margin-bottom:.7rem}.duel-player-rail{margin-top:.7rem}
.duel-pile{display:grid;place-items:center;align-content:center;position:relative;min-height:102px;border:1px solid rgba(218,169,58,.28);border-radius:11px;background:rgba(3,7,13,.78);text-align:center}.duel-pile-stack{width:46px;height:64px;border:2px solid #b98a32;border-radius:6px;background:linear-gradient(145deg,#4a2078,#0c1020);box-shadow:4px -4px 0 rgba(172,124,39,.22),8px -8px 0 rgba(172,124,39,.12)}.duel-pile-stack.hidden-stack{background:url('/assets/img/card-back-original.webp') center/cover no-repeat}.duel-pile strong{position:absolute;right:.45rem;top:.35rem;min-width:24px;border-radius:999px;background:#d2a641;color:#07080c;font-size:.72rem}.duel-pile small{margin-top:.35rem;color:#bcae9d;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}
.duel-hidden-hand{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;min-height:102px;border:1px solid rgba(126,76,171,.28);border-radius:12px;padding:.5rem .8rem;background:rgba(3,7,13,.68)}.duel-hidden-hand>span{color:#b99ad0;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.duel-hidden-hand>div{display:flex;justify-content:center;min-width:0}.duel-hidden-hand img{width:54px;aspect-ratio:3/4;object-fit:cover;border-radius:5px;border:1px solid #a7782b;margin-left:-20px;box-shadow:0 5px 12px rgba(0,0,0,.45)}.duel-hidden-hand img:first-child{margin-left:0}.duel-hidden-hand>strong{color:#f2d273}
.duel-field{display:grid;gap:.75rem;justify-items:center;padding:.65rem;border-radius:18px}.opponent-field{background:linear-gradient(180deg,rgba(38,59,112,.14),transparent)}.your-field{background:linear-gradient(0deg,rgba(102,42,139,.15),transparent)}
.duel-field .duel-reserve-row{display:grid;grid-template-columns:repeat(2,minmax(155px,205px));gap:.8rem;justify-content:center}.duel-field .duel-active-row{display:grid;place-items:center;width:min(230px,100%)}
.duel-center-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;margin:.45rem 0}.duel-center-line span{height:1px;background:linear-gradient(90deg,transparent,#c99436)}.duel-center-line span:last-child{background:linear-gradient(90deg,#c99436,transparent)}.duel-center-line strong{border:1px solid rgba(224,175,63,.5);border-radius:999px;padding:.35rem .85rem;background:rgba(10,7,18,.9);color:#f6d574;font-size:.72rem;letter-spacing:.12em}
.duel-empty-slot{display:grid;place-items:center;align-content:center;width:100%;min-height:145px;border:1px dashed rgba(218,169,58,.34);border-radius:14px;background:rgba(3,7,13,.46);color:#807487;text-align:center}.duel-empty-slot.active{min-height:195px}.duel-empty-slot span{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.duel-empty-slot strong{color:#a89dac}
.duel-hand-zone{min-width:0;border:1px solid rgba(126,76,171,.28);border-radius:12px;padding:.55rem;background:rgba(3,7,13,.72)}.duel-hand-zone .zone-label{display:flex;justify-content:space-between;margin:0 0 .45rem}.duel-hand-scroll{display:flex;gap:.55rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.2rem .2rem .5rem;scrollbar-color:#8c57b9 #11101a}.duel-hand-scroll .duel-field-card{flex:0 0 155px;scroll-snap-align:start}.duel-empty-hand{display:grid;place-items:center;min-height:120px;color:#9a8f9d}

.web-duel-match-page .duel-field-card{position:relative;display:grid;gap:.38rem;align-content:start;width:100%;max-width:210px;min-height:0;padding:.55rem;border:1px solid rgba(218,169,58,.48);border-radius:13px;background:linear-gradient(160deg,rgba(28,15,45,.97),rgba(4,8,14,.97));box-shadow:inset 0 0 25px rgba(102,40,166,.15),0 9px 18px rgba(0,0,0,.3);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.web-duel-match-page .duel-field-card.compact-card{max-width:165px}.duel-card-art-wrap{position:relative}.web-duel-match-page .duel-field-card img,.web-duel-match-page .duel-field-card .card-art-placeholder{display:block;width:100%;aspect-ratio:3/4;max-height:none;object-fit:contain;border-radius:8px;background:linear-gradient(145deg,#24123a,#07101a)}.duel-card-copy{display:grid;gap:.3rem}.duel-card-copy>strong{color:#f6d475;font:700 .92rem Georgia,serif;line-height:1.1}.duel-card-copy>small{overflow:hidden;color:#b8afc4;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.duel-shield-badge{position:absolute;right:.35rem;bottom:.35rem;border:1px solid rgba(115,187,255,.7);border-radius:999px;padding:.18rem .42rem;background:rgba(17,64,111,.9);color:#bce2ff;font-size:.65rem;font-weight:800}.duel-slot-label{top:.3rem;left:.3rem}.duel-card-numbers{font-size:.66rem}.duel-status-list span{font-size:.59rem}
.duel-card-interactive{cursor:pointer}.duel-card-interactive:hover,.duel-card-interactive:focus-visible{transform:translateY(-3px);border-color:#e8c35e;box-shadow:0 0 22px rgba(218,169,58,.24),0 12px 22px rgba(0,0,0,.38);outline:none}.duel-card-interactive.is-targetable{border-color:#ddc456;box-shadow:0 0 0 2px rgba(229,201,79,.22),0 0 30px rgba(166,83,224,.58);animation:duel-target-pulse 1.35s ease-in-out infinite}.duel-card-interactive.is-selected-target{border-color:#7cf2b0;box-shadow:0 0 0 3px rgba(92,230,146,.28),0 0 32px rgba(57,224,127,.48)}.duel-field-card.defeated{filter:grayscale(.85);opacity:.62}
.duel-floating-number{position:absolute;left:50%;top:35%;z-index:12;transform:translate(-50%,-50%);font:800 1.65rem Georgia,serif;text-shadow:0 2px 5px #000;pointer-events:none;animation:duel-float-number 1.1s ease-out forwards}.duel-floating-number.damage{color:#ff6d66}.duel-floating-number.shield{color:#79caff}.duel-floating-number.heal{color:#73e49a}.duel-field-card.duel-hit{animation:duel-card-hit .45s ease}.duel-field-card.duel-shielded{animation:duel-card-shield .7s ease}.duel-field-card.duel-healed{animation:duel-card-heal .7s ease}.duel-tabletop.duel-shift-fx .your-field{animation:duel-field-shift .65s ease}

.duel-command-dock{position:relative;margin:1rem 0;border:1px solid rgba(224,174,61,.5);border-radius:18px;padding:1rem;background:linear-gradient(145deg,rgba(24,11,40,.98),rgba(4,8,14,.98));box-shadow:0 14px 45px rgba(0,0,0,.35),inset 0 0 38px rgba(104,42,164,.14)}.duel-command-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.duel-command-header span{color:#bd91db;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.duel-command-header h2{margin:.15rem 0;color:#f2d172;font:700 1.65rem Georgia,serif}.duel-command-budget{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.duel-command-budget span{border:1px solid rgba(218,169,58,.36);border-radius:999px;padding:.35rem .62rem;background:rgba(3,7,13,.74);color:#f1d176;font-size:.75rem}.duel-target-prompt{margin:.75rem 0;border-left:3px solid #a65dea;padding:.6rem .8rem;background:rgba(10,7,18,.7);color:#d6c4df}.duel-ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.duel-command-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:.45rem;padding:.8rem;border:1px solid rgba(135,79,182,.42);border-radius:12px;background:rgba(5,8,15,.84);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.duel-command-card:hover,.duel-command-card:focus-within,.duel-command-card.is-active-command{border-color:#d8ae50;box-shadow:0 0 20px rgba(130,66,191,.24);transform:translateY(-2px)}.duel-command-card.unavailable{opacity:.66}.duel-command-title span,.duel-command-title strong{display:block}.duel-command-title span{color:#b890d0;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.duel-command-title strong{color:#f3d16e;font-size:1rem}.duel-command-cost{display:flex;gap:.35rem}.duel-command-cost span{border-radius:999px;padding:.18rem .42rem;background:rgba(111,61,157,.24);color:#dec9eb;font-size:.67rem}.duel-command-card p{margin:0;color:#b9b0bf;font-size:.76rem;line-height:1.42}.duel-command-card>small{color:#d3bc78;font-size:.67rem}.duel-command-select{display:grid;gap:.25rem;color:#cbbad4;font-size:.69rem}.duel-command-select select,.duel-support-command select{min-width:0;width:100%;border:1px solid rgba(218,169,58,.35);border-radius:7px;padding:.48rem;background:#080b12;color:#eee4f4}.duel-command-card button,.duel-support-command button{border:1px solid #c2942f;border-radius:8px;padding:.6rem .7rem;background:linear-gradient(#f6d46e,#b77a18);color:#0b0a0d;font-weight:800;cursor:pointer}.duel-command-card button:disabled,.duel-support-command button:disabled{cursor:not-allowed;opacity:.48}.duel-command-card[aria-busy="true"]{filter:saturate(.7);opacity:.7}
.duel-support-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem;margin-top:.8rem}.duel-support-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end;border:1px solid rgba(126,76,171,.35);border-radius:10px;padding:.65rem;background:rgba(4,8,14,.72)}.duel-support-command label{display:grid;gap:.25rem;color:#cdbbd7;font-size:.7rem}.duel-support-command.end-turn{display:flex;align-items:stretch}.duel-support-command.end-turn button{min-width:130px}.duel-waiting-message{display:flex;align-items:center;justify-content:center;gap:.8rem}.duel-waiting-message strong{color:#f3d174}.duel-waiting-message p{margin:.15rem 0 0}.duel-waiting-orb{width:34px;height:34px;border:2px solid rgba(166,93,234,.34);border-top-color:#d6af55;border-radius:50%;animation:duel-spin 1s linear infinite}
.duel-resolving .duel-command-dock{pointer-events:none}.duel-resolving .duel-tabletop{filter:saturate(.9)}

.web-duel-match-page .event-log ol{display:grid;gap:.45rem}.web-duel-match-page .event-log li{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr) auto;align-items:center;gap:.75rem}.web-duel-match-page .event-log time{color:#7f7684;font-size:.67rem}.connection-pill.reconnecting{border-color:#d59a42;color:#ffd58a}

@keyframes duel-turn-pulse{0%,100%{box-shadow:inset 0 0 26px rgba(231,189,85,.2),0 0 20px rgba(116,54,180,.22)}50%{box-shadow:inset 0 0 32px rgba(231,189,85,.3),0 0 34px rgba(157,70,217,.42)}}
@keyframes duel-target-pulse{0%,100%{transform:translateY(-2px)}50%{transform:translateY(-5px)}}
@keyframes duel-float-number{0%{opacity:0;transform:translate(-50%,0) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-90px) scale(1.15)}}
@keyframes duel-card-hit{0%,100%{transform:translateX(0)}25%{transform:translateX(-9px) rotate(-1deg)}55%{transform:translateX(8px) rotate(1deg)}}
@keyframes duel-card-shield{50%{box-shadow:0 0 0 5px rgba(89,179,255,.25),0 0 42px rgba(72,169,255,.65)}}
@keyframes duel-card-heal{50%{box-shadow:0 0 0 5px rgba(78,221,127,.22),0 0 42px rgba(74,220,126,.58)}}
@keyframes duel-field-shift{50%{transform:translateX(12px);filter:blur(1px) brightness(1.35)}}
@keyframes duel-spin{to{transform:rotate(360deg)}}

@media(max-width:1180px){.duel-opening-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.duel-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-opponent-rail,.duel-player-rail{grid-template-columns:74px minmax(0,1fr) 74px 74px}.duel-field .duel-reserve-row{grid-template-columns:repeat(2,minmax(145px,190px))}}
@media(max-width:900px){.duel-battle-hud{grid-template-columns:1fr 100px 1fr}.duel-turn-core{min-height:92px}.duel-hud-player{grid-template-columns:1fr}.duel-hud-player .duelist-resources,.duel-hud-player.opponent .duelist-resources{justify-content:flex-start}.duel-hud-player.opponent{direction:ltr;text-align:left}.duel-opponent-rail,.duel-player-rail{grid-template-columns:65px minmax(0,1fr) 65px}.duel-pile-defeated{display:none}.duel-support-actions{grid-template-columns:1fr 1fr}.duel-support-command.end-turn{grid-column:1/-1}.web-duel-match-page .event-log li{grid-template-columns:130px minmax(0,1fr)}.web-duel-match-page .event-log time{grid-column:2}}
@media(max-width:680px){.web-duel-match-page{width:min(100% - 12px,1480px)}.duel-live-toast{top:68px}.duel-battle-hud{grid-template-columns:1fr 72px 1fr;gap:.35rem}.duel-hud-player{padding:.65rem;gap:.25rem}.duel-hud-player h2{font-size:.93rem}.duel-hud-player p,.duel-hud-player>strong{display:none}.duel-hud-player .duelist-resources{gap:.2rem}.duel-hud-player .duelist-resources span{min-width:0;padding:.2rem .35rem;font-size:.67rem}.duel-turn-core{min-height:68px}.duel-turn-core span{display:none}.duel-turn-core strong{font-size:.78rem}.duel-turn-core b{font-size:.92rem}.duel-turn-core small{font-size:.62rem}.duel-opening-preview{grid-template-columns:1fr}.duel-opening-roster{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.duel-opening-card{flex:0 0 72%;scroll-snap-align:start}.duel-tabletop{padding:.55rem;border-radius:15px}.duel-opponent-rail,.duel-player-rail{grid-template-columns:52px minmax(0,1fr) 52px;gap:.35rem}.duel-pile{min-height:78px}.duel-pile-defeated{display:none}.duel-pile-stack{width:34px;height:48px}.duel-hidden-hand{grid-template-columns:1fr auto;padding:.35rem}.duel-hidden-hand>span{display:none}.duel-hidden-hand img{width:40px;margin-left:-17px}.duel-field .duel-reserve-row{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.45rem}.duel-field .duel-active-row{width:min(185px,70vw)}.web-duel-match-page .duel-field-card{padding:.4rem;border-radius:10px}.duel-card-copy>strong{font-size:.76rem}.duel-card-copy>small,.duel-card-numbers{font-size:.57rem}.duel-status-list{display:none}.duel-empty-slot{min-height:105px}.duel-empty-slot.active{min-height:150px}.duel-center-line{margin:.25rem 0}.duel-center-line strong{font-size:.61rem}.duel-hand-scroll .duel-field-card{flex-basis:128px}.duel-command-dock{position:relative;margin-top:.7rem;padding:.7rem;border-radius:14px}.duel-command-header{align-items:flex-start;flex-direction:column}.duel-command-header h2{font-size:1.25rem}.duel-command-budget{justify-content:flex-start}.duel-ability-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.45rem}.duel-command-card{flex:0 0 82%;scroll-snap-align:start}.duel-support-actions{grid-template-columns:1fr}.duel-support-command.end-turn{grid-column:auto}.duel-support-command{grid-template-columns:1fr}.duel-support-command.end-turn button{width:100%}.web-duel-match-page .event-log li{grid-template-columns:1fr}.web-duel-match-page .event-log time{grid-column:auto}.duel-surrender-form{justify-content:center}}
@media(prefers-reduced-motion:reduce){.duel-turn-core.your-turn,.duel-card-interactive.is-targetable,.duel-waiting-orb{animation:none}.duel-field-card,.duel-opening-card,.duel-command-card{transition:none}.duel-floating-number{display:none}}

/* Web Duel spectator and replay experience v1.8.0 */
.web-duel-watch-page .spectator-directory{align-items:start}
.duel-watch-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border:1px solid rgba(182,146,255,.22);border-radius:16px;background:linear-gradient(145deg,rgba(23,17,45,.9),rgba(10,16,35,.88));box-shadow:0 12px 28px rgba(0,0,0,.18)}
.duel-watch-row+ .duel-watch-row{margin-top:12px}
.duel-watch-row strong{display:block;margin:8px 0 5px;font-size:1.02rem;color:#fff}
.duel-watch-row strong small{font-size:.72rem;color:#bfa8ec;text-transform:uppercase;letter-spacing:.08em}
.duel-watch-row p,.duel-watch-actions span{margin:0;color:#b7b5cf;font-size:.86rem}
.duel-watch-actions{display:flex;align-items:flex-end;gap:10px;flex-direction:column;min-width:138px}
.duel-watch-actions .web-duel-primary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.spectator-mode-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border:1px solid rgba(77,225,255,.25);border-radius:14px;background:rgba(5,16,38,.84)}
.spectator-mode-bar strong{margin-right:auto;color:#f3ecff}
.spectator-mode-bar>span:not(.web-duel-status):not(.connection-pill){color:#b9c6df}
.connection-pill.error{border-color:rgba(255,99,125,.55);color:#ff9eae}
.spectator-hud{position:relative}
.spectator-hud .duelist-panel.active-turn{box-shadow:0 0 0 2px rgba(255,207,90,.52),0 18px 46px rgba(0,0,0,.28)}
.spectator-versus{pointer-events:none}
.spectator-table{display:grid;gap:22px}
.spectator-table .board-side{border:1px solid rgba(152,112,232,.22);border-radius:18px;padding:14px;background:linear-gradient(145deg,rgba(18,13,39,.86),rgba(8,15,33,.86))}
.public-zone-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.public-zone-counts span{display:flex;justify-content:space-between;gap:7px;padding:7px 9px;border:1px solid rgba(115,202,255,.17);border-radius:10px;background:rgba(7,17,38,.72);font-size:.76rem;color:#aeb9d1}
.public-zone-counts b{color:#fff}
.spectator-card{cursor:default;pointer-events:none}
.replay-console{margin-top:20px}
.replay-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.replay-controls button,.replay-controls select{min-height:42px}
.replay-controls label{display:flex;align-items:center;gap:8px;color:#c9c5dc}
.spectator-events [data-public-events]{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.spectator-events [data-public-events] li{display:grid;grid-template-columns:minmax(130px,.34fr) 1fr;gap:12px;padding:12px 14px;border:1px solid rgba(147,116,221,.18);border-radius:12px;background:rgba(9,15,33,.72);transition:border-color .2s ease,transform .2s ease,background .2s ease}
.spectator-events [data-public-events] li strong{color:#d8c5ff}
.spectator-events [data-public-events] li span{color:#c0c6d8}
.spectator-events [data-public-events] li.replay-current{border-color:rgba(255,210,91,.65);background:linear-gradient(90deg,rgba(84,54,12,.3),rgba(16,18,42,.88));transform:translateX(3px)}
.replay-pagination{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:14px}
.replay-pagination button{min-width:38px;min-height:36px;border:1px solid rgba(177,142,255,.28);border-radius:9px;background:rgba(17,16,43,.92);color:#e6dcff;cursor:pointer}
.replay-pagination button.active,.replay-pagination button[aria-current="page"]{border-color:#f0c660;background:rgba(109,72,14,.5);color:#fff3bd}
.replay-pagination button:disabled{opacity:.42;cursor:not-allowed}
.spectator-result{margin-top:20px;text-align:center}
.web-duel-empty{padding:26px 18px;text-align:center;border:1px dashed rgba(174,138,247,.26);border-radius:14px;color:#b8b5ca}
.web-duel-empty strong{display:block;color:#f4edff;margin-bottom:6px}
@media (max-width:760px){
  .duel-watch-row{align-items:flex-start;flex-direction:column}
  .duel-watch-actions{align-items:stretch;width:100%}
  .duel-watch-actions .web-duel-primary-button{width:100%}
  .public-zone-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spectator-events [data-public-events] li{grid-template-columns:1fr;gap:4px}
  .replay-controls>*{flex:1 1 130px}
  .replay-controls label{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.spectator-events [data-public-events] li{transition:none}.spectator-events [data-public-events] li.replay-current{transform:none}}

/* PASS 8: PROGRESSION, RANKINGS, HISTORY */
.duel-history-page .gameplay-stat-grid,
.duel-rankings-page .gameplay-stat-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.duel-history-row { align-items: center; }
.duel-history-row.is-win { border-color: rgba(93, 221, 156, .42); }
.duel-history-row.is-loss { border-color: rgba(233, 100, 121, .34); }
.duel-ranking-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.duel-ranking-table th,
.duel-ranking-table td { padding: 14px 12px; border-bottom: 1px solid rgba(229, 188, 93, .18); text-align: center; }
.duel-ranking-table th { color: #f1cf70; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.duel-ranking-table td { color: #eee3ca; }
.duel-rankings-page .ratings-table-wrap { overflow-x: auto; border: 1px solid rgba(229,188,93,.28); border-radius: 14px; background: rgba(4,7,14,.72); }
@media (max-width: 700px) {
  .duel-history-row { grid-template-columns: 52px 1fr; }
  .duel-history-row .gameplay-side-actions { grid-column: 1 / -1; }
}

/* PASS 8.1: HISTORY AND RANKINGS VISUAL CORRECTION */
html body main.approved-gameplay-page.approved-web-duel-page {
  --fsb-gameplay-page-width: 1540px;
  margin-bottom: 54px !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 8px 0 12px !important;
  padding: 24px 28px !important;
  border: 1px solid rgba(218, 171, 60, .48) !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 15% 10%, rgba(121, 52, 164, .24), transparent 38%),
    linear-gradient(115deg, rgba(33, 15, 50, .96), rgba(3, 11, 18, .97) 72%) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 231, 153, .06) !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero h1 {
  font-size: clamp(2.45rem, 4vw, 4rem) !important;
  line-height: 1 !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero p {
  max-width: 780px !important;
  font-size: 1rem !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-side {
  min-width: 0 !important;
  padding: 0 !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-actions .gameplay-button {
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 8px 13px !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-actions .gameplay-button img {
  width: 25px !important;
  max-width: 25px !important;
  height: 25px !important;
  max-height: 25px !important;
  object-fit: contain !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-frame {
  margin-top: 12px !important;
}
html body main.approved-gameplay-page.approved-web-duel-page .gameplay-section-heading h2 {
  font-size: clamp(1.85rem, 2.5vw, 2.65rem) !important;
}
.duel-history-page .gameplay-stat-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.duel-history-page .gameplay-stat-grid > article {
  min-height: 92px !important;
  align-content: center !important;
}
.duel-history-page .gameplay-empty {
  padding: 32px 22px !important;
  border: 1px dashed rgba(218, 171, 60, .28) !important;
  border-radius: 10px !important;
  background: rgba(1, 6, 11, .46) !important;
  text-align: center !important;
}
.duel-history-page .gameplay-empty h3 {
  margin: 0 0 7px !important;
  color: #f3d170 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.45rem !important;
}
.duel-history-page .gameplay-empty p {
  margin: 0 0 14px !important;
  color: #cfc4b1 !important;
}
.duel-history-page .gameplay-empty .gameplay-button {
  justify-content: center !important;
}
.duel-rankings-page .ratings-table-wrap {
  margin-top: 8px !important;
}
.duel-rankings-page .duel-ranking-table tbody tr:hover {
  background: rgba(124, 70, 180, .08) !important;
}
.duel-rankings-page .duel-ranking-table tbody td[colspan] {
  padding: 28px 18px !important;
  color: #c8bdab !important;
}
@media (max-width: 1180px) {
  html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-actions {
    justify-content: flex-start !important;
  }
  .duel-history-page .gameplay-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px) {
  html body main.approved-gameplay-page.approved-web-duel-page {
    width: calc(100% - 20px) !important;
  }
  html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero {
    padding: 20px 18px !important;
  }
  html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
  }
  html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  html body main.approved-gameplay-page.approved-web-duel-page .gameplay-hero-actions .gameplay-button {
    width: 100% !important;
    justify-content: flex-start !important;
  }
  .duel-history-page .gameplay-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 460px) {
  .duel-history-page .gameplay-stat-grid {
    grid-template-columns: 1fr !important;
  }
}
