/* Midnight studio: quiet controls, animated focal point. */
body{background:radial-gradient(ellipse at 46% -10%,#45454545,transparent 65%),radial-gradient(ellipse at 100% 90%,#49494920,transparent 45%),#0e0e0e;color:#eaeaea;font-size:14px}body:before{opacity:.12}header{height:85px;margin:0 30px}.brand{font-size:26px}.brand small{letter-spacing:2.4px;color:#929292}header nav{padding:10px 15px;border:1px solid #bdbdbd14;border-radius:20px;background:#bdbdbd04;color:#cbcbcb;font-size:11px}.dashboard{max-width:1800px;padding:24px 30px 30px;grid-template-columns:minmax(290px, .97fr) minmax(380px,1.53fr) minmax(285px,.98fr);gap:22px;min-height:calc(100dvh - 85px)}.card{border-color:#b6b6b624;border-radius:22px;background:linear-gradient(150deg,#222222e6,#171717f0);box-shadow:0 16px 45px #00000033,inset 0 1px 0 #dbdbdb09}.card:before{height:1px;left:8%;right:8%;background:linear-gradient(90deg,transparent,#b4b4b480,transparent)}.card-head{height:79px;margin:0 24px;gap:12px}.card-head h1,.card-head h2{font-size:15px;font-weight:400;letter-spacing:-.35px}.head-icon{width:31px;height:31px;background:#92929212;border-color:#a8a8a826;color:#b7b7b7}.head-icon svg{width:17px;height:17px}.crown-icon{color:#d3d3d3;background:#cfcfcf0a;border-color:#d0d0d026}.panel-body{padding:4px 24px 26px}.panel-body label{font-size:11px;color:#b6b6b6;margin-top:24px}.field{height:48px;background:linear-gradient(100deg,#2a2a2a50,#ffffff02);border-color:#bfbfbf24;box-shadow:inset 0 1px 2px #00000011;transition:box-shadow .25s,border-color .25s}.field:focus-within{border-color:#b3b3b396;box-shadow:0 0 0 3px #9d9d9d0d,0 0 24px #99999912}.field input{font-size:13px;color:#e6e6e6}.field input::placeholder{color:#7b7b7b}.switch-row{font-size:10px!important;margin-top:16px!important}.switch-row input{width:31px;height:18px}.switch-row input:before{width:12px;height:12px}.switch-row input:checked:before{transform:translateX(13px)}.collect{height:48px;font-size:12px;position:relative;overflow:hidden;margin-top:26px;background:linear-gradient(105deg,#ababab,#bebebe);box-shadow:0 4px 20px #92929230,inset 0 1px #ebebeb70;transition:filter .2s,transform .2s}.collect:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff30 50%,transparent 70%);transform:translateX(-130%);animation:button-sheen 7s 1s infinite}.collect:hover{filter:brightness(1.09);transform:translateY(-1px)}.collecting .collect{background:#b7b7b714;color:#d5d5d5;border-color:#bbbbbb50;box-shadow:inset 0 1px #f3f3f30a}.collecting .collect:after{animation:none;background:none}.connection{font-size:10px;color:#949494;min-height:63px;padding:16px 0;gap:9px}.connection.live{color:#cdcdcd}.stats{gap:8px;padding-bottom:25px}.stat{background:linear-gradient(140deg,#bbbbbb07,#ffffff01);padding:15px 8px;text-align:center;border-color:#bdbdbd13}.stat strong{font-size:22px;font-weight:400;letter-spacing:-.6px;color:#e8e8e8}.stat:nth-child(1) strong{color:#c4c4c4}.stat:nth-child(2) strong{color:#cbcbcb}.stat small{font-size:7px;letter-spacing:.65px;margin-top:8px}.launch{height:48px;font-size:12px;background:linear-gradient(105deg,#c8c8c8,#c1c1c1);box-shadow:0 3px 0 #5a5a5a,0 0 22px #b0b0b01c;margin-top:24px}.launch:disabled{opacity:.44;background:#60606030;box-shadow:none;color:#b4b4b4}.launch:hover:not(:disabled){box-shadow:0 3px 0 #5a5a5a,0 0 28px #b0b0b044}.reset{margin-top:22px;font-size:10px;color:#919191}.head-note{font-size:7px!important;letter-spacing:.8px;color:#7d7d7d!important}.winner-card{background:radial-gradient(ellipse at 50% 42%,#59595916,transparent 60%),linear-gradient(155deg,#212121,#181818);isolation:isolate}.winner-card:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 45% 50%,#8d8d8d16,transparent 50%);animation:aurora-breath 8s ease-in-out infinite alternate}.empty-winner{min-height:470px;padding-top:38px;padding-bottom:65px}.orb-scene{width:240px;height:240px;margin-bottom:24px;perspective:500px}.orb-scene:before{inset:-60px;background:radial-gradient(circle,#9b9b9b29,transparent 65%);animation:aurora-breath 6s ease-in-out infinite alternate}.orb-scene:after{content:'';position:absolute;inset:7px;border:1px dashed #c7c7c717;border-radius:50%;animation:orb-track 65s linear infinite}.orb-ring{inset:25px;transform:rotate(-26deg) scaleY(.46);border-color:#afafaf42;animation:ring-tilt 12s ease-in-out infinite alternate}.orb-ring.second{inset:12px;transform:rotate(42deg) scaleY(.48);border-color:#c9c9c936;animation:ring-tilt-two 14s ease-in-out infinite alternate}.orb-ring:after{width:7px;height:7px;background:#cfcfcf;box-shadow:0 0 12px #b8b8b8,0 0 26px #b8b8b860;top:22px;left:22px}.orb-ring.second:after{background:#d9d9d9;box-shadow:0 0 13px #cdcdcd}.orb-core{width:101px;height:101px;border-radius:29px;background:linear-gradient(145deg,#474747,#2b2b2b);border-color:#cdcdcd57;box-shadow:inset 0 2px 2px #e3e3e324,0 25px 45px #0b0b0b66,0 0 55px #a5a5a51f;animation:float 5s ease-in-out infinite;z-index:2}.orb-core svg{width:47px;height:47px;stroke:#dadada;filter:drop-shadow(0 0 9px #b3b3b377)}.empty-winner h2{font-size:23px;font-weight:400;letter-spacing:-.7px;color:#dddddd}.empty-winner p{font-size:12px;line-height:1.9;color:#8f8f8f;max-width:300px}.chat-bottom{font-size:8px;color:#6e6e6e;margin-bottom:22px;padding-top:18px}.chat-bottom span:first-child{color:#a0a0a0}.participant-body{padding:19px 21px;height:calc(100% - 79px)}.search-box{height:40px;border-color:#bdbdbd1c;border-radius:9px;background:#b1b1b103}.search-box input{font-size:11px}.search-box:focus-within{border-color:#acacac63}.count-badge{border-color:#acacac32;background:#b1b1b112;padding:5px 8px;font-size:11px}.people-empty{min-height:360px}.ghost-avatars{height:80px}.ghost-avatars i{width:43px;height:43px;animation:ghost-float 5s ease-in-out infinite;box-shadow:0 7px 18px #0c0c0c40}.ghost-avatars i:nth-child(2){width:54px;height:54px;animation-delay:-2s;background:linear-gradient(135deg,#383838,#2c2c2c);border-color:#a8a8a83d}.ghost-avatars i:nth-child(3){animation-delay:-3.5s}.ghost-avatars i:before{top:11px}.ghost-avatars i:after{top:23px}.ghost-avatars i:nth-child(2):before{top:15px}.ghost-avatars i:nth-child(2):after{top:29px}.people-empty p{font-size:11px;line-height:1.9;max-width:245px;color:#8c8c8c}.person{animation:none;padding:11px 4px;gap:11px}.person.is-new{animation:participant-in .55s cubic-bezier(.2,.8,.2,1) both}.person-name{font-size:12px;color:#d9d9d9}.person-sub{font-size:9px;color:#878787}.person-number{font-size:9px}.avatar{height:35px;width:35px;border-radius:11px;font-size:11px;box-shadow:inset 0 1px #ffffff0c}.person.is-winner{background:linear-gradient(90deg,#91919124,transparent);border-color:#b9b9b936}.person.is-winner .person-number{font-size:17px;color:#cecece}.people-list{max-height:calc(100dvh - 249px)}.person>div:nth-child(2){min-width:0}.winner-view{padding:32px 25px;position:relative}.winner-profile{background:radial-gradient(ellipse at 50% -20%,#a3a3a336,transparent 75%),#a5a5a506;border:1px solid #b3b3b33b;padding:39px 15px 34px;border-radius:18px;position:relative;overflow:hidden;animation:none}.winner-profile:before{content:'✦';position:absolute;top:26px;left:18%;color:#d1d1d1;opacity:.7;font-size:13px;animation:star-pulse 3s ease-in-out infinite}.winner-profile:after{content:'✧';position:absolute;right:15%;top:54px;color:#d9d9d9;font-size:23px;animation:star-pulse 4s ease-in-out infinite alternate}.winner-profile .avatar{width:78px;height:78px;font-size:25px;border-radius:24px;box-shadow:0 0 0 6px #bcbcbc07,0 0 0 7px #bcbcbc1f,0 0 50px #b2b2b229;margin-bottom:25px}.winner-profile small{color:#c1c1c1;font-size:9px;letter-spacing:2.2px}.winner-profile h2{font-size:29px;letter-spacing:-.7px;color:#e7e7e7;margin-top:12px}.winner-enter .winner-profile{animation:winner-unveil .9s cubic-bezier(.18,.75,.23,1) both}.winner-enter .winner-profile h2{animation:name-unveil .8s .15s both}.chat-label{font-size:8px;letter-spacing:1.2px;color:#959595}.bubble{padding:17px 18px;border-color:#c4c4c41c;background:#cfcfcf06;border-radius:0 13px 13px}.bubble strong{font-size:12px}.bubble p{font-size:13px;color:#d4d4d4}.bubble time{font-size:10px;color:#999999}.chat-waiting{display:flex;gap:5px;padding:18px;width:65px;background:#b7b7b707;border-radius:0 12px 12px}.chat-waiting i{width:5px;height:5px;border-radius:50%;background:#b9b9b9;animation:typing 1s ease-in-out infinite}.chat-waiting i:nth-child(2){animation-delay:.15s}.chat-waiting i:nth-child(3){animation-delay:.3s}.drawing .orb-core{animation:float 1.2s ease-in-out infinite;box-shadow:0 0 70px #9f9f9f50,inset 0 1px #dfdfdf55}.drawing .orb-ring{animation:orb-track 1.3s linear infinite;transform:rotate(0);border-color:#afafaf60}.drawing .orb-ring.second{animation-direction:reverse;animation-duration:2s;border-color:#c9c9c956}.has-winner .winner-card{border-color:#afafaf48;box-shadow:0 0 50px #8a8a8a0c,inset 0 1px #e1e1e109}.collecting .participants-card:before{background:linear-gradient(90deg,transparent,#c1c1c1b3,transparent)}.collecting .count-badge{color:#d6d6d6;background:#d2d2d20d;border-color:#d1d1d12d}
@keyframes button-sheen{0%,70%{transform:translateX(-130%)}100%{transform:translateX(130%)}}@keyframes aurora-breath{to{opacity:.5;transform:scale(1.1)}}@keyframes ring-tilt{to{transform:rotate(12deg) scaleY(.55)}}@keyframes ring-tilt-two{to{transform:rotate(75deg) scaleY(.6)}}@keyframes orb-track{to{transform:rotate(360deg)}}@keyframes ghost-float{50%{transform:translateY(-5px)}}@keyframes participant-in{from{opacity:0;transform:translateX(12px);background:#acacac1c}to{opacity:1;transform:translateX(0);background:transparent}}@keyframes winner-unveil{from{opacity:0;transform:translateY(18px) scale(.97);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes name-unveil{from{opacity:0;transform:translateY(8px);letter-spacing:2px}to{opacity:1;transform:translateY(0);letter-spacing:-.7px}}@keyframes star-pulse{50%{opacity:.2;transform:scale(.7)}}@keyframes typing{50%{opacity:.3;transform:translateY(-3px)}}
@media(min-width:1500px){.dashboard{grid-template-columns:minmax(345px,1fr) minmax(420px,1.5fr) minmax(330px,1fr);gap:26px}.card-head h1,.card-head h2{font-size:17px}.field{height:51px}.panel-body{padding-left:27px;padding-right:27px}.panel-body label{font-size:12px}.collect,.launch{height:49px;font-size:13px}.orb-scene{width:280px;height:280px}.orb-core{width:115px;height:115px}.empty-winner h2{font-size:26px}.empty-winner p{font-size:13px}.people-empty p{font-size:12px}.person-name{font-size:13px}.card-head .head-note{font-size:8px!important}}
@media(max-width:1150px){.dashboard{grid-template-columns:290px minmax(290px,1fr) 265px;gap:15px;padding:20px}.card-head{margin:0 18px}.card-head h1,.card-head h2{font-size:13px}.panel-body{padding-left:18px;padding-right:18px}.head-note{display:none}.orb-scene{width:190px;height:190px}.empty-winner h2{font-size:20px}.participant-body{padding:18px 16px}.person-name{font-size:11px}}
@media(max-width:940px){.dashboard{grid-template-columns:300px 1fr}.participants-card{grid-column:1/-1}.people-empty{min-height:170px}.people-list{max-height:300px}.participant-body{height:auto}.head-note{display:none}}
@media(max-width:630px){header{margin:0 18px;height:74px}.brand{font-size:23px}header nav{display:none}.dashboard{padding:16px;gap:17px;display:flex;flex-direction:column}.card-head{height:68px;margin:0 20px}.card-head h1,.card-head h2{font-size:15px}.panel-body{padding:0 20px 23px}.field{height:49px}.panel-body label{font-size:12px}.collect,.launch{font-size:13px;height:48px}.connection{font-size:10px}.empty-winner{min-height:385px;padding:35px 20px}.orb-scene{width:205px;height:205px;margin-bottom:13px}.orb-core{width:86px;height:86px}.empty-winner h2{font-size:23px}.empty-winner p{font-size:12px}.chat-bottom span:first-child{font-size:8px}.people-list{display:block;max-height:370px}.person-name{font-size:13px}.person-sub{font-size:10px}.avatar{width:38px;height:38px}.winner-view{padding:24px 20px}.winner-profile h2{font-size:26px}.people-empty{min-height:220px}.participant-body{padding:18px 20px}.search-box{max-width:none;height:44px}.search-box input{font-size:12px}.head-note{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
