:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#f4f5f2;background:#737a72;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{color:inherit;cursor:pointer;border:1px solid #ffffff28;background:#182122c9;border-radius:7px;font-size:14px;min-height:42px;padding:0 16px;backdrop-filter:blur(16px)}button:hover{background:#354344}button:focus-visible,select:focus-visible{outline:2px solid #dde9a8;outline-offset:3px}#viewer,canvas{display:block;width:100%;height:100dvh;outline:none}header{position:fixed;top:26px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{display:flex;gap:12px;align-items:center;text-shadow:0 1px 8px #0008}.brand-symbol{width:40px;height:40px;border:1px solid #eeeee580;display:grid;place-items:center;font-size:26px;font-weight:500}.brand strong{font-size:18px;letter-spacing:.02em}.brand div{display:grid;gap:4px}.brand div>span{font-size:10px;letter-spacing:.2em;color:#e0e4da}.top-actions{display:flex;gap:8px;pointer-events:auto}#fullscreen{font-size:24px;width:44px;padding:0}.locations{position:fixed;top:120px;left:30px;width:238px;padding:22px 20px 18px;border:1px solid #fff2;background:linear-gradient(140deg,#182022df,#182022b5);border-radius:10px;backdrop-filter:blur(18px)}.eyebrow{font-size:12px;letter-spacing:.13em;color:#c6cebe}h1{font-size:24px;font-weight:500;margin:12px 0 7px}#location-sub{font-size:13px;color:#acb8b4;line-height:1.7;margin:0 0 22px}#places{display:grid;gap:3px}#places button{background:transparent;border:none;text-align:left;padding:0 10px;display:flex;align-items:center;gap:12px;border-radius:5px;height:43px;color:#c1cac4}#places button .num{font-size:11px;font-variant-numeric:tabular-nums;color:#72827f}#places button.active{background:#dae5b7;color:#1d2826}#places button.active .num{color:#61734f}#places button:hover:not(.active){background:#ffffff12}.all-zones{display:grid;gap:10px;font-size:12px;color:#96a5a2;margin-top:22px;border-top:1px solid #fff2;padding-top:16px}select{width:100%;background:#1d2829;color:#e3e7df;border:1px solid #ffffff2a;border-radius:5px;padding:10px;font-size:13px}.view-controls{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);display:flex;padding:5px;background:#182122df;border:1px solid #fff2;border-radius:9px;backdrop-filter:blur(15px)}.view-controls button{border:0;background:none;white-space:nowrap;padding:0 20px;color:#b5c0bb}.view-controls button.active{background:#e4e9db;color:#24312d}.bottom-left{position:fixed;bottom:26px;left:30px;text-shadow:0 1px 6px #0008}.position{display:flex;gap:13px;align-items:center}.position span{font-size:10px;letter-spacing:.16em;color:#d3debd;border:1px solid #cbd7b76b;padding:5px 7px}.position strong{font-size:13px;font-weight:400}#hint{font-size:12px;color:#d4dcd2;margin:12px 0 0}#hint b{margin:0 6px;font-weight:400;color:#a2ada2}.map-panel{position:fixed;right:30px;bottom:28px;width:206px;background:#182122d9;border:1px solid #fff2;border-radius:9px;backdrop-filter:blur(15px);overflow:hidden}#map-toggle{width:100%;border:0;background:none;border-radius:0;font-size:12px;display:flex;justify-content:space-between;align-items:center;min-height:36px}#minimap{width:100%;height:133px;padding:8px;display:block}#minimap rect{fill:#83918d28;stroke:#a8b9ab80;stroke-width:.22;cursor:pointer}#minimap rect:hover,#minimap rect.selected{fill:#dce7b877}#crosshair{position:fixed;top:50%;left:50%;height:4px;width:4px;border:1px solid #fff9;border-radius:50%;pointer-events:none;box-shadow:0 0 4px #0006}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#17201f;z-index:10;gap:20px}#loading strong{font-size:18px;font-weight:400}#loading>span:not(.loading-mark){font-size:13px;color:#a8b9a9}.loading-mark{font-size:50px;font-weight:300;border:1px solid #71847c;width:90px;height:90px;display:grid;place-items:center;margin-bottom:10px}.load-track{width:220px;height:2px;background:#36453e}.load-track i{display:block;height:100%;width:10%;background:#dce7b8;transition:width .3s}dialog{max-width:480px;width:calc(100% - 32px);padding:36px;background:#1c2828;color:#e7ece3;border:1px solid #6c7a67;border-radius:14px}dialog::backdrop{background:#0008;backdrop-filter:blur(5px)}dialog h2{font-size:24px;font-weight:500;margin:16px 0 28px}dialog dt{font-size:14px;margin-top:20px;color:#dde5d1}dialog dd{font-size:14px;margin:6px 0;color:#a9b9b0}#close-help{position:absolute;right:10px;top:10px;font-size:22px;border:0;background:none}#help-done{width:100%;background:#dce7b8;color:#253024;margin-top:20px}.evidence{font-size:12px;line-height:1.8;border-top:1px solid #fff2;padding-top:20px;margin:28px 0 0;color:#93a69f}.touch-move{display:none;position:fixed;bottom:105px;left:20px;text-align:center;user-select:none}.touch-move button{width:46px;padding:0;margin:2px;background:#202e2dab;touch-action:none}.touch-move>div{display:flex}@media(pointer:coarse){.touch-move{display:block}#hint{display:none}}@media(max-width:800px){header{top:18px;left:18px;right:18px}.brand div>span{font-size:9px}.brand strong{font-size:16px}.top-actions #help{font-size:12px;padding:0 12px}.locations{top:90px;left:18px;padding:15px;width:196px}.locations h1{font-size:20px}#location-sub{font-size:12px;margin-bottom:12px}#places button{font-size:13px;height:36px;min-height:36px}.eyebrow{font-size:11px}.all-zones{margin-top:12px;padding-top:12px}.view-controls{bottom:18px}.view-controls button{font-size:13px;padding:0 14px}.bottom-left{left:18px;bottom:86px}.bottom-left #hint{display:none}.map-panel{right:18px;bottom:86px;width:154px}#minimap{height:98px}.position{display:grid;gap:6px}.position span{width:max-content}}@media(max-width:500px){.locations{width:172px;top:86px;padding:13px}#places button{padding:0 6px;gap:9px}.locations h1{font-size:18px}#location-sub{font-size:11px}.all-zones{display:none}.map-panel{width:133px}.bottom-left{display:none}.view-controls{width:calc(100% - 36px);justify-content:space-between}.view-controls button{padding:0 12px;font-size:12px}.touch-move{bottom:95px;left:14px}.brand-symbol{height:33px;width:33px;font-size:22px}.top-actions #fullscreen{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep navigation legible over both white walls and dark equipment. */
.bottom-left{padding:10px 12px;background:#172120b8;backdrop-filter:blur(8px);border-radius:6px}.locations{max-height:calc(100dvh - 240px);overflow:auto;scrollbar-width:thin}#places button{min-height:38px}.touch-move button:active{background:#dce7b8;color:#23342c}
@media(min-width:801px) and (max-height:780px){.locations{top:98px;padding:18px;max-height:calc(100dvh - 205px)}#location-sub{margin-bottom:12px}#places button{height:36px;min-height:36px}.all-zones{margin-top:14px;padding-top:12px}.bottom-left #hint{display:none}}
@media(max-width:500px){.all-zones{display:grid;font-size:12px;gap:6px;margin-top:8px;padding-top:8px}.locations{max-height:calc(100dvh - 280px);width:190px}#places{max-height:220px;overflow:auto}#location-sub{margin-bottom:8px}.all-zones select{padding:7px;font-size:12px}}
@media(max-height:600px){.locations{top:80px;max-height:calc(100dvh - 170px);padding:12px}.locations .eyebrow{display:none}.locations h1{margin-top:0}#places{max-height:114px;overflow:auto}.map-panel{bottom:90px}header{top:15px}.bottom-left{display:none}.touch-move{left:230px;bottom:85px}}
@media(max-width:500px){.locations{width:188px;max-height:220px}.locations .eyebrow,#places,#location-sub{display:none}.locations h1{margin:0 0 10px;font-size:17px}.all-zones{border:0;padding:0;margin:0}.touch-move{display:block}.map-panel{bottom:95px}}
@media(min-width:501px) and (max-height:600px){.touch-move{left:282px}}
@media(max-width:500px) and (max-height:600px){.touch-move{left:14px}.map-panel{width:120px}}

body[data-mode=overview] .locations #places,body[data-mode=plan] .locations #places,body[data-mode=overview] #location-sub,body[data-mode=plan] #location-sub{display:none}body[data-mode=overview] .touch-move,body[data-mode=plan] .touch-move{display:none}

#travel-status{padding:0 16px 9px;font-size:12px;line-height:1.5;color:#e6dfb1}#travel-status[hidden]{display:none}body[data-travelling] .touch-move{display:none}body[data-travelling=aerial] .locations #places,body[data-travelling=aerial] #location-sub{display:none}#minimap rect:focus-visible{outline:none;stroke:#f2d189;stroke-width:.7;fill:#dce7b866}

html,body{overscroll-behavior:none}
