@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800;900&family=Russo+One&display=swap";:root{--glhf-bg:transparent;--glhf-panel:#0a0812e0;--glhf-text:#efeff1;--glhf-highlight:#9147ff;--glhf-winner:#bf94ff;--glhf-accent:#bf94ff;--glhf-glow:#c084fc;--glhf-font:"Inter", system-ui, sans-serif;--glhf-font-display:"Russo One", "Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--glhf-text);font-family:var(--glhf-font);background:0 0;width:100vw;height:100vh;overflow:hidden}body.glhf-debug{background:#0a0810}.glhf-overlay.glhf-anime{background:var(--glhf-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid #9147ff80;border-radius:clamp(12px,1.2vw,18px);width:clamp(280px,22vw,420px);max-height:calc(100vh - 40px);padding:clamp(12px,1.2vw,20px);position:absolute;bottom:2vh;right:2vw;overflow:hidden;box-shadow:0 0 30px #9147ff26,0 0 60px #9147ff0d,0 8px 32px #000000b3}.glhf-overlay.glhf-hidden{opacity:0;pointer-events:none;transform:translateY(20px)}.glhf-overlay.glhf-entering{animation:.4s forwards glhf-slide-in}.glhf-overlay.glhf-hiding{animation:.5s forwards glhf-slide-out}@keyframes glhf-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glhf-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.glhf-header{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.glhf-status{font-family:var(--glhf-font-display);text-transform:uppercase;letter-spacing:3px;color:var(--glhf-accent);-webkit-text-stroke:.5px #0000004d;text-shadow:0 0 12px var(--glhf-highlight), 0 0 30px #9147ff4d;font-size:clamp(16px,1.5vw,24px);font-weight:900}.glhf-algo-name{color:var(--glhf-highlight);opacity:0;text-shadow:0 0 8px var(--glhf-highlight);font-size:11px;font-weight:600;transition:opacity .4s}.glhf-algo-name.glhf-fade-in{opacity:.8}.glhf-info{border-bottom:1px solid #9147ff33;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.glhf-entry-count{color:var(--glhf-text);font-size:clamp(11px,.9vw,14px);font-weight:600;transition:transform .15s,color .15s}.glhf-entry-count.glhf-pulse{color:var(--glhf-accent);transform:scale(1.12)}.glhf-timer{font-variant-numeric:tabular-nums;color:var(--glhf-text);font-size:clamp(16px,1.3vw,22px);font-weight:800;transition:color .3s}.glhf-timer.glhf-urgent{color:#f44;animation:.5s infinite glhf-timer-pulse}@keyframes glhf-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.glhf-overlay.glhf-last-chance{animation:.6s infinite glhf-last-chance-border!important}.glhf-overlay.glhf-last-chance .glhf-status{color:#ff6b00!important;text-shadow:0 0 12px #ff6b00e6,0 0 30px #ff6b0066!important;animation:.6s infinite glhf-last-chance-text!important}@keyframes glhf-last-chance-border{0%,to{border-color:#9147ff80;box-shadow:0 0 30px #9147ff26,0 0 60px #9147ff0d,0 8px 32px #000000b3}50%{border-color:#ff6b00;box-shadow:0 0 20px #ff6b0080,0 0 50px #ff6b0033,0 8px 32px #000000b3}}@keyframes glhf-last-chance-text{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.glhf-cta{text-align:center;color:var(--glhf-accent);padding:4px 0 8px;font-size:clamp(10px,.85vw,14px);animation:2s ease-in-out infinite glhf-cta-pulse}.glhf-cta:empty{display:none}@keyframes glhf-cta-pulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.glhf-cta{opacity:.8;animation:none!important}}.glhf-entry-list{scrollbar-width:thin;scrollbar-color:#9147ff4d transparent;flex-wrap:wrap;gap:5px;max-height:clamp(100px,12vh,200px);padding:6px 0 10px;display:flex;overflow-y:auto}.glhf-entry-list:empty{display:none}.glhf-entry-list::-webkit-scrollbar{width:4px}.glhf-entry-list::-webkit-scrollbar-thumb{background:#9147ff4d;border-radius:4px}.glhf-entry-tag{color:var(--glhf-accent);background:#9147ff1f;border:1px solid #9147ff26;border-radius:4px;padding:2px 8px;font-size:clamp(9px,.7vw,12px);font-weight:600;animation:.2s glhf-tag-in;display:inline-block}@keyframes glhf-tag-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.glhf-design-stage{opacity:0;justify-content:center;align-items:center;padding:12px 0 4px;transition:opacity .5s;display:flex;position:relative}.glhf-design-stage.glhf-design-visible{opacity:1}.glhf-wheel-stage{justify-content:center;align-items:center;display:flex;position:relative}.glhf-wheel-frame{border:3px solid #9147ff66;border-radius:50%;width:300px;height:300px;position:relative;overflow:hidden;box-shadow:0 0 20px #9147ff33,inset 0 0 20px #0000004d}.glhf-wheel-spin{will-change:transform;width:100%;height:100%}.glhf-wheel-canvas{width:100%;height:100%;display:block}.glhf-wheel-cover{z-index:5;pointer-events:none;background:linear-gradient(270deg,#0a0812eb,#0a0812);border-right:2px solid #9147ff4d;width:54%;position:absolute;top:0;bottom:0;left:0}.glhf-wheel-pointer{width:0;height:0;filter:drop-shadow(0 0 12px var(--glhf-highlight)) drop-shadow(0 0 24px var(--glhf-highlight)) drop-shadow(-2px 0 4px #000c);z-index:20;border-top:14px solid #0000;border-bottom:14px solid #0000;border-right:28px solid #fff;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.glhf-callout{font-family:var(--glhf-font-display);letter-spacing:3px;text-transform:uppercase;text-align:center;color:#fff;min-height:40px;text-shadow:0 0 12px var(--glhf-highlight), 0 2px 4px #000c;font-size:clamp(20px,2vw,30px);font-weight:900;transition:transform 80ms,color .15s}.glhf-callout:empty{display:none}.glhf-callout.glhf-pop{animation:.12s ease-out glhf-name-pop}@keyframes glhf-name-pop{0%{transform:scale(1.1)}to{transform:scale(1)}}.glhf-callout[data-beat=near-miss]{color:#ff6b35;text-shadow:0 0 16px #ff6b35cc,0 2px 4px #000c;transform:scale(1.05)}.glhf-callout[data-beat=fake-stop]{color:var(--glhf-winner);text-shadow:0 0 20px var(--glhf-winner), 0 2px 4px #000c;opacity:.85;font-size:clamp(22px,2.1vw,32px);transform:scale(1.05)}.glhf-callout[data-beat=reveal],.glhf-callout[data-beat=celebration]{color:var(--glhf-winner);text-shadow:0 0 24px var(--glhf-winner), 0 0 48px #bf94ff66;font-size:clamp(26px,2.5vw,40px);transform:scale(1.15)}.glhf-overlay.glhf-fullscreen .glhf-callout{min-height:52px;font-size:clamp(28px,3vw,50px)}.glhf-overlay.glhf-fullscreen .glhf-callout[data-beat=fake-stop]{opacity:.85;font-size:clamp(30px,3.2vw,54px)}.glhf-overlay.glhf-fullscreen .glhf-callout[data-beat=reveal],.glhf-overlay.glhf-fullscreen .glhf-callout[data-beat=celebration]{font-size:clamp(36px,4vw,66px)}.glhf-overlay.glhf-closing .glhf-entry-list{animation:.4s forwards glhf-fade-out}.glhf-overlay.glhf-closing .glhf-status{animation:1.2s infinite glhf-closing-pulse}@keyframes glhf-fade-out{0%{opacity:1;max-height:clamp(100px,12vh,200px)}to{opacity:0;max-height:0;overflow:hidden}}@keyframes glhf-closing-pulse{0%,to{opacity:1}50%{opacity:.6}}.glhf-overlay.glhf-hype{border-color:var(--glhf-accent)!important;animation:.8s infinite glhf-hype-glow!important;box-shadow:0 0 40px #9147ff4d,0 0 80px #9147ff1a,0 8px 32px #000000b3!important}.glhf-overlay.glhf-hype .glhf-status{color:var(--glhf-winner)!important;text-shadow:0 0 20px var(--glhf-winner), 0 0 40px #bf94ff80!important;animation:.6s infinite glhf-hype-text!important}@keyframes glhf-hype-glow{0%,to{border-color:#9147ff80;box-shadow:0 0 30px #9147ff26,0 8px 32px #000000b3}50%{border-color:var(--glhf-accent);box-shadow:0 0 50px #9147ff59,0 0 80px #9147ff1f,0 8px 32px #000000b3}}@keyframes glhf-hype-text{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.glhf-overlay.glhf-fullscreen{-webkit-backdrop-filter:none;width:100%;height:100%;max-height:none;box-shadow:none;z-index:50;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:0;display:flex;position:fixed;inset:0;animation:.4s forwards glhf-fullscreen-in!important}.glhf-overlay.glhf-fullscreen .glhf-wheel-frame{animation:none!important}@keyframes glhf-fullscreen-in{0%{opacity:.6;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.glhf-overlay.glhf-fullscreen .glhf-header{text-align:center;justify-content:center}.glhf-overlay.glhf-fullscreen .glhf-status{letter-spacing:6px;font-size:clamp(24px,2.5vw,42px)}.glhf-overlay.glhf-fullscreen .glhf-info{border-bottom:none;justify-content:center;margin-bottom:0;padding-bottom:0}.glhf-overlay.glhf-fullscreen .glhf-design-stage{aspect-ratio:1;width:100%;max-width:clamp(300px,40vw,600px);padding:0}.glhf-overlay.glhf-fullscreen .glhf-wheel-frame{width:clamp(300px,35vw,500px);height:clamp(300px,35vw,500px)}.glhf-overlay.glhf-fullscreen .glhf-wheel-canvas{width:100%;height:100%}.glhf-overlay.glhf-fullscreen .glhf-wheel-pointer{border-top-width:18px;border-bottom-width:18px;border-right-width:36px;right:-8px}.glhf-overlay.glhf-fullscreen.glhf-celebrate .glhf-status{letter-spacing:8px;font-size:clamp(30px,3.2vw,54px)}.glhf-overlay.glhf-rigged{border-color:#f22!important;animation:.5s infinite glhf-rigged-flash!important;box-shadow:0 0 40px #f006,0 0 80px #ff000026,0 8px 32px #000000b3!important}@keyframes glhf-rigged-flash{0%,to{background:var(--glhf-panel)}50%{background:#ff00001f}}.glhf-overlay.glhf-rigged .glhf-status{color:#f22!important;text-shadow:0 0 20px #f00c,0 0 40px #f006!important;animation:.6s infinite glhf-shame-text!important}@keyframes glhf-shame-text{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.glhf-overlay.glhf-rigged .glhf-wheel-frame{border-color:#f009!important;animation:none!important;box-shadow:0 0 30px #ff00004d,inset 0 0 30px #ff00001a!important}.glhf-overlay.glhf-rigged-fading{animation:1s forwards glhf-shame-fade-out!important}@keyframes glhf-shame-fade-out{0%{border-color:#f22;box-shadow:0 0 40px #f006,0 8px 32px #000000b3}to{border-color:#9147ff80;box-shadow:0 0 30px #9147ff26,0 8px 32px #000000b3}}.glhf-overlay.glhf-rigged-fading .glhf-status{color:var(--glhf-accent)!important;animation:.8s infinite glhf-real-winner-pulse!important}@keyframes glhf-real-winner-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glhf-shake-1{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}}@keyframes glhf-shake-2{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,4px)}80%{transform:translate(3px,-2px)}}@keyframes glhf-shake-3{0%,to{transform:translate(0)}10%{transform:translate(-6px,4px)}30%{transform:translate(6px,-5px)}50%{transform:translate(-5px,6px)}70%{transform:translate(5px,-4px)}90%{transform:translate(-4px,5px)}}.glhf-overlay.glhf-shake-1{animation:.2s glhf-shake-1}.glhf-overlay.glhf-shake-2{animation:.3s glhf-shake-2}.glhf-overlay.glhf-shake-3{animation:.4s glhf-shake-3}.glhf-overlay.glhf-flash:after{content:"";pointer-events:none;z-index:20;background:#ffffff26;border-radius:18px;animation:80ms forwards glhf-flash-out;position:absolute;inset:0}@keyframes glhf-flash-out{0%{opacity:1}to{opacity:0}}.glhf-overlay.glhf-celebrate{overflow:visible;animation:.6s glhf-celebrate-burst!important}@keyframes glhf-celebrate-burst{0%{transform:scale(1)}15%{transform:scale(1.04)}30%{transform:scale(.98)}50%{transform:scale(1.02)}to{transform:scale(1)}}.glhf-overlay.glhf-celebrate .glhf-status{letter-spacing:5px;font-size:clamp(18px,1.7vw,28px);color:var(--glhf-winner)!important;text-shadow:0 0 15px var(--glhf-winner), 0 0 40px #bf94ff80!important;animation:1s infinite glhf-winner-status!important}@keyframes glhf-winner-status{0%,to{text-shadow:0 0 15px var(--glhf-winner), 0 0 40px #bf94ff66;transform:scale(1)}50%{text-shadow:0 0 25px var(--glhf-winner), 0 0 60px #bf94ff99;transform:scale(1.05)}}.glhf-overlay.glhf-celebrate .glhf-wheel-frame{border-color:var(--glhf-winner)!important;box-shadow:0 0 30px #bf94ff66,inset 0 0 20px #bf94ff1a!important}.glhf-particle{background:var(--glhf-winner);pointer-events:none;z-index:60;opacity:0;border-radius:50%;width:8px;height:8px;animation:2.5s cubic-bezier(.16,.9,.3,1) forwards glhf-particle-burst;position:absolute}.glhf-particle:nth-child(odd){background:var(--glhf-accent);width:6px;height:6px}.glhf-particle:nth-child(3n){background:var(--glhf-highlight);border-radius:2px;width:10px;height:10px}.glhf-particle:nth-child(5n){background:#ec4899;width:5px;height:5px}.glhf-particle:nth-child(7n){background:#fbbf24;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #fbbf2499}.glhf-particle:nth-child(11n){background:#34d399;width:7px;height:7px}.glhf-particle:nth-child(4n){border-radius:2px;width:3px;height:10px}.glhf-particle:nth-child(6n){background:#ffffffe6;border-radius:2px;width:14px;height:4px}@keyframes glhf-particle-burst{0%{opacity:1;transform:translate(0)scale(0)rotate(0)}10%{opacity:1;transform:translate(0)scale(1.2)rotate(30deg)}60%{opacity:1}to{transform:translate(var(--drift-x,0px), var(--drift-y,0px)) scale(0) rotate(360deg);opacity:0}}.glhf-control-bar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0812d9;border:1px solid #9147ff40;border-radius:10px;gap:8px;padding:8px 12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.glhf-ctrl{font-family:var(--glhf-font);cursor:pointer;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:6px;padding:clamp(6px,.5vw,10px) clamp(14px,1.2vw,22px);font-size:clamp(11px,.85vw,14px);font-weight:700;transition:all .15s}.glhf-ctrl:disabled{opacity:.3;cursor:default;box-shadow:none!important;transform:none!important}.glhf-ctrl:not(:disabled):hover{transform:translateY(-1px)}.glhf-ctrl-start{background:var(--glhf-highlight);color:#fff}.glhf-ctrl-start:not(:disabled):hover{box-shadow:0 4px 12px #9147ff66}.glhf-ctrl-reroll{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d}.glhf-ctrl-reroll:not(:disabled):hover{background:#fbbf2440;box-shadow:0 4px 12px #fbbf2433}.glhf-ctrl-reset{color:var(--glhf-text);background:#ffffff1a}.glhf-ctrl-reset:not(:disabled):hover{background:#fff3}.glhf-controls{z-index:100;gap:8px;display:flex;position:fixed;bottom:20px;left:20px}.glhf-controls button{font-family:var(--glhf-font);cursor:pointer;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:700;transition:all .15s}.glhf-controls button:hover{transform:translateY(-1px)}.glhf-btn-start{background:var(--glhf-highlight);color:#fff}.glhf-btn-start:hover{box-shadow:0 4px 12px #9147ff66}.glhf-btn-reset{color:var(--glhf-text);background:#ffffff1a}.glhf-btn-reset:hover{background:#fff3}.glhf-debug-sidebar{scrollbar-width:thin;scrollbar-color:#9147ff4d transparent;z-index:200;flex-direction:column;gap:10px;width:260px;display:flex;position:fixed;top:20px;bottom:70px;left:20px;overflow-y:auto}.glhf-debug-sidebar::-webkit-scrollbar{width:4px}.glhf-debug-sidebar::-webkit-scrollbar-thumb{background:#9147ff4d;border-radius:4px}.glhf-configurator{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;font-family:var(--glhf-font);background:#18181bf2;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;padding:14px}.glhf-config-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.glhf-config-title{text-transform:uppercase;letter-spacing:1.5px;color:#fff9;font-size:13px;font-weight:800}.glhf-config-reset{font-family:var(--glhf-font);color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .15s}.glhf-config-reset:hover{color:#fffc;border-color:#ffffff4d}.glhf-config-fields{flex-direction:column;gap:8px;display:flex}.glhf-config-row{justify-content:space-between;align-items:center;display:flex}.glhf-config-row label{color:#ffffff80;font-size:12px;font-weight:600}.glhf-config-input-group{align-items:center;gap:6px;display:flex}.glhf-config-input-group input[type=color]{cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:4px;width:28px;height:28px;padding:1px}.glhf-config-input-group input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.glhf-config-input-group input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.glhf-config-input-group input[type=text]{color:#ffffffb3;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;outline:none;width:72px;padding:4px 6px;font-family:SF Mono,Consolas,monospace;font-size:11px;transition:border-color .15s}.glhf-config-input-group input[type=text]:focus{border-color:var(--glhf-highlight)}.glhf-config-row input[type=range]{width:80px;accent-color:var(--glhf-highlight);cursor:pointer}.glhf-timer-value{color:var(--glhf-accent);text-align:right;min-width:32px;font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:600}.glhf-sound-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.glhf-sound-row label{color:#fff6;white-space:nowrap;min-width:70px;font-size:11px;font-weight:600}.glhf-sound-input-group{flex:1;align-items:center;gap:4px;display:flex}.glhf-sound-input-group input{color:#ffffffb3;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;outline:none;flex:1;min-width:0;padding:4px 6px;font-family:SF Mono,Consolas,monospace;font-size:10px}.glhf-sound-input-group input:focus{border-color:var(--glhf-highlight)}.glhf-sound-test{color:#ffffff80;cursor:pointer;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;display:flex}.glhf-sound-test:hover{border-color:var(--glhf-highlight);color:var(--glhf-accent)}.glhf-sound-upload{color:#ffffff80;cursor:pointer;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:12px;display:flex}.glhf-sound-upload:hover{border-color:var(--glhf-highlight);color:var(--glhf-accent)}.glhf-sound-row--dragover{outline:1px dashed var(--glhf-highlight);border-radius:4px}.glhf-sound-session-note{color:#ffffff4d;white-space:nowrap;align-self:flex-end;margin-top:2px;font-size:9px;font-style:italic}.glhf-toggle{width:36px;height:20px;display:inline-block;position:relative}.glhf-toggle input{opacity:0;width:0;height:0}.glhf-toggle-slider{cursor:pointer;background:#ffffff1a;border-radius:20px;transition:all .2s;position:absolute;inset:0}.glhf-toggle-slider:before{content:"";background:#ffffff80;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;bottom:3px;left:3px}.glhf-toggle input:checked+.glhf-toggle-slider{background:#f22}.glhf-toggle input:checked+.glhf-toggle-slider:before{background:#fff;transform:translate(16px)}.glhf-keybind-btn{color:#ffffffb3;cursor:pointer;text-align:center;background:#0000004d;border:1px solid #ffffff26;border-radius:4px;min-width:80px;padding:5px 14px;font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:600;transition:all .15s}.glhf-keybind-btn:hover{border-color:var(--glhf-highlight);color:#fff}.glhf-keybind-btn.glhf-keybind-listening{border-color:var(--glhf-highlight);color:var(--glhf-accent);background:#9147ff26;animation:1s infinite glhf-keybind-pulse}@keyframes glhf-keybind-pulse{0%,to{border-color:var(--glhf-highlight)}50%{border-color:var(--glhf-accent)}}.glhf-cheat-warning .glhf-warning-body{flex-direction:column;gap:10px;display:flex}.glhf-warning-text{color:#f88;background:#ff222214;border:1px solid #f223;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.5}.glhf-warning-text strong{color:#f44}.glhf-rig-divider{background:#ffffff14;height:1px;margin:10px 0}.glhf-rig-body{flex-direction:column;gap:8px;display:flex}.glhf-rig-empty{color:#ffffff4d;font-size:12px;font-style:italic}.glhf-rig-select{font-family:var(--glhf-font);color:var(--glhf-text);cursor:pointer;background:#0006;border:1px solid #ffffff1a;border-radius:4px;outline:none;padding:6px 8px;font-size:12px}.glhf-rig-select:focus{border-color:#f22}.glhf-rig-btn{font-family:var(--glhf-font);color:#f44;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:#ff222226;border:1px solid #f22;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s}.glhf-rig-btn:hover{color:#f66;background:#ff22224d}.glhf-connection-status{align-items:center;gap:8px;display:flex}.glhf-connection-dot{background:#666;border-radius:50%;flex-shrink:0;width:8px;height:8px}.glhf-connection-dot.connected{background:#34d399;box-shadow:0 0 6px #34d39980}.glhf-connection-dot.reconnecting{background:#fbbf24;animation:1s ease-in-out infinite glhf-blink;box-shadow:0 0 6px #fbbf2480}@keyframes glhf-blink{0%,to{opacity:1}50%{opacity:.3}}.glhf-connection-label{color:var(--glhf-text);font-size:13px;font-weight:600}.glhf-token-input{font-family:var(--glhf-font);z-index:501;background:#18181b;border:1px solid #9147ff4d;border-radius:16px;min-width:340px;padding:28px 32px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0009}.glhf-token-input:before{content:"";z-index:-1;background:#000000d9;position:fixed;inset:0}.glhf-token-input h3{color:var(--glhf-text);margin-bottom:8px;font-size:16px;font-weight:800}.glhf-token-input p{color:#ffffff80;margin-bottom:6px;font-size:13px}.glhf-token-scopes{font-family:SF Mono,Consolas,monospace;color:#ffffff4d!important;margin-bottom:16px!important;font-size:11px!important}.glhf-token-input input{width:100%;color:var(--glhf-text);background:#0006;border:1px solid #ffffff1f;border-radius:8px;outline:none;margin-bottom:12px;padding:10px 12px;font-family:SF Mono,Consolas,monospace;font-size:13px;transition:border-color .15s}.glhf-token-input input:focus{border-color:var(--glhf-highlight)}.glhf-token-input button{width:100%;font-family:var(--glhf-font);background:var(--glhf-highlight);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;transition:all .15s}.glhf-token-input button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #9147ff66}.glhf-token-input button:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.glhf-token-status{text-align:center;color:#ffffff80;min-height:18px;margin-top:12px;font-size:12px;font-weight:600}.glhf-token-status.success{color:#34d399}.glhf-token-status.error{color:#f44}.glhf-token-label{color:#ffffff80;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.glhf-btn-twitch{margin-bottom:8px;background:#9147ff!important}.glhf-btn-twitch:hover{background:#7c3aed!important;box-shadow:0 4px 16px #9147ff80!important}.glhf-token-divider{color:#ffffff40;align-items:center;gap:12px;margin:8px 0;font-size:11px;display:flex}.glhf-token-divider:before,.glhf-token-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.glhf-config-profiles{border-top:1px solid #ffffff14;margin-top:12px;padding-top:12px}.glhf-config-profiles-header{border-bottom:none;margin-bottom:8px;padding-bottom:0}.glhf-config-profile-row{align-items:center;gap:5px;margin-bottom:6px;display:flex}.glhf-config-profile-input{font-family:var(--glhf-font);color:#ffffffb3;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;outline:none;flex:1;min-width:0;padding:4px 7px;font-size:11px;transition:border-color .15s}.glhf-config-profile-input::placeholder{color:#ffffff40}.glhf-config-profile-input:focus{border-color:var(--glhf-highlight)}.glhf-config-select{font-family:var(--glhf-font);color:#ffffffb3;cursor:pointer;background:#0006;border:1px solid #ffffff1a;border-radius:4px;outline:none;flex:1;padding:4px 6px;font-size:11px;transition:border-color .15s}.glhf-config-select:focus{border-color:var(--glhf-highlight)}.glhf-config-profile-select{font-family:var(--glhf-font);color:#ffffffb3;cursor:pointer;background:#0006;border:1px solid #ffffff1a;border-radius:4px;outline:none;flex:1;min-width:0;padding:4px 6px;font-size:11px;transition:border-color .15s}.glhf-config-profile-select:focus{border-color:var(--glhf-highlight)}.glhf-config-profile-btn{font-family:var(--glhf-font);color:#ffffff80;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff26;border-radius:4px;flex-shrink:0;padding:4px 9px;font-size:11px;font-weight:600;transition:all .15s}.glhf-config-profile-btn:disabled{opacity:.3;cursor:default}.glhf-config-profile-save{color:var(--glhf-accent);border-color:#9147ff66}.glhf-config-profile-save:hover:not(:disabled){border-color:var(--glhf-highlight);color:#fff;background:#9147ff26}.glhf-config-profile-load:hover:not(:disabled){color:#fffc;border-color:#ffffff4d}.glhf-config-profile-delete{color:#f449;border-color:#ff222240}.glhf-config-profile-delete:hover:not(:disabled){color:#f44;background:#ff22221f;border-color:#f22}.glhf-preset-header{border-bottom:none;margin-bottom:8px;padding-bottom:0}.glhf-preset-chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:24px;display:flex}.glhf-preset-empty{color:#ffffff40;font-size:11px;font-style:italic}.glhf-preset-chip{color:var(--glhf-accent);background:#9147ff1f;border:1px solid #9147ff33;border-radius:4px;align-items:center;gap:4px;padding:3px 6px 3px 8px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.glhf-preset-chip-label{cursor:pointer}.glhf-preset-chip-label:hover{color:#fff}.glhf-preset-chip-delete{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:13px;line-height:1;transition:all .15s;display:inline-flex}.glhf-preset-chip-delete:hover{color:#f44;background:#f223}@media (prefers-reduced-motion:reduce){.glhf-overlay.glhf-rigged{background:#ff000014!important;animation:none!important}.glhf-overlay.glhf-rigged .glhf-status,.glhf-overlay.glhf-shake-1,.glhf-overlay.glhf-shake-2,.glhf-overlay.glhf-shake-3,.glhf-timer.glhf-urgent{animation:none!important}.glhf-overlay.glhf-entering{opacity:1;transform:translateY(0);animation:none!important}.glhf-overlay.glhf-hiding{opacity:0;animation:none!important}.glhf-overlay.glhf-closing .glhf-status{animation:none!important}.glhf-overlay.glhf-closing .glhf-entry-list{opacity:0;max-height:0;overflow:hidden;animation:none!important}.glhf-overlay.glhf-hype,.glhf-overlay.glhf-hype .glhf-status{animation:none!important}.glhf-particle{display:none;animation:none!important}.glhf-overlay.glhf-last-chance{border-color:#ff6b00!important;animation:none!important;box-shadow:0 0 20px #ff6b0066,0 8px 32px #000000b3!important}.glhf-overlay.glhf-last-chance .glhf-status{animation:none!important}}.glhf-scam-pointer{z-index:20;pointer-events:none;filter:drop-shadow(0 4px 12px #00ff414d);width:30%;transition:filter .3s;position:absolute;top:-8%;left:50%;transform:translate(-50%)}.glhf-scam-pointer img{width:100%;height:auto;display:block}.glhf-scam-pointer-active{animation:.6s ease-in-out infinite scam-bob}.glhf-scam-pointer-hit{filter:drop-shadow(0 4px 20px #ff0040cc);animation:.3s ease-out scam-hit}.glhf-scam-pointer-winner{filter:drop-shadow(0 4px 30px #ff0040)drop-shadow(0 0 40px #ff004099);animation:.5s ease-in-out infinite scam-winner-bounce}@keyframes scam-bob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(4px)}}@keyframes scam-hit{0%{transform:translate(-50%)translateY(0)}30%{transform:translate(-50%)translateY(12px)scale(1.05)}to{transform:translate(-50%)translateY(0)scale(1)}}@keyframes scam-winner-bounce{0%,to{transform:translate(-50%)translateY(0)rotate(0)}25%{transform:translate(-50%)translateY(-6px)rotate(-2deg)}75%{transform:translate(-50%)translateY(6px)rotate(2deg)}}.glhf-scam-text{color:#00ff41;text-shadow:0 0 10px #00ff41cc,0 0 20px #00ff4166,0 0 40px #00ff4133;text-align:center;white-space:nowrap;z-index:20;pointer-events:none;opacity:0;letter-spacing:2px;text-transform:uppercase;font-family:Russo One,Inter,monospace;font-size:clamp(14px,3vw,28px);transition:opacity .2s;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.glhf-scam-text-active{opacity:1}.glhf-scam-text-miss{color:#f44;text-shadow:0 0 10px #f44c,0 0 20px #f446;animation:.15s linear scam-glitch}.glhf-scam-text-winner{color:#ff0040;text-shadow:0 0 15px #ff0040,0 0 30px #ff004099,0 0 60px #ff00404d;font-size:clamp(20px,4vw,40px);animation:.4s ease-in-out infinite alternate scam-pulse}@keyframes scam-glitch{0%{transform:translate(-50%)skew(0)}25%{transform:translate(-48%)skew(-5deg)}50%{transform:translate(-52%)skew(3deg)}75%{transform:translate(-49%)skew(-2deg)}to{transform:translate(-50%)skew(0)}}@keyframes scam-pulse{0%{opacity:.8}to{opacity:1}}.glhf-scam-scanlines{z-index:15;pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);position:absolute;inset:0}.glhf-design-picker-row{flex-direction:column;align-items:flex-start;gap:6px}.glhf-design-card-grid{flex-wrap:wrap;gap:6px;width:100%;display:flex}.glhf-design-card-grid--disabled{opacity:.45;pointer-events:none}.glhf-design-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1.5px solid #ffffff1f;border-radius:6px;width:88px;transition:border-color .15s,background .15s;overflow:hidden}.glhf-design-card:hover{background:#ffffff14;border-color:#ffffff4d}.glhf-design-card.active{border-color:var(--glhf-highlight);background:#9147ff1f}.glhf-design-card-color{width:100%;height:4px}.glhf-design-card-name{color:var(--glhf-text);white-space:nowrap;text-overflow:ellipsis;padding:5px 6px 2px;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden}.glhf-design-card-desc{color:#efeff180;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 6px 6px;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}
