*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Outfit,sans-serif;background:#03001A;color:#fff;overflow:hidden}@keyframes scene-zoom{0%{transform:scale(.05);opacity:0}to{transform:scale(1);opacity:1}}.scene{position:fixed;inset:0;animation:scene-zoom 2.6s ease forwards;z-index:2}.poster-bg{position:fixed;inset:3.5%;z-index:0;background:url(/poster_bg.jpg) 50%/contain no-repeat;animation:poster-breathe 3.2s ease-in-out infinite alternate}@keyframes poster-breathe{0%{transform:scale(1)}to{transform:scale(1.02)}}.starfield-canvas{position:fixed;inset:0;z-index:1;pointer-events:none}.app{position:relative;z-index:2;display:flex;flex-direction:column;height:100dvh;width:100%;max-width:480px;margin:0 auto}@media (min-width:500px){.app{transform-origin:top center;--app-scale:min(1,calc((100vh - 40px) / 800),calc((100vw - 20px) / 480));transform:scale(var(--app-scale))}}@media (min-height:801px) and (min-width:501px){.app{--app-scale:1;transform:scale(1)}}.tab-panel{flex:1 1;overflow-y:auto;overflow-x:hidden;position:relative}.tab-panel::-webkit-scrollbar{width:4px}.tab-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}.tab-bar{display:flex;background:rgba(26,0,51,.92);border-top:1px solid;border-image:linear-gradient(90deg,#FF7A00,#FF2EBD) 1;border-radius:20px 20px 0 0;padding:6px 0 8px;flex-shrink:0;overflow:hidden}.tab-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border:none;background:transparent;cursor:pointer;border-radius:14px;transition:background .2s;margin:0 4px}.tab-btn.active{background:linear-gradient(135deg,rgba(255,122,0,.85),rgba(255,46,189,.85))}.tab-btn-emoji{font-size:20px;line-height:1}.tab-btn-label{font-size:11px;font-weight:700;color:rgba(255,122,0,.6)}.tab-btn.active .tab-btn-label{color:#FF7A00}.tab-btn-dot{width:20px;height:2px;background:#FF7A00;border-radius:2px;margin-top:2px}@media (min-width:501px){.tab-bar{padding:12px 0 14px}.tab-btn{gap:6px}.tab-btn-emoji{font-size:28px}.tab-btn-label{font-size:14px}.tab-btn-dot{width:30px;height:3px}}.wheel-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.arched-title-svg{width:100%;height:140px;flex-shrink:0;margin-top:-55px;position:relative;z-index:5}@media (min-width:501px){.arched-title-svg{height:190px;margin-top:-85px;transform:scale(1.15)}}.wheel-outer{flex:1 1;position:relative;display:flex;align-items:center;justify-content:center}.wheel-box{position:absolute;width:min(90vw,360px);height:min(90vw,360px);transform-origin:32% 50%;transform:scale(.85)}@media (max-width:500px){.wheel-box{transform:scale(.64)}}.wheel-canvas{width:100%;height:100%;border-radius:50%}.wheel-pointer-9{position:absolute;left:-32px;top:50%;transform:translateY(-50%);width:40px;height:22px;-webkit-clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%);clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%);background:linear-gradient(90deg,#FF4F00,#FFD54F,#FFF3C4);filter:drop-shadow(0 0 6px rgba(255,160,0,.8))}.peace-btn-wrap{position:absolute;bottom:76px;left:18px;z-index:10}@media (min-width:501px){.peace-btn-wrap{transform:scale(1.3);bottom:90px;left:24px}}.wheel-empty-msg{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);font-size:12px;color:rgba(255,255,255,.5);background:rgba(0,0,0,.5);padding:6px 14px;border-radius:20px;white-space:nowrap}.winner-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.winner-card{background:#38124F;border:3px solid #ffd54f;border-radius:30px;padding:28px 24px;max-width:340px;width:90%;text-align:center;animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.winner-title{font-size:26px;color:#FFD54F;letter-spacing:2px}.winner-name,.winner-title{font-family:Bangers,cursive}.winner-name{font-size:38px;color:white;margin:14px 0 8px;word-break:break-word}.winner-sub{font-size:14px;font-weight:800;color:#FF7BD5;margin-bottom:20px}.winner-dismiss{padding:12px 32px;border:none;border-radius:20px;background:#FF7A00;color:black;font-family:Bangers,cursive;font-size:20px;letter-spacing:2px;cursor:pointer}.confetti-container{position:fixed;inset:0;pointer-events:none;z-index:99;overflow:hidden}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.names-screen{padding:12px 14px;display:flex;flex-direction:column;gap:10px;height:100%;background:rgba(0,0,0,.78)}.names-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.names-title{font-family:Bangers,cursive;font-size:22px;color:#FFD54F;letter-spacing:2px}.clear-btn{padding:6px 14px;border:1.5px solid #ff7a00;border-radius:10px;background:rgba(255,122,0,.1);color:#FFAA00;font-family:Outfit,sans-serif;font-weight:700;cursor:pointer;font-size:13px;margin-right:2px}.clear-btn:disabled{opacity:.35;cursor:default}.add-row{display:flex;gap:8px}.name-input{flex:1 1;padding:10px 14px;border:1.5px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.06);color:white;font-family:Outfit,sans-serif;font-size:15px;outline:none}.name-input::placeholder{color:rgba(255,122,0,.6)}.name-input:focus{border-color:#FF7A00}@media (min-width:501px){.name-input{padding:14px 18px;font-size:18px}.add-btn{width:56px;height:56px;font-size:26px}.clear-btn{padding:10px 20px;font-size:15px}.participant-count{font-size:20px}.name-text{font-size:17px}}.add-btn{width:44px;height:44px;border:none;border-radius:50%;background:linear-gradient(135deg,#FF7A00,#FF2EBD);color:white;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}.participant-count{text-align:center;font-weight:900;font-size:16px;color:#FF7A00;text-shadow:0 0 8px rgba(255,122,0,.5)}.names-list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-bottom:20px}.names-list::-webkit-scrollbar{width:4px}.names-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}.name-row{display:flex;align-items:center;gap:8px;background:rgba(26,0,51,.7);border:.5px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 10px}.name-row.editing{border-color:#FF7A00;background:rgba(42,0,69,.9)}.name-badge{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,122,0,.7),rgba(255,46,189,.7));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.name-text{flex:1 1;font-size:14px;font-weight:500;overflow:hidden;word-break:break-word;line-height:1.2}.name-edit-input{flex:1 1;border:none;border-bottom:1px solid #ff7a00;color:white;font-family:Outfit,sans-serif;outline:none}.icon-btn,.name-edit-input{background:transparent;font-size:14px}.icon-btn{width:30px;height:30px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-btn.edit{color:#FFEE58}.icon-btn.del{color:#FF4FB1}.icon-btn.ok{color:#00E5FF}.icon-btn.cancel{color:rgba(255,255,255,.45)}.scrape-screen{padding:16px 18px;display:flex;flex-direction:column;gap:14px;background:rgba(0,0,0,.78);height:100%}.scrape-header{text-align:center}.scrape-x-glyph{font-size:44px;display:block;line-height:1}.scrape-title{font-family:Bangers,cursive;font-size:26px;color:#00E5FF;letter-spacing:2px}.scrape-sub{font-size:12px;color:rgba(255,255,255,.45);margin-top:2px}.api-badge{display:flex;align-items:center;justify-content:space-between;background:rgba(0,34,17,.8);border-radius:10px;padding:8px 14px}.api-badge-dot{width:8px;height:8px;border-radius:50%;background:#00FF88;margin-right:6px;display:inline-block}.api-badge-text{color:#00FF88}.api-badge-text,.field-label{font-size:13px;font-weight:700}.field-label{color:#FF7A00;margin-bottom:5px}.url-input{width:100%;padding:12px 14px;border:1.5px solid rgba(255,46,189,.4);border-radius:14px;background:rgba(255,255,255,.05);color:white;font-family:Outfit,sans-serif;font-size:14px;outline:none}.url-input::placeholder{color:rgba(255,255,255,.2);font-size:12px}.url-input:focus{border-color:#FF2EBD}.scrape-btn{width:100%;padding:14px;border:2px solid transparent;background:linear-gradient(rgba(255,122,0,.15),rgba(255,122,0,.15)) padding-box,linear-gradient(90deg,#FF7A00,#FF2EBD) border-box;color:#FF7A00;font-family:Bangers,cursive;font-size:18px;letter-spacing:2px;cursor:pointer;border-radius:28px;display:flex;align-items:center;justify-content:center;gap:8px}@media (min-width:501px){.url-input{padding:16px 20px;font-size:17px}.scrape-btn{padding:20px;font-size:24px;border-radius:40px}.scrape-title{font-size:34px}.scrape-x-glyph{font-size:60px}}.scrape-btn:disabled{opacity:.5;cursor:default}.status-box{padding:14px;border-radius:14px}.status-success{background:rgba(0,51,34,.9);border:1px solid rgba(0,255,136,.4)}.status-error{background:rgba(51,0,0,.9);border:1px solid rgba(255,68,68,.4)}.status-success .status-text{color:#00FF88;font-weight:700}.status-error .status-text{color:#FF8888;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.how-title{font-size:12px;font-weight:700;color:rgba(255,255,255,.4);text-align:center;margin-bottom:8px}.how-row{display:flex;gap:8px;margin-bottom:6px}.how-num{color:#00E5FF;font-weight:900;font-size:13px;width:18px;flex-shrink:0}.how-text{font-size:12px;color:rgba(255,255,255,.6);line-height:1.5}.spinner{width:20px;height:20px;border:2px solid rgba(255,122,0,.3);border-top-color:#ff7a00;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.ogg-link{position:fixed;bottom:84px;left:0;background:rgba(26,0,51,.85);border-radius:0 16px 16px 0;padding:6px 16px 6px 10px;font-size:12px;font-weight:700;color:#FFB300;text-decoration:none;cursor:pointer;z-index:20;border:1px solid rgba(255,154,0,.3);border-left:none;transition:background .2s,transform .2s}.ogg-link:hover{background:rgba(46,0,81,.95);transform:translateX(4px)}