@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";:root{color:#273025;font-synthesis:none;--olive:#424d30;--orange:#ed7446;--white:#fff;--muted:#777d70;font-family:Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;font-weight:500}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #ffd065}button svg{stroke-width:1.75px;width:21px;height:21px}a{color:inherit;text-decoration:none}.playground{isolation:isolate;background:#b9d9ed;width:100%;height:100dvh;position:relative}.world{touch-action:none;cursor:grab;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.world:active{cursor:grabbing}.header{top:max(24px,env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;left:30px;right:30px}.brand{color:#fff;text-shadow:0 2px 16px #283a3b75}.brand h1{letter-spacing:-1.8px;margin:0;font-size:36px;font-weight:900;line-height:1.2}.brand>span{letter-spacing:2.5px;margin-top:8px;font-size:11px;font-weight:800;display:block}.header-actions{pointer-events:auto;gap:10px;display:flex}.brand-link{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#546a6526;border:1.5px solid #ffffffd4;border-radius:10px;align-items:center;gap:12px;padding:11px 15px;font-size:15px;font-weight:700;transition:background .2s;display:flex}.brand-link:hover{background:#ffffff30}.icon-button{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#546a6530;border:1.5px solid #ffffffc9;border-radius:10px;place-items:center;width:44px;height:44px;transition:background .2s,transform .2s;display:grid}.icon-button:hover{background:#ffffff40;transform:translateY(-1px)}.icon-button[aria-pressed=true]{background:#ffffff65}.mission{background:#fffffff5;border-radius:18px;width:252px;padding:20px;position:absolute;top:158px;left:30px;box-shadow:0 6px 18px #28341d1f}.mission-top{letter-spacing:-.6px;justify-content:space-between;align-items:center;font-size:17px;font-weight:800;display:flex}.mission-time{font-variant-numeric:tabular-nums;color:#8a8d82;letter-spacing:.7px;font-size:11px;font-weight:500}.mission-divider{background:#dce0d5;height:1px;margin:13px 0 15px}.mission h2{letter-spacing:-.8px;color:#405335;margin:0;font-size:22px;font-weight:800;line-height:1.4}.mission p{letter-spacing:-.35px;color:#5c6457;margin:5px 0 16px;font-size:12px;line-height:1.6}.progress-track{background:#e7e8e2;border-radius:18px;place-items:center;height:31px;display:grid;position:relative;overflow:hidden}.progress-track>div{background:#c7d5b5;transition:width .5s;position:absolute;top:0;bottom:0;left:0}.progress-track>span{z-index:1;font-size:14px;font-weight:800;position:relative}.progress-track i{color:#8e9487;margin:0 4px;font-style:normal;font-weight:500}.steps{color:#959b8d;letter-spacing:-.3px;justify-content:space-between;align-items:center;gap:4px;margin:16px 0 0;padding:0;font-size:9px;list-style:none;display:flex}.steps li{align-items:center;gap:4px;display:flex}.steps span,.steps svg{stroke-width:2px;background:#edf0e8;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;display:grid}.steps .active{color:#536945;font-weight:800}.steps .active span{color:#536945;background:#e5eedb}.steps .done{color:#687d54}.steps .done svg{background:#e3ecd7;padding:2px}.tools{gap:8px;display:flex;position:absolute;top:86px;right:30px}.tools .icon-button{color:#4a5945;background:#ffffffd9;border-color:#fffc;width:34px;height:34px}.tools .icon-button svg{width:17px;height:17px}.tools .icon-button:hover{background:#fff}.context-action{white-space:nowrap;align-items:center;gap:12px;display:flex;position:absolute;bottom:106px;left:50%;transform:translate(-50%)}.action-primary{color:#fffdf3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#424d30ed;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:flex;box-shadow:0 3px 16px #26311d28}.action-primary:hover{background:#56663c;transform:translateY(-2px)}.action-primary:disabled:hover{background:#424d30ed;transform:none}.action-primary kbd{border-color:#f2f0df80;width:22px;height:24px;font-size:12px}.action-primary svg{width:17px;height:17px}.vehicle-readout{color:#737866;font-variant-numeric:tabular-nums;background:#ffffffeb;border-radius:12px;gap:13px;padding:12px 15px;font-size:10px;display:flex;box-shadow:0 3px 16px #26311d1a}.vehicle-readout span+span{border-left:1px solid #d6dbce;padding-left:12px}.vehicle-readout b{color:#424d30;font-size:16px;font-weight:800}.desktop-keys{color:#fffdf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;background:#424d30ed;border-radius:20px;align-items:center;gap:20px;padding:14px 22px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #26311d16}.desktop-keys>div{align-items:center;gap:7px;display:flex}.desktop-keys span{font-size:12px;font-weight:600}.desktop-keys .key-cluster{gap:4px}.key-cluster span{margin-left:7px}kbd{min-width:25px;height:29px;color:inherit;border:1px solid #fff9debd;border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 4px;font:600 14px/1 Noto Sans KR,sans-serif;display:inline-grid}.brake-hint kbd{min-width:44px;font-size:9px}.key-separator{background:#f6f2db36;width:1px;height:20px;margin:0 -6px}.location{color:#fff;text-shadow:0 2px 8px #26351d99;letter-spacing:-.3px;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:36px;left:30px}.location svg{fill:#fff;stroke:#7b8371;stroke-width:1.5px}.minimap{filter:drop-shadow(0 4px 8px #27371f26);text-align:center;width:152px;position:absolute;bottom:100px;right:30px}.minimap svg{width:100%;display:block}.minimap>span{letter-spacing:.5px;color:#fff;text-shadow:0 1px 6px #303c29;background:#46513c99;border-radius:9px;margin-top:5px;padding:3px 8px;font-size:9px;display:inline-block}.toast{color:#5e5f43;text-align:center;background:#fffdf5f5;border-radius:14px;align-items:center;gap:8px;max-width:min(560px,70vw);padding:12px 19px;font-size:13px;line-height:1.5;animation:.2s ease-out toast-in;display:flex;position:absolute;top:112px;left:50%;transform:translate(-50%);box-shadow:0 3px 20px #28351d20}.toast.success{color:#49633a}.toast svg{flex-shrink:0}@keyframes toast-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}.mobile-controls{display:none}.loading{z-index:20;color:#526445;text-align:center;background:#e9eedf;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.loading p{font-size:14px}.loading button{color:#fff;background:#424d30;border-radius:10px;padding:12px 24px}.loading h1{font-size:23px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#202d2473;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.modal{text-align:center;background:#fffef8;border-radius:24px;width:440px;max-width:100%;max-height:90dvh;padding:36px;position:relative;overflow:auto;box-shadow:0 20px 90px #1f2a3545}.close-button{color:#89927e;background:0 0;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:16px;right:16px}.close-button svg{width:20px}.modal-emblem{color:#576b42;background:#eaf0df;border-radius:20px;place-items:center;width:66px;height:66px;margin:0 auto 22px;display:grid}.modal h2{letter-spacing:-1px;margin:0 0 12px;font-size:24px;font-weight:800;line-height:1.5}.modal>p{color:#7c8272;letter-spacing:-.2px;margin:0 0 22px;font-size:13px;line-height:1.9}.modal .modal-small{letter-spacing:2px;color:#8a9b77;margin-bottom:8px;font-size:10px}.modal-cta{color:#fff;background:#424d30;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:22px;padding:14px;font-size:13px;font-weight:700;display:flex}.modal-cta:hover{background:#56663c}.secondary-button{color:#7f8973;background:0 0;width:100%;margin-top:6px;padding:14px;font-size:12px}.result-row{color:#8e9585;border-block:1px solid #e6eadf;justify-content:space-around;padding:20px 0;font-size:10px;display:flex}.result-row strong{color:#4e6040;font-variant-numeric:tabular-nums;margin-top:8px;font-size:22px;font-weight:800;display:block}.modal .best-record{margin:12px 0 -5px;font-size:10px}.help-controls{text-align:left;margin:24px 0}.help-controls>div{align-items:center;margin:11px 0;font-size:11px;display:flex}.help-controls dt{color:#68775a;flex-shrink:0;width:102px;font-size:10px}.help-controls dd{color:#68715f;margin:0}.help-controls kbd{border-color:#b8c2ac;min-width:24px;height:24px;font-size:10px}.modal .simulation-note{color:#99a18e;margin-bottom:0;font-size:10px;line-height:1.6}@media (width>=1600px){.brand h1{font-size:43px}.mission{width:270px;padding:23px;top:182px}.mission h2{font-size:24px}.mission p{font-size:13px}.minimap{width:174px;bottom:100px}}@media (width<=1180px) and (width>=781px){.location span{max-width:110px;line-height:1.5}.desktop-keys{gap:12px;padding-inline:16px}.desktop-keys .brake-hint{display:none}.minimap{width:120px}.mission{width:232px;left:24px}.header{left:24px;right:24px}.location{left:24px}.tools{right:24px}}@media (width<=780px),(pointer:coarse){.header{left:17px;right:17px;top:max(18px,env(safe-area-inset-top));gap:10px}.brand h1{letter-spacing:-1.4px;font-size:27px}.brand>span{letter-spacing:1.6px;margin-top:5px;font-size:7px}.header-actions{gap:6px}.brand-link{border-radius:8px;gap:2px;min-height:35px;padding:9px;font-size:10px}.brand-link svg{width:14px}.header-actions>.icon-button{border-radius:8px;width:35px;height:35px}.header-actions>.icon-button svg{width:17px}.mission{border-radius:14px;width:185px;padding:15px;top:103px;left:17px}.mission-top{font-size:13px}.mission-time{font-size:9px}.mission-divider{margin:9px 0 10px}.mission h2{letter-spacing:-.6px;font-size:18px}.mission p{min-height:30px;margin:4px 0 11px;font-size:10px;line-height:1.5}.progress-track{height:24px}.progress-track>span{font-size:11px}.steps{gap:2px;margin-top:11px;font-size:8px}.steps span,.steps svg{width:13px;height:13px;font-size:8px}.steps li{gap:3px}.tools{flex-direction:column;gap:7px;top:92px;right:17px}.tools .icon-button{width:32px;height:32px}.minimap{width:105px;top:222px;bottom:auto;right:16px}.minimap>span{font-size:8px}.toast{border-radius:10px;width:max-content;max-width:calc(100vw - 34px);padding:9px 12px;font-size:11px;top:342px}.desktop-keys{display:none}.context-action{bottom:calc(196px + env(safe-area-inset-bottom));flex-direction:column;gap:6px}.action-primary{border-radius:11px;gap:7px;min-height:42px;padding:10px 14px;font-size:11px}.action-primary kbd{display:none}.vehicle-readout{box-shadow:none;background:#ffffffef;gap:9px;padding:7px 12px;font-size:9px}.vehicle-readout b{font-size:13px}.vehicle-readout span+span{padding-left:9px}.location{bottom:calc(14px + env(safe-area-inset-bottom));font-size:9px;left:17px}.location svg{width:13px;height:13px}.mobile-controls{left:17px;right:17px;bottom:calc(44px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.dpad{grid-template-rows:repeat(3,43px);grid-template-columns:repeat(3,45px);gap:4px;display:grid}.hold-button,.mobile-operations>button{pointer-events:auto;color:#fffbe9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;background:#424d30d9;border:1px solid #e7e9d3b3;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 3px 10px #28351d10}.hold-button:active,.mobile-operations>button:active{background:#7a8a55}.dpad .up{grid-area:1/2}.dpad .left{grid-area:2/1}.dpad .stop{color:#627053;background:#f2eddbc9;grid-area:2/2;font-size:9px}.dpad .right{grid-area:2/3}.dpad .down{grid-area:3/2}.dpad svg{width:20px;height:20px}.mobile-operations{flex-direction:column;gap:6px;display:flex}.mobile-operations>button{width:50px;height:40px}.mobile-operations>.hold-button{flex-direction:row;gap:1px}.mobile-operations>.hold-button span{font-size:8px}.mobile-operations svg{width:18px}.modal{border-radius:20px;max-height:90dvh;padding:28px 24px}.modal h2{font-size:21px}.modal>p{font-size:12px}.modal-emblem{width:57px;height:57px;margin-bottom:18px}.result-row strong{font-size:20px}}@media (height<=620px) and (width<=1000px){.mission{width:184px;padding:12px;top:85px}.mission h2{font-size:17px}.mission p{min-height:0;margin-bottom:8px}.steps{display:none}.mission-divider{margin:7px 0}.minimap{width:86px;top:auto;bottom:30px;right:19px}.toast{max-width:45vw;top:95px}.context-action{flex-direction:row;bottom:35px;left:53%}.vehicle-readout{padding:9px}.mobile-controls{bottom:22px;right:124px}.dpad{grid-template-rows:repeat(3,32px);grid-template-columns:repeat(3,36px);gap:3px}.header{top:14px}.brand h1{font-size:25px}.tools{top:70px;right:18px}.location{display:none}.mobile-operations>button{width:43px;height:33px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.vehicle-readout .gear{color:#53683d;background:#e5eadb;border-radius:5px;place-items:center;min-width:20px;height:22px;margin-right:5px;font-size:12px;display:inline-grid}.vehicle-utilities{color:#626f55;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-radius:12px;align-items:center;gap:6px;padding:5px 7px 5px 12px;display:flex;box-shadow:0 3px 16px #26311d1a}.vehicle-utilities>span{min-width:40px;font-size:10px}.vehicle-utilities>button{color:#566946;background:#eef0e7;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.vehicle-utilities>button[aria-pressed=true]{color:#63722e;background:#e1e8c7}.vehicle-utilities>button:hover{background:#dce4ca}.vehicle-utilities>button svg{width:18px;height:18px}@media (width<=780px),(pointer:coarse){.vehicle-utilities{box-shadow:none;background:#ffffffd9;gap:5px;padding:4px 6px 4px 10px}.vehicle-utilities>button{width:29px;height:27px}.vehicle-utilities>span{font-size:9px}.vehicle-readout .gear{min-width:18px;height:18px;margin-right:3px;font-size:10px}.context-action{gap:5px}}@media (height<=620px) and (width<=1000px){.vehicle-utilities>span{display:none}.vehicle-utilities{gap:3px;padding:4px}.vehicle-utilities>button{width:27px;height:27px}.context-action{gap:5px}.vehicle-readout{padding:8px;font-size:8px}.vehicle-readout b{font-size:12px}.action-primary{padding:10px;font-size:10px}}.modal .model-credit{color:#7c8870;margin:12px 0;font-size:10px;line-height:1.7}.model-credit a{text-underline-offset:2px;text-decoration:underline}.modal .zoom-note{color:#7c8870;font-size:11px}.action-primary.cargo-ready{background:#506b34;box-shadow:0 0 0 2px #c4dd99,0 3px 16px #26311d28}.brand-site{pointer-events:auto;text-underline-offset:3px;text-decoration:underline}.departing :is(.mission,.tools,.toast,.desktop-keys,.location,.minimap){display:none}.departing .context-action{bottom:calc(30px + env(safe-area-inset-bottom));flex-direction:row;gap:8px;left:50%}.departure-status{color:#405335;background:#fffef2ed;border-radius:12px;align-items:center;gap:8px;padding:11px 13px;font-size:13px;font-weight:800;display:flex}
