.group-control-fields{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.group-control-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;flex:1 1 135px}
.group-control-fields input,.group-control-fields select{box-sizing:border-box;width:100%;min-height:42px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:9px;background:white;color:#162033;font:inherit}
.group-control-fields button{padding:12px 18px;border:0;border-radius:9px;cursor:pointer;font:inherit;font-weight:600}
.group-control-fields button:disabled{opacity:.4;cursor:default}
.group-control-fields [data-group-start]{background:#1c7660;color:white}
.group-control-fields [data-group-stop]{background:#b93641;color:white}
.group-control-fields [data-group-idle]{background:#e5eaf1;color:#263247}
.group-control-fields label[hidden]{display:none}
.group-status{font-size:14px;line-height:1.6;margin:16px 0 0}
.group-message{color:#b32435;line-height:1.6;min-height:1.6em;margin:5px 0}
.group-summary-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.group-summary-list span{background:#eef2f7;color:#334155;border-radius:8px;padding:8px 12px;font-size:14px}
.phone-shell[data-group-control]>header>div{min-width:0}
.phone-shell[data-group-control]>header>a{white-space:nowrap;flex-shrink:0}
.group-screen{margin:0;min-height:100vh;background:var(--group-bg,#18030a);color:var(--group-text,#fff8df);font-family:"Microsoft YaHei",system-ui,sans-serif}
.group-screen *{box-sizing:border-box}
.group-screen::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0,rgba(246,201,95,.14),transparent 65%);z-index:-1}
.group-background{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;opacity:.32;z-index:-1}
.group-stage{max-width:1800px;margin:auto;padding:35px 4vw 24px}
.group-screen-heading{text-align:center;margin:0 0 32px}
.group-screen-heading h1{font-size:clamp(28px,3.1vw,58px);line-height:1.3;margin:12px 0;letter-spacing:2px}
.group-screen-heading p{opacity:.65;margin:8px 0;font-size:18px}
.group-eyebrow{font-size:14px;letter-spacing:8px;color:var(--group-primary,#f6c95f)}
.group-logo{height:64px;max-width:180px;object-fit:contain;display:block;margin:0 auto 15px}
.group-draw-board{background:rgba(0,0,0,.23);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:26px;min-height:43vh}
.group-board-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.group-board-heading h2{margin:0;font-size:24px;color:var(--group-primary,#f6c95f)}
.group-board-heading>span{opacity:.7;font-size:15px}
.group-roll-grid,.group-winner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.group-roll-grid{min-height:180px;align-items:stretch;contain:layout paint}
.group-roll-grid:empty{display:none;min-height:0}
.group-roll-card{position:relative;transform:translateZ(0);min-width:0;overflow:hidden;will-change:transform,opacity}
.group-draw-board{overflow:hidden}
.group-winner-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.group-winner-grid .group-result-card{min-width:0;min-height:180px;padding:18px}
.group-winner-grid .group-result-card h3{margin-bottom:12px;font-size:clamp(18px,1.6vw,25px);padding-bottom:10px}
.group-winner-grid .group-person{margin:9px 0;gap:10px}
.group-winner-grid .group-person strong{font-size:clamp(18px,1.5vw,30px)}
.group-winner-grid .group-person small{font-size:13px;margin-top:3px}
.group-roll-card,.group-result-card{border:1px solid rgba(246,201,95,.25);border-radius:16px;background:linear-gradient(135deg,rgba(246,201,95,.09),rgba(255,255,255,.02));padding:24px}
.group-roll-card{text-align:center;min-height:165px;display:flex;flex-direction:column;justify-content:center}
.group-roll-card strong{font-size:clamp(26px,2.5vw,46px);color:var(--group-primary,#f6c95f);overflow-wrap:anywhere;line-height:1.12;word-break:break-word}
.group-roll-card strong.name-fit-sm{font-size:clamp(22px,2vw,36px)}
.group-roll-card strong.name-fit-xs{font-size:clamp(18px,1.6vw,28px)}
.group-result-card h3.name-fit-sm{font-size:clamp(16px,1.35vw,21px)}
.group-result-card h3.name-fit-xs{font-size:clamp(14px,1.1vw,18px)}
.group-person strong.name-fit-sm{font-size:clamp(16px,1.2vw,24px)}
.group-person strong.name-fit-xs{font-size:clamp(14px,1vw,20px)}
.group-roll-card small{opacity:.6;margin-top:15px}
@keyframes group-card-scroll-up{from{opacity:.45;transform:translate3d(0,22px,0) scale(.98)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.group-roll-card.card-slide-in{animation:group-card-scroll-up .52s cubic-bezier(.2,.8,.25,1)}
.group-roll-card,.group-result-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 30px rgba(0,0,0,.22),0 3px 8px rgba(0,0,0,.2)}
.group-result-card h3{margin:0 0 20px;font-size:25px;color:var(--group-primary,#f6c95f);border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:14px;overflow-wrap:anywhere}
.group-person{display:flex;align-items:center;gap:14px;margin:16px 0}
.group-person strong{font-size:clamp(22px,2vw,36px);display:block;overflow-wrap:anywhere}
.group-person small{display:block;opacity:.7;font-size:15px;line-height:1.5;margin-top:6px}
.group-person-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:rgba(246,201,95,.16);display:grid;place-items:center;font-size:25px;color:var(--group-primary,#f6c95f);overflow:hidden}
.group-person-avatar img{width:100%;height:100%;object-fit:cover}
.group-screen-controls{padding:24px 0 0;max-width:1250px;margin:auto}
.group-screen .group-control-fields label{color:rgba(255,255,255,.75)}
.group-screen .group-control-fields input,.group-screen .group-control-fields select{background:#21191c;color:#fff8df;border-color:#675044}
.group-screen .group-status{color:rgba(255,255,255,.75)}
.group-screen .group-message{color:#ffacac}
.group-screen-links{display:flex;justify-content:center;gap:24px;margin-top:5px}
.group-screen-links a,.group-screen-links button{font:inherit;font-size:13px;color:var(--group-primary,#f6c95f);background:none;border:0;text-decoration:none;cursor:pointer}
.group-phone-control{position:relative;display:inline-flex;align-items:center}
.group-phone-control>a:focus-visible{outline:2px solid var(--group-primary,#f6c95f);outline-offset:5px;border-radius:2px}
.group-qr-popover{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);width:236px;display:grid;justify-items:center;gap:10px;padding:14px;background:#151316;border:1px solid var(--group-primary,#f6c95f);border-radius:12px;box-shadow:0 12px 40px #0008;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:30}
.group-qr-popover::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px}
.group-phone-control:hover .group-qr-popover,.group-phone-control:focus-within .group-qr-popover{visibility:visible;opacity:1;pointer-events:auto}
.group-qr-code{display:block;width:205px;max-width:100%;aspect-ratio:1;background:#fff;border-radius:4px;overflow:hidden}
.group-qr-code svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.group-qr-popover small{color:#fff8df;font-size:12px;line-height:1.5;text-align:center}
@media(max-width:650px){.group-qr-popover{left:0;transform:none}}
.group-empty{padding:50px 15px;text-align:center;opacity:.65;grid-column:1/-1;font-size:20px}
@media(max-width:1100px){.group-roll-grid,.group-winner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.group-stage{padding:24px 16px}.group-draw-board{padding:16px}.group-board-heading{align-items:flex-start;flex-direction:column}.group-screen-heading{margin-bottom:22px}.group-control-fields button{flex:1 1 40%}.group-person strong{font-size:25px}.group-roll-grid,.group-winner-grid{grid-template-columns:1fr}.group-winner-grid .group-result-card{min-height:0}}
