:root{--bg:#0c0c0e;--bg-alt:#17181c;--panel:#303e49;--text:#f5f5f5;--text-dim:#a8a8a8;--accent:#c00020;--accent-hover:#e01a37;--radius:14px}*{box-sizing:border-box}body,html{margin:0;min-height:100vh;background:var(--bg) url(/background.webp) center /cover no-repeat fixed;color:var(--text);font-family:Segoe UI,system-ui,sans-serif}body{display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:clamp(12px,2.5vh,20px) clamp(16px,5vw,28px)}.topbar h1{font-size:clamp(1.15rem,2.6vh,1.6rem);margin:0}.icon-btn{background:var(--panel);border:none;color:var(--text);font-size:1.2rem;width:46px;height:46px;border-radius:50%;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background .15s ease}.icon-btn:hover{background:var(--accent);transform:scale(1.06)}.fullscreen-btn{position:fixed;bottom:clamp(12px,3vh,24px);left:clamp(12px,3vw,24px);z-index:20}.wheel-area{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(36px,7vh,64px);padding:clamp(12px,3vh,24px) 16px;overflow:clip}.brand-logo{height:clamp(100px,18vh,860px);width:min(82vw,94vh);object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1);object-position:center top;transform:translateY(clamp(-40px,-3vh,-8px));pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wheel-wrapper{--wheel-size:clamp(260px,min(95vw,52vh),1000px);position:relative;width:var(--wheel-size);height:var(--wheel-size);isolation:isolate}.wheel-rim{position:absolute;inset:calc(var(--wheel-size) * -.012);border-radius:50%;pointer-events:none;background:conic-gradient(#f7f7f7 0deg,#8a8a8a 40deg,#e6e6e6 85deg,#5c5c5c 130deg,#fafafa 180deg,#7a7a7a 225deg,#dcdcdc 270deg,#666 315deg,#f7f7f7 1turn);box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -1px 2px rgba(0,0,0,.45),0 12px 40px rgba(0,0,0,.5)}.wheel-wrapper.spinning .wheel-rim{box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -1px 2px rgba(0,0,0,.45),0 0 40px 6px rgba(192,0,32,.45),0 12px 40px rgba(0,0,0,.5)}#wheel-svg{position:relative;width:100%;height:100%;display:block;border-radius:50%;box-shadow:0 0 0 2px #2a2a2a,inset 0 0 0 1px rgba(0,0,0,.3);background:var(--bg-alt)}#wheel-group{transform-origin:0 0}.wheel-shine{inset:0;pointer-events:none;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.28),rgba(255,255,255,.05) 32%,transparent 60%)}.wheel-hub,.wheel-shine{position:absolute;border-radius:50%}.wheel-hub{top:50%;left:50%;width:calc(var(--wheel-size) * .16);height:calc(var(--wheel-size) * .16);transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#4a4a4a,#111 45%,#000 100%);z-index:4;display:flex;align-items:center;justify-content:center}.wheel-hub img{width:70%;height:auto;filter:brightness(0) invert(1);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pointer{position:absolute;top:calc(var(--wheel-size) * -.009);left:50%;transform:translateX(-50%);width:calc(var(--wheel-size) * .08);height:calc(var(--wheel-size) * .07);z-index:5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));transform-origin:50% 0}.pointer:before{content:"";position:absolute;inset:0;-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 45%),linear-gradient(90deg,#5a5a5a,#d9d9d9 30%,#ffffff 48%,#8f8f8f 52%,#bdbdbd 75%,#4a4a4a)}.pointer.tick{animation:pointerTick .14s ease-out}@keyframes pointerTick{0%{transform:translateX(-50%) rotate(0deg)}45%{transform:translateX(-50%) rotate(-14deg)}to{transform:translateX(-50%) rotate(0deg)}}.spin-btn{color:#111114;text-shadow:0 1px 0 rgba(255,255,255,.8),0 -1px 0 rgba(0,0,0,.35);border:2px solid #3a3a3a;outline:2px solid #c8c8c8;outline-offset:-4px;padding:clamp(16px,2.4vh,22px) clamp(40px,12vw,64px);min-width:220px;font-size:clamp(1.05rem,2.6vh,1.35rem);font-weight:700;letter-spacing:1px;border-radius:999px;cursor:pointer;box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 0 -2px 3px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.5);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;animation:spinBtnPulse 2.4s ease-in-out infinite}.spin-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px) scale(1.03);animation-play-state:paused}.spin-btn:active:not(:disabled){transform:translateY(0) scale(.97);filter:brightness(.95)}.spin-btn:disabled{filter:brightness(.7) saturate(0);cursor:not-allowed;animation:none}@keyframes spinBtnPulse{0%,to{box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 0 -2px 3px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.5),0 0 12px rgba(255,255,255,.15)}50%{box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 0 -2px 3px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.5),0 0 28px rgba(255,255,255,.4)}}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:20}.config-panel{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:min(78vh,760px);background:var(--bg-alt);border-top:1px solid var(--panel);border-radius:20px 20px 0 0;z-index:30;display:flex;flex-direction:column;box-shadow:0 -12px 40px rgba(0,0,0,.5);overflow:hidden}.panel-header{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:20px 24px 8px}.panel-header-spacer{width:46px;height:46px;flex-shrink:0}.panel-title{flex:1 1;text-align:center;margin:0;font-size:1.15rem;font-weight:700}.panel-body{flex:1 1;min-height:0;overflow-y:auto;padding:12px 24px 16px;gap:12px}.panel-body,.panel-footer{display:flex;flex-direction:column}.panel-footer{flex-shrink:0;gap:10px;padding:14px 24px max(20px,env(safe-area-inset-bottom,0px));background:var(--bg-alt);border-top:1px solid rgba(255,255,255,.08)}.panel-tabs{display:flex;gap:8px}.panel-tab{flex:1 1;min-height:48px;background:var(--panel);color:var(--text-dim);border:none;border-radius:999px;padding:10px 12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.panel-tab.active{background:var(--accent);color:#fff}.help-panel{display:flex;flex-direction:column;gap:14px}.help-intro{margin:0;color:var(--text-dim);font-size:.85rem}.help-card{background:var(--panel);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.help-card h3{margin:0;font-size:1rem}.help-card p{margin:0;color:var(--text-dim);font-size:.88rem;line-height:1.4}.help-card textarea{width:100%;background:var(--bg-alt);border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:8px;padding:10px 12px;font-size:.9rem;font-family:inherit;resize:vertical}.help-card .secondary-btn{min-height:48px}.help-status{margin:0;color:#8fd694;font-size:.85rem;font-weight:600}.incident-list{display:flex;flex-direction:column;gap:8px;margin-top:6px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.incident-item{background:var(--bg-alt);border-radius:8px;padding:8px 10px}.incident-date{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.incident-item p{color:var(--text);margin:2px 0 0;font-size:.85rem}.incident-actions{display:flex;gap:8px;margin-top:4px}.incident-actions .secondary-btn{flex:1 1;min-height:44px;font-size:.9rem;padding:10px 14px}a.panel-tab{display:flex;align-items:center;justify-content:center;text-decoration:none}.admin-page{width:100%;max-width:1000px;margin:0 auto;padding:clamp(16px,4vw,32px) 16px 40px;display:flex;flex-direction:column;gap:20px}.admin-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-header h1{flex:1 1;margin:0;font-size:clamp(1.3rem,3vw,1.7rem)}.admin-header .secondary-btn{min-height:46px;padding:10px 18px;font-size:.95rem;text-decoration:none;display:inline-flex;align-items:center}.admin-back{order:-1}.admin-login{max-width:420px;width:100%;margin:8vh auto 0}.admin-login .primary-btn{min-height:52px}.admin-content{display:flex;flex-direction:column;gap:14px}.admin-toolbar{display:flex;gap:8px;flex-wrap:wrap}.admin-toolbar .data-input{flex:1 1 240px;background:var(--panel)}.admin-toolbar .primary-btn,.admin-toolbar .secondary-btn{min-height:46px;padding:10px 20px;font-size:.95rem}.admin-page .form-error{color:#ff8a8a;margin:0;font-size:.9rem}.admin-page .primary-btn:disabled,.admin-page .secondary-btn:disabled{opacity:.5;cursor:not-allowed}.data-input{width:100%;background:var(--bg-alt);border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:8px;padding:12px 14px;font-size:1rem;font-family:inherit}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.stat-tile{background:var(--panel);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:1.6rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;text-align:center}.data-table-wrap{background:var(--panel);border-radius:var(--radius);overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table td,.data-table th{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.data-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--panel);color:var(--text-dim);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr:last-child td{border-bottom:none}.data-email{word-break:break-all}.data-date{color:var(--text-dim);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.items-list{gap:12px}.item-row,.items-list{display:flex;flex-direction:column}.item-row{background:var(--panel);border-radius:var(--radius);padding:12px;gap:8px;position:relative}.item-row .row-top{display:flex;align-items:center;gap:8px}.item-row .segment-swatch{width:36px;height:36px;border-radius:8px;flex-shrink:0}.item-row input[type=text],.item-row textarea{width:100%;background:var(--bg-alt);border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem;font-family:inherit;resize:vertical}.item-row label{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;display:block}.row-remove{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:1.1rem;margin-left:auto;transition:color .15s ease}.row-remove:hover:not(:disabled){color:var(--accent)}.row-remove:disabled{opacity:.3;cursor:not-allowed}.config-actions{display:flex;flex-direction:column;gap:10px}.primary-btn,.secondary-btn{border:none;border-radius:999px;padding:16px 26px;min-height:52px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease}.primary-btn{background:var(--accent);color:#fff}.primary-btn:hover{background:var(--accent-hover)}.secondary-btn{background:var(--panel);color:var(--text)}.secondary-btn:hover{transform:translateY(-1px)}.secondary-btn.danger{color:#ff8a8a}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .2s ease}.modal-card{position:relative;background:var(--bg-alt);border-radius:var(--radius);padding:clamp(32px,7vw,60px);width:min(96vw,680px);max-height:90vh;overflow-y:auto;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6);animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.prize-card{animation:popIn .45s cubic-bezier(.34,1.56,.64,1)}.modal-actions{display:flex;flex-direction:column;gap:10px}.prize-card .prize-name{margin:.25em 0 .5em;font-size:1.3rem;font-weight:700;color:var(--text)}.modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-dim);font-size:1.1rem;cursor:pointer;width:32px;height:32px;border-radius:50%;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--panel);color:var(--text)}.modal-swatch{width:56px;height:56px;border-radius:50%;margin:0 auto 16px;box-shadow:0 0 0 4px rgba(255,255,255,.1)}.modal-card h2{margin:0 0 12px;font-size:clamp(1.6rem,5.5vw,2.2rem)}.modal-card p{color:var(--text-dim);margin:0 0 28px;line-height:1.5;font-size:clamp(1.1rem,4.2vw,1rem)}.player-form{display:flex;flex-direction:column;gap:14px;text-align:left}.form-field label{font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}.form-field input{min-height:54px;background:var(--bg-alt);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;font-size:1.15rem}.email-suggestion,.form-field input{width:100%;color:var(--text);font-family:inherit}.email-suggestion{display:block;margin-top:8px;padding:8px 12px;text-align:left;background:rgba(253,197,0,.12);border:1px solid rgba(253,197,0,.45);border-radius:8px;font-size:1rem}.modal-card .email-suggestion p{margin:0 0 8px;color:var(--text);font-size:1rem}.email-suggestion strong{text-decoration:underline}.email-suggestion-actions{display:flex;gap:8px}.email-suggestion-actions button{flex:1 1;min-height:44px;border:none;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.email-suggestion-yes{background:#FDC500;color:#1a1a1d}.email-suggestion-no{background:var(--panel);color:var(--text)}.player-form .primary-btn:disabled{opacity:.6;cursor:wait}.form-error,.modal-card .player-form .form-error{color:#ff8a8a;margin:-6px 0 0}.form-error{font-size:1rem}.privacy-note{color:var(--text-dim);font-size:.78rem;line-height:1.4;margin:-4px 0 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:60}.confetti-piece{position:absolute;top:-5%;opacity:0;border-radius:2px;animation-name:confettiFall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes confettiFall{0%{transform:translate(0) rotate(0deg);opacity:1}to{transform:translate(var(--drift),110vh) rotate(540deg);opacity:0}}.secret-tap-zone{position:fixed;bottom:0;right:0;width:clamp(140px,14vw,220px);height:clamp(140px,14vw,220px);opacity:0;border:0;background:none;z-index:100}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.form-consent{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;input{flex-shrink:0;margin-top:.2rem}}.data-actions{width:1%;text-align:right}.data-actions .row-remove{font-size:1.2rem;padding:4px 8px;min-height:40px}.confirm-overlay{z-index:60}.confirm-card{width:min(92vw,460px);padding:32px 28px 28px}.confirm-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:rgba(192,0,32,.15);display:flex;align-items:center;justify-content:center;font-size:1.6rem}.modal-card.confirm-card h2{font-size:1.4rem;margin:0 0 8px}.modal-card.confirm-card p{margin:0 0 6px;color:var(--text);font-size:1rem;word-break:break-word}.modal-card.confirm-card .confirm-detail{color:var(--text-dim);font-size:.9rem;margin-bottom:0}.confirm-actions{display:flex;gap:10px;margin-top:24px}.confirm-actions button{flex:1 1;min-height:50px;font-size:1rem}.confirm-actions button:disabled{opacity:.6;cursor:wait}