:root{--yellow:#ffcd11;--black:#1c1c1c;--panel:#1c1c1ce6;--white:#fff;--red:#e63946;--blue:#2f80ed;--font:"Kanit", system-ui, sans-serif}#ui,#uio{top:env(safe-area-inset-top,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);pointer-events:none;font-family:var(--font);color:var(--white);-webkit-user-select:none;user-select:none;position:fixed}#ui button,#uio button{font-family:var(--font);cursor:pointer;pointer-events:auto}.hidden{display:none!important}.screen{pointer-events:auto;text-align:center;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:radial-gradient(#1c1c1caa,#1c1c1cee);flex-direction:column;justify-content:flex-start;align-items:center;gap:16px;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.screen:before,.screen:after{content:"";flex:1 0 0}@media (height<=500px){#brief{gap:8px;padding:8px 12px}#brief h2{font-size:20px}#brief p{font-size:14px;line-height:1.35}#brief .roles{gap:6px}#brief .role{padding:4px 8px}#brief .role b{font-size:15px}#brief .role span{font-size:12px;line-height:1.3;display:block}#brief .role-model{width:60px;height:42px}#brief [data-act=go]{flex:none;padding:8px 40px;position:sticky;bottom:0}#title{gap:8px;padding:8px}#title h1.brand{gap:2px;font-size:34px}#title h1.brand img{width:auto;height:min(84px,24vh)}#title .hazard{height:8px}#title p{font-size:14px}#title .row .btn{padding:8px 24px;font-size:17px}}@media (height<=340px){#title h1.brand{font-size:26px}#title .hazard{display:none}}.screen h1{letter-spacing:1px;color:var(--yellow);text-shadow:0 4px #000;margin:0;font-size:clamp(32px,7vw,72px);font-weight:800}.screen h2{color:var(--yellow);margin:0;font-size:clamp(22px,4vw,36px)}.screen p{max-width:720px;margin:0;font-size:clamp(15px,2.2vw,20px);line-height:1.5}.hazard{background:repeating-linear-gradient(-45deg, var(--yellow) 0 14px, var(--black) 14px 28px);border-radius:3px;width:min(560px,90vw);height:12px}.btn{background:var(--yellow);color:var(--black);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);border:0;border-radius:10px;padding:14px 36px;font-size:clamp(18px,2.6vw,26px);font-weight:700;box-shadow:0 5px #a8850a}.btn:active{transform:translateY(3px);box-shadow:0 2px #a8850a}.btn.ghost{color:var(--yellow);box-shadow:none;border:2px solid var(--yellow);background:0 0}.lang{position:absolute;top:16px;right:16px}.lang .btn{padding:6px 16px;font-size:16px}.roles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;width:min(900px,95vw);display:grid}.role{background:var(--panel);border:2px solid var(--yellow);text-align:left;border-radius:8px;padding:10px 12px}.role b{color:var(--yellow);font-size:18px;display:block}.role span{opacity:.9;font-size:15px}.controls{opacity:.8;font-size:14px}#hud{position:absolute;inset:0}.hud-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}.panel{background:var(--panel);border-left:4px solid var(--yellow);border-radius:6px;padding:6px 12px}.timer{color:var(--yellow);text-align:center;min-width:84px;font-size:30px;font-weight:800}.timer.low{color:var(--red)}.prog{min-width:180px}.prog small{opacity:.85;font-size:13px}.bar{background:#444;border-radius:5px;height:10px;margin-top:4px;overflow:hidden}.bar i{background:var(--yellow);width:0;height:100%;transition:width .3s;display:block}.segs{gap:4px;margin-top:6px;display:flex}.seg{text-align:center;background:#444;border-radius:3px;flex:1;height:16px;font-size:11px;line-height:16px;position:relative;overflow:hidden}.seg i{background:#ffcd1199;position:absolute;top:0;bottom:0;left:0}.seg span{position:relative}.seg.done{background:#3fa34d}.machines{gap:6px;display:flex}.machine{background:var(--panel);color:var(--white);border:2px solid #555;border-radius:8px;min-width:64px;padding:4px 10px;font-size:15px;font-weight:600}.machine.active{border-color:var(--yellow);color:var(--yellow);box-shadow:0 0 0 2px #ffcd1155}.machine em{opacity:.8;font-size:11px;font-style:normal;display:block}.pausebtn{padding:6px 12px!important;font-size:18px!important}.hud-btns{gap:6px;display:flex}.lookback{pointer-events:auto;animation:.25s ease-out popc;position:absolute;bottom:96px;left:50%;transform:translate(-50%);padding:8px 20px!important;font-size:16px!important}@media (pointer:coarse){.lookback{bottom:64px}}#pause .online-only{display:none}#ui.online-menu #pause .online-only{display:inline}#ui.online-menu #pause p.online-only{display:block}#ui.online-menu #pause .solo-only{display:none}body.menu-open #uio .ntags,body.menu-open #o-emotes,body.menu-open #o-vs{visibility:hidden}.lang{gap:6px;display:flex}.btn.snd{padding:6px 12px;font-size:18px}.btn.snd.off{opacity:.45;text-decoration:line-through}.toasts{flex-direction:column;align-items:center;gap:6px;width:min(90vw,560px);display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%)}.toast{background:var(--panel);border:2px solid var(--yellow);border-radius:8px;padding:6px 14px;font-size:17px;animation:.25s ease-out pop}.toast.hint{color:#ddd;border-color:#888;font-size:15px}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.touch{display:none}@media (pointer:coarse){.touch{display:block}.kb-only{display:none}}@media (pointer:fine){.touch-only{display:none}}#joy{pointer-events:auto;touch-action:none;width:45vw;height:55vh;position:absolute;bottom:0;left:0}#joy .base{background:#1c1c1c88;border:3px solid #ffcd1199;border-radius:50%;width:140px;height:140px;position:absolute;bottom:40px;left:40px}#joy .knob{background:var(--yellow);border-radius:50%;width:60px;height:60px;position:absolute;top:40px;left:40px;box-shadow:0 3px #a8850a}#act{background:var(--yellow);width:128px;height:128px;color:var(--black);pointer-events:auto;touch-action:none;border:0;border-radius:50%;font-size:22px;font-weight:800;position:absolute;bottom:44px;right:36px;box-shadow:0 6px #a8850a}#act:active{transform:translateY(4px);box-shadow:0 2px #a8850a}#dust{opacity:0;background:radial-gradient(#c8a06a55 0%,#b4895fdd 70%);transition:opacity 1.2s;position:absolute;inset:0}#dust.on{opacity:1}.stars{letter-spacing:8px;color:#555;font-size:56px}.stars b{color:var(--yellow);font-weight:400}.score{background:var(--panel);border-radius:8px;min-width:280px;padding:10px 18px}.score div{justify-content:space-between;gap:24px;padding:2px 0;font-size:18px;display:flex}.score .total{border-top:2px solid var(--yellow);color:var(--yellow);margin-top:6px;padding-top:6px;font-size:24px;font-weight:800}.row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}#tags{position:absolute;inset:0;overflow:hidden}.wtag{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}.wtag-box{white-space:nowrap;color:#fff;opacity:.85;background:#1c1c1cd9;border:2px solid #777;border-radius:8px;padding:2px 8px;font-size:13px;position:absolute;top:-14px;left:0;transform:translate(-50%,-100%)}.wtag-box b{font-weight:700}.wtag-box span{margin-left:6px}.wtag .arrow{color:#bbb;font-size:14px;font-style:normal;position:absolute;top:-16px;left:-8px}.wtag.mine .wtag-box{background:var(--yellow);color:var(--black);border-color:var(--black);opacity:1;padding:4px 12px;font-size:16px;top:-26px}.wtag.mine .arrow{color:var(--yellow);text-shadow:0 2px #000;font-size:26px;animation:.8s ease-in-out infinite bob;top:-26px;left:-12px}.wtag.edge .wtag-box{top:0;transform:translate(-50%,-50%)}.wtag.edge .arrow{font-size:30px;animation:none;top:-18px;left:-12px}@keyframes bob{50%{margin-top:6px}}.advice{background:var(--panel);border:3px solid var(--yellow);text-align:center;pointer-events:auto;border-radius:10px;width:min(92vw,560px);padding:10px 14px;animation:.25s ease-out popc;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes popc{0%{opacity:0;transform:translate(-50%)scale(.85)}to{opacity:1;transform:translate(-50%)scale(1)}}.advice h3{color:var(--yellow);margin:0 0 4px;font-size:19px}.advice p{margin:0 0 8px;font-size:15px}.advice .row button{padding:8px 18px;font-size:17px}@media (pointer:coarse){.advice{top:150px;bottom:auto}}.form{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.form label{text-align:left;flex-direction:column;gap:4px;font-size:15px;display:flex}.form input{font:600 22px var(--font);border:2px solid var(--yellow);color:#fff;pointer-events:auto;background:#111;border-radius:8px;width:200px;padding:8px 12px}.err{color:#ff8a8a;min-height:1.2em}.code{color:#fff;background:var(--black);border:2px solid var(--yellow);letter-spacing:4px;border-radius:8px;padding:0 12px}.teams{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.team{background:var(--panel);border-top:6px solid;border-radius:10px;min-width:260px;padding:10px}.team.red{border-color:var(--red)}.team.blue{border-color:var(--blue)}.team h3{margin:0 0 8px}.seat{color:#fff;background:#2a2a2a;border:2px solid #555;border-radius:8px;justify-content:space-between;gap:12px;width:100%;margin:4px 0;padding:8px 12px;font-size:16px;display:flex}.seat span{opacity:.75}.seat.taken span{opacity:1;color:var(--yellow)}.seat.mine{border-color:var(--yellow);box-shadow:0 0 0 2px #ffcd1155}.seat{align-items:center}.seat b{text-align:left;flex:1}.seat-model{flex:none;width:64px;height:44px;margin:-6px 0}.seat.mine .seat-model{filter:drop-shadow(0 0 6px #ffcd11aa)}.roles{grid-template-columns:repeat(auto-fit,minmax(min(340px,90vw),1fr))}.role{align-items:center;gap:10px;display:flex}.role-model{flex:none;width:96px;height:72px}@media (height<=500px){.role-model{width:72px;height:52px}.seat-model{width:52px;height:36px}}#o-lobby{justify-content:safe center;overflow-y:auto}@media (height<=500px){#o-lobby{gap:6px;padding:8px}#o-lobby>p:first-of-type{display:none}#o-lobby h2{font-size:20px}.team{min-width:240px;padding:6px 8px}.team h3{margin:0 0 4px;font-size:16px}.seat{margin:3px 0;padding:2px 10px;font-size:14px}.seat-model{width:44px;height:30px;margin:0}#o-lobby .btn{padding:8px 22px;font-size:16px}}.countdown{font:800 160px var(--font);color:var(--yellow);text-shadow:0 8px #000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.versus{align-items:center;gap:8px;width:min(60vw,420px);display:flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.versus b{color:#fff;font-size:14px}.vs{background:#444;border-radius:6px;flex:1;height:12px;overflow:hidden}.vs i{width:0;height:100%;transition:width .3s;display:block}.vs.red i{background:var(--red)}.vs.blue i{background:var(--blue)}.emotes{gap:6px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.emote{background:var(--panel);color:#fff;pointer-events:auto;white-space:nowrap;border:2px solid #777;border-radius:16px;padding:6px 12px;font-size:14px}@media (width<=1000px){.emote{padding:5px 8px;font-size:12px}}@media (pointer:coarse){.versus{gap:6px;width:min(44vw,320px);bottom:40px}.versus b{font-size:11px}.vs{height:9px}.emotes{gap:4px;bottom:6px}.emote{padding:4px 8px;font-size:11px}}.ntags{position:absolute;inset:0;overflow:hidden}#tags,#uio .ntags{top:calc(-1 * env(safe-area-inset-top,0px));bottom:calc(-1 * env(safe-area-inset-bottom,0px));left:calc(-1 * env(safe-area-inset-left,0px));right:calc(-1 * env(safe-area-inset-right,0px))}.ntag{position:absolute;top:0;left:0}.ntag b{white-space:nowrap;color:#fff;border:2px solid #000;border-radius:6px;padding:1px 8px;font-size:13px;position:absolute;transform:translate(-50%,-100%)}.ntag.red b{background:var(--red)}.ntag.blue b{background:var(--blue)}.ntag.me b{border-color:var(--yellow);font-size:15px}.ntag i{white-space:nowrap;color:#000;background:#fff;border-radius:10px;padding:2px 10px;font-size:14px;font-style:normal;position:absolute;transform:translate(-50%,-230%)}.score .red span{color:#ff9aa2}.score .blue span{color:#9cc4ff}.machine.locked{opacity:.45;cursor:not-allowed}.machine em{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.rain{pointer-events:none;z-index:1;mix-blend-mode:screen;background-image:repeating-linear-gradient(105deg,#c8dcff00 0 9px,#c8dcff59 9px 10px,#c8dcff00 10px 23px);background-size:240px 240px;animation:.35s linear infinite rainfall;position:fixed;inset:0}.rain:after{content:"";background:#283c5038;position:absolute;inset:0}@keyframes rainfall{0%{background-position:0 0}to{background-position:-60px 240px}}.levels{flex-wrap:wrap;justify-content:center;gap:14px;max-width:960px;display:flex}.level{background:var(--panel);width:min(280px,90vw);color:var(--white);border:3px solid var(--yellow);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 16px;display:flex}.level .icon{font-size:40px;line-height:1}.level .num{color:var(--yellow);font-size:15px;font-weight:700}.level strong{font-size:20px}.level small{opacity:.85;min-height:2.6em;font-size:14px}.level .stars{color:#666;letter-spacing:3px;font-size:22px}.level .stars b{color:var(--yellow)}.level:active:not(:disabled){transform:translateY(3px)}.level.locked{opacity:.6;cursor:default;border-color:#666}.level.loading{animation:.8s ease-in-out infinite alternate lvl-pulse}@keyframes lvl-pulse{to{border-color:var(--white)}}@media (height<=500px){.level{width:min(220px,30vw);padding:8px 12px}.level .icon{font-size:28px}.level small{min-height:0}}#levels{pointer-events:auto;justify-content:safe center;overflow-y:auto}.brief-level{color:var(--yellow);font-weight:700}.screen h1.brand{flex-direction:column;align-items:center;gap:6px;display:flex}.screen h1.brand img{border-radius:6px;width:min(520px,78vw);height:auto;box-shadow:0 4px #000,0 0 0 3px #000}@media (height<=500px){.screen h1.brand img{width:min(360px,55vw)}}#scr{pointer-events:none;color:#fff;font-family:Kanit,system-ui,sans-serif;position:fixed;inset:0}#scr .board{background:radial-gradient(#1c1c1ccc,#1c1c1cf2);gap:32px;padding:32px;display:flex;position:absolute;inset:0}#scr .board.hidden,#scr .hidden{display:none!important}#scr .col{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}#scr h1{color:#ffcd11;text-shadow:0 4px #000;margin:0;font-size:48px}#scr h2{color:#ffcd11;margin:0;font-size:30px}#scr .next{background:#262626;border:4px solid #ffcd11;border-radius:16px;align-items:center;gap:24px;padding:20px;display:flex}#scr .next img{background:#fff;border-radius:12px;width:240px;height:240px}#scr .vsline{font-size:34px;font-weight:800}#scr .vsline .r{color:#ff7f8a}#scr .vsline .b{color:#7fb2ff}#scr .code{letter-spacing:10px;color:#ffcd11;font-size:64px;font-weight:800}#scr .url{opacity:.85;word-break:break-all;font-size:18px}#scr .joined{font-size:20px}#scr .bracket{flex:1;align-items:stretch;gap:18px;display:flex}#scr .round{flex-direction:column;flex:1;justify-content:space-around;gap:10px;display:flex}#scr .round h3{text-align:center;color:#bbb;margin:0}#scr .m{background:#262626;border-left:6px solid #555;border-radius:10px;padding:8px 12px;font-size:20px}#scr .m.live{border-left-color:#3fa34d}#scr .m.done{opacity:.8}#scr .m div{justify-content:space-between;display:flex}#scr .m .w{color:#ffcd11;font-weight:700}#scr .champ{color:#ffcd11;text-align:center;font-size:44px;font-weight:800}#scr .live-top{background:#1c1c1cdd;border-radius:16px;align-items:center;gap:18px;padding:10px 22px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}#scr .live-top .team{width:340px}#scr .live-top .team b{font-size:26px;display:block}#scr .live-top .team.red b{color:#ff7f8a}#scr .live-top .team.blue b{color:#7fb2ff;text-align:right}#scr .live-top .bar{background:#444;border-radius:9px;height:18px;margin-top:6px;overflow:hidden}#scr .live-top .bar i{width:0;height:100%;transition:width .4s;display:block}#scr .live-top .red .bar i{background:#e63946}#scr .live-top .blue .bar i{background:#2f80ed;margin-left:auto}#scr .live-top .clock{color:#ffcd11;text-align:center;min-width:150px;font-size:54px;font-weight:800}#scr .feed{flex-direction:column;gap:6px;width:520px;display:flex;position:absolute;bottom:20px;left:20px}#scr .feed div{background:#1c1c1cdd;border-left:6px solid #ffcd11;border-radius:8px;padding:6px 12px;font-size:20px;animation:.3s ease-out in}#scr .feed .red{border-color:#e63946}#scr .feed .blue{border-color:#2f80ed}@keyframes in{0%{opacity:0;transform:translate(-30px)}}#scr .big{text-align:center;background:#1c1c1cb0;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}#scr .big .n{color:#ffcd11;text-shadow:0 10px #000;font-size:200px;font-weight:800}#scr .big .w{color:#ffcd11;font-size:72px;font-weight:800}#scr .big .s{font-size:30px}#scr h1.brand{flex-direction:column;align-items:flex-start;gap:8px;display:flex}#scr h1.brand img{border-radius:6px;width:min(560px,40vw);height:auto;box-shadow:0 4px #000,0 0 0 3px #000}
