:root{--bg:#161a2c;--panel:#1c1f38f0;--line:#bec8ff33;--txt:#f4f5ff;--muted:#b3b8d8;--accent:#7a5cff;--gold:#ffd21a;--green:#4fe08a;--bad:#ff6b6b;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);font-family:Nunito,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--txt);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.screen{padding:max(12px, var(--sat)) max(12px, var(--sar)) max(12px, var(--sab)) max(12px, var(--sal));z-index:20;touch-action:pan-y;background:radial-gradient(#0e102226,#0e1022b3);justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:auto}.screen.dim{z-index:30;background:#0a0c1a8c}.screen.show{display:flex}#loading{background:var(--bg);z-index:50;flex-direction:column;gap:8px}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;max-width:100%;margin:auto;padding:20px 22px;box-shadow:0 20px 60px #00000080}.panel.small,.panel.menu{flex-direction:column;gap:12px;width:420px;display:flex}.panel.wide{flex-direction:column;gap:12px;width:820px;max-height:100%;display:flex}.panel.help{flex-direction:column;gap:12px;width:820px;display:flex}.center{text-align:center}h2{margin:0;font-size:22px}h3{color:var(--gold);margin:8px 0 4px;font-size:16px}h4{color:var(--gold);margin:0 0 6px}.head{justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:3px;color:#e8ecff;text-shadow:0 3px #5a3ee0,0 6px 18px #00000080;font-size:34px;font-weight:900}.logo.big{text-align:center;font-size:44px}.tag{text-align:center;color:var(--muted);margin:-6px 0 2px}.muted{color:var(--muted);margin:0}.small{font-size:13px}.who{text-align:center;color:var(--muted)}.who b{color:var(--txt)}.stars-total{text-align:center;color:var(--gold);font-size:20px;font-weight:800}.row{flex-wrap:wrap;gap:10px;display:flex}.row>*{flex:1}.col{flex-direction:column;gap:10px;display:flex}.scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow:auto}.btn{appearance:none;border:1px solid var(--line);color:var(--txt);font:inherit;cursor:pointer;background:#dce1ff12;border-radius:14px;padding:11px 16px;font-size:16px;font-weight:700;transition:transform 80ms,background .15s}.btn:hover{background:#dce1ff24}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(#8a6cff,#5a3ee0);border-color:#b4a0ff99}.btn.big{padding:15px 18px;font-size:19px}.btn.ghost{background:0 0}.btn.small{padding:8px 12px;font-size:14px}.field{flex-direction:column;gap:6px;display:flex}.field select,.field input[type=range]{font:inherit;color:var(--txt);border:1px solid var(--line);background:#0000004d;border-radius:10px;padding:8px}.chk{align-items:center;gap:8px;display:flex}.help-cols{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.help-cols ul{color:var(--muted);margin:0;padding-left:18px;line-height:1.45}.help-cols b{color:var(--txt)}.chapter{margin-bottom:10px}.chapter p{color:var(--muted);margin:0 0 8px;font-size:13px}.grid{grid-template-columns:repeat(10,1fr);gap:8px;display:grid}.lv{appearance:none;border:1px solid var(--line);color:var(--txt);aspect-ratio:1;font:inherit;cursor:pointer;background:#dce1ff12;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;font-size:18px;font-weight:800;display:flex}.lv small{letter-spacing:1px;color:#565b80;font-size:11px}.lv small i{color:var(--gold);font-style:normal}.lv.locked{opacity:.35;cursor:default}.lv.next{border-color:var(--gold);box-shadow:0 0 0 2px #ffd21a59}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#bar{top:max(8px, var(--sat));left:max(8px, var(--sal));right:calc(max(8px, var(--sar)) + 100px);align-items:stretch;gap:8px;display:flex;position:absolute}#bar>div{border:1px solid var(--line);background:#14162cc7;border-radius:14px;padding:6px 12px}#lvlNo{color:var(--gold);letter-spacing:1px;font-size:12px;font-weight:800}#lvlName{white-space:nowrap;font-size:15px;font-weight:800}#goalBox{flex:1;min-width:0}#goal{color:#b8ffd0;font-size:16px;font-weight:800}#goalSub{color:var(--muted);font-size:12px}#dartsBox{align-items:center;gap:4px;font-size:20px;display:flex}#dartsBox .d{background:linear-gradient(#ffd21a 0 35%,#444 35% 45%,#999 45% 100%);border-radius:3px;width:9px;height:26px}#dartsBox .d.used{opacity:.2}#tools{top:max(8px, var(--sat));right:max(8px, var(--sar));pointer-events:auto;gap:6px;display:flex;position:absolute}.ib{appearance:none;border:1px solid var(--line);width:44px;height:44px;color:var(--txt);cursor:pointer;background:#14162cc7;border-radius:12px;font-size:20px}#hint{left:50%;bottom:max(14px, var(--sab));color:var(--muted);text-align:center;background:#14162cbf;border-radius:999px;max-width:calc(100vw - 24px);padding:8px 16px;font-size:14px;transition:opacity .4s;position:absolute;transform:translate(-50%)}#hint:empty{opacity:0}#pops{position:absolute;inset:0;overflow:hidden}.pop{text-shadow:0 2px 6px #000000e6;white-space:nowrap;text-align:center;font-size:26px;font-weight:900;animation:1.3s ease-out forwards pop;position:absolute;transform:translate(-50%,-100%)}.pop small{font-size:15px;font-weight:800;display:block}.pop.good{color:var(--green)}.pop.great{color:var(--gold);font-size:32px}.pop.bad{color:#ddd}@keyframes pop{0%{opacity:0;transform:translate(-50%,-60%)scale(.6)}15%{opacity:1;transform:translate(-50%,-110%)scale(1.1)}70%{opacity:1;transform:translate(-50%,-150%)scale(1)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}#intro{z-index:15;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#intro .card{border:1px solid var(--line);text-align:center;background:#14162cdb;border-radius:20px;max-width:90vw;padding:18px 26px;animation:.35s ease-out introIn}#introNo{color:var(--gold);letter-spacing:2px;font-weight:800}#introName{font-size:30px;font-weight:900}#introGoal{color:#b8ffd0;margin-top:4px;font-size:18px;font-weight:800}#introTip{color:var(--muted);max-width:460px;margin:8px 0 0}#introTip:empty{display:none}@keyframes introIn{0%{opacity:0;transform:scale(.9)}}.stars{justify-content:center;gap:8px;font-size:54px;line-height:1;display:flex}.stars span{color:#3a3f62;transition:color .2s,transform .2s}.stars span.on{color:var(--gold);text-shadow:0 0 18px #ffd21a99;animation:.4s ease-out star}@keyframes star{0%{transform:scale(1.8)}}body.portrait #bar{right:calc(max(8px, var(--sar)) + 100px);flex-wrap:wrap}body.portrait #goalBox{flex-basis:100%;order:3}@media (max-height:500px){.logo.big{font-size:32px}.panel{padding:14px 16px}.btn.big{padding:11px 14px;font-size:17px}.stars{font-size:40px}#introName{font-size:24px}.help-cols{grid-template-columns:repeat(3,1fr);font-size:13px}}@media (max-width:640px){.grid{grid-template-columns:repeat(5,1fr)}.help-cols{grid-template-columns:1fr}#lvlName{font-size:13px}#goal{font-size:14px}}.grid{grid-template-columns:repeat(15,1fr)}#bar .chip{flex-direction:column;justify-content:center;display:flex}#bar .stat{flex-direction:row;align-items:center;gap:6px;font-size:18px}#bar .stat b{min-width:1.6em;font-size:19px}#bar .stat.gold b{color:var(--gold)}#bar .stat.flash{animation:.5s flash}@keyframes flash{0%{background:#ff5050cc}}#tools .ib{font-weight:800}#waveBtn{right:max(10px, var(--sar));bottom:max(10px, var(--sab));pointer-events:auto;padding:12px 18px;font-size:17px;position:absolute;box-shadow:0 6px 20px #0006}#waveBtn small{opacity:.85;font-size:12px;font-weight:700;display:block}#waveBtn:disabled{opacity:.55}#toast{border:1px solid var(--line);opacity:0;white-space:nowrap;text-overflow:ellipsis;background:#14162cdb;border-radius:999px;max-width:92vw;padding:8px 18px;font-weight:800;transition:opacity .3s;position:absolute;top:70px;left:50%;overflow:hidden;transform:translate(-50%)}#toast.show{opacity:1}.pop.gold{color:var(--gold);font-size:18px}.pop.bad{color:#ff7a7a;font-size:22px}#pick{z-index:25;border:1px solid var(--line);background:#14162cf0;border-radius:16px;gap:6px;padding:8px;display:flex;position:fixed;transform:translate(-50%,-100%);box-shadow:0 10px 30px #00000080}#pick:after{content:"";border:8px solid #0000;border-top-color:#14162cf0;border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}#pick .tb{appearance:none;border:1px solid var(--line);color:var(--txt);width:74px;font:inherit;cursor:pointer;background:#dce1ff12;border-radius:12px;flex-direction:column;align-items:center;gap:1px;padding:4px 2px 6px;font-size:12px;font-weight:800;display:flex}#pick .tb img{object-fit:contain;width:48px;height:48px}#pick .tb .c{color:var(--gold)}#pick .tb:disabled{opacity:.4}#pick .tb.sell .c{color:#9effa0}#pick .info{color:var(--muted);flex-direction:column;justify-content:center;max-width:150px;padding:2px 6px;font-size:12px;display:flex}#pick .info b{color:var(--txt);font-size:14px}.invite{text-align:center;background:#7a5cff26;border:1px solid #7a5cff80;border-radius:14px;padding:10px}.invite p{margin:0 0 8px}.join input{font:inherit;letter-spacing:4px;text-transform:uppercase;text-align:center;border:1px solid var(--line);color:var(--txt);background:#0000004d;border-radius:12px;min-width:0;padding:10px;font-size:20px;font-weight:800}.err{color:var(--bad);min-height:1em;margin:0}.lobby-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.code{letter-spacing:6px;font-size:34px;font-weight:900}.players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.players li{background:#dce1ff12;border-radius:10px;justify-content:space-between;padding:8px 12px;display:flex}.players li .ok{color:var(--green)}.world{margin-bottom:10px}.world p{color:var(--muted);margin:0 0 8px;font-size:13px}@media (max-width:760px){.grid{grid-template-columns:repeat(5,1fr)}#bar .stat{font-size:15px}#bar .stat b{font-size:16px}#lvlBox{display:none!important}#pick .tb{width:64px}#pick .tb img{width:40px;height:40px}}#heroBox{left:max(10px, var(--sal));bottom:max(10px, var(--sab));border:1px solid var(--line);background:#14162cc7;border-radius:14px;min-width:170px;padding:6px 10px;position:absolute}#heroName{color:var(--muted);font-size:12px;font-weight:800}.hpbar{background:#00000080;border-radius:6px;height:10px;margin-top:3px;overflow:hidden}.hpbar i{background:linear-gradient(90deg,#4fe08a,#9cff6a);width:100%;height:100%;transition:width .15s;display:block}#heroDown{color:#ff8a8a;margin-top:3px;font-size:13px;font-weight:800}#prompt{left:50%;bottom:calc(max(10px, var(--sab)) + 70px);color:#ffe9a8;white-space:nowrap;background:#14162cd9;border:1px solid #ffd36a99;border-radius:999px;padding:7px 16px;font-weight:800;position:absolute;transform:translate(-50%)}#padMenu{left:50%;bottom:calc(max(10px, var(--sab)) + 64px);pointer-events:auto;border:1px solid var(--line);background:#14162cf0;border-radius:16px;gap:6px;max-width:96vw;padding:8px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 30px #00000080}#padMenu .tb{appearance:none;border:1px solid var(--line);color:var(--txt);width:80px;font:inherit;cursor:pointer;background:#dce1ff12;border-radius:12px;flex-direction:column;align-items:center;gap:1px;padding:4px 2px 6px;font-size:12px;font-weight:800;display:flex;position:relative}#padMenu .tb img{object-fit:contain;width:54px;height:54px}#padMenu .tb .c{color:var(--gold)}#padMenu .tb .key{opacity:.6;font-size:10px;position:absolute;top:3px;left:6px}#padMenu .tb:disabled{opacity:.4}#padMenu .tb.sell .c{color:#9effa0}#padMenu .info{color:var(--muted);flex-direction:column;justify-content:center;max-width:160px;padding:2px 6px;font-size:12px;display:flex}#padMenu .info b{color:var(--txt);font-size:14px}#touch{pointer-events:none;position:absolute;inset:0}#stickBase{background:#ffffff1f;border:2px solid #ffffff59;border-radius:50%;width:120px;height:120px;display:none;position:absolute}#stickKnob{background:#ffffff80;border-radius:50%;width:50px;height:50px;position:absolute;top:35px;left:35px}.tb2{pointer-events:auto;appearance:none;color:#fff;background:#14162c99;border:2px solid #ffffff73;border-radius:50%;width:78px;height:78px;font-size:30px;position:absolute}.tb2.on{background:#7a5cffb3}#tAttack{right:calc(max(14px, var(--sar)) + 8px);bottom:calc(max(14px, var(--sab)) + 70px)}#tUse{right:calc(max(14px, var(--sar)) + 96px);bottom:calc(max(14px, var(--sab)) + 40px);border-color:#ffd36acc;width:64px;height:64px;font-size:26px}body.touch #heroBox{bottom:auto;top:calc(max(8px, var(--sat)) + 56px)}body.touch #waveBtn{right:max(8px, var(--sar));top:calc(max(8px, var(--sat)) + 56px);padding:7px 12px;font-size:14px;bottom:auto}body.touch #prompt{bottom:calc(max(10px, var(--sab)) + 160px)}body.touch #padMenu{bottom:calc(max(10px, var(--sab)) + 150px)}#bar{right:calc(max(8px, var(--sar)) + 200px)}#tools .ib.on{background:#7a5cffbf}@media (max-width:520px){#tools .ib{width:38px;height:38px;font-size:17px}#bar{right:calc(max(8px, var(--sar)) + 188px);gap:5px}#bar>div{padding:5px 8px}#heroBox{min-width:140px}}
