:root{--minimap-scale:1;--royal:#d6bc82;--ice:#8ec9df}body{background:#0c1930}.lobby-header{background:linear-gradient(#0b1938e8,#10234555);border-bottom:1px solid #92bde628}.brand-mark{color:var(--royal)}.lobby-header nav button{color:#bacde6}.lobby-header nav button.nav-active{color:#f2d79e}.hero-copy h1{color:#eaf3ff}.hero-copy h1 span{color:#d7bb80}.mode-tag{color:#a9c7e0}.primary{background:linear-gradient(125deg,#f1dca3,#b28b4c);border-color:#e3ce9c;color:#182a41}.hero-card.selected{border-color:#ddbd7b;background:linear-gradient(#304d6e,#142b43)}#lobby .hero-caption{background:linear-gradient(90deg,transparent,#10244696);padding:18px;border-right:2px solid #b69a5c}.lobby-header nav{gap:0}.lobby-header nav button{padding:9px 10px}.lobby-header nav button span{display:none}#server-announcement{position:absolute;top:92px;left:5%;max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;letter-spacing:.5px;color:#d3bb8c}#account-btn{background:transparent;border:0;color:#c9dcee;text-align:left;font:inherit;cursor:pointer}#battle-online{margin-bottom:8px;width:100%;font-size:15px}#update-game{position:absolute;right:5%;top:94px;z-index:8;background:#345b7b;color:#ffe4ab;border:1px solid #baa26b;padding:9px 18px}.lobby-footer{color:#a6b9cf}.settings-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #adc4dc33;margin-bottom:15px}.settings-head h2{font-size:24px;margin:8px 0 16px}.settings-head>span{color:#92b6cd;font-size:12px}.settings-shell{display:grid;grid-template-columns:118px 1fr;gap:24px}.settings-nav{display:flex;flex-direction:column;gap:7px;position:sticky;align-self:start;top:0}.settings-nav button{background:#142b46;color:#b6cbe2;border:1px solid #57729344;padding:14px 8px;cursor:pointer}.settings-nav button.active{background:linear-gradient(90deg,#537092,#223e5e);border-color:#cbb17b;color:#ffe5af}.setting-row{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:67px;border-bottom:1px solid #a3bfd51a;padding:14px 0}.setting-row>label{font-size:14px;color:#e1eafa;max-width:65%;line-height:1.5}.setting-row small{display:block;font-size:11px;color:#90a6bf;margin-top:4px}.setting-row select{min-width:150px}.setting-row input[type=checkbox]{accent-color:#d8ba7d;width:22px;height:22px}.setting-control{display:flex;align-items:center;gap:10px}.setting-control output{min-width:26px;color:#f0d89f}.settings-actions{display:flex;flex-wrap:wrap;margin-top:12px}.setting-explain{padding:10px 12px;background:#8bb3d512;border-left:2px solid #9bc4dd;font-size:12px}.account-form{max-width:540px}.account-form label{display:block;margin:15px 0;color:#a9bed5}.account-form input{display:block;margin-top:8px;padding:12px;width:100%;background:#0b1b30;border:1px solid #415a76;color:#e8f3ff}.prep-tabs{display:flex;gap:8px;flex-wrap:wrap}.build-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:20px 0}.build-slots button{position:relative;padding:12px 3px;background:#152d47;border:1px solid #48627d;color:#dbeafb;cursor:pointer}.build-slots button.selected{border-color:#efd089;box-shadow:0 0 16px #b58f4f28}.build-slots small{position:absolute;left:7px;top:5px;color:#99abc2}.build-slots b{display:block;font-size:27px;margin:4px}.build-slots span{font-size:11px}.runes-layout{display:grid;grid-template-columns:minmax(250px,1fr) 1fr;gap:28px;margin-top:20px;align-items:center}.rune-wheel{position:relative;width:290px;height:290px;margin:auto;background:radial-gradient(circle,#28406155 0,#132942 47%,#9ab4ce22 48%,transparent 49%,transparent 65%,#9ab4ce44 66%,transparent 67%);border-radius:50%}.rune-stone{position:absolute;left:50%;top:50%;width:26px;height:32px;margin:-16px -13px;transform:rotate(var(--angle)) translateY(-122px) rotate(calc(-1*var(--angle)));text-align:center;filter:drop-shadow(0 0 7px currentColor)}.rune-stone b{font-size:22px;line-height:22px;display:block}.rune-stone small{font-size:9px;color:#d9e8fa}.red{color:#ed9c9c}.blue{color:#8bc5ef}.green{color:#a1ddb9}.rune-core{position:absolute;inset:85px 0;display:flex;flex-direction:column;justify-content:center;align-items:center}.rune-core b{font-size:45px;color:#efd191;text-shadow:0 0 20px #d4ab4b33}.rune-core small{font-size:11px;color:#b7c9e1}.rune-stat{padding:13px 0;border-bottom:1px solid #8aaac12b;display:flex;justify-content:space-between;gap:10px;font-size:13px}.rune-summary p{font-size:12px}.minimap-wrap{transform:scale(var(--minimap-scale));transform-origin:top left}#quick-buy{position:absolute;left:22px;top:calc(50% - 12px);max-width:210px;border:1px solid #c0a56766;background:#122a42df;color:#91a7bd;padding:9px 13px;pointer-events:auto;font-size:11px;border-radius:4px}#quick-buy.affordable{color:#f6d995;box-shadow:0 0 12px #e4bb4930}#target-choices{position:absolute;right:calc(250px * var(--control-scale));bottom:35px;display:flex;flex-wrap:wrap;max-width:290px;gap:5px;pointer-events:none;z-index:9;background:#0c1e35df;border:1px solid #adc9e955;padding:8px;border-radius:6px}#target-choices>small{width:100%;font-size:9px;color:#b4c6da}#target-choices>span{display:flex;flex-direction:column;gap:4px;width:82px;padding:6px;border:1px solid #4c6681;background:#1c3450;color:#d6e5f7}#target-choices>span.locked{border-color:#ffe1a2;background:#584e39}#target-choices b{font-size:10px;font-weight:500}#target-choices em{font-size:9px;font-style:normal}#target-choices i{height:3px;background:linear-gradient(90deg,#f0978e var(--hp),#402d39 var(--hp))}#target-lock{max-width:44%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#cancel-cast.cancel-active{background:#a23d4ecc;border-color:#ffb2ad}.collection-card{background:linear-gradient(145deg,#213754,#0e233e);border-color:#6785a133}.collection-art{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--swatch) 13%,transparent),transparent 70%)}.wallet-row{background:#0f2440;border:1px solid #e0bf792a;padding:12px}.collection-tabs button.active{color:#ffe3a5;border-color:#cfb17b}.panel{background:linear-gradient(130deg,#1b3450fa,#0b1d35fa);border-color:#8eaac34a}#settings-fields{min-width:0}.hero-status{background:#0c2346b0}#combat-controls{filter:drop-shadow(0 5px 8px #00102b88)}
@media(max-width:1000px){#server-announcement{top:64px;left:3%;max-width:65%;font-size:10px}.lobby-header nav button{padding:8px 6px;font-size:11px}.settings-head h2{font-size:20px}.settings-shell{grid-template-columns:94px 1fr;gap:14px}.settings-nav button{padding:11px 5px;font-size:12px}.setting-row{min-height:57px;padding:10px 0}.rune-wheel{width:250px;height:250px}.rune-stone{transform:rotate(var(--angle)) translateY(-106px) rotate(calc(-1*var(--angle)))}.rune-core{inset:75px 0}.rune-core b{font-size:36px}.runes-layout{gap:15px}.launch{min-width:180px}#battle-online{padding:10px}#quick-buy{left:12px;top:45%;padding:6px 9px;font-size:10px;max-width:165px}.settings-head>span{display:none}.hero-copy{top:29%}#target-choices{right:215px;bottom:15px;max-width:250px}#target-choices>span{width:72px}#lobby .hero-caption{padding:10px}.lobby-header .phone-link{display:none}}
@media(max-width:740px){.settings-shell{grid-template-columns:80px 1fr;gap:10px}.setting-row{gap:8px}.setting-row>label{font-size:12px}.setting-row select{min-width:120px;max-width:150px;font-size:11px}.setting-row .setting-control input{max-width:110px}.runes-layout{grid-template-columns:230px 1fr}.rune-wheel{width:220px;height:220px}.rune-stone{transform:rotate(var(--angle)) translateY(-94px) rotate(calc(-1*var(--angle)))}.rune-core{inset:65px 0}.rune-stat{font-size:11px;flex-direction:column;gap:2px}.build-slots{gap:5px}.build-slots span{font-size:9px}.lobby-header nav button{font-size:10px;padding:6px 4px}.lobby-header .lobby-account{display:none}#target-choices{max-width:218px;right:195px}#target-choices>span{width:62px}#server-announcement{top:54px}.lobby-footer span:last-child{display:none}}
/* Mobile lobby: persistent bottom navigation and a contextual hero drawer. */
#lobby .lobby-header{display:flex;gap:20px;padding:18px 4%;height:80px}#lobby .lobby-header .brand{margin-right:auto}#lobby .lobby-account{margin-left:0}#lobby #profile-wallet{font-size:12px;white-space:nowrap;padding:10px;color:#f2d59b;border:1px solid #ccb8782f;background:#12274299}#lobby .hero-copy{left:5%;top:26%}#lobby .hero-copy h1{font-size:32px;line-height:1.6}#lobby .hero-copy h1 span{display:block;font-size:15px;font-weight:400;letter-spacing:8px}#lobby .hero-caption{left:5%;right:auto;top:auto;bottom:calc(94px + 7%);width:240px;text-align:left;border-right:0;border-left:2px solid #bfa269;padding:10px 20px;background:linear-gradient(90deg,#142b42aa,transparent)}#lobby .hero-caption h2{font-size:28px}#lobby #hero-skills{justify-content:flex-start}#lobby .lobby-bottom{inset:auto 5% 105px auto;display:block;width:250px;pointer-events:none}#lobby .launch{width:100%;min-width:0;pointer-events:auto;display:flex;flex-direction:column;gap:8px;position:static}#lobby .launch>.section-label,#lobby #difficulty{display:none}#lobby .launch .practice-link{position:static;align-self:flex-end;margin:0;padding:7px 12px}#lobby #battle-online{font-size:24px;letter-spacing:3px;height:65px;margin:0}#battle-online small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;margin-top:4px}#lobby #play-btn{font-size:14px;padding:13px;background:#203b58c9;color:#d1e4f6;border-color:#728baa77}.mode-summary{display:flex;flex-direction:column;gap:7px;padding:15px 0 20px;text-align:right}.mode-summary small{font-size:10px;color:#bcad8d;letter-spacing:3px}.mode-summary strong{font-size:19px;color:#e9dbb4}.mode-summary span{font-size:10px;color:#9eb4cd}.lobby-dock{position:absolute;bottom:0;left:0;right:0;height:85px;display:flex;align-items:stretch;background:linear-gradient(#152b4444,#0b192fe8);border-top:1px solid #b9cce22b;padding:0 5%;gap:16px}.lobby-dock button{min-width:74px;border:0;background:transparent;color:#c7d8e9;font-size:13px;letter-spacing:2px;cursor:pointer;position:relative;padding:10px 15px}.lobby-dock button:hover{color:#ffe2a3;background:#9cb8d314}.lobby-dock button span{display:block;font-size:24px;color:#d8c69b;line-height:30px}.dock-version{margin-left:auto;align-self:center;text-align:right;color:#718ea9;font-size:11px;letter-spacing:3px}.dock-version small{display:block;letter-spacing:1px;font-size:9px;margin-top:5px}.hero-picker{position:fixed;z-index:12;left:5%;right:5%;bottom:93px;background:linear-gradient(145deg,#1a3652f5,#0c1c32fa);padding:20px;border:1px solid #ad9e6f99;box-shadow:0 -20px 80px #030f24a8;pointer-events:auto}.hero-picker .section-label{display:flex;align-items:center;justify-content:space-between}.hero-picker #hero-cards{width:100%;max-width:none;justify-content:center;overflow-x:auto}.hero-picker .hero-card{flex:0 0 130px;height:120px}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.mode-cards button{padding:28px 16px;border:1px solid #c5b48277;background:linear-gradient(#38566e,#132b44);color:#e6f0fc;cursor:pointer}.mode-cards button>span{font-size:40px;color:#ddc595}.mode-cards h3{font-size:18px;margin:14px 0}.mode-cards p{font-size:12px;color:#a4bbd1;line-height:2}.mode-cards button:hover{border-color:#f8d284;background:linear-gradient(#556575,#203b56)}
@media(max-width:1000px){#lobby .lobby-header{height:55px;padding:8px 3%;gap:10px}#lobby .lobby-header .brand{font-size:14px}#lobby .lobby-header .icon-btn{width:28px;height:28px;font-size:19px}#lobby #profile-wallet{font-size:10px;padding:7px}#lobby .lobby-account{font-size:10px}#lobby .hero-copy{top:27%;left:4%}#lobby .hero-copy h1{font-size:23px}#lobby .hero-copy h1 span{font-size:11px;letter-spacing:6px}#lobby .hero-caption{left:4%;bottom:85px;width:220px;padding:8px 13px}#lobby .hero-caption h2{font-size:24px}#lobby .hero-caption p{max-width:220px;font-size:10px}#lobby .hero-caption #hero-skills{gap:8px;margin-top:9px}.lobby-dock{height:65px;padding:0 3%;gap:9px}.lobby-dock button{min-width:60px;padding:5px 12px;font-size:11px}.lobby-dock button span{font-size:22px;line-height:28px}.dock-version{font-size:10px;letter-spacing:1px}#lobby .lobby-bottom{width:200px;bottom:80px;right:4%}#lobby .launch{gap:5px}#lobby #battle-online{height:53px;font-size:20px}#lobby #play-btn{padding:9px;font-size:12px}.mode-summary{gap:5px;padding:0 0 6px}.mode-summary strong{font-size:15px}.mode-summary span{font-size:9px}#mode-btn{padding:6px;font-size:10px}#lobby .launch .practice-link{padding:4px;font-size:11px}.hero-picker{bottom:72px;padding:12px}.hero-picker .hero-card{flex-basis:110px;height:105px}.hero-picker #hero-cards{justify-content:flex-start}.mode-cards{gap:10px;margin:15px 0}.mode-cards button{padding:17px 10px}.mode-cards button>span{font-size:28px}.mode-cards h3{font-size:16px}.mode-cards p{font-size:11px}}
@media(max-width:740px){#lobby .lobby-header{height:49px;gap:7px}#lobby .lobby-account{display:none}#lobby .hero-caption{width:175px;bottom:73px}#lobby .hero-caption h2{font-size:20px}#lobby .hero-caption p{font-size:9px;line-height:1.6}#lobby .hero-copy{top:25%}#lobby .hero-copy h1{font-size:20px}#lobby .lobby-bottom{width:175px;bottom:72px}#lobby #battle-online{height:48px;font-size:18px}.mode-summary small,.mode-summary span{display:none}.lobby-dock{height:58px;padding:0 2%;gap:0}.lobby-dock button{padding:4px 10px;min-width:62px;font-size:10px}.lobby-dock button span{font-size:19px;line-height:25px}.dock-version{font-size:9px}.dock-version small{font-size:8px;letter-spacing:0}.hero-picker{bottom:65px}.mode-cards button{padding:13px 8px}.mode-cards p{font-size:10px}}
#lobby .hero-copy .mode-tag{display:none}#lobby .hero-copy h1 span{display:inline-block;margin-left:14px;letter-spacing:3px}#lobby .hero-copy{top:24%}#lobby .hero-copy h1{font-size:27px}#lobby .hero-copy .eyebrow{font-size:9px}
@media(max-width:1000px){#lobby .hero-copy{top:25%}#lobby .hero-copy h1{font-size:22px;margin-top:10px}#lobby .hero-copy h1 span{font-size:9px;letter-spacing:2px;margin-left:8px}#lobby .hero-copy .eyebrow{font-size:8px}}
@media(max-width:740px){#lobby .hero-copy h1{font-size:19px}#lobby .hero-copy h1 span{display:none}}
/* Battle 1.4: readable resource bars, equipment and practice controls. */
.battle-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.battle-heading h2{margin:5px 0}.battle-heading>b{font-size:25px;color:#ead096}.armory-layout{display:grid;grid-template-columns:76px minmax(190px,1fr) minmax(185px,.65fr);gap:14px}.armory-categories{display:flex;flex-direction:column;gap:7px}.armory-categories button,.training-actions button,.recipe-list button{background:#16314d;border:1px solid #819db04d;color:#cddcea;padding:12px 7px;min-height:44px}.armory-categories .active{background:#52617b;border-color:#dfc285;color:#ffe6ae}.armory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:7px;max-height:340px;overflow:auto}.equipment-tile{background:linear-gradient(140deg,#29445e,#10273e);border:1px solid #8599ac4a;color:#d7e5ed;min-height:82px;padding:8px 4px;cursor:pointer}.equipment-tile.selected{border-color:#f3cb77;box-shadow:inset 0 0 12px #d8ad4433}.equipment-tile.owned{background:#315550}.equipment-tile>span{display:block;font-size:24px;color:#e9c987}.equipment-tile>b{display:block;font-size:12px;font-weight:500;margin:4px 0}.equipment-tile>small{font-size:10px;color:#d8bd83}.equipment-detail{padding:12px;background:#091c30aa;border:1px solid #829eb32b;min-width:0}.detail-icon{font-size:32px;color:#ead498}.equipment-detail h3{margin:8px 0}.equipment-detail p{font-size:12px;line-height:1.8}.equipment-detail>small{font-size:10px;color:#a7bed0}.equipment-detail .primary,.equipment-detail .secondary{width:100%;font-size:12px;padding:10px;margin:7px 0 0}.recipe-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;font-size:11px;color:#9fb8ce}.recipe-list button{font-size:10px;padding:7px}.equipment-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:12px}.equipment-slots button{min-height:48px;background:#10273f;border:1px solid #7b9aaa55;color:#e8ce96;padding:6px}.equipment-slots span{display:block;font-size:20px}.equipment-slots small{font-size:9px}.battle-note{font-size:11px!important;color:#8eacc5!important}.score-row{border-left:3px solid #90cee1;background:#152e4b;padding:12px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.5fr;gap:8px;margin-bottom:12px;align-items:center}.score-row.enemy{border-color:#de8b8b;background:#352c3d}.score-row small{display:block;font-size:10px;color:#a6b8cb;margin-top:5px}.score-row strong{font-size:17px}.score-row>span{font-size:12px}.score-items{display:flex;gap:3px}.score-items span{display:grid;place-items:center;width:26px;height:29px;background:#091d33;color:#e8ca86;border:1px solid #7993a15c}.score-stats{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #e3dbc522;font-size:10px;color:#b9cbdb}.score-stats b{color:#e8d7b3}.attribute-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.attribute-grid>div{background:#0a2138;padding:10px}.attribute-grid small,.attribute-grid b{display:block}.attribute-grid small{color:#9cb2c6;font-size:10px;margin-bottom:7px}.attribute-grid b{font-size:12px;color:#e3d4ae}.training-switches{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0}.training-switches label{display:flex;align-items:center;gap:8px;font-size:13px;min-height:36px}.training-switches input{width:21px;height:21px;accent-color:#dcbf80}.training-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.training-heroes{display:flex;gap:18px;margin:17px 0}.training-heroes label{display:grid;gap:8px;font-size:12px;flex:1}.training-heroes select{width:100%;min-height:40px}.top-score{cursor:pointer;pointer-events:auto!important}.resource-caption{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#a7d6f3;line-height:13px}#shield-label{color:#f4d693}#xp-label{font-size:8px;color:#d0b47b;display:block;line-height:12px}.hero-status .health-track{height:9px}.hero-status .mana-track{height:5px}.hero-status .xp-track{height:3px;margin-top:1px}#hp-label{font-variant-numeric:tabular-nums;white-space:nowrap}.hero-status .status-bars{min-width:180px}#training-btn{position:absolute;left:50%;top:118px;transform:translateX(-50%);pointer-events:auto;min-height:36px;background:#173b50d9;border:1px solid #aad3dc77;color:#d6eee8;padding:7px 20px;font-size:11px;z-index:10}#practice-readout{max-width:58vw;white-space:normal;text-align:center}.primary:disabled{filter:grayscale(.6);opacity:.5;cursor:default}
@media(max-height:450px){.battle-heading{margin-bottom:10px}.battle-heading h2{font-size:21px}.armory-grid{max-height:185px;grid-template-columns:repeat(4,minmax(0,1fr))}.equipment-tile{min-height:65px}.equipment-tile>span{font-size:21px}.equipment-tile>b{font-size:10px}.equipment-detail{padding:8px}.equipment-detail p{font-size:10px;margin:7px 0}.equipment-detail h3{font-size:14px}.detail-icon{display:none}.recipe-list{margin:7px 0}.equipment-slots{margin-top:8px}.score-row{padding:9px}.hero-status .status-bars{min-width:156px}#training-btn{top:109px;font-size:9px;min-height:28px;padding:5px 12px}.resource-caption,#xp-label{font-size:7px;line-height:10px}.hero-status .health-track{height:7px}.hero-status .mana-track{height:4px}.attribute-grid{grid-template-columns:repeat(5,1fr)}.training-actions button{font-size:11px;min-height:40px}.training-switches{gap:10px}.training-switches label{font-size:11px}.battle-note{margin:7px 0!important}}
@media(max-width:740px){.armory-layout{grid-template-columns:55px minmax(170px,1fr) 165px;gap:8px}.armory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.armory-categories button{font-size:11px;padding:8px 4px}.score-row{grid-template-columns:1fr .8fr .8fr 1fr;font-size:11px}.score-items span{width:20px;height:24px}.score-row strong{font-size:13px}.attribute-grid{grid-template-columns:repeat(3,1fr)}.score-stats{font-size:9px;flex-wrap:wrap}.hero-status .status-bars{min-width:145px}#status-name{font-size:10px}#hp-label{font-size:9px}}
#hud .hero-status{width:238px;max-width:31vw;padding:6px;gap:7px;align-items:center;bottom:12px}#hud .hero-status .status-bars{min-width:0;flex:1;width:auto}#hud #portrait{flex:0 0 36px;width:36px;height:40px}#hud #portrait #level{font-size:12px;line-height:19px;width:21px;height:21px;right:-5px;bottom:-4px;border:1px solid #ddc27c;background:#163649;border-radius:50%}#hud .status-heading{font-size:10px;line-height:15px;gap:5px}#hud #hp-label{font-size:10px;line-height:15px}#hud .resource-caption{font-size:9px;line-height:13px}#hud #xp-label{font-size:9px;line-height:12px}#hud .utility{bottom:124px}#hud #attack-meter{bottom:178px}#hud #inventory button{min-width:0}#hud .health-track,#hud .mana-track,#hud .xp-track{overflow:hidden;border-radius:2px}#hud .health-track{background:#1e3b3b}#hud .mana-track{background:#122b43}#hud .xp-track{background:#3d392d}#hud #hp-bar{background:repeating-linear-gradient(90deg,transparent 0,transparent 25px,#23473766 25px,#23473766 26px),linear-gradient(90deg,#6db29a,#a9e8bd)}
@media(max-width:740px){#hud .hero-status{width:210px;max-width:32vw;padding:5px;gap:6px}#hud #portrait{flex-basis:28px;width:28px;height:34px}#hud .status-heading,#hud #hp-label{font-size:9px}#hud .resource-caption,#hud #xp-label{font-size:8px}#hud .utility{bottom:117px}#hud #attack-meter{bottom:168px}}

@media(max-height:450px){.panel:has(.armory-layout){padding:18px 22px}.armory-layout{height:175px}.armory-grid{max-height:175px}.armory-categories{gap:4px}.armory-categories button{min-height:0;padding:6px;flex:1}.equipment-detail{max-height:175px;overflow:auto}.battle-heading:has(+.armory-layout){margin-bottom:9px}.equipment-slots button{min-height:43px;padding:3px}.equipment-slots+ .battle-note{font-size:9px!important;margin:6px 0!important}.equipment-slots{gap:5px}}

/* Player HUD: overhead resources; the bottom inspection panel is opt-in practice only. */
#hud .hero-status{display:none!important}#hud.observer-mode .hero-status{display:flex!important}#hud .utility{bottom:28px}#hud.observer-mode .utility{bottom:124px}#hud #attack-meter{bottom:88px}#hud.observer-mode #attack-meter{bottom:178px}#hud #training-btn{left:145px;top:59px;transform:none;min-height:34px;padding:7px 12px}#hud #target-lock:not(.locked){display:none}#hud #practice-readout{top:99px}body:has(.armory-layout) #toast{top:auto;bottom:6px;left:50%;transform:translateX(-50%);max-width:80%;padding:7px 16px;font-size:11px;pointer-events:none}
.panel:has(.armory-layout){width:min(960px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:680px;padding:18px 24px;box-sizing:border-box}.panel:has(.armory-layout) #modal-content{display:grid;grid-template-rows:40px minmax(0,1fr) 52px 16px;gap:8px;height:100%;max-height:none;overflow:hidden}.battle-heading:has(+.armory-layout){margin:0;padding-right:22px;min-height:0}.battle-heading:has(+.armory-layout) h2{font-size:19px;margin:2px 0}.battle-heading:has(+.armory-layout) .eyebrow{font-size:8px}.armory-layout{min-height:0;height:auto;overflow:hidden;grid-template-columns:72px minmax(0,1fr) 222px;gap:12px}.armory-categories{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:4px;min-height:0;overflow:hidden}.armory-categories button{min-height:0;padding:5px;font-size:12px}.armory-grid{min-height:0;max-height:none;height:100%;overflow:auto;align-content:start;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:76px;gap:6px;padding-right:3px}.equipment-tile{display:grid!important;grid-template-rows:24px 16px 14px;gap:2px;height:76px;min-height:76px;padding:7px 4px;box-sizing:border-box;overflow:hidden;align-items:center}.equipment-tile>span,.equipment-tile>b,.equipment-tile>small{position:static!important;margin:0!important;display:block!important;line-height:normal;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.equipment-tile>span{font-size:24px;line-height:24px}.equipment-tile>b{font-size:11px;line-height:16px}.equipment-tile>small{font-size:10px;line-height:14px}.equipment-detail{min-height:0;height:100%;max-height:none;overflow:auto;padding:10px}.equipment-detail .detail-icon{display:none}.equipment-detail h3{font-size:15px;margin:2px 0 6px}.equipment-detail p{font-size:11px;line-height:1.6;margin:6px 0}.equipment-detail .recipe-list{margin:7px 0}.equipment-detail .primary,.equipment-detail .secondary{min-height:36px;padding:8px;margin-top:5px}.equipment-slots{min-height:0;margin:0;gap:8px}.equipment-slots button{min-height:0;height:52px;margin:0;padding:4px;overflow:hidden}.equipment-slots button>span{font-size:21px;line-height:24px}.equipment-slots small{font-size:10px;line-height:14px}.equipment-slots+.battle-note{margin:0!important;font-size:10px!important;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:740px){.panel:has(.armory-layout){padding:14px 16px}.armory-layout{grid-template-columns:54px minmax(0,1fr) 176px;gap:7px}.armory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.equipment-detail{padding:8px}.armory-categories button{font-size:10px}#hud #training-btn{left:126px;top:57px;font-size:10px}.equipment-slots{gap:5px}.equipment-slots small{font-size:9px}.equipment-slots+.battle-note{font-size:9px!important}}
/* 1.4.1: purchase dock and distinct auxiliary attack touch targets. */
#purchase-dock{position:absolute;left:max(10px,var(--safe-left));display:flex;align-items:flex-start;gap:7px;pointer-events:none;z-index:8}
body[data-shop-side="right"] #purchase-dock{left:auto;right:max(12px,var(--safe-right));flex-direction:row-reverse}
#purchase-dock #shop-btn{pointer-events:auto;width:56px;min-width:56px;height:58px;min-height:58px;padding:4px;display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;border:1px solid #dec38199;background:linear-gradient(#1e3f57ed,#102b40ed);border-radius:6px;color:#f3d596}
#shop-btn>span{font-size:17px;line-height:19px}#shop-btn>b{font-size:13px;line-height:15px;font-variant-numeric:tabular-nums}#shop-btn>small{margin:0!important;font-size:8px;line-height:11px}
#quick-purchases{display:flex;gap:5px;position:relative;pointer-events:none}
#quick-purchases>button{position:relative!important;left:auto!important;top:auto!important;pointer-events:auto;width:67px;height:58px;max-width:none!important;padding:4px 3px!important;border:1px solid #8f9da861;background:#123044e8;color:#98b7c9;border-radius:5px;display:grid;grid-template-rows:20px 13px 12px;gap:1px;text-align:center;box-sizing:border-box}
#quick-purchases>button[hidden]{display:none!important}#quick-purchases>button.affordable{color:#f1d99f;border-color:#ccb275;box-shadow:none}#quick-purchases>button.priority.affordable{box-shadow:inset 0 0 10px #e5bd5030;border-color:#f4d799}#quick-purchases>button:disabled{cursor:default;filter:saturate(.6)}#quick-purchases span{font-size:20px;line-height:20px}#quick-purchases b{font-size:9px;line-height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#quick-purchases small{font-size:9px;line-height:12px}#quick-purchases em{position:absolute;right:1px;top:1px;font-size:7px;font-style:normal;color:#b6ccd3;background:#122b3edd;padding:1px}
#quick-purchases #quick-buy-notice{width:110px;display:block;min-height:44px;font-size:10px;color:#edc48a}
#hud #combat-controls{width:244px;height:236px;bottom:calc(22px + var(--safe-bottom))}
#hud #combat-controls .skill{width:58px;height:58px;left:0;right:auto;bottom:4px}
#hud #combat-controls .skill[data-skill="1"]{left:18px;bottom:104px}
#hud #combat-controls .skill.ultimate{left:auto;right:24px;bottom:166px;width:64px;height:64px}
#hud #attack-btn{left:auto;right:4px;bottom:0;width:84px;height:84px}
#hud #minion-attack{left:auto;right:102px;bottom:0;width:44px;height:44px}
#hud #tower-attack{left:auto;right:2px;bottom:108px;width:44px;height:44px}
#hud #hero-lock{left:auto;right:104px;bottom:64px;width:42px;height:42px}
#hud .target-attack span{font-size:21px;line-height:24px}#hud .target-attack small{font-size:8px;line-height:10px;position:static;display:block;transform:none}
#hud .target-attack:not(.pressed){border-color:#90aebb66}#hud .target-attack.target-ready{border-color:#b6d7df;color:#def8f6}#hud #minion-attack.last-hit-ready{border-color:#f3d493;box-shadow:0 0 10px #edc76a66;color:#ffe7a7}#hud #minion-attack[hidden],#hud #tower-attack[hidden]{display:none!important}
#settings-search{box-sizing:border-box;width:100%;padding:10px 12px;background:#0c243b;border:1px solid #6e91ad77;color:#dce9f3;border-radius:4px;font-size:12px;margin:0 0 8px;user-select:text;touch-action:auto}
.setting-search-result{display:block;width:100%;text-align:left;padding:15px 10px;border-bottom:1px solid #8aa4bd33;font-size:13px;color:#d5e7f4}#settings-search-results[hidden],#settings-fields[hidden]{display:none!important}
#purchase-reason{display:block;color:#dfbd8c;font-size:10px;line-height:16px;margin-top:4px}
body[data-shop-side="left"] .panel:has(.armory-layout) #close-modal{right:auto;left:12px}body[data-shop-side="left"] .panel:has(.armory-layout) .battle-heading{padding-left:35px;padding-right:0}
@media(max-height:380px){#purchase-dock{gap:5px}#purchase-dock #shop-btn,#quick-purchases>button{height:54px;min-height:54px}#purchase-dock #shop-btn{width:52px;min-width:52px}#quick-purchases>button{width:63px;grid-template-rows:18px 12px 12px}#quick-purchases span{font-size:18px;line-height:18px}}
.setting-row select{background:#132d46;border:1px solid #718da566;color:#e1ecf6;border-radius:4px;min-height:36px;padding:6px 9px;font-size:12px;max-width:48%}
.panel:has(.settings-shell){width:min(960px,calc(100vw - 24px));height:calc(100dvh - 32px);max-height:680px;box-sizing:border-box;padding:18px 24px}
.panel:has(.settings-shell) #modal-content{height:100%;max-height:none;display:flex;flex-direction:column;overflow:hidden}
.settings-head{flex:0 0 auto;margin-bottom:10px;padding-right:30px}.settings-head h2{font-size:21px;margin:6px 0 12px}.settings-shell{min-height:0;flex:1}.settings-shell>section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.settings-nav{max-height:100%;overflow:auto;position:static}.settings-nav button{min-height:38px;padding:10px 7px}.settings-shell #settings-fields,.settings-shell #settings-search-results{overflow:auto;min-height:0;flex:1;padding-right:10px}.settings-shell #settings-search{flex:0 0 auto}.settings-shell .setting-row{min-height:52px;padding:10px 0}.settings-shell .setting-row>label{font-size:13px}.settings-shell .setting-row small{font-size:10px}
@media(max-width:740px){.panel:has(.settings-shell){padding:14px 16px}.settings-shell{grid-template-columns:78px 1fr;gap:12px}.setting-row select{min-width:125px;font-size:11px}.settings-head h2{font-size:19px}}
#cloud-warning{position:absolute;left:19%;right:19%;top:110px;z-index:20;padding:9px 12px;display:flex;align-items:center;gap:12px;background:#302e33f2;border:1px solid #d9b67a88;border-radius:5px;color:#f0d6aa;font-size:11px}#cloud-warning span{flex:1}#cloud-warning button{min-height:34px;padding:6px 12px;background:#d5ba84;color:#172b3b;white-space:nowrap;border-radius:4px}.network-result{white-space:pre-wrap;word-break:break-all;user-select:text;font-size:11px;line-height:1.7;background:#0c2438;padding:12px}
@media(max-height:450px){#cloud-warning{top:66px;left:16%;right:5%;font-size:10px;padding:6px 9px}}
