.selection-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 22px 4px;padding:10px 12px;border:1px solid #34c58f25;border-radius:10px;background:#34c58f06}.selection-summary>div{display:flex;flex-direction:column;gap:3px}.selection-summary b{font-size:12px;font-weight:600}.selection-summary span{font-size:10px;color:var(--mut)}.selection-summary strong{color:var(--ac);font-weight:500;margin-left:4px}.selection-summary button{font-size:11px;color:var(--ac);white-space:nowrap;padding:5px}.selection-summary button:disabled{color:var(--mut);opacity:.4}
.skin-tile{position:relative;min-width:0;height:100%}.skin-tile>.mc{width:100%;height:100%;margin:0}.shop-item>.skin-tile{height:100%}
.demo-profile-form{display:grid;gap:12px}.demo-profile-preview{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:8px}.demo-profile-preview img{width:88px;height:88px;border-radius:24px;border:1px solid var(--line)}.demo-profile-preview b{font-size:18px}.demo-profile-form>label{font-size:12px}.demo-profile-form>small{font-size:10px;color:var(--mut)}.demo-profile-form fieldset{border:0;padding:0;margin:8px 0}.demo-profile-form legend{font-size:12px;margin-bottom:12px}.demo-avatar-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.demo-avatar-options label{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--p1);cursor:pointer}.demo-avatar-options label:has(input:checked){border-color:var(--ac);background:#34c58f0a}.demo-avatar-options label:has(input:focus-visible){outline:2px solid var(--ac);outline-offset:2px}.demo-avatar-options input{position:absolute;opacity:0;width:1px;height:1px}.demo-avatar-options img{width:48px;height:48px;border-radius:13px}.demo-avatar-options span{font-size:10px;color:var(--mut)}#demoProfileError{color:var(--rd)}.pc1 .pn{cursor:pointer;text-align:left;padding:0}.pc1 .pn:hover{color:var(--ac)}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;grid-column:1/-1;grid-row:1/-1;padding:28px 18px!important}.empty-state b{font-size:14px;color:var(--tx)}.empty-state p{max-width:30ch;font-size:12px;color:var(--mut);margin:0}.empty-state .ybtn{min-height:36px;border-radius:9px;padding:8px 16px;background:var(--ac);color:#04140d;font-size:12px}
.battle-lobby-section{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;min-width:0}.battle-lobby-section h2{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 2px 0;color:var(--tx)}.battle-lobby-section h2 span{display:grid;place-items:center;min-width:21px;height:21px;border-radius:6px;background:#34c58f15;color:var(--ac);font-size:10px}.battle-section-empty{font-size:11px;color:var(--mut);padding:15px;border:1px dashed var(--line);border-radius:10px;margin:0}.battle-row-avatar img,.battle-match-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.battle-row-actions .battle-ghost{border-color:#34c58f45;color:var(--ac)}.battle-match-player.current-shooter{border-color:var(--ac);box-shadow:inset 0 3px 0 #34c58f80,0 0 22px #34c58f0b}.battle-match-player.current-shooter .battle-match-player-state{font-weight:700;font-size:10px;letter-spacing:.1em}.battle-match-player.survived .battle-match-avatar{position:relative;border-color:var(--ac)}.battle-match-player.survived .battle-match-avatar::after{content:'♛';position:absolute;top:-23px;left:50%;transform:translateX(-50%);font-size:27px;color:#e9bd59;filter:drop-shadow(0 2px 4px #0008)}.battle-start-countdown{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:#0c0c0e9e;pointer-events:none;border-radius:15px}.battle-start-countdown b{font-size:64px;line-height:1;color:var(--ac);font-family:'Geist Mono',monospace;text-shadow:0 0 25px #34c58f40}.battle-start-countdown span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx)}.winner-celebration{animation:winnerWelcome 1.2s ease-out 2}@keyframes winnerWelcome{0%{box-shadow:0 0 0 0 #34c58f50}70%{box-shadow:0 0 0 12px #34c58f00}100%{box-shadow:0 0 0 0 #34c58f00}}@media(prefers-reduced-motion:reduce){.winner-celebration{animation:none}}@media(max-width:520px){.selection-summary{margin-inline:14px}.battle-match-player.current-shooter .battle-match-player-state{font-size:8px}}
.skin-tile{height:140px}.shop-item{height:140px}.shop-item.has-quantity .skin-tile>.mc{padding-bottom:42px;border-color:var(--ac);background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 7%,var(--p2)),color-mix(in srgb,var(--ac) 18%,var(--p2)))}.shop-item.has-quantity .skin-tile>.mc:hover{transform:none}.battle-create-prizes .skin-tile{height:122px}.battle-create-prizes .skin-tile>.mc{padding:8px;border-radius:9px}
/* Shared first-player toss: 2.1 seconds in the air, 0.9 seconds on the result. */
.battle-coin-toss{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:16px;background:radial-gradient(ellipse at center,#163027eb,#0c0c0ef2 75%);pointer-events:none}.toss-eyebrow{font-size:9px;font-weight:600;letter-spacing:.14em;color:var(--mut)}.toss-scene{position:relative;display:grid;place-items:center;width:150px;height:158px;perspective:650px}.toss-flight{width:112px;height:112px;transform-style:preserve-3d;animation:tossFlight 2100ms ease-out both;animation-delay:var(--toss-delay)}.toss-coin{position:relative;width:112px;height:112px;transform-style:preserve-3d;animation:tossSpin 2100ms cubic-bezier(.12,.55,.2,1) both;animation-delay:var(--toss-delay)}.toss-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:5px solid #299e73;border-radius:50%;background:radial-gradient(circle at 34% 25%,#47554f,#1d2722 48%,#101613 78%);box-shadow:inset 0 0 0 2px #81e6b940,inset 0 3px 5px #ffffff18,inset 0 -6px 8px #0007,0 0 0 1px #0a1711,0 10px 22px #0006;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.toss-face-0{transform:translateZ(3px)}.toss-face-1{transform:rotateY(180deg) translateZ(3px)}.toss-face img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid #34c58f55}.toss-face>b{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#34c58f0c;color:var(--ac);font:600 27px 'Geist Mono',monospace}.toss-face>span{font-size:7px;color:#a9c5b8;letter-spacing:.1em}.toss-result{min-height:43px;text-align:center;max-width:95%;display:flex;flex-direction:column;gap:5px}.toss-result>b{font-size:14px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toss-result>small{font-size:10px;color:var(--mut)}.is-revealed .toss-result>b,.is-revealed .toss-result>small{color:var(--ac)}.is-revealed .toss-face{border-color:#4bd8a1}.toss-still-mark{display:none}@keyframes tossSpin{from{transform:rotateY(0deg) rotateZ(-12deg)}to{transform:rotateY(var(--toss-angle)) rotateZ(0deg)}}@keyframes tossFlight{0%{transform:translateY(16px) scale(.82)}35%{transform:translateY(-22px) scale(1.05)}78%{transform:translateY(0) scale(1)}90%{transform:translateY(-3px) scale(1)}100%{transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.toss-flight,.toss-coin{animation:none}.toss-coin{transform:rotateY(var(--toss-angle))}.is-flipping .toss-coin{visibility:hidden}.is-flipping .toss-still-mark{position:absolute;display:grid;place-items:center;width:112px;height:112px;border:4px solid #299e73;border-radius:50%;background:#18271f;color:var(--ac);font-size:28px;font-weight:600}}
.sound-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;margin-bottom:18px;border:1px solid var(--line);border-radius:12px;background:var(--p1)}.quick-sound.sound-controls label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.sound-controls output{font-family:'Geist Mono',monospace;color:var(--ac);font-size:11px;font-weight:400}.sound-controls small{font-size:10px;color:var(--mut);font-weight:400}.quick-sound.sound-controls input[type=range]{margin:12px 0 0;width:100%;height:4px;accent-color:var(--ac)}.quick-sound.sound-controls .sound-mute{justify-content:flex-start;font-size:11px;font-weight:400;grid-column:1/-1}.quick-sound.sound-controls .sound-mute input{width:auto;margin:0;accent-color:var(--ac)}.sound-controls>small{grid-column:1/-1}@media(max-width:440px){.sound-controls{grid-template-columns:1fr}}
