/* Replay viewer is separate from the live board and never receives game input. */
#gpReplayLast.hidden{display:none!important}
.gp-replay-library{margin:18px 0 24px;padding:18px;border:1px solid #92c7c838;border-radius:16px;background:#0d1b2b99}
.gp-replay-library h3{margin:0 0 7px;color:#edcf91;font:600 21px var(--font-display,serif)}
.gp-replay-note,.gp-replay-empty{font-size:12px;line-height:1.5;color:#a9bdce}
.gp-replay-entry{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid #a7bcd620}
.gp-replay-entry strong,.gp-replay-entry small{display:block}.gp-replay-entry small{margin-top:5px;color:#b0c3d2;font-size:11px}.gp-replay-entry button{flex:0 0 auto;padding:9px 15px;font-size:12px}
body.gp-replay-open{overflow:hidden}
.gp-replay-viewer{position:fixed;inset:0;z-index:2147483000;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 70% 0%,#30546b66,transparent 70%),#07111b;color:#e7eef6;padding:16px;box-sizing:border-box}
.gp-replay-shell{max-width:1200px;min-height:calc(100vh - 32px);margin:auto;display:flex;flex-direction:column;gap:12px}
.gp-replay-shell>header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gp-replay-shell h2{margin:0;color:#efd49c;font:600 26px var(--font-display,serif)}
.gp-replay-caption{margin:5px 0 0;font-size:12px;color:#b5c9d6}
.gp-replay-viewer button,.gp-replay-viewer select{padding:9px 14px;border:1px solid #9ed3cf55;border-radius:9px;background:#1b3047;color:#eef7fa;font:600 13px system-ui;cursor:pointer}
.gp-replay-viewer button:disabled{opacity:.4;cursor:default}.gp-replay-viewer :focus-visible{outline:2px solid #e6c987;outline-offset:3px}
.gp-replay-stage{display:grid;grid-template-rows:62px 18px minmax(140px,1fr) 1px minmax(140px,1fr) 62px minmax(140px,auto);gap:7px;min-height:620px;flex:1;padding:10px 16px 16px;border:1px solid #a5c3d638;border-radius:22px;background:radial-gradient(ellipse,#334d6240,#1225377a);isolation:isolate}
.gp-replay-hero{display:flex;align-items:center;justify-content:center;gap:15px;font-size:13px}.gp-replay-hero small{color:#a4bbcf;font-size:11px}.gp-replay-hp{font:700 26px system-ui;color:#fff0e6;min-width:44px;text-align:center;padding:3px 9px;background:#a64a52;border-radius:9px}
.gp-replay-opponent-hand{text-align:center;color:#9db3c8;font-size:11px}.gp-replay-divider{background:linear-gradient(90deg,transparent,#8cbbca66,transparent)}
.gp-replay-board,.gp-replay-hand{--card-w:clamp(54px,calc((min(1100px,100vw - 95px) - 12px * var(--replay-count))/var(--replay-count)),112px);--card-h:calc(var(--card-w)*1.45);display:flex;justify-content:center;align-items:center;gap:12px;min-width:0}
.gp-replay-hand{--card-w:clamp(46px,calc((min(1100px,100vw - 95px) - 8px * var(--replay-count))/var(--replay-count)),104px);gap:8px}
.gp-replay-viewer .card{width:var(--card-w)!important;height:var(--card-h)!important;min-width:0!important;min-height:0!important;max-width:none!important;flex:0 0 var(--card-w);margin:0!important;pointer-events:none!important;animation:none!important;transition:none!important}
.gp-replay-viewer .card-name{font-size:clamp(8px,calc(var(--card-w)*.085),12px)!important}.gp-replay-viewer .card-desc{font-size:clamp(7px,calc(var(--card-w)*.07),10px)!important;overflow:hidden!important}.gp-replay-viewer .card-cost,.gp-replay-viewer .stat{font-size:clamp(10px,calc(var(--card-w)*.14),17px)!important}
.gp-replay-viewer footer{padding:12px 16px;border:1px solid #abc5d628;border-radius:14px;background:#0f1e2e}
.gp-replay-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gp-replay-controls label{font-size:12px;color:#acc4d5}.gp-replay-position{margin-left:auto;font:600 12px system-ui;color:#c4d9e4;font-variant-numeric:tabular-nums}
#gpReplaySeek{width:100%;margin:13px 0;accent-color:#e0c58b;cursor:pointer}.gp-replay-log{min-height:25px}.gp-replay-log p{font-size:11px;color:#c1d3e0;margin:3px 0}.gp-replay-footnote{font-size:10px;color:#8ea9bc;display:block;margin-top:9px}
.gp-replay-fx{position:fixed!important;pointer-events:none!important;z-index:4;will-change:transform}.gp-replay-orb{border-radius:50%;background:radial-gradient(circle,#ffeabd,#a9cce888,transparent 70%);font-size:40px;display:flex;align-items:center;justify-content:center;color:#fff0c7}
@media(max-width:650px){.gp-replay-viewer{padding:8px}.gp-replay-stage{padding:8px;min-height:550px;grid-template-rows:56px 18px minmax(125px,1fr) 1px minmax(125px,1fr) 56px 125px}.gp-replay-shell h2{font-size:20px}.gp-replay-hero{gap:8px;font-size:11px;flex-wrap:wrap}.gp-replay-hero small{font-size:9px}.gp-replay-entry{gap:8px}.gp-replay-entry strong{font-size:12px}.gp-replay-controls{gap:6px}.gp-replay-viewer button{padding:8px 10px}.gp-replay-board{gap:6px}}
