*{box-sizing:border-box}body{margin:0;background:#090d0f;color:#eee;font:14px Arial,'Malgun Gothic',sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:2px solid #d8ef79;outline-offset:3px}[hidden]{display:none!important}#scene,#vignette,#menu,#hud{position:fixed;inset:0;width:100%;height:100%}#scene{display:block}#vignette{pointer-events:none;box-shadow:inset 0 0 130px #0008}#menu{background:linear-gradient(90deg,#080d10f5 0%,#080d10d9 32%,#080d1040 73%),url(depot.webp) center/cover;overflow:auto}header{height:88px;margin:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.brand{font-size:28px;font-weight:900;letter-spacing:-3px}.brand span{font-size:14px;letter-spacing:3px;margin-left:20px}.build,.eyebrow,.map-caption>span{font-size:12px;letter-spacing:2px;color:#b1b9b8}.menu-body{margin:4vh 0 85px 7%;max-width:480px}.eyebrow i{display:inline-block;width:7px;height:7px;background:#d7ed78;margin-right:8px}h1{font-size:clamp(54px,7.5vw,110px);line-height:.86;letter-spacing:-5px;font-weight:950;margin:25px 0 18px}h1 em{color:#d9ed84;font-style:normal}.subtitle{color:#bdc3c0;font-size:15px;margin-bottom:25px}.setup{max-width:410px}.setup>label,.row label{display:block;font-size:12px;letter-spacing:1px;color:#a8b3b6}input{width:100%;background:#111a20bc;border:1px solid #77808550;padding:11px 13px;color:white;margin:7px 0 15px;border-radius:0}.modes{display:flex;gap:8px;margin-bottom:15px}.modes button{width:50%;border:1px solid #8a979347;background:#0c1419d9;text-align:left;padding:15px 12px;font-weight:600}.modes button.selected{border-color:#d9ed84;background:#d9ed8410}.modes b{color:#d9ed84;margin-right:6px}.modes small{font-size:10px;display:block;color:#a3adae;margin-top:10px;letter-spacing:.5px}.row{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.row input{font-size:12px}.primary{background:#d9ed84;border:0;color:#171e18;padding:16px 18px;width:100%;text-align:left;font-weight:800;font-size:16px;transition:background .2s}.primary:hover{background:#ecff9d}.primary span,.practice span{float:right}.practice{width:100%;margin-top:9px;background:#111a20bd;border:1px solid #8a979347;padding:13px;text-align:left}.practice span{font-size:12px;color:#b6c0c2}#status{font-size:12px;color:#c5cacc;min-height:15px}.map-caption{position:absolute;right:6%;bottom:17%;text-align:right}.map-caption h2{font-size:36px;letter-spacing:-1px;margin:14px 0}.map-caption p{color:#bbc4c3}.map-caption div{margin-top:30px;color:#d9ed84;letter-spacing:3px}footer{position:fixed;bottom:0;width:92%;margin:0 4%;height:65px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff25;color:#adb7b8;font-size:12px}kbd{border:1px solid #84929265;padding:3px 5px;font-size:11px;margin:0 3px;color:#dbe0db}#hud{pointer-events:none}.match{position:absolute;top:24px;left:50%;transform:translateX(-50%);display:flex;background:#091012dc;align-items:center;border-top:2px solid #d9ed84}.match>span{font-size:42px;font-weight:800;width:80px;text-align:center}.red{color:#ff8073}.blue{color:#86c8f5}.match>div{text-align:center;padding:10px 15px}.match b,.match small{display:block;font-size:10px;letter-spacing:1.5px;color:#adb9b8}.match strong{font-size:28px;display:block;margin:4px}.location{position:absolute;top:30px;left:30px;font-size:15px;font-weight:800;letter-spacing:2px}.location span{display:block;font-size:10px;color:#d9ed84;margin-top:8px}.location small{display:block;color:#aaa;font-size:11px;letter-spacing:0;margin-top:6px}#minimap{position:absolute;top:26px;right:28px;background:#10191bbb;border:1px solid #b0b9a64a;width:150px;height:150px}#feed{position:absolute;top:190px;right:28px;text-align:right}#feed p{background:#071013ad;margin:4px 0;padding:7px 12px;font-size:12px}.health{position:absolute;left:32px;bottom:58px;width:195px}.health>small{font-size:11px;color:#d9ed84;letter-spacing:2px}.health strong{display:block;font-size:52px}.health strong small{font-size:14px;color:#a7b5b3}.health>div{height:4px;background:#ffffff25}.health i{display:block;background:#d9ed84;height:100%}.health p{color:#b8c1c0;font-size:12px}.weapon{position:absolute;right:32px;bottom:58px;text-align:right}.weapon>small{font-size:10px;color:#bec8c7;letter-spacing:2px}.weapon b{display:block;font-size:18px;margin:10px 0}.weapon b span{font-size:10px;margin-left:20px;color:#a6b5b4}.weapon strong{font-size:52px}.weapon strong small{font-size:22px;color:#9ca9a7}.weapon p{font-size:10px;color:#d9ed84;letter-spacing:2px}.controls{position:absolute;bottom:20px;width:100%;text-align:center;color:#adb8b6;font-size:11px}#crosshair{position:absolute;left:50%;top:50%;width:2px;height:2px;background:#fff}#crosshair i{position:absolute;background:#edf8d4;box-shadow:0 0 2px #000}#crosshair i:nth-child(1){width:2px;height:7px;top:-12px}#crosshair i:nth-child(2){width:2px;height:7px;top:7px}#crosshair i:nth-child(3){width:7px;height:2px;left:-12px}#crosshair i:nth-child(4){width:7px;height:2px;left:7px}#hitmarker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:40px;color:#d9ed84;opacity:0}#death,#pause,#board{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#091114ed;padding:35px;width:min(560px,90vw);text-align:center;backdrop-filter:blur(10px)}#death b{font-size:65px;color:#fb8475}#pause{pointer-events:auto}#board{z-index:3}#board h2{letter-spacing:4px;font-size:22px}.score-row{display:grid;grid-template-columns:1fr 65px 65px;padding:11px;border-bottom:1px solid #ffffff20;text-align:left}.score-row.me{color:#d9ed84}#pause p{color:#a9b9b9;margin-bottom:25px}@media(max-height:820px){header{height:64px}.menu-body{margin-top:22px}h1{font-size:66px;margin:20px 0 12px}.subtitle{margin-bottom:20px}.setup input{padding:8px}footer{height:45px}}@media(max-width:750px){.map-caption,.build,footer>span:last-child{display:none}.menu-body{margin-left:6%;max-width:88%}h1{font-size:68px}.setup{max-width:100%}.match{top:12px}.match>span{width:50px;font-size:28px}.location{top:110px;left:15px}#minimap{width:100px;height:100px;right:12px;top:110px}.controls{display:none}.health{left:15px}.weapon{right:15px}}

#viewmodel{position:absolute;right:-3vw;bottom:-8vh;width:min(76vw,1150px);height:auto;pointer-events:none;filter:brightness(.83) contrast(1.06);transform-origin:75% 85%;will-change:transform;z-index:0}#crosshair,#hitmarker{z-index:1}.weapon,.health,.controls{z-index:2}
select{width:100%;background:#111a20;border:1px solid #77808570;color:#fff;padding:12px;margin:7px 0 14px;font:inherit}#crosshair{width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #000b;z-index:9;transform:translate(-50%,-50%)}#crosshair i{background:#cfff72;box-shadow:0 0 0 1px #10220b,0 1px 4px #000}#crosshair i:nth-child(1){width:3px;height:12px;left:1px;top:-19px}#crosshair i:nth-child(2){width:3px;height:12px;left:1px;top:12px}#crosshair i:nth-child(3){width:12px;height:3px;left:-19px;top:1px}#crosshair i:nth-child(4){width:12px;height:3px;left:12px;top:1px}#crosshair.enemy{background:#ff5757}#crosshair.enemy i{background:#ff5757}#target-label{position:absolute;top:calc(50% + 32px);left:50%;transform:translateX(-50%);font-weight:800;color:#ff9b82;text-shadow:0 1px 3px #000;z-index:9;font-size:14px;white-space:nowrap}#scope{position:absolute;inset:0;z-index:7;background:radial-gradient(circle at center,transparent 0 31vmin,#000 31.3vmin);pointer-events:none}#scope:before{content:'';position:absolute;left:50%;top:50%;width:62vmin;height:62vmin;border:3px solid #111;border-radius:50%;transform:translate(-50%,-50%)}#scope i{position:absolute;background:#080808;left:50%;top:50%;transform:translate(-50%,-50%)}#scope i:first-child{width:62vmin;height:1px}#scope i:last-child{height:62vmin;width:1px}#hitmarker{z-index:10;font-size:55px;text-shadow:0 0 3px #000}#weapon-switch,#pause-button{position:absolute;pointer-events:auto;z-index:12;background:#101a22d9;color:#edffb0;border:1px solid #c8db8480;border-radius:8px;padding:10px;font-weight:bold;min-height:44px}#weapon-switch{bottom:23px;right:30px}#pause-button{left:25px;top:95px;width:46px}#fps-counter{position:absolute;top:12px;right:15px;font-size:11px;color:#caff90;z-index:12}#look-pad,#mobile-controls{display:none}#pause{z-index:30}#board,#death{z-index:20}.touch-device #look-pad{display:block;position:absolute;inset:0;pointer-events:auto;touch-action:none;z-index:1}.touch-device #mobile-controls{display:block}.touch-device #mobile-controls button,.touch-device #move-stick{pointer-events:auto;touch-action:none;position:absolute;z-index:15;user-select:none;-webkit-user-select:none}.touch-device #mobile-controls button{width:58px;height:58px;border-radius:50%;border:1px solid #cbd6d680;background:#182329bb;color:#fff;font-weight:700}.touch-device #move-stick{width:128px;height:128px;bottom:max(23px,env(safe-area-inset-bottom));left:max(22px,env(safe-area-inset-left));border:2px solid #e8efef60;border-radius:50%;background:#14212855}.touch-device #stick-knob{position:absolute;width:56px;height:56px;left:50%;top:50%;transform:translate(-50%,-50%);background:#d3e6d28c;border:2px solid #fff9;border-radius:50%}.touch-device #touch-fire{width:85px!important;height:85px!important;right:26px;bottom:48px;background:#c8793fc9!important;border:2px solid #ffe7aa!important;font-size:18px}.touch-device #touch-aim{right:120px;bottom:103px}.touch-device #touch-aim.on{background:#678c39dd}.touch-device #touch-reload{right:124px;bottom:28px}.touch-device #touch-jump{right:28px;bottom:151px}.touch-device #touch-sprint{left:58px;bottom:166px}.touch-device .controls{display:none}.touch-device #weapon-switch{bottom:10px;right:26px;padding:6px 10px;min-height:32px}.touch-device .health{left:18px;bottom:212px;width:110px}.touch-device .health strong,.touch-device .weapon strong{font-size:29px}.touch-device .health p{margin:4px 0}.touch-device .weapon{right:20px;bottom:220px}.touch-device .weapon b{margin:3px 0}.touch-device .weapon p{margin:3px 0}.touch-device .location{top:15px;left:18px;font-size:11px}.touch-device .location small{font-size:10px}.touch-device #pause-button{top:74px;left:18px}.touch-device #minimap{top:32px;right:14px;width:92px;height:92px}.touch-device #feed{top:130px;right:12px}.touch-device #feed p{font-size:10px;padding:3px 5px}.touch-device .match{top:12px}.touch-device .match>span{font-size:27px;width:42px}.touch-device .match>div{padding:5px 8px}.touch-device .match strong{font-size:20px}.touch-device .match b{font-size:8px}.touch-device .match small{font-size:8px}.touch-device #scene,.touch-device #hud{touch-action:none}.touch-device #menu input,.touch-device #menu select{font-size:16px}.touch-device footer{display:none}@media (pointer:coarse) and (orientation:landscape){.menu-body{max-width:540px;margin:15px auto 40px}.menu-body h1{font-size:40px;display:inline-block}.menu-body h1 br{display:none}.menu-body .subtitle{margin:10px 0}.menu-body .setup{max-width:none}.menu-body .eyebrow{display:none}.touch-device header{height:44px}.touch-device .health{bottom:165px;left:18px}.touch-device .weapon{bottom:210px;right:20px}.touch-device #touch-sprint{left:170px;bottom:30px}.touch-device #minimap{width:82px;height:82px}.touch-device #feed{top:119px}.touch-device #target-label{font-size:12px}.touch-device #pause-button{top:77px}}

#reload-progress{position:absolute;left:50%;top:calc(50% + 72px);transform:translateX(-50%);width:min(230px,55vw);padding:12px 15px;background:#091218e8;border:1px solid #c8de8990;border-radius:7px;z-index:16;box-shadow:0 6px 25px #0006}#reload-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}#reload-progress b{color:#efffc3}#reload-progress span{font-variant-numeric:tabular-nums;color:#baccc7}#reload-progress>i{display:block;margin-top:9px;height:5px;background:#fff2;border-radius:5px;overflow:hidden}#reload-progress em{display:block;height:100%;background:#d9ef84;transform-origin:left;box-shadow:0 0 8px #d9ef84}#kill-confirmation{position:absolute;top:calc(50% + 130px);left:50%;transform:translateX(-50%);min-width:210px;max-width:70vw;text-align:center;padding:10px 24px;background:linear-gradient(90deg,transparent,#111e24ed 20% 80%,transparent);border-top:1px solid #e9ef9366;z-index:16;text-shadow:0 2px 5px #000}#kill-confirmation small{display:block;font-size:11px;letter-spacing:3px;color:#e6efa6}#kill-confirmation strong{display:block;font-size:20px;margin:6px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#kill-confirmation span{color:#b5c9ce;font-size:11px;letter-spacing:2px}#kill-confirmation.headshot small{color:#ffbf79}#hitmarker.confirmed{color:#ffba72;transform:translate(-50%,-50%) scale(1.3);text-shadow:0 0 10px #ff9b3566}@media(max-height:500px){#reload-progress{top:calc(50% + 44px);padding:8px 12px}#kill-confirmation{top:calc(50% + 105px);padding:6px 16px}#kill-confirmation strong{font-size:16px;margin:3px 0}}

#map-button{position:absolute;right:28px;top:181px;z-index:18;pointer-events:auto;min-height:44px;padding:8px 17px;border:1px solid #c8d998;border-radius:7px;background:#101d25eb;color:#edf6cb;font-weight:700}#tactical-map{position:fixed;inset:0;z-index:80;background:#030b11dc;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right));backdrop-filter:blur(8px)}.map-shell{width:min(1000px,96vw);max-height:96dvh;background:#101f26;border:1px solid #5b7479;border-radius:12px;overflow:auto;box-shadow:0 20px 80px #0008}.map-shell header{height:auto;min-height:76px;margin:0;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.map-shell header small{color:#d6e796;letter-spacing:3px;font-size:10px}.map-shell h2{margin:6px 0 0;font-size:23px}.map-shell button{min-height:44px;padding:10px 18px;background:#263d45;border:1px solid #8aa2a7;border-radius:6px;color:#fff}.map-body{display:flex;justify-content:center;gap:22px;padding:16px}.map-body canvas{display:block;width:auto;height:min(72dvh,700px);max-width:70%;object-fit:contain;image-rendering:auto;background:#17292c}.map-body aside{padding:16px 0;min-width:180px;font-size:13px;line-height:1.8;color:#b8cccf}.map-body aside b{color:#f0f4d9;font-size:15px}.map-body aside small{display:block;margin-top:35px;color:#92a8ad}.map-body i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.map-self{background:#eeff86}.map-ally{background:#7ad7ff}.map-cover{background:#a58b62}.touch-device #map-button{top:129px;right:14px;min-height:38px;padding:6px 12px}.touch-device #feed{top:173px}#feed{top:232px}@media(max-width:620px) and (orientation:portrait){.map-body{flex-direction:column;gap:0;padding:10px}.map-body canvas{height:auto;width:100%;max-width:100%;max-height:63dvh}.map-body aside{padding:8px;min-width:0;display:flex;flex-wrap:wrap;gap:8px 16px}.map-body aside p{margin:0;font-size:11px}.map-body aside>p:nth-last-of-type(1),.map-body aside>b,.map-body aside>p:first-of-type{display:none}.map-body aside small{margin:0;font-size:10px}.map-shell h2{font-size:18px}.map-shell header{padding:10px 14px;min-height:64px}}@media(max-height:500px){.map-shell header{min-height:54px;padding:8px 16px}.map-shell h2{font-size:17px}.map-body{padding:8px 14px;gap:16px}.map-body canvas{height:calc(94dvh - 80px)}.map-body aside{font-size:11px;line-height:1.35;padding:0}.map-body aside small{margin-top:10px}.touch-device #map-button{top:119px}}

/* 어느 쪽에서 맞았는지 — 화면 가장자리에 붉은 쐐기로 알린다. */
#hurt{position:absolute;inset:0;pointer-events:none;z-index:6}
#hurt i{position:absolute;left:50%;top:50%;width:0;height:0;transform-origin:0 0;transition:opacity .18s linear}
#hurt i::before{content:"";position:absolute;left:-72px;top:-27vmin;width:144px;height:30px;background:radial-gradient(ellipse at 50% 130%,rgba(255,72,54,.95),rgba(255,86,54,.34) 55%,rgba(255,86,54,0) 78%);clip-path:polygon(0 100%,50% 0,100% 100%);filter:drop-shadow(0 0 8px rgba(255,60,40,.55))}

.match{border-radius:8px;box-shadow:0 8px 28px #0004;border-left:1px solid #ddebd01a;border-right:1px solid #ddebd01a}.health,.weapon{padding:12px 16px;border-bottom:2px solid #cddd8c;background:linear-gradient(115deg,#101d25dc,#101d250a);border-radius:8px}.weapon{background:linear-gradient(245deg,#101d25dc,#101d250a)}.health>small,.weapon>small{font-weight:700}.touch-device .health,.touch-device .weapon{padding:6px 9px;border-bottom-width:1px}.touch-device #mobile-controls #touch-sprint{width:84px;height:46px;left:52px;bottom:165px;border-radius:12px;font-size:11px;line-height:1.25;background:#23363de8}.touch-device #touch-sprint.on{background:linear-gradient(135deg,#547342,#2a432c);border-color:#cddd8c;color:#efffd5;box-shadow:0 0 0 2px #b4d58714}.touch-device #touch-fire{box-shadow:0 5px 20px #0006,inset 0 1px 0 #fff6}.touch-device #touch-aim,.touch-device #touch-reload,.touch-device #touch-jump{background:linear-gradient(145deg,#33454dcc,#17262de0)}@media (orientation:landscape) and (max-height:600px){.touch-device #mobile-controls #touch-sprint{left:166px;bottom:30px}.touch-device .health{bottom:166px}.touch-device .weapon{bottom:214px}}
/* ── 모바일 HUD 겹침 정리 — 폰·태블릿 가로에서 실측으로 겹치던 자리를 뺀다 ── */
/* 자동 달리기: 조이스틱 오른쪽 아래. 태블릿에서 체력 패널 위에 올라가던 것을 고친다 */
.touch-device #mobile-controls #touch-sprint{left:calc(max(22px,env(safe-area-inset-left)) + 142px);bottom:max(30px,env(safe-area-inset-bottom))}
@media (orientation:landscape) and (max-height:600px){
 .touch-device #mobile-controls #touch-sprint{left:calc(max(22px,env(safe-area-inset-left)) + 142px);bottom:max(30px,env(safe-area-inset-bottom))}
 /* 왼쪽 위: 지명 → 그 오른쪽에 일시정지, 체력은 지명 바로 아래(조이스틱과 안 닿게 이름표는 숨김) */
 .touch-device #pause-button{top:14px;left:136px;min-height:38px;padding:6px 10px}
 .touch-device .health{top:76px;bottom:auto;left:18px}
 .touch-device .health>small{display:none}
 /* 오른쪽 위: 미니맵 → 그 왼쪽에 무기 패널, 무기 패널 아래 전체맵 버튼. 점프는 그 아래로 비켜난다 */
 .touch-device #minimap{top:12px;right:12px;width:76px;height:76px}
 .touch-device .weapon{top:10px;bottom:auto;right:98px}
 .touch-device .weapon>small,.touch-device .weapon p{display:none}
 .touch-device #map-button{top:90px;right:98px;min-height:34px;padding:5px 11px}
 .touch-device #feed{top:132px}
}
/* 첫 화면 플레이 방법 */
.how-link{margin-left:auto;margin-right:22px;font-size:13px;font-weight:700;color:#171e18;background:#d9ed84;text-decoration:none;padding:8px 14px;white-space:nowrap}.how-link:hover{background:#ecff9d}
footer{z-index:2}footer::before{content:"";position:absolute;inset:0 -5%;background:#090d0fe8;z-index:-1}
.touch-device .how-link{padding:6px 11px;font-size:12px}
.how{position:relative;z-index:1;margin:0 7% 95px;max-width:980px;background:#0a1115f2;border:1px solid #8a979347;border-top:3px solid #d9ed84;padding:26px 30px 24px;scroll-margin-top:20px}
.how h2{font-size:26px;margin:12px 0 8px;letter-spacing:-.5px}
.how-lead{color:#c7cecb;font-size:14px;line-height:1.7;margin:0 0 20px;word-break:keep-all}
.how-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.how-steps li{display:flex;gap:12px;border-top:1px solid #ffffff25;padding-top:14px}
.how-steps li>b{color:#d9ed84;font-size:13px;letter-spacing:1px;padding-top:2px}
.how-steps strong{display:block;font-size:15px;margin-bottom:6px;color:#f1f4ef}
.how-steps p{margin:0;color:#bfc7c4;font-size:13px;line-height:1.7;word-break:keep-all}
.how-steps em,.how-tips b{font-style:normal;color:#e7f3b5;font-weight:700}
.how-keys{border:1px solid #8a979340;font-size:13px}
.how-row{display:grid;grid-template-columns:1fr 1.5fr 1.5fr}
.how-row+.how-row{border-top:1px solid #ffffff14}
.how-row span{padding:9px 14px;line-height:1.5;color:#dde3df;word-break:keep-all}
.how-row span:first-child{color:#f1f4ef;font-weight:700}
.how-head{background:#111b21}
.how-head span,.how-head span:first-child{font-size:11px;letter-spacing:1px;color:#a8b3b6;font-weight:600}
.how kbd{white-space:nowrap;margin:0 1px}
.how-tips{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;color:#bfc7c4;font-size:12.5px;line-height:1.7;word-break:keep-all}
@media(max-width:900px){.how-steps,.how-tips{grid-template-columns:1fr;gap:12px}}
@media(max-width:750px){.how{margin:0 6% 40px;padding:20px 18px}}
@media(max-width:560px){.how-head{display:none}.how-row{grid-template-columns:1fr;padding:9px 12px}.how-row span{padding:1px 0}.how-row span:nth-child(2)::before{content:"PC  ";white-space:pre;color:#a8b3b6;font-size:11px}.how-row span:nth-child(3)::before{content:"폰  ";white-space:pre;color:#a8b3b6;font-size:11px}}
@media (pointer:coarse) and (orientation:landscape){.how{max-width:540px;margin:0 auto 40px}.how-steps,.how-tips{grid-template-columns:1fr}}
