/* Kings at Golden Knights, Oct 10 (2026-10-09): the matchup page and Exclusive Tuna's column share these pieces.
   Built by tools/game/build_lavgk_2026_10_10.py. Tokens only. Numbers are tabular; nothing here animates.

   .pv      the rail's "Human vs AI on this game" box, the same shape as the NFL pages' (tools/build-nfl.py PV_CSS)
   .lv-per  goals by period, both clubs, with a bar per period so the second-period gap reads at a glance
   .lv-duel unit against unit (a power play against a penalty kill), two numbers and the line under them
   .lv-pl   player cards: ESPN headshot, team, a row of stat chips and two lines on why he matters here
   .lv-plan a trade plan as a definition list: buy, sell, stop, what each one pays */

.pv{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow)}
.pv-k{margin:0;font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink)}
.pv-h{margin:0;font:800 22px/1.05 var(--cond);text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.pv-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pv-c{min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:inherit;text-decoration:none;transition:border-color .15s}
.pv-c:hover{border-color:var(--brand)}
.pv-c:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.pv-who{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.pv-who img{width:30px;height:30px;border-radius:50%;flex:none}
.pv-who b{font:700 14px/1.15 var(--sans);color:var(--ink)}
.pv-kind{font:700 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pv-x{font:800 26px/1 var(--cond);color:var(--ink);font-variant-numeric:tabular-nums}
.pv-s{font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.pv-go{font:700 13px/1.2 var(--sans);color:var(--brand-ink)}
.pv-sh{margin:0;font-size:13px;line-height:1.5;color:var(--ink-2)}
.pv-sh b{color:var(--ink)}
@media (max-width:380px){.pv-row{grid-template-columns:1fr}}

/* the short version, top of the body */
.lv-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 8px;padding:0;list-style:none}
.lv-key li{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.lv-key b{font:800 26px/1 var(--cond);color:var(--ink);font-variant-numeric:tabular-nums}
.lv-key span{font-size:13.5px;line-height:1.45;color:var(--ink-2)}
@media (max-width:760px){.lv-key{grid-template-columns:1fr}}

/* goals by period */
.lv-per{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.lv-per th,.lv-per td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:middle}
.lv-per thead th{font:700 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.lv-per td.num{text-align:right;white-space:nowrap}
.lv-bar{display:flex;align-items:center;gap:6px;min-width:120px}
.lv-bar i{display:block;height:10px;border-radius:5px;background:var(--brand)}
.lv-bar i.is-ga{background:var(--ink-3)}
.lv-bar small{font-size:12px;color:var(--ink-3)}
.lv-hot{font-weight:800;color:var(--ink)}
.rx-tw{max-width:100%;overflow-x:auto}
@media (max-width:560px){.lv-per .lv-bar-c{display:none}.lv-per th,.lv-per td{padding:10px 6px}}

/* unit against unit */
.lv-duels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.lv-duel{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.lv-duel-s{display:flex;flex-direction:column;gap:4px;min-width:0}
.lv-duel-s:last-child{text-align:right;align-items:flex-end}
.lv-duel-k{font:700 10.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.lv-duel-v{font:800 30px/1 var(--cond);color:var(--ink);font-variant-numeric:tabular-nums}
.lv-duel-n{font-size:12.5px;line-height:1.35;color:var(--ink-2)}
.lv-duel-vs{font:800 13px/1 var(--cond);letter-spacing:.06em;color:var(--ink-3)}
.lv-duel-t{grid-column:1/-1;margin:4px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.45;color:var(--ink-2)}
@media (max-width:760px){.lv-duels{grid-template-columns:1fr}}

/* player cards */
.lv-pls{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:16px 0;padding:0;list-style:none}
.lv-pl{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.lv-pl-h{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}
.lv-pl-h img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--bg);border:1px solid var(--line)}
.lv-pl-n{display:flex;flex-direction:column;gap:3px;min-width:0}
.lv-pl-n a{font:800 17px/1.15 var(--sans);color:var(--ink);text-decoration:none}
.lv-pl-n a:hover{text-decoration:underline}
.lv-pl-n small{font:700 10.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.lv-pl-vs{font:700 11px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink)}
.lv-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.lv-chips li{padding:5px 8px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font:700 12.5px/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.lv-chips li span{font-weight:500;color:var(--ink-3)}
.lv-pl p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}

/* the plan */
.lv-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}
.lv-plan div{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--paper)}
.lv-plan dt{font:700 10.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.lv-plan dd{margin:0;font:800 20px/1.1 var(--cond);color:var(--ink);font-variant-numeric:tabular-nums}
.lv-plan dd small{display:block;margin-top:3px;font:500 12px/1.35 var(--sans);color:var(--ink-2)}
@media (max-width:760px){.lv-plan{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the last game, a link card */
.lv-last{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:16px 0;padding:16px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;background:var(--paper)}
.lv-last p{margin:0}
.lv-last-k{font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink)}
.lv-last-h{margin:6px 0 4px!important;font:800 20px/1.1 var(--cond);text-transform:uppercase;color:var(--ink)}
.lv-last-s{font-size:14px;line-height:1.5;color:var(--ink-2)}
.lv-last-go{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
@media (max-width:640px){.lv-last{grid-template-columns:1fr}.lv-last-go{align-items:flex-start}}
