:root{--violet:#9d72ff;--pink:#ff5cb8;--cyan:#55dff5;--gold:#ffd56a;--bg:#090715;--panel:#151126;--muted:#9992ae;color-scheme:dark;font-family:"Segoe UI",Tahoma,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -5%,#442073 0,transparent 35%),radial-gradient(circle at 10% 60%,#0b506538,transparent 34%),var(--bg);color:#fff;user-select:none}.page{width:min(100%,620px);min-height:100vh;margin:auto;padding:max(14px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}header>div{text-align:center}header small,.eyebrow{color:#c8aaff;font-size:9px;font-weight:900;letter-spacing:2px}header h1{margin:2px;font-size:19px}.icon{width:42px;height:42px;border:1px solid #ffffff18;border-radius:14px;background:#ffffff0b;color:white;font-size:18px}.panel{position:relative;border:1px solid #ffffff15;border-radius:27px;background:linear-gradient(145deg,#1b1630ed,#0e0c1bed);box-shadow:0 28px 70px #0008,inset 0 1px #ffffff0c}.entry{padding:26px 19px;text-align:center;margin-top:3vh}.mini-wheel{position:relative;display:grid;place-items:center;width:112px;height:112px;margin:0 auto 17px;border:7px solid #2e2447;border-radius:50%;background:conic-gradient(#ff5cb8 0 12.5%,#7a5cff 0 25%,#55dff5 0 37.5%,#ffd56a 0 50%,#ff765c 0 62.5%,#6ae29d 0 75%,#b86cff 0 87.5%,#f44e90 0);box-shadow:0 0 45px #9d72ff44}.mini-wheel:after{content:"";position:absolute;inset:23px;border-radius:50%;background:#130f22;border:4px solid #ffffff22}.mini-wheel b{z-index:1;color:#fff;font-size:15px}.mini-wheel i{position:absolute;z-index:2;top:-14px;border-width:16px 10px 0;border-style:solid;border-color:#fff transparent transparent}.entry h2,.setup h2,.lobby h2{font-size:26px;margin:8px 0}.entry>p{color:var(--muted);font-size:13px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.mode{min-height:126px;padding:16px 8px;border:1px solid #ffffff16;border-radius:20px;background:#ffffff09;color:white}.mode span{display:block;font-size:30px}.mode b{display:block;margin:7px 0 3px}.mode small{color:var(--muted);font-size:9px;line-height:1.5}.mode:active{transform:scale(.97);border-color:#b98cff}.join-box{margin-top:15px}.divider{position:relative;margin:12px}.divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #ffffff12}.divider span{position:relative;padding:0 10px;background:#131022;color:#817a94;font-size:10px}form{display:flex;gap:8px}input{width:100%;min-width:0;height:50px;border:1px solid #ffffff17;border-radius:14px;padding:0 13px;background:#080611;color:#fff;outline:0;font:700 14px inherit}input:focus{border-color:#a678ff}form button,.secondary{border:1px solid #ffffff18;border-radius:14px;padding:0 18px;background:#ffffff0d;color:white;font-weight:800}.error{min-height:18px;color:#ff7da7;font-size:11px}.setup,.lobby{padding:27px 19px;text-align:center}.close-section{position:absolute;left:12px;top:12px;width:34px;height:34px;border:0;border-radius:10px;background:#ffffff0b;color:#aaa;font-size:22px}.chips{display:flex;flex-wrap:wrap;gap:7px;min-height:66px;margin:16px 0;padding:11px;border:1px dashed #ffffff16;border-radius:16px}.chip{display:flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:#9d72ff1e;color:#e9dcff;font-size:11px}.chip button{border:0;background:none;color:#ff83ad;font-size:15px}.setup>p,.lobby>p{color:var(--muted);font-size:11px}.primary{width:100%;min-height:52px;border:0;border-radius:16px;background:linear-gradient(135deg,#b188ff,#754ce1);color:white;font:900 15px inherit;box-shadow:0 13px 35px #754ce144}.primary:disabled{filter:grayscale(1);opacity:.4;box-shadow:none}.room-bar,.arena-top{display:flex;justify-content:space-between;align-items:center;margin:0 3px 13px;color:var(--muted);font-size:11px}.room-bar button{border:0;background:none;color:#d3baff;font:bold 13px monospace;letter-spacing:2px}.room-bar i{color:#73e5a1;font-style:normal}.lobby strong{display:block;margin:15px;color:#d9c3ff;font:900 32px monospace;letter-spacing:7px}.secondary{width:100%;min-height:48px}.lobby-players{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:17px 0}.person{display:flex;align-items:center;gap:7px;border-radius:999px;padding:5px 10px 5px 5px;background:#ffffff0a;font-size:10px}.avatar{display:grid;place-items:center;width:29px;height:29px;overflow:hidden;border-radius:50%;background:#6f4ab5;color:white;font-weight:900}.avatar img{width:100%;height:100%;object-fit:cover}.arena-top span{padding:6px 10px;border-radius:999px;background:#9d72ff18;color:#d8c3ff}.wheel-stage{position:relative;width:min(92vw,470px);height:min(92vw,470px);margin:4px auto 10px}.wheel-stage canvas{width:100%;height:100%;filter:drop-shadow(0 23px 30px #0009);transition:transform 5.2s cubic-bezier(.12,.72,.08,1)}.pointer{position:absolute;z-index:4;top:-4px;left:50%;transform:translateX(-50%);color:white;font-size:34px;filter:drop-shadow(0 4px 5px #000)}.spin-center{position:absolute;z-index:3;inset:0;margin:auto;width:91px;height:91px;border:7px solid #241b39;border-radius:50%;background:linear-gradient(145deg,#fff,#d8c1ff);color:#24143c;box-shadow:0 6px 18px #0009;font:1000 19px inherit}.spin-center small,.spin-center span{display:block}.spin-center small{font-size:9px}.spin-center:disabled{filter:grayscale(1);opacity:.75}.status{text-align:center;min-height:23px;color:#c9bddc;font-size:12px}.lists{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lists article{min-width:0;border:1px solid #ffffff10;border-radius:18px;padding:12px;background:#ffffff07}.lists h3{display:flex;justify-content:space-between;margin:0 0 9px;font-size:11px}.lists h3 b{color:#b99aff}.list{display:grid;gap:7px;max-height:180px;overflow:auto}.list .person{border-radius:10px;padding:5px;background:#ffffff07}.losers{opacity:.72}.losers .person{text-decoration:line-through;filter:grayscale(.7)}.overlay{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#080513e8;backdrop-filter:blur(10px)}.result-card{text-align:center;animation:pop .35s cubic-bezier(.2,1.5,.4,1)}.result-card>span{font-size:72px}.result-card small,.winner-card small{display:block;color:#d7bfff}.result-card h2{margin:6px;font-size:34px}.result-card p,.winner-card p{color:var(--muted)}.winner-card{width:min(92%,370px);padding:34px 20px;text-align:center}.winner-card>span{font-size:72px}.winner-card h2{font-size:29px;margin:8px}.winner #confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.winner #confetti i{position:absolute;top:-20px;width:8px;height:15px;background:var(--c);animation:fall var(--d) linear infinite;animation-delay:var(--delay)}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}@keyframes pop{from{opacity:0;transform:scale(.5)}}[hidden]{display:none!important}@media(max-width:380px){.mode-grid{grid-template-columns:1fr}.wheel-stage{width:88vw;height:88vw}.lists{grid-template-columns:1fr}}
.mode-nav{position:sticky;z-index:12;top:max(8px,env(safe-area-inset-top));display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-5px 0 14px;padding:6px;border:1px solid #ffffff17;border-radius:18px;background:#0e0b1de8;box-shadow:0 12px 30px #0007;backdrop-filter:blur(16px)}
.mode-nav button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid transparent;border-radius:13px;background:#ffffff08;color:#d6cfdf;font:800 12px inherit}
.mode-nav button:active{transform:scale(.98)}
.mode-nav button:first-child{border-color:#9d72ff45;background:linear-gradient(135deg,#9d72ff20,#ffffff08)}
.mode-nav button:last-child{border-color:#55dff545;background:linear-gradient(135deg,#55dff518,#ffffff08)}
.join-help{display:block;margin-top:8px;color:#8f879f;font-size:10px}
.editable{position:relative;min-width:120px;padding:3px 25px 4px 8px;border-radius:9px;outline:1px dashed #9d72ff66;cursor:text}.editable:after{content:"✎";position:absolute;right:6px;top:4px;color:#bda2ff;font-size:12px;pointer-events:none}.editable:focus{outline:1px solid #b58cff;background:#ffffff0a;box-shadow:0 0 0 4px #9d72ff15}.editable:focus:after{display:none}
.winner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.winner-actions button,.app-home{min-height:46px;border:1px solid #ffffff18;border-radius:14px;background:#ffffff0b;color:#fff;font:800 11px inherit}.app-home{width:100%;margin-top:8px;color:#d8c8ff}
