/* Compact, worn metal catalogue and character sheet */
#game-shell{--profile-dialog-width:660px;--profile-character-width:195.48px;--profile-inventory-width:calc(var(--profile-dialog-width) - var(--profile-character-width) - 12px)}
.shop-panel,.profile-dialog,.public-profile-dialog{background:repeating-linear-gradient(115deg,#0000 0 4px,#00000009 4px 6px),radial-gradient(ellipse at 30% 30%,#705131,#382b1e 80%);color:#e3d7b5}
.shop-panel,.clans-dialog{position:relative;isolation:isolate;background:none;box-shadow:inset 0 0 0 1px #000}
.shop-panel{margin-right:4px}
.shop-panel::before,.profile-list-viewport::before,.profile-character::before,.profile-character-empty::before,:is(#profile-dialog,#player-profile-dialog) .profile-overview::before,:is(#profile-dialog,#player-profile-dialog) .skills-panel::before,.auth-recovery .auth-modal-inner::before,.auth-registration .auth-modal-inner::before,.auth-support .auth-modal-inner::before,#create-dialog .create-dialog-inner::before,#team-choice-dialog .team-choice-inner::before{content:'';position:absolute;inset:1px;z-index:-1;pointer-events:none;background:#2d2117 url('/assets/my_yellow.png') center/cover no-repeat;opacity:.2}
.auth-recovery .auth-modal-inner::before,.auth-registration .auth-modal-inner::before{opacity:.4}
.auth-support .auth-modal-inner::before,#create-dialog.tournament-create .create-dialog-inner::before,#team-choice-dialog .team-choice-inner::before{opacity:.6}
/* Match the profile list width after its two 4px viewport insets */
.shop-layout{grid-template-columns:minmax(0,1fr) calc(var(--profile-inventory-width) - 8px);gap:4px;padding:4px;overflow:hidden}
.shop-categories{grid-column:1;grid-row:1;display:grid;grid-auto-rows:minmax(0,1fr);gap:2px;min-height:0;overflow:hidden;border-right:0;padding-right:0}
.shop-categories>button{min-height:29px;height:29px;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 7px;font:10px 'IBM Plex Sans',sans-serif;background:linear-gradient(#8b632f,#5d4021);border:1px solid #6e532f;color:#e4d5b4}
.shop-categories>button:disabled{background:linear-gradient(#b48a3d,#7e5628);box-shadow:inset 3px 0 #edc16c;color:#fff3cb}
.shop-categories canvas{width:52px;height:23px;opacity:.8;flex-shrink:0;filter:brightness(.25)}
.shop-categories .shop-category-image{display:block;width:56px;height:24px;object-fit:contain;flex-shrink:0}
#game-shell #shop-categories>button{position:relative;isolation:isolate;min-width:0;width:100%;padding-left:8px;padding-right:4px;height:100%!important;min-height:0!important;max-height:none!important;background:none!important;border:0!important;box-shadow:inset 0 0 0 1px #000!important}
#game-shell #shop-categories[data-shop-tab=weapons]>button{padding-right:0}
#game-shell #shop-categories[data-shop-tab=artifacts]>button{padding-right:8px}
#game-shell #shop-categories[data-shop-tab=artifacts]>button>span+span{display:flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;font-size:26px!important;line-height:26px}
#game-shell #shop-categories>button::before{content:'';position:absolute;inset:1px;z-index:-1;pointer-events:none;background:#2d2117 url('/assets/my_yellow.png') center/cover no-repeat;opacity:calc(.6 * var(--button-fill-opacity))}
#game-shell #shop-categories>button:disabled{color:#fff0c8;opacity:.4!important}
#game-shell #shop-categories>button[aria-selected=true]{opacity:1!important;box-shadow:inset -1px 0 0 #000,inset 0 1px 0 #000,inset 0 -1px 0 #000!important}
#game-shell #shop-categories>button[aria-selected=true]::before{opacity:1}
#game-shell #shop-nav.nav-active,#game-shell #shop-categories>button>span:first-child{font:400 11px Arial,sans-serif;color:#fff0c8;text-shadow:none}
.shop-categories>button>span:first-child{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#shop-categories .shop-category-label{text-overflow:clip}
#shop-categories .shop-category-text{display:inline-block;white-space:nowrap}
#shop-categories .shop-category-label.is-overflowing>.shop-category-text{animation:shop-category-marquee var(--category-marquee-duration) linear infinite alternate}
@keyframes shop-category-marquee{0%,10%{transform:translateX(0)}90%,100%{transform:translateX(var(--category-marquee-offset))}}
.shop-categories .artifact-icon{width:22px;height:22px;color:#d8e6b4}
.shop-categories .category-caption{display:none}
.shop-categories[data-shop-tab=items]{display:flex;flex-direction:column;gap:8px;padding:4px;overflow-y:auto;background:transparent}
.shop-items-help{margin:0;color:#eee0bc;font-size:11px;line-height:15px;overflow-wrap:anywhere}
.shop-catalog{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0}
#shop-items-info{flex-shrink:0;min-height:22px;margin:4px 0 0}
.armory-tabs{display:flex;background:#0c0c0a;border-bottom:2px ridge #876a40;flex-shrink:0;height:26px}
/* Tabs span the full list width, including its scrollbar */
#shop-panel .armory-tabs{margin-inline:0;background:transparent;border-bottom:0}
:is(#profile-dialog,#player-profile-dialog) .armory-tabs{background:transparent;border-bottom:0}
.armory-tabs>button{flex:1;min-width:0;height:24px;min-height:24px;border:0;border-right:1px solid #6c5435;background:linear-gradient(#26241f,#080a08);font-size:11px;padding:1px 8px;color:#d6d1c0}
.armory-tabs>button[aria-selected=true]{background:linear-gradient(#b88a42,#745025);color:#fff0c8}
.shop-list-viewport,.profile-list-viewport,.profile-items-viewport{flex:1;min-height:0;overflow:hidden}
.shop-list-viewport{padding:0}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list){scrollbar-gutter:stable}
.armory-scroll-viewport{position:relative}
.armory-scroll-viewport.armory-scroll-more::after{content:'';position:absolute;right:var(--armory-scrollbar-width,0px);bottom:0;left:0;z-index:2;height:16px;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}
.profile-list-viewport{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:4px}
.profile-list-viewport::before{inset:0;opacity:.2}
.profile-list-viewport::after{content:'';position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 0 1px #000;pointer-events:none}
#shop-weapons{height:100%;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#8c7653 #211c14}
/* The 8px left inset includes the 1px border */
.armory-category-title{position:relative;isolation:isolate;box-sizing:border-box;height:22px;margin:0;padding:0 4px 0 7px;color:#fff0c8;background:none;border:1px solid #000;border-right:0;box-shadow:none;font:400 11px/20px Arial,sans-serif}
.armory-category-title::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#2d2117 url('/assets/my_yellow.png') center/cover no-repeat;opacity:.4;mask-image:linear-gradient(to right,#000 50%,transparent 100%)}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-category-title~.armory-category-title{border-top:0}
.armory-weapon{position:relative;display:grid;grid-template-columns:minmax(130px,1fr) 124px 102px;gap:2px 9px;padding:9px 6px 5px;border:0;background:linear-gradient(100deg,#bd8b4824,#1f1c1418);min-height:142px}
.armory-weapon::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 1px 0 0 #000,inset 0 -1px 0 #000}
.armory-visual{position:relative;min-width:0;align-self:center}
.armory-visual canvas{width:100%;height:auto;max-height:88px;object-fit:contain;display:block;transform:scale(var(--weapon-picture-scale,1));filter:drop-shadow(4px 4px 4px rgba(0,0,0,.8))}
.catalog-weapon .armory-visual img{display:block;width:100%;height:88px;object-fit:contain;filter:drop-shadow(4px 4px 4px rgba(0,0,0,.8))}
.catalog-weapon .armory-item-footer{flex-wrap:wrap}
.catalog-weapon .armory-item-footer>b{flex-basis:100%}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-weapon{height:auto;min-height:0;grid-template-columns:minmax(0,1fr) minmax(124px,auto) minmax(102px,auto);grid-template-rows:auto 22px;padding:4px 4px 4px 6px}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-visual{align-self:stretch;width:calc(108% + 11.88px);margin:-4px 0 -5px -6px}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-visual{min-width:calc(52px * 360 / 136)}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-visual :is(img,canvas){position:absolute;left:50%;bottom:0;width:auto;height:100%;max-width:100%;max-height:none;object-fit:contain;object-position:center bottom;transform:translateX(-50%) scale(var(--weapon-picture-scale,1))}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-item-footer{display:grid;grid-template-columns:subgrid;min-width:0;padding-block:0;column-gap:9px}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-item-footer>b{grid-column:1;align-self:end;display:flex;align-items:center;gap:4px;min-width:0;width:calc(108% + 11.88px);height:22px;margin:0 -5px -3px -6px;padding:2px 4px;background:rgb(60,60,60);box-shadow:inset 1px 0 0 #000,inset -1px 0 0 #000,inset 0 1px 0 #000;line-height:18px;overflow:hidden;white-space:nowrap}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-item-footer>b{position:relative;overflow:visible}
.armory-critical{position:absolute;left:4px;bottom:calc(100% + 2px);max-width:calc(100% - 8px);font-size:11px;font-weight:400;line-height:12px;color:#ff3b30;text-shadow:1px 1px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-weapon-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#fff;text-shadow:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-item-footer .weapon-accuracy{flex-shrink:0;margin-left:auto;padding:0;line-height:inherit}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-purchase{grid-column:2/-1;align-self:end;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;margin:0 -4px -2px -9px}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-purchase>.armory-price{justify-self:start;min-width:0;max-width:100%}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-purchase>:is(.armory-price,button){flex-shrink:0}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-purchase>button{justify-self:stretch;min-width:0;width:auto;margin-inline:0 4px}
#shop-weapons .armory-currency-icon,:is(#profile-inventory-list,#player-profile-inventory-list) .armory-weapon .armory-currency-icon{width:20px;flex:0 0 20px;min-width:0}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-purchase>button{padding-inline:8px}
.weapon-accuracy{display:block;font-size:11px;color:#dcecb4;padding:3px}
:is(.armory-characteristics,.armory-requirements){font:400 11px/1.2 Arial,sans-serif;color:#fff0c5}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) :is(.armory-characteristics,.armory-requirements){margin-top:0}
.armory-stat{display:flex;align-items:baseline;min-width:0;color:#e3d7b5}
.armory-stat-label{display:flex;align-items:baseline;flex:1;min-width:0;white-space:nowrap}
.armory-stat-label::after{content:'';flex:1;min-width:0;border-bottom:1px dotted currentColor}
.armory-stat-value{flex-shrink:0;text-align:right;white-space:nowrap;color:#f4e8c6}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) .armory-requirements{min-width:0;margin-right:0}
.armory-requirements .armory-stat-value{position:relative;display:flex;align-items:center;gap:0}
.armory-requirements .requirement-locked .armory-stat-value{padding-right:16px}
.armory-equipped-requirements{display:flex;flex-direction:column}
.armory-equipped-requirements>.armory-stat{flex-shrink:0}
/* Extend 1px into the 9px column gap, keeping the checkbox 8px from the left block */
#game-shell :is(#profile-inventory-list,#player-profile-inventory-list) .armory-equipped{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex-shrink:0;width:calc(100% + 1px);height:22px;min-height:22px;margin:auto 0 auto -1px;padding:0;border:0;box-shadow:none;background:transparent;color:#ff3b30;font:400 11px/22px 'IBM Plex Sans',sans-serif;text-align:center;white-space:nowrap;cursor:default}
#game-shell :is(#profile-inventory-list,#player-profile-inventory-list) .armory-equipped:has(input:checked){color:rgb(0,220,0)}
#game-shell :is(#profile-inventory-list,#player-profile-inventory-list) .armory-equipped>input{flex:0 0 14px;width:14px;height:14px;min-height:14px;margin:0}
#game-shell :is(#profile-inventory-list,#player-profile-inventory-list) .armory-equipped:has(input:disabled){cursor:default}
#game-shell :is(#profile-inventory-list,#player-profile-inventory-list) .armory-equipped:has(input:disabled)>span{opacity:.4}
.armory-requirements button,.artifact-purchase button{min-height:19px;height:19px;font-size:9px;background:linear-gradient(#302c22,#080a08);border:1px solid #776345;padding:0 8px}
.armory-item-footer{grid-column:1/-1;display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:2px 0;background:none;flex:0}
.armory-purchase{display:contents}
.armory-item-footer b{font-size:11px;color:#ffe2a2;font-weight:400;margin-right:auto}
.armory-owned{font-size:9px;color:#b6d594;white-space:nowrap}
.armory-price{display:flex;align-items:center;gap:4px;font-size:11px;color:rgb(200,200,200);white-space:nowrap}
.armory-currency-price{display:flex;align-items:center;justify-content:center;box-sizing:border-box;gap:4px;height:18px;padding:0;background:rgb(20,20,20);box-shadow:inset 0 -1px 0 rgb(80,80,80),inset 0 0 6px #000;font:400 11px/18px 'IBM Plex Sans',sans-serif;text-align:center}
.armory-currency-price.currency-insufficient{color:#ff3b30}
:is(#shop-weapons,#profile-inventory-list,#player-profile-inventory-list) :is(.armory-coins-price,.armory-cash-price){width:60px;flex:0 0 60px}
.armory-currency-icon{display:block;flex-shrink:0;width:20px;height:20px;object-fit:contain}
.armory-artifact{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px;border:0;padding:0 4px 0 0;height:auto;min-height:74px;background:linear-gradient(100deg,#bd8b4824,#1f1c1418)}
.armory-artifact::after{content:'';position:absolute;right:0;bottom:0;left:0;border-bottom:1px solid #000;pointer-events:none}
.artifact-picture{height:74px;border:0;display:grid;place-items:center;color:#b7e37b;background:radial-gradient(#506b2e,#102510 65%,#070b06);box-shadow:none;align-self:center}
.artifact-picture.defence{color:#b7d4ff;background:radial-gradient(#3e5081,#101429 70%)}
.artifact-picture.health{color:#ff8870;background:radial-gradient(#8a3325,#270c08 70%)}
.artifact-picture.explosions{color:#f2db99;background:radial-gradient(#7a692e,#292215 70%)}
.artifact-picture.bounty{color:#f7dd82;background:radial-gradient(#6c622a,#272510 70%)}
.artifact-icon{width:100%;height:100%;max-width:62px;max-height:62px;filter:drop-shadow(0 0 4px currentColor)}
.artifact-picture>.artifact-icon{display:block;width:80px;height:74px;max-width:none;max-height:none;margin:0}
.artifact-icon:is(img){object-fit:contain}
.artifact-details{display:grid;grid-template-rows:14px minmax(min-content,1fr) 24px;gap:2px;min-width:0;min-height:0;padding-top:4px}
.artifact-details h4{font-size:11px;font-weight:700;line-height:14px;color:#fff0c0;margin:0}
.artifact-bonuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:0 8px;margin:0;font-size:9px;line-height:11px}
.artifact-bonuses>div{display:flex;justify-content:space-between;gap:4px;min-width:0;color:rgb(200,200,200)}
.artifact-bonuses dt,.artifact-bonuses dd{margin:0}
.artifact-bonuses .bonus-active{color:rgb(0,220,0)}
.artifact-purchase{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;margin-top:0;padding-bottom:2px;font-size:9px}
.artifact-price{align-items:flex-end;margin-bottom:2px;font-weight:400}
.artifact-price .armory-currency-icon{width:20px;height:20px}
.armory-shop-item{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;height:auto;min-height:var(--shop-item-height,74px);border:0;padding:0;background:linear-gradient(100deg,#bd8b4824,#1f1c1418)}
.armory-shop-item::after{content:'';position:absolute;right:0;bottom:0;left:0;border-bottom:1px solid #000;pointer-events:none}
:is(.armory-weapon,.armory-artifact,.armory-shop-item){isolation:isolate;background:none}
:is(.armory-weapon,.armory-artifact,.armory-shop-item)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#2d2117 url('/assets/my_yellow.png') center/cover no-repeat;opacity:.4}
.shop-item-picture{display:block;width:80px;height:74px;object-fit:contain}
.shop-item-details{display:grid;grid-template-rows:16px minmax(min-content,1fr) 28px;gap:2px;min-width:0;min-height:0;padding:4px}
.shop-item-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0;font-size:11px;line-height:14px;color:#fff}
.shop-item-heading>b{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:700;white-space:nowrap}
.shop-item-duration{flex-shrink:0;color:#6dff4b}
.shop-item-description{font-size:11px;line-height:14px;color:rgb(200,200,200);overflow-wrap:anywhere}
.shop-item-purchase{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-width:0;padding-bottom:0;margin-right:0}
#shop-weapons .shop-item-purchase{align-items:center;justify-content:flex-start}
#shop-weapons .shop-item-purchase>.armory-price{flex-shrink:0;margin-left:auto}
.shop-item-days{display:flex;gap:6px;min-width:0;margin:0;padding:0;border:0}
.shop-item-days label{display:grid;justify-items:center;gap:1px;margin:0;color:#6dff4b;font:11px/12px Arial,sans-serif}
#game-shell .shop-item-days input{margin:0;padding:0}
.shop-item-purchase .armory-price{gap:4px}
.shop-item-purchase .armory-currency-icon{width:20px;height:20px}
.shop-item-purchase .armory-currency-price{min-width:60px}
.item-dual-currency .shop-item-purchase .armory-currency-price{min-width:0}
#game-shell :is(#profile-inventory-list,#player-profile-inventory-list) .shop-item-purchase>.armory-equipped{flex:none;width:auto;margin:0;white-space:nowrap}
.shop-item-purchase>button{flex-shrink:0;padding-inline:8px}
.armory-requirements .requirement-locked,.armory-requirements .requirement-locked :is(.armory-stat-label,.armory-stat-value){color:#ff3b30}
.armory-requirement-dot{position:absolute;top:50%;right:-4px;transform:translateY(-50%);display:block;width:20px;height:20px;margin:0;padding:0;object-fit:contain}
.inventory-empty{padding:20px 12px;color:#cab693;font-size:11px;line-height:1.7}
.inventory-empty button{display:block;margin-top:12px;font-size:10px;padding:2px 14px}
:is(#profile-dialog,#player-profile-dialog),.public-profile-dialog{width:680px;height:440px;background:#2d2117 url('/assets/lobby-background.png') center/cover no-repeat}
:is(#profile-dialog,#player-profile-dialog){inset:50% auto auto 50%;transform:translate(-50%,-50%);width:var(--profile-dialog-width);--profile-balances-height:62px;--profile-currency-bottom:4px;--profile-currency-height:28px;padding:10px 4px 12px 12px;border:3px ridge #a08453;box-shadow:0 4px 30px #000}
:is(#profile-dialog,#player-profile-dialog) h2{font:400 11px/14px 'IBM Plex Sans',sans-serif;margin:0;padding:0 0 0 4px;border:0;color:#f0dab1;height:auto}
:is(#profile-title,#player-profile-title){position:relative;z-index:1;flex-shrink:0}
:is(#profile-player-id,#player-profile-id,#profile-clan-id,#player-profile-clan-id){color:rgb(220,220,220)}
#game-shell :is(#profile-player-id,#player-profile-id,#profile-clan-id,#player-profile-clan-id){-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default;cursor:text}
:is(#profile-dialog,#player-profile-dialog) .profile-heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-right:0}
.profile-name-line{display:flex;align-items:center;gap:0;min-width:0}
.profile-presence{display:block;flex:none;width:16px;height:16px;margin:0;padding:0}
.profile-presence[data-online=true]{filter:hue-rotate(120deg) brightness(2)}
.profile-identifiers{display:flex;align-items:baseline;align-self:stretch;justify-content:space-between;gap:4px;min-width:0}
:is(#profile-player-id,#player-profile-id){flex:none;white-space:nowrap}
:is(#profile-clan-id,#player-profile-clan-id){min-width:0;margin-left:auto;text-align:right;overflow-wrap:anywhere}
:is(#profile-dialog,#player-profile-dialog) .dialog-close,.public-profile-dialog .dialog-close{top:5px;right:5px;width:22px;height:22px;min-height:22px;font-size:18px;line-height:1;color:#ffd5c2;background:#8d2e22;border:1px solid #471711;padding:0;z-index:1}
:is(#profile-dialog,#player-profile-dialog) .profile-body{height:386px;margin-top:24px;grid-template-columns:var(--profile-character-width) minmax(0,1fr);gap:12px}
.profile-character{position:absolute;inset:4px auto calc(var(--profile-balances-height,20%) + 8px) 4px;isolation:isolate;display:flex;flex-direction:column;width:var(--profile-character-width,181px);min-height:0;padding:8px 9px 4px 4px;border:1px solid #000}
.profile-character-empty{position:absolute;left:4px;bottom:4px;isolation:isolate;width:var(--profile-character-width,181px);height:var(--profile-balances-height,20%);border:1px solid #000}
:is(#profile-dialog,#player-profile-dialog) .profile-character{bottom:calc(var(--profile-balances-height,20%) + 34px)}
.profile-reset,.profile-report{position:absolute;left:4px;bottom:calc(var(--profile-balances-height,20%) + 8px);width:var(--profile-character-width,181px);height:22px;min-height:22px;padding:0 4px}
.profile-reset{bottom:4px}
#profile-dialog{--profile-currency-bottom:30px}
.profile-character::before,.profile-character-empty::before{inset:0}
.profile-experience-panel{display:none;bottom:var(--profile-currency-bottom);height:30px;padding:2px 8px;font:11px Arial,sans-serif;font-variant-numeric:tabular-nums}
.profile-experience-panel>.profile-experience{height:100%}
.profile-balances{bottom:calc(var(--profile-currency-bottom) + 34px);height:var(--profile-currency-height);padding:4px 7px;font:11px Arial,sans-serif;font-variant-numeric:tabular-nums}
.profile-currencies{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}
.profile-balance-coins,.profile-balance-cash{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px;align-items:center;min-width:0}
.profile-balances b,.profile-experience-content{min-width:0;height:18px;background:rgb(20,20,20);border-radius:0;box-shadow:inset 0 -1px 0 rgb(80,80,80),inset 0 0 6px #000;color:var(--player-counter-color);font:400 11px/18px Arial,sans-serif;text-align:center;text-shadow:none;white-space:nowrap;overflow:hidden}
.profile-balances b{display:block;width:100%;padding:0 4px;text-overflow:clip}
.profile-experience{position:relative;display:flex;align-items:center;border:0;padding:0}
.profile-experience-content{display:flex;align-items:center;gap:.28em;width:100%;padding:0 4px 0 .28em}
.profile-experience-rank{display:flex;align-items:center;flex:none;gap:.28em}
.profile-experience-details{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;gap:.28em}
.profile-experience-rank>.rank-star{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;font-size:20px;line-height:20px;text-align:center;text-shadow:none;-webkit-text-stroke:0}
.profile-experience-rank>.rank-star>canvas{display:block;width:20px;height:20px}
.profile-experience b{min-width:0;margin:0;padding:0;vertical-align:middle;color:inherit;font:400 11px/18px Arial,sans-serif;white-space:nowrap;text-shadow:none}
.profile-experience .profile-exp-label{vertical-align:middle}
.profile-exp-label{color:var(--player-counter-color);font:400 11px/18px Arial,sans-serif;text-shadow:none}
.profile-balances img{display:block;width:20px;height:20px;object-fit:contain}
:is(#profile-dialog,#player-profile-dialog) .selected-skin{position:relative;z-index:0;background:transparent;border:0;flex:1;min-height:0}
:is(#profile-dialog,#player-profile-dialog) .selected-skin canvas{width:100%;height:100%;min-height:0;object-fit:contain;max-height:277px}
:is(#profile-dialog,#player-profile-dialog) .selected-skin b{font-family:Arial,sans-serif;font-size:11px;padding:0;position:absolute;top:auto;bottom:4px;left:20px;right:20px;height:22px;display:flex;align-items:center;justify-content:center;text-align:center;text-shadow:0 1px 3px #000}
#game-shell :is(#skin-prev,#skin-next){position:absolute;isolation:isolate;z-index:1;top:auto;bottom:4px;padding:0;border:0!important;background:none!important;color:#d7a44b;min-height:22px;height:22px;width:22px;min-width:22px;max-width:22px;font-size:13px}
#game-shell :is(#skin-prev,#skin-next):enabled:hover::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/my_yellow.png') center/cover no-repeat;opacity:.2}
#game-shell :is(#skin-prev,#skin-next):enabled:active::before{opacity:0}
/* The skin viewport starts after the character panel's 1px border and 4px padding */
#skin-prev{left:calc(8px - 1px - 4px)}#skin-next{right:0}
:is(#profile-dialog,#player-profile-dialog) .profile-progression{position:relative;z-index:1;grid-column:auto;height:28px;margin:0 -9px -4px -4px;padding:8px 4px;background:rgb(60,60,60);box-shadow:inset 0 1px 0 #000;flex-shrink:0}
:is(#profile-dialog,#player-profile-dialog) .profile-progression>.xp-meter{display:block}
:is(#profile-dialog,#player-profile-dialog) .xp-meter{position:relative;height:12px;margin:0;border:0;border-radius:8px;overflow:hidden;background:#111}
:is(#profile-dialog,#player-profile-dialog) .xp-meter i{background:#c9010d;border-radius:8px}
:is(#profile-rating-label,#player-profile-rating-label){position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:400 11px/12px 'IBM Plex Sans',sans-serif;text-shadow:0 1px #000}
:is(#profile-dialog,#player-profile-dialog) .skin-options{display:flex;flex-direction:column;gap:2px;flex-shrink:0}
:is(#profile-dialog,#player-profile-dialog) .skin-options canvas{display:none}
:is(#profile-dialog,#player-profile-dialog) .skin-options button{flex-direction:row;gap:6px;border:0;background:none;box-shadow:none;padding:0 3px;min-height:18px;height:18px;text-align:left}
:is(#profile-dialog,#player-profile-dialog) .skin-options button::before{content:'▪';color:#b6a589;font-size:14px}
:is(#profile-dialog,#player-profile-dialog) .skin-options button.selected::before{color:#ffe596;text-shadow:0 0 4px #ffa12a}
:is(#profile-dialog,#player-profile-dialog) .skin-options span{margin:0;font-size:10px;white-space:normal}
:is(#profile-dialog,#player-profile-dialog) .profile-details{grid-column:2;display:flex;flex-direction:column;gap:4px;min-height:0}
/* Shrink the skills panel by 6%, including its 16px extension beyond the grid track */
.profile-summary{display:grid;grid-template-columns:minmax(0,calc((100% - 162px) * .94 - 16px)) minmax(0,1fr);gap:4px;height:140px;min-height:0;flex-shrink:0}
:is(#profile-dialog,#player-profile-dialog) .profile-overview-column{display:flex;flex-direction:column;gap:4px;min-width:0;margin-top:-30px}
:is(#profile-dialog,#player-profile-dialog) .profile-overview{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:0;box-shadow:inset 0 0 0 1px #000}
:is(#profile-info-btn,#player-profile-info-btn){width:100%;flex-shrink:0;padding-inline:4px;white-space:nowrap}
/* Extend the panel above the body's 34px top offset, leaving 4px to the dialog edge */
:is(#profile-dialog,#player-profile-dialog) .skills-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;margin:-30px 0 0 -16px;padding:8px;background:none;border:0;box-shadow:inset 0 0 0 1px #000}
:is(#skills-list,#player-profile-skills){display:flex;flex-direction:column;justify-content:space-between;flex:1;min-height:0}
:is(#profile-dialog,#player-profile-dialog) .skills-panel h3,.profile-overview h3{font-size:10px;font-weight:400;color:#f3dfb2;margin:0 0 5px}
.skills-panel h3 span{float:right;color:#bbab85;font-size:7px;padding-top:2px}
:is(#profile-dialog,#player-profile-dialog) .skill-row{grid-template-columns:minmax(0,1fr) 20px 87px 20px 20px;gap:4px;height:22px;flex:none}
#game-shell #arena-stage .skill-row>button{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px!important;min-height:20px!important;max-height:20px!important;justify-self:center;padding:0;font-size:18px!important;font-weight:400;line-height:18px;text-align:center}
:is(#profile-dialog,#player-profile-dialog,#room-bots-dialog) .skill-label{min-width:0;font-size:10px;gap:4px;margin-right:-1px}
:is(#profile-dialog,#player-profile-dialog,#room-bots-dialog) .skill-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(#profile-dialog,#player-profile-dialog,#room-bots-dialog) .skill-label i{width:18px;flex:0 0 18px;font-size:18px;line-height:18px}
.skill-icon[data-skill=accuracy]{--skill-icon:url('/assets/icons/skill-accuracy.svg')}
.skill-icon[data-skill=defence]{--skill-icon:url('/assets/icons/skill-defence.svg')}
.skill-icon[data-skill=health]{--skill-icon:url('/assets/icons/skill-health.svg')}
.skill-icon[data-skill=explosions]{--skill-icon:url('/assets/icons/skill-explosions.svg')}
.skill-icon[data-skill=strength]{--skill-icon:url('/assets/icons/skill-strength.svg')}
.skill-icon[data-skill=luck]{--skill-icon:url('/assets/icons/skill-luck.svg')}
.skill-icon[data-skill=bounty]{--skill-icon:url('/assets/icons/skill-bounty.svg')}
:is(#profile-dialog,#player-profile-dialog,#room-bots-dialog) .skill-label>.skill-icon{display:block;height:18px;background:currentColor;mask:var(--skill-icon) center/contain no-repeat}
/* Keep the ten skill cells identical in profiles and the room bot editor */
:is(#profile-dialog,#player-profile-dialog,#room-bots-dialog) .skill-bars{width:87px;height:12px;gap:2px}
/* Include the 4px button gap and the panel's 8px right inset in the bonus alignment */
:is(#profile-dialog,#player-profile-dialog) .skill-row>b{margin-left:-4px;margin-right:-8px;font-size:12px;color:rgb(0,220,0);text-align:center;cursor:help}
:is(#profile-dialog,#player-profile-dialog) .skill-budget{font-size:9px;padding-top:4px;margin-top:4px}
:is(#profile-dialog,#player-profile-dialog) .profile-stats{display:flex;flex:1;min-height:0;flex-direction:column;justify-content:space-between;gap:0;margin:0;padding:8px}
:is(#profile-dialog,#player-profile-dialog) .profile-stats>div{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:0;background:none;border:0;padding:0;text-align:left;min-height:0}
:is(#profile-dialog,#player-profile-dialog) .profile-stats span{display:flex;align-items:baseline;flex:1;min-width:0;font:10px/12px 'IBM Plex Sans',sans-serif;color:#dacbad;white-space:nowrap}
:is(#profile-dialog,#player-profile-dialog) .profile-stats span::after{content:'';flex:1;min-width:0;border-bottom:1px dotted currentColor}
:is(#profile-dialog,#player-profile-dialog) .profile-stat-icon{display:block;align-self:center;flex:0 0 16px;width:16px;height:16px;margin-right:4px;fill:currentColor;stroke:none}
:is(#profile-dialog,#player-profile-dialog) .profile-stats b{flex-shrink:0;font:10px/12px 'IBM Plex Sans',sans-serif;color:#e7eda7;white-space:nowrap}
.profile-inventory{display:flex;flex-direction:column;flex:1;min-height:0;border-top:2px ridge #a37e4b}
:is(#profile-dialog,#player-profile-dialog) .profile-inventory{margin-top:0;margin-bottom:-16px;margin-left:-16px;border-top:0}
:is(#profile-inventory-list,#player-profile-inventory-list){height:100%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#90754c #211b13}
.public-profile-dialog{border:3px ridge #a08453}
:is(#profile-dialog,#player-profile-dialog){overflow:hidden}
.public-profile-dialog{display:flex;flex-direction:column;overflow:hidden;padding:8px 20px 16px}
.public-profile-dialog>h2{flex-shrink:0;font-size:24px;margin:0 0 0 -12px;padding-bottom:0}
.public-profile-body{flex:1;min-height:0;height:auto;margin-top:0}
.public-profile-body .selected-skin{height:100%;min-height:0;display:flex;flex-direction:column}
.public-profile-body .selected-skin canvas{height:auto;min-height:0;flex:1}
.public-profile-details{min-height:0}
.public-profile-details .profile-stats{margin:8px 0 5px;gap:4px}
.public-profile-details .profile-stats>div{padding:4px 2px}
.public-profile-details .profile-stats b{font-size:18px}
.public-profile-details h3{margin:7px 0 4px}
.public-skill-row{height:22px}
.public-profile-body .selected-skin{background:transparent;border:0}
.public-profile-details .profile-stats>div{background:#2f22144d;border-color:#88673f}
.public-skill-row .skill-bonus{color:#88eb4e}
.public-profile-artifacts{font-size:9px;line-height:1.6;color:#c3b48c;max-height:52px;overflow:auto;margin-top:8px}
.armory-item-footer button{height:21px;min-height:21px;padding:0 10px;font-size:9px}
