/* Functional playmat geometry adapted from the supplied board reference. */
.match-layout{display:flex;flex-direction:column;gap:18px}.match-coach{order:-1;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px}.match-coach .panel{margin:0;padding:14px}.match-coach .coach h2{font-size:24px}.match-coach .coach p{margin:8px 0}.match-coach #realLog{max-height:145px}.match-coach .race-row{margin:10px 0}#board{min-width:0}.mat-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 20px}.mat-heading strong{font:700 22px 'Barlow Condensed',sans-serif;letter-spacing:2px;color:#f4f500}.mat-heading .eyebrow{color:#e6e800;font-size:12px;letter-spacing:2px;margin-bottom:5px}.mat-views{display:flex;gap:5px}.mat-views button{background:#060811;border:1px solid #73781b;color:#c5c89f;font-size:14px}.mat-views button.active{background:#eeef00;color:#111300;border-color:#eeef00}.playmat{--mat-line:#8a8d00;--mat-yellow:#f2f500;display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) 130px;grid-template-rows:auto auto auto;grid-template-areas:'. rival friendly .' 'fixer field field deck' 'fixer legends eddies trash';gap:12px;padding:24px 18px 22px;border:1px solid #696d14;background-color:#02040d;background-image:radial-gradient(#1a2540 0.6px,transparent 0.6px);background-size:22px 22px;position:relative}.playmat::after{content:'';position:absolute;bottom:0;left:0;width:16px;height:16px;background:linear-gradient(45deg,#f2f500 50%,transparent 51%);pointer-events:none}.mat-zone{position:relative;border:1px solid var(--mat-line);background:#03050e;min-width:0;padding:20px 10px 12px}.mat-zone.help-open{border-color:var(--mat-yellow);z-index:5;box-shadow:0 0 18px #eeee0010}.mat-label{position:absolute;top:-12px;left:50%;transform:translateX(-50%);border:0;padding:4px 17px;min-height:24px;background:var(--mat-yellow);color:#080b0c;font:bold 12px 'IBM Plex Sans',sans-serif;letter-spacing:.5px;white-space:nowrap;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);border-radius:0;z-index:2}.mat-label:hover:not(:disabled){color:#080b0c;background:#ffff66}.mat-label:focus-visible{filter:drop-shadow(0 0 5px #fff);outline-offset:4px}.mat-tooltip{position:absolute;top:25px;left:0;width:min(430px,80vw);padding:16px;border:1px solid #dddd00;background:#080900;color:#f1f0ce;z-index:20;font-size:14px;line-height:1.7;box-shadow:0 12px 40px #000b}.mat-tooltip strong{display:block;color:#f2f500;text-transform:uppercase;margin-bottom:7px;font-size:14px}.mat-tooltip p{margin:0}.mat-tip-close{font-size:12px;padding:3px 8px;min-height:28px;margin-top:10px;background:#141500;color:#f2f500;border-color:#777900}.mat-friendly .mat-tooltip,.mat-deck .mat-tooltip,.mat-trash .mat-tooltip,.mat-eddies .mat-tooltip{left:auto;right:0}.mat-content{min-width:0}.mat-rival{grid-area:rival}.mat-friendly{grid-area:friendly}.mat-fixer{grid-area:fixer}.mat-field{grid-area:field;padding:18px 12px 8px}.mat-legends{grid-area:legends}.mat-eddies{grid-area:eddies}.mat-deck{grid-area:deck;align-self:end}.mat-trash{grid-area:trash;align-self:stretch}.gig-summary{font-size:14px;color:#d8dbb4;margin-bottom:10px}.mat-dice{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-height:54px}.mat-die{min-width:48px;text-align:center;border:1px solid #8c931a;background:#151a07;padding:3px 9px;min-height:51px;color:#f2f500}.mat-rival .mat-die{border-color:#988775;background:#1b1510;color:#ffd8a9}.mat-die b{display:block;font:700 26px 'Barlow Condensed',sans-serif}.mat-die span{font-size:12px;color:#cdd18e}.mat-die.stealable{outline:2px solid #f2f500;outline-offset:2px;cursor:pointer}.mat-target{font-size:14px;background:#e9ee00;color:#101600;border:0;padding:6px 9px;margin-top:12px;width:100%}.mat-target:hover:not(:disabled){color:#101600;background:#ffff6b}.mat-empty{color:#899378;font-size:14px;line-height:1.6}.mat-fixer .mat-content{height:100%;display:flex;flex-direction:column;justify-content:space-evenly;gap:12px}.fixer-die{width:100%;height:76px;min-height:60px;background:#070b07;color:#eaf000;border:1px dashed #919800;padding:9px 2px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.fixer-die strong{font:700 25px 'Barlow Condensed',sans-serif}.fixer-die span{font-size:12px;letter-spacing:.3px}.fixer-die:disabled{opacity:.62}.fixer-die.departed{opacity:.25;border-style:solid}.fixer-die.can-roll{background:#1c2404;border:1px solid #edff00;box-shadow:0 0 15px #c5f00022}.fixer-die.can-roll:hover{background:#293209}.field-lane{min-height:155px;padding:10px 0}.field-lane+.field-lane{border-top:1px dashed #515713;margin-top:5px;padding-top:14px}.lane-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.lane-title h3{font:700 18px 'Barlow Condensed',sans-serif;color:#a9b894;margin:0;letter-spacing:1px}.lane-title span{font-size:12px;color:#8da098}.active-turn .lane-title h3{color:#eeef00}.field-cards{flex-wrap:wrap;overflow:visible;padding-bottom:6px;gap:8px;min-height:90px;align-items:start}.field-cards .mat-empty{align-self:center;margin:15px 0}.playmat .game-card{min-width:125px;width:135px;background:#0c1420;padding:7px;border-color:#3c4a3b;border-top-color:var(--card-color)}.playmat .game-card .thumb{height:120px;object-fit:contain;object-position:center}.playmat .game-card h3{font-size:18px;min-height:40px;margin:7px 0}.playmat .game-card .card-meta,.playmat .game-card .status{font-size:12px;line-height:1.4}.playmat .game-card .mini-actions{gap:4px;margin-top:7px}.playmat .game-card .mini-actions button{font-size:12px;padding:5px;min-height:32px}.playmat .game-card.spent{opacity:.65;border-bottom:3px solid #979b78}.playmat .game-card.selected{outline-color:#f4f500}.playmat .gear-list button{white-space:normal;text-align:left;max-width:100%;font-size:12px;padding:4px;min-height:26px}.mat-legend-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mat-legend-slot{border:1px solid #8e9400;min-width:0;min-height:180px;padding:5px;display:flex;flex-direction:column;align-items:stretch;gap:5px;border-radius:6px;background:#060b12}.mat-legend-slot.spent-legend{border-style:dashed;opacity:.68}.legend-art{display:block;background:none;border:0;padding:0;min-height:0}.legend-art .card-art{height:135px;aspect-ratio:auto;object-fit:contain}.legend-back{flex:1;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:repeating-linear-gradient(135deg,transparent 0 13px,#9da32909 14px 15px);color:#959b52}.legend-back strong{font:700 36px 'Barlow Condensed',sans-serif;color:#dce142}.legend-back span{font-size:12px;letter-spacing:1px}.legend-name{font-size:12px;line-height:1.3;text-align:center;overflow-wrap:anywhere}.legend-state{font-size:12px;letter-spacing:1px;text-align:center;color:#d4d9ac}.solo-button{font-size:12px;padding:6px 2px;min-height:32px;white-space:normal}.mat-call{margin-top:10px;width:100%;border:1px solid #909722;background:#151b07;color:#e9ed94;font-size:14px}.bank-total{color:#c2c69a;font-size:14px;margin:0 0 12px}.bank-total strong{font:700 34px 'Barlow Condensed',sans-serif;color:#f2f500}.eddie-cards{display:flex;gap:8px;flex-wrap:wrap;min-height:105px;align-items:center;margin-bottom:12px}.eddie-card{width:50px;min-height:70px;border:1px solid #93973d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#141b0a;color:#eff395}.eddie-card strong{font:700 21px 'Barlow Condensed',sans-serif}.eddie-card span{font-size:12px}.eddie-card.spent-eddie{width:70px;min-height:50px;background:#12170e;color:#879077;border-style:dashed}.deck-back{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #3f491b;min-height:170px;background:repeating-linear-gradient(135deg,#080c13 0 14px,#121c20 15px 16px);color:#a5b084;gap:12px}.deck-back span{font-size:12px;letter-spacing:.5px}.deck-back strong{font:700 38px 'Barlow Condensed',sans-serif;color:#f3f500}.mat-deck .mat-content>button{width:100%;font-size:12px;padding:6px;margin-top:8px}.trash-pile{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:165px;padding:0 0 34px;background:#070a10;border:0}.trash-pile .card-art{height:150px;object-fit:contain;aspect-ratio:auto}.pile-count{position:absolute;bottom:8px;left:0;right:0;font-size:12px;color:#dee1aa}.removed-link{width:100%;font-size:12px;padding:6px;margin-top:8px;min-height:30px}.pile-inspector{grid-column:1/-1}.pile-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:14px}.pile-entry{padding:5px;background:#0a1420}.pile-entry span{display:block;font-size:14px;margin-top:8px}.pile-entry .card-art{width:100%;height:160px;object-fit:contain}#match .hand-area{margin-top:20px;border-color:#707515;background:#050911}#match .hand-area h2{color:#f2f500}
@media(min-width:1700px){.match-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start}.match-coach{order:0;display:flex;flex-direction:column;position:sticky;top:15px}}@media(max-width:1000px){.playmat{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) 105px;padding:22px 10px 14px;gap:10px}.mat-zone{padding-left:7px;padding-right:7px}.match-coach{grid-template-columns:1.5fr 1fr}.match-coach .panel:last-child{grid-column:1/-1}.match-coach #realLog{max-height:80px}.mat-legend-slot{min-height:145px}.legend-back{min-height:100px}.legend-art .card-art{height:100px}.mat-legend-slots{gap:5px}.mat-die{min-width:40px}.lane-title{align-items:flex-start;flex-direction:column;gap:3px}.fixer-die strong{font-size:22px}}@media(max-width:720px){.mat-heading{align-items:flex-start;flex-direction:column}.mat-heading .eyebrow{font-size:12px;letter-spacing:1px}.playmat{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'rival friendly' 'fixer fixer' 'field field' 'legends legends' 'eddies eddies' 'deck trash';padding:22px 10px;gap:22px 10px}.mat-fixer .mat-content{flex-direction:row;gap:6px}.fixer-die{height:64px;min-height:64px;min-width:0;flex:1;font-size:12px}.fixer-die strong{font-size:21px}.fixer-die span{font-size:12px;letter-spacing:-.5px}.mat-legend-slot{min-height:180px}.legend-back{min-height:140px}.legend-art .card-art{height:140px}.mat-field{padding:18px 9px 7px}.field-cards .game-card{width:calc(50% - 4px);min-width:0}.mat-dice{gap:5px}.gig-summary{font-size:12px}.mat-rival .mat-tooltip{width:min(400px,80vw)}.mat-deck{align-self:stretch}.mat-eddies .mat-content{min-height:160px}.mat-tooltip{font-size:14px}.match-coach{grid-template-columns:1fr}.match-coach .panel:last-child{grid-column:auto}.mat-views{width:100%}.mat-views button{flex:1}.deck-back{min-height:190px}.trash-pile{min-height:190px}}@media(prefers-reduced-motion:reduce){.playmat *{scroll-behavior:auto;transition:none}}

.match-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.match-actions .undo-action{border-color:#777d24;color:#f0f59a;background:#1b200c}.match-actions .undo-action:not(:disabled)::before{content:'↶ ';font-size:16px}.match-actions .end-match{border-color:#9f5960;color:#ffb4bd;background:#25141c}@media(max-width:720px){#match>.toolbar{align-items:flex-start;flex-direction:column}.match-actions{width:100%}.match-actions button{flex:1;min-width:100px}}

.playmat{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'opponent opponent' 'rival friendly' 'field field' 'player player';gap:24px 12px}.player-resources{display:grid;grid-template-columns:80px minmax(240px,2fr) minmax(150px,1fr) 110px 110px;gap:12px;min-width:0}.player-1{grid-area:opponent}.player-0{grid-area:player}.player-resources>.mat-zone{grid-area:auto;align-self:stretch}.player-resources .fixer-die{height:34px;min-height:34px;flex-direction:row;gap:5px}.player-resources .fixer-die strong{font-size:18px}.player-resources .fixer-die span{display:none}.player-resources .mat-fixer .mat-content{gap:4px}.card-effect-actions{display:flex;flex-wrap:wrap;gap:8px}.card-effect-actions h3{width:100%}
@media(max-width:1000px){.player-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.player-resources .mat-fixer{grid-column:1/-1}.player-resources .mat-fixer .mat-content{flex-direction:row}.player-resources .mat-legends{grid-column:1/-1}.player-resources .mat-eddies{grid-column:1/-1}.playmat{grid-template-areas:'opponent opponent' 'rival friendly' 'field field' 'player player'}}

.turn-dock{margin-top:14px}.turn-dock button{width:100%;min-height:48px;font-size:1rem}.saved-decks{border-top:1px solid #475133;border-bottom:1px solid #475133;padding:12px 0;margin:14px 0}.saved-decks h3 span{font-size:.875rem;color:#a5b084}.saved-slot{padding:12px 0;border-bottom:1px solid #354031}.saved-slot label{display:block}.saved-slot input{width:100%;box-sizing:border-box}.saved-slot .small-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.saved-slot button{font-size:.875rem}.account-link{display:inline-block;padding:10px;color:#f2f500}.saved-status{font-size:.875rem;color:#c2c69a}
@media(min-width:1100px){.match-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start}.match-coach{order:0;display:flex;flex-direction:column;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}}
@media(max-width:1099px){.turn-dock{position:fixed;bottom:0;left:0;right:0;margin:0;padding:8px 14px calc(8px + env(safe-area-inset-bottom));background:#080e18;border-top:1px solid #909722;z-index:30}#match{padding-bottom:85px}}

#stepTracker{border-top:1px solid #515713;border-bottom:1px solid #515713;margin:16px 0;padding:14px 0;background:#070d16}#stepTracker h3{margin:0 10px 10px;font-size:1rem;color:#f2f500}.turn-steps{list-style:none;margin:0;padding:0 6px;display:flex;gap:3px;overflow-x:auto}.turn-steps li{flex:1;min-width:125px;box-sizing:border-box;display:grid;grid-template-columns:22px 1fr;gap:3px 6px;align-items:center;padding:12px 22px 12px 25px;min-height:70px;background:#263333;font-size:.875rem;color:#c9d1bc;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%)}.turn-steps li:first-child{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);padding-left:12px}.turn-steps .step-current{background:#f2f500;color:#101600}.turn-steps .step-done{background:#213c32;color:#ccebd6}.turn-steps small{grid-column:2;font-size:.75rem}.step-number{text-align:center;font-weight:bold;grid-row:1/3}.step-done .step-number{color:#a6e2b1}#stepTracker .step-detail,#stepTracker .turn-limits{font-size:.875rem;line-height:1.5;margin:10px 10px 0}.turn-limits{color:#a9b894}@media(max-width:720px){.turn-steps li{flex:0 0 145px}#stepTracker{margin:12px 0}}
#stepTracker{border-top:1px solid #515713;border-bottom:1px solid #515713;margin:16px 0;padding:14px 0;background:#070d16}#stepTracker h3{margin:0 10px 10px;font-size:1rem;color:#f2f500}.turn-steps{list-style:none;margin:0;padding:0 6px;display:flex;gap:3px;overflow-x:auto}.turn-steps li{flex:1;min-width:125px;box-sizing:border-box;display:grid;grid-template-columns:22px 1fr;gap:3px 6px;align-items:center;padding:12px 22px 12px 25px;min-height:70px;background:#263333;font-size:.875rem;color:#c9d1bc;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%)}.turn-steps li:first-child{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);padding-left:12px}.turn-steps .step-current{background:#f2f500;color:#101600}.turn-steps .step-done{background:#213c32;color:#ccebd6}.turn-steps small{grid-column:2;font-size:.75rem}.step-number{text-align:center;font-weight:bold;grid-row:1/3}.step-done .step-number{color:#a6e2b1}#stepTracker .step-detail,#stepTracker .turn-limits{font-size:.875rem;line-height:1.5;margin:10px 10px 0}.turn-limits{color:#a9b894}.effect-queue{margin:8px 7px 0;padding:7px;border:1px solid #777d24;background:#101407}.effect-queue h4{margin:0 0 5px;color:#f2f500;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.effect-queue ol{display:flex;gap:5px;list-style:none;padding:0;margin:0;overflow-x:auto}.effect-queue li{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:5px;min-width:270px;padding:5px 7px;border:1px solid #48502c;background:#121b19;font-size:12px}.effect-queue li.effect-current{border-color:#f2f500;background:#202709}.effect-queue li>span{font-size:10px;color:#aab58b}.effect-queue li>small{font-size:10px;color:#d6dcad}.effect-detail{grid-column:1/-1;margin:0;color:#c9d1bc;font-size:11px;line-height:1.35}.effect-order{grid-column:1/-1;min-height:24px;padding:2px 5px;font-size:10px}@media(max-width:720px){.turn-steps li{flex:0 0 145px}#stepTracker{margin:12px 0}}

.card-back-visual{position:relative;aspect-ratio:2/3;width:100%;overflow:hidden;border-radius:6px;background:#080c13}.card-back-art{position:absolute;width:150%;height:66.667%;max-width:none;left:-25%;top:16.667%;object-fit:contain;transform:rotate(90deg);display:block}.legend-back{padding:0;background:none;min-height:0;display:block}.legend-back .card-back-visual{height:100%;min-height:135px}.deck-back{position:relative;display:block;min-height:0;background:#080c13;padding:0}.deck-back .card-back-visual{width:100%}.back-caption{position:absolute;bottom:3px;left:3px;right:3px;text-align:center;background:#04070fed;color:#f2f500!important;padding:5px 2px;font-size:12px!important;line-height:1.3}.eddie-card{position:relative;width:55px;min-height:0;display:block;overflow:hidden}.eddie-card.spent-eddie{width:78px;min-height:0}.spent-eddie .card-back-visual{aspect-ratio:3/2}.spent-eddie .card-back-art{width:100%;height:100%;left:0;top:0;transform:none}.hidden-hand{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.hidden-hand .card-back-visual{width:42px;flex:none}.legend-back .card-back-art{min-height:0}

/* Compact play surface; retain readable card controls and resource areas. */
body:has(#match:not([hidden])) header,body:has(#match:not([hidden])) main{max-width:1900px;padding:12px 20px}body:has(#match:not([hidden])) header h1{font-size:28px}body:has(#match:not([hidden])) header .eyebrow{display:none}#match>.toolbar{margin-bottom:12px}.mat-heading{margin-bottom:12px}.mat-heading .eyebrow{display:none}.mat-heading strong{font-size:18px}.playmat{padding:18px 10px 12px;gap:18px 10px}.player-resources{grid-template-columns:60px minmax(220px,2fr) minmax(125px,1fr) 85px 85px;gap:8px}.player-resources>.mat-zone{padding:16px 6px 8px}.player-resources .mat-deck .deck-back{min-height:0}.player-resources .trash-pile{min-height:130px}.player-resources .trash-pile .card-art{height:100px}.player-resources .fixer-die{height:26px;min-height:26px}.gig-summary{margin:0 0 5px}.mat-dice{min-height:42px}.mat-die{min-height:40px}.mat-die b{font-size:22px}.mat-field{padding:12px 8px 6px;border-color:#c5ca29;box-shadow:inset 0 0 35px #aebc0010}.field-lane{min-height:140px;padding:6px 0}.lane-title{margin-bottom:6px}.hidden-hand{margin-bottom:6px;gap:3px}.hidden-hand .card-back-visual{width:28px}.field-cards{gap:7px;min-height:90px}.playmat .game-card{width:122px;min-width:122px;padding:5px}.playmat .game-card>.card-art-button{display:flex;align-items:center;justify-content:center;height:108px;width:100%;padding:0;overflow:hidden}.playmat .game-card .thumb{width:70px;height:105px;object-fit:contain;transition:transform .18s ease}.playmat .game-card.spent{opacity:1;border-bottom:3px solid #c8c88b;background:#171e20}.playmat .game-card.spent .thumb{transform:rotate(90deg)}.playmat .game-card h3{font-size:16px;min-height:0;line-height:1.15;margin:4px 0}.playmat .game-card .mini-actions button{font-size:14px;min-height:32px;padding:4px}.playmat .game-card .status{margin-top:3px}.legend-art{height:135px;display:flex;align-items:center;justify-content:center;overflow:hidden}.legend-art .card-art{width:90px;max-width:100%;height:135px;transition:transform .18s ease}.spent-legend{opacity:1!important}.spent-legend .legend-art .card-art{transform:rotate(90deg) scale(.72)}.spent-legend .legend-back .card-back-visual{transform:rotate(90deg) scale(.66)}.spent-legend .legend-state{color:#f2f500}.legend-back .card-back-visual{transition:transform .18s ease}#match .hand-area{padding:12px;margin-top:12px}#realHand .game-card{width:135px;min-width:135px;padding:7px}#realHand .thumb{height:125px;object-fit:contain}#realHand .game-card h3{font-size:18px;min-height:0}.match-coach .coach h2{font-size:21px}.match-coach .panel{padding:10px}
#stepTracker{margin:8px 0;padding:7px 0}#stepTracker h3{font-size:.875rem;margin:0 8px 5px}.turn-steps{gap:2px}.turn-steps li{min-height:40px;min-width:110px;padding:5px 18px 5px 20px;grid-template-columns:16px 1fr;gap:2px 4px}.turn-steps small{display:none}.step-number{grid-row:auto}.turn-steps li:first-child{padding-left:7px}.step-extra{margin:5px 8px 0}.step-extra summary{font-size:12px;color:#aab791}.step-extra .step-detail,.step-extra .turn-limits{margin:5px 0!important}
@media(min-width:1100px){.match-layout{grid-template-columns:minmax(0,1fr) 250px;gap:12px}}
@media(max-width:1099px) and (min-width:721px){.player-resources{grid-template-columns:50px minmax(210px,2fr) minmax(115px,1fr) 75px 75px}.player-resources>.mat-zone{grid-column:auto}.player-resources .mat-fixer .mat-content{flex-direction:column}}
@media(max-width:720px){body:has(#match:not([hidden])) main{padding:10px}.player-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.player-resources .mat-fixer,.player-resources .mat-legends,.player-resources .mat-eddies{grid-column:1/-1}.turn-steps li{flex:0 0 115px}.field-cards .game-card{width:calc(50% - 4px);min-width:0}}
@media(prefers-reduced-motion:reduce){.playmat .thumb,.legend-art .card-art,.legend-back .card-back-visual{transition:none}}

/* Desktop match: resource rails, center battlefield, bottom hand. */
#effectsDialog{width:min(1000px,95vw);max-width:1000px;max-height:90dvh;overflow:auto}#effectsDialog #manualPanel{clear:both;margin-top:12px}
@media(min-width:1100px) and (min-height:650px){
 body:has(#match:not([hidden])){height:100dvh;overflow:hidden;display:flex;flex-direction:column}
 body:has(#match:not([hidden])) header{flex:0 0 auto;width:100%;padding:8px 14px;max-width:none;min-height:48px}
 body:has(#match:not([hidden])) header h1{font-size:23px}body:has(#match:not([hidden])) header h1 span{font-size:18px}
 body:has(#match:not([hidden])) main{flex:1;min-height:0;width:100%;max-width:none;padding:6px 12px;display:flex;flex-direction:column}
 body:has(#match:not([hidden])) footer{display:none}body:has(#match:not([hidden])) #notice:empty{display:none}
 body:has(#match:not([hidden])) #notice:not(:empty){padding:3px 8px;margin:0;font-size:13px;max-height:38px;overflow:auto}
 #match:not([hidden]){flex:1;min-height:0;display:flex;flex-direction:column;gap:7px;padding:0}
 #match>.toolbar{flex:none;min-height:36px;margin:0;gap:8px}#match>.toolbar button{padding:5px 9px;font-size:13px;min-height:32px}
 #manualBanner{display:none}#match .match-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:9px}
 #board{height:100%;min-height:0;display:flex;flex-direction:column}.mat-heading{display:none}
 .playmat{flex:1;min-height:0;padding:14px 8px 7px;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) 150px;grid-template-rows:55px minmax(0,1fr);grid-template-areas:'opponent rival friendly player' 'opponent field field player';gap:12px 8px;overflow:hidden}
 .player-resources{min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:45px 132px minmax(60px,1fr) 104px;grid-template-areas:'fixer fixer' 'legends legends' 'eddies eddies' 'deck trash';gap:13px 5px}
 .player-resources>.mat-fixer{grid-area:fixer}.player-resources>.mat-legends{grid-area:legends}.player-resources>.mat-eddies{grid-area:eddies}.player-resources>.mat-deck{grid-area:deck}.player-resources>.mat-trash{grid-area:trash}
 .player-resources>.mat-zone{padding:12px 4px 4px;min-height:0}.player-resources .mat-label{font-size:10px;padding:3px 8px;min-height:20px;top:-10px}
 .player-resources .mat-fixer .mat-content{flex-direction:row;gap:2px}.player-resources .fixer-die{width:auto;flex:1;min-width:0;height:23px;min-height:23px;padding:0}.player-resources .fixer-die strong{font-size:13px}
 .mat-legend-slots{gap:3px}.mat-legend-slot{padding:2px;min-height:0;gap:2px}
 .legend-art{height:65px}.legend-art .card-art{width:43px;height:65px}.legend-back .card-back-visual{min-height:65px;height:65px}.legend-name{display:none}.legend-state{font-size:10px}.solo-button{font-size:10px;padding:2px;min-height:22px}.mat-call{font-size:11px;padding:3px;margin-top:4px;min-height:24px}
 .player-resources .bank-total{font-size:11px;margin:0 0 3px}.bank-total strong{font-size:20px}.player-resources .eddie-cards{gap:3px;min-height:0;margin-bottom:0;max-height:80px;overflow:auto}.player-resources .eddie-card{width:32px}.player-resources .spent-eddie{width:44px}.player-resources .back-caption{font-size:9px!important;padding:2px 0}.player-resources .mat-eddies .mat-content>.mat-empty{display:none}
 .player-resources .deck-back{height:78px}.deck-back .card-back-visual{height:78px}.player-resources .trash-pile{min-height:0;height:62px;padding-bottom:15px}.player-resources .trash-pile .card-art{height:47px}.pile-count{bottom:0;font-size:10px}.removed-link{font-size:10px;min-height:20px;padding:2px;margin-top:2px}
 .mat-rival,.mat-friendly{padding:8px 6px 4px}.gig-summary{font-size:11px;line-height:1;margin:0 0 3px}.mat-dice{min-height:0;gap:4px}.mat-die{min-height:25px;min-width:34px;padding:1px 5px;display:flex;align-items:center;gap:4px}.mat-die b{font-size:18px}.mat-die span{font-size:10px}
 .mat-field{min-height:0;padding:8px 7px 4px}.mat-field>.mat-content{height:100%;min-height:0;display:flex;flex-direction:column}.field-lane{flex:1;min-height:0;display:flex;flex-direction:column;padding:2px 0}.lane-title{flex:none;margin:0 0 3px;gap:4px}.lane-title h3{font-size:14px}.lane-title span{font-size:11px}.hidden-hand{position:absolute;right:8px;top:2px;max-width:35%;overflow:hidden;flex-wrap:nowrap;opacity:.7}.hidden-hand .card-back-visual{width:16px}.field-lane{position:relative}.field-lane:has(.hidden-hand) .lane-title{padding-right:30%}
 .field-cards{flex:1;min-height:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:auto;align-items:start;padding:2px 1px 4px;gap:6px}.playmat .game-card{width:112px;min-width:112px;padding:4px}.playmat .game-card>.card-art-button{height:65px}.playmat .game-card .thumb{height:63px;width:42px}.playmat .game-card h3{font-size:14px;line-height:1.05;margin:3px 0}.playmat .game-card .card-meta{font-size:10px}.playmat .game-card .status{font-size:10px}.playmat .game-card .mini-actions{margin-top:3px}.playmat .game-card .mini-actions button{font-size:12px;min-height:25px;padding:2px 4px}
 #stepTracker{flex:none;padding:4px 0;margin:4px 0;position:relative}#stepTracker h3{font-size:12px;margin:0 6px 3px}.turn-steps li{min-height:28px;min-width:90px;padding:3px 16px 3px 18px;font-size:12px}.step-extra{position:absolute;right:4px;top:1px;margin:0}.step-extra[open]{background:#080e18;border:1px solid #81883e;padding:8px;width:min(340px,90%);z-index:8}.step-extra summary{font-size:11px}
 #match .match-coach{position:static;min-height:0;max-height:100%;overflow:auto;gap:7px;display:flex;flex-direction:column}.match-coach .coach h2{font-size:18px}.match-coach .coach p{font-size:12px;line-height:1.4;margin:5px 0}.match-coach .panel{padding:8px}.match-coach #realLog{max-height:80px}.match-coach .panel h2{font-size:18px}.turn-dock{position:sticky;bottom:0;background:#111b24;padding-top:5px;margin-top:6px}.turn-dock button{min-height:36px;font-size:14px}
 #match .hand-area{flex:0 0 160px;min-height:0;padding:6px 9px;margin:0;display:flex;flex-direction:column}#match .hand-area .section-title{margin:0 0 3px;flex:none}#match .hand-area h2{font-size:17px}#realHand{flex:1;min-height:0;padding:2px;gap:6px}#realHand .game-card{display:grid;grid-template-columns:55px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:7px;width:225px;min-width:225px;padding:5px}#realHand .card-art-button{grid-row:1/4}#realHand .thumb{height:83px;width:55px}#realHand .game-card h3{font-size:16px;margin:0;min-height:0}#realHand .card-meta{font-size:11px}#realHand .mini-actions{margin:3px 0 0;display:flex;gap:4px;align-items:end}#realHand .mini-actions button{padding:4px 6px;font-size:12px;min-height:28px}
}

.support-dialog{max-width:min(920px,calc(100vw - 32px));background:linear-gradient(145deg,rgba(8,15,23,.98),rgba(18,13,30,.98));border:1px solid rgba(66,229,255,.55);color:#f4f7fb;box-shadow:0 0 42px rgba(66,229,255,.18)}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.support-grid article{border:1px solid rgba(255,221,45,.28);background:rgba(0,0,0,.25);padding:18px;min-height:190px}
.support-grid h3{margin:0 0 8px;color:#ffdd2d}
.support-cta{display:block;margin-top:10px;padding:10px 12px;border:1px solid #42e5ff;color:#42e5ff;text-align:center;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.support-cta.primary{background:#ffdd2d;border-color:#ffdd2d;color:#141414}
.support-promise{margin:18px 0 0;padding:12px;border-left:4px solid #ffdd2d;background:rgba(255,221,45,.08);font-weight:800}
.footer-link{appearance:none;border:0;background:none;color:inherit;padding:0;text-decoration:underline;font:inherit;cursor:pointer}
@media(max-width:760px){.support-grid{grid-template-columns:1fr}.support-grid article{min-height:0}}

/* Dice silhouettes and tactile card-hand treatment. */
.fixer-die,.mat-die{--die-fill:#151a07;--die-line:#d7df38;position:relative;border:0!important;background:var(--die-fill);clip-path:var(--die-shape,polygon(8% 0,92% 0,100% 18%,100% 82%,92% 100%,8% 100%,0 82%,0 18%));box-shadow:inset 0 0 0 2px var(--die-line),inset 0 0 13px #eaf0001e;isolation:isolate}
.mat-rival .mat-die{--die-fill:#1b1510;--die-line:#b79470}
.die-d4{--die-shape:polygon(50% 0,100% 100%,0 100%)}
.die-d6{--die-shape:polygon(0 0,100% 0,100% 100%,0 100%)}
.die-d8{--die-shape:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.die-d10{--die-shape:polygon(50% 0,91% 24%,100% 67%,50% 100%,0 67%,9% 24%)}
.die-d12{--die-shape:polygon(25% 0,75% 0,100% 32%,91% 78%,50% 100%,9% 78%,0 32%)}
.die-d20{--die-shape:polygon(50% 0,88% 12%,100% 50%,88% 88%,50% 100%,12% 88%,0 50%,12% 12%)}
.fixer-die::after,.mat-die::after{content:'';position:absolute;inset:5px;z-index:-1;opacity:.35;background:linear-gradient(35deg,transparent 47%,var(--die-line) 48% 51%,transparent 52%),linear-gradient(-35deg,transparent 47%,var(--die-line) 48% 51%,transparent 52%);clip-path:inherit}
.fixer-die strong,.fixer-die span,.mat-die b,.mat-die span{position:relative;z-index:1;text-shadow:0 1px 2px #000}
.fixer-die.can-roll{--die-fill:#273307;--die-line:#f3ff00;filter:drop-shadow(0 0 5px #d7f00066)}
.fixer-die.departed{filter:saturate(.35);opacity:.32}
@media(min-width:1100px) and (min-height:650px){
 .player-resources .mat-fixer .mat-content{align-items:center}
 .player-resources .fixer-die{height:28px;min-height:28px;max-width:31px;padding:0;overflow:hidden}
 .player-resources .fixer-die strong{font-size:12px}
 .mat-die{min-width:38px;min-height:31px;justify-content:center}
 .board-hand-dock{flex-basis:104px;min-height:104px}
 .board-hand{gap:5px;padding:5px 10px 3px}
 .playmat .board-hand .game-card{width:92px;min-width:92px;padding:4px;border-radius:8px;border:1px solid #687229;border-top:3px solid var(--card-color);background:#080d15;box-shadow:0 6px 14px #000c;transform-origin:50% 100%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
 .playmat .board-hand .card-art-button{height:66px;border-radius:5px;background:#020409}
 .playmat .board-hand .game-card h3{font-size:11px;min-height:11px;margin:3px 1px 2px}
 .playmat .board-hand .mini-actions button{min-height:20px;font-size:9px;border-radius:2px}
 .playmat .board-hand .game-card:hover,.playmat .board-hand .game-card:focus-within{z-index:80!important;transform:translateY(-31px) scale(1.42);border-color:#f2f500;box-shadow:0 18px 34px #000,0 0 18px #eff30042}
}
@media(prefers-reduced-motion:reduce){.playmat .board-hand .game-card{transition:none}.playmat .board-hand .game-card:hover,.playmat .board-hand .game-card:focus-within{transform:translateY(-18px) scale(1.22)}}

/* Illustrated polyhedral dice based on the supplied silhouette reference. */
.fixer-die,.mat-die{clip-path:none!important;background:transparent!important;box-shadow:none!important;overflow:visible;color:#f1f600}
.mat-rival .mat-die{color:#ffb56e}
.die-icon{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);overflow:visible;fill:#101b1f;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #eaff004f)}
.die-icon path{fill:none;stroke-width:3.5;opacity:.88}
.fixer-die::after,.mat-die::after{display:none}
.fixer-die strong,.fixer-die span,.mat-die b,.mat-die span{z-index:2;color:#f7ff7b;text-shadow:0 1px 3px #000,0 0 3px #000}
.mat-rival .mat-die b,.mat-rival .mat-die span{color:#ffd1a4}
.fixer-die.can-roll{filter:drop-shadow(0 0 5px #d7f00088)}
.fixer-die.can-roll .die-icon{fill:#263009;stroke:#fbff00}
.fixer-die.departed .die-icon{fill:#0b1012;stroke:#657055}
@media(min-width:1100px) and (min-height:650px){
 .player-resources .fixer-die{max-width:34px;height:31px;min-height:31px}
 .player-resources .fixer-die strong{font-size:11px}
 .mat-die{width:42px;min-width:42px;height:35px;min-height:35px;padding:0;display:flex;align-items:center;justify-content:center}
 .mat-die b{font-size:16px}
 .mat-die span{position:absolute;right:2px;bottom:0;font-size:8px}
}

/* Desktop table revision: the board itself carries turn actions and the hand. */
.board-hand-dock{display:none}
.tracker-actions{display:none}
@media(min-width:1100px) and (min-height:650px){
 #match .match-coach{display:none!important}
 #match .match-layout{display:block;position:relative}
 #match .hand-area{display:none}
 #stepTracker{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title actions' 'steps actions' 'effects actions';align-items:center;gap:2px 8px}
 #stepTracker h3{grid-area:title}
 #stepTracker .turn-steps{grid-area:steps}
 #stepTracker .effect-queue{grid-area:effects}
 #stepTracker .step-extra{right:8px}
 #stepTracker .tracker-actions{grid-area:actions;display:flex;align-items:center;gap:4px;padding-right:5px}
 #stepTracker .tracker-actions:empty{display:none}
 #stepTracker .tracker-actions button{min-height:28px;padding:3px 7px;font-size:11px}
 #stepTracker .tracker-end-turn{background:#eff300;color:#111600;border-color:#eff300}
 .field-lane{overflow:visible}
 .board-hand-dock{display:none;grid-template-columns:34px minmax(0,1fr);align-items:end;flex:0 0 82px;min-height:82px;margin-top:3px;border-top:1px solid #656b16;background:linear-gradient(180deg,#090d12,#03050a);overflow:visible}
 .board-hand-dock:has(.game-card){display:grid}
 .board-hand-label{align-self:stretch;display:flex;align-items:center;justify-content:center;color:#eff300;font:700 11px 'Barlow Condensed',sans-serif;letter-spacing:1px;writing-mode:vertical-rl;transform:rotate(180deg);border-right:1px solid #656b16}
 .board-hand{align-items:flex-end;justify-content:center;overflow:visible;gap:4px;padding:3px 8px 2px;min-height:0}
 .playmat .board-hand .game-card{width:82px;min-width:82px;padding:3px;margin:0;border-radius:5px;transform:none;box-shadow:0 4px 10px #000a}
 .playmat .board-hand .card-art-button{height:48px;border-radius:3px}
 .playmat .board-hand .thumb{width:100%;height:100%;object-fit:contain;transform:none}
 .playmat .board-hand .game-card h3{font-size:10px;line-height:1;min-height:10px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .playmat .board-hand .card-meta{display:none}
 .playmat .board-hand .mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:1px 0 0}
 .playmat .board-hand .mini-actions button{min-height:18px;padding:1px;font-size:9px}
}

/* The player's hand reads as a fan of physical trading cards. */
#match .hand-area{overflow:visible;background:linear-gradient(180deg,#070b12 0%,#02040a 100%);box-shadow:inset 0 1px #b4ba2038}
#realHand{align-items:flex-end;overflow-x:auto;overflow-y:visible;scrollbar-color:#6f7426 #090c10;scroll-padding-inline:28px;padding:17px 28px 5px;gap:0}
#realHand .game-card{display:flex;flex-direction:column;width:142px;min-width:142px;margin-left:-31px;padding:5px;border:1px solid #687229;border-top:3px solid var(--card-color);border-radius:9px;background:#080d15;box-shadow:-9px 6px 18px #000b,0 0 0 1px #000;transform-origin:50% 110%;transform:translateY(var(--fan-drop,0)) rotate(var(--fan-angle,0deg));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;isolation:isolate}
#realHand .game-card:first-child{margin-left:0}
#realHand .game-card:hover,#realHand .game-card:focus-within{z-index:100!important;transform:translateY(-13px) rotate(0deg) scale(1.04);border-color:#f2f500;box-shadow:0 14px 30px #000d,0 0 18px #e8ef0030}
#realHand .card-art-button{display:block;width:100%;height:142px;padding:0;border:0;border-radius:6px;overflow:hidden;background:#03050a}
#realHand .thumb{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
#realHand .game-card h3{margin:4px 2px 1px;min-height:0;font-size:14px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f3f6eb}
#realHand .card-meta{font-size:10px;line-height:1.2;color:#aeb99f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#realHand .mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}
#realHand .mini-actions:empty{display:none}
#realHand .mini-actions button{min-height:27px;padding:3px 4px;font-size:11px;border-radius:3px;background:#15202a}
#realHand .mini-actions button:first-child:not(:disabled){background:#e9ef25;color:#111500;border-color:#f7ff55}
@media(min-width:1100px) and (min-height:650px){#match .hand-area{flex-basis:194px}#realHand{padding-top:15px;padding-bottom:2px}#realHand .game-card{width:128px;min-width:128px;margin-left:-27px;padding:4px}#realHand .card-art-button{height:118px}#realHand .game-card h3{font-size:13px}#realHand .card-meta{display:none}#realHand .mini-actions{margin-top:3px}#realHand .mini-actions button{min-height:25px;padding:2px 3px}}
@media(max-width:720px){#realHand{padding:16px 18px 6px}#realHand .game-card{width:126px;min-width:126px;margin-left:-24px}#realHand .card-art-button{height:132px}}
@media(prefers-reduced-motion:reduce){#realHand .game-card{transition:none;transform:translateY(var(--fan-drop,0))}#realHand .game-card:hover,#realHand .game-card:focus-within{transform:translateY(-8px)}}

/* Combat response: legal blockers glow, while the chosen blocker reads as a committed card. */
.game-card.blocker-option{border-color:#8fa327;box-shadow:0 0 0 1px #dff40055,0 0 16px #dff40020;cursor:pointer}
.game-card.blocker-option .card-art-button{outline:1px dashed #dff40088;outline-offset:-3px}
.game-card.blocker-option:not(.blocker-selected):hover,.game-card.blocker-option:not(.blocker-selected):focus-within{border-color:#efff37;box-shadow:0 0 0 2px #efff3766,0 0 22px #dff40042}
.game-card.blocker-selected{border-color:#f3ff00!important;background:linear-gradient(155deg,#28320a,#081019 58%)!important;box-shadow:0 0 0 2px #f3ff00,0 0 28px #e8ff006e!important;transform:translateY(-4px)}
.game-card.blocker-selected .status{color:#f5ff37;font-weight:800;letter-spacing:.06em}
.game-card.blocker-selected .card-art-button{outline:2px solid #f3ff00;outline-offset:-3px}

/* Equipment placement mirrors combat selection: preview first, commit second. */
.game-card.gear-host-option,.mat-legend-slot.gear-host-option{border-color:#27d8ff!important;box-shadow:0 0 0 1px #27d8ff66,0 0 18px #27d8ff2e;cursor:pointer}
.game-card.gear-host-option .card-art-button,.mat-legend-slot.gear-host-option .legend-art{outline:1px dashed #70e8ff;outline-offset:-3px}
.game-card.gear-host-selected,.mat-legend-slot.gear-host-selected{border-color:#9bf2ff!important;background:linear-gradient(155deg,#083347,#071019 58%)!important;box-shadow:0 0 0 2px #61e6ff,0 0 28px #24d8ff69!important}
.game-card.gear-host-selected .status,.mat-legend-slot.gear-host-selected .legend-state{color:#aaf5ff;font-weight:800;letter-spacing:.05em}
.gear-list,.legend-gear-stack{display:flex;gap:3px;flex-wrap:wrap;align-items:center}
.gear-list button,.legend-gear-stack button{position:relative;min-height:20px;padding:2px 5px;border-color:#27a9c0;background:#071d27;color:#bdf6ff;font-size:10px;transform-origin:center;transition:transform .15s ease,filter .15s ease}
.gear-list button.spent-gear,.legend-gear-stack button.spent-gear{transform:rotate(90deg) scale(.82);filter:saturate(.65);margin:5px 8px}
.legend-gear-stack{justify-content:center;max-height:34px;overflow:auto}
@media(prefers-reduced-motion:reduce){.gear-list button,.legend-gear-stack button{transition:none}}

/* Desktop HUD: keep guidance on the playmat instead of sacrificing a full column. */
@media(min-width:1100px) and (min-height:650px){
 #match .match-layout{display:block;position:relative}
 #match #board{width:100%}
 #match .match-coach{position:absolute;top:62px;right:158px;width:214px;max-height:calc(100% - 125px);z-index:14;display:flex;gap:5px;overflow:auto;padding:4px;background:#050911e8;border:1px solid #858b20;box-shadow:0 10px 28px #000b,0 0 18px #eaf00014;backdrop-filter:blur(5px)}
 #match .match-coach .panel{padding:7px;margin:0;background:#0d1720e8;border-color:#3e4d44}
 #match .match-coach .coach{border-top:2px solid #eff300}
 #match .match-coach .coach .eyebrow{font-size:10px;margin-bottom:2px}
 #match .match-coach .coach h2{font-size:16px;line-height:1.05}
 #match .match-coach .coach p{font-size:11px;line-height:1.3;margin:4px 0}
 #match .match-coach .coach button{min-height:27px;padding:3px 6px;font-size:11px;margin:2px 2px 0 0}
 #match .match-coach .turn-dock{position:static;padding:3px 0 0;margin-top:3px}
 #match .match-coach .turn-dock button{min-height:30px;font-size:12px}
 #match .match-coach .panel:nth-child(2){padding:5px 7px}
 #match .match-coach .panel:nth-child(2) h2{font-size:14px}
 #match .match-coach .panel:nth-child(2) .muted{display:none}
 #match .match-coach .race-row{margin:3px 0;gap:3px;font-size:10px}
 #match .match-coach .race-row>span{width:27px}
 #match .match-coach .tick{width:12px;height:8px}
 #match .match-coach .panel:nth-child(3){display:none}

 #match .hand-area{flex-basis:112px;padding:4px 8px}
 #match .hand-area .section-title{position:relative;z-index:3}
 #realHand{justify-content:center;overflow:visible;padding:5px 22px 0}
 #realHand .game-card{width:96px;min-width:96px;margin-left:-18px;padding:3px;border-radius:6px;transform:translateY(var(--fan-drop,0)) rotate(var(--fan-angle,0deg))}
 #realHand .card-art-button{height:66px;border-radius:4px}
 #realHand .game-card h3{font-size:11px;line-height:1;margin:2px 1px;min-height:11px}
 #realHand .mini-actions{gap:2px;margin-top:2px}
 #realHand .mini-actions button{min-height:20px;padding:1px 2px;font-size:9px}
 #realHand .game-card:hover,#realHand .game-card:focus-within{transform:translateY(-42px) rotate(0deg) scale(1.55);box-shadow:0 16px 34px #000,0 0 16px #e8ef0040}
}

/* The full opposing Gig zone is the attack control; board help popovers are disabled. */
.gig-attack-target{cursor:crosshair;border-color:#f2f500!important;background:linear-gradient(145deg,#171d04,#080b10)!important;box-shadow:0 0 0 2px #f2f50066,0 0 24px #eaff0038!important;animation:gig-target-pulse 1.15s ease-in-out infinite alternate}
.gig-attack-target:hover,.gig-attack-target:focus-visible{background:linear-gradient(145deg,#293205,#0a1013)!important;outline:3px solid #f7ff48;outline-offset:3px}
.gig-attack-prompt{display:block;margin-top:9px;padding:7px 9px;background:#f2f500;color:#111600;text-align:center;font:800 12px 'IBM Plex Sans',sans-serif;letter-spacing:.08em}
@keyframes gig-target-pulse{from{filter:brightness(.92)}to{filter:brightness(1.14)}}
@media(prefers-reduced-motion:reduce){.gig-attack-target{animation:none}}
