:root{color-scheme:dark;font-family:'Noto Sans KR',sans-serif;color:#e5e6db;background:#101817}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;background:#1b2525;border:1px solid #63706b66;cursor:pointer;border-radius:3px;touch-action:manipulation}button:hover{background:#35413b;border-color:#c4bd85}button:focus-visible{outline:2px solid #e3c876;outline-offset:3px}[hidden]{display:none!important}#game{position:fixed;width:100%;height:100%;inset:0;touch-action:none}header{position:absolute;top:0;left:0;right:0;padding:22px 28px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#101817da,transparent);pointer-events:none}.brand{display:flex;gap:12px;align-items:center}.mark{font-size:24px;border:1px solid #8d9a85;padding:3px 9px;color:#c5c7ab}.brand b{font-size:18px;letter-spacing:3px}.brand em{font-style:normal;color:#dabd76}.brand small{display:block;font-size:10px;letter-spacing:2.5px;color:#a8afa3;margin-top:3px}.top-right{display:flex;gap:10px;align-items:center;pointer-events:auto;font-size:12px;letter-spacing:1px}.top-right button{padding:8px 10px;font-size:12px}#clock{margin-right:14px}.location{position:absolute;left:28px;top:106px;pointer-events:none;text-shadow:0 2px 5px #000}.eyebrow{font-size:11px;letter-spacing:2px;color:#b8bfae}.location h2{font-size:31px;letter-spacing:4px;margin:7px 0 3px}.location p{color:#c3c7b9;font-size:12px;margin:0}.mission{position:absolute;top:240px;left:28px;max-width:245px;padding:17px 18px;background:#152020d9;border-left:2px solid #baa76b;pointer-events:none}.mission .eyebrow{font-size:10px}.mission .eyebrow span{float:right;color:#d6ba7d}.mission h3{font-size:15px;margin:13px 0 8px}.mission p{font-size:12px;line-height:1.8;color:#c7c9bb;margin:0}.mission #missionCount{font-size:11px;color:#d3b875;margin-top:10px}.minimap{position:absolute;right:28px;top:105px;width:177px;padding:7px;background:#13201ce8}.minimap canvas{width:160px;height:130px;display:block}.minimap span{display:block;padding:8px 0 3px;font-size:11px;letter-spacing:1px}.minimap kbd{float:right}kbd{font:10px monospace;border:1px solid #67756e77;border-radius:2px;padding:2px 4px;color:#b4bbae}footer{position:absolute;bottom:0;left:0;right:0;padding:55px 28px 18px;background:linear-gradient(transparent,#0d1718ed);pointer-events:none}.vitals{display:flex;gap:20px;position:absolute;bottom:70px;left:28px}.vital{width:90px}.vital span{font-size:11px;display:flex;justify-content:space-between;color:#c4c8bc}.vital i{display:block;height:3px;background:#58615555;margin-top:8px}.vital i b{display:block;height:3px;background:#a7b691}.vital:first-child i b{background:#cf8975}.quickbar{display:flex;justify-content:center;gap:5px;pointer-events:auto}.quickbar button{position:relative;width:103px;padding:13px 10px 8px;background:#16201eed;border-color:#67726566;text-align:left}.quickbar button.selected{border-color:#d2bb7c;background:#424733dc}.quickbar kbd{position:absolute;top:5px;right:5px;font-size:9px}.quickbar span{font-size:12px;display:block;margin-top:5px}.quickbar small{font-size:10px;color:#acb29d;display:block;margin-top:4px}.controls{text-align:center;font-size:10px;letter-spacing:.4px;color:#9aa898;margin-top:13px}#notice{position:absolute;left:50%;top:21%;transform:translateX(-50%);padding:10px 18px;max-width:90%;background:#121e19e8;border:1px solid #a9986970;color:#ead5a2;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none}#interact{position:absolute;top:62%;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;background:#131d19df;padding:9px 14px;border:1px solid #b6b19155;pointer-events:none}#interact:empty{display:none}#alert{position:absolute;top:80px;left:50%;transform:translateX(-50%);font-size:12px;color:#f1a291;letter-spacing:2px;pointer-events:none}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0c1514f5 0%,#101c19df 40%,#14211b33 100%);display:flex;align-items:center;padding:6vw;backdrop-filter:blur(3px)}.intro{max-width:600px}.stamp{font:11px monospace;letter-spacing:2px;color:#c2ac73;border:1px solid #94866a66;padding:10px 14px;display:inline-block;margin-bottom:40px}.intro h1{font-size:clamp(46px,6vw,88px);font-weight:900;line-height:1.2;letter-spacing:-4px;margin:18px 0 24px}.intro h1 span{display:block;color:#cebb85;letter-spacing:14px}.introText{font-size:15px;line-height:1.9;color:#bbc3b6}.introInfo{display:flex;gap:35px;margin:28px 0 32px}.introInfo span{font-size:11px;color:#87978a}.introInfo b{display:block;font-size:13px;font-weight:500;color:#d4d7c8;margin-top:7px}.primary{background:#c7b17a;color:#14211c;border:0;padding:16px 22px;font-weight:700;font-size:16px;width:310px;text-align:left}.primary:hover{background:#e0ca91}.primary span{float:right}.secondary{display:block;width:310px;margin-top:9px;padding:11px}.fine{font-size:11px;line-height:1.8;color:#8e9d90;margin-top:22px;max-width:450px}.intro-side{margin-left:auto;align-self:flex-end;padding-bottom:35px;text-align:right}.intro-side span{font:12px monospace;letter-spacing:2px;color:#b1bba4}.intro-side b{display:block;font-size:48px;line-height:1.4;margin:20px 0;color:#ece3c9}.intro-side p{font-size:14px;line-height:1.8;color:#bbc0ae}#panel{background:#06110cb8;justify-content:center;padding:20px}.panel{width:620px;max-height:88vh;overflow:auto;background:#192421;border:1px solid #64715b;padding:30px;position:relative;box-shadow:0 20px 100px #0008}.panel h2{font-size:26px;margin-top:5px}.panel p{font-size:14px;line-height:1.8;color:#bbc5b5}.close{float:right;padding:8px 13px;font-size:12px}.panel .row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #56615155;padding:13px 0;font-size:14px}.row button{padding:7px 14px;font-size:13px}.panel canvas{width:100%;height:auto;background:#142422;border:1px solid #536653}.panel .buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.panel .buttons button{padding:12px 18px}#touch{display:none}.danger{color:#df9780!important}@media(max-width:1000px){.vitals{bottom:145px;gap:9px}.vital{width:65px}.mission{top:205px;width:185px;padding:12px}.mission p{font-size:11px}.minimap{width:137px;right:16px}.minimap canvas{width:120px;height:100px}.location{top:100px}.intro-side{display:none}}@media(pointer:coarse){#touch{display:flex;position:absolute;left:18px;right:18px;bottom:115px;justify-content:space-between;pointer-events:none}.pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:3px}.pad button{pointer-events:auto;background:#273831a8}.pad button:first-child{grid-column:2}.pad button:nth-child(2){grid-row:2;grid-column:1}.pad button:nth-child(3){grid-row:2;grid-column:2}.pad button:nth-child(4){grid-row:2;grid-column:3}.actions{display:flex;align-items:end;gap:6px}.actions button{width:53px;height:53px;border-radius:50%;pointer-events:auto;background:#3b4632cc}.controls{display:none}.vitals{bottom:210px}.mission{display:none}footer{padding-bottom:16px}}@media(max-width:650px){header{padding:14px}.brand b{font-size:14px}.brand small{font-size:8px}.mark{font-size:18px}.top-right{gap:5px}#clock{font-size:10px;margin-right:2px}.top-right button{font-size:10px;padding:6px}.location{left:16px;top:83px}.location h2{font-size:24px}.minimap{top:80px;width:108px;padding:3px}.minimap canvas{width:100px;height:80px}.minimap span{font-size:9px}.quickbar button{width:80px}.intro h1{font-size:53px}.stamp{margin-bottom:20px;font-size:9px}.introInfo{gap:22px;margin:20px 0}.introText{font-size:13px}.intro .fine{font-size:10px}.overlay{padding:25px}.panel{padding:20px}.vitals{left:16px}.vital{width:61px}#interact{top:57%;max-width:95%;white-space:normal;text-align:center}}@media(max-height:550px){.intro h1{font-size:37px;margin:8px 0}.intro h1 span{display:inline;margin-left:16px}.stamp{margin-bottom:10px}.introText{margin:6px 0}.introInfo{margin:13px 0}.fine{margin-top:10px}.overlay{padding:20px 5vw}.location{top:70px}.minimap{top:68px}.mission{display:none}.vitals{bottom:105px}.intro .eyebrow{display:none}#touch{bottom:95px}.intro .primary{padding:11px 18px}.intro .secondary{padding:7px}}
#scene3d{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#game{z-index:1}header,.location,.mission,.minimap,footer,#notice,#interact,#alert,#touch{z-index:2}.overlay{z-index:5}.intro{max-height:94vh;overflow:auto;padding-right:12px}.intro h1{font-size:clamp(40px,5vw,70px)}.stamp{margin-bottom:20px}.introInfo{margin:20px 0}.job-select{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:15px 0;max-width:450px}.job-select button{text-align:left;padding:10px;font-size:12px}.job-select small{display:block;color:#aebba8;font-size:10px;margin-top:4px}.job-select .selected{border-color:#c9b57b;background:#414b37}#featureBar{position:fixed;right:26px;bottom:130px;z-index:3;display:flex;gap:6px;flex-wrap:wrap;max-width:315px;justify-content:flex-end}#featureBar button{padding:8px 11px;font-size:12px;background:#172321e8}#weatherInfo{display:block;width:100%;text-align:right;color:#b4c3b7;font-size:12px;margin-top:6px}.row small{display:block;color:#aeb7a5;font-size:12px}.panel input{background:#111d19;border:1px solid #6c7d65;color:#e6e6d5;padding:10px;max-width:190px;font:inherit}.panel label{font-size:14px}.panel .primary{display:inline-block;text-decoration:none;width:auto;font-size:14px}.top-right{pointer-events:auto}.controls{font-size:11px}.mission{max-width:220px}.intro .fine{margin-bottom:0}@media(pointer:coarse){#featureBar{right:16px;bottom:235px;max-width:260px}#featureBar button{padding:7px;font-size:11px}.job-select{grid-template-columns:repeat(2,1fr)}}@media(max-height:600px){.intro .stamp,.intro .introText,.intro .fine{display:none}.intro h1{font-size:36px;margin:6px 0}.introInfo{margin:10px 0}.job-select{margin:8px 0}.job-select button{padding:7px}.intro{max-height:90vh}#featureBar{bottom:100px}.vitals{bottom:180px}.mission{display:none}}@media(max-width:650px){#featureBar{bottom:230px}.intro h1{font-size:43px}.job-select{max-width:360px}.intro-side{display:none}}
/* Field HUD: quieter edges, a readable play area and a consistent charcoal palette. */
:root{font-family:system-ui,'Noto Sans KR',sans-serif;color:#e1e1d5;background:#11191a}header{padding:19px 24px;background:linear-gradient(#101719ba,transparent);align-items:flex-start}.mark,.brand small{display:none}.brand b{font-size:24px;letter-spacing:-.7px;font-weight:650}.brand em{color:#d7dbce;font-style:normal}.top-right{font-size:14px;letter-spacing:.6px}.top-right button{font-size:13px;background:#17202099}.location{top:55px;left:25px}.location>.eyebrow{display:none}.location h2{display:inline;font-size:15px;letter-spacing:0;font-weight:500}.location p{display:inline;margin-left:9px;font-size:13px;color:#b7c0b5}.vitals{position:fixed;left:25px;top:111px;bottom:auto;display:flex;flex-direction:column;gap:14px}.vital{width:133px}.vital span{font-size:13px;color:#d2d7cb}.vital span b{font-size:12px;font-weight:400}.vital i,.vital i b{height:4px;border-radius:1px}.vital i{margin-top:5px;background:#8e9b8940}.vital:first-child i b{background:#93b18b}.mission{top:auto;bottom:128px;left:24px;background:#17201ba3;border-left:1px solid #9b9877;max-width:225px;padding:12px 14px}.mission .eyebrow{font-size:11px;letter-spacing:1px}.mission h3{font-size:14px;margin:8px 0}.mission p{font-size:13px;line-height:1.65}.mission #missionCount{font-size:12px}.minimap{top:auto;bottom:22px;right:24px;width:153px;border:1px solid #adb3a14d;background:#141f1cc7}.minimap canvas{width:137px;height:112px}.minimap span{font-size:12px;letter-spacing:0}footer{padding:45px 24px 14px;background:linear-gradient(transparent,#10191980)}.quickbar{gap:6px}.quickbar button{width:84px;min-height:67px;padding:13px 9px 7px;background:#17211eb8;border:1px solid #9ba58c55;border-radius:2px}.quickbar button.selected{background:#3c4e3abe;border-color:#b4c4a5;box-shadow:inset 0 -3px #a3ba8b}.quickbar span{font-size:13px;font-weight:500}.quickbar small{font-size:12px}.quickbar kbd{font-size:11px}.controls{font-size:12px;color:#b0b9a8;margin-top:11px}#featureBar{top:75px;bottom:auto;right:24px;max-width:310px;gap:5px}#featureBar button{background:#16221aa3;border-color:#81917d4d;font-size:13px;padding:7px 10px}#weatherInfo{font-size:13px}#interact{font-size:14px;top:65%;padding:8px 12px;background:#14201bdb;border-color:#afb89f70;box-shadow:0 3px 15px #0003}#interact kbd{font-size:13px;color:#e5e7d9}#notice{top:17%;font-size:14px}#nearLoot{position:fixed;z-index:2;right:24px;bottom:195px;width:203px;background:#15201bd9;border:1px solid #a6ad9655;padding:12px;pointer-events:none}#nearLoot:empty{display:none}#nearLoot strong{font-size:14px;font-weight:600;display:block;margin-bottom:7px}#nearLoot small{color:#abb7a6;font-size:12px}#nearLoot div{font-size:13px;padding:7px 0;border-bottom:1px solid #73836b33;color:#dadfce;display:flex;justify-content:space-between;gap:7px}#nearLoot .searched{color:#7b8977}#nearLoot em{font-style:normal;color:#bac9a5;font-size:12px;white-space:nowrap}.overlay{background:linear-gradient(90deg,#0b1514ef,#101e18bd 42%,#15271b22);backdrop-filter:blur(1px)}.panel{background:#16201ef5;border-color:#8b978459;border-radius:4px;box-shadow:0 15px 80px #0007}.panel h2{font-weight:550;letter-spacing:-.5px}.panel .row{border-color:#78836b40}.primary{background:#b0c09a;color:#172016}.primary:hover{background:#c5d0b0}.intro h1 span{color:#b8c5a4}.introText{font-size:16px}.fine{font-size:13px}.job-select button{font-size:14px}.job-select small{font-size:12px}
@media(max-width:1000px){.mission{display:none}#nearLoot{width:175px;bottom:185px}.vitals{left:18px;top:105px}.vital{width:106px}}
@media(max-width:650px){header{padding:13px}.brand b{font-size:20px}.location{top:49px;left:14px}.location p{display:none}.vitals{top:88px;left:14px;gap:10px}.vital{width:85px}.vital span{font-size:12px}.minimap{right:14px;bottom:20px;width:105px}.minimap canvas{width:89px;height:72px}.quickbar{justify-content:flex-start}.quickbar button{width:62px;min-height:59px;padding:13px 5px 6px}.quickbar span,.quickbar small{font-size:11px}.controls{display:none}#nearLoot{display:none}#featureBar{top:76px;right:12px;width:175px}#featureBar button{font-size:12px;padding:6px}.top-right #clock{font-size:12px}.top-right button{font-size:11px}footer{padding-left:13px}}
@media(pointer:coarse){#touch{bottom:109px}#featureBar{top:75px;bottom:auto}.vitals{top:100px;bottom:auto}#nearLoot{display:none}}
