/* End-of-battle cinematics: letterboxed set pieces staged over the live battlefield. */
#battle.cinematic>*:not(#world):not(#victory-stage){visibility:hidden}
body.victory-active #battle-connection,body.victory-active .battle-connection,body.victory-active #toasts,body.victory-active .toast{visibility:hidden}
#victory-stage{position:absolute;inset:0;z-index:40;overflow:hidden;cursor:pointer;color:#f1ead5;font-family:Arial,Helvetica,sans-serif;--vc-accent:#e7b66a;--vc-ink:#f3ead0;--vc-bar:9vh;user-select:none;-webkit-user-select:none;isolation:isolate}
#victory-stage.defeat{--vc-accent:#ef9a82}
#victory-stage.fading{animation:vc-fade-out .45s ease both}
#victory-stage>*{position:absolute}
.vc-grade{inset:0;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(180deg,#f0b46a66,transparent 45%,#1a1308aa);opacity:0;transition:opacity 1.2s ease}
#victory-stage.lit .vc-grade{opacity:1}
#victory-stage.night .vc-grade{opacity:1;mix-blend-mode:multiply;background:linear-gradient(180deg,#5b7aa8cc,#2c3d5bcc 55%,#0b1018)}
.vc-vignette{inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 36%,#00000055 72%,#000000a8 100%)}
#victory-stage.night .vc-vignette{background:radial-gradient(ellipse at 50% 50%,transparent 30%,#00000088 70%,#000000d9 100%)}
.vc-bars{inset:0;pointer-events:none;z-index:3}
.vc-bars:before,.vc-bars:after{content:'';position:absolute;left:0;right:0;height:0;background:#06090a;transition:height .7s cubic-bezier(.2,.9,.3,1);z-index:3}
.vc-bars:before{top:0}.vc-bars:after{bottom:0}
#victory-stage.boxed .vc-bars:before,#victory-stage.boxed .vc-bars:after{height:var(--vc-bar)}
.vc-fx{inset:0;pointer-events:none;z-index:2}
#victory-stage.static .vc-fx{z-index:6}
.vc-flash{inset:0;background:#fff8e6;opacity:0;pointer-events:none;z-index:4}
.vc-flash.pop{animation:vc-flash .55s ease-out both}
#victory-stage.night .vc-flash{background:#e6eeff}
#victory-stage.night .vc-flash.pop{animation:vc-flash-soft .28s ease-out both}
.vc-titles{left:max(6vw,24px);right:max(6vw,24px);bottom:calc(var(--vc-bar) + 5vh);z-index:7;pointer-events:none}
.vc-kicker{font:12px/1.5 'Courier New',monospace;letter-spacing:4px;color:var(--vc-accent);text-transform:uppercase;min-height:18px;white-space:pre-wrap;text-shadow:0 2px 14px #000c}
.vc-kicker:after{content:'▌';animation:vc-caret 1s steps(2) infinite;opacity:.8}
.vc-kicker.done:after{content:''}
.vc-title{font:700 clamp(68px,16vw,196px)/.88 BarlowCondensed,Impact,'Arial Narrow',sans-serif;letter-spacing:.02em;color:var(--vc-ink);text-shadow:0 12px 50px #000c,0 2px 0 #00000055;margin:10px 0 0;opacity:0;transform-origin:left bottom}
.vc-title.in{animation:vc-slam .6s cubic-bezier(.16,1,.3,1) both}
#victory-stage.defeat .vc-title.in{animation:vc-sink .9s cubic-bezier(.2,.8,.3,1) both}
.vc-sub{font:700 clamp(15px,2.6vw,30px)/1.2 BarlowCondensed,Impact,'Arial Narrow',sans-serif;letter-spacing:.32em;color:var(--vc-accent);margin-top:10px;clip-path:inset(0 100% 0 0);text-shadow:0 2px 14px #000c}
.vc-sub.in{animation:vc-wipe .9s cubic-bezier(.2,.9,.3,1) both}
.vc-skip{top:calc(var(--vc-bar) + 16px);right:max(6vw,24px);z-index:8;font:11px 'Courier New',monospace;letter-spacing:3px;color:#d8dccd;background:#0c1416b3;border:1px solid #e7b66a55;padding:9px 16px;backdrop-filter:blur(4px);opacity:0;animation:vc-appear .6s 1.4s ease both}
.vc-skip:hover{background:#1d2a2e}
.vc-skip kbd{font:inherit;color:var(--vc-accent);margin-left:8px}
/* Newspaper front page */
.vc-paper{left:50%;top:50%;width:min(760px,92vw);min-height:min(600px,78vh);padding:clamp(16px,3vw,34px) clamp(16px,3.4vw,38px);color:#1f1a14;background:
 radial-gradient(ellipse at 10% 0%,#d9c89f55,transparent 40%),radial-gradient(ellipse at 90% 100%,#c9b48a66,transparent 45%),repeating-linear-gradient(0deg,#0000 0 3px,#8b7a5a08 3px 4px),#efe5cb;
 box-shadow:0 40px 90px #000c,0 4px 0 #b9a77f inset;transform:translate(-50%,-50%) rotate(-2.5deg) scale(var(--vc-fit,1));z-index:5;font-family:Georgia,'Times New Roman',serif;opacity:0}
.vc-paper.in{animation:vc-spin 1.15s cubic-bezier(.2,.9,.32,1) both}
.vc-paper:before{content:'';position:absolute;inset:0;background:repeating-radial-gradient(circle at 30% 20%,#0000 0 2px,#5c4a2a06 2px 3px);pointer-events:none}
.vc-ears{display:flex;justify-content:space-between;font:italic 10px/1.3 Georgia,serif;letter-spacing:1px;color:#5b4d36;border-bottom:1px solid #2a221a;padding-bottom:4px}
.vc-masthead{font:700 clamp(30px,6.2vw,58px)/1 'Old English Text MT','Times New Roman',Georgia,serif;text-align:center;letter-spacing:.02em;padding:10px 0 6px;border-bottom:3px double #2a221a}
.vc-dateline{display:flex;justify-content:space-between;font:10px/1.4 Georgia,serif;letter-spacing:1.5px;text-transform:uppercase;color:#4a3f30;padding:5px 0;border-bottom:1px solid #2a221a;margin-bottom:12px}
.vc-headline{font:700 clamp(28px,6vw,62px)/.94 BarlowCondensed,Impact,'Arial Narrow',sans-serif;letter-spacing:.01em;text-transform:uppercase;color:#17120d;margin:0 0 8px}
.vc-deck{font:italic clamp(12px,1.6vw,16px)/1.35 Georgia,serif;color:#2c2419;margin:0 0 12px;border-bottom:1px solid #2a221a66;padding-bottom:10px}
.vc-body{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.vc-columns{columns:2;column-gap:14px;column-rule:1px solid #2a221a33;font:clamp(10px,1.1vw,12px)/1.45 Georgia,serif;text-align:justify;hyphens:auto;color:#2a2219}
.vc-columns p{margin:0 0 7px}
.vc-columns p:first-of-type:first-letter{font:700 2.6em/.8 BarlowCondensed,Impact,sans-serif;float:left;margin:3px 5px 0 0;color:#17120d}
.vc-columns h4{font:700 13px/1.1 BarlowCondensed,Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;margin:6px 0 4px;break-after:avoid}
.vc-photo{position:relative;border:1px solid #2a221a;background:#9a8d74;aspect-ratio:4/3;overflow:hidden}
.vc-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.35) brightness(.95) sepia(.35)}
.vc-photo:after{content:'';position:absolute;inset:0;background:radial-gradient(circle,#000 28%,transparent 32%) 0 0/3px 3px;mix-blend-mode:overlay;opacity:.6;pointer-events:none}
.vc-caption{font:italic 10px/1.35 Georgia,serif;color:#3b3023;margin:5px 0 10px}
.vc-numbers{border:2px solid #17120d;padding:7px 9px;font:10px/1.5 'Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:#17120d;background:#e4d8ba}
.vc-numbers strong{display:block;font:700 13px/1.2 BarlowCondensed,Impact,sans-serif;letter-spacing:.08em;border-bottom:1px solid #17120d;margin-bottom:4px}
.vc-numbers span{display:flex;justify-content:space-between}
.vc-stamp{position:absolute;right:6%;top:30%;font:700 clamp(44px,9vw,96px)/1 BarlowCondensed,Impact,sans-serif;letter-spacing:.12em;color:#b8322c;border:5px double #b8322c;padding:4px 18px 2px;transform:rotate(-14deg) scale(3);opacity:0;mix-blend-mode:multiply;
 mask-image:radial-gradient(circle at 30% 40%,#000 55%,#0009 70%,#000 85%),repeating-radial-gradient(circle at 70% 70%,#000 0 2px,#000a 2px 3px);-webkit-mask-image:radial-gradient(circle at 30% 40%,#000 55%,#0009 70%,#000 85%);z-index:2}
.vc-stamp.in{animation:vc-stamp .38s cubic-bezier(.2,1.5,.5,1) both}
.vc-paper-sub{left:0;right:0;bottom:calc(var(--vc-bar) + 1.5vh);text-align:center;z-index:6;pointer-events:none}
.vc-paper-sub .vc-sub{font-size:clamp(13px,2.1vw,24px)}
/* Field honours medal */
.vc-medal{left:74%;top:0;transform-origin:50% 0;transform:translate(-50%,-110%);z-index:6;width:clamp(140px,15vw,200px);filter:drop-shadow(0 26px 30px #000a)}
.vc-medal.in{animation:vc-swing 3.2s cubic-bezier(.2,.9,.3,1) both}
.vc-medal-svg{display:block;width:100%;height:auto;overflow:visible}
.vc-medal .vc-glint{animation:vc-glint 3.4s 1.4s ease-in-out infinite}
/* Broadcast chrome: recording overlay, lower third, TV frame and the studio address */
.vc-rec{top:calc(var(--vc-bar) + 18px);left:max(6vw,24px);z-index:6;font:700 12px/1 'Courier New',monospace;letter-spacing:3px;color:#f2eee6;display:flex;align-items:center;gap:10px;text-shadow:0 1px 6px #000}
.vc-rec>i{width:11px;height:11px;border-radius:50%;background:#ff3b30;box-shadow:0 0 12px #ff3b30;animation:vc-blink 1s steps(2) infinite}
.vc-rec .vc-cam{color:#b9c6d6;margin-left:6px}
.vc-rec .vc-clock{font-weight:400;color:#dfe7f1;margin-left:4px}
.vc-corner{position:fixed;width:34px;height:34px;border:2px solid #e9eef5aa;pointer-events:none}
.vc-corner.tl{top:calc(var(--vc-bar) + 12px);left:max(4vw,14px);border-right:0;border-bottom:0}
.vc-corner.tr{top:calc(var(--vc-bar) + 12px);right:max(4vw,14px);border-left:0;border-bottom:0}
.vc-corner.bl{bottom:calc(var(--vc-bar) + 12px);left:max(4vw,14px);border-right:0;border-top:0}
.vc-corner.br{bottom:calc(var(--vc-bar) + 12px);right:max(4vw,14px);border-left:0;border-top:0}
.vc-chyron{position:absolute;left:0;right:0;bottom:calc(var(--vc-bar) + 10vh);z-index:6;display:flex;align-items:stretch;transform:translateX(-104%);transition:transform .7s cubic-bezier(.2,.9,.3,1);pointer-events:none;max-width:min(880px,92vw)}
.vc-chyron.in{transform:none}
.vc-tag{background:#c8281e;color:#fff;font:700 13px/1 BarlowCondensed,Impact,sans-serif;letter-spacing:.18em;padding:0 16px;display:flex;align-items:center;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.vc-chyron-text{flex:1;background:#0f1b22f2;border-top:2px solid #e7b66a;color:#f1ead5;overflow:hidden}
.vc-chyron-text>strong{display:block;font:700 clamp(15px,2vw,24px)/1.15 BarlowCondensed,Impact,sans-serif;letter-spacing:.05em;padding:9px 16px 6px}
.vc-ticker{background:#06090a;border-top:1px solid #ffffff14;height:22px;overflow:hidden;white-space:nowrap;font:11px/22px 'Courier New',monospace;letter-spacing:1.5px;color:#c6d0cf;text-transform:uppercase}
.vc-ticker>span{display:inline-block;padding-left:100%;animation:vc-ticker 26s linear infinite}
.vc-tv{inset:0;z-index:1;pointer-events:none}
.vc-screen{position:absolute;inset:calc(var(--vc-bar) + 3vh) 8vw;border-radius:2.2vw/2.8vw;box-shadow:0 0 0 200vmax #05070a,inset 0 0 60px #0009,inset 0 0 0 2px #ffffff12}
.vc-scan{position:absolute;inset:calc(var(--vc-bar) + 3vh) 8vw;border-radius:2.2vw/2.8vw;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000033 2px 3px),radial-gradient(ellipse at 50% 50%,#ffffff0a,transparent 60%);mix-blend-mode:multiply;pointer-events:none}
.vc-tv .vc-chyron{left:8vw;bottom:calc(var(--vc-bar) + 3vh + 24px);max-width:min(760px,80vw)}
.vc-bug{position:absolute;top:calc(var(--vc-bar) + 3vh + 18px);left:calc(8vw + 18px);font:700 12px/1 BarlowCondensed,Impact,sans-serif;letter-spacing:.2em;color:#f4f1ea;background:#0f1b22cc;padding:7px 10px;display:flex;align-items:center;gap:8px;border-left:3px solid #c8281e}
.vc-bug>i{width:8px;height:8px;border-radius:50%;background:#ff3b30;animation:vc-blink 1.2s steps(2) infinite}
.vc-tv.dead .vc-chyron,.vc-tv.dead .vc-bug{display:none}
.vc-studio{inset:calc(var(--vc-bar) + 3vh) 8vw;border-radius:2.2vw/2.8vw;overflow:hidden;z-index:5;opacity:0;background:radial-gradient(ellipse at 50% 30%,#2f4451,#101b22 70%);transition:opacity .25s steps(2)}
.vc-studio.in{opacity:1}
.vc-studio.dead{background:#06090a}
.vc-studio.dead>*{visibility:hidden}
.vc-studio-flag{position:absolute;left:50%;top:0;width:150%;height:100%;object-fit:cover;transform:translateX(-50%);opacity:.22;filter:saturate(.55) blur(1px);mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.vc-studio-light{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#ffe9c333,transparent 45%)}
.vc-studio-portrait{position:absolute;left:50%;bottom:17%;height:88%;transform:translateX(-50%);object-fit:contain;filter:saturate(.8) contrast(1.05);mask-image:linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%)}
.vc-podium{position:absolute;left:50%;bottom:0;width:min(46%,420px);height:34%;transform:translateX(-50%);background:linear-gradient(180deg,#36454c,#1b262c);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);border-top:3px solid #e7b66a}
.vc-mics{position:absolute;top:-56px;left:50%;transform:translateX(-50%);display:flex;gap:26px}
.vc-mics>i{display:block;width:10px;height:58px;background:linear-gradient(180deg,#d9dfe3 0 18px,#2a3338 18px);border-radius:5px 5px 0 0}
.vc-lower{position:absolute;left:5%;bottom:11%;background:#0f1b22f2;border-left:4px solid #e7b66a;padding:9px 16px;color:#f1ead5;max-width:46%}
.vc-lower>strong{display:block;font:700 clamp(15px,2vw,24px)/1.05 BarlowCondensed,Impact,sans-serif;letter-spacing:.06em}
.vc-lower>span{display:block;font:10px/1.4 'Courier New',monospace;letter-spacing:1.5px;color:#c6d0cf;text-transform:uppercase;margin-top:3px}
.vc-statement{position:absolute;right:5%;bottom:11%;width:min(40%,360px);background:#06090ac9;border:1px solid #ffffff1a;padding:12px 16px;color:#f1ead5;font:italic clamp(12px,1.35vw,16px)/1.45 Georgia,serif}
.vc-statement .vc-quote{display:block;min-height:3.2em}
.vc-statement .vc-quote:after{content:'▌';color:#e7b66a;animation:vc-caret 1s steps(2) infinite}
.vc-statement em{display:block;font:10px/1.3 'Courier New',monospace;letter-spacing:1px;color:#aab6b5;margin-top:8px;text-transform:uppercase}
/* Keyframes */
@keyframes vc-slam{0%{opacity:0;transform:scale(1.9) rotate(-5deg)}55%{opacity:1}100%{opacity:1;transform:none}}
@keyframes vc-sink{0%{opacity:0;transform:translateY(-6vh) scale(1.04);filter:blur(6px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes vc-wipe{to{clip-path:inset(0 0 0 0)}}
@keyframes vc-caret{to{opacity:0}}
@keyframes vc-blink{to{opacity:.25}}
@keyframes vc-appear{to{opacity:1}}
@keyframes vc-flash{0%{opacity:1}100%{opacity:0}}
@keyframes vc-flash-soft{0%{opacity:.45}100%{opacity:0}}
@keyframes vc-ticker{to{transform:translateX(-100%)}}
@keyframes vc-glint{0%,55%{transform:translateX(0) skewX(-20deg)}100%{transform:translateX(300px) skewX(-20deg)}}
@keyframes vc-spin{0%{opacity:0;transform:translate(-50%,-50%) rotate(-1440deg) scale(.04)}60%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) rotate(-2.5deg) scale(var(--vc-fit,1))}}
@keyframes vc-stamp{0%{opacity:0;transform:rotate(-14deg) scale(3)}100%{opacity:.92;transform:rotate(-14deg) scale(1)}}
@keyframes vc-swing{0%{transform:translate(-50%,-110%) rotate(0)}30%{transform:translate(-50%,0) rotate(7deg)}50%{transform:translate(-50%,0) rotate(-5deg)}70%{transform:translate(-50%,0) rotate(3deg)}85%{transform:translate(-50%,0) rotate(-1.5deg)}100%{transform:translate(-50%,0) rotate(0)}}
@keyframes vc-fade-out{to{opacity:0}}
@media (max-width:700px){
 #victory-stage{--vc-bar:6vh}
 .vc-titles{bottom:calc(var(--vc-bar) + 4vh)}
 .vc-kicker{font-size:10px;letter-spacing:2.5px}
 .vc-skip{top:calc(var(--vc-bar) + 10px);right:12px;padding:8px 12px}
 .vc-body{grid-template-columns:1fr}
 .vc-columns{columns:1}
 .vc-paper{min-height:0}
 .vc-medal{left:auto;right:12px;width:36vw;transform:translate(0,-110%)}
 .vc-medal.in{animation-name:vc-swing-right}
 .vc-paper-sub{bottom:calc(var(--vc-bar) + 2vh)}
 .vc-screen,.vc-scan,.vc-studio{inset:calc(var(--vc-bar) + 2vh) 3vw}
 .vc-tv .vc-chyron{left:3vw;bottom:calc(var(--vc-bar) + 2vh + 12px);max-width:90vw}
 .vc-bug{left:calc(3vw + 10px);top:calc(var(--vc-bar) + 2vh + 10px)}
 .vc-chyron{bottom:calc(var(--vc-bar) + 16vh)}
 .vc-lower{max-width:70%;bottom:8%}
 .vc-statement{display:none}
 .vc-studio-portrait{height:78%}
 .vc-rec .vc-cam{display:none}
}
@keyframes vc-swing-right{0%{transform:translate(0,-110%) rotate(0)}30%{transform:translate(0,0) rotate(7deg)}50%{transform:translate(0,0) rotate(-5deg)}70%{transform:translate(0,0) rotate(3deg)}85%{transform:translate(0,0) rotate(-1.5deg)}100%{transform:translate(0,0) rotate(0)}}
#result #victory-replay{display:block;margin:13px auto 0}
/* Preserve the designer's type against the game's global font override. */
.vc-paper,.vc-paper *{font-family:Georgia,'Times New Roman',serif!important}
.vc-masthead{font-family:'Old English Text MT','Times New Roman',Georgia,serif!important}
.vc-title,.vc-sub,.vc-headline,.vc-columns h4,.vc-stamp,.vc-numbers strong,.vc-disc strong,.vc-tag,.vc-chyron-text>strong,.vc-bug,.vc-lower>strong{font-family:BarlowCondensed,Impact,'Arial Narrow',sans-serif!important}
.vc-kicker,.vc-skip,.vc-skip kbd,.vc-numbers,.vc-numbers span,.vc-numbers i,.vc-numbers b,.vc-disc small,.vc-disc b,.vc-rec,.vc-rec span,.vc-ticker,.vc-ticker span,.vc-lower>span,.vc-statement em{font-family:'Courier New',monospace!important}
.vc-statement,.vc-quote{font-family:Georgia,'Times New Roman',serif!important}
.vc-skip{min-height:44px;min-width:96px}
