/* Compact, worn metal catalogue and character sheet */
.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-layout{grid-template-columns:167px minmax(0,1fr);gap:6px;padding:4px;overflow:hidden}
.shop-categories{gap:2px;overflow:auto;border-right:3px ridge #8c7048;padding-right:5px;scrollbar-width:thin}
.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[aria-selected=true]{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 .artifact-icon{width:22px;height:22px;color:#d8e6b4}
.shop-categories .category-caption{padding:12px 6px;font-size:9px;line-height:1.7;color:#c1ad87}
.shop-catalog{display:flex;flex-direction:column;min-width:0;min-height:0}
.armory-tabs{display:flex;background:#0c0c0a;border-bottom:2px ridge #876a40;flex-shrink:0;height:26px}
.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{flex:1;min-height:0;overflow:hidden}
#shop-weapons{height:100%;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#8c7653 #211c14}
#shop-status{font-size:9px;line-height:1.45;color:#d0bb94;margin:0;padding:7px 6px;border-top:1px solid #84643e55;min-height:29px;flex-shrink:0}
.armory-weapon{display:grid;grid-template-columns:minmax(130px,1fr) 124px 102px;gap:2px 9px;padding:9px 6px 5px;border-bottom:2px ridge #80633d;background:linear-gradient(100deg,#bd8b4824,#1f1c1418);min-height:142px}
.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;filter:drop-shadow(1px 3px 2px #0008)}
.weapon-accuracy{font-size:11px;color:#dcecb4;padding:3px}
.armory-characteristics h4,.armory-requirements h4{font-size:10px;font-weight:400;color:#fff0c5;margin:0 0 4px}
.armory-characteristics dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:3px 8px;font-size:9px;line-height:1.2}
.armory-characteristics dd{margin:0;text-align:right;color:#f4e8c6}
.armory-requirements p{white-space:pre-line;font-size:9px;line-height:1.5;margin:0 0 4px;color:#d2c4a1}
.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-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{font-size:9px;color:#dec188;white-space:nowrap}
.armory-artifact{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;border-bottom:2px ridge #80633d;padding:7px 6px;min-height:107px;background:linear-gradient(100deg,#bd8b4824,#1f1c1418)}
.artifact-picture{height:68px;border:3px ridge #b5a572;display:grid;place-items:center;color:#b7e37b;background:radial-gradient(#506b2e,#102510 65%,#070b06);box-shadow:inset 0 0 12px #000;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-details{min-width:0}
.artifact-details h4{font-size:11px;font-weight:400;color:#fff0c0;margin:0 0 4px}
.artifact-bonuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;margin:0;font-size:9px}
.artifact-bonuses>div{display:flex;justify-content:space-between;gap:4px;min-width:0;color:#beb394}
.artifact-bonuses dt,.artifact-bonuses dd{margin:0}
.artifact-bonuses .bonus-active{color:#92e75a}
.artifact-purchase{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:9px}
.artifact-purchase>span:first-child{margin-right:auto}
.artifact-price{font-weight:400;color:#a8dbb7;padding:1px 5px;background:#111610}
.requirement-locked{color:#ffac81}
.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}
#profile-dialog,.public-profile-dialog{width:720px;height:460px;background:#2d2117 url('/assets/lobby-background.png') center/cover no-repeat}
#profile-dialog{padding:10px 12px 12px;border:3px ridge #a08453}
#profile-dialog h2{font:400 11px 'IBM Plex Sans',sans-serif;margin:0 0 6px;padding:0;border:0;color:#f0dab1;height:18px}
#profile-player-id{color:#999}
#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}
#profile-dialog .profile-body{height:406px;grid-template-columns:181px minmax(0,1fr);gap:12px}
.profile-character{display:flex;flex-direction:column;min-height:0;border-right:2px ridge #96734c;padding-right:9px}
#profile-dialog .selected-skin{position:relative;background:transparent;border:0;flex:1;min-height:0}
#profile-dialog .selected-skin canvas{width:100%;height:100%;min-height:0;object-fit:contain;max-height:277px}
#profile-dialog .selected-skin b{font-size:11px;padding:2px 0;position:absolute;bottom:0;left:0;right:0;text-align:center;text-shadow:0 1px 3px #000}
#skin-prev,#skin-next{position:absolute;top:10px;padding:0;border:0;background:none;color:#d7a44b;min-height:22px;height:22px;width:20px;font-size:13px}
#skin-prev{left:0}#skin-next{right:0}
#profile-dialog .profile-progression{grid-column:auto;margin:5px 0 7px;flex-shrink:0}
#profile-dialog .profile-progression>.xp-meter{display:block}
#profile-dialog .xp-meter{height:11px;border-color:#9c7849;background:#211810}
#profile-dialog .xp-meter i{background:repeating-linear-gradient(90deg,#e79e37 0 3px,#925926 3px 4px)}
#profile-dialog .skin-options{display:flex;flex-direction:column;gap:2px;flex-shrink:0}
#skin-select{height:22px;min-height:22px;font-size:10px;padding:0 4px}
#profile-dialog .skin-options canvas{display:none}
#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}
#profile-dialog .skin-options button::before{content:'▪';color:#b6a589;font-size:14px}
#profile-dialog .skin-options button.selected::before{color:#ffe596;text-shadow:0 0 4px #ffa12a}
#profile-dialog .skin-options span{margin:0;font-size:10px;white-space:normal}
#profile-dialog .profile-details{display:flex;flex-direction:column;gap:8px;min-height:0}
.profile-summary{display:grid;grid-template-columns:minmax(0,1fr) 174px;gap:10px;min-height:253px}
#profile-dialog .skills-panel{padding:0 0 0 2px;background:none;border:0}
#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}
#profile-dialog .skill-row{grid-template-columns:84px 22px minmax(0,1fr) 22px 23px;gap:3px;height:22px}
#profile-dialog .skill-row>button{width:22px;height:22px;min-height:22px;font-size:13px;line-height:13px}
#profile-dialog .skill-label{font-size:10px;gap:2px}
#profile-dialog .skill-label i{font-size:14px}
#profile-dialog .skill-bars{height:10px;gap:2px}
#profile-dialog .skill-row>b{font-size:9px;color:#8ef354;cursor:help}
#profile-dialog .skill-budget{font-size:9px;padding-top:4px;margin-top:4px}
#profile-dialog .profile-stats{display:flex;flex-direction:column;gap:1px;margin:0 0 8px}
#profile-dialog .profile-stats>div{display:flex;justify-content:space-between;align-items:center;gap:6px;background:none;border:0;padding:1px 0;text-align:left;min-height:17px}
#profile-dialog .profile-stats span{font:10px 'IBM Plex Sans',sans-serif;color:#dacbad}
#profile-dialog .profile-stats b{font:10px '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}
#profile-dialog .profile-inventory{margin-top:-64px;margin-bottom:-16px;border-top:0}
#profile-inventory-list{height:100%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#90754c #211b13}
#profile-inventory-list .armory-weapon{grid-template-columns:minmax(160px,1fr) 130px 115px;min-height:118px;padding-top:6px}
#profile-inventory-list .armory-visual canvas{max-height:65px}
#profile-inventory-list .armory-artifact{min-height:104px}
.public-profile-dialog{border:3px ridge #a08453}
#profile-dialog{overflow:hidden}
.public-profile-dialog{display:flex;flex-direction:column;overflow:hidden;padding:16px 20px}
.public-profile-dialog>h2{flex-shrink:0;font-size:24px;margin:0 0 5px;padding-bottom:6px}
.public-profile-dialog>#player-profile-status:empty{display:none}
.public-profile-body{flex:1;min-height:0;height:auto;margin-top:8px}
.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}
.weapon-sale-backdrop{position:absolute;inset:0;z-index:29;background:#090b08b3}
#weapon-sale-dialog{z-index:30;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:390px;height:auto;padding:20px;border:3px ridge #a08453;box-shadow:0 4px 30px #000;background:radial-gradient(ellipse at 30% 30%,#705131,#382b1e 80%)}
#weapon-sale-dialog h2{font-size:22px;margin:0 0 12px}
#weapon-sale-amount{font-size:12px;line-height:1.8;margin:0 0 8px;color:#f2db9d}
#weapon-sale-status{display:block;min-height:18px;color:#d6b784}
.weapon-sale-actions{display:flex;gap:10px;margin-top:14px}
.weapon-sale-actions button{flex:1;height:32px}
