@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--paper:#f1eddf;--ink:#223d8e;--red:#c8493a;--muted:#657093;--border:#273f8d;--hand:"Barlow Condensed","Arial Narrow",sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{touch-action:none}button:disabled{opacity:.5;cursor:wait}#scene,canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.paper-grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23543' opacity='.4' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}#loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--paper);z-index:100;font:700 28px var(--hand)}.hidden{display:none!important}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}#menu{background:linear-gradient(90deg,#f1eddf 0%,#f1eddfed 30%,#f1eddf30 66%,transparent 100%)}.back,.edition{position:absolute;top:32px;font-size:11px;font-weight:700;letter-spacing:1.5px}.back{left:48px;color:var(--ink);text-decoration:none}.edition{right:42px}.menu-copy{position:absolute;left:7%;top:17%;width:410px;max-width:46vw}.eyebrow{display:block;font:700 11px DM Sans,sans-serif;letter-spacing:1.5px}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:6px}h1{font:900 clamp(75px,9vw,142px)/.83 var(--hand);letter-spacing:-4px;margin:24px 0 12px;position:relative;width:-moz-max-content;width:max-content}h1 span,.brand span{color:var(--red)}h1 svg{position:absolute;left:0;bottom:-21px;width:100%;height:24px;fill:none;stroke:var(--red);stroke-width:2.8}h2{font:800 52px/.96 var(--hand);letter-spacing:-1px;margin:18px 0}.tagline{font:600 34px var(--hand);margin:26px 0 6px}.intro{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 27px}.mode-label{font-size:9px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.mode-card{width:100%;display:flex;align-items:center;gap:15px;border:1.5px solid var(--ink);background:#f7f4e9e8;padding:17px 19px;margin:10px 0;box-shadow:3px 3px #223d8e15;text-align:left;transition:transform .15s}.mode-card:hover{transform:translate(3px,-2px)}.mode-card.primary{color:var(--paper);background:var(--ink);box-shadow:4px 4px #c8493a55}.mode-icon{font:34px var(--hand)}.mode-card strong{font:700 23px var(--hand);letter-spacing:.5px}.mode-card small{display:block;font-size:10px;opacity:.8;margin-top:4px}.mode-card b{margin-left:auto;font-size:25px}.menu-links{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;font-size:8px;letter-spacing:.5px}.menu-links button{background:none;border:0;padding:8px 0;font-size:9px;font-weight:700}.map-stamp{position:absolute;right:5%;bottom:13%;padding:18px 28px;border:1px solid var(--ink);transform:rotate(-4deg);background:#f4efdfcf}.map-stamp span,.map-stamp small{display:block;font-size:9px;letter-spacing:1px}.map-stamp strong{display:block;font:800 35px var(--hand);margin:6px 0}.menu-footer{position:absolute;bottom:25px;left:48px;right:42px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.menu-footer b{color:var(--red);margin:0 12px}.dialog-wrap{display:grid;place-items:center;padding:20px;background:#e4dfce99;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.paper-dialog{position:relative;background:var(--paper);border:2px solid var(--ink);box-shadow:8px 8px #223d8e30;padding:36px;width:min(450px,100%);max-height:95dvh;overflow:auto;touch-action:pan-y}.paper-dialog p{font-size:13px;line-height:1.7;color:var(--muted)}.close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:30px;min-width:36px;min-height:36px}.solid,.outline{display:block;width:100%;min-height:48px;border:1.5px solid var(--ink);font:700 19px var(--hand);letter-spacing:.7px;padding:12px;margin:12px 0}.solid{background:var(--ink);color:var(--paper)}.outline{background:transparent}.text-button{display:block;margin:20px auto 0;background:none;border:0;font-size:11px;font-weight:700;min-height:36px}.room-actions>span{display:block;text-align:center;font-size:9px;margin:22px 0 16px}.room-actions label{font-size:10px;font-weight:700}.join-row{display:flex;align-items:center;gap:10px}.join-row input{width:65%;height:48px;letter-spacing:5px;border:1px solid var(--ink);background:#fffcf1;padding:10px;font-size:23px}.join-row button{width:35%}#room-code{font:700 46px var(--hand);letter-spacing:8px;border:1px dashed var(--red);padding:12px;text-align:center}.network-note{font-size:10px;line-height:1.7;display:block;color:var(--muted)}.setting{display:flex;justify-content:space-between;align-items:center;font-size:13px;min-height:42px;gap:20px}.setting input{accent-color:var(--ink)}.setting input[type=range]{width:130px;touch-action:pan-x}.control-guide{border-top:1px solid #223d8e33;padding-top:12px}.control-guide b{font-size:10px;letter-spacing:1px}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.hud-top{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start}.brand{font:900 32px/.9 var(--hand);letter-spacing:-1px}.brand small{display:block;font:600 8px DM Sans,sans-serif;letter-spacing:1.6px;margin-top:7px}.match-info{text-align:center;background:#f1eddfdd;border-bottom:2px solid var(--ink);padding:8px 24px}.match-info span{font-size:8px;font-weight:700;letter-spacing:2px;display:block}.match-info strong{display:block;font:700 26px var(--hand)}.match-info small{font-size:9px}.hud-top button{pointer-events:auto;border:1px solid var(--ink);background:#f1eddfe8;width:44px;height:44px;font-size:20px}.hud-bottom{position:absolute;left:30px;right:30px;bottom:36px;display:flex;justify-content:space-between;align-items:flex-end}.health-card,.ammo-card{background:#f1eddfdf;padding:12px 16px;min-width:150px;border-left:3px solid var(--ink)}.ammo-card{text-align:right;border:0;border-right:3px solid var(--ink)}.hud-bottom small{font-size:9px;font-weight:700;letter-spacing:1.8px;display:block}.hud-bottom strong{font:700 44px var(--hand);display:block;line-height:1.15}.hud-bottom em{font-size:19px;font-style:normal;opacity:.7}.health-track{width:125px;height:8px;border:1px solid var(--ink);padding:1px}.health-track div{height:100%;background:repeating-linear-gradient(125deg,var(--ink) 0 2px,transparent 2px 4px);width:100%}#shield,#reload-label{display:block;font-size:9px;min-height:12px;margin-top:5px}#shield{color:var(--red)}#desktop-hint{position:absolute;bottom:16px;width:100%;text-align:center;font-size:8px;letter-spacing:1px;opacity:.65}#crosshair{--s:0px;position:absolute;top:50%;left:50%;width:0;height:0}#crosshair i{position:absolute;background:var(--ink);box-shadow:0 0 0 1.5px #f1eddfd9;border-radius:1px;transition:background .08s}#crosshair i:nth-child(1),#crosshair i:nth-child(2){width:8px;height:2px;top:-1px}#crosshair i:nth-child(1){right:calc(4px + var(--s))}#crosshair i:nth-child(2){left:calc(4px + var(--s))}#crosshair i:nth-child(3),#crosshair i:nth-child(4){width:2px;height:8px;left:-1px}#crosshair i:nth-child(3){bottom:calc(4px + var(--s))}#crosshair i:nth-child(4){top:calc(4px + var(--s))}#crosshair b{position:absolute;left:-1.5px;top:-1.5px;width:3px;height:3px;background:var(--red);border-radius:50%;box-shadow:0 0 0 1.5px #f1eddfd9}#crosshair.on-target i{background:var(--red)}#hit-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:40px var(--hand);color:var(--red);opacity:0;text-shadow:0 0 3px var(--paper)}#hit-marker.head{font-size:58px;color:#e2261c}#damage{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 100px #c8493a;opacity:0}#announcement{position:absolute;top:24%;width:100%;text-align:center;font:700 28px var(--hand);text-shadow:2px 2px var(--paper);color:var(--red)}#mobile-controls{display:none}.touch-device #mobile-controls{display:block}.touch-device #desktop-hint{display:none}#move-zone,#look-zone{position:absolute;pointer-events:auto;touch-action:none;bottom:0;height:72%;width:45%}#move-zone{left:0}#look-zone{right:0;width:55%}#stick{position:absolute;left:60px;bottom:55px;width:112px;height:112px;border:2px solid #223d8e55;background:#f1eddf44;border-radius:50%;display:grid;place-items:center}#stick-knob{width:47px;height:47px;background:#223d8e77;border:2px solid #f1eddf99;border-radius:50%;pointer-events:none}.touch-button{pointer-events:auto;position:absolute;border:2px solid #223d8e66;color:var(--ink);background:#f1eddf88;border-radius:50%;width:56px;height:56px;font:700 29px/.8 var(--hand);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.touch-button small{font:700 8px DM Sans,sans-serif;letter-spacing:.5px}.touch-button.pressed,.touch-button.selected{background:#223d8ebf;color:#f1eddf;border-color:var(--ink)}.fire{right:94px;bottom:107px;width:88px;height:88px;border-color:var(--red);background:#c8493a1f;color:var(--red)}.fire span{font-size:46px}.fire small{font-size:10px}.aim{right:40px;bottom:205px}.jump{right:25px;bottom:72px}.reload{right:191px;bottom:97px}.crouch{right:87px;bottom:28px}.swap{right:175px;bottom:25px}.sprint{left:87px;bottom:190px;width:54px;height:54px}#rotate-hint{display:none}.touch-device .hud-bottom{bottom:16px;left:22px;right:auto;gap:12px}.touch-device .health-card,.touch-device .ammo-card{min-width:0;padding:5px 8px;background:#f1eddfb3}.touch-device .hud-bottom strong{font-size:24px}.touch-device .hud-bottom small{font-size:7px}.touch-device .hud-bottom em{font-size:12px}.touch-device .health-track{width:65px}.touch-device #shield,.touch-device #reload-label{font-size:7px;min-height:8px;margin-top:1px}@media(max-height:650px)and (min-width:700px){.menu-copy{top:14%;width:340px}h1{font-size:95px;margin:18px 0 10px}.tagline{font-size:27px;margin-top:23px}.intro{font-size:11px;margin-bottom:14px}.mode-card{padding:12px 16px;margin:8px 0}.mode-card strong{font-size:20px}.menu-links{margin-top:10px}.menu-footer{bottom:14px}.back,.edition{top:20px}}@media(max-width:650px){#menu{background:linear-gradient(90deg,#f1eddffa,#f1eddfde 70%,#f1eddf70)}.back{left:24px;top:24px;font-size:9px}.edition{right:20px;top:25px;font-size:8px}.menu-copy{left:8%;top:16%;width:84%;max-width:none}h1{font-size:106px}.eyebrow{font-size:9px;letter-spacing:1px}.tagline{font-size:31px}.intro{font-size:12px}.map-stamp{display:none}.menu-footer{left:24px;right:24px;font-size:7px}.menu-links{font-size:7px}.brand{font-size:25px}.brand small{font-size:6px}.hud-top{left:15px;right:15px;top:15px}.match-info{padding:6px 12px}.match-info strong{font-size:21px}.hud-top button{width:38px;height:38px}.paper-dialog{padding:28px}#stick{left:22px;bottom:64px;width:94px;height:94px}.sprint{left:43px;bottom:174px}.fire{right:50px;bottom:149px;width:79px;height:79px}.aim{right:20px;bottom:245px}.reload{right:141px;bottom:152px}.jump{right:15px;bottom:73px}.crouch{right:79px;bottom:74px}.swap{right:143px;bottom:76px}.touch-device .hud-bottom{bottom:12px;left:20px}.touch-device #rotate-hint{display:block;position:absolute;top:97px;width:100%;text-align:center;font-size:9px;opacity:.7}#announcement{top:30%;font-size:23px}}@media(max-height:450px){.back,.edition{top:15px}.menu-copy{top:12%;left:6%;max-width:340px}h1{font-size:73px;margin:10px 0}.tagline{font-size:23px;margin:19px 0 4px}.intro{display:none}.mode-label{font-size:8px;margin:12px 0 5px}.mode-card{padding:8px 13px;margin:7px 0}.mode-card strong{font-size:18px}.mode-card small{font-size:8px}.menu-links{margin-top:8px}.menu-footer{display:none}.map-stamp{bottom:12%;right:4%}.eyebrow{font-size:8px}.hud-top{top:12px}.brand{font-size:25px}.match-info strong{font-size:21px}#stick{bottom:56px;left:45px;width:90px;height:90px}.sprint{bottom:164px;left:63px;width:46px;height:46px}.fire{bottom:94px;right:83px;width:78px;height:78px}.aim{bottom:175px;right:30px}.reload{bottom:86px;right:169px}.jump{bottom:56px;right:16px}.crouch{bottom:18px;right:82px}.swap{bottom:17px;right:153px}.touch-button:not(.fire){width:48px;height:48px;font-size:25px}.touch-device .hud-bottom{bottom:10px;left:20px}.paper-dialog{padding:22px;max-height:92dvh}h2{font-size:40px}}@media(orientation:portrait)and (max-width:650px)and (max-height:740px){.menu-copy{top:14%}h1{font-size:88px;margin:14px 0 9px}.tagline{font-size:25px;margin:23px 0 16px}.intro{display:none}.mode-card{padding:12px 15px;margin:8px 0}.mode-card strong{font-size:21px}.menu-links{margin-top:12px}}@media(orientation:landscape)and (max-height:360px){.menu-copy{top:11%;width:300px}.menu-copy h1{font-size:64px;margin:10px 0 24px}.tagline,.intro{display:none}.mode-label{margin:9px 0 4px}.mode-card{padding:6px 12px;margin:6px 0}.mode-card strong{font-size:17px}.mode-card small{font-size:8px}.menu-links{margin-top:7px}.map-stamp{padding:12px 18px;right:3%;bottom:14%}.map-stamp strong{font-size:25px}}#damage-dir i{position:absolute;left:50%;top:50%;width:230px;height:230px;margin:-115px 0 0 -115px;border-radius:50%;border:5px solid transparent;border-top-color:var(--red);filter:drop-shadow(0 0 2px var(--paper));animation:hurt-arc .9s ease-out forwards}@keyframes hurt-arc{0%{opacity:.95}to{opacity:0}}#lock-prompt{position:absolute;left:50%;top:calc(50% + 48px);transform:translate(-50%);background:#f1eddfe6;border:1.5px solid var(--ink);padding:8px 18px;text-align:center;box-shadow:3px 3px #223d8e22}#lock-prompt b{display:block;font:700 21px var(--hand);letter-spacing:.6px}#lock-prompt small{font-size:9px;font-weight:700;letter-spacing:1.5px;opacity:.7}.touch-device #mobile-controls{position:absolute;inset:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#stick{opacity:.7;transition:opacity .15s}#stick.floating{opacity:1;bottom:auto;transform:translate(-50%,-50%)}#stick-knob.sprinting{background:#c8493acc}.touch-device .brand{visibility:hidden}.touch-device #hud .hud-bottom{top:max(15px,env(safe-area-inset-top));bottom:auto;left:max(15px,env(safe-area-inset-left));align-items:flex-start;gap:8px}.touch-device #hud .ammo-card{text-align:left;border-right:0;border-left:3px solid var(--ink)}@media(orientation:portrait){.touch-device #hud .hud-bottom{flex-direction:column;gap:6px}.touch-device #rotate-hint{top:86px;left:auto;right:15px;width:auto;max-width:150px;text-align:right}#damage-dir i{width:180px;height:180px;margin:-90px 0 0 -90px}}
