.siege-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.siege-top h1{font-size:clamp(30px,5vw,54px);margin:5px 0}.siege-top p{color:var(--muted)}.siege-stage{position:relative;isolation:isolate;background:#0b1313;border:1px solid #48534b;border-radius:12px;overflow:hidden;height:min(62vh,620px);min-height:360px}.siege-stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.siege-hud{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none;gap:10px}.siege-hud>div{padding:9px 14px;background:#0a100de3;border:1px solid #566450;min-width:90px}.siege-hud small{display:block;font-size:10px;letter-spacing:1.4px;color:#a8b99d}.siege-hud strong{white-space:nowrap;color:#e6eddb;font-size:23px}.siege-message{position:absolute;inset:28% 10% auto;text-align:center;pointer-events:none;text-shadow:0 3px 15px #000}.siege-message h2{font-size:clamp(25px,5vw,60px);line-height:1.05;margin:10px 0;color:#f0ebd9}.siege-message p{color:#d5ddcc;max-width:550px;margin:12px auto}.siege-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.siege-controls .button{min-height:48px}.siege-result{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.siege-result>div{padding:18px;background:var(--panel,#182019);border:1px solid var(--line,#374435);border-radius:8px}.siege-result small{display:block;color:var(--muted);font-size:11px;letter-spacing:1px}.siege-result strong{font-size:24px}.siege-instructions{line-height:1.7;color:var(--muted)}.siege-record{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.siege-record small{display:block;color:var(--muted)}.siege-controls [data-siege-repair]{margin-right:auto}.siege-score-tag{color:#d4be72}.gym-conditioning{margin:20px 0}.gym-conditioning h2{margin:12px 0}.gym-conditioning .gym-cap-track{max-width:700px}@media(max-width:650px){.siege-stage{height:min(58vh,520px);min-height:380px}.siege-hud{left:8px;right:8px;top:8px;gap:5px}.siege-hud>div{padding:7px;min-width:0;flex:1}.siege-hud strong{font-size:14px}.siege-hud small{font-size:8px;letter-spacing:.5px}.siege-result{grid-template-columns:repeat(2,1fr)}.siege-top{display:block}.siege-controls .button{flex:1}.siege-message{inset:30% 5% auto}.siege-instructions{font-size:13px}}

@media(max-width:650px){.siege-controls{display:grid;grid-template-columns:1fr 1fr}.siege-controls [data-siege-start]{grid-column:1/-1}.siege-controls [data-siege-repair]{margin-right:0}}
.siege-stage .range-weapon{width:44%;bottom:-6%;right:-2%;z-index:4}.siege-stage .range-reticle{z-index:3}.siege-hud{z-index:5}.siege-message{z-index:6}.siege-stage .range-impact,.siege-stage .range-hit-score{pointer-events:none}.siege-stage .siege-reloading{animation:siege-reload 1.6s ease-in-out}.siege-repairing{box-shadow:inset 0 0 45px #d8bb6140}@keyframes siege-reload{0%,100%{transform:translateY(0) rotate(0)}30%,70%{transform:translateY(40%) rotate(12deg)}}@media(max-width:650px){.siege-stage .range-weapon{width:72%;bottom:-2%;right:-8%}}@media(prefers-reduced-motion:reduce){.siege-stage .siege-reloading{animation:none}}
.siege-damage-warning{position:absolute;z-index:5;top:105px;left:50%;transform:translateX(-50%);max-width:85%;padding:10px 16px;color:#ffe0bb;background:#632a1de8;border:1px solid #d68b58;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:1px;text-align:center;pointer-events:none}.siege-damage-warning[hidden]{display:none}@media(max-width:650px){.siege-damage-warning{top:77px;font-size:10px;width:82%;padding:8px}}


.siege-expanded{max-width:none!important;margin:0!important;position:fixed!important;inset:0!important;z-index:10000!important;overflow:auto;background:#0b1210;padding:18px;box-sizing:border-box}
.siege-expanded .siege-top{display:none}
.siege-expanded .siege-stage{width:min(100%,calc((100svh - 130px)*1.6667));margin:0 auto;height:calc(100svh - 130px);min-height:220px;max-height:calc(100svh - 130px)}
.siege-expanded .siege-controls{position:sticky;bottom:0;background:#0b1210;padding:12px;z-index:30}

/* Aim independently of weapon recoil and reload animations. */
.siege-stage .range-aim{position:absolute;inset:0;z-index:4;pointer-events:none;transform-origin:88% 96%;transition:transform 90ms ease-out;will-change:transform}
.siege-stage .range-reticle{z-index:6}
.siege-stage canvas.siege-aiming{cursor:none}
@media(prefers-reduced-motion:reduce){.siege-stage .range-aim{transition:none}}
