:root{color-scheme:dark;--ink:#e4ebdf;--muted:#91a5a4;--dim:#687d80;--line:rgba(188,212,210,.16);--glass:rgba(8,19,24,.77);--cyan:#8bd7df;--gold:#e5c78c;--rust:#df8d65}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071319;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(ellipse at 49% 41%,#20383d 0%,#12262d 38%,#09171d 74%,#050c10 100%)}
button{font:inherit;color:inherit}
#game-shell{position:relative;width:100vw;height:100dvh;min-height:420px;overflow:hidden;isolation:isolate}
#world,#rain{position:absolute;inset:0;width:100%;height:100%;display:block}
#world{z-index:0;outline:none;touch-action:none}
#rain{z-index:1;pointer-events:none;opacity:.6}
.vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 34%,rgba(2,8,11,.34) 78%,rgba(2,6,8,.76) 140%),linear-gradient(180deg,rgba(3,12,17,.25),transparent 20%,transparent 78%,rgba(4,10,13,.36))}
#lightning{position:absolute;inset:0;z-index:3;pointer-events:none;background:rgba(185,220,255,0);transition:background .09s linear}
.masthead{position:absolute;z-index:5;left:30px;top:25px;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.kicker,.readout-label,.beacon-label,.beacon-coord,.readout-foot,.screen-overline,.transmission,.start-foot,.screen-coordinate,.ending-foot,.control-strip,.compass,.mission-index{font-size:9px;letter-spacing:.16em;font-weight:700}
.kicker{color:#b9ccca;display:flex;align-items:center;gap:8px}.kicker-dot,.transmission-light{display:inline-block;width:6px;height:6px;border-radius:50%;background:#dfad69;box-shadow:0 0 10px #dfad69}.slash{color:#627c7e}
.wordmark{margin-top:7px;font-family:Georgia,"Times New Roman",serif;letter-spacing:.14em;font-size:17px;color:#f0eee1}.wordmark span{color:#a1b2af;font-size:11px;font-family:ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em}
.glass{background:linear-gradient(135deg,rgba(9,22,27,.87),rgba(11,24,29,.62));border:1px solid var(--line);box-shadow:0 12px 35px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.readout{position:absolute;z-index:5;left:30px;top:93px;width:263px;padding:17px 17px 13px;border-radius:3px}
.readout-label{color:#9cafad;display:flex;justify-content:space-between;align-items:center}.live-mark{font-size:8px;color:#9ad0bc;letter-spacing:.12em}.live-mark::first-letter{color:#82d4a4}
.core-count{display:flex;align-items:baseline;gap:5px;margin:14px 0 9px}.core-count #core-count{font-family:Georgia,serif;font-size:42px;line-height:.9;color:#f2ebd9;letter-spacing:.03em}.count-divider{color:#6b8382;font-size:20px}.count-total{font-family:Georgia,serif;color:#8ca2a1;font-size:23px}.count-unit{margin-left:7px;color:#9cafad;font-size:9px;letter-spacing:.15em;font-weight:700}
.progress-track{height:2px;background:rgba(173,199,197,.16);overflow:hidden}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,#7ebbc3,#dfc18a);transition:width .5s ease;box-shadow:0 0 8px rgba(139,215,223,.55)}
.objective-copy{margin-top:9px;color:#b8c9c4;font-size:11px;line-height:1.5}.readout-rule{height:1px;background:var(--line);margin:13px 0 10px}.readout-foot{display:flex;justify-content:space-between;color:#778d8d;font-size:8px;letter-spacing:.14em}.readout-foot span+span{color:#bdc8be}.weather-bars{font-style:normal;color:#d3a570;letter-spacing:.02em;margin-left:4px}
.beacon-card{position:absolute;z-index:5;top:29px;right:30px;width:224px;border-radius:3px;padding:13px 14px 11px}.beacon-label{display:flex;justify-content:space-between;align-items:center;color:#9aadaa}.beacon-state{display:flex;align-items:center;gap:6px;font-size:8px;color:#deaa76}.beacon-state i{width:6px;height:6px;border-radius:50%;background:#e18a60;box-shadow:0 0 8px rgba(225,138,96,.7)}.beacon-card.online .beacon-state{color:#99d7b0}.beacon-card.online .beacon-state i{background:#91e2ac;box-shadow:0 0 12px #91e2ac}.beacon-meter{display:flex;gap:3px;margin:11px 0 10px;height:15px;align-items:flex-end}.beacon-meter span{flex:1;height:5px;background:rgba(175,202,198,.14);border:1px solid rgba(188,212,210,.06)}.beacon-meter span:nth-child(2),.beacon-meter span:nth-child(5),.beacon-meter span:nth-child(8){height:9px}.beacon-meter span:nth-child(4),.beacon-meter span:nth-child(7){height:12px}.beacon-card.online .beacon-meter span{background:#8bcca7;box-shadow:0 0 8px rgba(139,204,167,.4)}
.beacon-coord{display:flex;justify-content:space-between;color:#758b8b;font-size:7px;letter-spacing:.1em}.beacon-coord span+span{color:#abbab3}
.reticle{position:absolute;z-index:5;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);opacity:.78;pointer-events:none}.reticle span,.reticle b{position:absolute;background:rgba(231,240,230,.75);box-shadow:0 0 5px rgba(10,19,20,.5)}.reticle span{width:1px;height:14px;left:8px;top:2px}.reticle b{width:14px;height:1px;top:8px;left:2px}.reticle.target span,.reticle.target b{background:#e5c78c;box-shadow:0 0 8px rgba(229,199,140,.65)}
.interaction-prompt{position:absolute;z-index:6;left:50%;top:calc(50% + 28px);transform:translateX(-50%);padding:8px 13px;background:rgba(6,16,20,.84);border:1px solid rgba(208,220,201,.22);color:#e8eadb;font-size:11px;letter-spacing:.04em;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none}.interaction-prompt.visible{opacity:1}.interaction-prompt strong{color:#e5c78c;font-size:10px;margin-right:8px;letter-spacing:.1em}
.toast{position:absolute;z-index:6;left:50%;top:calc(50% - 86px);transform:translate(-50%,8px);padding:9px 15px;color:#e8d4a9;font-size:11px;letter-spacing:.04em;background:rgba(11,21,23,.8);border-left:2px solid #d5aa72;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap}.toast.visible{opacity:1;transform:translate(-50%,0)}
.compass{position:absolute;z-index:5;top:50%;right:31px;display:flex;align-items:center;gap:8px;color:#c2cfca;text-shadow:0 1px 8px rgba(0,0,0,.8);transform:translateY(-50%);font-size:8px}.compass-tick{width:1px;height:20px;background:#d9bd8d}.compass-line{width:26px;height:1px;background:rgba(195,213,205,.42)}#heading{color:#d8c69d;letter-spacing:.08em}
.control-strip{position:absolute;z-index:5;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;color:#b1c0bd;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.85);font-size:8px;letter-spacing:.12em}.control-strip span{display:flex;align-items:center;gap:5px}.control-strip kbd{min-width:18px;height:17px;padding:2px 4px;border:1px solid rgba(198,218,212,.29);border-bottom-color:rgba(198,218,212,.48);border-radius:2px;background:rgba(9,21,25,.48);font:700 8px/11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#e0e6d8;text-align:center;letter-spacing:0}.control-strip span:nth-child(2) kbd,.control-strip span:nth-child(3) kbd,.control-strip span:last-child kbd{font-size:7px}.control-separator{width:1px;height:17px;background:rgba(193,213,206,.2)}
.screen{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:22px;overflow:auto;background:rgba(4,11,14,.13);transition:opacity .55s ease,visibility .55s}.screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.screen-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,14,.75),rgba(4,11,14,.37) 54%,rgba(4,11,14,.14)),linear-gradient(0deg,rgba(4,11,14,.5),transparent 45%);backdrop-filter:blur(1px)}.screen-card{position:relative;width:min(470px,94vw);margin:0 0 0 max(0px,calc((100vw - 560px)/2));padding:29px 34px 23px;border:1px solid rgba(204,222,213,.17);background:linear-gradient(150deg,rgba(10,23,27,.9),rgba(10,21,24,.76));box-shadow:0 25px 70px rgba(0,0,0,.38);backdrop-filter:blur(12px)}
.transmission{display:flex;align-items:center;gap:8px;color:#e2c38b;font-size:8px;letter-spacing:.17em}.transmission span:last-child{margin-left:auto;color:#95a9a4}.transmission-light{width:5px;height:5px}.screen-overline{margin:30px 0 12px;color:#8da5a3;font-size:8px;letter-spacing:.22em}.screen-card h1,.ending-card h2{margin:0;color:#edf0e5;font:normal 44px/.99 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.screen-card h1 em,.ending-card h2 em{font-weight:normal;color:#d9c08e}.intro-copy{max-width:390px;margin:17px 0 21px;color:#afc0bb;font:13px/1.65 ui-sans-serif,system-ui,sans-serif}.mission-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:21px}.mission-grid>div{display:flex;align-items:center;gap:14px;min-height:41px;border-bottom:1px solid rgba(188,212,210,.09)}.mission-grid>div:last-child{border-bottom:0}.mission-index{color:#d9bc87;font:italic 13px Georgia,serif;letter-spacing:0}.mission-grid b{display:inline-block;width:116px;color:#d8e1d7;font-size:8px;letter-spacing:.16em}.mission-grid small{color:#879d99;font-size:10px;letter-spacing:.03em}
.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;height:46px;padding:0 14px;border:1px solid rgba(229,199,140,.72);background:linear-gradient(90deg,rgba(181,140,82,.18),rgba(29,47,46,.48));color:#f0dfb7;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.17em;transition:background .18s,border-color .18s,transform .18s}.primary-button:hover,.primary-button:focus-visible{outline:none;background:rgba(181,140,82,.32);border-color:#f1d49a;transform:translateY(-1px)}.primary-button b{font-size:16px;font-weight:400}.start-foot{display:flex;justify-content:space-between;gap:8px;margin-top:17px;color:#738a89;font-size:7px;letter-spacing:.1em}.start-foot i{font-style:normal;color:#d4b984;margin:0 3px}.screen-coordinate{position:absolute;bottom:26px;right:31px;color:#a2b3ae;font-size:8px}.screen-coordinate span{color:#d2b47d;margin:0 5px}
.ending-backdrop{background:radial-gradient(ellipse at 50% 48%,rgba(149,179,144,.16),rgba(3,11,14,.73) 66%)}.ending-card{position:relative;text-align:center;width:min(470px,92vw);padding:39px 40px 31px;border:1px solid rgba(219,229,196,.19);background:rgba(7,19,22,.62);backdrop-filter:blur(12px)}.ending-mark{color:#e2cb92;font-size:32px;line-height:1}.ending-card .screen-overline{margin:13px 0 15px}.ending-card h2{font-size:50px}.ending-card>p:not(.screen-overline){margin:19px auto 24px;max-width:330px;color:#c3d0c6;font-size:13px;line-height:1.7}.ending-foot{margin-top:17px;color:#819491;font-size:7px;letter-spacing:.13em}.ending-foot span{color:#d3b880;margin:0 5px}
.touch-controls{display:none;position:absolute;z-index:8;inset:auto 16px 20px;justify-content:space-between;align-items:flex-end;pointer-events:none}.touch-controls button{pointer-events:auto;border:1px solid rgba(205,224,216,.27);background:rgba(8,20,24,.62);color:#d7e1d9;backdrop-filter:blur(5px);touch-action:none;user-select:none}.touch-pad>button{display:block;margin:0 auto 4px}.touch-pad>div{display:flex;gap:4px}.touch-pad button{width:41px;height:38px;border-radius:4px;font-size:12px}.touch-actions{display:flex;align-items:flex-end;gap:7px}.touch-actions button{width:43px;height:43px;border-radius:50%;font-weight:800;font-size:10px}.touch-actions .touch-interact{width:54px;height:54px;border-color:rgba(229,199,140,.64);color:#e5c78c}.touch-actions button[data-hold=sprint]{width:47px;height:34px;border-radius:17px;font-size:8px}.touch-controls button.pressed{background:rgba(185,151,95,.48);border-color:#e5c78c}
@media(max-width:760px){.masthead{left:16px;top:15px}.wordmark{font-size:13px}.wordmark span{font-size:9px}.kicker{font-size:7px}.readout{left:16px;top:68px;width:210px;padding:12px}.readout-label{font-size:8px}.core-count{margin:10px 0 7px}.core-count #core-count{font-size:33px}.count-total{font-size:18px}.objective-copy{font-size:10px}.readout-rule{margin:9px 0 7px}.beacon-card{top:15px;right:15px;width:170px;padding:10px}.beacon-label{font-size:8px}.beacon-coord{font-size:6px;letter-spacing:.05em}.compass{right:14px;top:53%;gap:5px}.compass-line{width:14px}.control-strip{display:none}.touch-controls{display:flex}.screen{padding:14px}.screen-card{margin:0;width:min(460px,96vw);padding:23px 23px 20px}.screen-card .screen-overline{margin-top:22px}.screen-card h1{font-size:38px}.intro-copy{font-size:12px;margin:14px 0 16px}.mission-grid>div{min-height:37px}.mission-grid b{width:105px}.mission-grid small{font-size:9px}.start-foot{font-size:6px}.screen-coordinate{right:15px;bottom:11px;font-size:6px}.ending-card{padding:28px 24px}.ending-card h2{font-size:43px}}
@media(max-height:560px) and (min-width:761px){.screen-card{padding:17px 25px}.screen-card .screen-overline{margin-top:17px}.screen-card h1{font-size:36px}.intro-copy{margin:12px 0}.mission-grid>div{min-height:34px}.mission-grid{margin-bottom:13px}.screen-coordinate{bottom:8px}.readout{top:78px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#world:focus-visible{outline:2px solid rgba(229,199,140,.85);outline-offset:-6px}
.primary-button:focus-visible,.touch-controls button:focus-visible{outline:2px solid #f1d49a;outline-offset:3px}
@media(pointer:coarse){.touch-controls{display:flex}.control-strip{display:none}}
@media(max-width:430px){
  #game-shell{min-height:320px}
  .masthead{left:12px;top:10px}
  .kicker{font-size:6px;gap:5px}
  .wordmark{margin-top:4px;font-size:12px}
  .wordmark span{font-size:8px}
  .beacon-card{top:52px;left:12px;right:12px;width:auto;padding:6px 9px}
  .beacon-meter,.beacon-coord{display:none}
  .beacon-label{font-size:7px}
  .readout{top:83px;left:12px;right:12px;width:auto;padding:9px 11px}
  .readout-label{font-size:7px}
  .core-count{margin:6px 0 5px}
  .core-count #core-count{font-size:28px}
  .count-total{font-size:16px}
  .count-unit{font-size:7px}
  .objective-copy{margin-top:6px;font-size:9px}
  .readout-rule,.readout-foot{display:none}
  .touch-controls{inset:auto 12px max(12px,env(safe-area-inset-bottom));}
  .touch-pad button{width:38px;height:36px}
  .touch-actions{gap:5px}
  .touch-actions button{width:39px;height:39px}
  .touch-actions .touch-interact{width:49px;height:49px}
  .touch-actions button[data-hold=sprint]{width:43px;height:32px}
  .compass{display:none}
  .screen{padding:10px}
  .screen-card{width:100%;padding:19px 18px 16px}
  .screen-card .screen-overline{margin-top:17px}
  .screen-card h1{font-size:34px}
  .intro-copy{font-size:11px;line-height:1.5;margin:11px 0 13px}
  .mission-grid{margin-bottom:13px}
  .mission-grid>div{min-height:34px}
  .mission-grid b{width:95px}
  .mission-grid small{font-size:8px}
  .start-foot{font-size:6px;flex-wrap:wrap}
}
@media(max-height:360px){
  #start-screen{padding:6px;align-items:start}
  .screen-card{width:min(470px,calc(100vw - 12px));margin:0 auto;padding:10px 12px 9px}
  .transmission{gap:5px;font-size:6px}
  .screen-card .screen-overline{margin:7px 0 5px;font-size:6px}
  .screen-card h1{font-size:29px;line-height:.92}
  .intro-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:6px 0 7px;font-size:9px;line-height:1.25}
  .mission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:7px;border:0}
  .mission-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:38px;padding:4px 5px;border:1px solid rgba(188,212,210,.12)}
  .mission-grid>div:last-child{border-bottom:1px solid rgba(188,212,210,.12)}
  .mission-index{font-size:9px}
  .mission-grid b{width:auto;font-size:6px;letter-spacing:.09em}
  .mission-grid small{font-size:7px;line-height:1.15}
  .primary-button{height:34px;padding:0 10px;font-size:8px}
  .start-foot{gap:3px;margin-top:7px;font-size:5px;letter-spacing:.06em}
  .screen-coordinate{right:8px;bottom:3px;font-size:5px}
}
