:root{--font: "Afacad", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ink: #f5f2eb;--ink-2: rgba(245, 242, 235, .68);--ink-3: rgba(245, 242, 235, .42);--ink-dark: #131418;--glass: rgba(16, 17, 21, .58);--glass-hud: rgba(12, 13, 16, .5);--tint: rgba(255, 255, 255, .07);--tint-2: rgba(255, 255, 255, .13);--line: rgba(255, 255, 255, .11);--line-2: rgba(255, 255, 255, .24);--accent: #ffd36e;--good: #8fe6a9;--bad: #ff7d6e;--mod: #bcaaff;--blue: #8cc8ff;--blur: blur(14px) saturate(1.1);--r: 22px;--r-lg: 32px;--spring: cubic-bezier(.34, 1.56, .64, 1);--out: cubic-bezier(.22, 1, .36, 1);--press: scale(.95);--map: 164px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:#0b0c0e;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}body{font-family:var(--font);font-size:16px;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#view{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}::selection{background:#ffd36e59}.hidden{display:none!important}.dim{color:var(--ink-3);overflow-wrap:anywhere}.sub{color:var(--ink-2)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.03)}to{transform:none}}@keyframes slide-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}.panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 20px 60px #0000004d}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.panel-head h2{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1}.panel-head .sub{font-size:14px;color:var(--ink-3)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:7px 18px;border-radius:999px;border:1px solid var(--line);background:var(--tint);font-size:16px;font-weight:600;line-height:1;white-space:nowrap;text-transform:lowercase;user-select:none;transition:background .12s,border-color .12s,color .12s,transform .25s var(--spring)}.button:hover{background:var(--tint-2);border-color:var(--line-2);transform:scale(1.03)}.button:active{transform:var(--press);transition-duration:.06s}.button:disabled{opacity:.35;cursor:default;transform:none}.button.small{min-height:30px;padding:4px 14px;font-size:14px}.button.primary,.button.on{background:var(--ink);border-color:transparent;color:var(--ink-dark)}.button.primary:hover{background:#fff}.button.ok{color:var(--good);background:#8fe6a91a;border-color:#8fe6a942}.button.ok:hover{background:#8fe6a92e}.button.ok.on{background:var(--good);color:#10140f}.button.warn{color:var(--bad);background:#ff7d6e1a;border-color:#ff7d6e38}.button.warn:hover{background:#ff7d6e2e}.button.warn.on{background:var(--bad);color:#170c0a}.button.hot{color:var(--accent);background:#ffd36e17;border-color:#ffd36e38}.button.hot:hover{background:#ffd36e29}.button kbd{font-size:12px;background:#ffffff1a}.field{display:flex;align-items:center;border-radius:999px;border:1px solid var(--line);background:var(--tint);transition:border-color .15s,background .15s}.field:focus-within{border-color:var(--line-2);background:#ffffff1a}.field input{flex:1;min-width:0;background:none;border:0;outline:none;padding:10px 18px;font-size:17px;font-weight:500;caret-color:var(--accent)}.field input::placeholder{color:var(--ink-3)}kbd{display:inline-block;min-width:22px;padding:1px 7px 2px;border-radius:8px;background:var(--tint);box-shadow:inset 0 -1px #00000059,inset 0 0 0 1px var(--line);font:600 13px/1.35 var(--font);color:var(--ink);text-align:center}.tabs{display:flex;gap:4px}.tab{padding:7px 16px 8px;border-radius:999px;cursor:pointer;color:var(--ink-2);font-weight:600;font-size:15px;text-transform:lowercase;user-select:none;transition:background .12s,color .12s,transform .25s var(--spring)}.tab:hover{background:var(--tint);color:var(--ink)}.tab:active{transform:var(--press)}.tab.on{background:var(--ink);color:var(--ink-dark)}.list{overflow:auto;display:flex;flex-direction:column;gap:8px}.card{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:#ffffff0b;transition:background .15s,transform .25s var(--spring);animation:rise-in .3s var(--out) both}.card:hover{background:#ffffff13}.card.on{background:#8fe6a912}.card.settled{animation:none}label.card{cursor:pointer}label.card:active{transform:scale(.985)}.card>:not(button,input){flex:1;min-width:0}.card-title{font-size:16px;font-weight:600;word-break:break-word}.card-detail{font-size:13px;color:var(--ink-3);margin-top:3px}.card-cancel{flex:none;align-self:flex-start;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,125,110,.3);background:#ff7d6e1f;color:var(--bad);font-size:20px;font-weight:700;line-height:1;transition:background .12s,color .12s,transform .25s var(--spring)}.card-cancel:hover{background:var(--bad);color:#170c0a;transform:scale(1.08)}.card-cancel:active{transform:var(--press);transition-duration:.06s}.card-cancel:disabled{opacity:.35;cursor:default;transform:none;background:#ff7d6e1f;color:var(--bad)}.tag{display:inline-block;margin-left:8px;padding:1px 8px 2px;border-radius:999px;background:#ffffff14;color:var(--ink-2);font-size:12px;font-weight:600;text-transform:lowercase;vertical-align:2px}.tag.ok{color:var(--good);background:#8fe6a91f}.tag.warn{color:var(--bad);background:#ff7d6e1f}.tag.hot{color:var(--accent);background:#ffd36e1f}.meter{display:flex;height:8px;margin:8px 0;border-radius:9px;overflow:hidden;background:#ffffff14}.meter i{display:block;height:100%;border-radius:9px;transition:width .4s var(--spring)}.meter.bar i{width:0;background:var(--mod, var(--accent));transition:width 1s linear}.busy:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--accent);animation:breathe 1s ease-in-out infinite}.check{appearance:none;position:relative;flex:none;width:24px;height:24px;border-radius:9px;background:#ffffff1a;cursor:pointer;transition:background .2s,transform .25s var(--spring)}.check:checked{background:var(--ink)}.check:checked:after{content:"";position:absolute;left:8px;top:4px;width:6px;height:12px;border:solid var(--ink-dark);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.check:active{transform:scale(.85)}.empty{padding:36px 20px;text-align:center;color:var(--ink-3);font-size:16px;line-height:1.5}#overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(ellipse at center,#0a0b0d40,#08090ab8);opacity:0;pointer-events:none;transition:opacity .28s var(--out)}#overlay.visible{opacity:1;pointer-events:auto;cursor:pointer}#overlay.visible:not(.intro){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#overlay.intro{--intro: url(../realms/flatland/intro.webp);background:linear-gradient(#08090a33,#08090a99),var(--intro) center / cover no-repeat,#0b0c0e}#overlay.intro[data-realm=flatland]{--intro: url(../realms/flatland/intro.webp)}#overlay.intro[data-realm=offgrid]{--intro: url(../realms/offgrid/intro.webp)}#overlay.intro[data-realm=frontline]{--intro: url(../realms/frontline/intro.webp)}#overlay.intro[data-realm=hangout]{--intro: url(../realms/hangout/intro.webp)}#title{width:min(460px,92vw);padding:38px 34px 30px;border-radius:34px;background:#0e0f1399;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:default;user-select:none;transition:width .3s var(--out)}#overlay.visible #title{animation:rise-in .45s var(--out) both}#wordmark{font-size:clamp(56px,10vw,92px);font-weight:700;line-height:.86;letter-spacing:-.035em;text-transform:lowercase}#overlay.visible #wordmark{animation:pop-in .6s var(--out) .1s both}#subtitle{margin-top:12px;font-size:17px}#subtitle:empty{display:none}#progress{width:100%;max-width:300px;height:10px;margin-top:28px;border-radius:999px;overflow:hidden;background:var(--tint);box-shadow:inset 0 0 0 1px var(--line)}#bar{height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(245,242,235,.75),var(--ink));transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--out)}#status{margin-top:12px;font-size:15px;color:var(--ink-3)}#menu{display:grid;gap:10px;min-width:220px;margin-top:14px}#enter,#mods{min-height:50px;padding:0 34px;font-size:19px;font-weight:700;border-color:transparent;color:var(--ink-dark)}#enter{background:var(--good);animation:pop-in .5s var(--out) both}#mods{background:var(--blue)}#enter:hover,#mods:hover{filter:brightness(1.1)}#swap,#sound,#controls,#leave{min-height:30px;padding:4px 14px;font-size:14px;font-weight:500;color:var(--ink-2)}#sound.on,#controls.on{color:var(--ink-dark)}#leave{margin-top:6px;border-color:transparent;background:none;color:var(--ink-3)}#leave:hover{background:var(--tint);color:var(--ink)}#profile{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));z-index:2;display:flex;align-items:center;gap:10px;padding:5px 16px 5px 5px;border-radius:999px;border:1px solid var(--line);background:var(--glass-hud);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);font:inherit;text-align:left;line-height:1.1;cursor:pointer;animation:rise-in .45s var(--out) .15s both;transition:background .12s,border-color .12s,transform .25s var(--spring)}#profile.hidden{display:none}#profile:hover{background:var(--glass);border-color:var(--line-2);transform:scale(1.03)}#profile:active{transform:var(--press);transition-duration:.06s}#profile .avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--mod),var(--blue));color:var(--ink-dark);font-size:16px;font-weight:700;text-transform:uppercase}#profile .avatar.guest{background:radial-gradient(circle at 50% 36%,var(--ink-2) 0 20%,transparent 21%),var(--tint-2);position:relative;overflow:hidden}#profile .avatar.guest:after{content:"";position:absolute;left:50%;top:66%;width:62%;height:56%;transform:translate(-50%);border-radius:50%;background:var(--ink-2)}#profile .who{display:flex;flex-direction:column;gap:2px}#profile .who b{font-size:15px;font-weight:600}#profile .who span{font-size:12px;color:var(--ink-3)}.keys{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;max-width:400px;margin-top:28px;font-size:15px;color:var(--ink-3)}.keys li{white-space:nowrap}.settings{width:100%;max-width:340px;margin-top:22px;text-align:left;animation:rise-in .3s var(--out) both}.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:40px;padding:4px 2px}.set-row+.set-row{border-top:1px solid rgba(255,255,255,.05)}.set-row label{flex:1;font-size:15px;color:var(--ink-2);text-transform:lowercase}.set-row .slider{width:180px}.set-row .slider span{width:28px;color:var(--ink-3)}.set-row.talk{margin-top:6px;padding-top:12px;border-top-color:var(--line)}.set-row.talk label{color:var(--ink);font-weight:600}.set-row.talk small{display:block;margin-top:2px;font-size:13px;font-weight:400;line-height:1.3;color:var(--ink-3);text-transform:none}.set-row.talk[data-state=on] small{color:var(--good)}.set-row.talk[data-state=asking] small{color:var(--accent)}.set-row.talk[data-state=blocked] small,.set-row.talk[data-state=missing] small,.set-row.talk[data-state=insecure] small,.set-row.talk[data-state=unsupported] small{color:var(--bad)}#overlay.message #wordmark{font-size:clamp(40px,7vw,64px)}#overlay.message #subtitle{max-width:400px;line-height:1.45}#overlay.message .keys,#overlay.message .settings,#overlay.message #sound,#overlay.message #controls{display:none}#overlay.picking #title{width:min(900px,94vw)}#overlay.picking #progress,#overlay.picking #status,#overlay.picking .keys,#overlay.picking .settings,#overlay.picking #enter,#overlay.picking #sound,#overlay.picking #controls{display:none}#realms{width:100%;margin-top:22px;transition:opacity .25s,transform .25s var(--out)}#realms.gone{opacity:0;transform:scale(.94) translateY(6px)}#realm-row{display:flex;gap:14px;justify-content:center}.realm{flex:1 1 0;min-width:0;max-width:280px;display:flex;flex-direction:column;padding:9px 9px 14px;border-radius:26px;border:1px solid var(--line);background:var(--tint);text-align:left;line-height:1.2;animation:rise-in .4s var(--out) both;transition:background .15s,border-color .15s,opacity .25s,transform .3s var(--spring)}.realm:nth-child(2){animation-delay:.08s}.realm:nth-child(3){animation-delay:.16s}.realm.pref{background:var(--tint-2);border-color:#ffd36e8c;transform:translateY(-3px)}.realm:active{transform:var(--press)}.realm.chosen{background:#fff3;border-color:var(--accent)}#realms.done .realm:not(.chosen){opacity:.25;transform:scale(.94)}.realm-art{position:relative;display:block;height:128px;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14;background:linear-gradient(135deg,#2a2b33,#16171c)}.realm-art:before,.realm-art:after{content:"";position:absolute;inset:0}.realm-art:before{background:var(--art) 50% 45% / cover;transition:transform 2.4s var(--out)}.realm-art:after{background:linear-gradient(transparent 40%,#08090a8c)}.realm.pref .realm-art:before{transform:scale(1.08)}.realm-art.flatland{--art: url(../realms/flatland/intro.webp)}.realm-art.offgrid{--art: url(../realms/offgrid/intro.webp)}.realm-art.frontline{--art: url(../realms/frontline/intro.webp)}.realm-art.hangout{--art: url(../realms/hangout/intro.webp)}.realm-name{display:flex;align-items:center;justify-content:space-between;margin:11px 6px 0;font-size:22px;font-weight:700;letter-spacing:-.01em}.realm-name kbd{font-size:12px;opacity:.6}#overlay.picking:has(.realm.public) #title{width:min(1120px,96vw)}.realm-split{flex:0 0 1px;align-self:stretch;margin:10px 2px;background:var(--line)}.realm.public{border-color:#78dc9659}.realm.public.pref{border-color:#78dc96bf}.realm.unavailable{opacity:.6}.realm.unavailable .realm-art:before{filter:grayscale(.7)}.realm.nope{animation:realm-nope .32s var(--out)}@keyframes realm-nope{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.realm-live{position:absolute;z-index:1;left:9px;bottom:9px;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;background:#08090a9e;font-size:13px;line-height:1;color:var(--ink)}.realm-live i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px #78dc9633}.realm-live[data-state=full] i{background:var(--accent);box-shadow:none}.realm-live[data-state=down] i{background:var(--ink-3);box-shadow:none}.realm-live em{font-style:normal;color:var(--ink-2)}.realm-sub{margin:3px 6px 0;font-size:14px;color:var(--ink-3)}.realm:nth-child(4){animation-delay:.24s}.realm:nth-child(5){animation-delay:.32s}@media(max-width:560px){#realm-row{flex-direction:column;align-items:center}.realm{width:100%}.realm-split{flex-basis:1px;align-self:stretch;margin:2px 10px}}#hud{position:fixed;inset:0;z-index:5;display:none;pointer-events:none;user-select:none}#hud.on{display:block}#hud .panel{background:var(--glass-hud);border-color:#ffffff14;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}#hud .slots{--slot: 58px;--gap: 6px;--sel: 0;position:absolute;left:0;right:0;bottom:20px;margin:auto;width:max-content;display:flex;gap:var(--gap);padding:6px;border-radius:24px;background:var(--glass-hud)}#hud .slots.empty{display:none}.slot-highlight{position:absolute;left:6px;top:6px;width:var(--slot);height:var(--slot);border-radius:18px;background:#ffd36e38;box-shadow:inset 0 0 0 1px #ffd36e80;opacity:0;transform:translate(calc(var(--sel) * (var(--slot) + var(--gap))));transition:transform .28s var(--spring),opacity .15s}.slot-highlight.on{opacity:1}.slot{position:relative;width:var(--slot);height:var(--slot);display:flex;align-items:center;justify-content:center;color:var(--ink-2);font-size:12px;font-weight:600;transition:transform .28s var(--spring)}.slot img{width:48px;height:48px;opacity:.62;transition:opacity .15s,transform .28s var(--spring)}.slot.sel{transform:translateY(-4px);color:var(--ink)}.slot.sel img{opacity:1;transform:scale(1.1)}.slot-label{text-transform:lowercase;text-align:center;line-height:1.05}.slot-number{position:absolute;left:8px;top:4px;font-size:12px;color:var(--ink-3)}.slot.sel .slot-number{color:var(--accent)}.slot-count{position:absolute;right:7px;bottom:3px;font-size:12px;font-weight:700;color:var(--ink)}#hud .ammo{position:absolute;right:26px;bottom:24px;display:none;flex-direction:column;align-items:flex-end;padding:6px 18px 8px;line-height:1}#hud .ammo.on{display:flex}.ammo-name{margin-bottom:3px;font-size:14px;font-weight:600;color:var(--ink-3);text-transform:lowercase}.ammo-row{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.ammo-cur{font-size:40px;font-weight:700;transition:color .15s}.ammo-reserve{font-size:19px;font-weight:500;color:var(--ink-3)}#hud .ammo.low .ammo-cur{color:var(--bad)}.crosshair{--spread: 3px;position:absolute;left:50%;top:50%;transition:opacity .12s}.crosshair.off{opacity:0}.crosshair i{position:absolute;background:#fff;opacity:.6;border-radius:2px;box-shadow:0 0 2px #0006;transition:transform 60ms linear}.crosshair .up,.crosshair .down{left:-1px;width:2px;height:6px}.crosshair .left,.crosshair .right{top:-1px;width:6px;height:2px}.crosshair .up{bottom:0;transform:translateY(calc(-1 * var(--spread)))}.crosshair .down{top:0;transform:translateY(var(--spread))}.crosshair .left{right:0;transform:translate(calc(-1 * var(--spread)))}.crosshair .right{left:0;transform:translate(var(--spread))}.hitmarker{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;opacity:0;transition:opacity .25s}.hitmarker.on{opacity:1;transition:none}.hitmarker:before,.hitmarker:after{content:"";position:absolute;left:50%;top:50%;width:24px;height:2px;border-radius:2px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}.hitmarker:after{transform:translate(-50%,-50%) rotate(-45deg)}.hitmarker.kill:before,.hitmarker.kill:after{background:var(--bad)}#hud .prompt{position:absolute;left:0;right:0;top:62%;width:max-content;max-width:80vw;margin:auto;padding:8px 20px 10px;text-align:center;opacity:0;transform:translateY(6px) scale(.96);transition:opacity .12s,transform .3s var(--spring)}#hud .prompt.on{opacity:1;transform:none}.prompt-text{display:block;font-size:19px;font-weight:600;line-height:1.15}.prompt small{display:block;margin-top:2px;font-size:15px;color:var(--ink-2)}.prompt small:empty{display:none}.prompt-hold{display:none;width:150px;height:6px;margin:8px auto 2px;border-radius:9px;overflow:hidden;background:#ffffff1f}.prompt-hold.on{display:block}.prompt-hold i{display:block;height:100%;border-radius:9px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}.banner{position:absolute;left:0;right:0;top:24%;text-align:center;white-space:nowrap;font-size:clamp(44px,7vw,76px);font-weight:700;line-height:1;letter-spacing:-.02em;text-transform:lowercase;text-shadow:0 2px 30px rgba(0,0,0,.45);opacity:0;transition:opacity .9s}.banner.on{opacity:1;transition:opacity .15s;animation:pop-in .6s var(--out) both}.banner .banner-note{display:block;max-width:min(640px,86vw);margin:14px auto 0;font-size:18px;font-weight:500;line-height:1.35;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;text-transform:none;color:var(--ink)}.banner small{display:block;margin-top:10px;font-size:20px;font-weight:500;letter-spacing:0;color:var(--ink-2);text-transform:none}.feed{position:absolute;right:20px;top:20px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.feed-line{padding:3px 12px 4px;border-radius:12px;background:var(--glass-hud);font-size:15px;font-weight:500;transition:opacity 1s;animation:slide-in .3s var(--out) both}.feed-line.fade{opacity:0}body:has(#minimap.on) .feed{top:calc(32px + var(--map))}#minimap{position:fixed;right:20px;top:20px;z-index:5;width:var(--map);height:var(--map);display:none;overflow:hidden;border-radius:var(--r);background:var(--glass-hud);border-color:#ffffff14;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}#minimap.on{display:block;animation:pop-in .5s var(--out) both}#minimap canvas{display:block;width:100%;height:100%}#hud .music{position:absolute;left:0;right:0;top:16px;width:max-content;margin:auto;padding:6px 16px 7px;border-radius:999px;font-size:15px;font-weight:500;opacity:0;transform:translateY(-10px);transition:opacity .4s,transform .45s var(--spring)}#hud .music.on{opacity:1;transform:none}.music b{margin-right:6px;color:var(--mod)}#hud .mic{--level: 0;position:absolute;left:0;right:0;bottom:100px;width:44px;height:44px;margin:auto;display:grid;place-items:center;border-radius:50%;color:var(--good);box-shadow:0 0 0 calc(2px + var(--level) * 7px) #8fe6a938,inset 0 0 0 1px #8fe6a973;opacity:0;transform:scale(.7);transition:opacity .15s,transform .3s var(--spring),box-shadow .08s linear}#hud .mic.on{opacity:1;transform:none}#hud .mic svg{width:22px;height:22px}#hud .slots.empty~.mic{bottom:24px}#death{position:fixed;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(circle,transparent 0,rgba(34,0,0,.53) 70%,rgba(17,0,0,.85) 100%);font:700 clamp(48px,8vw,84px) / 1 var(--font);letter-spacing:-.02em;text-transform:lowercase;text-shadow:0 2px 30px rgba(0,0,0,.65);opacity:0;transition:opacity .4s}#death.on{opacity:1;animation:pop-in .6s var(--out) both}#chat{position:fixed;left:14px;bottom:150px;z-index:6;width:min(460px,60vw);display:flex;flex-direction:column;align-items:flex-start;pointer-events:none;font:500 15px / 1.3 var(--font)}.chat-lines{display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:100%}.chat-line{max-width:100%;padding:3px 11px 4px;border-radius:13px;background:var(--glass-hud);word-break:break-word;transition:opacity 1.2s;animation:rise-in .25s var(--out) both}.chat-line b{font-weight:700}.chat-line.old{opacity:0}#chat.open .chat-line.old{opacity:1}.chat-system{color:var(--mod)}#chat .field{display:none;width:100%;margin-top:8px;pointer-events:auto;background:#0c0d10b8;border-color:#fff3}#chat.open .field{display:flex;animation:rise-in .2s var(--out) both}#chat .field input{font-size:16px;padding:10px 16px}#scoreboard{position:fixed;left:0;right:0;top:16%;z-index:7;width:max-content;max-width:calc(100vw - 32px);max-height:76vh;max-height:76dvh;margin:auto;padding:16px 22px 18px;border-radius:28px;display:none;pointer-events:none;overflow:auto;overscroll-behavior:contain}#scoreboard.on{display:block;pointer-events:auto;animation:rise-in .25s var(--out) both}#scoreboard table{width:max-content;min-width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}#scoreboard th{padding:2px 10px 8px;text-align:right;font-size:13px;font-weight:600;color:var(--ink-3)}#scoreboard td{padding:6px 10px;text-align:right;font-weight:500;border-top:1px solid rgba(255,255,255,.06)}#scoreboard :is(th,td){white-space:nowrap}#scoreboard th:first-child,#scoreboard td:first-child{text-align:left;font-weight:700}#scoreboard td small{font-size:12px;font-weight:600;color:var(--ink-3)}#dev{position:fixed;inset:0;z-index:50;display:none;overflow:auto;padding:24px 28px 80px;background:#090a0c99;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);font:500 15px / 1.3 var(--font);user-select:none}#dev.open{display:block}.dev-head{display:flex;align-items:baseline;gap:14px;margin:0 0 22px 4px;padding-right:120px}.dev-head h1{font-size:36px;font-weight:700;letter-spacing:-.025em;line-height:1;text-transform:lowercase}.dev-close{position:fixed;right:24px;top:20px;z-index:1}.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;align-items:start}.dev-grid>.panel{padding:16px 18px 12px;background:#16171ca8;-webkit-backdrop-filter:none;backdrop-filter:none}#dev.open .dev-grid>.panel{animation:rise-in .35s var(--out) both;animation-delay:calc(var(--i) * 30ms)}.dev-grid h2{margin:0 0 4px 2px;font-size:14px;font-weight:600;color:var(--ink-3);text-transform:lowercase}.dev-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:5px 2px}.dev-row+.dev-row{border-top:1px solid rgba(255,255,255,.05)}.dev-row label{flex:1;font-size:15px;color:var(--ink-2);text-transform:lowercase}.dev-row .button,.dev-buttons .button{min-height:32px;padding:5px 14px 6px;font-size:14px}.dev-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 6px}.switch{position:relative;flex:none;width:48px;height:28px;border-radius:999px;background:#ffffff1f;transition:background .2s}.switch:hover{background:#ffffff2e}.switch:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:999px;background:var(--ink);box-shadow:0 2px 6px #0006;transition:transform .3s var(--spring),background .2s}.switch:active:after{transform:scale(.85)}.switch.on{background:var(--accent)}.switch.on:after{background:#16171b;transform:translate(20px)}.switch.on:active:after{transform:translate(20px) scale(.85)}.slider{flex:none;width:200px;display:flex;align-items:center;gap:10px}.slider input{--fill: 50%;flex:1;min-width:0;height:6px;appearance:none;border-radius:9px;outline:none;cursor:pointer;background:linear-gradient(var(--ink),var(--ink)) 0 0 / var(--fill) 100% no-repeat,#ffffff1f}.slider input::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:var(--ink);box-shadow:0 2px 8px #00000073;transition:transform .25s var(--spring)}.slider input:active::-webkit-slider-thumb{transform:scale(1.2)}.slider input::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:var(--ink)}.slider span{width:46px;text-align:right;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.select{max-width:170px;padding:6px 14px 7px;border:0;border-radius:999px;outline:none;cursor:pointer;background:#ffffff14;font-size:14px;font-weight:500}.select:hover{background:#ffffff21}.select option{background:#1b1c21;color:var(--ink)}.readout{flex:none;max-width:210px;text-align:right;white-space:pre-wrap;font-size:14px;color:var(--good);font-variant-numeric:tabular-nums}#modpanel{position:fixed;left:14px;top:84px;z-index:1000;width:min(370px,70vw);display:none;flex-direction:column;gap:10px;font:500 15px / 1.35 var(--font)}#modpanel.on{display:flex}#modpanel>.panel{padding:12px 16px 14px;animation:slide-in .3s var(--out) both;-webkit-backdrop-filter:none;backdrop-filter:none}#modpanel .panel-head{color:var(--ink-2);font-size:14px;font-weight:600;margin-bottom:4px;text-transform:lowercase}#modpanel .button{flex:1}#modpanel .vote-files{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#modpanel .vote-row{display:flex;gap:8px;margin-top:10px}#modvault{position:fixed;inset:0;z-index:1001;display:none;align-items:center;justify-content:center;background:#08090a80;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);font:500 15px / 1.35 var(--font)}#modvault.on{display:flex}#modvault>.panel{width:min(780px,94vw);max-height:86vh;display:flex;flex-direction:column;gap:12px;padding:22px 22px 20px;border-radius:var(--r-lg);-webkit-backdrop-filter:none;backdrop-filter:none;animation:rise-in .35s var(--out) both}#modvault .list{flex:1}body:has(#modvault.on,#dev.open,#scoreboard.on,#overlay.visible) :is(#modpanel,#touch,#minimap){display:none}.make{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.make-ask{display:flex;gap:10px}.make-ask .field{flex:1}.make-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.make-notice{margin-left:4px;font-size:14px;color:var(--ink-2)}.make .list{flex:1;min-height:0}.card>.vote-buttons{flex:none;display:flex;flex-direction:column;gap:6px}.card.vote .meter{margin:8px 0 4px}.card>.card-rate{flex:none;display:flex;gap:2px}.rate{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--ink-3);transition:background .12s,color .12s,transform .25s var(--spring)}.rate svg{width:16px;height:16px;fill:currentColor}.rate.down svg{transform:rotate(180deg)}.rate:hover{background:var(--tint);color:var(--ink);transform:scale(1.08)}.rate:active{transform:var(--press);transition-duration:.06s}.rate.up.on{color:var(--good);background:#8fe6a91f}.rate.down.on{color:var(--bad);background:#ff7d6e1f}.mod-why{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:#08090a73}.mod-why>.panel{width:min(420px,90vw);display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r-lg);animation:pop-in .3s var(--out) both}.mod-why h2{font-size:20px;font-weight:700;letter-spacing:-.01em}.mod-why textarea{resize:none;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--tint);color:var(--ink);font:500 15px / 1.4 var(--font);outline:none;caret-color:var(--accent)}.mod-why textarea:focus{border-color:var(--line-2)}.mod-why textarea::placeholder{color:var(--ink-3)}.mod-why-buttons{display:flex;justify-content:flex-end;gap:8px}#freeze-frame{position:fixed;inset:0;width:100vw;height:100vh;object-fit:cover;z-index:3000;pointer-events:none;transition:opacity .35s}#freeze-frame.gone{opacity:0}#modtoast{position:fixed;left:50%;top:calc(60px + env(safe-area-inset-top,0px));z-index:3001;display:flex;align-items:center;gap:7px;max-width:min(560px,90vw);padding:6px 16px 7px;border-radius:999px;background:var(--glass-hud);border:1px solid rgba(255,255,255,.08);font:500 15px / 1.3 var(--font);color:var(--ink);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-10px);transition:opacity .4s,transform .45s var(--spring)}#modtoast.on{opacity:1;transform:translate(-50%)}#modtoast b{color:var(--mod);font-weight:700;text-transform:lowercase}#modtoast.done b{color:var(--good)}#modtoast span{overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}#modtoast.busy:before{margin-right:2px;background:var(--mod)}#touch{display:none}@media(pointer:coarse){:root{--sl: env(safe-area-inset-left, 0px);--sr: env(safe-area-inset-right, 0px);--sb: env(safe-area-inset-bottom, 0px);--st: env(safe-area-inset-top, 0px)}.keys,#controls{display:none}#overlay{display:flex;overflow-y:auto;touch-action:pan-y}#title{margin:auto;padding:22px 20px 18px}#wordmark{font-size:clamp(40px,12vh,72px)}input{font-size:16px}#touch{position:fixed;inset:0;z-index:4;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#touch.on{display:block}body:has(#chat.open) #touch{display:none}#hud .slots{top:calc(8px + var(--st));bottom:auto;--slot: 34px;--gap: 4px;pointer-events:auto}.slot{font-size:10px}.slot img{width:30px;height:30px}.slot-number,.slot-count{font-size:10px}#hud .music{top:calc(60px + var(--st));font-size:12px}#hud .mic,#hud .slots.empty~.mic{bottom:calc(52px + var(--sb));width:36px;height:36px}#hud .mic svg{width:18px;height:18px}#hud .ammo{right:0;left:0;bottom:calc(10px + var(--sb));margin:auto;width:max-content;align-items:center;padding:3px 12px 4px}.ammo-name{font-size:11px}.ammo-cur{font-size:24px}.ammo-reserve{font-size:13px}#hud .prompt-text{font-size:15px}.banner{font-size:clamp(26px,5vw,40px)}.banner small{font-size:14px}.feed{top:calc(60px + var(--st));right:calc(14px + var(--sr))}:root{--map: 96px}#minimap{top:calc(8px + var(--st));right:calc(14px + var(--sr));border-radius:16px}body:has(#minimap.on) .feed{top:calc(16px + var(--map) + var(--st))}.feed-line{font-size:12px;padding:2px 9px 3px}#modpanel{top:calc(48px + var(--st));left:calc(14px + var(--sl));width:min(280px,38vw);max-height:calc(55% - 48px - var(--st));overflow:hidden;gap:6px;font-size:12px;pointer-events:none}#modpanel>.panel{padding:7px 10px 9px}#modpanel .panel-head{font-size:11px;margin-bottom:2px}#modpanel .button{min-height:34px;padding:3px 8px;font-size:13px;pointer-events:auto}#modpanel:has(>.vote:not(.hidden)){max-height:calc(100% - 60px - var(--st) - var(--sb))}#modpanel:has(>.vote:not(.hidden))>.panel:not(.vote){display:none}#modpanel .vote-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}#modpanel .vote-files{display:none}#modpanel .vote-tally{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#modpanel .meter{margin:6px 0 4px}#modpanel .vote-row{margin-top:6px}#chat{top:auto;bottom:calc(16px + var(--sb));left:calc(14px + var(--sl));width:min(300px,36vw);max-height:40%;overflow:hidden;justify-content:flex-end;font-size:12px}#chat.open{top:calc(48px + var(--st));bottom:auto;max-height:calc(100% - 64px - var(--st))}body:has(#chat.open) #modpanel{display:none}.chat-line{padding:2px 8px 3px}#scoreboard{top:8%;max-height:84%;overflow:auto}#modvault{padding:calc(6px + var(--st)) calc(8px + var(--sr)) calc(6px + var(--sb)) calc(8px + var(--sl))}#modvault>.panel{width:100%;height:100%;max-height:100%;overflow:hidden;padding:10px 14px 12px;gap:8px;font-size:14px}#modvault>.panel>*{flex:none}#modvault>.panel>.make,#modvault>.panel>.list{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain}#modvault .make .list{flex:none;overflow:visible}#modvault .panel-head h2{font-size:20px}#modvault .panel-head .sub{display:none}#modvault .panel-head .dim{font-size:12px}#modvault .tabs{overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}#modvault .tabs::-webkit-scrollbar{display:none}#modvault .tab{flex:none;white-space:nowrap;padding:7px 14px;font-size:14px}#modvault .make,#modvault .make-ask{gap:8px}#modvault .button{min-height:38px;padding:4px 14px;font-size:14px}#modvault .card{padding:9px 12px;border-radius:14px}#modvault .card-title{font-size:14px}#modvault .card-detail{font-size:12px}#modvault .empty{padding:10px;font-size:13px}#modvault.kb{padding:4px calc(8px + var(--sr)) 4px calc(8px + var(--sl))}#modvault.kb>.panel{padding:8px 12px}#modvault.kb .panel-head{display:none}.t-base{position:absolute;left:0;top:0;width:0;height:0;display:none}.t-base.on{display:block}.t-base:before,.t-knob{content:"";position:absolute;border-radius:50%;border:1px solid var(--line-2)}.t-base:before{left:-56px;top:-56px;width:112px;height:112px;background:#ffffff0d}.t-knob{left:-24px;top:-24px;width:48px;height:48px;background:#ffffff38}.t-btn{position:absolute;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;border:1px solid var(--line-2);background:var(--glass-hud);color:var(--ink);font-size:13px;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .1s var(--out),background .1s}.t-btn[hidden]{display:none}.t-btn.held{background:var(--ink);color:var(--ink-dark);transform:scale(.92)}.t-btn.jump{right:calc(28px + var(--sr));bottom:calc(28px + var(--sb));width:84px;height:84px;font-size:16px}.t-btn.aim{right:calc(128px + var(--sr));bottom:calc(44px + var(--sb));width:56px;height:56px}.t-btn.reload{right:calc(48px + var(--sr));bottom:calc(128px + var(--sb));width:52px;height:52px}.t-pad{position:absolute;right:calc(28px + var(--sr));bottom:calc(28px + var(--sb));display:flex;flex-direction:column-reverse;align-items:center;gap:16px}.t-pad .t-btn{position:static}.t-btn.use{width:84px;height:84px;font-size:16px}.t-btn.leave{width:auto;height:36px;padding:0 14px;border-radius:999px}#hud [data-key]{pointer-events:auto}#hud kbd[data-key]{min-width:36px;padding:6px 10px 7px}#hud .prompt small{display:none}.t-top{position:absolute;left:calc(12px + var(--sl));top:calc(8px + var(--st));display:flex;gap:6px}.t-btn.small{position:static;width:auto;height:28px;padding:0 10px;border-radius:999px;font-size:12px}.t-rotate{display:none}}@media(pointer:coarse)and (orientation:portrait){.t-rotate{position:absolute;inset:0;display:grid;place-items:center;background:#08090ae0;font-size:22px;font-weight:600;color:var(--ink-2)}}#invite,#account{min-height:30px;padding:4px 14px;font-size:14px;font-weight:500;color:var(--ink-2)}#invite{color:var(--accent)}#invite.copied{color:var(--good)}#accountbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--ink);z-index:1002;display:none;align-items:center;justify-content:center;background:#08090a80;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);font:500 15px / 1.4 var(--font)}#accountbox.on{display:flex}#accountbox::backdrop{background:transparent}#accountbox>.panel{width:min(440px,92vw);display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:var(--r-lg);-webkit-backdrop-filter:none;backdrop-filter:none;animation:rise-in .35s var(--out) both}#accountbox>.panel>.list{margin-inline:-20px;padding-inline:20px}.account-credits{display:flex;align-items:baseline;gap:10px}.account-credits b{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.account-shop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;container-type:inline-size}.account-shop:empty{display:none}.account-shop .button{position:relative;overflow:hidden;flex-direction:column;gap:3px;min-height:0;padding:9px 2px 8px;border-radius:14px}.account-shop .button b{font-size:clamp(14px,4.8cqi,18px);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.account-shop .button .sub{font-size:clamp(11px,3.4cqi,13px);font-weight:500;white-space:normal}.account-shop .button.tier1{border-color:#ffd36e33;background:#ffd36e0d}.account-shop .button.tier1:hover{border-color:#ffd36e59;background:#ffd36e1a}.account-shop .button.tier1 b{color:#ffd36ee6}.account-shop .button.tier2{border-color:#ffc46e61;background:linear-gradient(160deg,#ffd36e21,#ff80500f);box-shadow:0 0 14px -7px #ffaa5080}.account-shop .button.tier2:hover{border-color:#ffd36e8c;background:linear-gradient(160deg,#ffd36e33,#ff80501a)}.account-shop .button.tier2 b{background:linear-gradient(180deg,#ffeab0,var(--accent) 60%,#ffbe7a);-webkit-background-clip:text;background-clip:text;color:transparent}.account-shop .button.tier2 .sub{color:#ffe4aabf}@property --pack-spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.account-shop .button.tier3{border:1px solid transparent;background:radial-gradient(120% 100% at 50% 0%,rgba(255,126,182,.12),transparent 70%) padding-box,linear-gradient(#16111cdb,#16111cdb) padding-box,conic-gradient(from var(--pack-spin),rgba(255,211,110,.75),rgba(255,126,182,.75),rgba(188,170,255,.75),rgba(140,200,255,.75),rgba(143,230,169,.75),rgba(255,211,110,.75)) border-box;box-shadow:0 0 12px -6px #ff7eb666,0 0 22px -12px #bcaaff80;animation:pack-spin 7s linear infinite,pack-glow 3s ease-in-out infinite alternate}.account-shop .button.tier3:hover{filter:brightness(1.08)}.account-shop .button.tier3 b{background:linear-gradient(90deg,var(--accent),#ffb3d6,#d6caff,#b3e3ff,var(--accent)) 0 0 / 200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pack-ink 6s linear infinite}.account-shop .button.tier3 .sub{color:#f0e4ffcc}.account-shop .button.tier3:before{content:"✦";position:absolute;top:3px;right:6px;font-size:8px;line-height:1;color:#fff;text-shadow:0 0 4px rgba(255,158,203,.6);animation:pack-twinkle 3.2s ease-in-out infinite}@container (width < 320px){.account-shop .button.tier3:before{top:2px;right:3px;font-size:7px}}.account-shop .button.tier2:after,.account-shop .button.tier3:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translate(-110%);animation:pack-glint 7s var(--out) infinite}.account-shop .button.tier3:after{animation-duration:5s;animation-delay:1s}@keyframes pack-spin{to{--pack-spin: 360deg}}@keyframes pack-glow{0%{box-shadow:0 0 12px -6px #ff7eb652,0 0 22px -12px #bcaaff66}to{box-shadow:0 0 16px -5px #ff7eb673,0 0 28px -10px #bcaaff8c}}@keyframes pack-ink{to{background-position:-200% 0}}@keyframes pack-twinkle{0%,to{opacity:.15;transform:scale(.7) rotate(0)}50%{opacity:.6;transform:scale(1) rotate(90deg)}}@keyframes pack-glint{0%,70%{transform:translate(-110%)}to{transform:translate(110%)}}@media(prefers-reduced-motion:reduce){.account-shop .button,.account-shop .button b,.account-shop .button:before,.account-shop .button:after{animation:none}}.account-fine{margin:-6px 0 0;font-size:9px;color:var(--ink-3);opacity:.6}.account-legal{display:flex;gap:8px}.account-legal a{color:inherit;text-decoration:none}.account-legal a:hover{text-decoration:underline}.account-row{display:flex;gap:8px}.account-rate{margin:-6px 0 0;font-size:12px;color:var(--ink-3)}.account-byok{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:-4px;font-size:12px;color:var(--ink-3)}.account-byok .account-row{flex:1 1 100%}.account-byok .account-fine{margin:0}.account-link{padding:0;border:0;background:none;font:inherit;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.account-link:hover{color:var(--ink)}.account-link:disabled{opacity:.5;cursor:default}.account-row .field{flex:1}.account-or{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-3)}.account-or:before,.account-or:after{content:"";flex:1;height:1px;background:var(--line)}.account-note{font-size:14px;color:var(--ink-2)}.account-note.bad{color:var(--bad)}.account-note:empty{display:none}.account-tabs{align-self:flex-start;padding:3px;border-radius:999px;background:var(--tint)}.account-form{display:flex;flex-direction:column;gap:10px}.account-form .button{margin-top:2px}.button.account-link{align-self:center;border-color:transparent;background:none;color:var(--ink-3)}.button.account-link:hover{background:var(--tint);color:var(--ink)}.make-account{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:var(--ink-2)}.make-account b{color:var(--ink)}@media(pointer:coarse){#accountbox{overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));box-sizing:border-box}#accountbox>.panel{margin:auto;padding:20px;max-height:none;flex-shrink:0}}
