/* Mode-scoped Siege UI. The world, spells and other modes retain their own styles. */
.sg-header[hidden],.sg-stage[hidden],.sg-respawn[hidden],.sg-connection[hidden]{display:none!important}
body.siegeActive{background:radial-gradient(ellipse at 50% 0,#34382e,#111b23 50%,#0c1219)}
body.siegeActive>.page{width:min(1380px,97vw);padding:7px 0 8px}body.siegeActive>.page::before{display:none}
.siegeMode{--sg-gold:#d9c08e;--sg-ink:#111e27;--sg-line:#a58f6159;--sg-width:min(100%,calc((100dvh - 209px) * 1.53846))}
.siegeMode>.topbar,.siegeMode>#siegeHud,.siegeMode>#duelScorebar,.siegeMode>.lockedNote,.siegeMode #overlay{display:none!important}
.siegeMode>.gameFrame,.siegeMode>.sg-header{width:var(--sg-width);margin-inline:auto}.siegeMode>.gameFrame{border:1px solid #aa916b60;border-radius:7px;overflow:hidden;box-shadow:0 15px 45px #0006}.siegeMode #game{border:0;border-radius:0}
.sg-header{color:#e8e5d8;font:12px/1.4 system-ui,sans-serif;margin-bottom:7px;position:relative;z-index:25}
.sg-courtline{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:28px;font-size:9px;font-weight:750;letter-spacing:.13em;color:#baa982}.sg-courtline b{color:#726750;margin-inline:6px}.sg-arena{font:italic 11px Georgia;color:#a9b6b4;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-header button,.sg-stage button,.sg-dialog button{font:650 12px/1.4 system-ui;padding:10px 16px;border:1px solid #a18b625c;border-radius:4px;color:#e2d5b9;background:linear-gradient(#29363a,#19262f);cursor:pointer}.sg-header button:hover,.sg-stage button:hover,.sg-dialog button:hover{background:#35433e;border-color:#d2b77f}.sg-header button:focus-visible,.sg-stage button:focus-visible,.sg-dialog button:focus-visible{outline:2px solid #f0d49a;outline-offset:3px}.sg-header button:disabled,.sg-stage button:disabled,.sg-dialog button:disabled{background:#23302e;color:#9eadac;border-color:#6d7b714d;cursor:default}.sg-courtline button{font-size:10px;padding:4px 9px}
.sg-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr);gap:9px}.sg-objective{padding:9px 12px;border:1px solid var(--sg-line);border-radius:6px;background:linear-gradient(135deg,#233634,#13222cf5);min-width:0}.sg-enemy{background:linear-gradient(225deg,#352d34,#18232df5)}
.sg-objective-top{display:flex;align-items:center;gap:9px;min-width:0}.sg-objective-top>div{min-width:0;flex:1}.sg-kicker{display:block;font:750 8px/1.5 system-ui;letter-spacing:.12em;color:#c7b18a}.sg-guardian-name{display:block;margin-top:1px;font:600 15px/1.3 Georgia;color:#e8e1cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-guardian-state{font-size:9px;color:#a9d6cd;padding:3px 5px;border:1px solid #7193864d;border-radius:3px}.sg-enemy .sg-guardian-state{color:#dfb5b8;border-color:#b17d854d}.sg-portrait{display:block;flex:0 0 38px;width:38px;height:38px;overflow:hidden;border:1px solid #ac986762;border-radius:50%;background:radial-gradient(#88938855,#142028)}.sg-portrait:empty,.sg-portrait.is-fallback{background:#142028 url('/art/brand/runefall-rune.svg') center/23px no-repeat}.sg-portrait img[hidden]{display:none}.sg-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transform:scale(1.3)}
.sg-objective-steps{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:5px;align-items:center;margin-top:9px}.sg-objective-step>div:first-child{display:flex;justify-content:space-between;gap:4px;font-size:9px;color:#c5ccbe}.sg-health-text{font-size:8px;font-weight:600;font-variant-numeric:tabular-nums;color:#adbbb8;white-space:nowrap}.sg-step-arrow{color:#867a5a;text-align:center;font:21px Georgia}.sg-health-track{height:8px;margin-top:4px;border:1px solid #b4b59a2e;border-radius:2px;background:#0b151c;overflow:hidden}.sg-health-track i{display:block;height:100%;background:linear-gradient(90deg,#397f78,#8cc3a7);transition:width .16s linear}.sg-enemy .sg-health-track i{background:linear-gradient(90deg,#95515d,#d19180)}.sg-objective.is-shielded .sg-guardian .sg-health-track i{background:repeating-linear-gradient(120deg,#697c88 0 6px,#889aa5 6px 8px)}.sg-objective-step.is-fallen{opacity:.55}.sg-objective-step.is-low .sg-health-track{border-color:#f0c084}.sg-objective[data-phase=enraged]{border-color:#ce9b7370}
.sg-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;border-top:1px solid #a6aa8626;padding-top:7px;margin-top:8px}.sg-teammate{min-width:0}.sg-teammate>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:5px}.sg-teammate strong{font:600 10px system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d1dcd6;min-width:0}.sg-teammate small{font:550 8px system-ui;color:#98aaa8;white-space:nowrap}.sg-player-track{height:3px;border-radius:2px;background:#080f16;margin-top:5px;overflow:hidden}.sg-player-track i{display:block;height:100%;background:#86b3a1}.sg-enemy .sg-player-track i{background:#c18893}.sg-teammate.is-down strong,.sg-teammate.is-down small{color:#c7b28c}.sg-teammate.is-empty strong{color:#7f949b;font-weight:400}
.sg-match-info{display:grid;align-content:center;justify-items:center;gap:8px;border-block:1px solid var(--sg-line);text-align:center}.sg-clock{font:600 23px Georgia;color:#e7d6ae;font-variant-numeric:tabular-nums}.sg-phase{font:650 7px/1.5 system-ui;letter-spacing:.08em;color:#96acac}.sg-tactical-line{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:27px;color:#afbeb8;font-size:10px;padding:4px 2px}.sg-live-notice{color:#e3c898;text-align:right;font-size:10px}
.sg-stage{position:absolute;inset:0;z-index:37;display:grid;place-items:center;padding:18px;pointer-events:none;background:#0a151a44}.sg-card{pointer-events:auto;width:min(560px,100%);max-height:100%;overflow:auto;border:1px solid #b29b716e;border-radius:7px;padding:26px 30px;text-align:center;color:#e8e5d7;background:linear-gradient(130deg,#283935f7,#12212bf9);box-shadow:0 20px 60px #0008;font:13px/1.6 system-ui}.sg-card h2,.sg-dialog h2{font:500 32px/1.2 Georgia;color:#efdbaf;margin:7px 0 12px}.sg-card p,.sg-dialog p{color:#acbfbd;margin:10px 0}.sg-card small,.sg-dialog small{display:block;color:#91a9b1;font:11px/1.5 system-ui}.sg-rune{width:43px;height:43px;display:block;margin:15px auto;opacity:.85}.sg-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:18px}.sg-actions button{min-width:150px}.sg-stage .sg-primary,.sg-dialog .sg-primary{background:linear-gradient(#dec18d,#b79a68);color:#1b2b2e;border-color:#e1c58c}.sg-stage .sg-primary:hover,.sg-dialog .sg-primary:hover{background:#e3c994}.sg-stage .sg-primary:disabled{background:#37443c;border-color:#76826e;color:#b2bdaf}
.sg-wait-count{color:#e4c792!important;font-weight:600}.sg-wait-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:15px 0}.sg-wait-roster span{padding:8px;background:#0a17215e;border:1px solid #6d81774d;border-radius:3px;color:#7f969e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.sg-wait-roster .is-present{color:#d3dace;border-color:#bdab665c}
.sg-stage--countdown{background:#0a151a1a}.sg-countdown{text-align:center;color:#e4d1a9;text-shadow:0 2px 15px #000}.sg-countdown-number{display:grid;place-items:center;width:132px;height:132px;margin:14px auto;outline:1px solid #b9a2675c;outline-offset:8px;border:1px solid #dab981ad;border-radius:50%;font:500 51px Georgia;background:radial-gradient(#3a493ceb,#16272aee)}.sg-countdown p{font:600 12px system-ui;color:#e0dfc8}
.sg-result h2{font-size:42px;letter-spacing:.07em}.sg-result-teams{display:grid;grid-template-columns:1fr 1fr;gap:17px;border-block:1px solid var(--sg-line);padding:13px 0;margin:16px 0}.sg-result-teams strong{display:block;font:500 17px/1.5 Georgia;color:#d9dfcd;margin-top:4px;overflow-wrap:anywhere}.sg-result-duration{font-size:11px!important}.sg-result-expiry{margin-top:4px}.sg-rematch-status{font-size:12px!important;min-height:19px}.sg-result .sg-rune{width:37px;height:37px;margin:10px auto}.sg-stage--finished:not(.is-victory) h2{color:#cfbec1}
.sg-respawn{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:33;pointer-events:none;display:grid;justify-items:center;gap:4px;width:min(350px,82%);padding:12px 17px;border:1px solid #bba16a80;border-radius:5px;background:#14242de8;color:#c5d1cb;font:11px/1.5 system-ui;box-shadow:0 7px 24px #0004}.sg-respawn-time{font:500 23px Georgia;color:#ecd29b}.sg-connection{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:43;margin:0;width:min(420px,88%);padding:10px 14px;text-align:center;background:#2b2b28f0;border:1px solid #bba16a85;border-radius:4px;color:#e7d5b4;font:12px/1.5 system-ui;pointer-events:none}
.sg-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:30px;border:1px solid #ad9569;border-radius:7px;color:#e6dcc4;background:linear-gradient(135deg,#283932,#13232c);box-shadow:0 25px 75px #0009;text-align:center}.sg-dialog::backdrop{background:#071117b5;backdrop-filter:blur(3px)}.sg-dialog p{font:13px/1.6 system-ui}.sg-dialog .sg-actions{margin-top:20px}
.siegeMode .experienceHud,.siegeMode .exploreHudQuickDock,.siegeMode .exploreHudMenu{display:none!important}.siegeMode .gameFrame>.combatAbilityDock{left:50%;transform:translateX(-50%);bottom:29px;--dock-size:55px;gap:11px}.siegeMode .runToggleButton{bottom:27px}.siegeMode .matchChat.is-open{z-index:42}
.siegeMode>#message{position:fixed;z-index:48;left:50%;bottom:10px;transform:translateX(-50%);width:min(540px,90vw);margin:0;padding:8px 13px;border:1px solid #ac955e66;border-radius:4px;background:#16262eef;color:#e6d8b9;font:12px/1.4 system-ui;text-align:center}.siegeMode>#message:empty{display:none}
body.siegeActive #wizardAudioControls{opacity:.45;top:auto!important;bottom:4px!important;right:4px!important;transform:scale(.8);transform-origin:bottom right}body.siegeActive #wizardAudioControls:hover,body.siegeActive #wizardAudioControls:focus-within{opacity:1}
@media(max-width:1000px){.sg-scoreboard{grid-template-columns:minmax(0,1fr) 75px minmax(0,1fr);gap:7px}.sg-objective{padding:8px}.sg-portrait{width:31px;height:31px;flex-basis:31px}.sg-guardian-name{font-size:13px}.sg-guardian-state{font-size:8px}.sg-clock{font-size:20px}.sg-roster{gap:6px}.sg-teammate>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}.sg-teammate strong{font-size:10px;max-width:100%}.sg-health-text{font-size:7px}.sg-objective-step>div:first-child{font-size:8px}.sg-kicker{font-size:7px}}
@media(max-height:760px){.siegeMode{--sg-width:min(100%,calc((100dvh - 202px) * 1.53846))}.sg-objective{padding-block:6px}.sg-courtline{min-height:25px}.sg-tactical-line{min-height:25px}.sg-card{padding:18px 25px}.sg-result h2{font-size:33px}.sg-result .sg-rune{width:25px;height:25px;margin:6px auto}.sg-card p{margin:7px 0}.sg-result-teams{margin:10px 0;padding:9px 0}.sg-actions{margin-top:12px}.sg-rune{width:34px;height:34px;margin:9px auto}.sg-card h2{font-size:28px}.sg-wait-roster{margin:10px 0}.siegeMode .gameFrame>.combatAbilityDock{--dock-size:45px;gap:9px}}
@media(max-width:650px){body.siegeActive>.page{width:98vw;padding-top:4px}.siegeMode{--sg-width:100%}.sg-scoreboard{grid-template-columns:1fr 1fr;gap:6px}.sg-match-info{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:12px;padding:4px;border:0}.sg-clock{font-size:15px}.sg-phase{font-size:7px}.sg-objective-top{gap:5px;flex-wrap:wrap}.sg-objective-top>div{min-width:70px}.sg-portrait{display:none}.sg-guardian-name{font-size:12px}.sg-guardian-state{font-size:8px;padding:1px 3px}.sg-objective-steps{margin-top:6px;gap:2px;grid-template-columns:1fr 9px 1fr}.sg-objective-step>div:first-child{flex-direction:column;gap:2px}.sg-health-text{font-size:8px}.sg-roster{padding-top:5px;margin-top:6px;gap:5px}.sg-teammate strong{font-size:9px}.sg-teammate small{font-size:8px}.sg-tactical-line{display:block;font-size:10px;min-height:24px;text-align:center}.sg-live-notice{display:block;text-align:center;font-size:10px}.sg-live-notice:empty{display:none}.sg-courtline{font-size:8px}.sg-arena{max-width:34%;font-size:10px}.sg-courtline button{font-size:9px}.sg-stage{padding:8px}.sg-card{padding:15px;font-size:12px}.sg-card h2{font-size:25px}.sg-card .sg-rune{display:none}.sg-actions{gap:7px}.sg-actions button{min-width:100px;padding:8px 10px;font-size:10px}.sg-result-teams strong{font-size:14px}.sg-result-teams{gap:9px}.sg-card small{font-size:9px}.sg-wait-roster span{padding:5px;font-size:10px}.sg-countdown-number{width:90px;height:90px;font-size:35px}.sg-countdown p{font-size:10px}.sg-respawn{top:10px;padding:9px}.sg-respawn-time{font-size:19px}.sg-respawn>span:last-child{display:none}.siegeMode .gameFrame>.combatAbilityDock{--dock-size:38px;gap:6px;bottom:25px}.siegeMode .runToggleButton{top:8px;bottom:auto;left:8px;padding:5px 7px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.sg-health-track i{transition:none}}
/* Existing touch play uses a fixed full-screen canvas; its HUD must use that
   viewport width rather than the desktop height-derived canvas width. */
body.siegeActive.touchDevice.mobileMatchMode .sg-header{position:fixed;top:6px;left:50%;transform:translateX(-50%);width:min(940px,98vw);margin:0;z-index:25}
body.siegeActive.touchDevice.mobileMatchMode .sg-stage{padding-top:var(--sg-overlay-top,210px);grid-template-rows:minmax(0,1fr)}
body.siegeActive.touchDevice.mobileMatchMode .sg-respawn,body.siegeActive.touchDevice.mobileMatchMode .sg-connection{top:var(--sg-overlay-top,210px)}
body.siegeActive.touchDevice.mobileMatchMode .runToggleButton{top:auto;bottom:100px;left:8px}
@media(max-height:500px){body.siegeActive.touchDevice.mobileMatchMode .sg-header{top:3px}body.siegeActive.touchDevice.mobileMatchMode .sg-courtline{min-height:20px}body.siegeActive.touchDevice.mobileMatchMode .sg-portrait,body.siegeActive.touchDevice.mobileMatchMode .sg-guardian-name,body.siegeActive.touchDevice.mobileMatchMode .sg-tactical-line{display:none}body.siegeActive.touchDevice.mobileMatchMode .sg-objective{padding:5px 8px}body.siegeActive.touchDevice.mobileMatchMode .sg-objective-top{min-height:15px}body.siegeActive.touchDevice.mobileMatchMode .sg-objective-steps{margin-top:5px}body.siegeActive.touchDevice.mobileMatchMode .sg-roster{padding-top:5px;margin-top:5px}body.siegeActive.touchDevice.mobileMatchMode .sg-teammate>div:first-child{flex-direction:row;align-items:center}body.siegeActive.touchDevice.mobileMatchMode .sg-match-info{gap:5px}body.siegeActive.touchDevice.mobileMatchMode .sg-card{padding:12px 20px}body.siegeActive.touchDevice.mobileMatchMode .sg-stage{padding-bottom:10px}body.siegeActive.touchDevice.mobileMatchMode .sg-countdown-number{width:88px;height:88px;font-size:35px;margin:10px auto}}
