:root{color:#e6eae0;background:#11191b;font:14px/1.5 system-ui,Arial,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0;overflow:hidden}.background{position:fixed;inset:0}.background canvas{width:100%;height:100%;display:block}.background:after{content:"";pointer-events:none;background:linear-gradient(90deg,#11191bf2,#11191bbb 35%,#0000 90%);position:absolute;inset:0}.shell{pointer-events:none;grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(300px,450px) 1fr 260px;gap:13px;min-height:100dvh;padding:18px;display:grid;position:relative}.shell>*{pointer-events:auto}header{grid-column:1/-1;justify-content:space-between;align-items:flex-start;display:flex}.identity small{color:#a4d7b7;letter-spacing:.26em;font-size:10px}.identity h1{letter-spacing:.06em;margin:5px 0 0;font-size:32px;line-height:1}.identity h1 span{color:#ffb267}.identity p{letter-spacing:.25em;color:#9aada2;font-size:10px}.header-right{letter-spacing:.09em;align-items:center;gap:12px;font-size:11px;display:flex}button,select{color:#e9efdf;font:inherit;cursor:pointer;background:#273633;border:1px solid #728076;border-radius:5px;padding:10px}button:hover{border-color:#f6b66d}button:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #eebb79}button.primary{color:#18201f;letter-spacing:.08em;background:#e0a061;border-color:#f7c796;font-weight:800}button.secondary{font-size:11px}.hud{grid-column:1/-1;grid-template-columns:minmax(250px,1.12fr) minmax(155px,.72fr) minmax(190px,.9fr) minmax(300px,1.3fr);align-items:stretch;gap:9px;display:grid}.hud-panel{isolation:isolate;background:linear-gradient(145deg,#46514f 0%,#202b2b 18%,#121b1c 62%,#293332 100%);border:1px solid #9b9b8377;min-width:0;padding:10px 12px 9px;position:relative;overflow:hidden;box-shadow:inset 0 1px #d2d2b522,inset 0 -2px #080d0f,0 8px 24px #0007}.hud-panel:after{content:"";opacity:.7;pointer-events:none;background:linear-gradient(90deg,#0000,#f0b572);width:42px;height:3px;position:absolute;top:0;right:0}.hud-panel-head{border-bottom:1px solid #a2a69038;justify-content:space-between;align-items:center;gap:8px;padding-bottom:7px;display:flex}.hud-kicker,.hud-label{letter-spacing:.16em;color:#adbaad;font-size:9px;font-weight:800}.hud-stamp{letter-spacing:.12em;color:#f0b572;font:8px/1.2 ui-monospace,monospace}.driver-line,.health-line{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.driver-line b{letter-spacing:.1em;color:#f1dfb5;font:700 14px/1.1 ui-monospace,monospace}.health-line{margin-top:12px}.health-line b{color:#f4d9a2;font:700 12px/1 ui-monospace,monospace}.health-meter{background:#090f10;border:1px solid #9b9b8377;height:12px;margin-top:6px;padding:2px;position:relative;overflow:hidden;box-shadow:inset 0 1px 4px #000}.health-meter span{background:linear-gradient(90deg,#69956e,#a8bd79 48%,#e3b367) 0 0/180% 100%;width:100%;height:100%;transition:width .45s cubic-bezier(.2,.7,.2,1),background-color .3s;animation:3s ease-in-out infinite health-live;display:block;position:relative;box-shadow:0 0 8px #a9d38688}.health-meter i{pointer-events:none;background:linear-gradient(110deg,#0000 35%,#fff5 50%,#0000 65%);animation:3.4s linear infinite health-sheen;position:absolute;inset:0;transform:translate(-100%)}.hud-health.is-warning .health-meter span{background:linear-gradient(90deg,#bd762e,#e8b45e 48%,#f2d37c)}.hud-health.is-critical .health-meter span{background:linear-gradient(90deg,#842a25,#cb5140 48%,#f18962);animation:1.1s ease-in-out infinite health-live;box-shadow:0 0 11px #e04a3e99}.health-caption{color:#87958d;letter-spacing:.1em;justify-content:space-between;margin-top:4px;font:8px ui-monospace,monospace;display:flex}.hud-health.is-warning #health-state{color:#e9b867}.hud-health.is-critical #health-state{color:#ff786a}.hud-context{border-top:1px solid #a2a69030;justify-content:space-between;gap:8px;margin-top:10px;padding-top:7px;display:flex}.hud-context span{flex-direction:column;gap:2px;display:flex}.hud-context small{color:#75847c;letter-spacing:.12em;font-size:8px}.hud-context b{color:#d4d4bd;letter-spacing:.04em;font:9px ui-monospace,monospace}.hud-speed{flex-direction:column;display:flex}.speed-gauge{width:100%;height:82px;margin:-1px auto -29px;display:block;overflow:visible}.speed-gauge path{fill:none;stroke-linecap:round}.speed-gauge .gauge-track{stroke:#768076;stroke-width:4px}.speed-gauge .gauge-tick{stroke:#d7a76a;stroke-width:1.5px;stroke-dasharray:1 9}.speed-gauge #speed-needle{stroke:#f1a65e;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 3px #ef965c);transition:transform .45s cubic-bezier(.18,.85,.25,1)}.speed-gauge #speed-needle circle{fill:#d8c9a5;stroke:#101617;stroke-width:2px}.speed-reading{justify-content:center;align-items:baseline;gap:5px;display:flex;position:relative}.speed-reading strong{color:#f5e1b4;letter-spacing:.04em;text-shadow:0 0 12px #eeb56c44;font:800 27px/.95 ui-monospace,monospace}.speed-reading span{letter-spacing:.1em;color:#aeb7a9;font:8px ui-monospace,monospace}.speed-footer{color:#87958d;letter-spacing:.08em;border-top:1px solid #a2a69030;justify-content:space-between;margin-top:auto;padding-top:7px;font:8px ui-monospace,monospace;display:flex}.speed-footer b{color:#e8bc7b}.hud-speed.is-moving .speed-reading strong{color:#ffc37a}.radar-face{background:#0b1616;border:1px solid #bd95616b;border-radius:50%;width:112px;height:112px;margin:8px auto 5px;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #000,0 0 9px #81d4a022}.radar-sweep{transform-origin:0 0;clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none;background:linear-gradient(90deg,#75e4bd7a,#0000);width:50%;height:50%;animation:4.2s linear infinite radar-sweep;position:absolute;top:50%;left:50%;transform:rotate(-90deg)}.radar-sweep:after{content:"";background:#a4f8d6;width:100%;height:1px;position:absolute;top:0;left:0;box-shadow:0 0 5px #75ffc6}.radar-crosshair{pointer-events:none;background:linear-gradient(90deg,#0000 calc(50% - .5px),#91c7a533 50%,#0000 calc(50% + .5px)),linear-gradient(0deg,#0000 calc(50% - .5px),#91c7a533 50%,#0000 calc(50% + .5px));border-radius:50%;position:absolute;inset:0}.radar-legend{color:#89958a;letter-spacing:.07em;justify-content:space-between;gap:4px;font:7px ui-monospace,monospace;display:flex}.radar-legend span{align-items:center;gap:3px;display:flex}.radar-legend i{border-radius:50%;width:5px;height:5px}.legend-player{background:#ff7848}.legend-traffic{background:#de7764}.hud-combat{flex-direction:column;display:flex}.combat-layout{flex:1;grid-template-columns:minmax(0,1fr) 76px;align-items:stretch;gap:8px;margin-top:8px;display:grid}.weapon-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.weapon-slot{background:linear-gradient(150deg,#26312e,#111818);border:1px solid #7f887b55;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-width:0;padding:5px 6px;display:flex;box-shadow:inset 0 1px #ffffff0c}.weapon-index{color:#78877c;font:8px ui-monospace,monospace}.weapon-name{color:#d4c9ad;letter-spacing:.06em;font:700 9px ui-monospace,monospace}.weapon-slot b{color:#e5b876;letter-spacing:.08em;font:700 7px ui-monospace,monospace}.weapon-slot.is-locked{opacity:.58}.weapon-slot.is-empty b{color:#b58173}.weapon-slot.is-ready{border-color:#d5a45c99;box-shadow:inset 0 0 11px #cf995019,0 0 7px #dca25b20}.damage-panel{background:#0d1515a8;border-left:1px solid #ad9c6b55;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:4px 6px;display:flex}.damage-panel strong{color:#ff8a69;font:800 19px/.95 ui-monospace,monospace}.damage-panel>b{color:#d5c4a1;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;font:700 7px ui-monospace,monospace;overflow:hidden}.damage-panel small{color:#8f9b91;letter-spacing:.04em;margin-top:4px;font:7px ui-monospace,monospace}.damage-panel.damage-active{border-left-color:#ff725d;animation:.48s ease-in-out 3 damage-pulse}.hud-alert{color:#8e9a8f;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #a2a69030;align-items:center;gap:6px;min-height:20px;margin-top:7px;padding:3px 6px;font:8px ui-monospace,monospace;display:flex;overflow:hidden}.hud-alert i{background:#829182;border-radius:50%;flex:0 0 6px;width:6px;height:6px;box-shadow:0 0 5px}.hud-alert.tone-success{color:#a8d7a5}.hud-alert.tone-warning{color:#f1bd68}.hud-alert.tone-danger{color:#ff7968}.hud-alert.alert-active i{animation:.65s steps(2,end) infinite alert-blink}.hud-health.damage-hit{animation:.38s ease-in-out 2 damage-pulse}@keyframes health-live{0%,to{filter:brightness(.9)}50%{filter:brightness(1.22)}}@keyframes health-sheen{to{transform:translate(100%)}}@keyframes radar-sweep{to{transform:rotate(270deg)}}@keyframes damage-pulse{0%,to{box-shadow:inset 0 1px #d2d2b522,inset 0 -2px #080d0f,0 8px 24px #0007}50%{box-shadow:inset 0 0 30px #f04d3e44,0 0 18px #f04d3e88}}@keyframes alert-blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.hud *,.hud :before,.hud :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.control{background:#152120ee;border:1px solid #6974699e;grid-area:3/1;max-height:67vh;padding:18px;overflow:auto}.control h2,.feed h2{letter-spacing:.12em;border-bottom:1px solid #61716196;margin:0;padding-bottom:12px;font-size:12px}.control p{color:#b5c3ba;font-size:12px;line-height:1.65}#orders{flex-direction:column;gap:12px;display:flex}#orders[hidden],#join-area[hidden]{display:none}#join-area button{width:100%}label{letter-spacing:.15em;color:#bbcfbf;font-size:10px;font-weight:700}.hint{color:#a2afa5;font-size:11px}#message{overflow-wrap:anywhere;background:#263934;border-left:3px solid #e4ad74;padding:12px}#message.error{color:#f2a6a1;border-color:#ce5c52}.feed{background:#152120e9;border:1px solid #69746980;grid-area:3/3;max-height:67vh;padding:17px;overflow:auto}.event{border-bottom:1px solid #6a7c7244;justify-content:space-between;gap:5px;padding:10px 0;font-size:10px;display:flex}.event b{color:#ade2bb}.event time{color:#b8ac9d}footer{color:#a3b8ab95;letter-spacing:.11em;grid-column:1/-1;justify-content:space-between;align-self:end;font-size:10px;display:flex}@media (max-width:950px){.shell{grid-template-columns:1fr 250px}.feed{grid-column:2}}@media (max-width:670px){body{overflow:auto}.background{position:fixed}.background:after{background:linear-gradient(#11191b55,#11191bc8 44%,#11191bf7)}.shell{flex-direction:column;padding:12px;display:flex}.identity h1{font-size:25px}.header-right{gap:5px;font-size:9px}.hud{grid-template-columns:1fr 1fr;display:grid}.hud>div{min-width:0;padding:9px}.control,.feed{max-height:none}footer{flex-direction:column;gap:4px}}#radar{aspect-ratio:1;filter:none;background:0 0;border-radius:50%;width:100%;height:100%;margin:0;display:block}.hud-radar .radar-face{width:148px;height:148px;margin:7px auto 5px}.radar-tools{justify-content:center;align-items:center;gap:4px;margin:2px 0 4px;display:flex}.radar-tools button{letter-spacing:.04em;border-radius:3px;min-width:22px;padding:3px 5px;font:700 8px/1.1 ui-monospace,monospace}.radar-tools button:disabled{opacity:.42;cursor:default}.radar-tools output{text-align:center;color:#e4d2a7;letter-spacing:.08em;min-width:50px;font:700 8px/1.1 ui-monospace,monospace}.radar-tools #radar-rotate{color:#9be2b8;min-width:56px}.radar-legend{grid-template-columns:repeat(2,minmax(0,1fr));max-width:160px;margin:0 auto;display:grid}.radar-legend .legend-objective{background:#ffb263}.radar-legend .legend-pickup{background:#a8ed77}.hud-context b{font-variant-numeric:tabular-nums}@media (max-width:1150px){.hud{grid-template-columns:minmax(0,1.1fr) minmax(155px,.7fr)}.hud-combat{grid-column:1/-1}.hud-radar .radar-face{width:124px;height:124px}}@media (max-width:670px){.hud{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.hud-combat{grid-column:1/-1}.hud-panel{padding:9px 9px 8px}.combat-layout{grid-template-columns:minmax(0,1fr) 82px}.weapon-stack{gap:4px}.weapon-slot{padding:5px 4px}.hud-radar .radar-face{width:108px;height:108px}.hud-context b{font-size:8px}}@media (max-width:360px){.combat-layout{grid-template-columns:minmax(0,1fr) 70px}.weapon-name,.hud-kicker{font-size:8px}}@media (min-width:671px){body{overflow:hidden}.shell{grid-template-rows:auto auto minmax(0,1fr) auto;height:100dvh;min-height:0}.control,.feed{overscroll-behavior:contain;min-height:0;max-height:none;overflow:auto}.shell footer{align-self:end}}@media (min-width:951px) and (max-width:1150px){.hud{grid-template-columns:minmax(0,1.12fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1.3fr)}.hud-combat{grid-column:auto}.hud-radar .radar-face{width:108px;height:108px}.radar-legend{font-size:6px}.weapon-name{font-size:8px}}@media (min-width:671px) and (max-width:950px){.hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hud-combat{grid-column:auto}.hud-panel{padding:8px}.hud-radar .radar-face{width:83px;height:83px}.hud-radar .radar-legend{display:none}.hud-speed .speed-gauge{height:64px;margin:-4px auto -23px}}#game-mobile-nav{display:none}@media (max-width:670px){:root{--game-dock:66px;--game-hud-top:63px;--game-sheet-top:clamp(202px,34dvh,255px)}html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.background,.background canvas{width:100%;height:100%;position:fixed;inset:0}.background:after{background:linear-gradient(#0c151cc7 0%,#15212126 35%,#0b131118 64%,#0b1516b5 100%)}.shell{pointer-events:none;height:100dvh;min-height:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}.shell>header{z-index:33;height:var(--game-hud-top);pointer-events:auto;background:linear-gradient(#0e1719f5,#172423be);border-bottom:1px solid #9f866c55;align-items:center;gap:5px;padding:9px 10px;display:flex;position:fixed;top:0;left:0;right:0}.identity{flex:1;min-width:0}.identity small,.identity p{display:none}.identity h1{letter-spacing:0;white-space:nowrap;margin:0;font-size:clamp(16px,4.9vw,21px);line-height:1.05}.header-right{gap:4px}.header-right #network{display:none}.header-right button{letter-spacing:0;white-space:nowrap;min-height:40px;padding:6px 7px;font-size:9px;line-height:1.2}.header-right #weather{text-overflow:ellipsis;max-width:108px;overflow:hidden}.hud{left:6px;right:6px;top:var(--game-hud-top);z-index:31;pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(0,.86fr) minmax(0,1fr);gap:5px;height:auto;display:grid;position:fixed}.hud>.hud-panel{pointer-events:auto;background:#13201fe9;min-width:0;max-height:155px;padding:7px 5px;overflow:hidden}.hud-panel-head{gap:0;padding-bottom:3px}.hud-panel-head .hud-stamp{display:none}.hud-kicker,.hud-label{letter-spacing:.035em;font-size:7px}.hud-health .driver-line{flex-direction:column;align-items:flex-start;gap:1px;margin-top:6px;display:flex}.hud-health .driver-line b{text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.hud-health .health-line{margin-top:6px;display:block}.hud-health .health-line b{margin-top:3px;font-size:10px;display:block}.hud-health .health-meter{height:10px;margin-top:4px}.hud-health .health-caption,.hud-health .hud-context{display:none}.hud-speed .speed-gauge{height:63px;margin:-10px auto -23px}.speed-reading{margin-top:4px}.speed-reading strong{font-size:20px}.speed-reading span{font-size:7px}.speed-footer{padding-top:6px;font-size:7px}.hud-radar .radar-face{aspect-ratio:1;width:min(70px,75%);height:auto;margin:4px auto 1px}.hud-radar .radar-tools{flex-wrap:wrap;gap:2px;margin:1px 0 0;display:flex}.hud-radar .radar-tools button{min-width:19px;min-height:20px;padding:2px 3px;font-size:8px}.hud-radar .radar-tools output{min-width:22px;font-size:7px}.hud-radar #radar-rotate{min-width:40px;font-size:7px}.hud-radar .radar-legend{display:none}.hud-combat{grid-column:auto;display:none}html[data-ui-panel=damage] .hud-combat{left:7px;right:7px;top:var(--game-sheet-top);bottom:calc(var(--game-dock) + env(safe-area-inset-bottom) + 8px);z-index:44;pointer-events:auto;border:1px solid #d3a570;max-height:none;padding:16px;display:flex;position:fixed;overflow:auto;box-shadow:0 14px 35px #000b}html[data-ui-panel=damage] .hud-combat .combat-layout{flex:none;min-height:160px}.shell>.control,.shell>.feed{left:7px;right:7px;top:var(--game-sheet-top);bottom:calc(var(--game-dock) + env(safe-area-inset-bottom) + 8px);z-index:43;pointer-events:auto;overscroll-behavior:contain;background:linear-gradient(160deg,#172723f5,#101a1af9);border:1px solid #b9a17499;border-radius:8px;width:auto;height:auto;min-height:0;max-height:none;padding:16px;display:none;position:fixed;overflow:auto;box-shadow:0 18px 36px #000b}html[data-ui-panel=route] .shell>.control,html[data-ui-panel=world] .shell>.control,html[data-ui-panel=log] .shell>.feed{display:block}.shell>.control h2,.shell>.feed h2{z-index:2;background:#172623f7;padding:8px 0;position:sticky;top:-16px}.shell>.control #world-pulse-panel{margin-top:18px}.shell footer{display:none}#game-mobile-nav{z-index:65;min-height:var(--game-dock);padding:6px 6px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#0e1a1bef;border-top:1px solid #c2a06b88;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}#game-mobile-nav button{letter-spacing:.01em;color:#c0ccc0;background:#1b2b28;border:1px solid #496159;border-radius:5px;min-width:0;min-height:45px;padding:5px 2px;font:700 clamp(8px,2.2vw,10px)/1.1 ui-monospace,monospace}#game-mobile-nav button.is-active,#game-mobile-nav button[aria-pressed=true]{color:#1a2422;background:#f1bb72;border-color:#ffd392}}@media (max-width:350px){:root{--game-sheet-top:194px}.shell>header{padding-left:6px;padding-right:6px}.identity h1{font-size:16px}.header-right #weather{max-width:85px}.header-right button{padding:5px;font-size:8px}.hud>.hud-panel{padding:6px 4px}.hud-radar .radar-face{width:60px}}@media (max-width:670px) and (prefers-reduced-motion:reduce){#game-mobile-nav,.shell>.control,.shell>.feed{-webkit-backdrop-filter:none;backdrop-filter:none;transition:none}}
