@import url('/fonts.css');
:root{color-scheme:dark;--bg:#101614;--panel:#19201c;--panel-2:#1e2620;--border:#303a30;--text:#e6e9dc;--muted:#8c988a;--gold:#d8bd87;--green:#9bc5a6;--sidebar:220px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}button{border:0;background:none}input,select{width:100%;background:#121a16;border:1px solid #3c463a;border-radius:6px;color:var(--text);padding:12px 13px;outline:none}input:focus,select:focus{border-color:var(--gold)}input::placeholder{color:#737e70}label{display:block;font-size:11px;font-weight:600;color:#a5b09f;margin:20px 0 9px}select{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.2;font-weight:650;letter-spacing:-1.1px}h2{font-size:23px;letter-spacing:-.5px;font-weight:600}h3{font-size:15px;font-weight:600}p{color:var(--muted);line-height:1.65}.icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle}.eyebrow{display:block;font-size:9px;letter-spacing:1.7px;font-weight:650;color:var(--muted);line-height:1.5}.gold{color:var(--gold)}.muted,.subtle{color:var(--muted)}.live-dot,.offline-dot,.small-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#86bb94}.live-dot{box-shadow:0 0 8px #86bb9430}.offline-dot{background:#65715f}.small-dot{width:5px;height:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:10px 15px;border-radius:5px;font-size:11px;font-weight:600;transition:background .16s,transform .16s}.button:active{transform:translateY(1px)}.primary{background:var(--gold);color:#292a1d;border:1px solid #e3ca96}.primary:hover{background:#e9ce97}.secondary{border:1px solid #434d3d;background:#242d24;color:#dce1d0}.secondary:hover{background:#303b2f}.full{width:100%}.text-button{display:inline-flex;align-items:center;gap:8px;color:#b0bba7;font-size:11px;padding:7px 0}.text-button:hover{color:var(--gold)}.text-button .icon{width:15px;height:15px}.centered{justify-content:center;width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border:1px solid transparent;border-radius:4px;color:#a7b2a1}.icon-button:hover,.icon-button[aria-pressed=true]{background:#ffffff0b;color:var(--gold);border-color:#4a5544}.icon-button .icon{width:16px;height:16px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#151c18;border-right:1px solid #2c352c;display:flex;flex-direction:column;padding:28px 16px 17px;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 32px;font-size:15px;line-height:1.1;letter-spacing:2.3px;font-weight:750}.brand-second{display:block;font-size:22px;letter-spacing:3.1px}.brand-dot{color:var(--gold)}.brand-mark{display:grid;place-items:center;width:40px;height:45px;border:1px solid #8a7852;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);background:#b69c5d13;color:var(--gold);padding-bottom:4px}.brand-mark .icon{width:29px;height:29px}.category-switch{display:flex;align-items:center;gap:10px;padding:11px 9px;background:#1c251e;border:1px solid #364030;border-radius:6px;margin-bottom:28px}.category-switch strong{display:block;font-size:11px;margin-top:4px}.category-switch .eyebrow{font-size:8px;letter-spacing:1.1px}.category-switch .subtle{margin-left:auto}.wow-mark{display:grid;place-items:center;width:31px;height:33px;border:2px solid #8f784d;color:#dac48c;background:radial-gradient(#273d48,#142b31);border-radius:50%;font-family:Georgia,serif;font-size:22px;text-shadow:1px 1px #000}.main-nav{display:grid;gap:6px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:12px 12px;color:#99a391;border-radius:5px;font-size:12px;border:1px solid transparent}.nav-item .icon{width:18px;height:18px}.nav-item:hover{background:#222d22}.nav-item.selected{background:#273124;border-color:#424b35;color:#deca9b}.nav-item .live-dot{margin-left:auto;background:var(--gold);width:5px;height:5px}.side-section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 10px 12px}.count-badge{font-size:9px;border:1px solid #39432f;border-radius:4px;padding:1px 5px;color:#929f88}.faction-row{display:flex;align-items:center;width:100%;gap:10px;padding:11px 9px;border-radius:5px;text-align:left}.faction-row:hover,.faction-row.active{background:#242e23}.faction-badge{--faction:#bab098;width:31px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--faction) 11%,transparent);border:1px solid color-mix(in srgb,var(--faction) 25%,transparent);border-radius:5px;color:var(--faction);flex-shrink:0}.faction-badge .icon{width:18px;height:18px}.faction-badge.large{width:55px;height:62px;margin:0 auto 16px}.faction-badge.large .icon{width:32px;height:32px}.faction-copy{display:grid;gap:5px}.faction-copy strong{font-size:11px;font-weight:550}.faction-copy>span{display:flex;align-items:center;gap:5px;font-size:9px;color:#899582}.faction-copy .live-dot,.faction-copy .offline-dot{width:4px;height:4px}.faction-count{margin-left:auto;color:#a5b09c;font-size:11px;font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto;padding-top:25px}.sidebar-bottom>.text-button{padding:9px 10px;width:100%;font-size:10px}.realm-status{border-top:1px solid #30382c;margin-top:15px;padding:17px 10px 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:8px;letter-spacing:1.1px;color:#a7b09a}.realm-status .version{margin-left:auto;color:#697661;letter-spacing:0}.realm-status p{font-size:9px;letter-spacing:0;color:#73806d}.workspace{margin-left:var(--sidebar);min-height:100vh}.topbar{height:74px;border-bottom:1px solid #2b352c;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#121916}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:1.1px}.breadcrumb>.icon{width:16px;height:16px;color:#85947d}.slash{color:#58634f}.alpha-badge{font-size:7px;color:#969f87;letter-spacing:.9px;background:#2d3427;border:1px solid #414832;border-radius:3px;padding:3px 5px;margin-left:5px}.topbar-actions{display:flex;align-items:center;gap:20px}.connection{display:flex;align-items:center;gap:6px;color:#96a88e;font-size:10px}.connection.lost{color:#e2a06b}.connection.lost .live-dot{background:#e2a06b}.locale{font-size:10px;color:#97a58c;border-left:1px solid #313b2b;padding-left:19px}.twitch-button{background:#263023;border:1px solid #3e4a34;color:#dddcc8;min-height:33px;padding:7px 11px;font-size:10px}.twitch-button .icon{width:15px;height:15px}.twitch-button:hover{background:#36432f}#main{padding:30px 32px 24px;max-width:1900px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.page-heading .eyebrow{margin-bottom:9px;font-size:8px}.page-heading p{margin-top:9px;font-size:12px;color:#92a08a}.heading-right{display:flex;flex-direction:column;gap:11px;align-items:flex-end;font-size:9px;white-space:nowrap}.live-pill{display:inline-flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1px;border:1px solid #405440;border-radius:20px;padding:7px 10px;color:#a3c39f;background:#203226}.live-pill .live-dot{width:5px;height:5px}.separator{margin:0 8px;color:#526047}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:22px}.battle-main{min-width:0}.tower-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.tower-card{position:relative;display:flex;align-items:center;gap:12px;min-height:91px;padding:16px 14px;background:linear-gradient(110deg,#212b22,#1a231d);border:1px solid #3b4535;border-radius:6px;overflow:hidden}.tower-symbol{color:var(--faction);opacity:.9}.tower-symbol .icon{width:25px;height:29px}.tower-card .eyebrow{font-size:7px;letter-spacing:1.5px;color:#8d9a81}.tower-card strong{display:block;font-size:12px;font-weight:550;margin:5px 0 7px}.tower-owner{display:flex;align-items:center;gap:5px;color:var(--faction);font-size:9px}.tower-condition{margin-left:auto;font-size:11px;color:#718166}.tower-condition .icon{width:13px;height:13px}.tower-condition.contested{color:#d49d79}.tower-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--faction);transition:width .8s linear}.map-panel{position:relative;overflow:hidden;background:#1b2a21;border:1px solid #4e5840;border-radius:7px;box-shadow:0 14px 40px #0002;aspect-ratio:1.52;min-height:380px}.map-panel canvas{display:block;width:100%;height:100%;position:absolute;inset:0;cursor:crosshair}.map-topline{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 15px;z-index:2;background:linear-gradient(#0d191ce6,#0d191c00);height:55px}.map-topline>span{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:2px;color:#d2d5b8}.map-topline>span>.icon{width:15px;height:15px;color:#d4bc7e}.map-live{font-size:6px;padding:3px 4px;background:#54745255;color:#c3d4af;border:1px solid #677d5544;letter-spacing:1px;border-radius:2px;margin-left:3px}.map-topline>div{display:flex;gap:4px}.map-stats{position:absolute;left:17px;top:61px;display:flex;gap:15px;pointer-events:none;color:#9ba58a;font-size:8px;z-index:2}.map-stats>span{display:flex;align-items:center;gap:5px}.map-stats .icon{width:12px;height:12px;color:#a7b39c}.map-stats b{color:#dedec7;font-weight:500}.map-bottom{position:absolute;left:0;right:0;bottom:0;padding:50px 18px 16px;background:linear-gradient(transparent,#0c1717d9);display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;z-index:2}.map-bottom strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:17px;color:#e4ddbd;letter-spacing:.2px}.map-bottom span{display:block;margin-top:6px;color:#a2ab8e;font-size:8px}.zoom-controls{display:flex;align-items:center;border:1px solid #616b504f;border-radius:4px;background:#111c19c9;pointer-events:auto}.zoom-controls button{display:grid;place-items:center;font-size:9px;color:#bfc6aa;min-width:28px;height:28px;padding:4px}.zoom-controls button:nth-child(2){border-left:1px solid #38442f;border-right:1px solid #38442f;font-size:8px;width:38px}.zoom-controls .icon{width:12px;height:12px}.map-panel:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}.map-panel:fullscreen .map-bottom{padding:35px}.map-panel:fullscreen .map-topline{padding:25px}.unit-inspector{position:absolute;bottom:86px;left:16px;right:16px;max-width:400px;z-index:4;display:flex;align-items:center;gap:10px;padding:10px;background:#101c18eb;border:1px solid #53634c;border-radius:5px;box-shadow:0 4px 30px #0005}.unit-inspector>div{display:grid;gap:5px;font-size:11px}.unit-inspector>div span{font-size:9px;color:#9dac91}.unit-inspector>span{font-size:9px;margin-left:auto;color:#b7c5a7}.under-map{display:flex;align-items:center;justify-content:space-between;margin:12px 0 25px;font-size:8px;color:#7a8c73}.under-map>span{display:flex;align-items:center;gap:6px}.under-map .live-dot{width:4px;height:4px}.under-map button{display:flex;align-items:center;gap:5px;margin-left:12px;font-size:8px;color:#a7b19a}.under-map .icon{width:12px;height:12px}.right-rail{display:flex;flex-direction:column;gap:17px}.domination-card{position:relative;border:1px solid #6c64443d;background:radial-gradient(ellipse at top,#47433133,transparent 85%),#1a221b;border-radius:7px;text-align:center;padding:21px 17px 0}.domination-emblem{color:#d3b679;position:relative;margin-bottom:12px}.domination-emblem:before,.domination-emblem:after{content:'';display:inline-block;width:34px;height:1px;background:linear-gradient(90deg,transparent,#7c744d);vertical-align:middle;margin:0 15px}.domination-emblem:after{transform:rotate(180deg)}.domination-emblem>.icon{width:24px;height:24px}.domination-card>.eyebrow{font-size:8px;letter-spacing:1.8px}.domination-clock{font-family:Georgia,'Times New Roman',serif;font-size:53px;font-variant-numeric:tabular-nums;letter-spacing:3px;font-weight:400;color:#b8b69d;line-height:1.3;margin:7px 0 3px}.domination-clock.running{color:#e9ce89;text-shadow:0 0 20px #e9ce8933}.mini-towers{display:flex;align-items:center;justify-content:center;gap:13px;margin:7px 0 15px}.mini-towers .icon{width:18px;height:18px}.mini-towers>i{height:1px;width:18px;background:#434c38}.domination-card>strong{font-size:11px;font-weight:500}.domination-card>p{font-size:9px;margin:7px auto 17px;max-width:180px}.record-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #484c342e;padding:13px 0;font-size:10px}.record-foot>span{display:flex;align-items:center;gap:6px;font-size:7px;color:#8e977d;letter-spacing:.5px}.record-foot .icon{width:12px;height:12px}.record-foot>b{font-family:ui-monospace,monospace;font-size:10px;font-weight:500;color:#c5be99}.warrior-card{border:1px solid #394331;border-radius:7px;background:radial-gradient(ellipse at 45% 40%,#414c2b30,transparent 70%),#1a231c;padding:19px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.panel-heading h3{margin-top:6px}.panel-heading>.icon{width:15px;height:15px;color:#778469}.panel-heading .eyebrow{font-size:8px}.warrior-card .panel-heading{margin-bottom:3px}.hero-art{height:139px;position:relative;display:flex;justify-content:center}.hero-halo{position:absolute;border-radius:50%;width:104px;height:104px;top:24px;left:50%;transform:translateX(-50%);border:1px solid #8b83552c;background:radial-gradient(#7d734834,transparent 65%)}.hero-halo:before,.hero-halo:after{content:'';position:absolute;inset:8px;border:1px dashed #bfb18122;border-radius:50%}.hero-halo:after{inset:-14px;border:1px solid #bfb18110}.hero-sprite{position:relative;image-rendering:pixelated;width:110px;height:123px;z-index:1;margin-top:7px}.hero-spark{position:absolute;color:#a99862;font-size:15px;opacity:.6}.hero-spark.one{left:34px;top:41px}.hero-spark.two{right:29px;top:87px;font-size:11px}.warrior-card>h2{font-family:Georgia,serif;line-height:1.3;font-size:25px;font-weight:400;letter-spacing:0;color:#e3dfc7;margin-bottom:10px}.warrior-card>p{font-size:10px;color:#95a28c;line-height:1.8;margin-bottom:20px}.card-note{display:block;font-size:8px;text-align:center;color:#85947a;line-height:1.6;margin-top:10px}.warrior-card .button{font-size:10px;padding:11px;justify-content:space-between}.warrior-card .button>.icon{width:14px;height:14px}.pact-card{padding:17px 18px;border:1px solid #36412f;background:#19221b;border-radius:6px}.pact-card .panel-heading{margin-bottom:13px}.pact-card h3{font-family:Georgia,serif;font-size:17px;font-weight:400;color:#cbcbb3;margin:5px 0 9px}.pact-card p{font-size:10px}.empty-note{display:block;font-size:9px;color:#829078;line-height:1.7;margin-top:13px}.pact-members{display:flex;align-items:center;gap:7px}.pact-members>span:not(.faction-badge){font-size:10px;color:#81916f}.pact{display:grid;gap:11px}.pact+.pact{margin-top:20px}.pact strong{font-size:10px;font-weight:500;line-height:1.6}.pact>.muted,.pact>.warning{font-size:9px}.warning{color:#e2af7b}.feed-panel{background:#171f19;border:1px solid #303c2c;border-radius:6px;padding:19px 18px 3px}.feed-panel .panel-heading{margin-bottom:10px}.feed-panel h3{font-family:Georgia,serif;font-size:19px;font-weight:400;letter-spacing:.1px;color:#d9dcc6}.feed-panel .text-button{font-size:9px}.event-row{display:flex;align-items:center;gap:11px;border-top:1px solid #313e2a80;padding:13px 0;font-size:10px;line-height:1.5}.event-row>div{color:#b0bda3;flex:1}.event-icon{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:4px;background:#2b3829;color:#93a37e;flex-shrink:0}.event-icon .icon{width:13px;height:13px}.event-icon.capture{background:#5e4d312c;color:#d5b676}.event-icon.pact{background:#3d46502e;color:#9bb8c0}.event-icon.join{background:#3a50382e;color:#9abc81}.event-icon.record{color:#e1c97a}.event-row time{color:#72826a;font-size:8px;white-space:nowrap;font-variant-numeric:tabular-nums}.event-row time span{margin-left:3px}footer{display:flex;justify-content:space-between;align-items:center;padding:22px 32px 26px;font-size:8px;color:#6f7e66;gap:20px}footer>span{display:flex;align-items:center;gap:6px}footer .icon{width:12px;height:12px}.footer-dot{margin:0 7px}.level-badge,.point-badge{padding:4px 6px;border:1px solid #777c4845;background:#515e2933;color:#d3cc94;font-size:8px;letter-spacing:1px;border-radius:3px}.point-badge{padding:3px 6px;background:#292a1d20;border:0;color:#292a1d;font-size:10px}.warrior-identity{display:flex;align-items:center;gap:10px}.warrior-identity .hero-sprite{width:76px;height:85px;margin-left:-12px}.warrior-identity>div{display:grid;gap:8px;min-width:0}.warrior-identity h3{font-size:15px;overflow:hidden;text-overflow:ellipsis}.warrior-identity>div>span{font-size:10px}.status-label{color:#9cb88d;font-size:10px}.xp-label{display:flex;justify-content:space-between;font-size:8px;color:#9bac89;margin:9px 0}.progress-track{height:4px;background:#303c29;border-radius:3px;margin-bottom:20px;overflow:hidden}.progress-track>span{display:block;height:100%;background:#b6c386;transition:width .5s}.warrior-card .centered{font-size:9px;margin-top:10px}.tabs{display:flex;border-bottom:1px solid #3c4733;gap:25px;margin-bottom:24px}.tabs button{font-size:12px;color:#94a589;padding:13px 2px;border-bottom:2px solid transparent}.tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.leaderboard-panel,.journal-panel{border:1px solid #36432f;background:#19211a;border-radius:7px;overflow:hidden;min-height:350px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:8px;letter-spacing:1px;color:#97a68b;padding:20px 22px;background:#20291f;font-weight:500}td{padding:19px 22px;font-size:12px;border-top:1px solid #34402c}.table-identity{display:flex;align-items:center;gap:13px}.table-identity strong{font-weight:500}.table-identity small{display:block;color:#889d7e;font-size:9px;margin-top:5px}.rank-number{font-family:ui-monospace,monospace;color:#8a9c7e;font-size:12px;width:60px}.record-value{font-family:ui-monospace,monospace;color:var(--gold);font-size:17px}.empty-state{padding:80px 30px;text-align:center}.empty-state>.icon{width:44px;height:44px;color:#8a9a73;margin-bottom:23px}.empty-state h2{font-family:Georgia,serif;font-weight:400;font-size:29px;color:#d7dcc4}.empty-state p{margin:15px auto 25px;max-width:450px;font-size:12px}.journal-panel{padding:0 23px}.journal-panel .event-row{padding:20px 0;font-size:12px}.journal-panel .event-row:first-child{border-top:0}.journal-panel time{font-size:10px}.journal-panel .event-icon{width:34px;height:34px}.profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:25px;align-items:start}.profile-card,.build-section{border:1px solid #3c4933;background:#1b241c;border-radius:7px;padding:23px}.profile-card{text-align:center}.profile-portrait{height:170px;position:relative;display:grid;place-items:center;margin-bottom:5px}.profile-portrait .hero-sprite{width:140px;height:156px}.profile-portrait .hero-halo{top:35px;width:130px;height:130px}.profile-card>h2{margin-bottom:8px}.profile-card>span{font-size:12px}.level-line{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:24px 0 16px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #35452c;border-bottom:1px solid #35452c;padding:20px 0;gap:10px}.stat-grid>div{display:flex;flex-direction:column;gap:7px;align-items:center}.stat-grid .icon{color:#adbc93;width:17px;height:17px}.stat-grid b{font-size:17px;font-weight:500}.stat-grid span{font-size:9px;color:#9bab8c}.faction-transfer{text-align:left}.faction-transfer .button{margin-top:11px;font-size:10px}.faction-transfer p{font-size:9px;margin:12px 0}.profile-build{display:grid;gap:20px}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.class-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #3c4934;border-radius:5px;background:#202b20;padding:20px 13px;gap:13px;min-height:160px}.class-option>.icon{color:#9cad89;width:25px;height:25px}.class-option>strong{font-size:12px;font-weight:550}.class-option>span{font-size:10px;line-height:1.6;color:#8e9f7f}.class-option.selected{border-color:#b8a06c;background:#363b2622}.class-option.selected>.icon{color:var(--gold)}.class-option>i{position:absolute;top:10px;right:10px;color:var(--gold)}.class-option>i .icon{width:13px;height:13px}.talent-row{display:flex;align-items:center;gap:15px;padding:20px 0;border-top:1px solid #35432d}.talent-row:first-child{border-top:0;padding-top:5px}.talent-icon{display:grid;place-items:center;width:44px;height:47px;border-radius:5px;background:#333e2c;border:1px solid #4a583e;color:var(--gold)}.talent-row>div{flex:1}.talent-row strong{font-size:13px;font-weight:500}.talent-row>div>span{display:block;font-size:10px;color:#93a783;margin:6px 0 11px}.talent-pips{display:flex;gap:5px}.talent-pips i{width:23px;height:4px;border-radius:2px;background:#38472f}.talent-pips .filled{background:var(--gold)}.talent-row>.muted{font-size:10px}.talent-row>.icon-button{border:1px solid #586747;color:#d6c696;background:#35422c;width:33px;height:33px}.chat-input-row{display:flex;gap:10px;margin-top:12px}.chat-input-row input{min-width:0}.chat-input-row .button{flex-shrink:0}.build-section>p{font-size:11px}.build-section .card-note{text-align:left}#chat-result{font-size:11px;color:#d3c296;margin-top:10px}.demo-actions{display:flex;gap:20px;border-top:1px solid #35432d;margin-top:18px;padding-top:10px}.demo-actions .text-button{font-size:10px}.commander-box{padding:20px;background:#1a241a;border:1px solid #3e4c33;border-radius:6px;margin-top:22px;text-align:left}.commander-box h3{margin:10px 0}.commander-box p{font-size:13px;line-height:1.55;margin-bottom:15px}.commander-target{display:flex;align-items:center;gap:12px;margin-top:20px;color:#adb991}.commander-target>span{font-size:12px}.commander-target strong{display:block;margin-top:6px;font-size:16px;font-weight:500}.faction-details{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 15px;font-size:13px;line-height:1.5;color:#a1b091;margin-top:16px}dialog{position:fixed;max-height:90vh;overflow:auto;width:min(500px,calc(100vw - 32px));background:#1b241e;color:var(--text);border:1px solid #526047;border-radius:10px;padding:34px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#070e0bbc;backdrop-filter:blur(5px)}dialog .modal-close{position:absolute;top:12px;right:12px}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.25;margin:12px 0 14px}dialog>p{font-size:12px;line-height:1.8;margin-bottom:16px}dialog>.eyebrow{margin-top:10px}.modal-emblem{display:block;color:var(--gold);margin-bottom:20px}.modal-emblem .icon{width:34px;height:34px}dialog form>.button{margin-top:24px}dialog .card-note{font-size:9px;margin-top:16px}dialog>.button+ .button{margin-top:10px}dialog>.button+ p{margin-top:20px}.setup-note{background:#101a12;border:1px solid #3e4a30;border-radius:5px;padding:17px;font-size:12px;line-height:1.8;margin:20px 0}.speed-buttons{display:flex;gap:12px;margin-bottom:10px}.speed-buttons>.button{flex:1}dialog #offline-faction{margin-bottom:13px}dialog .rules-list{margin-top:25px}.rules-list>div{display:flex;gap:17px;padding:19px 0;border-top:1px solid #36452e}.rules-list>div>span{font-size:12px;color:var(--gold);font-family:ui-monospace,monospace;padding-top:3px}.rules-list h3{font-size:13px;margin-bottom:8px}.rules-list p{font-size:11px}.startup-error{max-width:500px;margin:20vh auto;padding:30px}.startup-error p{margin:20px 0}#toast{position:fixed;bottom:27px;left:calc(50% + 80px);transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;background:#303d2d;color:#e3e3cb;border:1px solid #6a7956;border-radius:7px;padding:14px 22px;box-shadow:0 10px 40px #0006;font-size:12px;max-width:min(560px,90vw);line-height:1.6;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1650px){:root{--sidebar:245px;font-size:14px}.battle-layout{grid-template-columns:minmax(0,1fr) 300px;gap:26px}#main{padding:38px 42px 25px}.topbar{padding:0 42px}.tower-card{min-height:105px}.right-rail{gap:22px}.warrior-card{padding:24px}.map-panel{aspect-ratio:1.63}.domination-card{padding-top:26px}.domination-clock{font-size:60px}.warrior-card>h2{font-size:28px}.warrior-card>p{font-size:12px}.hero-art{height:160px}}
@media(max-width:1250px){:root{--sidebar:190px}.sidebar{padding-left:11px;padding-right:11px}.topbar{padding:0 23px}#main{padding:27px 23px}.battle-layout{grid-template-columns:minmax(0,1fr) 235px;gap:16px}.tower-card{gap:8px;padding:12px 10px}.tower-card strong{font-size:11px}.tower-symbol .icon{width:21px}.tower-condition{display:none}.map-panel{aspect-ratio:1.3}.warrior-card{padding:16px}.domination-card{padding-left:12px;padding-right:12px}.map-bottom strong{font-size:15px}.map-bottom span{max-width:230px;line-height:1.6}.under-map>span:last-child{font-size:0}.under-map>span:last-child button{font-size:8px}.class-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:240px 1fr}}
@media(max-width:1020px){:root{--sidebar:176px}.breadcrumb .muted,.breadcrumb .slash,.alpha-badge{display:none}.topbar-actions{gap:12px}.topbar{padding:0 20px}.connection{display:none}.battle-layout{grid-template-columns:minmax(0,1fr)}.right-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.warrior-card{grid-column:span 1}.domination-card{padding-top:15px}.domination-emblem:before,.domination-emblem:after{width:20px;margin:0 7px}.domination-clock{font-size:40px}.warrior-card .hero-art{height:110px}.warrior-card .hero-sprite{width:90px;height:100px}.warrior-card>h2{font-size:22px}.warrior-card .button{font-size:9px}.record-foot{flex-wrap:wrap;gap:8px}.pact-card{padding:15px 12px}.map-panel{aspect-ratio:1.55}.page-heading h1{font-size:29px}footer>span:last-child{display:none}.profile-layout{grid-template-columns:220px 1fr;gap:15px}.profile-card,.build-section{padding:17px}.heading-right{font-size:8px}.class-option{min-height:140px}.tower-card{padding:15px}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{position:relative;inset:auto;width:100%;height:67px;padding:10px 16px;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid #34402d}.brand{margin:0;font-size:10px;gap:8px;letter-spacing:1.5px}.brand-second{font-size:16px;letter-spacing:2px}.brand-mark{width:28px;height:34px}.brand-mark .icon{width:22px;height:22px}.category-switch,.side-section-head,#faction-list,.sidebar-bottom{display:none}.main-nav{display:flex;gap:5px}.nav-item{padding:10px 11px;gap:7px;font-size:10px}.nav-item .icon{width:15px;height:15px}.nav-item .live-dot{display:none}.workspace{margin-left:0}.topbar{height:51px;padding:0 17px}.breadcrumb{font-size:8px;gap:7px}.topbar-actions{gap:12px}.locale{padding:0;border:0;font-size:9px}.twitch-button{font-size:9px;min-height:29px;padding:6px 9px}#main{padding:25px 17px}.page-heading{margin-bottom:23px;gap:12px}.page-heading h1{font-size:29px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.3px}.page-heading p{font-size:10px}.heading-right{display:none}.tower-strip{gap:7px}.tower-card{padding:12px 9px;gap:8px;min-height:87px}.tower-symbol .icon{width:17px;height:23px}.tower-card strong{font-size:10px}.tower-card .eyebrow{font-size:6px;letter-spacing:1px}.tower-owner{font-size:8px;white-space:nowrap}.map-panel{min-height:360px;aspect-ratio:1.3}.map-stats{font-size:7px;gap:12px}.map-topline>span{font-size:7px}.map-bottom{padding:50px 12px 13px}.map-bottom strong{font-size:14px}.map-bottom span{font-size:7px;max-width:215px}.zoom-controls button{min-width:25px;height:26px}.zoom-controls button:nth-child(2){width:33px}.right-rail{grid-template-columns:1fr 1fr}.right-rail .pact-card{grid-column:1/-1}.pact-card #pacts{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.pact-card #pacts>p{max-width:180px}.pact-card #pacts>.empty-note{margin:0;max-width:210px}.domination-card{padding-top:22px}.domination-clock{font-size:48px}.record-foot{margin-top:13px}.warrior-card .hero-art{height:100px}.warrior-card>h2{font-size:22px}.warrior-card>p{font-size:9px;margin-bottom:14px}.warrior-card .card-note{font-size:7px}.warrior-card .hero-halo{height:83px;width:83px;top:13px}.under-map{margin-bottom:20px}.feed-panel{padding:17px 13px 3px}.feed-panel h3{font-size:17px}.event-row{font-size:9px}.event-row time{font-size:7px}.event-row time span{display:none}footer{padding:10px 17px 22px}.profile-layout{grid-template-columns:1fr}.profile-card{max-width:100%}.profile-portrait{height:145px}.profile-portrait .hero-halo{top:15px}.profile-portrait .hero-sprite{width:120px;height:134px}.stat-grid{padding:16px 0}.faction-transfer p{font-size:10px}.class-grid{grid-template-columns:repeat(2,1fr)}.class-option{min-height:150px;padding:17px}.talent-row{gap:11px}.talent-icon{width:36px;height:40px}.talent-row>div>span{font-size:9px}.chat-input-row .button{font-size:10px;padding:10px}.chat-input-row .button>.icon{display:none}.demo-actions{flex-wrap:wrap;gap:5px 15px}#toast{left:50%;bottom:18px;width:max-content;max-width:calc(100vw - 30px);font-size:11px}.tabs{gap:19px}.tabs button{font-size:11px}th,td{padding:16px 13px}.table-identity{gap:9px}td{font-size:11px}.record-value{font-size:15px}.journal-panel{padding:0 13px}.journal-panel .event-row{font-size:10px}.journal-panel time{font-size:8px}.journal-panel .event-icon{width:28px;height:28px}.empty-state{padding:65px 20px}.empty-state h2{font-size:25px}dialog{padding:29px 24px}}
@media(max-width:400px){.nav-item{font-size:0;padding:10px}.nav-item .icon{width:20px;height:20px}.tower-symbol{display:none}.tower-card{justify-content:center}.tower-card strong{font-size:11px}.map-bottom span{max-width:180px}.map-bottom strong{font-size:12px}.map-panel{min-height:330px}.right-rail{gap:9px}.warrior-card,.domination-card{padding-left:12px;padding-right:12px}.domination-emblem:before,.domination-emblem:after{width:18px;margin:0 5px}.domination-card>.eyebrow{font-size:7px}.domination-card>strong{font-size:10px}.hero-spark.one{left:20px}.hero-spark.two{right:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Dedicated battle route: the map owns the screen. */
.arena-page{background:#c5ccb4;overflow:hidden}.arena-page .sidebar,.arena-page .topbar,.arena-page footer{display:none}.arena-page .workspace{margin:0}.arena-page #main{padding:0;margin:0;max-width:none}.arena-shell{height:100dvh;display:flex;flex-direction:column;color:#3f5348}.arena-toolbar{height:70px;flex-shrink:0;padding:0 23px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#f7f8f1;border-bottom:1px solid #cbd4c4;z-index:5}.arena-brand{display:flex;align-items:center;gap:15px;flex:1}.arena-brand>.icon-button{color:#6a7d6b;border:1px solid #dce2d5;width:29px;height:29px;transform:rotate(180deg)}.arena-logo{display:flex;align-items:center;gap:10px;color:#344c40;white-space:nowrap}.arena-logo>.icon{width:25px;height:25px;color:#6a836a}.arena-logo strong{font-size:12px;letter-spacing:1.3px}.arena-logo strong>span{color:#82996e}.arena-brand>i{width:1px;height:24px;background:#d8dfd1;margin:0 4px}.arena-category{font-size:10px;font-weight:550;color:#516a56;white-space:nowrap}.arena-category small{display:block;font-size:7px;color:#8b9b82;letter-spacing:1.2px;margin-top:5px}.arena-towers{display:flex;align-items:center;gap:8px}.arena-tower{position:relative;overflow:hidden;display:flex;align-items:center;gap:9px;text-align:left;padding:10px 15px;border:1px solid #dbe1d4;border-radius:6px;background:#eff3e9;color:#57705c;min-width:137px}.arena-tower>.icon{width:19px;height:22px;color:color-mix(in srgb,var(--faction) 65%,#385347)}.arena-tower>span{display:grid;gap:4px}.arena-tower strong{font-size:10px;font-weight:550;white-space:nowrap}.arena-tower small{font-size:8px;color:#8a9a80}.arena-tower>i{position:absolute;height:2px;bottom:0;left:0;background:var(--faction);transition:width .75s linear}.arena-tower:hover{background:#e6eddd;border-color:#afc1a4}.arena-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex:1}.arena-actions>.icon-button{color:#75896e}.arena-character{font-size:10px;border:1px solid #cad5bf;background:#e9efdf;color:#516547;margin-left:8px}.arena-character .icon{width:15px;height:15px}.arena-canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;border:0;border-radius:0;aspect-ratio:auto;background:#c5ccb4}.arena-canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline-offset:-3px}.arena-canvas-wrap canvas.dragging{cursor:grabbing}.arena-top-left{position:absolute;top:21px;left:24px;display:grid;gap:9px;pointer-events:none}.arena-live{display:flex;align-items:center;gap:7px;color:#4f6c52;font-size:10px;font-weight:500}.arena-live .live-dot{background:#74966b;width:5px;height:5px}.arena-top-left>span:last-child{font-size:9px;letter-spacing:.15px;color:#7a8e70}.arena-streak{position:absolute;top:20px;right:25px;display:flex;align-items:center;gap:12px;pointer-events:none;padding:10px 15px;border:1px solid #b0bea04d;border-radius:7px;background:#e7eddbbb;backdrop-filter:blur(8px)}.arena-streak>.icon{width:19px;height:19px;color:#849572}.arena-streak>div{display:flex;gap:15px;align-items:center}.arena-streak span{font-size:8px;letter-spacing:1px;color:#81906f;max-width:220px}.arena-streak strong{font-size:20px;letter-spacing:1px;font-family:ui-monospace,monospace;color:#587047;font-weight:500}.arena-help{position:absolute;left:50%;bottom:27px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;font-size:9px;color:#7a8c6d;pointer-events:none;white-space:nowrap}.arena-help i{font-style:normal;color:#97a488}.arena-bottom-right{position:absolute;bottom:20px;right:22px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.arena-metrics{display:flex;gap:11px;font-size:8px;color:#7a8f6a;pointer-events:none}.arena-metrics>span{display:flex;gap:4px;align-items:center}.arena-metrics .live-dot{width:4px;height:4px;background:#76956c}.arena-metrics b{font-weight:600;color:#5b7850}.arena-controls{display:flex;align-items:center;padding:4px;gap:2px;background:#f4f6eae8;border:1px solid #b9c6ae;border-radius:7px;box-shadow:0 2px 8px #35492b09}.arena-controls>button{display:grid;place-items:center;min-width:31px;height:29px;color:#6f8461;border-radius:4px;font-size:9px}.arena-controls>button:hover,.arena-controls>button[aria-pressed=true]{background:#dde7cf;color:#405a32}.arena-controls .icon{width:15px;height:15px}.arena-controls>i{height:15px;width:1px;background:#d5deca;margin:0 3px}.arena-controls #zoom-label{min-width:42px}.arena-page .unit-inspector{background:#f2f5e5ed;border-color:#b1c0a3;box-shadow:0 4px 20px #50674710;bottom:142px;left:20px;max-width:380px;color:#43583b}.arena-page .unit-inspector>div>span,.arena-page .unit-inspector>span{color:#7b8d6a}.arena-page .unit-inspector .icon-button{color:#708462}.arena-page .faction-badge{background:color-mix(in srgb,var(--faction) 20%,#f2f5e5);color:color-mix(in srgb,var(--faction) 65%,#273e2e)}.arena-canvas-wrap:fullscreen{height:100dvh;width:100vw}.open-arena{font-size:10px!important;color:var(--gold)!important}.map-panel canvas{cursor:grab;touch-action:none}.map-panel canvas.dragging{cursor:grabbing}.arena-army-list .faction-row{padding:14px 5px}.arena-army-list .faction-row>.icon{margin-left:auto;width:14px;color:#84967b}
@media(max-width:1200px){.arena-toolbar{padding:0 16px;gap:15px;height:64px}.arena-category,.arena-brand>i{display:none}.arena-tower{padding:9px 12px;min-width:125px}.arena-logo strong{font-size:11px}.arena-actions{gap:2px}.arena-character{margin-left:2px}.arena-help{bottom:28px;font-size:8px;gap:7px;left:42%}}
@media(max-width:850px){.arena-logo strong{font-size:0}.arena-logo>.icon{width:25px}.arena-brand{flex:0;gap:10px}.arena-toolbar{padding:0 12px;gap:9px}.arena-tower{min-width:110px;padding:9px;gap:6px}.arena-tower strong{font-size:9px}.arena-tower small{font-size:7px}.arena-towers{gap:5px}.arena-actions>.icon-button{display:none}.arena-character span{display:none}.arena-character{padding:9px;min-height:32px}.arena-actions{flex:0}.arena-top-left{top:17px;left:17px}.arena-help{display:none}.arena-streak{right:17px;top:15px;padding:8px 10px}.arena-streak span{font-size:7px;max-width:140px}.arena-streak strong{font-size:17px}.arena-streak>div{gap:9px}.arena-streak>.icon{width:15px}.arena-bottom-right{right:14px;bottom:16px}}
@media(max-width:550px){.arena-toolbar{height:100px;flex-wrap:wrap;justify-content:space-between;padding:8px 12px;gap:4px}.arena-brand{order:0;flex:1}.arena-logo strong{font-size:10px}.arena-logo>.icon{width:20px;height:20px}.arena-actions{order:1}.arena-actions>.icon-button{display:inline-flex}.arena-towers{order:2;width:100%;gap:6px}.arena-tower{flex:1;min-width:0;padding:7px 10px}.arena-tower>.icon{width:15px;height:17px}.arena-tower strong{font-size:9px}.arena-tower small{font-size:7px}.arena-streak{top:15px;right:12px;padding:7px 9px}.arena-streak span{display:none}.arena-streak>div{display:block}.arena-streak strong{font-size:16px}.arena-streak>.icon{width:13px}.arena-streak{gap:7px}.arena-top-left{left:13px}.arena-top-left>span:last-child{font-size:8px;max-width:240px}.arena-bottom-right{right:12px;bottom:13px}.arena-controls>button{min-width:29px;height:29px}.arena-controls .icon{width:14px;height:14px}.arena-controls{padding:3px}.arena-page .unit-inspector{bottom:94px;left:12px;right:12px}.arena-page .unit-inspector>div{font-size:10px}}
.arena-strength{flex-shrink:0;padding:9px 24px 11px;background:#f7f8f1;border-bottom:1px solid #cbd4c4;z-index:4}.strength-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:8px;letter-spacing:1px;color:#687d69}.strength-heading>span:last-child{letter-spacing:0;font-variant-numeric:tabular-nums}.strength-bar{display:flex;height:22px;overflow:hidden;border-radius:4px;background:#e2e8da;contain:strict}.strength-segment{flex:0 0 auto;min-width:0;padding:0;border:0;background:var(--faction);color:#203c32;overflow:hidden;position:relative}.strength-segment[hidden]{display:none}.strength-segment>span{display:block;padding:0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;line-height:22px}.strength-segment:hover{filter:brightness(1.08)}.strength-segment:focus-visible{outline:2px solid #294c3c;outline-offset:-2px;z-index:1}@media(max-width:550px){.arena-strength{padding:7px 12px 9px}.strength-heading{font-size:7px;margin-bottom:5px}.strength-bar{height:18px}.strength-segment>span{line-height:18px;font-size:8px;padding:0 4px}}@media(prefers-reduced-motion:reduce){.strength-segment{transition:none}}
.arena-tower.owned{background:color-mix(in srgb,var(--faction) 48%,#f7f8f1);border-color:color-mix(in srgb,var(--faction) 68%,#73876a)}.arena-tower.owned:hover{background:color-mix(in srgb,var(--faction) 62%,#f7f8f1)}.arena-tower.owned small{color:#49624e}.arena-tower .tower-emblem{position:relative;width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;overflow:hidden;border-radius:5px;color:#49694e}.tower-emblem .icon{width:20px;height:23px}.tower-emblem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tower-monogram{display:grid;place-items:center;width:100%;height:100%;font-weight:700;font-size:10px;background:var(--faction);color:#294235}@media(max-width:550px){.arena-tower .tower-emblem{width:23px;height:23px;flex-basis:23px}.tower-emblem .icon{width:17px;height:19px}}
.strength-segment{display:flex;align-items:center;justify-content:center;gap:5px}.strength-segment>span{padding:0;font-variant-numeric:tabular-nums}.strength-segment .strength-name{flex:0 1 auto}.strength-segment .strength-value{flex:0 0 auto}.strength-name:empty{display:none}@media(max-width:550px){.strength-segment{gap:0}.strength-segment .strength-name{display:none}}
.arena-tower:not(.owned){background:#fff;border-color:#d7ded5}.arena-tower>i{background:var(--capture,var(--faction))}
.arena-tower.neutral-capture{animation:neutral-capture-pulse 1.3s ease-in-out infinite alternate;border-color:var(--capture)}@keyframes neutral-capture-pulse{from{background:#fff}to{background:color-mix(in srgb,var(--capture) 70%,#fff)}}@media(prefers-reduced-motion:reduce){.arena-tower.neutral-capture{animation:none;background:color-mix(in srgb,var(--capture) 30%,#fff)}}
.arena-page .camp-inspector{display:block;width:315px;padding:16px;bottom:150px;border-top:3px solid var(--faction)}.camp-header{display:flex;align-items:center;gap:10px}.camp-header>div{display:grid;gap:5px;flex:1}.camp-header strong{font-size:13px}.camp-header>div>span{font-size:9px;color:#7b8d6a}.camp-header>.icon-button{align-self:flex-start}.camp-inspector .camp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0;padding:13px 0;border-top:1px solid #ced8bf;border-bottom:1px solid #ced8bf}.camp-stats>div{display:grid;gap:6px}.camp-stats b{font-size:17px;color:#43583b;font-weight:600;font-variant-numeric:tabular-nums}.camp-stats span{font-size:8px;color:#7b8d6a}.camp-inspector .camp-commander{font-size:9px;color:#6d805c}.camp-demo{font-size:9px;color:#7b8d6a;margin:14px 0 0}@media(max-width:550px){.arena-page .camp-inspector{bottom:100px;width:auto;max-width:none;left:12px;right:12px}}
.camp-inspector>.camp-header{display:flex;align-items:center;gap:10px}
.camp-inspector>.camp-header{padding-right:28px}.camp-header>.icon-button{position:absolute;top:8px;right:8px;width:26px;height:26px}
/* Six record objectives, followed by two support objectives. */
.arena-toolbar{height:58px}.arena-towers{flex-shrink:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) repeat(2,minmax(0,1.1fr));gap:6px;padding:8px 22px;background:#f7f8f1;border-bottom:1px solid #dbe1d4;width:100%;order:initial}.arena-tower{min-width:0;padding:8px;gap:7px}.arena-tower>span:nth-child(2){min-width:0}.arena-tower strong,.arena-tower small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-tower em{font-style:normal;font-size:7px;font-weight:600;display:block;margin-top:3px}.arena-tower.aura-tower{border-style:dashed}.arena-tower.aura-tower.owned{border-style:solid}.arena-tower.aura-tower:first-of-type{margin-left:4px}.tower-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-towers{gap:5px}.mini-towers .icon{width:17px}.mini-towers>i{width:8px}.unit-inspector .unit-buffs{color:#527c76;font-size:9px;margin-top:3px}
@media(max-width:1100px){.arena-towers{grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 15px}.arena-tower{padding:6px 9px}.arena-tower em{display:inline;margin-left:5px}.arena-tower strong{font-size:9px}.arena-tower small{font-size:8px}}
@media(max-width:550px){.arena-toolbar{height:49px;flex-wrap:nowrap;padding:7px 12px}.arena-towers{padding:6px 8px;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr))}.arena-tower{padding:6px 5px;gap:4px;min-height:42px}.arena-tower .tower-emblem{width:17px;height:20px;flex-basis:17px}.tower-emblem .icon{width:15px;height:17px}.arena-tower strong{font-size:8px}.arena-tower small{font-size:7px}.arena-tower em{display:block;font-size:6px;margin:2px 0 0}.tower-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.arena-logo strong{font-size:10px}}
.boss-hud{position:absolute;top:17px;left:50%;transform:translateX(-50%);width:310px;padding:10px 12px;background:#f5f2faed;border:1px solid #baa7cd;border-radius:8px;color:#634879;box-shadow:0 3px 12px #69527512}.boss-heading{display:flex;align-items:center;width:100%;gap:9px;text-align:left;color:inherit}.boss-heading>span:nth-child(2){flex:1;display:grid;gap:4px}.boss-heading strong{font-size:13px;letter-spacing:1px}.boss-heading small{font-size:10px;color:#8b779b}.boss-heading>.icon{width:15px}.boss-face{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;color:#f5eaff;background:#9147db;border:2px solid #6e379f;border-radius:5px;font-size:10px;font-weight:700}.boss-hp{height:6px;background:#ded3e8;border-radius:3px;margin-top:11px;overflow:hidden}.boss-hp>i{display:block;height:100%;background:#9147db;transition:width .4s linear}.boss-health{display:flex;justify-content:space-between;font-size:11px;margin-top:6px;color:#765b8d}.boss-leaders{border-top:1px solid #dcd2e3;margin-top:9px;padding-top:6px;display:grid;gap:6px}.boss-leaders>div{display:flex;align-items:center;gap:7px;font-size:12px}.boss-leaders>div>i{width:7px;height:7px;border-radius:50%}.boss-leaders>div>span:nth-of-type(2){overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.boss-leaders b{font-weight:550;font-size:11px}.boss-rank{color:#a191ac}.camp-stats{grid-template-columns:repeat(5,1fr)}.camp-morale{font-size:10px;color:#8252a8;line-height:1.6}.camp-morale:empty{display:none}.points-explainer{padding:20px;font-size:12px;line-height:1.7}.rank-morale{display:block;font-size:10px;color:#ad99c6;margin-top:7px}
@media(max-width:850px){.boss-hud{top:62px;left:auto;right:14px;transform:none;width:238px}.boss-heading strong{font-size:11px}.boss-leaders>div{font-size:10px}}
@media(max-width:550px){.boss-hud{top:61px;right:12px;width:211px;padding:8px 9px}.boss-face{width:24px;height:24px}.boss-heading strong{font-size:10px}.boss-heading small{font-size:9px}.boss-health{font-size:9px}.boss-leaders b{font-size:9px}}

.crit-note{font-size:10px;color:#b4a17b;margin:12px 0 18px;text-align:center}

.camp-income{font-size:10px;color:#557752;line-height:1.6;margin-top:7px}

/* The leaderboard follows the canvas container, including resized/fullscreen maps. */
.arena-canvas-wrap{container-type:inline-size}
.arena-scoreboard{position:absolute;top:clamp(12px,1.4cqw,20px);right:clamp(12px,1.6cqw,25px);width:clamp(170px,22cqw,300px);padding:clamp(8px,.8cqw,12px);border:1px solid #bac6ac;border-radius:8px;background:#f2f5e8ed;box-shadow:0 3px 12px #5067470d;pointer-events:none;color:#51654a}
.arena-scoreboard h3{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:clamp(8px,.7cqw,11px);font-weight:600;letter-spacing:.8px}
.arena-scoreboard h3>.icon{width:clamp(12px,1.1cqw,16px);height:clamp(12px,1.1cqw,16px)}
.arena-scoreboard h3>span{display:flex;justify-content:space-between;flex:1;gap:5px}.arena-scoreboard h3 small{font-size:inherit;color:#8a977d}
.arena-scoreboard ol{display:grid;gap:clamp(3px,.3cqw,5px);list-style:none;padding:0;margin:0}
.arena-scoreboard li{display:flex;align-items:center;gap:clamp(4px,.4cqw,7px);min-width:0;padding:clamp(5px,.55cqw,9px) 5px;font-size:clamp(9px,.82cqw,13px);border:1px solid transparent;border-radius:5px;line-height:1.2}
.arena-scoreboard .score-place{width:1.15em;flex:0 0 1.15em;text-align:center;color:#91a084;font-size:.9em}.score-place .icon{width:1.15em;height:1.15em}
.arena-scoreboard li>i{width:.5em;height:.5em;flex:0 0 .5em;border-radius:50%;background:var(--faction)}
.arena-scoreboard .score-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.arena-scoreboard b{font-weight:600;font-size:inherit;font-variant-numeric:tabular-nums;flex-shrink:0}
.arena-scoreboard li.leader{background:#efe2b0;border-color:#d3bd76;color:#695226;font-weight:650}.arena-scoreboard .leader .score-place{color:#9b792a}
@container (max-width:900px){.boss-hud{left:16px;right:auto;top:64px;transform:none;width:clamp(180px,32cqw,260px)}}
@container (max-width:520px){.arena-scoreboard{right:10px;top:61px;width:calc(50% - 16px);padding:7px}.arena-scoreboard h3{font-size:7px;letter-spacing:.3px;gap:4px}.arena-scoreboard li{font-size:9px;padding:5px 3px;gap:4px}.arena-scoreboard li>i{display:none}.boss-hud{left:10px;right:auto;top:61px;width:calc(50% - 16px);padding:8px}.boss-heading{gap:5px}.boss-face{width:19px;height:21px;font-size:8px}.boss-heading strong{font-size:9px;letter-spacing:.4px}.boss-heading small{font-size:8px}.boss-heading>.icon{width:11px}.boss-health{font-size:8px;gap:5px;flex-wrap:wrap}.boss-leaders>div{font-size:9px;gap:4px}.boss-leaders b{font-size:8px}}

/* Weekly scores and transparent live-chat status stay inside the map HUD. */
.score-season{margin:0 0 clamp(4px,.5cqw,9px);color:#7e876f;font:600 clamp(8px,.65cqw,11px)/1.4 ui-monospace,monospace;letter-spacing:.01em}
.score-empty{font-size:clamp(9px,.75cqw,12px);color:#7e876f;margin:8px 0}
#arena-chat-status{font-size:10px;color:#687663;max-width:230px;line-height:1.5}
#arena-chat-status:empty{display:none}
#arena-chat-status button{color:#765291;text-decoration:underline;pointer-events:auto;font:inherit}
.season-banner{padding:18px 22px;margin:0 0 20px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.season-banner p{color:var(--muted);font-size:12px;margin:8px 0 0;line-height:1.6}
.season-history{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:12px}
.season-history>div{display:flex;gap:16px;justify-content:space-between;margin-top:8px;line-height:1.6}
@container(max-width:520px){#arena-chat-status{font-size:9px;max-width:100%}}

.faction-portrait{position:relative;display:inline-flex;width:42px;height:42px;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border:2px solid color-mix(in srgb,var(--faction) 70%,#cdd6c0);border-radius:9px;background:color-mix(in srgb,var(--faction) 25%,#edf1e2);color:#3f523c;font-size:14px;font-weight:700}
.faction-portrait.large{width:64px;height:64px;margin:0 auto 12px;font-size:22px;border-radius:13px}
.faction-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faction-channel{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:11px 12px;border:1px solid #c7b2e2;border-radius:8px;background:#eae0f6;color:#68458e;text-align:left;font-size:12px;transition:background .15s,border-color .15s}
.faction-channel:hover{background:#e1d1f3;border-color:#9870c4}
.faction-channel>span{display:grid;gap:3px;flex:1;min-width:0}
.faction-channel small{font-size:9px;letter-spacing:.04em;color:#80649d}
.faction-channel strong{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;font-size:12px}
.faction-channel>.icon{width:17px;height:17px}
.camp-inspector{display:block}
.camp-inspector .camp-stats{grid-template-columns:repeat(3,1fr)}

.pact-population{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.pact-population svg{width:13px;height:13px}.pact-population b{color:var(--text);font-variant-numeric:tabular-nums}
.strength-segment[aria-pressed="true"]{box-shadow:inset 0 0 0 2px white;z-index:1}

.boss-growth{margin-top:6px;color:#806493;font-size:10px;line-height:1.5}.boss-leaders b{white-space:nowrap}.boss-reward-note{margin-top:7px;font-size:10px;color:#806493;line-height:1.4}

.pact-members{flex-wrap:wrap}.pact-income{display:block;color:var(--gold);font-size:10px;margin:5px 0;line-height:1.5}.commander-goal{color:var(--gold)}

.boss-threat{margin-top:5px;font-size:10px;font-weight:650;color:#806493;line-height:1.4}.boss-threat.urgent{color:#a24732}

/* Factions and coalitions share one population bar. */
.strength-segment{container-type:inline-size;gap:5px}
.strength-segment .strength-name,.strength-segment .strength-value,.strength-segment .strength-alliance-tag{display:none}
.strength-segment .strength-name{min-width:0;flex:0 1 auto}
.strength-segment .strength-alliance-tag{flex-shrink:0;font-size:9px;font-weight:800}
.alliance-segment{background:color-mix(in srgb,var(--faction) 50%,#edf1e2);color:#263f31;box-shadow:inset -1px 0 #f7f8f1;padding-top:3px;box-sizing:border-box}
.alliance-segment .alliance-colors{position:absolute;inset:0 0 auto;height:4px;pointer-events:none}
@container(min-width:24px){.strength-segment .strength-alliance-tag{display:block}}
@container(min-width:62px){.strength-segment .strength-value{display:block}}
@container(min-width:105px){.alliance-segment .strength-name{display:block}.alliance-segment .strength-value{display:none}}
@container(min-width:150px){.strength-segment .strength-name,.alliance-segment .strength-value{display:block}}
#strength-alliances{margin-left:12px;color:#536b50;font-size:inherit;text-decoration:underline;text-decoration-color:#a5b59e;text-underline-offset:3px;white-space:nowrap}
#strength-alliances:hover{color:#233d2b}
.alliance-member-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;text-align:left}
.alliance-member{border:1px solid #394739;border-radius:8px;padding:10px;background:#202b23}
.alliance-member-heading{display:flex;align-items:center;gap:10px;width:100%;text-align:left}
.alliance-member-heading>span:not(.faction-portrait){display:grid;gap:5px;flex:1;min-width:0}
.alliance-member-heading strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alliance-member-heading small{font-size:10px;color:#a5b496}
.alliance-member-heading>.icon{width:15px;color:#8f9f80}
.alliance-member-heading:hover strong{color:var(--gold)}
.alliance-member .faction-portrait{width:34px;height:34px;font-size:12px;border-radius:7px}
.alliance-member .faction-channel{margin-top:8px;padding:7px 9px}
.alliance-member .faction-channel small{display:none}
.alliance-member .faction-channel strong{font-size:11px}
.alliance-overview{list-style:none;padding:0;margin:0;display:grid;gap:4px;text-align:left}
.alliance-overview>li{display:flex;align-items:center;border-bottom:1px solid #344232}
.alliance-overview-select{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:13px 0;text-align:left}
.alliance-overview-select:hover strong{color:var(--gold)}
.alliance-overview-colors{display:flex;align-self:stretch;flex-shrink:0;flex-direction:column;width:4px;border-radius:2px;overflow:hidden}
.alliance-overview-colors>i{flex:1}
.alliance-overview-copy{flex:1;min-width:0;display:grid;gap:5px}
.alliance-overview-copy strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alliance-overview-copy small{font-size:10px;line-height:1.5;color:#98aa8b;overflow-wrap:anywhere}
.alliance-overview-share{flex-shrink:0;text-align:right;font-size:14px;font-variant-numeric:tabular-nums;color:var(--gold)}
.alliance-overview-share small{display:block;font-size:9px;color:#a4b499;margin-top:5px}

.alliance-name-input{display:flex;gap:8px}.alliance-name-input input{min-width:0;flex:1;margin:0}.alliance-name-input .button{white-space:nowrap}
.pact-name{text-align:left;color:var(--text)}.pact-name:hover{color:var(--gold)}.pact-streamers{font-size:9px;color:#8d9e82;line-height:1.5}

/* Stack the boss panel below chat status, including when status text wraps. */
.arena-top-left{max-width:calc(100% - 48px)}
.arena-top-left>.boss-hud{position:static;transform:none;width:clamp(180px,32cqw,310px);max-width:100%;justify-self:start;pointer-events:auto}
@container(max-width:900px){.arena-top-left{max-width:calc(100% - clamp(170px,22cqw,300px) - 50px)}}
@container(max-width:520px){.arena-top-left{width:calc(50% - 26px);max-width:none}.arena-top-left>.boss-hud{width:100%}}

/* Skill trees: foundation, paired branches, survival, then a capstone choice. */
.skill-guide,.skill-pending{font-size:12px;line-height:1.7;color:var(--muted,#97a79b);margin:0 0 16px}.skill-pending.has-changes{color:#e8cd84;border-left:2px solid #a98b4f;padding-left:12px}.skill-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skill-node{border:1px solid #33433c;background:#14211c;padding:16px;border-radius:7px;display:flex;flex-direction:column;gap:10px;min-width:0}.skill-node.learned{border-color:#668565;background:#1b2c23}.skill-node-heading{display:flex;justify-content:space-between;gap:12px}.skill-kind{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#a4b4a6}.skill-rank{font-size:12px;color:#e2ca88}.skill-node h3{font-size:17px;margin:0;color:#ede9d6}.skill-node p{font-size:12px;line-height:1.65;color:#bcc9bd;margin:0 0 10px}.skill-node-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.skill-node-footer small{font-size:11px;color:#a8b79e}.skill-node-footer button{flex-shrink:0;min-width:60px;font-size:11px;padding:7px 10px}.skill-stat,.skill-survival{grid-column:1/-1}.skill-capstone{border-color:#82703e;background:linear-gradient(135deg,#2b2d20,#15231d)}.skill-capstone .skill-kind{color:#e5c77a}.skill-respec{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px}.skill-respec small{font-size:11px;color:#99a899}.lab-fields{display:grid;gap:16px;margin:20px 0}.lab-fields label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#a8bca9}.lab-fields select{width:100%;min-width:0}.lab-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.lab-population{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:24px 0}.lab-population span{font-size:12px}.lab-profile{margin-bottom:18px}.lab-entry{white-space:nowrap;font-size:11px;padding:7px 12px}@media(max-width:650px){.skill-tree{grid-template-columns:1fr}.skill-stat,.skill-survival{grid-column:auto}.skill-node{padding:13px}.lab-buttons{grid-template-columns:1fr}.arena-actions .lab-entry{padding:6px;font-size:10px}.arena-character{max-width:100px}}

/* A compact coalition status fits the same responsive stack as the boss. */
#resistance-hud{width:clamp(180px,32cqw,310px);max-width:100%;pointer-events:auto}
.resistance-card{display:grid;gap:5px;width:100%;text-align:left;border:1px solid #7f9378;border-radius:6px;padding:9px 11px;background:#203229;color:#d6dfc9;margin-bottom:10px}
.resistance-card strong{font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.resistance-card small{font-size:11px;line-height:1.4;opacity:.8}.resistance-card.active{border-color:#b99756}.resistance-card:hover{filter:brightness(1.08)}
.arena-page .resistance-card{background:#f1f3e9ee;color:#50644b;margin:0}.arena-page .resistance-card.active{background:#f5eddaee;color:#715827}
@container(max-width:520px){#resistance-hud{width:100%}.resistance-card{padding:7px}.resistance-card strong{font-size:10px}.resistance-card small{font-size:9px}}

.boss-phase{font-size:10px;line-height:1.5;color:#8654a5;margin-top:8px}.boss-health>span{display:block;font-weight:650;color:#8c45b6;overflow-wrap:anywhere}

/* Keep map controls reachable while information overlays are hidden. */
.map-panels-toggle,.arena-controls>button.map-panels-toggle{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;min-height:29px;border-radius:4px;font-size:9px;white-space:nowrap}
.map-topline .map-panels-toggle{color:#c9d2ba}
.map-topline .map-panels-toggle:hover,.map-topline .map-panels-toggle[aria-pressed=true]{background:#61785055}
.map-panels-toggle .icon{width:15px;height:15px}
.map-panels-toggle:focus-visible{outline:2px solid #8c63b8;outline-offset:2px}
#map-panel.map-panels-hidden .arena-top-left,
#map-panel.map-panels-hidden .arena-scoreboard,
#map-panel.map-panels-hidden #unit-inspector,
#map-panel.map-panels-hidden .arena-help,
#map-panel.map-panels-hidden .arena-metrics,
#map-panel.map-panels-hidden .map-stats,
#map-panel.map-panels-hidden .map-topline>span,
#map-panel.map-panels-hidden .map-bottom>div:first-child{display:none}
#map-panel.map-panels-hidden .map-topline{background:none;justify-content:flex-end;pointer-events:none}
#map-panel.map-panels-hidden .map-topline>div{pointer-events:auto}
#map-panel.map-panels-hidden .map-bottom{background:none;justify-content:flex-end}
/* Gear, achievements and map events */
.gear-slots,.gear-bag{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.gear-item{border:1px solid color-mix(in srgb,var(--rarity,#3c4934) 55%,#2a3428);border-left:3px solid var(--rarity,#3c4934);background:#16201a;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.gear-item strong{color:var(--rarity,var(--text));font-size:14px}
.gear-item ul{margin:0;padding-left:16px;color:#c6ceb9;line-height:1.5}
.gear-item small{color:var(--muted);font-size:10px}
.gear-item-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.gear-item .eyebrow{margin:0}
.gear-empty{border-style:dashed;--rarity:#55614f}
.gear-empty strong{color:var(--muted)}
.gear-old{opacity:.72}
.gear-old-tag{font-size:9px;color:#e0a46b;white-space:nowrap}
.gear-actions{display:flex;gap:10px;align-items:center;margin-top:4px}
.gear-actions .button{min-height:30px;padding:6px 12px}
.gear-bag-title{margin:18px 0 10px}
.rarity-legendary{box-shadow:0 0 0 1px #f0a54833,0 0 18px #f0a54826}
.warrior-title{display:block;font-style:normal;color:var(--gold);font-size:11px;letter-spacing:.3px}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:14px}
.feat{border:1px solid #2f3b2e;border-radius:6px;padding:10px;background:#141d18;display:flex;flex-direction:column;gap:5px;opacity:.6}
.feat.done{opacity:1;border-color:#6b5f3f;background:#1d2119}
.feat strong{font-size:12px}.feat span{color:var(--muted);font-size:11px;line-height:1.45}.feat small{font-size:10px;color:#a9b49e}
.feat.done small{color:var(--gold)}
.feat-progress{height:4px;background:#28322a;border-radius:2px;overflow:hidden}.feat-progress i{display:block;height:100%;background:var(--gold)}
.season-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.season-badge{display:inline-flex;flex-direction:column;border:1px solid #6b5f3f;border-radius:6px;padding:6px 10px;color:var(--gold);font-weight:600;font-size:11px}
.season-badge small{color:var(--muted);font-weight:400;font-size:9px}
.season-badge.rank-1{border-color:#e7c35f;background:#2a2615}.season-badge.rank-slayer{border-color:#b85656;color:#f09a8c}
.events-hud{display:flex;gap:6px;flex-wrap:wrap;pointer-events:auto}
.events-hud>*{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 9px;border:1px solid #c5c0a3;border-radius:7px;background:#f6f3e6e8;color:#4d5340;font-size:10px;text-align:left}
.events-hud b{font-size:9px;letter-spacing:.6px;text-transform:uppercase}
.events-hud span{color:#6b715d}
.events-hud button:disabled{opacity:.65;cursor:default}
.events-hud.blood-moon>div:first-child{background:#5a1219ee;border-color:#a3303c;color:#ffd9d4}
.events-hud.blood-moon>div:first-child span{color:#ffb4aa}
.events-hud button:not(:disabled){border-color:#d8b04b;background:#fff4cfee}
.overlay-link{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}
.overlay-link p{font-size:13px;line-height:1.5;margin:4px 0 8px}
.overlay-url{display:flex;gap:8px}.overlay-url input{padding:8px 10px;font-size:11px}
.hero-inspector strong{color:#b8860b}
@media (max-width:640px){.gear-slots,.gear-bag,.feat-grid{grid-template-columns:1fr}.events-hud>*{padding:5px 7px}}
/* Loot feed, journal and personal drop popups */
.loot-feed{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.loot-row{display:grid;grid-template-columns:8px minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:6px;font-size:11px;line-height:1.3;min-width:0}
.loot-row i{width:8px;height:8px;border-radius:2px;background:var(--faction)}
.loot-who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.loot-what{color:var(--rarity);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loot-row small{color:var(--muted);font-size:9px;white-space:nowrap}
.loot-card{border:1px solid var(--border);border-radius:9px;background:var(--panel);padding:16px}
.loot-card .panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.loot-journal{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.loot-entry{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--rarity);border-radius:6px;background:#161f1a}
.loot-entry strong{color:var(--rarity);display:block}.loot-entry span{color:var(--muted);font-size:11px}
.loot-entry time{color:var(--muted);font-size:10px;white-space:nowrap}
.loot-badge{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--rarity);border:1px solid var(--rarity);border-radius:4px;padding:2px 6px}
.loot-entry .loot-badge{color:var(--rarity)}
.loot-popups{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.loot-popup-card{pointer-events:auto;background:#141c18f2;color:var(--text);border:1px solid var(--rarity);border-radius:10px;padding:14px 16px;box-shadow:0 0 0 1px #0006,0 10px 30px #0008,0 0 24px color-mix(in srgb,var(--rarity) 40%,transparent);display:grid;gap:4px;animation:loot-in .35s ease-out}
.loot-popup-card .eyebrow{color:var(--rarity);margin:0}
.loot-popup-card strong{font-size:17px;color:var(--rarity)}
.loot-popup-meta{color:var(--muted);font-size:11px}
.loot-popup-card ul{margin:4px 0 0;padding-left:17px;color:#d6dccb;font-size:12px;line-height:1.5}
.loot-popup-actions{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:11px;color:var(--muted)}
.loot-popup-actions span{flex:1}
.loot-popup-card.rarity-legendary{animation:loot-in .35s ease-out,loot-glow 1.6s ease-in-out infinite alternate}
@keyframes loot-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes loot-glow{from{box-shadow:0 10px 30px #0008,0 0 14px #f0a54855}to{box-shadow:0 10px 30px #0008,0 0 34px #f0a548aa}}
@media (prefers-reduced-motion:reduce){.loot-popup-card,.loot-popup-card.rarity-legendary{animation:none}}
.loot-lab-source{margin:18px 0 8px}
.loot-lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.loot-lab-grid .gear-actions{flex-wrap:wrap;gap:6px}
.loot-lab-grid .gear-actions .button{min-height:26px;padding:4px 9px;font-size:10px}
.loot-lab-worn{outline:2px solid var(--rarity)}
.loot-lab-stats{font-size:12px;margin:8px 0 4px}
.loot-lab-stats b{color:var(--text)}
/* WoW-style character sheet on the battlefield */
.unit-inspector.character-sheet{display:grid;gap:9px;align-items:stretch;width:300px;max-width:calc(100% - 24px);right:auto;padding:12px 13px;background:#14110ef2;color:#ece3cf;border:1px solid #6d5a3a;border-top:3px solid var(--faction);border-radius:8px;box-shadow:0 0 0 1px #000a,0 8px 28px #0007;font-size:11px}
.character-sheet .sheet-head{display:flex;gap:10px;align-items:flex-start}
.character-sheet .sheet-head>div{display:grid;gap:1px;flex:1;min-width:0}
.character-sheet .sheet-head .icon-button{color:#bfae8b;width:24px;height:24px}
.sheet-portrait{width:42px;height:42px;flex-shrink:0;border-radius:6px;border:2px solid var(--faction);background:var(--faction);display:grid;place-items:center;font-weight:800;color:#fff;overflow:hidden}
.sheet-portrait img{width:100%;height:100%;object-fit:cover}
.sheet-name{font-size:15px;color:#fff3d6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet-title{font-style:normal;color:#e8c46a;font-size:10px}
.sheet-guild{color:#7fd28f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet-class{color:#b9ad95;font-size:10px}
.sheet-hp{position:relative;height:16px;background:#2a1a17;border:1px solid #000;border-radius:3px;overflow:hidden}
.sheet-hp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(#3fb24a,#237a2d)}
.sheet-hp span{position:relative;display:block;text-align:center;font-size:10px;line-height:14px;color:#fff;text-shadow:0 1px 1px #000}
.sheet-gear{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.sheet-slot{position:relative;display:flex;gap:8px;align-items:center;padding:4px;border-radius:5px;background:#1f1a15;border:1px solid #3a3022;outline:none}
.sheet-slot:hover,.sheet-slot:focus{border-color:var(--rarity)}
.sheet-icon{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;font-size:16px;border-radius:4px;background:#0d0b09;border:2px solid var(--rarity,#4a4236);color:var(--rarity,#6a6050);box-shadow:inset 0 0 8px color-mix(in srgb,var(--rarity,#000) 35%,transparent)}
.sheet-slot>span:nth-child(2){display:grid;min-width:0}
.sheet-slot strong{color:var(--rarity);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet-slot small{color:#cfc5ad;font-size:10px}
.sheet-slot.empty strong{color:#857a66}.sheet-slot.empty small{color:#6b6253}
.sheet-tooltip{display:none;position:absolute;left:calc(100% + 8px);top:0;z-index:5;width:220px;padding:9px 11px;background:#0b0a12f5;border:1px solid #8a8a9a;border-radius:5px;box-shadow:0 4px 18px #000a;flex-direction:column;gap:2px;pointer-events:none}
.sheet-slot:hover .sheet-tooltip,.sheet-slot:focus .sheet-tooltip{display:flex}
.sheet-tooltip strong{font-size:13px;white-space:normal}
.tip-rarity{color:#fff;font-size:10px}.tip-stat{color:#1eff00;font-size:11px}.tip-old{color:#ff8a5c;font-size:10px}.tip-source{color:#ffd100;font-size:10px;margin-top:3px}
.sheet-stats{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;padding:8px 0;border-top:1px solid #3a3022;border-bottom:1px solid #3a3022}
.sheet-stats div{display:flex;justify-content:space-between;gap:6px}
.sheet-stats dt{color:#b9ad95;font-size:10px}.sheet-stats dd{margin:0;color:#fff;font-size:10px;font-weight:600}
.sheet-note{color:#e8c46a;font-size:10px;margin:0}
.sheet-foot{display:flex;flex-wrap:wrap;gap:4px 10px;color:#9f937c;font-size:10px}
.sheet-foot a{color:#a970ff;margin-left:auto}
@media (max-width:640px){.unit-inspector.character-sheet{width:auto;right:12px}.sheet-tooltip{left:auto;right:0;top:calc(100% + 6px)}}
/* Item artwork (public/items/*.png) with glyph fallback */
.item-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;font-size:20px;border-radius:6px;background:#0d0b09;border:2px solid var(--rarity,#4a4236);color:var(--rarity,#6a6050);box-shadow:inset 0 0 10px color-mix(in srgb,var(--rarity,#000) 35%,transparent);overflow:hidden}
.item-icon img,.sheet-icon img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.gear-item>.item-icon{float:left;margin:0 10px 4px 0}
.loot-popup-card{grid-template-columns:auto 1fr}.loot-popup-card>*{grid-column:2}.loot-popup-card>.loot-popup-icon{grid-column:1;grid-row:1/span 4;width:56px;height:56px;margin-right:4px}
.sheet-icon{overflow:hidden}
a.sheet-guild{text-decoration:none}a.sheet-guild:hover{text-decoration:underline;color:#a5f0b2}
.sheet-watch{display:block;text-align:center;padding:7px 10px;border-radius:5px;background:#9146ff;color:#fff;font-weight:600;font-size:11px;text-decoration:none}
.sheet-watch:hover{background:#a970ff}
.league-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.league-filter .chip{font-size:12px;color:#94a589;padding:5px 12px;border:1px solid #3c4733;border-radius:999px}
.league-filter .chip.active{color:var(--gold);border-color:var(--gold)}
.league-winner{display:block;font-size:11px;opacity:.8}
.camp-feud{font-size:10px;color:#b4483a;line-height:1.6}.camp-feud:empty{display:none}
.feud-note{color:#b4483a}
/* Larger slots once item artwork is available */
.sheet-icon{width:42px;height:42px;font-size:20px}
.gear-item>.item-icon{width:56px;height:56px}
/* Treasure chest window */
.treasure-status{margin:14px 0;padding:12px 14px;border:1px solid #4a4128;border-radius:8px;background:#1d1a12;display:grid;gap:9px}
.treasure-status.active{border-color:#d8b04b;background:#2a2412}
.treasure-status b{display:block;color:#ffe9a6;font-size:13px}.treasure-status span{color:var(--muted);font-size:11px}
.treasure-progress{height:8px;border-radius:4px;background:#00000055;overflow:hidden}.treasure-progress i{display:block;height:100%;background:var(--claim,#e8c46a);transition:width .4s}
.treasure-rules{display:grid;gap:8px}.treasure-rules div{display:grid;gap:2px}.treasure-rules b{font-size:11px;color:var(--gold);letter-spacing:.4px}.treasure-rules span{font-size:12px;color:#c6ceb9;line-height:1.5}
.treasure-odds{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.treasure-odds span{border:1px solid var(--rarity);border-radius:999px;padding:3px 10px;font-size:11px;color:var(--rarity)}
.treasure-loot{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:14px}
.treasure-item{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid color-mix(in srgb,var(--rarity) 50%,#2a3428);border-left:3px solid var(--rarity);border-radius:6px;background:#16201a}
.treasure-item strong{display:block;color:var(--rarity);font-size:12px}.treasure-item small{color:var(--muted);font-size:10px}
.treasure-item .item-icon{width:48px;height:48px}
.commander-box .card-note{font-size:12px;line-height:1.55}
.score-tabs{display:flex;gap:4px;margin:0 0 6px;flex-wrap:wrap}
.score-tabs button{font-size:clamp(9px,.75cqw,11px);padding:2px 7px;border:1px solid #c9cdb9;border-radius:999px;color:#6d7660;background:#ffffff80;pointer-events:auto}
.score-tabs button.active{border-color:#b8962f;color:#7a5c12;background:#f3e3b0}
.chief-box{padding:20px;background:#1a241a;border:1px solid #3e4c33;border-radius:6px;margin-top:16px;text-align:left;display:grid;gap:16px}
.chief-box h4{margin:0 0 4px;font-size:14px;color:var(--text)}
.chief-box .card-note{margin:0 0 8px;font-size:12px}
.chief-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chief-row select{flex:1;min-width:120px}
.chief-status{font-size:13px;margin:4px 0;color:#d8bd87}.chief-status.muted{color:var(--muted)}
.chief-doctrines{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.doctrine{display:grid;gap:3px;text-align:left;padding:9px 11px;border:1px solid #3e4c33;border-radius:6px;color:var(--text)}.doctrine small{font-size:11px;color:var(--muted)}
.doctrine.active{border-color:var(--gold);background:#2a2a1a}.doctrine:disabled{opacity:.45}
.admin-note{font-size:12px;color:#e0a95f;border:1px dashed #8a6a3a;border-radius:6px;padding:6px 9px;margin:0}
.chief-note{color:#d8bd87}
button.sheet-guild{display:block;max-width:100%;padding:0;text-align:left;cursor:pointer;font:inherit;font-size:11px;background:none;border:0}
.chief-entry{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;padding:7px 12px;background:#3a3016;border:1px solid #b8962f;color:#f0d68a}
.chief-entry .icon{width:16px;height:16px}.chief-entry:hover{filter:brightness(1.15)}
@media(max-width:760px){.chief-entry span{display:none}.chief-entry{padding:6px}}
.boss-departs{font-size:9px;color:#8a6aa0;margin-top:3px}
.boss-cataclysm{font-size:10px;font-weight:800;color:#fff;background:#a3202c;border-radius:4px;padding:3px 6px;margin-top:4px;animation:loot-glow 0.6s ease-in-out infinite alternate}
.gear-upgrades{color:#ffe08a;font-size:11px;font-weight:800}
.shard-count{color:#9fd8ff;font-weight:700}
.fatigue-line{color:#e0a46b}
/* Visible panels over the battlefield must not pass clicks through to the units underneath. */
.arena-scoreboard,.arena-streak{pointer-events:auto}
.support-line{color:#b892ff}

.warrior-search{position:relative;min-width:200px}.warrior-search input{width:100%;padding:8px 11px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit}
.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:320px;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #0006;padding:4px}
.search-results button{display:flex;gap:9px;align-items:center;width:100%;text-align:left;padding:8px;border:0;border-radius:7px;background:none;color:var(--text);cursor:pointer;font:inherit}
.search-results button:hover,.search-results button:focus-visible{background:var(--panel-2)}.search-results i{flex:none;width:10px;height:10px;border-radius:50%}
.search-results span{display:flex;flex-direction:column;min-width:0}.search-results small{color:var(--muted)}.search-results p{margin:8px;color:var(--muted)}
.follow-link{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.follow-link:hover strong{text-decoration:underline}
.rank-search{max-width:360px;margin:14px 0}
/* Sidebar faction groups and filter */
.faction-filter{margin:0 6px 8px;padding:7px 10px;border-radius:6px;border:1px solid #2f392e;background:#1b231d;color:var(--text);font:inherit;font-size:10px}
.faction-filter::placeholder{color:#76826f}.faction-filter:focus{outline:none;border-color:#4a5a43}
.faction-group{display:flex;justify-content:space-between;align-items:center;width:100%;margin:12px 0 4px;padding:4px 9px;font-size:8px;letter-spacing:1.1px;font-weight:650;text-transform:uppercase;color:#7f8c78;text-align:left}
#faction-list>.faction-group:first-child{margin-top:2px}
button.faction-group{cursor:pointer;border-radius:5px}button.faction-group:hover{background:#1f281f;color:var(--gold)}
.faction-group>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.4px}
.faction-empty{margin:8px 9px;font-size:10px;color:var(--muted)}
@media(max-width:760px){.faction-filter{display:none}}
/* Welcome guide */
dialog:has(.guide){width:min(620px,calc(100vw - 32px))}
.guide-intro{font-size:12px;line-height:1.6;color:#c3cbb8;margin-top:8px}
.guide-tabs{display:flex;gap:4px;margin:20px 0 4px;padding:3px;border:1px solid #33402f;border-radius:7px;background:#161d18;overflow-x:auto}
.guide-tabs button{flex:1;white-space:nowrap;padding:7px 10px;border-radius:5px;font-size:11px;color:#9eaa96;cursor:pointer}
.guide-tabs button:hover{color:var(--text)}.guide-tabs button.selected{background:#2c3828;color:var(--gold)}
.guide-lead{margin-top:16px;font-size:11px;color:var(--muted)}
.guide-body .rules-list{margin-top:12px}
.guide-releases{margin-top:16px;display:grid;gap:14px}
.guide-release{padding:14px 16px;border:1px solid #33402f;border-radius:8px;background:#19211b}
.guide-release.fresh{border-color:#6b6a45;background:#1f2519}
.guide-release h3{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:8px}
.guide-release time{margin-left:auto;font-size:10px;color:var(--muted);font-family:ui-monospace,monospace}
.guide-release ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:11px;line-height:1.55;color:#c3cbb8}
.guide-new{font-size:8px;letter-spacing:1px;padding:2px 5px;border-radius:3px;background:var(--gold);color:#1b241e}
.guide-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:22px}
.guide-link{position:relative}.guide-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px #d8bd8790}
.icon-button .guide-dot{top:3px;right:3px}.text-button .guide-dot{position:static;margin-left:auto}
.guide-dot[hidden]{display:none}
