:root{--bg: #07070d;--ink: #f4f4f8;--dim: rgba(244, 244, 248, .55);--line: rgba(255, 255, 255, .1);--acid: #c6ff3d;--hot: #ff2d55;--cyan: #3df5ff;--brand: #c6ff3d;--display: "Unbounded", system-ui, sans-serif;--body: "Space Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none}canvas#game{position:fixed;inset:0;display:block;cursor:crosshair}.hidden{display:none!important}.mono{font-family:var(--mono);letter-spacing:.04em}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}.touch-only{display:none}body.touch .touch-only{display:initial}body.touch .desktop-only{display:none}.screen{position:fixed;inset:0;z-index:10}#loader{display:grid;place-content:center;justify-items:center;gap:22px;background:var(--bg)}.loader-title{font:900 clamp(34px,7vw,64px) / 1 var(--display);letter-spacing:-.04em;font-style:italic}.loader-title span,.title span{color:var(--acid)}.loader-bar{width:min(320px,70vw);height:4px;background:var(--line);overflow:hidden}.loader-bar i{display:block;height:100%;width:0;background:var(--acid);box-shadow:0 0 18px var(--acid);transition:width .15s}.loader-text{font-size:12px;color:var(--dim)}.loader-text b{color:var(--ink)}#menu{display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#07070d59,#07070deb 70%),linear-gradient(180deg,#07070d99,#07070d33 40%,#07070dd9);overflow-y:auto;touch-action:pan-y}.menu-top{display:flex;gap:24px;justify-content:space-between;padding:calc(16px + var(--safe-t)) calc(20px + var(--safe-r)) 0 calc(20px + var(--safe-l));font-size:11px;color:var(--dim)}.blink{color:var(--hot);animation:blink 1.2s steps(2) infinite}.blink.solo{color:var(--dim);animation:none}@keyframes blink{50%{opacity:.25}}.menu-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:18px}.title{position:relative;font:900 clamp(46px,12vw,148px) / .9 var(--display);letter-spacing:-.055em;font-style:italic;transform:skew(-6deg);text-shadow:0 0 60px rgba(198,255,61,.25);animation:title-in .7s cubic-bezier(.2,1.4,.4,1) both}.title:before,.title:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}.title:before{color:var(--hot);animation:glitch-a 3.2s infinite steps(1);opacity:.8}.title:after{color:var(--cyan);animation:glitch-b 2.7s infinite steps(1);opacity:.8}@keyframes glitch-a{0%,86%,to{transform:translate(0);clip-path:inset(0 0 100% 0)}87%{transform:translate(-6px,2px);clip-path:inset(10% 0 55% 0)}90%{transform:translate(5px,-2px);clip-path:inset(60% 0 8% 0)}93%{transform:translate(-3px);clip-path:inset(30% 0 40% 0)}}@keyframes glitch-b{0%,78%,to{transform:translate(0);clip-path:inset(0 0 100% 0)}79%{transform:translate(6px,-1px);clip-path:inset(45% 0 30% 0)}83%{transform:translate(-5px,2px);clip-path:inset(5% 0 75% 0)}}@keyframes title-in{0%{opacity:0;transform:skew(-6deg) scale(1.4);filter:blur(12px)}}.tagline{font-size:clamp(15px,2.2vw,20px);color:var(--dim)}.tagline b{color:var(--ink);font-weight:700}.picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:min(940px,100%);margin-top:8px}.pick{--c: var(--acid);position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff09;border:1px solid var(--line);border-radius:14px;text-align:left;transition:transform .15s cubic-bezier(.2,1.6,.4,1),border-color .15s,background .15s;animation:pop-in .5s cubic-bezier(.2,1.4,.4,1) both}.pick:hover{transform:translateY(-3px) rotate(-1deg);border-color:#ffffff40}.pick.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:0 0 0 1px var(--c),0 10px 40px -10px var(--c);transform:translateY(-3px) scale(1.03)}.pick img{width:38px;height:38px;flex:none;padding:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--c);object-fit:contain}.pick .pk-name{display:block;font:800 14px/1.1 var(--display);letter-spacing:-.02em}.pick .pk-maker{display:block;font:500 11px/1.4 var(--mono);color:var(--dim)}.pick .pk-key{position:absolute;top:6px;right:9px;font:700 10px var(--mono);color:#ffffff47}@keyframes pop-in{0%{opacity:0;transform:translateY(14px) scale(.9)}}.play-row{display:flex;gap:10px;width:min(560px,100%);margin-top:6px}#nick{flex:1;min-width:0;height:58px;padding:0 18px;font:500 16px var(--body);color:var(--ink);background:#ffffff0d;border:1px solid var(--line);border-radius:14px;outline:none;user-select:text;-webkit-user-select:text}#nick:focus{border-color:var(--brand)}.btn-play{position:relative;height:58px;padding:0 34px;background:var(--brand);color:#07070d;border-radius:14px;font:900 18px var(--display);letter-spacing:-.01em;transform:skew(-8deg);box-shadow:0 0 0 0 var(--brand),0 12px 40px -8px var(--brand);transition:transform .12s cubic-bezier(.2,1.8,.4,1),box-shadow .2s;overflow:hidden}.btn-play span{display:inline-block;transform:skew(8deg)}.btn-play:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translate(-120%);animation:shine 2.4s infinite}@keyframes shine{60%,to{transform:translate(120%)}}.btn-play:hover{transform:skew(-8deg) scale(1.06);box-shadow:0 0 0 4px #ffffff26,0 16px 50px -6px var(--brand)}.btn-play:active{transform:skew(-8deg) scale(.96)}.btn-ghost{height:58px;padding:0 24px;border:1px solid var(--line);border-radius:14px;font:800 14px var(--display);color:var(--dim);transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--ink);border-color:#ffffff59}.hint{font-size:11px;color:#f4f4f861;text-align:center}.ticker{display:flex;align-items:center;border-top:1px solid var(--line);background:#07070db3;padding-bottom:var(--safe-b);overflow:hidden}.ticker-label{flex:none;padding:0 16px;font-size:11px;font-weight:800;color:#07070d;background:var(--acid);align-self:stretch;display:grid;place-items:center;z-index:1}.ticker-track{display:flex;gap:26px;padding:12px 0;white-space:nowrap;animation:ticker 70s linear infinite}.ticker-track span{display:inline-flex;align-items:center;gap:8px;font:500 13px var(--body);color:var(--dim)}.ticker-track img{width:26px;height:26px;padding:4px;background:#fff;border-radius:7px;object-fit:contain}.ticker-track s{color:var(--ink);text-decoration-color:var(--hot);text-decoration-thickness:2px}@keyframes ticker{to{transform:translate(-50%)}}#hud{position:fixed;inset:0;pointer-events:none;z-index:5}.feed{position:absolute;top:calc(14px + var(--safe-t));left:calc(16px + var(--safe-l));display:flex;flex-direction:column;gap:6px;max-width:46vw}.feed div{font:500 13px var(--body);padding:6px 10px;background:#07070d99;border-left:3px solid var(--c, var(--hot));border-radius:0 8px 8px 0;backdrop-filter:blur(6px);animation:feed-in .35s cubic-bezier(.2,1.5,.4,1) both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed div.out{animation:feed-out .4s forwards}.feed b{font-weight:700}.feed em{font-style:normal;color:var(--hot);font-weight:700}@keyframes feed-in{0%{opacity:0;transform:translate(-30px)}}@keyframes feed-out{to{opacity:0;transform:translate(-20px)}}.board{position:absolute;top:calc(14px + var(--safe-t));right:calc(16px + var(--safe-r));width:236px;padding:12px 14px;background:#07070d8c;border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(8px)}.board-head{display:flex;justify-content:space-between;font-size:10px;font-weight:800;color:var(--acid);margin-bottom:8px}.board-head span:last-child{color:var(--dim);font-weight:500}.board ol{list-style:none;display:flex;flex-direction:column;gap:3px}.board li{display:grid;grid-template-columns:22px 12px 1fr auto;gap:7px;align-items:center;font:500 12.5px var(--body);color:var(--dim)}.board li .r{font:700 11px var(--mono);color:#ffffff59}.board li i{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.board li .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board li .s{font:700 11.5px var(--mono);color:var(--ink)}.board li.me{color:var(--ink);font-weight:700}.board li.me .n:before{content:"▸ ";color:var(--brand)}.board li.sep{height:1px;background:var(--line);margin:3px 0;display:block}.toasts{position:absolute;top:calc(18px + var(--safe-t));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.toast{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;background:#07070dd1;border:1px solid rgba(255,255,255,.12);border-radius:14px;backdrop-filter:blur(8px);animation:toast-in .45s cubic-bezier(.2,1.6,.4,1) both}.toast.out{animation:toast-out .35s forwards}.toast img{width:40px;height:40px;padding:6px;background:#fff;border-radius:11px;object-fit:contain}.toast .t1{font:900 15px/1.1 var(--display);letter-spacing:-.02em}.toast .t1 s{text-decoration-color:var(--hot);text-decoration-thickness:3px}.toast .t2{font:500 12px/1.3 var(--body);color:var(--dim)}.toast.big{padding:12px 22px;border-color:var(--brand);box-shadow:0 0 40px -10px var(--brand)}.toast.big .t1{font-size:20px;color:var(--brand)}@keyframes toast-in{0%{opacity:0;transform:translateY(-24px) scale(.8) rotate(-3deg)}}@keyframes toast-out{to{opacity:0;transform:translateY(-14px) scale(.92)}}.combo{position:absolute;left:50%;bottom:calc(110px + var(--safe-b));transform:translate(-50%);display:flex;align-items:baseline;gap:8px;opacity:0;transition:opacity .25s}.combo.on{opacity:1}.combo b{font:900 34px var(--display);font-style:italic;color:var(--brand);text-shadow:0 0 24px var(--brand)}.combo span{font:800 11px var(--mono);color:var(--dim)}.combo.bump b{animation:bump .18s}@keyframes bump{50%{transform:scale(1.35) rotate(-4deg)}}.stats{position:absolute;left:calc(18px + var(--safe-l));bottom:calc(16px + var(--safe-b))}.score-label{font-size:10px;font-weight:800;color:var(--brand)}.score{font-size:clamp(34px,5vw,54px);font-weight:800;line-height:1;letter-spacing:-.04em;text-shadow:0 0 30px rgba(255,255,255,.15)}.score.bump{animation:bump .2s;transform-origin:left bottom}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:11px;color:var(--dim)}.chips span{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#07070d99;border:1px solid var(--line);border-radius:999px}.chips b{color:var(--ink)}.chips .rank b{color:var(--brand)}.dot{width:7px;height:7px;border-radius:50%}.dot.h{background:#ffd23d}.dot.l{background:var(--acid)}.dot.k{background:var(--hot)}#minimap{position:absolute;right:calc(16px + var(--safe-r));bottom:calc(16px + var(--safe-b));width:150px;height:150px;border-radius:50%;background:#07070d99;border:1px solid var(--line);backdrop-filter:blur(6px)}#boost-btn{position:absolute;right:calc(22px + var(--safe-r));bottom:calc(28px + var(--safe-b));width:92px;height:92px;border-radius:50%;pointer-events:auto;font:900 13px var(--display);color:var(--brand);background:#07070d8c;border:2px solid var(--brand);box-shadow:0 0 30px -8px var(--brand),inset 0 0 20px -8px var(--brand);backdrop-filter:blur(6px)}#boost-btn.on{background:var(--brand);color:#07070d;transform:scale(.94)}#joy{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:#ffffff0a}#joy i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--brand);opacity:.75;box-shadow:0 0 20px var(--brand)}#mute{position:fixed;z-index:20;left:calc(16px + var(--safe-l));bottom:calc(16px + var(--safe-b));font-size:10px;font-weight:800;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--dim);background:#07070d99}body.playing #mute{bottom:auto;top:calc(14px + var(--safe-t));left:auto;right:calc(266px + var(--safe-r))}body.touch.playing #mute{display:none}#death{display:grid;place-items:safe center;padding:16px;background:radial-gradient(ellipse at center,#28000c8c,#07070deb);overflow-y:auto;touch-action:pan-y;animation:fade-in .4s both}@keyframes fade-in{0%{opacity:0}}.death-card{width:min(640px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.death-kicker{font-size:11px;font-weight:800;color:var(--hot)}.death-title{font:900 clamp(40px,9vw,92px) / .92 var(--display);letter-spacing:-.05em;font-style:italic;transform:skew(-6deg);animation:slam .5s cubic-bezier(.2,1.6,.4,1) both}.death-title span{color:var(--hot)}@keyframes slam{0%{opacity:0;transform:skew(-6deg) scale(2.2);filter:blur(10px)}}.death-sub{color:var(--dim);font-size:15px}.death-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:6px}.death-stats div{padding:12px 10px;background:#ffffff0a;border:1px solid var(--line);border-radius:12px;animation:pop-in .45s cubic-bezier(.2,1.4,.4,1) both}.death-stats b{display:block;font:800 26px var(--mono);letter-spacing:-.04em}.death-stats span{font:500 11px var(--mono);color:var(--dim)}.portfolio-head{display:flex;justify-content:space-between;width:100%;font-size:10px;font-weight:800;color:var(--acid);margin-top:6px}.portfolio-head span:last-child{color:var(--dim)}.portfolio{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;min-height:20px}.portfolio div{position:relative;animation:pop-in .4s cubic-bezier(.2,1.6,.4,1) both}.portfolio img{width:44px;height:44px;padding:7px;background:#fff;border-radius:12px;object-fit:contain;display:block}.portfolio div b{position:absolute;right:-5px;top:-5px;font:800 10px var(--mono);background:var(--hot);color:#fff;border-radius:999px;padding:2px 5px}.portfolio p{color:var(--dim);font-size:13px}.death-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center}.sp-rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:4px}.sp-label{font-size:10px;font-weight:800;color:#f4f4f861;margin-right:4px}.sp-chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px 0 5px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;font:700 12px var(--body);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}.sp-chip img{width:22px;height:22px;border-radius:7px;object-fit:cover}.sp-chip:hover{border-color:var(--c);transform:translateY(-1px);box-shadow:0 6px 20px -8px var(--c)}.sp-chip.sp-free{padding:0 14px;border:1px dashed var(--acid);background:none;color:var(--acid);font:800 10px var(--mono)}.sp-chip.sp-free:hover{background:#c6ff3d14;box-shadow:none}.sp-card{display:flex;align-items:center;gap:14px;width:100%;padding:12px 12px 12px 14px;border:1px solid var(--line);border-left:3px solid var(--c, var(--acid));border-radius:14px;background:#ffffff0a;text-align:left;animation:pop-in .45s .4s cubic-bezier(.2,1.4,.4,1) both}.sp-card:empty{display:none}.sp-card img{width:44px;height:44px;border-radius:11px;flex:none}.sp-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sp-kicker{font-size:9px;font-weight:800;color:var(--dim)}.sp-text b{font:800 15px var(--display)}.sp-text span{font-size:13px;color:var(--dim)}.sp-cta{flex:none;padding:10px 14px;border-radius:10px;background:var(--c, var(--acid));color:#07070d;font:800 11px var(--display);text-decoration:none;transition:transform .15s}.sp-cta:hover{transform:scale(1.05)}.sp-card.sp-free{border:1px dashed var(--acid)}.sp-own{margin-top:-4px;font-size:10px;font-weight:800;color:var(--acid);text-decoration:none;border-bottom:1px dashed currentColor;padding-bottom:2px}.sp-own:hover{color:#fff}.sp-own[hidden]{display:none}.sp-card.sp-free .sp-kicker{color:var(--acid)}.sp-card.sp-free .sp-cta{background:var(--acid)}@media(max-width:720px){.picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pick{padding:8px 10px}.pick img{width:32px;height:32px;padding:6px}.pick .pk-key{display:none}.menu-top span:last-child{display:none}.sp-label{width:100%;text-align:center;margin:0}.sp-chip{height:28px;font-size:11px}.sp-chip img{width:18px;height:18px}.sp-card{gap:10px;padding:10px}.sp-card img{width:36px;height:36px}.sp-text span{font-size:12px}.play-row{flex-direction:column}#nick{flex:none;height:52px}.btn-play{width:100%}.board{width:170px;padding:9px 10px}.board li{font-size:11px;grid-template-columns:18px 10px 1fr auto;gap:5px}.feed{max-width:calc(100vw - 218px - var(--safe-l) - var(--safe-r))}.feed div{font-size:11px}#minimap{width:96px;height:96px;bottom:auto;top:calc(14px + var(--safe-t));right:calc(196px + var(--safe-r))}body.touch #minimap{display:none}.death-stats{grid-template-columns:repeat(2,minmax(0,1fr))}body.playing #mute{right:calc(196px + var(--safe-r))}.toasts{top:calc(182px + var(--safe-t));width:92vw;gap:6px}.toasts .toast:nth-last-child(n+3){display:none}.toast{gap:10px;padding:6px 12px 6px 6px;max-width:100%}.toast img{width:32px;height:32px;padding:5px;border-radius:9px}.toast .t1{font-size:13px}.toast .t2{font-size:11px}.toast.big .t1{font-size:16px}}@media(max-height:560px){.menu-center{gap:10px;padding:12px}.title{font-size:46px}}body:not(.playing) #mute{bottom:calc(64px + var(--safe-b))}.gh-link{position:fixed;z-index:20;left:calc(108px + var(--safe-l));bottom:calc(64px + var(--safe-b));display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--dim);background:#07070d99;text-decoration:none}.gh-link svg{width:12px;height:12px}.gh-link:hover{color:var(--ink);border-color:#ffffff4d}.pop{position:absolute;right:0;bottom:0;width:220px;height:220px;transform:translate(110%,110%) rotate(-25deg);pointer-events:none;z-index:3}.pop img{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 5px var(--brand),0 20px 60px #0009}.pop.on{animation:toasty 1.5s cubic-bezier(.2,1.2,.4,1) forwards}.pop.on img{animation:wobble .25s .25s 3 alternate}.pop-say{z-index:1;position:absolute;right:150px;top:-18px;padding:9px 14px;white-space:nowrap;background:#fff;color:#07070d;border-radius:14px 14px 2px;font:900 22px var(--display);font-style:italic;letter-spacing:-.02em;transform:rotate(-6deg) scale(0);transform-origin:bottom right;box-shadow:0 10px 30px #00000080}.pop.on .pop-say{animation:say-in 1.5s cubic-bezier(.2,1.8,.4,1) forwards}.pop-name{position:absolute;left:50%;bottom:18px;transform:translate(-50%);padding:3px 8px;border-radius:999px;background:#07070dd9;font-size:10px;font-weight:800;white-space:nowrap}@keyframes toasty{0%{transform:translate(110%,110%) rotate(-25deg)}18%{transform:translate(-30px,-40px) rotate(-12deg)}70%{transform:translate(-30px,-40px) rotate(-8deg)}to{transform:translate(110%,110%) rotate(-25deg)}}@keyframes wobble{to{transform:rotate(6deg) scale(1.04)}}@keyframes say-in{0%,12%{transform:rotate(-6deg) scale(0)}22%{transform:rotate(-6deg) scale(1.15)}28%,72%{transform:rotate(-6deg) scale(1)}82%,to{transform:rotate(-6deg) scale(0)}}@media(max-width:720px){.pop{width:140px;height:140px}.pop-say{right:96px;font-size:16px}}
