/* Championship Run 2.0 — visual roguelite layer */
#screen-rogue .rogue-shell.v2{max-width:1380px;background:#e4d6ba;min-height:calc(100vh - 120px)}
.v2 .rogue-top{background:linear-gradient(105deg,#17120d 0 50%,#79261f);position:relative;overflow:hidden}.v2 .rogue-top:after{content:'';position:absolute;inset:0 0 0 58%;background:url('allera-assets/halfcourt.jpg') center/cover;opacity:.2;mix-blend-mode:screen;pointer-events:none}
.v2 .rogue-status{position:relative;z-index:1}.v2 .rogue-chip.money b{color:#efbd55}.v2 .rogue-chip.build b{color:#9fd4e6}.v2 .rogue-chip.difficulty b{color:#fff}.v2 .rogue-chip.progress{border-color:rgba(239,190,84,.8);background:rgba(126,39,31,.52)}.v2 .rogue-chip.progress b{color:#f2c966}.v2 .rogue-chip.difficulty small,.v2 .rogue-chip.progress small{font-weight:800;opacity:1}
.v2-stage{padding:22px;background-color:#e3d5b8;background-image:radial-gradient(circle,rgba(44,32,19,.13) 1px,transparent 1.5px);background-size:13px 13px}
.v2-kicker{font:800 11px var(--font-mono);letter-spacing:1.6px;color:#8b2c23}.v2-title{margin:3px 0 8px;font:700 clamp(34px,5vw,60px) 'Teko','Arial Narrow',sans-serif;line-height:.9;color:#1c1711}.v2-lead{max-width:760px;margin:0;color:#5f5548;font-weight:650;line-height:1.5}
.v2-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.v2-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.v2-visual-card{position:relative;min-height:260px;padding:0;border:3px solid #211a13;background:#251a14;color:#fff;text-align:left;overflow:hidden;cursor:pointer;box-shadow:7px 7px 0 rgba(40,27,15,.25);transition:transform .16s ease,box-shadow .16s ease}.v2-visual-card:hover{transform:translate(-2px,-3px);box-shadow:10px 11px 0 rgba(40,27,15,.27)}.v2-visual-card:focus-visible{outline:4px solid #e8b44b;outline-offset:3px}
.v2-card-art{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.75) contrast(1.08)}.v2-card-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,5,.05),rgba(13,10,8,.4) 42%,#17110d 92%)}
.v2-card-copy{position:absolute;z-index:1;inset:auto 0 0;padding:17px}.v2-card-copy small{display:block;color:#e7b951;font:800 10px var(--font-mono);letter-spacing:1.2px}.v2-card-copy h3{margin:4px 0 5px;color:#fff;font:700 30px 'Teko','Arial Narrow',sans-serif;letter-spacing:.7px}.v2-card-copy p{margin:0;color:#eee2ce;font-size:13px;line-height:1.4}.v2-card-copy .v2-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.v2-tag{padding:3px 6px;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.3);font:700 9px var(--font-mono);letter-spacing:.6px}
.v2-identity-card{min-height:470px}.v2-identity-card:nth-child(1) .v2-card-art{background-image:url('allera-assets/player-portraits/magic-johnson.png')}.v2-identity-card:nth-child(2) .v2-card-art{background-image:url('allera-assets/player-portraits/dennis-rodman.png')}.v2-identity-card:nth-child(3) .v2-card-art{background-image:url('allera-assets/player-portraits/tim-duncan.png')}.v2-identity-card:nth-child(4) .v2-card-art{background-image:url('allera-assets/player-portraits/michael-jordan.png')}.v2-identity-card:nth-child(5) .v2-card-art{background-image:url('allera-assets/player-portraits/shaquille-oneal.png')}.v2-identity-card:nth-child(6) .v2-card-art{background-image:url('allera-assets/player-portraits/stephen-curry.png')}
.v2-identity-stage .v2-lead{max-width:880px}.v2-identity-key{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:16px}.v2-identity-key span{display:grid;grid-template-columns:29px 1fr;gap:1px 7px;padding:8px;border:1px solid #8c795b;background:rgba(241,227,195,.75)}.v2-identity-key i{grid-row:1/3;display:grid;place-items:center;background:#25160f;color:#e3b84e;font:800 8px var(--font-mono);font-style:normal}.v2-identity-key b{font:800 7px var(--font-mono);letter-spacing:.5px}.v2-identity-key small{color:#6e614f;font-size:7px}.v2-identity-grid{margin-top:10px}.v2-identity-card .v2-card-art:after{background:linear-gradient(180deg,rgba(8,7,5,.02),rgba(13,10,8,.18) 31%,#17110d 65%)}.v2-identity-card .v2-card-copy{padding:150px 16px 14px}.v2-identity-card .v2-card-copy h3{font-size:34px}.v2-identity-card .v2-card-copy p{min-height:38px;font-size:11px}.v2-identity-index{position:absolute;z-index:2;right:10px;top:7px;color:rgba(237,193,91,.72);font:800 26px 'Teko',sans-serif}.v2-identity-rule{margin-top:9px;padding:6px 8px;border-left:3px solid #e6b94f;background:rgba(225,181,76,.1);color:#f0ca72;font:800 7px var(--font-mono);letter-spacing:.4px}.v2-identity-mechanics{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.v2-identity-mechanics span{min-height:45px;padding:6px;border:1px solid rgba(234,217,181,.28);background:rgba(0,0,0,.26)}.v2-identity-mechanics i,.v2-identity-mechanics b{display:block}.v2-identity-mechanics i{color:#d5b96e;font:800 6px var(--font-mono);font-style:normal}.v2-identity-mechanics b{margin-top:3px;color:#fff;font:800 7px var(--font-mono);line-height:1.35}.v2-identity-mechanics .risk{border-color:rgba(213,82,70,.52)}.v2-identity-mechanics .risk i{color:#ed796d}.v2-identity-commit{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:7px;border-top:1px solid rgba(239,205,130,.35);color:#e8bd59;font:800 7px var(--font-mono);letter-spacing:.8px}.v2-identity-commit b{font-size:15px}.v2-identity-card:hover .v2-identity-commit{color:#fff}.v2-identity-card:hover .v2-identity-rule{background:rgba(225,181,76,.2)}
.v2-player-card{min-height:310px}.v2-player-card .v2-card-art{background-size:contain;background-repeat:no-repeat;background-position:right bottom}.v2-player-ovr{position:absolute;z-index:2;top:12px;left:12px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#8b2c23;border:3px solid #ead49c;color:#fff;font:800 22px var(--font-mono)}
.v2-tactic-card{min-height:230px;background:linear-gradient(145deg,#1f1812,#603022)}.v2-tactic-card:before{content:attr(data-symbol);position:absolute;right:12px;top:-18px;color:rgba(238,214,171,.18);font:900 120px 'Teko',sans-serif}.v2-tactic-card.rare{border-color:#c59842}.v2-tactic-card.elite{border-color:#7c4aa2;background:linear-gradient(145deg,#1d1621,#4c285a)}
.v2-run-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.v2-map-wrap{min-width:0}.v2-map{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;padding:24px 12px;border:3px solid #251b12;background:rgba(238,226,201,.74);box-shadow:6px 6px 0 rgba(53,36,20,.24)}
.v2-map-column{position:relative;display:grid;gap:18px;align-content:center}.v2-map-column:not(:last-child):after{content:'◆━━';position:absolute;right:-24px;top:50%;transform:translateY(-50%);color:#796b58;font:800 18px var(--font-mono)}
.v2-route-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.v2-route-legend span{display:grid;grid-template-columns:25px 1fr;gap:1px 7px;padding:8px;border:1px solid #8b795d;background:rgba(239,225,194,.72)}.v2-route-legend i{grid-row:1/3;display:grid;place-items:center;background:#281910;color:#e7ba57;font:800 10px var(--font-mono);font-style:normal}.v2-route-legend b{font:800 8px var(--font-mono);letter-spacing:.5px}.v2-route-legend small{color:#70634f;font-size:8px}
.v2-node{position:relative;min-height:112px;padding:12px;border:2px solid #6d6151;background:#d5c5a6;text-align:left;cursor:pointer;color:#211a13;overflow:hidden}.v2-node:hover:not(:disabled){border-color:#8a2c23;transform:translateY(-2px)}.v2-node.active{border:4px solid #8a2c23;background:#f0dfba;box-shadow:5px 5px 0 #8a2c23}.v2-node.locked{opacity:.5;filter:grayscale(.6);cursor:not-allowed}.v2-node.done{opacity:.62}.v2-node-icon{font-size:30px}.v2-node b,.v2-node small{display:block}.v2-node b{margin-top:4px;font:700 20px 'Teko',sans-serif}.v2-node small{color:#625746;font-size:10px}.v2-node-risk{position:absolute;right:7px;top:7px;padding:2px 5px;background:#252018;color:#efcc77;font:700 8px var(--font-mono)}
.v2-node.finals{background:linear-gradient(145deg,#27150f,#872b22);color:#fff;border-color:#d8ae55}.v2-node.finals small{color:#ead9b6}.v2-node.finals .v2-node-risk{background:#d5aa50;color:#23150e}.v2-node.finals.active{box-shadow:5px 5px 0 #d5aa50}
.v2-sidebar{border:3px solid #251b12;background:#261a13;color:#eee2cb}.v2-side-head{padding:13px 14px;border-bottom:2px solid #d1b77f;background:#70251e}.v2-side-head b{font:700 22px 'Teko',sans-serif}.v2-side-section{padding:13px 14px;border-bottom:1px solid rgba(232,211,169,.25)}.v2-side-section>small{display:block;color:#dbb958;font:800 9px var(--font-mono);letter-spacing:1px}.v2-slot{margin-top:8px;padding:8px;border:1px solid rgba(238,226,203,.3);background:rgba(255,255,255,.05)}.v2-slot b{display:block;color:#fff}.v2-slot span{font-size:10px;color:#cbbda5}.v2-empty{color:#9b8d78!important;font-style:italic}.v2-meter{height:7px;margin-top:6px;background:#0e0b09}.v2-meter i{display:block;height:100%;background:#d4a43f}
.v2-matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin-top:18px}.v2-team-panel{min-height:270px;padding:18px;border:3px solid #251b12;background:#d6c7aa;position:relative;overflow:hidden}.v2-team-panel.enemy{background:#43241b;color:#fff}.v2-team-panel h3{font:700 38px 'Teko',sans-serif}.v2-rating-big{font:800 76px 'Teko',sans-serif;color:#8b2c23}.v2-team-panel.enemy .v2-rating-big{color:#efca75}.v2-versus{align-self:center;font:900 30px 'Teko',sans-serif;color:#8b2c23}.v2-rule-banner{margin-top:14px;padding:10px;border-left:5px solid #cf9e3d;background:rgba(0,0,0,.12)}
.v2-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.v2-call{padding:14px;border:2px solid #251b12;background:#efe1c4;text-align:left;cursor:pointer}.v2-call:hover{background:#fff0ce}.v2-call b{display:block;font:700 22px 'Teko',sans-serif}.v2-call span{font-size:11px;color:#5b5144}
.v2-node-scene{position:relative;min-height:360px;margin-top:18px;border:3px solid #251b12;background-position:center;background-size:cover;overflow:hidden}.v2-node-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17110e 0 38%,rgba(23,17,14,.76) 58%,rgba(23,17,14,.18))}.v2-scene-copy{position:relative;z-index:1;width:min(520px,75%);padding:35px;color:#fff}.v2-scene-copy h3{font:700 44px 'Teko',sans-serif}.v2-scene-copy p{color:#eadfc9;line-height:1.5}.v2-scene-actions{display:grid;gap:9px;margin-top:18px}.v2-scene-actions button{padding:12px;border:1px solid #e4ca8f;background:rgba(137,43,34,.9);color:#fff;text-align:left;cursor:pointer}.v2-scene-actions button b,.v2-scene-actions button span{display:block}.v2-scene-actions button span{margin-top:3px;color:#ead7b4;font-size:11px}
@media(max-width:900px){.v2-card-grid{grid-template-columns:repeat(2,1fr)}.v2-run-layout{grid-template-columns:1fr}.v2-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}.v2-side-head{grid-column:1/-1}.v2-matchup{grid-template-columns:1fr}.v2-versus{text-align:center}.v2-choice-row{grid-template-columns:1fr}}
@media(max-width:900px){.v2-identity-key{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.v2-stage{padding:12px}.v2-card-grid,.v2-card-grid.two{grid-template-columns:1fr}.v2-visual-card,.v2-identity-card{min-height:250px}.v2-map{gap:7px;padding:12px 5px}.v2-map-column:not(:last-child):after{display:none}.v2-node{min-height:100px;padding:8px}.v2-node-icon{font-size:22px}.v2-node b{font-size:16px}.v2-sidebar{grid-template-columns:1fr}.v2-scene-copy{width:auto;padding:22px}}
@media(max-width:620px){.v2-identity-key{grid-template-columns:1fr}.v2-identity-card{min-height:455px}.v2-identity-card .v2-card-copy{padding-top:145px}}
@media(max-width:620px){.v2-route-legend{grid-template-columns:1fr}.v2-route-legend span{padding:6px}}
.v2-live-game{position:relative;margin-top:18px;border:4px solid #1d1711;background:#5b331e url('allera-assets/halfcourt.jpg') center/cover;overflow:hidden;box-shadow:8px 8px 0 rgba(45,29,16,.28)}.v2-live-game:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,13,9,.9),rgba(40,22,13,.68),rgba(18,13,9,.9))}.v2-live-inner{position:relative;z-index:1;padding:18px;color:#fff}
.v2-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:13px 18px;border:2px solid #dbc18a;background:rgba(18,14,11,.88)}.v2-score-team:last-child{text-align:right}.v2-score-team small,.v2-score-team b{display:block}.v2-score-team small{color:#d8c6a4;font:800 10px var(--font-mono);letter-spacing:1px}.v2-score-team b{font:800 50px 'Teko',sans-serif;line-height:.9}.v2-clock{text-align:center;color:#e7b64f;font:800 12px var(--font-mono)}
.v2-game-flow{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-top:14px}.v2-court-panel,.v2-intent-panel{border:2px solid #dbc18a;background:rgba(22,16,12,.88)}.v2-court-panel{padding:15px}.v2-intent-panel{padding:16px}.v2-intent-panel small{color:#e3b84f;font:800 10px var(--font-mono);letter-spacing:1px}.v2-intent-symbol{font-size:55px;line-height:1}.v2-intent-panel h3{margin:5px 0;font:700 29px 'Teko',sans-serif}.v2-intent-panel p{margin:0;color:#d7c9b1;font-size:12px;line-height:1.45}.v2-read{margin-top:12px;padding:8px;border-left:4px solid #e3b84f;background:rgba(255,255,255,.07);font-size:11px}
.v2-turn-track{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.v2-turn-dot{height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.3);font:800 10px var(--font-mono)}.v2-turn-dot.done{background:#2c694a}.v2-turn-dot.current{background:#9a3026;border-color:#f0ca70}.v2-momentum-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:12px;font:800 10px var(--font-mono)}.v2-momentum-track{position:relative;height:10px;background:linear-gradient(90deg,#812921,#c9b894 50%,#28704d)}.v2-momentum-pin{position:absolute;top:-4px;width:4px;height:18px;background:#fff;box-shadow:0 0 0 2px #17110d}
.v2-play-log{display:grid;gap:6px;margin-top:12px;max-height:115px;overflow:auto}.v2-play-line{display:grid;grid-template-columns:70px 1fr auto;gap:8px;padding:7px 9px;border-left:3px solid #887963;background:rgba(0,0,0,.28);font-size:11px}.v2-play-line.good{border-color:#56ad7d}.v2-play-line.bad{border-color:#cf574d}.v2-play-line b{color:#e7bd60}.v2-play-line em{font-style:normal;font-weight:800}
.v2-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.v2-action-card{position:relative;min-height:145px;padding:14px;border:2px solid #d9bf87;background:linear-gradient(145deg,rgba(239,222,188,.96),rgba(199,177,136,.96));color:#211a13;text-align:left;cursor:pointer;overflow:hidden}.v2-action-card:hover{transform:translateY(-2px);background:#f8e8c5}.v2-action-card .symbol{position:absolute;right:8px;top:-18px;color:rgba(96,45,29,.16);font:900 85px 'Teko',sans-serif}.v2-action-card small,.v2-action-card b,.v2-action-card span{display:block;position:relative}.v2-action-card small{color:#8d3025;font:800 9px var(--font-mono);letter-spacing:1px}.v2-action-card b{margin:5px 0;font:700 24px 'Teko',sans-serif}.v2-action-card span{font-size:11px;line-height:1.4;color:#51483b}.v2-action-card .cost{margin-top:8px;color:#8d3025;font-weight:800}.v2-trigger-strip{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.v2-trigger{padding:4px 7px;border:1px solid rgba(231,194,110,.55);background:rgba(0,0,0,.35);color:#e8c776;font:700 9px var(--font-mono)}
@media(max-width:800px){.v2-game-flow{grid-template-columns:1fr}.v2-action-grid{grid-template-columns:1fr}.v2-action-card{min-height:105px}.v2-score-team b{font-size:38px}}

/* Consolidated pregame plans and automatic standard-game payout. */
.v2-opening-plan-grid{grid-template-columns:repeat(4,1fr)}.v2-opening-plan-grid .v2-call{min-height:210px}.v2-opening-plan-grid .v2-call small{position:relative;z-index:2;display:block;width:76%;padding:12px 0 0 14px;color:#e9bd5e;font:800 7px var(--font-mono);letter-spacing:.6px}.v2-auto-reward{margin:13px 0;padding:11px 13px;border-left:5px solid #5a9d71;background:#2a1b13;color:#fff;text-align:left}.v2-auto-reward small,.v2-auto-reward b,.v2-auto-reward span{display:block}.v2-auto-reward small{color:#74d296;font:800 7px var(--font-mono)}.v2-auto-reward b{margin:3px 0;font:700 19px 'Teko',sans-serif}.v2-auto-reward span{color:#cdbda4;font-size:9px}
@media(max-width:900px){.v2-opening-plan-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.v2-opening-plan-grid{grid-template-columns:1fr}.v2-opening-plan-grid .v2-call{min-height:170px}}

/* Finals is a series and a destination, not another ordinary node. */
.v2-finals-stage{background-color:#d8c399}.v2-finals-banner{margin-bottom:18px;padding:14px 20px;border:3px solid #d7ae56;background:linear-gradient(105deg,#170f0b,#81291f);color:#fff;box-shadow:7px 7px 0 rgba(55,31,17,.28)}.v2-finals-banner>small{display:block;color:#e9c66f;font:800 10px var(--font-mono);letter-spacing:1.7px;text-align:center}.v2-finals-banner>div{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin-top:4px}.v2-finals-banner span{font:700 22px 'Teko',sans-serif;letter-spacing:1px}.v2-finals-banner span:last-child{text-align:right}.v2-finals-banner b{font:800 52px 'Teko',sans-serif;line-height:.9;color:#f3d486}.v2-finals-stage .v2-live-game{border-color:#d7ae56;box-shadow:8px 8px 0 #7f291f}.v2-clinch{border-color:#d7ae56!important;background:linear-gradient(145deg,#fff8e7,#ead29b)!important}
.v2-championship-end{position:relative;min-height:650px;display:grid;place-items:center;overflow:hidden;background:#1b110d url('allera-assets/halfcourt.jpg') center/cover}.v2-championship-end:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(224,177,76,.3),transparent 30%),linear-gradient(115deg,rgba(14,9,7,.97),rgba(104,31,24,.88))}.v2-championship-end .rogue-outcome{position:relative;z-index:1;max-width:920px;border:3px solid #d9b158;background:rgba(241,224,188,.96);box-shadow:12px 12px 0 rgba(0,0,0,.4)}.v2-championship-end .rogue-outcome h3{font-size:clamp(44px,7vw,86px);line-height:.9}.v2-trophy-mark{position:absolute;z-index:0;top:-55px;right:7%;color:rgba(239,194,94,.23);font:900 420px Georgia,serif;line-height:1}.v2-end-series{display:inline-grid;min-width:190px;margin:12px auto 4px;padding:10px 22px;border:2px solid #8c3025;background:#24140e;color:#fff}.v2-end-series small{color:#e8bf62;font:800 9px var(--font-mono);letter-spacing:1.2px}.v2-end-series b{font:800 58px 'Teko',sans-serif;line-height:.9}.v2-end-summary{display:grid;grid-template-columns:.7fr 1fr 1.6fr;gap:8px;margin:18px 0}.v2-end-summary span{padding:12px;border:1px solid #8d7b60;background:#e1d0ad;text-align:left}.v2-end-summary small,.v2-end-summary b{display:block}.v2-end-summary small{color:#8b2c23;font:800 8px var(--font-mono);letter-spacing:1px}.v2-end-summary b{margin-top:4px;font-size:13px}.v2-championship-end.defeated:before{background:linear-gradient(115deg,rgba(14,9,7,.97),rgba(65,47,36,.9))}.v2-championship-end.defeated .v2-trophy-mark{color:rgba(255,255,255,.1)}
@media(max-width:700px){.v2-finals-banner>div{gap:8px}.v2-finals-banner span{font-size:16px}.v2-finals-banner b{font-size:40px}.v2-end-summary{grid-template-columns:1fr}.v2-trophy-mark{font-size:260px}.v2-championship-end{min-height:560px}}

/* Franchise legacy: a restrained, choice-led bridge between completed runs. */
.v2-legacy-earned{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;margin:14px 0;padding:12px 14px;border:2px solid #b48731;background:linear-gradient(100deg,#25150f,#6e281f);color:#fff;text-align:left}.v2-legacy-earned>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #e6bd5c;color:#e6bd5c;font-size:25px}.v2-legacy-earned small,.v2-legacy-earned b{display:block}.v2-legacy-earned small{color:#e6bd5c;font:800 8px var(--font-mono);letter-spacing:1px}.v2-legacy-earned b{margin-top:3px;font:700 23px 'Teko',sans-serif}.v2-legacy-earned p{margin:0;color:#d8c9b2;font-size:10px}
.v2-legacy-stage{min-height:650px;padding:34px;background:radial-gradient(circle at 80% 5%,rgba(220,171,60,.22),transparent 30%),#dfd0b2;background-image:radial-gradient(circle,rgba(44,32,19,.13) 1px,transparent 1.5px);background-size:13px 13px}.v2-legacy-balance{display:grid;grid-template-columns:auto 90px 1fr;gap:12px;align-items:center;margin-top:18px;padding:12px 16px;border:3px solid #24160f;background:#2b1911;color:#fff}.v2-legacy-balance small{color:#e6bb55;font:800 9px var(--font-mono);letter-spacing:1px}.v2-legacy-balance b{color:#f0cb72;font:800 38px 'Teko',sans-serif}.v2-legacy-balance span{color:#cfc0a6;font-size:11px}.v2-legacy-card{min-height:360px}.v2-legacy-card .v2-card-art{background-position:center;background-size:cover}.v2-legacy-card.legacy-playbook .v2-card-art{background-image:url('allera-assets/player-portraits/chris-paul.png')}.v2-legacy-card.legacy-scouting .v2-card-art{background-image:url('allera-assets/allera-coach.png')}.v2-legacy-card.legacy-culture .v2-card-art{background-image:url('allera-assets/allera-bench.png')}.v2-legacy-card:after{content:attr(data-symbol);position:absolute;z-index:1;right:12px;top:4px;color:#e8bd5d;font:900 38px 'Teko',sans-serif}.v2-legacy-note{margin:16px 0 0;padding-left:11px;border-left:4px solid #8b2c23;color:#655a4c;font-size:11px}.v2-inheritance-banner{display:flex;gap:11px;align-items:center;margin:-6px 0 16px;padding:10px 13px;border:2px solid #c49b43;background:#27170f;color:#fff;box-shadow:4px 4px 0 rgba(55,34,19,.22)}.v2-inheritance-banner>span{color:#eac45f;font-size:25px}.v2-inheritance-banner small,.v2-inheritance-banner b{display:block}.v2-inheritance-banner small{color:#e7bd59;font:800 8px var(--font-mono);letter-spacing:1px}.v2-inheritance-banner b{font:700 19px 'Teko',sans-serif}.v2-scout-refresh{width:100%;margin:0 0 9px;padding:8px;border:2px solid #8b2c23;background:#2b1911;color:#efc966;font:800 8px var(--font-mono);letter-spacing:.7px;cursor:pointer}.v2-scout-refresh:hover{background:#8b2c23;color:#fff}
@media(max-width:620px){.v2-legacy-stage{padding:16px}.v2-legacy-balance{grid-template-columns:1fr auto}.v2-legacy-balance span{grid-column:1/-1}.v2-legacy-card{min-height:280px}.v2-legacy-earned{grid-template-columns:40px 1fr}.v2-legacy-earned>span{width:36px;height:36px}}

/* Image-led decision language: one visual subject, one decision, compact mechanics. */
.v2-tactic-card{min-height:330px;background:#18110d}.v2-tactic-card:before{z-index:1;color:rgba(238,214,171,.12)}.v2-tactic-card .v2-card-art{background-size:contain;background-repeat:no-repeat;background-position:right bottom;transition:transform .25s ease,filter .25s ease}.v2-tactic-card:hover .v2-card-art,.v2-action-card:hover:before{transform:scale(1.035);filter:saturate(1) contrast(1.08)}
.v2-coach-card .v2-card-art{background-size:cover;background-position:center 46%;filter:saturate(.7) contrast(1.12)}.v2-coach-card.coach-style-0 .v2-card-art{background-position:42% 43%;filter:saturate(.62) sepia(.08) contrast(1.12)}.v2-coach-card.coach-style-1 .v2-card-art{background-position:68% 45%;filter:saturate(.45) contrast(1.28)}.v2-coach-card.coach-style-2 .v2-card-art{background-position:53% 38%;filter:saturate(.82) hue-rotate(-8deg) contrast(1.08)}.v2-coach-card .v2-card-art:after{background:linear-gradient(180deg,rgba(8,7,5,.08),rgba(13,10,8,.28) 36%,#17110d 88%)}.v2-coach-role{position:absolute;z-index:2;top:12px;left:12px;padding:5px 8px;border:1px solid rgba(238,202,116,.72);background:rgba(18,13,9,.76);color:#efc76c;font:800 8px var(--font-mono);letter-spacing:1px}.v2-reward-card .v2-card-art{background-size:cover;background-position:center}.v2-reward-card:last-child .v2-card-art{background-size:contain;background-position:right bottom}
.v2-team-panel{min-height:340px;padding:0;background:#1b130e;color:#fff}.v2-team-panel:before{content:'';position:absolute;inset:0;background-image:var(--panel-art);background-size:contain;background-repeat:no-repeat;background-position:right bottom;filter:saturate(.75) contrast(1.08)}.v2-team-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,11,8,.98) 0 37%,rgba(15,11,8,.64) 65%,rgba(15,11,8,.08)),linear-gradient(0deg,#15100c,transparent 55%)}.v2-team-copy{position:relative;z-index:1;width:70%;padding:24px}.v2-team-copy>small{color:#e7b951;font:800 10px var(--font-mono);letter-spacing:1.1px}.v2-team-panel h3{margin:8px 0 0;color:#fff}.v2-team-panel .v2-rating-big{line-height:1;color:#efca75}.v2-team-panel p{color:#dfd0b7;font:700 10px var(--font-mono)}.v2-team-panel.enemy{background:#24120e}.v2-rule-banner{color:#f1dfbd;background:rgba(0,0,0,.42)}
.v2-image-choices .v2-call{position:relative;min-height:190px;padding:0;overflow:hidden;background:#1b130e;color:#fff}.v2-image-choices .v2-call:before{content:'';position:absolute;inset:0;background-image:var(--choice-art);background-size:contain;background-repeat:no-repeat;background-position:right bottom;filter:saturate(.7)}.v2-image-choices .v2-call:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17110d 0 42%,rgba(23,17,13,.45)),linear-gradient(0deg,#17110d,transparent)}.v2-image-choices .v2-call b,.v2-image-choices .v2-call span{position:relative;z-index:1;display:block;width:68%;padding-left:14px}.v2-image-choices .v2-call b{padding-top:92px;color:#fff}.v2-image-choices .v2-call span{color:#dfd0b7}.v2-image-choices .v2-call:hover{background:#1b130e;border-color:#e5b64f;transform:translateY(-2px)}
.v2-intent-panel{position:relative;min-height:250px;overflow:hidden}.v2-intent-panel:before{content:'';position:absolute;inset:0;background-image:var(--intent-art);background-size:contain;background-repeat:no-repeat;background-position:right bottom;opacity:.45}.v2-intent-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#16100c 0 46%,rgba(22,16,12,.45))}.v2-intent-panel>*{position:relative;z-index:1;max-width:75%}
.v2-action-card{min-height:200px;padding:0;background:#17110d;color:#fff}.v2-action-card:before{content:'';position:absolute;inset:0;background-image:var(--action-art);background-size:contain;background-repeat:no-repeat;background-position:right bottom;filter:saturate(.7);transition:transform .25s ease,filter .25s ease}.v2-action-card:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17110d 0 40%,rgba(23,17,13,.35)),linear-gradient(0deg,#17110d 0 22%,transparent 75%)}.v2-action-copy{position:absolute;z-index:1;inset:auto 0 0;padding:14px}.v2-action-card small{color:#e7b951}.v2-action-card b{color:#fff;font-size:25px}.v2-action-card span{max-width:78%;color:#e7dcc8}.v2-action-card .cost{color:#e7b951}.v2-action-card:hover{background:#17110d;border-color:#f1c768}
@media(max-width:900px){.v2-team-panel{min-height:300px}.v2-image-choices{grid-template-columns:1fr 1fr 1fr}.v2-image-choices .v2-call{min-height:170px}}
@media(max-width:620px){.v2-tactic-card{min-height:280px}.v2-image-choices{grid-template-columns:1fr}.v2-image-choices .v2-call{min-height:155px}.v2-team-copy{width:78%;padding:18px}.v2-action-card{min-height:190px}}

/* Starting-five builder */
.v2-lineup-builder{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:16px;margin-top:18px;align-items:stretch}.v2-draft-court,.v2-player-browser{border:3px solid #211a13;box-shadow:7px 7px 0 rgba(40,27,15,.25);overflow:hidden}.v2-draft-court{padding:12px;background:#5a311e}.v2-court-heading{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#26160f;color:#fff}.v2-court-heading b{font:700 23px 'Teko',sans-serif;letter-spacing:.7px}.v2-court-heading span{color:#e8bd5d;font:800 9px var(--font-mono);letter-spacing:1px}.v2-court-surface{position:relative;min-height:590px;margin-top:10px;border:3px solid #150e09;background:#6b3a20 url('allera-assets/halfcourt.jpg') center/cover;overflow:hidden}.v2-court-surface:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,8,5,.3),transparent 48%);pointer-events:none}
.v2-court-slot{position:absolute;z-index:1;width:28%;height:31%;padding:0;border:2px solid rgba(100,222,255,.88);border-radius:8px;background:rgba(3,22,31,.7);color:#fff;cursor:pointer;overflow:hidden;box-shadow:0 0 22px rgba(0,206,255,.42),inset 0 0 18px rgba(0,188,255,.25);transition:transform .16s ease,border-color .16s ease}.v2-court-slot:hover{transform:translateY(-3px);border-color:#f0c45e}.v2-court-slot:before{content:'';position:absolute;inset:0;background-image:var(--player-art);background-size:contain;background-repeat:no-repeat;background-position:center bottom;filter:saturate(.8)}.v2-court-slot:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#15100c 0 16%,transparent 58%)}.v2-court-slot[data-draft-pos="PG"]{left:36%;top:2%}.v2-court-slot[data-draft-pos="SF"]{left:5%;top:29%}.v2-court-slot[data-draft-pos="SG"]{right:5%;top:29%}.v2-court-slot[data-draft-pos="PF"]{right:19%;bottom:3%}.v2-court-slot[data-draft-pos="C"]{left:19%;bottom:3%}.v2-position-badge{position:absolute;z-index:3;top:7px;left:7px;padding:4px 7px;border:1px solid #9feaff;border-radius:4px;background:#081a20;color:#baf4ff;font:800 10px var(--font-mono)}.v2-add-player{position:absolute;z-index:2;inset:0;display:grid;place-content:center;text-align:center;color:#c2f5ff;font:800 32px var(--font-mono)}.v2-add-player small{display:block;margin-top:3px;font-size:8px;letter-spacing:1px}.v2-court-player{position:absolute;z-index:3;inset:auto 0 0;padding:23px 8px 8px;background:linear-gradient(0deg,#140e0a 50%,transparent);text-align:left}.v2-court-player b,.v2-court-player small{display:block}.v2-court-player b{font:700 18px 'Teko',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-court-player small{color:#e9bd5b;font:700 8px var(--font-mono)}
.v2-confirm-lineup{width:100%;margin-top:10px;padding:14px;border:2px solid #e5bd68;background:#8b2c23;color:#fff;font:800 11px var(--font-mono);letter-spacing:1px;cursor:pointer}.v2-confirm-lineup:disabled{border-color:#776957;background:#30271f;color:#8e8271;cursor:not-allowed}.v2-player-browser{display:flex;flex-direction:column;max-height:690px;background:#e8dcc4}.v2-browser-head{padding:16px;border-bottom:2px solid #211a13;background:#d4c3a3}.v2-browser-head>small{color:#8b2c23;font:800 9px var(--font-mono);letter-spacing:1px}.v2-browser-head h3{margin:2px 0 10px;font:700 29px 'Teko',sans-serif}.v2-position-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.v2-position-tabs button{position:relative;padding:8px 4px;border:2px solid #4c4235;background:#eee1c6;color:#211a13;font:800 10px var(--font-mono);cursor:pointer}.v2-position-tabs button.active{background:#8b2c23;color:#fff;border-color:#5b1712}.v2-position-tabs button.filled:not(.active){border-color:#347052}.v2-position-tabs i{position:absolute;right:2px;top:0;color:#3d8a61;font-style:normal;font-size:8px}.v2-position-tabs .active i{color:#f1cf79}.v2-candidate-list{display:grid;gap:7px;padding:10px;overflow-y:auto}.v2-candidate-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 42px;gap:10px;align-items:center;min-height:88px;padding:6px 8px;border:2px solid #746856;background:#f2e7ce;color:#211a13;text-align:left;cursor:pointer;overflow:hidden}.v2-candidate-card:hover{border-color:#8b2c23;background:#fff0cf;transform:translateX(-2px)}.v2-candidate-art{height:78px;background-position:center bottom;background-size:contain;background-repeat:no-repeat;filter:saturate(.75)}.v2-candidate-copy small,.v2-candidate-copy b,.v2-candidate-copy span{display:block}.v2-candidate-copy small{color:#8b2c23;font:800 8px var(--font-mono)}.v2-candidate-copy b{font:700 20px 'Teko',sans-serif}.v2-candidate-copy span{color:#655a4b;font:700 8px var(--font-mono);line-height:1.5}.v2-candidate-card strong{font:800 27px 'Teko',sans-serif;text-align:center}.v2-candidate-card em{position:absolute;right:6px;bottom:4px;color:#8b2c23;font:800 7px var(--font-mono);font-style:normal}
@media(max-width:980px){.v2-lineup-builder{grid-template-columns:1fr}.v2-player-browser{max-height:520px}.v2-court-surface{min-height:560px}}
@media(max-width:620px){.v2-court-surface{min-height:430px}.v2-court-slot{width:32%;height:30%}.v2-court-slot[data-draft-pos="PG"]{left:34%}.v2-court-slot[data-draft-pos="SF"]{left:1%}.v2-court-slot[data-draft-pos="SG"]{right:1%}.v2-court-slot[data-draft-pos="PF"]{right:16%}.v2-court-slot[data-draft-pos="C"]{left:16%}.v2-court-player b{font-size:14px}.v2-candidate-card{grid-template-columns:58px minmax(0,1fr) 36px}.v2-candidate-art{height:68px}}

/* Tactical hand, live conditions and automatic possession feedback. */
.v2-hand-label{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:14px;padding:8px 10px;border-left:4px solid #e7b951;background:rgba(10,8,6,.72)}.v2-hand-label b{color:#f0c76b;font:800 10px var(--font-mono);letter-spacing:1px}.v2-hand-label span{color:#cfbea1;font-size:10px}.v2-random-hand{grid-template-columns:repeat(4,1fr)}.v2-random-hand .v2-action-card{min-height:215px}.v2-action-card:disabled{cursor:wait;filter:saturate(.35);opacity:.72}.v2-event-card{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;margin-top:12px;padding:10px;border:1px solid #caa85e;background:linear-gradient(90deg,rgba(133,43,33,.78),rgba(28,19,13,.78));color:#fff}.v2-event-card>strong{font-size:35px;text-align:center}.v2-event-card small,.v2-event-card b,.v2-event-card span{display:block}.v2-event-card small{color:#efc96f;font:800 8px var(--font-mono);letter-spacing:1px}.v2-event-card b{font:700 20px 'Teko',sans-serif}.v2-event-card span{color:#decfb5;font-size:10px}.v2-live-game.is-resolving .v2-live-inner{filter:saturate(.7) brightness(.78)}.v2-resolution{position:absolute;z-index:8;left:50%;top:50%;width:min(620px,86%);transform:translate(-50%,-50%);padding:22px;border:3px solid #e1bd68;background:rgba(22,15,11,.97);color:#fff;box-shadow:0 0 0 999px rgba(10,7,5,.35),10px 10px 0 rgba(0,0,0,.45);animation:v2ResolutionIn .22s ease-out}.v2-resolution>small{color:#e8bd5d;font:800 9px var(--font-mono);letter-spacing:1.5px}.v2-resolution>b{display:block;margin:5px 0 12px;font:700 38px 'Teko',sans-serif}.v2-resolution>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v2-resolution span{padding:9px;border:1px solid #7e6a50;background:#2c2119;color:#d9c9ae;font:700 8px var(--font-mono)}.v2-resolution em{display:block;margin-top:3px;color:#fff;font:800 25px 'Teko',sans-serif;font-style:normal}.v2-resolution p{margin:12px 0 0;color:#e2d4bd;font-size:12px}.v2-resolution.good{border-color:#69b887}.v2-resolution.bad{border-color:#d35b4e}.v2-score-delta{display:inline-block;margin-top:4px;padding:2px 6px;background:#3b2b20;color:#e9c979;font:800 8px var(--font-mono);font-style:normal;animation:v2ScorePop .4s ease-out}.v2-score-delta.good{background:#246444;color:#fff}.v2-score-delta.bad{background:#892e26;color:#fff}@keyframes v2ResolutionIn{from{opacity:0;transform:translate(-50%,-43%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes v2ScorePop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}
@media(max-width:900px){.v2-random-hand{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.v2-random-hand{grid-template-columns:1fr}.v2-hand-label{display:block}.v2-hand-label span{display:block;margin-top:4px}.v2-resolution>div{grid-template-columns:1fr}.v2-resolution>b{font-size:29px}}

/* Coach selection is an execution hire, visually distinct from the identity foundation. */
.v2-coach-stage .v2-lead{max-width:900px}.v2-decision-bridge{display:grid;grid-template-columns:1fr 36px 1fr;align-items:stretch;margin-bottom:20px;border:2px solid #2b2117;background:#2a1b13;color:#fff;box-shadow:6px 6px 0 rgba(46,30,17,.22)}.v2-decision-bridge section{display:grid;gap:2px;padding:12px 15px;border-left:5px solid #66705e}.v2-decision-bridge section.active{border-left-color:#e6b84e;background:linear-gradient(90deg,rgba(142,44,34,.68),transparent)}.v2-decision-bridge>i{display:grid;place-items:center;color:#e7bc59;font:900 22px var(--font-mono);font-style:normal}.v2-decision-bridge small{color:#d8bd78;font:800 7px var(--font-mono);letter-spacing:1px}.v2-decision-bridge b{font:700 24px 'Teko',sans-serif;letter-spacing:.6px}.v2-decision-bridge span{color:#bfae94;font:700 8px var(--font-mono);letter-spacing:.5px}.v2-coach-key{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:16px}.v2-coach-key span{display:grid;grid-template-columns:29px 1fr;gap:1px 7px;padding:8px;border:1px solid #8c795b;background:rgba(241,227,195,.75)}.v2-coach-key i{grid-row:1/3;display:grid;place-items:center;background:#872c23;color:#f4d582;font:800 8px var(--font-mono);font-style:normal}.v2-coach-key b{font:800 7px var(--font-mono);letter-spacing:.5px}.v2-coach-key small{color:#6e614f;font-size:7px}.v2-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:11px}.v2-coach-dossier{display:grid;grid-template-columns:42% 58%;min-height:310px;padding:0;border:3px solid #211a13;background:#1c130e;color:#fff;text-align:left;overflow:hidden;cursor:pointer;box-shadow:7px 7px 0 rgba(40,27,15,.25);transition:transform .16s ease,border-color .16s ease}.v2-coach-dossier:hover{transform:translate(-2px,-3px);border-color:#e5b64f}.v2-coach-dossier:focus-visible{outline:4px solid #e8b44b;outline-offset:3px}.v2-coach-portrait{position:relative;min-height:310px;background-position:center;background-size:cover;filter:saturate(.74) contrast(1.08)}.v2-coach-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17100c 0,transparent 58%)}.v2-coach-portrait>span{position:absolute;z-index:1;left:10px;bottom:10px;padding:5px 7px;border:1px solid #dfb54e;background:rgba(20,13,9,.88);color:#edc768;font:800 7px var(--font-mono);letter-spacing:.7px}.v2-coach-copy{display:flex;flex-direction:column;padding:15px}.v2-coach-copy>small{color:#dcb753;font:800 7px var(--font-mono);letter-spacing:.8px}.v2-coach-copy h3{margin:3px 0 1px;font:700 29px 'Teko',sans-serif}.v2-coach-copy>p{min-height:30px;margin:0;color:#d9cbb4;font-size:10px;line-height:1.4}.v2-grade-row{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:5px;margin-top:9px}.v2-grade-row span{padding:6px;border:1px solid rgba(239,218,178,.3);background:#2b2018}.v2-grade-row i,.v2-grade-row b{display:block}.v2-grade-row i{color:#c7ae78;font:800 6px var(--font-mono);font-style:normal}.v2-grade-row b{color:#fff;font:800 22px 'Teko',sans-serif}.v2-coach-report{display:grid;gap:5px;margin-top:6px}.v2-coach-report>span{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:6px 7px;border-left:3px solid #d9ae4b;background:rgba(255,255,255,.05)}.v2-coach-report i{color:#d8b659;font:800 6px var(--font-mono);font-style:normal}.v2-coach-report b{font:800 8px var(--font-mono);text-align:right}.v2-coach-report small{grid-column:1/-1;color:#ad9f88;font-size:7px}.v2-coach-report .risk{border-left-color:#bb5549}.v2-coach-report .risk i{color:#e17669}.v2-coach-hire{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid rgba(232,190,94,.35);color:#e8bd59;font:800 7px var(--font-mono);letter-spacing:.8px}.v2-coach-hire b{font-size:15px}.v2-coach-dossier:hover .v2-coach-hire{color:#fff}
@media(max-width:900px){.v2-coach-key{grid-template-columns:1fr 1fr}.v2-coach-grid{grid-template-columns:1fr}.v2-coach-dossier{min-height:280px}.v2-coach-portrait{min-height:280px}}
@media(max-width:620px){.v2-decision-bridge{grid-template-columns:1fr}.v2-decision-bridge>i{height:22px;transform:rotate(90deg)}.v2-coach-key{grid-template-columns:1fr}.v2-coach-dossier{grid-template-columns:1fr;min-height:0}.v2-coach-portrait{min-height:210px}.v2-coach-copy>p{min-height:0}}
.v2-coach-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:8px 10px;border:1px solid #8c795b;background:rgba(239,225,194,.72)}.v2-coach-toolbar span{color:#6b5d4b;font-size:9px}.v2-coach-toolbar button,.v2-map-nav button{padding:8px 11px;border:2px solid #2a1c13;background:#8b2c23;color:#fff;font:800 8px var(--font-mono);letter-spacing:.7px;cursor:pointer}.v2-coach-toolbar button:disabled{border-color:#8d806b;background:#b8aa91;color:#716654;cursor:not-allowed}
.v2-candidate-card[draggable="true"]{cursor:grab}.v2-candidate-card.dragging{opacity:.4;transform:scale(.98)}.v2-candidate-card em{max-width:70px;text-align:right}.v2-court-slot.drop-ready{border-color:#efc65c;box-shadow:0 0 28px rgba(239,198,92,.7),inset 0 0 22px rgba(239,198,92,.2)}.v2-court-slot.drag-over{transform:scale(1.035);background-color:rgba(112,77,19,.72)}
.v2-map-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:7px 9px;border-left:4px solid #8b2c23;background:rgba(239,225,194,.72)}.v2-map-nav>div{display:flex;gap:6px}.v2-map-nav button.secondary{background:#3a3026;border-color:#6f6250}.v2-map-nav span{color:#665a48;font:700 8px var(--font-mono)}.v2-map-column.single-boss{grid-template-rows:1fr auto 1fr}.v2-node-spacer{min-height:112px}.v2-map-column.single-boss .v2-node{grid-row:2}.v2-situation-calls>.v2-scout-live{margin:0 9px 9px;background:#2c1d15}.v2-call-grid button.recommended{border-color:#3a8e64;box-shadow:inset 0 0 0 2px rgba(76,173,119,.25)}
@media(max-width:620px){.v2-coach-toolbar,.v2-map-nav{align-items:stretch;flex-direction:column}.v2-coach-toolbar button,.v2-map-nav button{width:100%}.v2-node-spacer{min-height:70px}}
.v2-choice-feedback{position:fixed;z-index:120;left:50%;top:120px;display:grid;grid-template-columns:48px minmax(260px,520px);gap:12px;width:min(620px,calc(100vw - 32px));padding:14px 16px;transform:translateX(-50%);border:3px solid #69b887;background:#21170f;color:#fff;box-shadow:0 0 0 9999px rgba(24,16,11,.16),9px 9px 0 rgba(42,27,15,.38);animation:v2DecisionIn .25s ease-out}.v2-choice-feedback>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#337853;color:#fff;font:900 22px var(--font-mono)}.v2-choice-feedback small,.v2-choice-feedback b{display:block}.v2-choice-feedback small{color:#77d69b;font:800 7px var(--font-mono);letter-spacing:1px}.v2-choice-feedback b{margin:2px 0 6px;font:700 25px 'Teko',sans-serif}.v2-choice-feedback p{display:flex;flex-wrap:wrap;gap:5px;margin:0}.v2-choice-feedback em{padding:4px 7px;border:1px solid rgba(118,214,154,.46);background:#2d251b;color:#e8dcc7;font:800 7px var(--font-mono);font-style:normal}.v2-choice-feedback.leaving{opacity:0;transform:translate(-50%,-10px);transition:.25s}.v2-decision-entry{margin-top:7px;padding:7px 8px;border-left:3px solid #79664c;background:rgba(255,255,255,.05)}.v2-decision-entry.latest{border-left-color:#66bc85;animation:v2DecisionPulse 1.2s ease-out}.v2-decision-entry b,.v2-decision-entry span{display:block}.v2-decision-entry b{font:800 8px var(--font-mono);color:#fff}.v2-decision-entry span{margin-top:3px;color:#cbbda5;font-size:7px;line-height:1.45}@keyframes v2DecisionIn{from{opacity:0;transform:translate(-50%,-18px) scale(.96)}to{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes v2DecisionPulse{0%,40%{background:rgba(76,166,109,.24)}100%{background:rgba(255,255,255,.05)}}
@media(max-width:620px){.v2-choice-feedback{top:70px;grid-template-columns:38px 1fr}.v2-choice-feedback>span{width:38px;height:38px}.v2-choice-feedback b{font-size:20px}}
.v2-coach-board{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;margin-top:18px}.v2-coach-court,.v2-coach-console{border:3px solid #24170f;box-shadow:7px 7px 0 rgba(45,29,16,.28)}.v2-coach-court{padding:14px;background:#1b120d;color:#fff}.v2-coach-console{padding:14px;background:#e3d3b3;color:#21170f}.v2-clock b,.v2-clock small{display:block}.v2-clock small{color:#78d69f;font-size:8px}.v2-court-live{position:relative;min-height:390px;margin-top:12px;border:2px solid #dfbd72;background:#5f351f url('allera-assets/halfcourt.jpg') center/cover;overflow:hidden}.v2-court-five{position:absolute;inset:0}.v2-live-player{position:absolute;width:118px;height:145px;border:2px solid #73d8ed;border-radius:7px;background:rgba(4,23,30,.78);box-shadow:0 0 18px rgba(40,204,239,.48);overflow:hidden}.v2-live-player:before{content:'';position:absolute;inset:0;background-image:var(--player-art);background-size:contain;background-position:center bottom;background-repeat:no-repeat}.v2-live-player:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#100c09,transparent 58%)}.v2-live-player span{position:absolute;z-index:1;left:6px;right:6px;bottom:6px;font:700 13px 'Teko',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-live-player.p1{left:43%;top:3%}.v2-live-player.p2{left:12%;top:30%}.v2-live-player.p3{right:12%;top:30%}.v2-live-player.p4{left:27%;bottom:2%}.v2-live-player.p5{right:27%;bottom:2%}.v2-live-call{position:absolute;z-index:3;left:12px;bottom:12px;padding:9px 12px;border-left:4px solid #e4b951;background:rgba(18,12,9,.9)}.v2-live-call small,.v2-live-call b,.v2-live-call span{display:block}.v2-live-call small{color:#e5bd62;font:800 8px var(--font-mono)}.v2-live-call b{font:700 19px 'Teko',sans-serif}.v2-live-call span{color:#c9bba3;font-size:9px}.v2-live-flash{position:absolute;z-index:4;right:12px;top:12px;width:190px;padding:10px;border:2px solid #b99c62;background:rgba(20,14,10,.94);animation:v2ScorePop .4s ease-out}.v2-live-flash.good{border-color:#69b887}.v2-live-flash.bad{border-color:#d35b4e}.v2-live-flash b,.v2-live-flash span{display:block}.v2-live-flash b{font:800 34px 'Teko',sans-serif}.v2-live-flash span{color:#d8c8ad;font-size:9px}.v2-console-status{padding:13px;border:2px solid #675640;background:#f0e2c4}.v2-console-status small{color:#8b2c23;font:800 8px var(--font-mono)}.v2-console-status h3{margin:4px 0;font:700 27px 'Teko',sans-serif}.v2-console-status p{margin:0;color:#685c4d;font-size:10px}.v2-console-primary{width:100%;margin-top:9px;padding:13px;border:2px solid #25170f;background:#8b2c23;color:#fff;font:800 11px var(--font-mono);cursor:pointer}.v2-console-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.v2-console-grid button{min-height:105px;padding:9px;border:2px solid #6d604d;background:#f2e3c3;text-align:left;cursor:pointer}.v2-console-grid button:disabled{opacity:.45}.v2-console-grid small,.v2-console-grid b,.v2-console-grid span{display:block}.v2-console-grid small{color:#8b2c23;font:800 7px var(--font-mono)}.v2-console-grid b{margin:5px 0;font:700 18px 'Teko',sans-serif}.v2-console-grid span{color:#6a5e4e;font-size:9px}.v2-scout-live{margin-top:8px;padding:10px;border-left:4px solid #e3b54d;background:#302118;color:#fff}.v2-scout-live small,.v2-scout-live b,.v2-scout-live span{display:block}.v2-scout-live small{color:#e9c366;font:800 7px var(--font-mono)}.v2-scout-live b{font:700 19px 'Teko',sans-serif}.v2-scout-live span{color:#cbbca5;font-size:9px}@media(max-width:980px){.v2-coach-board{grid-template-columns:1fr}}@media(max-width:620px){.v2-live-player{width:84px;height:112px}.v2-live-player.p2{left:3%}.v2-live-player.p3{right:3%}.v2-live-player.p4{left:20%}.v2-live-player.p5{right:20%}}

/* Coach Mode: information first, decisions second */
.v2-information-flow{display:flex;flex-direction:column;gap:12px}.v2-information-flow>.v2-situation-summary{order:1}.v2-information-flow>.v2-coach-priority{order:2}.v2-information-flow>.v2-system-contract{order:3}.v2-information-flow>.v2-decision-zone{order:4}
.v2-system-contract{display:grid;gap:7px}.v2-system-contract>span{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:start;color:#3c3024;line-height:1.45}.v2-system-contract>span strong{color:#8b2c23;font:900 8px var(--font-mono);letter-spacing:.08em}.v2-system-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.v2-system-head em{padding:4px 7px;border:1px solid #6e5a3f;background:#f8e9ca;color:#6f251d;font:900 8px var(--font-mono);letter-spacing:.06em;white-space:nowrap}.v2-system-contract.pending{border-left-color:#8a7a62}.v2-system-contract.pending .v2-system-head em{color:#6e604d}.v2-system-contract.active .v2-system-head em{border-color:#347551;color:#245c3d}.v2-system-contract.risk .v2-system-head em{border-color:#9a3328;color:#8b2c23}
.v2-decision-zone{display:grid;gap:10px;padding:12px;border:2px solid #6d573d;background:#eadbbd;color:#21170f}.v2-decision-zone-head{display:grid;gap:3px;padding:10px 12px;border-left:5px solid #8b2c23;background:#f4e7ca}.v2-decision-zone-head small,.v2-action-zone-head small{color:#8b2c23;font:800 9px var(--font-mono);letter-spacing:.12em}.v2-decision-zone-head b,.v2-action-zone-head b{font-size:13px;line-height:1.35}.v2-action-zone{display:grid;gap:8px}.v2-action-zone-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:2px solid #6d573d}.v2-situation-calls .v2-call-grid button.recommended{border-color:inherit;box-shadow:none}
.v2-rotation-player{display:block!important;padding:0!important;overflow:hidden}.v2-player-select{display:grid;width:100%;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.v2-player-select:disabled{opacity:.5;cursor:not-allowed}.v2-player-relevant{display:grid;gap:4px;padding:7px 8px;border-top:1px solid rgba(71,53,34,.35);background:rgba(255,255,255,.18)}.v2-player-relevant>small{color:#8b2c23;font:800 8px var(--font-mono);letter-spacing:.1em}.v2-player-relevant>div,.v2-player-full{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.v2-player-relevant span,.v2-player-full span{display:flex;align-items:baseline;justify-content:space-between;gap:3px;padding:4px 5px;border:1px solid rgba(71,53,34,.28);background:#f4e7ca;color:#21170f}.v2-player-relevant span small,.v2-player-full span small{font:700 7px var(--font-mono);letter-spacing:.04em}.v2-player-relevant span b,.v2-player-full span b{font:900 12px var(--font-display)}.v2-player-full{display:none;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 8px 8px;background:rgba(255,255,255,.18)}.v2-player-details-toggle{width:100%;padding:6px 8px;border:0;border-top:1px solid rgba(71,53,34,.28);background:transparent;color:#6c2d24;font:800 8px var(--font-mono);letter-spacing:.08em;text-align:left;cursor:pointer}.v2-rotation-player.details-open .v2-player-full{display:grid}@media (hover:hover){.v2-rotation-player:hover .v2-player-full{display:grid}.v2-rotation-player:hover .v2-player-details-toggle{color:#21170f}}@media(max-width:620px){.v2-decision-zone{padding:9px}.v2-action-zone-head{display:grid}.v2-player-full{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-player-details-toggle{min-height:34px}}
.v2-sub-guide{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;padding:7px 8px;border-top:1px solid rgba(71,53,34,.35);border-left:4px solid #756a58;background:rgba(244,231,202,.72);color:#21170f}.v2-sub-guide b{font:900 9px var(--font-display);letter-spacing:.06em}.v2-sub-guide span{font:800 8px var(--font-mono);text-align:right}.v2-sub-guide small{grid-column:1/-1;color:#654d35;font:700 7px var(--font-mono);letter-spacing:.08em}.v2-sub-guide.fit{border-left-color:#2c7a5a}.v2-sub-guide.risk{border-left-color:#a33a2e}.v2-sub-guide.recommended{background:#ead18e;border-left-color:#b17a18}.v2-rotation-player.recommended{box-shadow:inset 0 0 0 2px #b17a18}@media(max-width:620px){.v2-sub-guide{grid-template-columns:1fr}.v2-sub-guide span{text-align:left}.v2-sub-guide small{grid-column:auto}}

.v2-tactic-history{margin-top:18px;padding:20px;background:#f1e4c6;color:#302417;border:2px solid #796340}.v2-tactic-history article{padding:12px 0;border-top:1px solid #ad9774}.v2-tactic-history p{margin:6px 0;line-height:1.6}
.v2-sf-card{display:grid;grid-template-columns:minmax(140px,260px) 1fr;gap:28px;margin:22px 0;padding:24px;background:#2c2018;color:#fff3da;border:2px solid #b19359}.v2-sf-portrait{min-height:240px;background-size:contain;background-repeat:no-repeat;background-position:center bottom;background-color:#483422;position:relative}.v2-sf-portrait>span{position:absolute;top:12px;left:12px;color:#ecc974;font-size:28px}.v2-sf-copy h2{font-size:clamp(26px,4vw,54px);line-height:1.1;margin:14px 0}.v2-sf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.v2-sf-stats small,.v2-sf-stats b{display:block}.v2-sf-stats b{font-size:30px;color:#ecc974}.v2-sf-actions{display:flex;gap:18px;flex-wrap:wrap}.v2-sf-actions #sfDecline{background:transparent!important;color:#422d1b!important;border:2px solid #806545!important}.v2-sf-actions button{min-height:52px;padding:14px 24px}.v2-sf-replacements{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}.v2-sf-replacements button{padding:16px;border:1px solid #806545;text-align:left}.v2-sf-replacements span,.v2-sf-replacements b,.v2-sf-replacements small{display:block}.v2-sf-replacements button:hover{background:#e7d1a1}.v2-sf-signing button:focus-visible{outline:3px solid #207386;outline-offset:4px}@media(max-width:600px){.v2-sf-card{grid-template-columns:1fr}.v2-sf-portrait{min-height:180px}.v2-sf-actions button{width:100%}}
.v2-insight-grid .v2-assistant-insight>b{font-size:clamp(17px,2vw,24px);line-height:1.35}.v2-assistant-insight>button{display:block;margin-top:12px;padding:10px 12px;border:1px solid #713b27;background:#7e2c22;color:#fff5dd;font-weight:700;text-align:left;min-height:44px}.v2-assistant-insight>button:focus-visible{outline:3px solid #247687;outline-offset:3px}.v2-assistant-insight>button:hover{background:#5c211a}#v2InsightFeedback:empty{display:none}#v2InsightFeedback{margin-top:8px;font-weight:700}
.v2-restart-menu .v2-restart-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.v2-restart-menu .v2-restart-options>button{position:relative;min-height:84px;padding:18px 12px}.v2-restart-menu .v2-restart-options small{display:block;margin-top:8px;font-size:12px}.v2-restart-menu .v2-reset-danger{background:transparent!important;color:#8b3025!important;border-color:#8b3025!important}.v2-restart-help{position:absolute;top:100%;left:0;right:0;z-index:5;margin-top:6px;padding:12px;background:#2c2118;color:#fff4dc;font-size:13px;line-height:1.5;visibility:hidden;opacity:0;pointer-events:none}.v2-restart-options button:hover .v2-restart-help,.v2-restart-options button:focus .v2-restart-help{visibility:visible;opacity:1}#v2RestartConfirm[hidden]{display:none!important}.v2-restart-menu h3{font-size:clamp(28px,4vw,48px)!important}.v2-restart-menu button:focus-visible{outline:3px solid #237287;outline-offset:3px}@media(hover:none),(max-width:600px){.v2-restart-menu .v2-restart-options{grid-template-columns:1fr}.v2-restart-help{position:static;display:block;visibility:visible;opacity:1;background:transparent;color:inherit;padding:4px 0 0;font-weight:400}}
/* Readable identity-card details, including narrow screens. */
.v2-identity-card .v2-card-copy p{font-size:16px;line-height:1.6;min-height:0;margin-bottom:16px}
.v2-identity-card .v2-identity-rule{font-size:13px;line-height:1.6;padding:10px 12px;letter-spacing:.15px}
.v2-identity-card .v2-identity-mechanics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.v2-identity-card .v2-identity-mechanics span{padding:12px;min-height:76px;min-width:0;overflow-wrap:anywhere}
.v2-identity-card .v2-identity-mechanics i{font-size:12px;line-height:1.5}
.v2-identity-card .v2-identity-mechanics b{font-size:15px;line-height:1.55;margin-top:6px}
.v2-identity-card .v2-identity-commit{font-size:14px;line-height:1.5;padding-top:14px;margin-top:14px}
.v2-identity-card .v2-identity-commit b{font-size:22px}
@media(max-width:380px){.v2-identity-card .v2-identity-mechanics{grid-template-columns:1fr}}
/* Stack restart actions and keep explanations inside their own button. */
.v2-restart-menu .v2-restart-options{grid-template-columns:1fr;gap:12px}
.v2-restart-menu .v2-restart-options>button{width:100%;min-height:76px;padding:16px 20px}
.v2-restart-menu .v2-restart-help{position:static;display:block;margin-top:6px;padding:0;background:transparent;color:inherit;font-size:14px;line-height:1.5;min-height:21px}
#v2RestartConfirm:not([hidden]){display:flex;flex-direction:column;gap:12px}
#v2RestartConfirm>button{width:100%;min-height:48px}

/* Readable coach selection details. */
.v2-coach-copy{padding:18px;min-width:0;gap:8px}
.v2-coach-copy>small{font-size:12px;line-height:1.5}
.v2-coach-copy>p{font-size:16px;line-height:1.6;min-height:0}
.v2-coach-portrait>span{font-size:12px;line-height:1.5}
.v2-coach-copy .v2-grade-row{gap:8px}
.v2-coach-copy .v2-grade-row span{padding:10px;min-width:0}
.v2-coach-copy .v2-grade-row i{font-size:12px;line-height:1.5}
.v2-coach-copy .v2-grade-row b{font-size:28px;line-height:1.3}
.v2-coach-report{gap:8px}
.v2-coach-report>span{grid-template-columns:minmax(0,1fr);gap:5px;padding:10px 12px;overflow-wrap:anywhere}
.v2-coach-report i{font-size:12px;line-height:1.5}
.v2-coach-report b{font-size:15px;line-height:1.5;text-align:left}
.v2-coach-report small{font-size:14px;line-height:1.6;color:#d9cbb4}
.v2-coach-hire{font-size:13px;line-height:1.5;padding-top:12px}
.v2-coach-hire b{font-size:22px}
