*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#07101a;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7fbff;-webkit-user-select:none;user-select:none}#game{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}.loading{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(circle at 50% 35%,#1a2b3c,#07101a 72%);transition:.4s opacity}.loading.done{opacity:0;pointer-events:none}.loading strong{font-size:17px}.loading span{font-size:12px;color:#91a7bc}.loader{width:44px;height:44px;border:3px solid rgba(255,255,255,.14);border-top-color:#62a9ef;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#hud{position:fixed;inset:0;pointer-events:none}.glass{background:linear-gradient(145deg,rgba(7,16,25,.76),rgba(17,31,45,.6));border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 36px rgba(0,0,0,.18);backdrop-filter:blur(11px);border-radius:14px}.topbar{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:calc(11px + env(safe-area-inset-top)) 12px 34px;background:linear-gradient(180deg,rgba(5,10,17,.94),rgba(5,10,17,.5) 64%,transparent)}.brand{display:flex;flex-direction:column;gap:4px}.brand strong{font-size:13px;letter-spacing:.065em}.brand i{font-style:normal;color:#ef4d4f}.brand span{font-size:10px;color:#a9bfd4}.statStrip{display:flex;gap:6px}.statStrip span{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:10px;background:rgba(11,23,35,.72);border:1px solid rgba(255,255,255,.1);font-size:10px}.statStrip em{font-style:normal;color:#88baf0}.statStrip b{font-weight:800}.missionRibbon{position:absolute;left:10px;right:10px;top:calc(77px + env(safe-area-inset-top));padding:10px 12px}.missionKicker{font-size:9px;font-weight:850;letter-spacing:.13em;color:#82b9ed}.missionText{font-size:12px;font-weight:760;margin-top:3px}.progress{height:3px;background:rgba(255,255,255,.1);border-radius:3px;margin-top:8px;overflow:hidden}.progress>div{height:100%;width:0;background:linear-gradient(90deg,#4e99e6,#79c9a3);transition:.35s width}.sideBtn{pointer-events:auto;position:absolute;right:10px;top:calc(146px + env(safe-area-inset-top));border:0;color:#d8e9f8;padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}.sideBtn2{top:calc(185px + env(safe-area-inset-top))}.pulseCard{position:absolute;left:10px;bottom:calc(52px + env(safe-area-inset-bottom));width:172px;padding:9px 10px;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.pulseCard div{display:flex;justify-content:space-between;gap:6px;font-size:9px;color:#b9cadd}.pulseCard b{color:#fff}.context{position:absolute;left:50%;bottom:calc(54px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:72%;padding:9px 14px;border-radius:12px;background:rgba(4,9,14,.62);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px);font-size:11px;text-align:center;transition:.2s}.context.active{background:rgba(34,89,145,.86);border-color:rgba(129,190,249,.5)}.touchHelp{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);white-space:nowrap;font-size:8px;letter-spacing:.06em;color:rgba(255,255,255,.68);background:rgba(4,9,14,.42);padding:5px 8px;border-radius:8px}.toast{position:fixed;z-index:25;left:50%;top:calc(132px + env(safe-area-inset-top));transform:translateX(-50%);width:min(84%,410px);padding:10px 12px;background:rgba(18,39,59,.94);border:1px solid rgba(104,174,241,.36);border-radius:12px;box-shadow:0 16px 45px rgba(0,0,0,.25);font-size:11px;line-height:1.35;transition:.25s}.toast.hidden{opacity:0;transform:translate(-50%,-10px);pointer-events:none}.drawer{position:fixed;z-index:32;top:0;right:0;width:min(86vw,360px);height:100%;padding:calc(14px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0d1a28,#0a131e);border-left:1px solid rgba(255,255,255,.12);box-shadow:-25px 0 70px rgba(0,0,0,.35);overflow:auto;transition:.3s transform}.drawer.hidden{transform:translateX(102%);display:block}.drawerHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.drawerHead small{display:block;font-size:9px;color:#7fb5e8;letter-spacing:.12em}.drawerHead strong{font-size:17px}.drawerHead button{width:38px;height:38px;border:0;border-radius:10px;background:#1e3246;color:white;font-size:24px}.drawerSection{padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}.drawerSection h3{font-size:10px;letter-spacing:.12em;color:#82b9ed;margin:0 0 10px}.objective{display:flex;gap:8px;align-items:flex-start;margin:9px 0;font-size:11px;line-height:1.35}.objective .dot{width:14px;height:14px;border:1px solid #6d8298;border-radius:50%;flex:0 0 14px;margin-top:1px}.objective.done{color:#7f93a6}.objective.done .dot{background:#4fa778;border-color:#4fa778;position:relative}.objective.done .dot:after{content:"✓";position:absolute;left:2px;top:-2px;font-size:10px}.objective.active .dot{border-color:#5da4ee;box-shadow:0 0 0 3px rgba(93,164,238,.13)}.activityLog{display:flex;flex-direction:column;gap:8px}.logItem{font-size:10px;line-height:1.35;color:#c4d2df;padding:8px 9px;background:#0a1521;border-radius:9px}.logItem b{color:#7fb5e8;font-weight:700}.relations{display:grid;gap:7px}.relations span{display:flex;justify-content:space-between;font-size:11px;color:#bfd0de}.modal{position:fixed;z-index:40;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(2,7,12,.62);backdrop-filter:blur(5px)}.modal.hidden{display:none}.modalCard{position:relative;width:min(620px,100%);max-height:84vh;overflow:auto;padding:20px;background:linear-gradient(145deg,#132438,#0d1826);border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 25px 75px rgba(0,0,0,.45)}.close{position:absolute;right:10px;top:9px;width:39px;height:39px;border:0;border-radius:10px;color:#fff;background:#24384d;font-size:25px}.kicker{font-size:10px;letter-spacing:.12em;color:#78b6ef;font-weight:850}.modalCard h2{margin:7px 42px 13px 0;font-size:21px}.modalBody{font-size:13px;line-height:1.5;color:#dae6f1}.dialogue{padding:13px 14px;border-radius:12px;background:#0a1521;border-left:3px solid #538ed0}.mission{margin:9px 0;padding:12px;border-radius:12px;background:#0a1521;border:1px solid rgba(255,255,255,.09)}.mission strong{display:block;margin-bottom:5px}.mission small{display:block;color:#94aac0;margin-bottom:5px}.mission .money{color:#80d19c}.quoteGrid{display:grid;gap:8px;margin-top:9px}.quote{padding:10px;border-radius:10px;background:#0a1521;border:1px solid rgba(255,255,255,.08)}.quote b{display:block}.quote small{color:#91a7ba}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.actions button{pointer-events:auto;flex:1;min-width:115px;border:0;border-radius:11px;padding:12px 10px;background:#2f6fab;color:#fff;font-weight:800}.actions button.secondary{background:#33475a}.actions button.danger{background:#783b48}.actions button.success{background:#2f8057}@media(max-width:700px){.topbar{padding-left:10px;padding-right:10px}.brand strong{font-size:12px}.statStrip span:nth-child(3){display:none}.missionRibbon{top:calc(72px + env(safe-area-inset-top))}.pulseCard{width:152px}.context{max-width:68%}}
