:root{--ink:#f4efe4;--muted:#f4efe4a8;--accent:#f2c14e;--accent-2:#d9534f;--blue:#2c5aa0;--glass:#10141c85;--glass-brd:#ffffff1f;--shadow:0 12px 40px #00000059}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);user-select:none;background:#0b0d12;margin:0;font-family:Manrope,system-ui,sans-serif;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.glass{background:var(--glass);border:1px solid var(--glass-brd);-webkit-backdrop-filter:blur(14px)saturate(1.3);box-shadow:var(--shadow);border-radius:14px}#hud{pointer-events:none;position:fixed;inset:0}#crosshair{mix-blend-mode:difference;width:22px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair:before,#crosshair:after{content:"";background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair:before{width:2px;height:20px}#crosshair:after{width:20px;height:2px}#info{min-width:260px;padding:14px 18px;position:absolute;top:18px;left:18px}#district{letter-spacing:.02em;font-family:Unbounded,sans-serif;font-size:22px;font-weight:800}#place{color:var(--accent);min-height:18px;margin-top:2px;font-size:13px;font-weight:600}#info .row{color:var(--muted);font-variant-numeric:tabular-nums;gap:14px;margin-top:8px;font-size:13px;display:flex}#clock{color:var(--ink);font-weight:800}#fps{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}#hotbar{border:1px solid var(--glass-brd);backdrop-filter:blur(10px);background:#0a0c1280;border-radius:16px;gap:6px;padding:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.slot{background:#ffffff0f;border:2px solid #0000;border-radius:10px;place-items:center;width:58px;height:58px;transition:transform .12s,border-color .12s;display:grid;position:relative}.slot img{width:44px;height:44px;image-rendering:pixelated;filter:drop-shadow(0 3px 3px #0006)}.slot .k{color:var(--muted);font-size:10px;font-weight:800;position:absolute;top:3px;left:6px}.slot.sel{border-color:var(--accent);background:#f2c14e29;transform:translateY(-4px)}#blockname{text-shadow:0 2px 8px #000000b3;opacity:0;font-size:15px;font-weight:800;transition:opacity .3s;position:absolute;bottom:104px;left:50%;transform:translate(-50%)}#blockname.show{opacity:1}#toast{text-align:center;border-top:3px solid var(--accent);padding:14px 26px;transition:transform .5s cubic-bezier(.2,.9,.3,1.2);position:absolute;top:18px;left:50%;transform:translate(-50%,-140%)}#toast.show{transform:translate(-50%)}#toast .eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:800}#toast-title{margin-top:4px;font-family:Unbounded,sans-serif;font-size:20px;font-weight:800}#toast-sub{color:var(--muted);margin-top:2px;font-size:13px}#help{color:var(--muted);max-width:380px;padding:10px 14px;font-size:12px;line-height:1.6;position:absolute;bottom:22px;right:18px}#help b{color:var(--ink)}#water-tint{pointer-events:none;opacity:0;background:radial-gradient(#14506e59,#051e32bf);transition:opacity .2s;position:fixed;inset:0}#water-tint.on{opacity:1}#title{background:radial-gradient(at 50% 120%,#000000bf,#0000 60%),linear-gradient(#060a1440,#060a1499);place-items:center;transition:opacity .8s;display:grid;position:fixed;inset:0}#title.gone{opacity:0;pointer-events:none}.title-inner{text-align:center;max-width:900px;padding:24px}.studio{letter-spacing:.4em;text-transform:uppercase;color:var(--muted);font-size:11px}h1{letter-spacing:.02em;background:linear-gradient(#fff6df 10%,#f2c14e 60%,#c9792c 100%);color:#0000;filter:drop-shadow(0 8px 30px #f2c14e40);-webkit-background-clip:text;background-clip:text;margin:10px 0 0;padding:0 .12em;font-family:Unbounded,sans-serif;font-size:clamp(64px,12vw,148px);font-weight:800;line-height:.95;display:inline-block}.subtitle{letter-spacing:.3em;text-transform:uppercase;margin-top:10px;font-family:Unbounded,sans-serif;font-size:18px;font-weight:500}.subtitle:before,.subtitle:after{content:"";vertical-align:middle;background:linear-gradient(90deg, var(--blue) 33%, var(--accent) 33% 66%, var(--accent-2) 66%);width:26px;height:3px;margin:0 12px;display:inline-block}#loadwrap{width:min(380px,80vw);margin:38px auto 18px}#loadbar{background:#ffffff1f;border-radius:99px;height:6px;overflow:hidden}#loadfill{background:linear-gradient(90deg, var(--blue), var(--accent), var(--accent-2));width:0%;height:100%;transition:width .25s}#loadtext{color:var(--muted);letter-spacing:.06em;margin-top:8px;font-size:12px}.btn{letter-spacing:.08em;cursor:pointer;color:#1b1408;background:linear-gradient(#ffd978,#f2b23c);border:0;border-radius:999px;padding:16px 48px;font-family:Unbounded,sans-serif;font-size:18px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .3s;box-shadow:0 10px 30px #f2b23c59,inset 0 -3px #00000026}.btn:hover:not(:disabled){transform:translateY(-2px)scale(1.02)}.btn:disabled{opacity:.35;cursor:default}.title-foot{max-width:600px;color:var(--muted);margin-top:28px;margin-left:auto;margin-right:auto;font-size:13px;line-height:1.6}.overlay{background:#05080e73;place-items:center;display:none;position:fixed;inset:0}.overlay.open{display:grid}.panel{width:min(420px,92vw);padding:26px 30px}.panel.wide{width:min(880px,94vw)}.panel h2{margin:0 0 16px;font-family:Unbounded,sans-serif;font-size:26px}.panel label{color:var(--muted);margin:12px 0;font-size:13px;font-weight:600;display:block}.panel output{float:right;color:var(--ink);font-variant-numeric:tabular-nums}.panel input[type=range]{width:100%;accent-color:var(--accent);margin-top:6px}.toggles{grid-template-columns:1fr 1fr;gap:2px 12px;margin:8px 0 18px;display:grid}.toggles label{color:var(--ink);margin:6px 0}.toggles input{accent-color:var(--accent)}.panel .btn{width:100%}.hint{color:var(--muted);margin:-8px 0 14px;font-size:13px}#invgrid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:60vh;padding-right:4px;display:grid;overflow:auto}.cell{color:var(--ink);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;justify-items:center;gap:4px;padding:8px 4px;font:600 10px Manrope,sans-serif;transition:background .12s,transform .12s;display:grid}.cell:hover{background:#f2c14e2e;transform:translateY(-2px)}.cell img{width:44px;height:44px;image-rendering:pixelated}#minimap{width:200px;height:200px;box-shadow:var(--shadow);border:2px solid #ffffff40;border-radius:50%;position:absolute;top:18px;right:18px}#vitals{min-width:280px;padding:12px 16px;position:absolute;bottom:22px;left:18px}.hp-row{align-items:center;gap:10px;font-weight:800;display:flex}.hp-row .lbl{color:var(--accent-2);font-family:Unbounded,sans-serif;font-size:13px}#hpbar{background:#ffffff1a;border-radius:99px;flex:1;height:12px;overflow:hidden}#hpfill{background:linear-gradient(90deg,#d9534f,#f2c14e);width:100%;height:100%;transition:width .2s}#hpnum{text-align:right;font-variant-numeric:tabular-nums;width:32px}.stats-row{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.stats-row b{color:var(--ink)}#ammo{text-align:right;padding:12px 18px;position:absolute;bottom:96px;right:18px}#wname{color:var(--accent);letter-spacing:.04em;font-size:12px;font-weight:800}#ammonum{font-variant-numeric:tabular-nums;font-family:Unbounded,sans-serif;font-size:28px;font-weight:800}#mode{color:var(--muted);font-size:11px}#weaponbar{border:1px solid var(--glass-brd);backdrop-filter:blur(10px);background:#0a0c1280;border-radius:16px;gap:6px;padding:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.wslot{text-align:center;min-width:96px;color:var(--muted);background:#ffffff0f;border:2px solid #0000;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700}.wslot .k{color:var(--ink);font-family:Unbounded,sans-serif;font-size:14px;display:block}.wslot.sel{border-color:var(--accent-2);color:var(--ink);background:#d9534f2e;transform:translateY(-4px)}#hitmarker{opacity:0;width:26px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}#hitmarker:before,#hitmarker:after{content:"";clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,100% 0,100% 100%,65% 100%,65% 0);background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#hitmarker:before{clip-path:inset(0);background:linear-gradient(#fff 0 35%,#0000 35% 65%,#fff 65%);width:3px;height:26px}#hitmarker:after{clip-path:inset(0);background:linear-gradient(90deg,#fff 0 35%,#0000 35% 65%,#fff 65%);width:26px;height:3px}#hitmarker.head:before,#hitmarker.head:after{filter:drop-shadow(0 0 3px #ff3b30)hue-rotate(-30deg);background-color:#0000}#hitmarker.head:before{background:linear-gradient(#ff3b30 0 35%,#0000 35% 65%,#ff3b30 65%)}#hitmarker.head:after{background:linear-gradient(90deg,#ff3b30 0 35%,#0000 35% 65%,#ff3b30 65%)}#dmg{pointer-events:none;opacity:0;background:radial-gradient(#0000 45%,#c81414a6);position:fixed;inset:0}.map-panel{width:min(1200px,96vw)}.map-panel h2{justify-content:space-between;align-items:baseline;display:flex}.hint-inline{color:var(--muted);font:600 12px Manrope,sans-serif}#mapfull{border-radius:10px;width:100%;height:min(72vh,820px);display:block}.death-panel{text-align:center;border-top:3px solid var(--accent-2)}.death-panel h2{color:var(--accent-2);font-size:40px}#district{transition:color .4s}#info{top:18px}.panel select{width:100%;color:var(--ink);border:1px solid var(--glass-brd);background:#ffffff14;border-radius:8px;margin-top:6px;padding:8px 10px;font:600 13px Manrope,sans-serif}.panel select option{background:#1a1e26}.close{float:right;width:34px;height:34px;color:var(--ink);cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;font-size:16px}.map-panel h2 .close{float:none}body.touch,body.touch *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body.touch{touch-action:none;overscroll-behavior:none}#touch{z-index:5;touch-action:none;display:none;position:fixed;inset:0}body.touch.playing #touch{display:block}#look-zone{position:absolute;inset:0 0 0 42%}#joy-zone{width:42%;position:absolute;top:25%;bottom:0;left:0}#joy-base{opacity:0;pointer-events:none;background:#ffffff14;border:2px solid #ffffff47;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;transition:opacity .12s;position:absolute}#joy-base.on{opacity:1}#joy-knob{background:#ffffff8c;border-radius:50%;width:56px;height:56px;position:absolute;top:50%;left:50%;box-shadow:0 4px 16px #0006}.tbtn{color:#fff;backdrop-filter:blur(6px);touch-action:none;user-select:none;background:#0e121a73;border:2px solid #ffffff38;border-radius:50%;place-items:center;width:54px;height:54px;transition:transform 80ms,background 80ms;display:grid;position:absolute}.tbtn svg{width:26px;height:26px}.tbtn.on{background:#f2c14e73;transform:scale(.92)}#btn-fire{right:calc(28px + env(safe-area-inset-right));bottom:calc(70px + env(safe-area-inset-bottom));background:#d9534f73;border-color:#ff8c8299;width:88px;height:88px}#btn-fire svg{width:40px;height:40px}#btn-jump{right:calc(132px + env(safe-area-inset-right));bottom:calc(40px + env(safe-area-inset-bottom));width:66px;height:66px}#btn-down{right:calc(122px + env(safe-area-inset-right));bottom:calc(194px + env(safe-area-inset-bottom));display:none}#btn-place{right:calc(40px + env(safe-area-inset-right));bottom:calc(176px + env(safe-area-inset-bottom));background:#2c5aa080;width:66px;height:66px;display:none}#btn-reload{right:calc(122px + env(safe-area-inset-right));bottom:calc(126px + env(safe-area-inset-bottom))}#btn-weapon{right:calc(40px + env(safe-area-inset-right));bottom:calc(176px + env(safe-area-inset-bottom))}#btn-mode{right:calc(196px + env(safe-area-inset-right));bottom:calc(118px + env(safe-area-inset-bottom))}#btn-fly{right:calc(206px + env(safe-area-inset-right));bottom:calc(40px + env(safe-area-inset-bottom))}#btn-inv{right:calc(196px + env(safe-area-inset-right));bottom:calc(190px + env(safe-area-inset-bottom));display:none}#btn-map,#btn-menu{top:calc(10px + env(safe-area-inset-top));width:44px;height:44px}#btn-map{margin-left:4px;left:50%}#btn-menu{margin-left:-48px;left:50%}#btn-map svg,#btn-menu svg{width:20px;height:20px}#touch.build #btn-place,#touch.build #btn-inv,#touch.flying #btn-down{display:grid}#touch.build #btn-reload,#touch.build #btn-weapon,body.touch #help,body.touch #crosshair:before{display:none}body.touch #crosshair:after{border-radius:50%;width:6px;height:6px}body.touch #info{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));min-width:0;max-width:34vw;padding:8px 12px}body.touch #district{font-size:16px}body.touch #place{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}body.touch #info .row{margin-top:4px;font-size:11px}body.touch #fps{display:none}body.touch #minimap{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));width:124px;height:124px}body.touch #vitals{left:calc(8px + env(safe-area-inset-left));top:calc(84px + env(safe-area-inset-top));width:min(34vw,220px);min-width:0;padding:6px 10px;bottom:auto}body.touch .stats-row{margin-top:4px;font-size:10px}body.touch #ammo{top:calc(8px + env(safe-area-inset-top));right:calc(140px + env(safe-area-inset-right));padding:6px 12px;bottom:auto}body.touch #ammonum{font-size:18px}body.touch #mode{display:none}body.touch #hotbar,body.touch #weaponbar{bottom:calc(6px + env(safe-area-inset-bottom));z-index:6;gap:3px;padding:4px}body.touch .slot{width:36px;height:36px}body.touch .slot img{width:28px;height:28px}body.touch .slot .k{display:none}body.touch .wslot{min-width:0;padding:4px 8px;font-size:9px}body.touch .wslot .k{font-size:11px}body.touch #toast{top:calc(60px + env(safe-area-inset-top));max-width:40vw;padding:6px 14px}body.touch #toast-title{font-size:15px}body.touch #blockname{bottom:56px}body.touch .panel{max-height:92vh;padding:16px 18px;overflow:auto}body.touch .panel h2{margin-bottom:8px;font-size:20px}body.touch #mapfull{height:70vh}body.touch #invgrid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));max-height:64vh}body.touch .title-inner{padding:12px}body.touch h1{font-size:clamp(48px,14vh,110px)}body.touch #loadwrap{margin:18px auto 12px}body.touch .title-foot{margin-top:14px;font-size:11px}#rotate{z-index:50;text-align:center;background:#0b0d12;align-content:center;place-items:center;gap:10px;font-family:Unbounded,sans-serif;font-size:20px;font-weight:800;display:none;position:fixed;inset:0}#rotate small{color:var(--muted);font:600 12px Manrope,sans-serif}.rot-icon{border:4px solid var(--accent);border-radius:10px;width:46px;height:78px;margin:0 auto 12px;animation:2s ease-in-out infinite rot}@keyframes rot{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait){body.touch #rotate{display:grid}}body.touch #hotbar,body.touch #weaponbar{pointer-events:auto}@media (height<=420px){body.touch .tbtn{transform-origin:100% 100%;transform:scale(.88)}body.touch .tbtn.on{transform:scale(.8)}body.touch #btn-map,body.touch #btn-menu{transform-origin:top}}.author{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:18px;font-size:12px}.author b{color:var(--accent);font-weight:800}body.touch .author{margin-top:8px;font-size:10px}.btn.ghost{color:var(--ink);border:1px solid var(--glass-brd);box-shadow:none;background:#ffffff14;margin:14px auto 0;padding:10px 26px;font-size:13px;display:block}#about{z-index:20}.about-panel{border-top:3px solid var(--accent);user-select:text;width:min(620px,92vw);max-height:86vh;overflow:auto}.about-panel h2{justify-content:space-between;align-items:center;display:flex}.about-panel p{margin:0 0 12px;font-size:15px;line-height:1.65}.about-panel b{color:var(--accent)}.about-panel .sign{text-align:right;color:var(--muted);font-family:Unbounded,sans-serif;font-weight:500}body.touch .about-panel p{font-size:13px;line-height:1.5}body.touch .btn.ghost{margin-top:8px;padding:7px 18px}
