.level-number{font:10px var(--mono);color:#c8e7a0}
.lobby-xp{position:relative;flex:0 0 125px;height:14px;overflow:hidden;border:1px solid #5d7040;background:#102211;box-shadow:inset 0 1px 4px #0008}.lobby-xp>i{display:block;height:100%;width:0;background:linear-gradient(#90ba54,#3e762a);transition:width .3s ease-out}.lobby-xp>span{position:absolute;inset:0;display:grid;place-items:center;font:8px var(--mono);color:#e0edcf;text-shadow:1px 1px #000}
.lobby-player{position:relative;padding:0}
.lobby-player-link,.preview-player{width:100%;min-height:24px;height:auto;border:0;border-radius:0;text-align:left;box-shadow:none;text-transform:none;font-weight:400}
.lobby-player-link{display:flex;align-items:center;gap:6px;padding:4px 3px;background:transparent;color:inherit;font-size:10px}
.lobby-player .presence-star{flex:0 0 20px;width:20px;font-size:20px;line-height:20px;text-align:center;transition:opacity .25s ease-out}
.lobby-player:has(.lobby-message-btn):is(:hover,:focus-within) .presence-star{opacity:0}
.lobby-player .lobby-message-btn{position:absolute;right:3px;width:20px;padding:0;display:grid;place-items:center}
.lobby-player .lobby-message-btn .lobby-cloud-icon{height:20px}
.lobby-player-link:where(:not(:disabled)):hover,.preview-player:where(:not(:disabled)):hover{filter:brightness(1.3);outline:1px solid #b4a26f;outline-offset:-1px}
.public-profile-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:700px;height:470px;padding:20px;box-shadow:0 4px 30px #000}
.public-profile-body{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;height:350px;margin-top:12px}
.public-profile-body .selected-skin{height:350px}
.public-profile-body .selected-skin canvas{height:300px;max-width:100%;object-fit:contain}
.public-profile-details{min-width:0}
.public-profile-details .profile-stats{grid-template-columns:repeat(3,1fr);margin:12px 0 8px}
.public-profile-details h3{font:10px var(--mono);color:#c7b990;margin:14px 0 8px}
.public-profile-cash{font:10px var(--mono);color:#93c47b;text-align:right}
.public-skill-row{display:grid;grid-template-columns:88px minmax(0,1fr) 20px;gap:12px;align-items:center;height:24px;font-size:10px;color:#d8cfad}
.public-skill-row b{color:#b7e298;text-align:right}
#player-profile-status{font-size:11px;color:#b9a87a}
.camera-follow-control{position:absolute;right:12px;bottom:8px;z-index:6;display:flex;gap:7px;align-items:center;padding:4px 7px;background:#191a12ed;border:1px solid #746440;color:#c7b990}
.camera-follow-control label{margin:0;font:8px var(--mono)}
.camera-follow-control select{width:159px;height:24px;padding:2px 5px;font-size:10px;cursor:pointer}
.playing .camera-follow-control{bottom:14px}
.spectating .chat-panel{bottom:60px}
.room-nav{flex:5 1 0;width:auto;min-width:0;grid-template-columns:repeat(5,minmax(0,1fr))}
#leaders-nav{flex:1 1 0;width:auto;min-width:0;margin-left:0;padding-inline:0}
#profile-dialog{width:820px;height:530px;padding:15px 22px}
.profile-body{grid-template-columns:170px minmax(0,1fr);gap:17px}
.selected-skin{justify-content:center}
.profile-details{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:10px 14px;align-content:start}
.profile-name-form,.profile-progression{grid-column:1/-1}
.profile-progression>div:first-child{display:flex;justify-content:space-between;align-items:center;color:#e9d09a;font:10px var(--mono)}
.profile-progression>div:first-child>b{font-weight:500}
.profile-progression small{display:block;font-size:8px;color:#a79c80;margin-top:4px}
.xp-meter{height:9px;margin-top:5px;border:1px solid #626e45;background:#141d0e}
.xp-meter i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#96ce72 0 4px,#54763d 4px 5px);transition:width .25s}
#profile-dialog .profile-stats{margin:0 0 9px;gap:5px}
#profile-dialog .profile-stats>div{padding:5px 2px}
#profile-dialog .profile-stats b{font-size:20px}
.profile-overview{min-width:0}
.profile-storage-note{margin-top:8px}
.skills-panel{padding:10px;background:linear-gradient(125deg,#392f1d,#171c13);border:2px ridge #8c794c;min-width:0}
.skills-panel h3{margin:0 0 7px;font:9px var(--mono);color:#d6c28e}
.skill-row{display:grid;grid-template-columns:88px 18px minmax(0,1fr) 18px 18px;gap:4px;align-items:center;height:26px}
.skill-label{font-size:10px;color:#d8cfad;display:flex;align-items:center;gap:5px}
.skill-label>i{font-style:normal;color:#c2e2a0;width:14px;text-align:center;font-size:15px}
.skill-row>button{padding:0;width:18px;height:19px;min-height:19px;font:15px var(--mono);line-height:16px;background:linear-gradient(#454236,#12170f)}
.skill-row>b{color:#84ef58;font:9px var(--mono);text-align:right}
.skill-bars{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;height:10px}
.skill-bars>i{background:#403e2a;border:1px solid #62603d}
.skill-bars>i.filled{background:#c5e5a0;border-color:#b4d490;box-shadow:0 0 3px #a6e37944}
.skill-budget{display:flex;justify-content:space-between;font:10px var(--mono);margin-top:7px;border-top:1px solid #655536;padding-top:7px}
.skill-budget>b{color:#d6f1b1}
#skill-description{height:32px;font-size:8px;color:#b4b896;line-height:1.5;margin:7px 0}
#skills-status{display:block;font-size:7px;line-height:1.5;color:#a5a083;margin-top:5px;min-height:20px}
.shop-panel{grid-column:1/3;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#1b1d17b3}
.shop-layout{display:grid;grid-template-columns:135px minmax(0,1fr);gap:10px;flex:1;min-height:0;padding:10px}
.shop-categories{display:flex;flex-direction:column;gap:5px}
.shop-categories>button{text-align:left;padding:9px 7px;min-height:42px;font-size:9px}
.shop-categories>button[aria-selected=true]{color:#ffdf97;border-color:#c49c4c;background:linear-gradient(#7f5c2d,#382c19);box-shadow:inset 3px 0 #e8b859}
#shop-weapons{min-width:0;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#8a7954 #191b15}
.shop-card{background:linear-gradient(135deg,#48452d,#1d2418);border:2px ridge #a38a53;padding:10px;min-height:100%}
.shop-card-header{display:flex;justify-content:space-between;align-items:flex-start}
.shop-card h3{font:600 24px var(--display);color:#f1dab0;margin:0}
.shop-card-header p{font-size:10px;color:#b5ac88;margin:1px 0 0}
.owned-badge{border:1px solid #727c49;color:#b2d38b;padding:4px 6px;font:8px var(--mono);background:#202e19}
.shop-card-body{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:center}
.shop-weapon-preview{width:100%;height:75px;display:block}
.shop-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:5px 0}
.shop-stats div{padding-bottom:6px;border-bottom:1px solid #76623b}
.shop-stats dt{font-size:8px;color:#a9a084;margin-bottom:4px}
.shop-stats dd{margin:0;color:#ead29b;font:14px var(--display)}
.shop-crosshair{display:flex;flex-direction:column;align-items:center;background:#141c13;border:1px solid #57633e}
.shop-crosshair canvas{width:138px;height:138px}
.shop-crosshair figcaption{font-size:8px;line-height:1.6;color:#a0b28b;text-align:center;padding:2px 4px 6px}
.shop-crosshair{margin:0}
.shop-note{font-size:8px;color:#aa9c7c;margin:0;padding:0 10px 8px;flex-shrink:0}
.cash-balance{display:flex;align-items:center;gap:5px;color:#9dccbd;font:9px var(--mono)}
.cash-balance i{font-style:normal;color:#77c8a9;font-size:17px;text-shadow:0 1px #245c46}
.clans-panel{grid-column:1/3;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#1b1d17b3}
#room-count{margin-left:auto;padding:4px 8px;font-size:8px;color:#a99b77}
.clans-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:14px;padding:10px;flex:1;min-height:0}
.clans-layout>div:first-child{display:flex;flex-direction:column;min-height:0}
#clan-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.clan-entry{display:block;width:100%;text-align:left;padding:8px;margin-bottom:4px}
.clan-entry[aria-selected=true]{border-color:#c49c4c;background:linear-gradient(#7f5c2d,#382c19)}
.clan-entry b{display:block;font-weight:500;font-size:10px;overflow-wrap:anywhere}
.clan-entry small{display:block;font-size:8px;color:#b0a184;margin-top:3px}
.clan-details{min-width:0;min-height:0;overflow:auto;padding-right:4px;scrollbar-width:thin}
.clan-details h3{font:600 23px var(--display);margin:0;color:#eed3a0;overflow-wrap:anywhere}
#clan-members-title{font:600 18px var(--display);color:#d5c49e;margin:14px 0 4px}
#clan-requirements{margin:4px 0;font-size:9px;color:#b2a481}
#clan-create-form label{margin:7px 0 3px;font-size:8px}
#clan-create-btn{width:100%;margin-top:12px;height:30px;font-size:9px}
.clan-member{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #695735;font-size:10px}
.clan-member small{font-size:8px;white-space:nowrap;color:#b19f73}
.clan-actions{margin:10px 0}.clan-actions button{padding:4px 12px}
#clan-status{display:block;font-size:8px;color:#bdb38d}
.room-actions button{padding:0 6px;font-size:8px}
.spectating #screen canvas{cursor:crosshair}
#loading-overlay{z-index:10;background:#10180ff5}
.multikill-banner{position:absolute;z-index:3;top:103px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;white-space:nowrap;text-shadow:0 2px 3px #000,0 0 14px #000;animation:multikill-appear .2s ease-out}
.multikill-banner b{font:800 38px var(--display);letter-spacing:2px;color:#f3d47f}
.multikill-banner span{font:600 12px var(--mono);color:#8fff6e}
@keyframes multikill-appear{from{opacity:0;transform:translate(-50%,10px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.coin-reward-feed{position:absolute;z-index:3;right:0;bottom:14px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;pointer-events:none}
.coin-reward-row{min-width:115px;padding:7px 18px;color:#ffdc78;font:700 16px var(--mono);text-align:right;border:1px solid #8a7245;border-right:0;background:linear-gradient(90deg,#201e15bb,#332c1bf5);text-shadow:0 1px 2px #000;animation:coin-reward-enter .3s ease-out}
.coin-reward-row.leaving{animation:coin-reward-exit .35s ease-in forwards}
.coin-reward-row.health{color:#a5ec91;border-color:#669356;background:linear-gradient(90deg,#1c2c1abb,#263c21f5)}
.coin-reward-row.grenade{color:#d7df9c}
.coin-reward-row.penalty{color:#ff9983;border-color:#9d5749;background:linear-gradient(90deg,#301a16bb,#42241ef5)}
@keyframes coin-reward-enter{from{opacity:0;transform:translateX(110%)}to{opacity:1;transform:translateX(0)}}
@keyframes coin-reward-exit{to{opacity:0;transform:translateX(110%)}}
.playing .hud-corner,.playing .combat-hud,.playing .match-top,.playing .kill-feed,.playing .live-indicator,.playing .scoreboard{pointer-events:none}
.playing .hud-corner button{pointer-events:auto;cursor:pointer}
#settings-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(780px,calc(100% - 32px));height:min(536px,calc(100% - 32px));padding:15px 22px;display:flex;flex-direction:column;overflow:hidden}
#settings-dialog h2{flex-shrink:0;margin-bottom:9px}
.settings-content{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.settings-content h3{font:600 20px var(--display);margin:0 0 7px;color:#e9d5a5}
.settings-content .settings-note{margin-bottom:7px;font-size:9px;line-height:1.6}
.character-binding-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,49px);gap:4px;align-items:center;min-height:30px;border-bottom:1px solid #88724d55}
.character-binding-row b{font-size:9px;font-weight:400}
.character-binding-row button{font:8px var(--mono);padding:1px;min-width:0}
.character-binding-row .capturing{color:#adff8b;border-color:#baff8d;background:#31492d}
#settings-dialog #binding-status{height:30px;flex-shrink:0;line-height:1.4;padding-top:7px}
#settings-dialog .dialog-actions{flex-shrink:0;margin-top:4px}
#settings-leave{color:#ffa78c;border-color:#9b6041}
#loading-overlay{opacity:1;transition:opacity .5s ease;pointer-events:auto}
#loading-overlay.leaving{opacity:0;pointer-events:none}
#loading-progress{width:280px;height:12px;padding:2px;border:1px solid #77623b;background:#111710}
#loading-progress-fill{display:block;width:0;height:100%;background:linear-gradient(90deg,#937037,#e5cb80);transition:width .15s linear}
.rank-star.level-star,.lobby-player .presence-star.level-star,.room-entry .room-level-star.level-star{background:linear-gradient(90deg,var(--rank-to) 0 var(--rank-fill),var(--rank-from) var(--rank-fill) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}
