/* Replay edition: the same paper, ink and tactical ground as Rival Ink. */
.dv-page { display:grid; gap:30px; min-width:0; }
.dv-page [hidden],.dv-session-banner[hidden] { display:none!important; }
.dv-intro { display:flex; justify-content:space-between; gap:30px; align-items:end; padding:8px 0 25px; background:var(--ri-rule) bottom/100% 4px no-repeat; }
.dv-intro h1 { margin:9px 0 12px; font:clamp(38px,5.7vw,78px)/.98 var(--font-poster); text-transform:uppercase; letter-spacing:-.015em; }
.dv-intro p { max-width:66ch; margin:0; color:var(--ink-muted); line-height:1.6; }
.dv-intro-actions { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.dv-player-tabs { display:flex; gap:6px; align-items:center; }
.dv-player-tabs a { padding:12px 22px; font:22px/1 var(--font-poster); text-transform:uppercase; color:var(--ink-muted); }
.dv-player-tabs [aria-current=page] { color:var(--bg); background:var(--ink); clip-path:polygon(3% 5%,100% 0,97% 96%,0 100%); }
.dv-coverage { display:flex; flex-wrap:wrap; gap:6px; }
.dv-badge { padding:5px 8px; border:1px solid var(--border); font:10px/1.5 var(--font-mono); color:var(--ink-muted); text-transform:uppercase; letter-spacing:.06em; }
.dv-badge[data-state=pending] { border-style:dashed; }
.dv-session-banner { display:flex; justify-content:space-between; align-items:center; gap:24px; background:var(--ink); color:var(--bg); padding:25px 30px; position:relative; }
.dv-session-banner:before { content:''; position:absolute; inset:0 auto 0 0; width:5px; background:var(--accent); }
.dv-session-banner .c-eyebrow { color:#bbb9ad; }
.dv-session-banner h2 { margin:6px 0; font:clamp(26px,3vw,38px)/1.15 var(--font-poster); text-transform:uppercase; }
.dv-session-banner p { margin:6px 0 0; color:#cfccbe; }
.dv-banner-actions { display:grid; gap:8px; flex-shrink:0; }
.dv-session-banner .c-button { border-color:#77776d; color:var(--bg); }
.dv-entry { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 24px; border-left:3px solid var(--accent); background:#191b1a07; margin:20px 0; }
.dv-entry h3 { margin:5px 0; font:28px/1.1 var(--font-poster); }
.dv-entry p { max-width:65ch; margin:0; color:var(--ink-muted); }
.dv-profile { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.75fr); border-bottom:1px solid var(--border); gap:34px; }
.dv-profile-art { position:sticky; top:155px; align-self:start; height:600px; min-height:350px; overflow:hidden; background:var(--ri-rule) bottom/100% 4px no-repeat; }
.dv-profile-art .ri-portrait { position:absolute; inset:0; height:100%; width:100%; background-position-y:0; mask-image:linear-gradient(black 65%,transparent 95%); }
.dv-profile-art .dv-profile-stamp { position:absolute; left:15px; bottom:22px; z-index:2; background:var(--bg); padding:13px 18px; transform:rotate(-3deg); border:1px solid var(--ink); }
.dv-profile-stamp strong { font:28px/1 var(--font-note); color:var(--accent); }
.dv-profile-stamp small { display:block; margin-top:6px; font:10px/1.5 var(--font-mono); }
.dv-profile-sheet { padding-bottom:25px; }
.dv-profile-sheet h2 { font:clamp(30px,4vw,48px)/1.1 var(--font-poster); text-transform:uppercase; margin:6px 0 12px; }
.dv-profile-topline { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:15px; }
.dv-domain-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.dv-domain { padding:18px 0; border-top:1px solid var(--border); min-width:0; }
.dv-domain h3 { margin:5px 0 9px; font:24px/1 var(--font-poster); text-transform:uppercase; }
.dv-domain p { margin:8px 0; line-height:1.55; color:var(--ink-muted); }
.dv-domain .dv-value { font:36px/1.05 var(--font-mono); color:var(--ink); font-weight:500; }
.dv-domain .dv-note { font:19px/1.25 var(--font-note); color:var(--accent); margin:10px 0; }
.dv-rate .ratechip { gap:8px; flex-wrap:wrap; }
.dv-rate .ratechip__value { font-size:27px; }
.dv-hit-bar { display:flex; height:12px; margin:13px 0; gap:3px; width:100%; }
.dv-hit-bar span { min-width:0; background:var(--ink); }
.dv-hit-bar span:nth-child(2) { background:#7d8582; }
.dv-hit-bar span:nth-child(3) { background:var(--accent); }
.dv-hit-labels { display:flex; gap:8px 18px; flex-wrap:wrap; font:11px/1.6 var(--font-mono); }
.dv-match-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.dv-match-card { display:grid; grid-template-columns:1fr auto; gap:8px; padding:20px; color:var(--ink); border:1px solid var(--border); transition:transform .15s,background .15s; min-width:0; }
.dv-match-card:hover { transform:translateY(-3px); background:#191b1a06; }
.dv-match-card>.c-eyebrow,.dv-match-card>small,.dv-match-bottom { grid-column:1/-1; }
.dv-match-card>strong { font:28px/1 var(--font-poster); text-transform:uppercase; }
.dv-match-score { font:18px/1.4 var(--font-mono); }
.dv-match-bottom { border-top:1px solid var(--border); padding-top:12px; margin-top:6px; font-size:12px; color:var(--ink-muted); }
.dv-trend { background:#101c26; color:#e9e7dd; padding:24px; }
.dv-trend .c-eyebrow,.dv-trend .c-caption { color:#b8bcb8; }
.dv-trend h3 { margin:8px 0 14px; font:30px/1 var(--font-poster); text-transform:uppercase; color:#f2eee3; }
.dv-trend svg { display:block; width:100%; height:190px; overflow:visible; }
.dv-trend text { font:11px var(--font-mono); fill:#bac4c7; }
.dv-trend a:focus { outline:none; }
.dv-trend a:focus circle { stroke:#fff; stroke-width:4; }
.dv-chart-key { display:flex; flex-wrap:wrap; gap:12px 25px; margin:12px 0 0; color:#c9cdca; font:11px var(--font-mono); }
.dv-section { display:grid; gap:15px; }
.dv-section-head { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:2px solid var(--ink); padding-top:18px; }
.dv-section-head h2 { margin:0; font:32px/1.1 var(--font-poster); text-transform:uppercase; }
.dv-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.dv-review { position:relative; padding:25px; background:#171a1806; border-left:3px solid var(--accent); }
.dv-review h3 { font:28px/1.1 var(--font-poster); margin:8px 0 14px; text-transform:uppercase; }
.dv-review p { line-height:1.7; margin:8px 0; }
.dv-review .c-actions { margin-top:18px; }
.dv-session-record { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.dv-session-record strong { font:clamp(38px,6vw,75px)/1 var(--font-poster); }
.dv-session-record span { color:var(--ink-muted); }
.dv-review-list { display:grid; gap:0; }
.dv-review-row { display:grid; grid-template-columns:48px 1fr auto; gap:16px; padding:16px 0; border-bottom:1px solid var(--border); color:var(--ink); align-items:center; }
.dv-review-row>strong { font:25px/1 var(--font-poster); color:var(--accent); }
.dv-review-row small { display:block; color:var(--ink-muted); margin-top:5px; line-height:1.5; }
.dv-experiment { padding:24px; border:1px solid var(--border); }
.dv-experiment textarea,.dv-experiment input[type=text] { width:100%; background:var(--surface-1); border:1px solid var(--border); padding:12px; color:var(--ink); font:inherit; }
.dv-experiment textarea { min-height:88px; resize:vertical; margin:12px 0; }
.dv-experiment h3 { font:28px/1.1 var(--font-poster); text-transform:uppercase; margin:8px 0; }
.dv-experiment-meta { font:11px/1.7 var(--font-mono); color:var(--ink-muted); }
.dv-table-wrap { overflow:auto; }
.dv-table { width:100%; border-collapse:collapse; font-size:13px; }
.dv-table th,.dv-table td { padding:13px; text-align:left; border-bottom:1px solid var(--border); }
.dv-table th { font:10px/1.5 var(--font-mono); text-transform:uppercase; letter-spacing:.04em; }
.dv-pending { border:1px dashed var(--border); padding:18px; color:var(--ink-muted); }
.dv-skill-nav { display:flex; gap:8px 20px; flex-wrap:wrap; padding:12px 0; font:12px/1.5 var(--font-mono); }
.dv-skill-nav a { color:var(--ink-muted); border-bottom:1px solid var(--border); }
.rp-picker { display:flex; flex-wrap:wrap; gap:9px; }
.rp-round { position:relative; min-width:43px; min-height:43px; background:transparent; border:1px solid var(--border); color:var(--ink); font:12px var(--font-mono); }
.rp-round[data-won=true] { background:var(--ink); color:var(--bg); }
.rp-round[aria-pressed=true] { outline:2px solid var(--accent); outline-offset:2px; }
.rp-round[aria-pressed=true]:after { content:'✓'; position:absolute; right:-6px; top:-8px; width:16px; height:16px; border-radius:50%; background:var(--accent); color:#fff; font:11px/16px var(--font-body); }
.rp-controls { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.rp-controls .c-field { min-width:145px; margin:0; }
.rp-clock { font:25px var(--font-mono); min-width:80px; }
.rp-scrubber { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:13px 0; }
.rp-scrubber input { flex:1; min-width:120px; accent-color:var(--accent); }
.rp-stage { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr); gap:20px; align-items:start; }
.rp-map { position:relative; margin:0; background:#101c26; color:#d7dfdd; padding:14px; }
.rp-map canvas { display:block; width:100%; aspect-ratio:1; max-height:min(64svh,680px); object-fit:contain; touch-action:none; }
.rp-map figcaption { display:flex; justify-content:space-between; font:11px/1.5 var(--font-mono); padding:0 0 10px; gap:10px; }
.rp-map .dv-chart-key { margin:12px 0 4px; }
.rp-aside { display:grid; gap:16px; min-width:0; }
.rp-video { background:#111917; padding:15px; color:#dce0d9; }
.rp-video video { width:100%; display:block; max-height:360px; }
.rp-video .c-caption { color:#bac2bf; }
.rp-video button { color:inherit; border:1px solid #68756f; background:transparent; padding:10px 12px; cursor:pointer; }
.rp-video input[type=file] { width:100%; font:12px var(--font-mono); margin:12px 0; }
.rp-video .c-field { width:100%; }
.rp-video .c-field>input { width:100%; background:#202a27; border:1px solid #68756f; color:inherit; padding:10px; }
.rp-feed { max-height:380px; overflow:auto; border-top:2px solid var(--ink); }
.rp-event { display:grid; grid-template-columns:52px 1fr; width:100%; text-align:left; background:transparent; border:0; border-bottom:1px solid var(--border); padding:13px 8px; gap:12px; cursor:pointer; color:var(--ink); }
.rp-event[aria-current=true] { background:#be3c2510; box-shadow:inset 3px 0 var(--accent); }
.rp-event>span { font:12px var(--font-mono); color:var(--ink-muted); }
.rp-event small { display:block; color:var(--ink-muted); font-size:12px; margin-top:5px; }
.rp-roster { display:flex; gap:8px; flex-wrap:wrap; }
.rp-person { font:12px var(--font-body); border:1px solid var(--border); padding:8px; background:transparent; color:var(--ink); cursor:pointer; }
.rp-person[aria-pressed=true] { outline:2px solid var(--accent); }
.rp-person[data-observed=false] { opacity:.5; }
.rp-person b { padding-right:6px; }
.dv-status { color:var(--ink-muted); font:12px/1.6 var(--font-mono); min-height:1.6em; }
@media (max-width:1100px) { .dv-match-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dv-intro { align-items:start; } .dv-profile { gap:20px; grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr); } .rp-stage { grid-template-columns:minmax(0,1.15fr) minmax(285px,1fr); } }
@media (max-width:760px) { .dv-intro,.dv-entry,.dv-session-banner { flex-direction:column; align-items:start; gap:16px; } .dv-profile { grid-template-columns:1fr; } .dv-profile-art { display:none; } .dv-two { grid-template-columns:1fr; } .dv-intro-actions { flex-shrink:1; } .rp-stage { grid-template-columns:1fr; } .dv-page { gap:24px; } .dv-domain-grid { gap:0 20px; } .dv-session-banner { padding:22px; } .dv-banner-actions { display:flex; flex-wrap:wrap; } .rp-map canvas { max-height:65svh; } }
@media (max-width:430px) { .dv-domain-grid { grid-template-columns:1fr; } .dv-match-grid { grid-template-columns:1fr 1fr; gap:10px; } .dv-match-card { padding:13px; } .dv-match-card>strong { font-size:24px; } .dv-match-score { font-size:15px; } .dv-review { padding:19px; } .dv-review-row { gap:10px; grid-template-columns:38px 1fr auto; } .dv-section-head { align-items:start; flex-direction:column; } .dv-intro h1 { font-size:44px; } }
@media (prefers-reduced-motion:reduce) { .dv-match-card { transition:none; } }

.dv-page > .c-field { max-width:420px; width:100%; }
.rp-controls .c-btn,.rp-scrubber .c-btn { min-height:42px; padding:9px 14px; background:transparent; color:var(--ink); border:1px solid var(--border); cursor:pointer; font:inherit; }
.rp-controls .c-btn:hover,.rp-scrubber .c-btn:hover { border-color:var(--accent); }
.rp-map .c-caption { color:#b8c5c8; font-size:11px; }
.rp-person { min-height:40px; }
.rp-map canvas { height:auto; max-height:none; }
.rp-map { max-width:min(100%,calc(70svh + 40px)); margin-inline:auto; width:100%; }
.rp-map canvas:focus-visible { outline:2px solid #f4bc79; }

.rp-page { gap:16px; }
.rp-page .dv-intro { padding-bottom:16px; }
.rp-page .dv-intro h1 { font-size:clamp(38px,4.3vw,58px); }
.rp-page .rp-controls .c-field { flex:0 1 230px; min-width:160px; }
.rp-video .c-disclosure { color:inherit; }

.dv-session-banner h2 { color:var(--bg); }
.rp-video .c-details > summary,.rp-video .c-details p { color:#d6ded9; }
.dv-profile-art .ri-portrait { background-position-y:0; }

.rp-file-button { position:relative; display:inline-flex; align-items:center; padding:11px 16px; margin-top:12px; border:1px solid #8b9892; cursor:pointer; font:13px var(--font-body); }
.rp-file-button:focus-within { outline:2px solid #efb778; outline-offset:3px; }
.rp-video input.rp-file-input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.rp-video button:disabled { opacity:.45; cursor:default; }
.dv-profile-art { mix-blend-mode:multiply; }
.rp-video video:not([src]) { display:none; }
.dv-session-banner .dv-coverage { margin-top:12px; }
.dv-session-banner .dv-badge { border-color:#7b7b70; color:#d5d2c7; }
