/* Replay archive – independent page components, scoped to replay pages. */
@font-face { font-family: 'ResotE Dream'; font-style: normal; font-weight: 400 900; font-display: block; src: url('/assets/webfonts/Resotedream-JRaEM.ttf') format('truetype'); }
body.replay-page { background: #071a2b; color: #142536; font-family: Roboto, Arial, sans-serif; }
.video-replays-page .video-replays-sidebar { display: none; }
.video-replays-page .video-replays-grid { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 1200px) { .video-replays-page .video-replays-grid > .row > .col-md-4 { flex: 0 0 25%; max-width: 25%; } }
@media (min-width: 992px) { .replay-info-workspace .replay-info-output { height: auto; }.replay-info-workspace .replay-thumbnail-tool { margin-top: 0; }.replay-info-workspace .replay-thumbnail-head { align-items: flex-start; flex-direction: column; gap: .3rem; }.replay-info-workspace .replay-thumbnail-controls { align-items: stretch; flex-direction: column; }.replay-info-workspace .replay-thumbnail-file { flex: 0 0 auto; max-width: none; width: 100%; }.replay-info-workspace .replay-thumbnail-mode, .replay-info-workspace .replay-thumbnail-create, .replay-info-workspace .replay-thumbnail-canvas { max-width: none; width: 100%; } }
@media (min-width: 992px) { .replay-info-page.container { max-width: none !important; width: 100%; }.replay-info-workspace { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 2fr); } }
.replay-hero { background: radial-gradient(circle at 78% 28%, rgba(35,119,169,.27), transparent 29rem), linear-gradient(122deg, #0a1a2c, #132f47 62%, #0b2136); color: #fff; overflow: hidden; position: relative; }.replay-hero > .container { position: relative; z-index: 1; }.replay-hero-map { background-position: center; background-repeat: no-repeat; background-size: cover; bottom: 0; opacity: .34; position: absolute; right: 0; top: 0; width: 57%; }.replay-hero-map::after { background: linear-gradient(90deg, #0b2035 0%, rgba(11,32,53,.68) 24%, rgba(11,32,53,.1) 67%, rgba(11,32,53,.38) 100%); content: ''; inset: 0; position: absolute; }
.replay-back { color: #9ed7ff; text-decoration: none; font-weight: 600; }.replay-back:hover { color: #fff; }
.replay-eyebrow, .replay-panel-head > span { color: #4ec481; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.replay-hero h1 { font-size: clamp(2rem, 5vw, 4.25rem); font-weight: 700; letter-spacing: -.045em; line-height: 1; margin: .7rem 0; text-wrap: balance; }
.replay-hero-subtitle { color: #c3d4e1; font-size: 1.05rem; }.replay-hero-subtitle strong, .replay-uploader-link { color: #fff; }.replay-uploader-link { text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 3px; }.replay-uploader-link:hover { color: #78d7a0; text-decoration-color: currentColor; }.replay-download { background: #f36c12; border: 1px solid #f36c12; color: #17120e; display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .08em; padding: .55rem .8rem; text-decoration: none; text-transform: uppercase; }.replay-download:hover { background: #ff872e; border-color: #ff872e; color: #17120e; }
.replay-description { color: #d6e3eb; font-size: 1.05rem; line-height: 1.55; max-width: 44rem; }
.replay-ship-showcase { align-items: center; background: rgba(7, 20, 33, .3); border: 1px solid rgba(166, 215, 245, .2); border-radius: 4px; display: flex; gap: 1.2rem; min-height: 132px; padding: .7rem 1.1rem; }
.replay-ship-showcase img { filter: drop-shadow(0 12px 8px rgba(0,0,0,.35)); height: 112px; max-width: 60%; object-fit: contain; width: 235px; }.replay-ship-showcase img.replay-battle-type-icon { filter: drop-shadow(0 5px 5px rgba(0,0,0,.45)); flex: 0 0 76px; height: 76px; max-width: none; width: 76px; }.replay-ship-showcase strong { color: #fff; display: block; font-size: 1.5rem; line-height: 1.1; text-shadow: 0 2px 6px rgba(0,0,0,.75); }.replay-ship-showcase small { color: #dce8f0; display: block; font-size: .9rem; margin-top: .25rem; text-shadow: 0 1px 4px rgba(0,0,0,.75); }.replay-ship-showcase .replay-ship-map { color: #8fdbff; font-size: .78rem; margin-top: .45rem; }.replay-ship-tier { color: #f0c75e; display: block; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.replay-battle-type-icon { background-position: center; background-repeat: no-repeat; background-size: contain; filter: drop-shadow(0 5px 5px rgba(0,0,0,.45)); flex: 0 0 76px; height: 76px; width: 76px; }.replay-battle-type-icon--space-wars { background-image: url('data:image/png;base64,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'); }
.replay-performance, .replay-panel { background: #fff; border: 1px solid #dce4ea; box-shadow: 0 8px 24px rgba(19, 45, 67, .08); }
.replay-battle-facts { background: #fff; border: 1px solid #dce4ea; box-shadow: 0 6px 18px rgba(19, 45, 67, .06); display: grid; grid-template-columns: repeat(5, 1fr); }.replay-battle-facts div { border-right: 1px solid #e2e8ed; min-width: 0; padding: 1rem 1.2rem; }.replay-battle-facts div:last-child { border-right: 0; }.replay-battle-facts span { color: #708090; display: block; font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.replay-battle-facts strong { color: #173a55; display: block; font-size: .98rem; margin-top: .35rem; overflow-wrap: anywhere; }.replay-map-fact { overflow: hidden; position: relative; }.replay-map-fact img { border-radius: 2px; display: block; height: 48px; margin: -.35rem 0 .55rem; object-fit: cover; width: 100%; }
.replay-community { background: #fff; border: 1px solid #dce4ea; box-shadow: 0 8px 24px rgba(19, 45, 67, .08); }.replay-community-body { padding: 1.5rem; }.replay-community h3 { color: #526474; font-size: .78rem; font-weight: 700; letter-spacing: .1em; margin: 0 0 .65rem; text-transform: uppercase; }.replay-community-body > p { line-height: 1.6; margin-bottom: 2rem; }.replay-comments-head { border-top: 1px solid #e0e7ec; padding-top: 1.35rem; }.replay-comment { border-bottom: 1px solid #e2e8ed; padding: .9rem 0; }.replay-comment strong { color: #173a55; }.replay-comment time { color: #84929e; font-size: .78rem; margin-left: .65rem; }.replay-comment p { margin: .35rem 0 0; white-space: normal; }.replay-comment-form { margin-top: 1.25rem; }.replay-comment-form label { color: #304b60; display: block; font-weight: 700; margin-bottom: .45rem; }.replay-comment-form textarea { border: 1px solid #bccbd5; display: block; min-height: 96px; padding: .65rem; resize: vertical; width: 100%; }.replay-comment-form button { background: #218a52; border: 0; color: #fff; font-weight: 700; margin-top: .65rem; padding: .6rem 1rem; }.replay-comment-form button:hover { background: #176b3e; }
.replay-section-heading { align-items: end; border-bottom: 1px solid #dce4ea; display: flex; justify-content: space-between; padding: 1.6rem 1.75rem 1.25rem; }.replay-section-heading span { color: #2c9c5b; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.replay-section-heading h2, .replay-panel-head h2 { font-size: 1.45rem; font-weight: 700; letter-spacing: -.025em; margin: .35rem 0 0; }.replay-survival { background: #fae7e8; color: #aa3341; font-size: .75rem; font-weight: 700; letter-spacing: .08em; padding: .4rem .6rem; text-transform: uppercase; }.replay-survival.is-alive { background: #def4e5; color: #237542; }
.replay-stat-grid { display: grid; grid-template-columns: 1.5fr repeat(5, 1fr); }.replay-stat { border-right: 1px solid #e2e8ed; padding: 1.35rem 1.2rem; }.replay-stat:last-child { border-right: 0; }.replay-stat span, .replay-roster-score span { color: #708090; display: block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.replay-stat strong { color: #163a56; display: block; font-size: 1.65rem; line-height: 1.1; margin-top: .38rem; }.replay-stat-major { background: #f3faf6; }.replay-stat-major strong { color: #177b4a; font-size: 2.35rem; }
.replay-ribbon-section { border-top: 1px solid #e1e8ed; padding: 1.45rem 1.75rem 1.7rem; }.replay-ribbon-section h3 { color: #516170; font-size: .78rem; font-weight: 700; letter-spacing: .12em; margin: 0 0 1rem; text-transform: uppercase; }.replay-ribbon-grid { display: flex; flex-wrap: wrap; gap: 1.2rem 1rem; }.replay-ribbon { display: block; min-width: 176px; text-align: center; }.replay-ribbon-image { display: inline-block; position: relative; }.replay-ribbon img { display: block; filter: drop-shadow(0 3px 3px rgba(0,0,0,.2)); height: 80px; object-fit: contain; width: 176px; }.replay-ribbon strong { bottom: 4px; color: #fff; font-size: 1.18rem; font-weight: 800; line-height: 1; position: absolute; right: 6px; text-shadow: 0 1px 3px #000, 0 0 3px #000; }.replay-ribbon span { color: #405c72; display: block; font-size: .8rem; font-weight: 600; line-height: 1.2; margin-top: .32rem; }
.replay-panel-head { border-bottom: 3px solid #2d9b5f; padding: 1.35rem 1.45rem 1rem; }.replay-roster-row { align-items: center; border-bottom: 1px solid #e3e9ed; display: grid; gap: .65rem; grid-template-columns: 78px minmax(170px,1fr) 86px 62px; min-height: 70px; padding: .55rem 1rem; }.replay-roster-row:last-child { border-bottom: 0; }.replay-roster-row.is-recorder { background: #effaf3; box-shadow: inset 4px 0 #35a467; }.replay-roster-ship { align-items: center; display: flex; height: 55px; justify-content: center; }.replay-roster-ship img { height: 54px; max-width: 75px; object-fit: contain; }.replay-roster-player strong { font-size: 1.05rem; }.replay-roster-player span, .replay-roster-player small { color: #728292; font-size: .82rem; }.replay-roster-player small { display: block; margin-top: .1rem; }.replay-roster-score { text-align: right; }.replay-roster-score strong { color: #1a3e59; font-size: .95rem; }
.replay-information dl { display: grid; grid-template-columns: 1fr 1.2fr; margin: 0; padding: .75rem 1.45rem 1.25rem; }.replay-information dt, .replay-information dd { border-bottom: 1px solid #e5eaee; font-size: .9rem; margin: 0; padding: .7rem 0; }.replay-information dt { color: #6b7a87; }.replay-information dd { color: #20394c; font-weight: 600; text-align: right; }.replay-information dt:nth-last-of-type(1), .replay-information dd:last-child { border-bottom: 0; }
.replay-footer { background: #0b1c2d; color: #a6b4bf; font-size: .9rem; margin-top: 2rem; padding: 1.6rem 0; text-align: center; }.replay-footer a { color: #67ce93; text-decoration: none; }
.replay-overview .replay-download-compact { font-size: .66rem; margin-top: .7rem; padding: .45rem .6rem; }
.replay-overview .replay-download-cell { align-items: center; display: flex; }.replay-overview .replay-download-cell .replay-download-compact { color: #fff; font-weight: 800; margin-top: 0; }.replay-overview .replay-download-cell .replay-download-compact:hover { color: #fff; }.replay-ship-area .replay-ship-showcase > img:not(.replay-battle-type-icon) { height: 158px; max-width: 55%; width: 310px; }
.replay-hero h1 { font-size: clamp(2rem, 4.2vw, 3.7rem); margin: .45rem 0; }.replay-hero-subtitle { margin-bottom: 0; }.replay-overview { gap: .9rem; }.replay-ship-area .replay-ship-showcase { min-height: 142px; padding: .55rem .9rem; }.replay-overview .replay-battle-facts div { padding: .65rem .85rem; }.replay-section-heading { padding: 1rem 1.25rem .85rem; }.replay-stat { padding: .9rem 1rem; }.replay-ribbon-section { padding: 1rem 1.25rem 1.1rem; }.replay-ribbon-section h3 { margin-bottom: .7rem; }.replay-ribbon-grid { gap: .7rem 1rem; }
.replay-back-link { color: #8ed1fa; font-size: 1rem; text-decoration: none; }.replay-back-link:hover { color: #fff; text-decoration: underline; }.replay-upload-hero { background: radial-gradient(circle at 78% 25%, rgba(40,126,177,.26), transparent 26rem), linear-gradient(122deg, #0a1a2c, #132f47 62%, #0b2136); }.replay-upload-content { max-width: 1180px; }.replay-upload-form { overflow: hidden; }.replay-upload-form-body { padding: 1.45rem; }.replay-upload-grid { display: grid !important; gap: 1.5rem; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr) !important; }.replay-upload-form .form-label { color: #203d54; font-size: .9rem; font-weight: 700; }.replay-upload-form .form-control { border-color: #bdccd6; border-radius: 0; box-shadow: none; padding: .65rem .75rem; }.replay-upload-form .form-control:focus { border-color: #2c9c5b; box-shadow: 0 0 0 .18rem rgba(44,156,91,.14); }.replay-upload-form textarea.form-control { min-height: 190px; }.replay-upload-form .form-text { color: #708090; font-size: .8rem; margin-top: .45rem; }.replay-upload-side { background: #f5f8fa; border: 1px solid #dce6eb; display: flex; flex-direction: column; min-height: 100%; }.replay-file-field { padding: 1.1rem; }.replay-upload-step { color: #2c9c5b; display: block; font-size: .7rem; font-weight: 800; letter-spacing: .12em; margin-bottom: .45rem; text-transform: uppercase; }.replay-file-field .form-label { display: block; font-size: 1.05rem; margin-bottom: .7rem; }.replay-upload-actions { border-top: 1px solid #dce4ea; margin-top: auto; padding: 1rem 1.1rem; }.replay-upload-submit { background: #f36c12; border: 1px solid #f36c12; color: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .08em; padding: .7rem 1rem; text-transform: uppercase; }.replay-upload-submit:hover { background: #ff872e; border-color: #ff872e; }
.replay-upload-progress { border-top: 1px solid #dce6eb; padding: 1rem 1.1rem; }.replay-upload-progress-head { align-items: center; display: flex; font-size: .82rem; justify-content: space-between; }.replay-upload-progress-head strong { color: #203d54; }.replay-upload-progress-head span { color: #647b8e; font-size: .75rem; font-weight: 700; }.replay-upload-progress-track { background: #dce5eb; height: 5px; margin: .65rem 0 .5rem; overflow: hidden; }.replay-upload-progress-track i { background: #2c9c5b; display: block; height: 100%; transition: width .2s ease; width: 0; }.replay-upload-progress.is-processing .replay-upload-progress-track i { animation: replay-upload-processing 1.3s ease-in-out infinite; width: 72%; }.replay-upload-progress p { color: #718292; font-size: .78rem; line-height: 1.35; margin: 0; }@keyframes replay-upload-processing { 0% { margin-left: 0; } 50% { margin-left: 28%; } 100% { margin-left: 0; } }.replay-upload-submit:disabled { cursor: wait; opacity: .72; }
.my-replays-content { max-width: 1080px; }.my-replay-row { align-items: center; border-bottom: 1px solid #e1e8ed; display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.35rem; }.my-replay-row:last-child { border-bottom: 0; }.my-replay-main h2 { font-size: 1.1rem; margin: 0; }.my-replay-main h2 a { color: #173a55; text-decoration: none; }.my-replay-main h2 a:hover { color: #218a52; }.my-replay-main p { color: #718292; font-size: .83rem; margin: .3rem 0 0; }.my-replay-actions { align-items: center; display: flex; flex: 0 0 auto; gap: .8rem; }.my-replay-actions a { color: #2b7550; font-size: .82rem; font-weight: 700; text-decoration: none; }.my-replay-actions button { background: #fff; border: 1px solid #bf4b52; color: #a7353e; font-size: .75rem; font-weight: 800; letter-spacing: .06em; padding: .45rem .65rem; text-transform: uppercase; }.my-replay-actions button:hover { background: #bf4b52; color: #fff; }@media (max-width: 575.98px) { .my-replay-row { align-items: flex-start; flex-direction: column; }.my-replay-actions { width: 100%; }.my-replay-actions form { margin-left: auto; } }
@media (max-width: 991.98px) { .replay-overview { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .replay-upload-grid { grid-template-columns: 1fr !important; }.replay-upload-form textarea.form-control { min-height: 130px; } }
.replay-battle-type { align-items: center; display: flex; flex: 0 0 76px; flex-direction: column; gap: .2rem; text-align: center; }.replay-battle-type .replay-battle-type-icon { flex: 0 0 76px; }.replay-battle-type-name { color: #d6e3eb; font-size: .62rem; font-weight: 700; line-height: 1.05; text-transform: uppercase; }
.replay-overview { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .95fr); }.replay-ship-area { background-color: #0d2a42; background-image: linear-gradient(90deg, rgba(7, 25, 41, .93), rgba(7, 25, 41, .62)), var(--replay-map-image, none); background-position: center; background-size: cover; border: 1px solid rgba(35, 80, 111, .7); box-shadow: 0 8px 24px rgba(19, 45, 67, .14); min-width: 0; }.replay-ship-area .replay-ship-showcase { background: transparent; border: 0; border-radius: 0; height: 100%; min-height: 164px; }.replay-overview .replay-battle-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); height: 100%; }.replay-overview .replay-battle-facts div { border-bottom: 1px solid #e2e8ed; border-right: 1px solid #e2e8ed; padding: .8rem 1rem; }.replay-overview .replay-battle-facts div:nth-child(even) { border-right: 0; }.replay-overview .replay-battle-facts div:nth-last-child(-n+2) { border-bottom: 0; }.replay-overview .replay-map-fact { grid-column: span 2; }.replay-overview .replay-map-fact img { height: 34px; margin: -.1rem 0 .3rem; }.replay-section-heading h3 { color: #173a55; font-size: 1.45rem; font-weight: 700; letter-spacing: -.025em; margin: .35rem 0 0; }
@media (max-width: 991.98px) { .replay-stat-grid { grid-template-columns: repeat(3, 1fr); }.replay-stat:nth-child(3) { border-right: 0; }.replay-stat:nth-child(-n+3) { border-bottom: 1px solid #e2e8ed; }.replay-battle-facts { grid-template-columns: repeat(3, 1fr); }.replay-battle-facts div:nth-child(3) { border-right: 0; }.replay-battle-facts div:nth-child(-n+3) { border-bottom: 1px solid #e2e8ed; } }
@media (max-width: 575.98px) { .replay-hero-map { opacity: .18; width: 100%; }.replay-hero h1 { font-size: 2.3rem; }.replay-ship-showcase { min-height: 130px; }.replay-ship-showcase img { height: 105px; }.replay-section-heading { align-items: flex-start; flex-direction: column; gap: .8rem; padding: 1.3rem; }.replay-stat-grid { grid-template-columns: repeat(2, 1fr); }.replay-stat { border-bottom: 1px solid #e2e8ed; padding: 1rem; }.replay-stat:nth-child(odd) { border-right: 1px solid #e2e8ed; }.replay-stat:nth-child(even) { border-right: 0; }.replay-stat:last-child { border-bottom: 0; }.replay-stat-major { grid-column: span 2; }.replay-ribbon-section { padding: 1.2rem; }.replay-ribbon { min-width: calc(50% - .35rem); }.replay-ribbon img { height: auto; max-width: 100%; width: 156px; }.replay-roster-row { grid-template-columns: 58px minmax(110px, 1fr) 65px; padding: .5rem; }.replay-roster-score:last-child { display: none; }.replay-roster-ship img { max-width: 55px; }.replay-information dl { padding: .6rem 1rem 1rem; } }

/* Detail overview: ship, battle type and factual data are deliberately separate. */
.replay-overview { grid-template-columns: minmax(0, 1.15fr) minmax(180px, .48fr) minmax(330px, .9fr); }
.replay-ship-area { background-image: linear-gradient(90deg, rgba(7,25,41,.88), rgba(7,25,41,.38)), var(--replay-flag-image, none); }
.replay-battle-type-panel { align-items: center; background: #102c44; border: 1px solid rgba(35,80,111,.7); box-shadow: 0 8px 24px rgba(19,45,67,.14); color: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 164px; padding: .8rem; text-align: center; }
.replay-battle-type-panel .replay-battle-type-icon { flex: 0 0 74px; height: 74px; width: 74px; }
.replay-battle-type-panel img.replay-battle-type-icon { object-fit: contain; }
.replay-battle-type-panel strong { font-size: .78rem; letter-spacing: .08em; line-height: 1.25; margin-top: .5rem; text-transform: uppercase; }
.replay-toast { background: #e0f5e7; border-left: 4px solid #2c9c5b; box-shadow: 0 10px 28px rgba(11,35,54,.2); color: #174b30; display: flex; flex-direction: column; gap: .12rem; opacity: 1; padding: .8rem 1rem; position: fixed; right: 1.25rem; top: 1.25rem; transform: translateY(0); transition: opacity .35s ease, transform .35s ease; z-index: 2000; }
.replay-toast strong { font-size: .9rem; }.replay-toast span { font-size: .8rem; }.replay-toast.is-hidden { opacity: 0; pointer-events: none; transform: translateY(-10px); }
.replay-info-page { max-width: 940px; }.replay-info-header { border-left: 4px solid #e52d27; margin: 1.5rem 0 1.25rem; padding: .4rem 0 .45rem 1rem; }.replay-info-header span { color: #e52d27; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.replay-info-header h1 { color: #173a55; font-size: clamp(1.8rem, 4vw, 2.65rem); margin: .2rem 0 .35rem; }.replay-info-header p { color: #617382; margin: 0; }.replay-info-card { background: #fff; border: 1px solid #dce4ea; box-shadow: 0 8px 24px rgba(19,45,67,.08); }.replay-info-card-head { align-items: center; border-bottom: 1px solid #e1e8ed; display: flex; justify-content: space-between; padding: .85rem 1rem .85rem 1.2rem; }.replay-info-card-head h2 { color: #173a55; font-size: 1.05rem; margin: 0; }.replay-copy-button { background: #e52d27; border: 0; color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .06em; min-width: 92px; padding: .55rem .75rem; text-transform: uppercase; }.replay-copy-button:hover { background: #bf201c; }.replay-info-text { border: 0; color: #1d3446; display: block; font: 400 .92rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; min-height: 96px; padding: 1rem 1.2rem; resize: vertical; width: 100%; }.replay-info-card:nth-of-type(3) .replay-info-text { min-height: 470px; }
.replay-info-lookup { display: flex; gap: .65rem; margin-bottom: 1.5rem; }.replay-info-lookup input { border: 1px solid #b8c7d1; flex: 1; min-width: 0; padding: .65rem .75rem; }.replay-info-lookup button { background: #173a55; border: 0; color: #fff; font-weight: 700; padding: .65rem 1rem; white-space: nowrap; }@media (max-width: 575.98px) { .replay-info-lookup { flex-direction: column; } }
.replay-info-latest { background: #fff; border: 1px solid #dce4ea; box-shadow: 0 8px 24px rgba(19,45,67,.08); }.replay-info-latest h2 { border-bottom: 1px solid #e1e8ed; color: #173a55; font-size: 1.05rem; margin: 0; padding: .95rem 1.2rem; }.replay-info-upload-list { max-height: 480px; overflow: auto; }.replay-info-upload-list a { border-bottom: 1px solid #e8edf0; color: #173a55; display: block; padding: .7rem 1.2rem; text-decoration: none; }.replay-info-upload-list a:last-child { border-bottom: 0; }.replay-info-upload-list a:hover { background: #f1f8f4; }.replay-info-upload-list strong, .replay-info-upload-list span, .replay-info-upload-list small { display: block; }.replay-info-upload-list strong { font-size: .92rem; }.replay-info-upload-list span, .replay-info-upload-list small { color: #687b89; font-size: .78rem; margin-top: .12rem; }
.replay-info-page { max-width: 1440px; }.replay-info-workspace { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr); }.replay-info-output { min-width: 0; }.replay-info-latest { position: sticky; top: 1rem; }.replay-info-upload-list { max-height: 680px; }@media (max-width: 991.98px) { .replay-info-workspace { grid-template-columns: 1fr; }.replay-info-latest { position: static; }.replay-info-upload-list { max-height: 360px; } }
@media (min-width: 992px) { .replay-info-admin-page { height: 100vh; overflow: hidden; }.replay-info-page { display: flex; flex-direction: column; height: calc(100vh - 62px); padding-bottom: 1rem !important; padding-top: 1rem !important; }.replay-info-header { margin: .35rem 0 .65rem; }.replay-info-header h1 { font-size: 2rem; }.replay-info-header p { font-size: .9rem; }.replay-info-lookup { margin-bottom: .75rem; }.replay-info-workspace { flex: 1; min-height: 0; }.replay-info-latest, .replay-info-output { min-height: 0; }.replay-info-latest { display: flex; flex-direction: column; height: 100%; top: 0; }.replay-info-upload-list { flex: 1; max-height: none; }.replay-info-output { display: grid; gap: .75rem; grid-template-rows: 20px 118px minmax(150px, 1fr) 104px; }.replay-info-card { display: flex; flex-direction: column; margin: 0 !important; min-height: 0; }.replay-info-card-head { flex: 0 0 auto; padding: .65rem .9rem; }.replay-info-text { flex: 1; min-height: 0; padding: .7rem .9rem; resize: none; }.replay-info-card-description .replay-info-text { min-height: 0; }.replay-info-card-keywords .replay-info-text { min-height: 0; }.replay-info-card:nth-of-type(3) .replay-info-text { min-height: 0; } }
@media (min-width: 992px) { .replay-info-admin-page { height: 100vh; overflow: hidden; }.replay-info-page { height: 100vh; padding-bottom: 1rem !important; padding-top: 1rem !important; }.replay-info-output { grid-template-rows: 118px minmax(150px, 1fr) 104px; } }
@media (min-width: 992px) { .replay-info-card-description .replay-info-text { font-size: .78rem; line-height: 1.3; } }
@media (min-width: 992px) { .replay-info-workspace { align-items: stretch; }.replay-info-output { height: 100%; } }
@media (min-width: 992px) { .replay-info-admin-page { height: auto; overflow: visible; }.replay-info-page { display: block; height: auto; }.replay-info-workspace { align-items: start; }.replay-info-output { display: block; height: auto; }.replay-info-card { display: block; margin-bottom: .75rem !important; }.replay-info-text, .replay-info-card:nth-of-type(3) .replay-info-text { display: block; height: auto; min-height: 0; resize: vertical; }.replay-info-card-description .replay-info-text { font-size: .82rem; line-height: 1.35; } }
.replay-thumbnail-tool { background: #fff; border: 1px solid #dce4ea; box-shadow: 0 8px 24px rgba(19,45,67,.08); margin-top: 1rem; padding: 1rem; }.replay-thumbnail-head { align-items: baseline; display: flex; gap: .8rem; justify-content: space-between; }.replay-thumbnail-head h2 { color: #173a55; font-size: 1.05rem; margin: 0; }.replay-thumbnail-head span, .replay-thumbnail-status { color: #6c7d8a; font-size: .8rem; }.replay-thumbnail-controls { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .85rem; }.replay-thumbnail-file { border: 1px solid #b8c7d1; flex: 1 1 240px; max-width: 430px; padding: .45rem; }.replay-thumbnail-mode, .replay-thumbnail-create { border: 1px solid #193e5a; font-size: .78rem; font-weight: 800; padding: .6rem .8rem; }.replay-thumbnail-mode { background: #fff; color: #193e5a; }.replay-thumbnail-mode.is-active, .replay-thumbnail-create { background: #e52d27; border-color: #e52d27; color: #fff; }.replay-thumbnail-canvas { display: block; height: auto; margin-top: 1rem; max-width: 100%; width: 640px; }@media (max-width: 575.98px) { .replay-thumbnail-head { align-items: flex-start; flex-direction: column; gap: .3rem; } }
@media (max-width: 1199.98px) { .replay-overview { grid-template-columns: minmax(0, 1fr) minmax(170px, .52fr); }.replay-battle-facts { grid-column: span 2; }.replay-overview .replay-battle-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }.replay-overview .replay-battle-facts div { border-bottom: 0; }.replay-overview .replay-battle-facts div:nth-child(even) { border-right: 1px solid #e2e8ed; }.replay-overview .replay-battle-facts div:last-child { border-right: 0; } }
@media (max-width: 767.98px) { .replay-overview { grid-template-columns: 1fr; }.replay-battle-facts { grid-column: auto; }.replay-overview .replay-battle-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }.replay-overview .replay-battle-facts div { border-bottom: 1px solid #e2e8ed; }.replay-overview .replay-battle-facts div:nth-child(even) { border-right: 0; }.replay-overview .replay-battle-facts div:nth-last-child(-n+2) { border-bottom: 0; } }

/* Replay-info desktop layout: the three direct workspace children are explicit columns. */
@media (min-width: 992px) {
  .replay-info-page.container { max-width: none !important; width: 100%; }
  .replay-info-workspace { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 2fr); }
  .replay-info-output { display: block; height: auto; }
  .replay-thumbnail-tool { margin-top: 0; }
}

.replay-info-upload-list a { border-bottom: 0; padding-bottom: .15rem; }
.replay-info-upload-list .replay-info-upload-stats { background: none; border: 0; color: #29475d; display: block; font-size: 2rem; font-weight: 900; letter-spacing: .025em; line-height: 1.1; margin: 0 0 .55rem; padding: 0; }
.replay-info-upload-stats span { display: inline; }
.replay-info-result { letter-spacing: .06em; }
.replay-info-upload-list .replay-info-result-win, .replay-info-upload-list .replay-info-result-lost, .replay-info-upload-list .replay-info-upload-damage, .replay-info-upload-list .replay-info-upload-kills { color: #d52d27; }
.replay-upload-back{display:inline-block;margin-bottom:1rem}.replay-upload-page-intro{border-left:4px solid #d7ad56;margin-bottom:1.75rem;padding-left:1rem}.replay-upload-page-intro h1{color:#f2eee0;font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(2rem,3vw,3rem);font-weight:400;letter-spacing:.01em;line-height:1;margin:0;text-shadow:0 2px 5px rgba(0,0,0,.45)}.replay-upload-page-intro p{color:#b8cad8;font-size:1rem;margin:.55rem 0 0}.replay-upload-submit{background:linear-gradient(#365b70,#142d3d 48%,#071722);border-color:#55798b #0a1821 #02080c;box-shadow:inset 0 1px rgba(255,255,255,.18),0 2px 4px rgba(0,0,0,.42);color:#f2eee0}.replay-upload-submit:hover{background:linear-gradient(#47718a,#1d3c4e 48%,#0a1e2b);border-color:#779aab #0a1821 #02080c;color:#fff}
.replay-upload-page .replay-upload-form{background:#091923;border:1px solid #315468;box-shadow:0 12px 28px rgba(0,0,0,.3);color:#d7e3ea}.replay-upload-page .replay-upload-form .replay-panel-head{background:linear-gradient(90deg,#102b3b,#0b1d29);border-bottom:1px solid #315468}.replay-upload-page .replay-upload-form .replay-panel-head span{color:#d7ad56}.replay-upload-page .replay-upload-form .replay-panel-head h2{color:#f2eee0}.replay-upload-page .replay-upload-form-body{background:#091923}.replay-upload-page .replay-upload-form .form-label{color:#d9e6ec}.replay-upload-page .replay-upload-form .form-control{background:#06131c;border-color:#385d70;color:#f2eee0}.replay-upload-page .replay-upload-form .form-control:focus{background:#081923;border-color:#6d9bb2;box-shadow:0 0 0 .18rem rgba(87,145,174,.2);color:#fff}.replay-upload-page .replay-upload-form .form-text{color:#9bb1bd}.replay-upload-page .replay-upload-side{background:linear-gradient(#102738,#0b1d29);border-color:#315468}.replay-upload-page .replay-upload-actions,.replay-upload-page .replay-upload-progress{border-top-color:#315468;background:rgba(3,13,21,.2)}.replay-upload-page .replay-upload-progress-head strong{color:#e1ebef}.replay-upload-page .replay-upload-progress-track{background:#1b3b4d}.replay-upload-page .replay-file-field code{color:#e4c16a}.replay-upload-page input[type=file]::file-selector-button{background:#274b60;border:0;border-right:1px solid #52758a;color:#f2eee0;padding:.55rem .8rem}
