:root {
  --ink:#03090a;
  --panel:rgba(5,18,19,.82);
  --line:rgba(177,233,218,.17);
  --text:#eff8f2;
  --muted:#8ea29c;
  --cyan:#72f0df;
  --gold:#f3cc6c;
  --coral:#ff826f;
  --violet:#b79cff;
  --green:#82e59b;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;
  font-synthesis:none;
}

*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--ink)}
button{color:inherit;font:inherit}
button:focus-visible,canvas:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}
kbd{font:inherit}
[hidden]{display:none!important}

.game-shell{position:relative;width:100%;height:100%;min-width:320px;overflow:hidden;background:#061113}
.game-viewport{position:absolute;inset:0;overflow:hidden}
#world-canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;background:#102522}

.hud-top{position:absolute;z-index:20;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:18px 22px;pointer-events:none;background:linear-gradient(180deg,rgba(2,8,9,.82),transparent)}
.brand{display:flex;align-items:center;gap:10px}.brand>i{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(114,240,223,.45);border-radius:12px;color:var(--cyan);background:rgba(5,20,21,.68);font-family:Georgia,serif;font-size:22px;font-style:normal;box-shadow:0 0 28px rgba(114,240,223,.09)}
.brand strong,.brand small{display:block}.brand strong{font-size:12px;letter-spacing:.25em}.brand small{margin-top:3px;color:#76908a;font-size:7px;letter-spacing:.08em}
.crisis-clock{display:grid;width:240px;justify-items:center}.crisis-clock>span{color:#9bb0aa;font-size:8px;letter-spacing:.15em}.crisis-clock>strong{margin:2px 0 5px;font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.crisis-clock>div{width:100%;height:2px;background:rgba(255,255,255,.11)}.crisis-clock i{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,var(--coral),var(--gold),var(--cyan));box-shadow:0 0 10px var(--cyan)}
.head-status{justify-self:end;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(4,15,16,.58);text-align:right}.head-status small,.head-status strong{display:block}.head-status small{color:#75908a;font-size:7px}.head-status strong{margin-top:3px;font-size:10px;letter-spacing:.12em}

.mission-card,.body-card,.life-feed,.event-message,.interaction-prompt,.god-help,.target-label,.control-deck,.worldline-panel{position:absolute;z-index:12;border:1px solid var(--line);background:var(--panel);box-shadow:0 18px 55px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.mission-card{top:90px;left:22px;width:270px;padding:17px;border-radius:14px}.eyebrow{display:flex;align-items:center;gap:7px;color:var(--coral);font-size:7px;font-weight:800;letter-spacing:.15em}.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--coral);box-shadow:0 0 10px var(--coral);animation:pulse 1.2s ease-in-out infinite}.mission-card h1{margin:9px 0 6px;font-size:26px;letter-spacing:-.04em}.mission-card>p{margin:0;color:#91a6a0;font-size:9px;line-height:1.55}.stakes{display:grid;gap:5px;margin-top:13px}.stakes>div{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:8px;padding-top:7px;border-top:1px solid rgba(255,255,255,.07)}.stakes i{width:6px;height:6px;border-radius:50%;background:var(--coral)}.stakes i.nest{background:var(--gold)}.stakes i.cache{background:var(--violet)}.stakes span{font-size:8px}.stakes b{color:#d4e0db;font-size:8px}
.body-card{top:90px;right:22px;display:grid;width:165px;border-radius:12px;overflow:hidden}.body-card>div{display:flex;justify-content:space-between;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.07)}.body-card>div:last-child{border:0}.body-card small{color:#718a84;font-size:7px}.body-card strong{font-size:9px}
.life-feed{right:22px;bottom:88px;width:230px;padding:8px;border-radius:13px}.life{display:grid;grid-template-columns:21px 1fr;align-items:center;gap:9px;padding:7px}.life>i{display:block;width:17px;height:17px;border:2px solid currentColor}.life.warden{color:var(--gold)}.life.warden>i{border-radius:4px}.life.carer{color:var(--cyan)}.life.carer>i{border-radius:50%}.life.forager{color:var(--violet)}.life.forager>i{width:0;height:0;margin-left:1px;border:9px solid transparent;border-top:0;border-bottom:17px solid currentColor}.life small,.life strong{display:block}.life small{color:#80958f;font-size:7px}.life strong{margin-top:2px;color:var(--text);font-size:8px;font-weight:650}
.event-message{left:50%;bottom:88px;min-width:290px;padding:9px 15px;border-radius:10px;transform:translateX(-50%);text-align:center;transition:.25s ease}.event-message span,.event-message strong{display:block}.event-message span{color:var(--cyan);font-size:7px;letter-spacing:.15em}.event-message strong{margin-top:3px;font-size:9px}
.interaction-prompt{left:50%;bottom:146px;display:flex;align-items:center;gap:11px;padding:10px 14px;border-color:rgba(255,130,111,.4);border-radius:12px;transform:translateX(-50%);animation:float 1.3s ease-in-out infinite}.interaction-prompt kbd{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.08);font-size:12px}.interaction-prompt strong,.interaction-prompt small{display:block}.interaction-prompt strong{font-size:10px}.interaction-prompt small{margin-top:2px;color:#a48f89;font-size:7px}
.god-help{top:90px;left:50%;padding:10px 15px;border-color:rgba(114,240,223,.36);border-radius:10px;transform:translateX(-50%);text-align:center}.god-help span,.god-help strong,.god-help small{display:block}.god-help span{color:var(--cyan);font-size:7px;letter-spacing:.2em}.god-help strong{margin-top:4px;font-size:10px}.god-help small{margin-top:2px;color:#73958e;font-size:7px}
.target-label{padding:6px 9px;border-color:rgba(114,240,223,.36);border-radius:7px;color:var(--cyan);font-size:7px;pointer-events:none;transform:translate(14px,14px)}

.control-deck{left:22px;right:22px;bottom:18px;display:flex;align-items:center;gap:18px;min-height:48px;padding:8px 13px;border-radius:12px}.control-deck span{display:flex;align-items:center;gap:6px;color:#91a69f;font-size:8px}.control-deck kbd{min-width:27px;padding:4px 6px;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#dbe9e4;background:rgba(255,255,255,.05);text-align:center;font-size:7px}.control-deck b{margin-left:auto;color:#9eb1ab;font-family:Georgia,"Songti SC",serif;font-size:9px;font-weight:500}

.worldline-panel{top:76px;right:16px;bottom:76px;width:min(430px,calc(100vw - 32px));padding:23px;border-radius:17px;overflow:auto;animation:panel-in .38s cubic-bezier(.2,.8,.2,1)}
.panel-close{position:absolute;top:13px;right:13px;width:31px;height:31px;border:1px solid var(--line);border-radius:9px;color:#8ca39c;background:rgba(255,255,255,.025);font-size:18px;cursor:pointer}.panel-kicker{padding-right:40px;color:var(--gold);font-size:7px;font-weight:800;letter-spacing:.15em}.worldline-panel h2{margin:13px 0 7px;max-width:330px;font-size:26px;line-height:1.06;letter-spacing:-.035em}.worldline-panel>p{margin:0;color:#93a7a1;font-size:9px;line-height:1.6}.causal-chain{display:grid;gap:5px;margin:17px 0}.causal-chain article{display:grid;grid-template-columns:23px 1fr;gap:9px;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.018)}.causal-chain i{display:grid;width:23px;height:23px;place-items:center;border:1px solid rgba(114,240,223,.2);border-radius:7px;color:var(--cyan);font-size:7px;font-style:normal}.causal-chain small,.causal-chain strong{display:block}.causal-chain small{color:#718983;font-size:6px}.causal-chain strong{margin-top:2px;font-size:8px;line-height:1.45}.diff-head{display:flex;align-items:center;justify-content:space-between;margin:16px 0 7px}.diff-head strong{font-size:9px}.diff-head span{color:var(--cyan);font-size:8px}.diff-list{display:grid;gap:5px}.diff-list article{display:grid;grid-template-columns:86px 1fr;gap:4px 9px;padding:8px 9px;border:1px solid rgba(255,255,255,.07);border-radius:8px}.diff-list span{color:#839890;font-size:7px}.diff-list b{font-size:7px;text-align:right}.diff-list b i{margin:0 5px;color:var(--cyan);font-style:normal}.diff-list small{grid-column:1/-1;color:#526963;font-size:6px}.retry-button{width:100%;margin-top:15px;padding:11px;border:1px solid rgba(114,240,223,.3);border-radius:9px;color:var(--cyan);background:rgba(114,240,223,.05);font-size:9px;font-weight:750;cursor:pointer}

.toast{position:absolute;z-index:40;left:50%;top:75px;max-width:min(440px,calc(100% - 30px));padding:10px 14px;border:1px solid rgba(114,240,223,.35);border-radius:10px;color:#cdfaf2;background:rgba(3,15,16,.92);font-size:9px;opacity:0;transform:translate(-50%,-10px);pointer-events:none;transition:.22s ease}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{border-color:rgba(255,130,111,.45);color:#ffd0c7}
.screen-flash{position:absolute;z-index:30;inset:0;background:rgba(114,240,223,.18);opacity:0;pointer-events:none}.screen-flash.fire{animation:flash .7s ease-out}
.mobile-controls{display:none}

@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}
@keyframes float{50%{transform:translate(-50%,-5px)}}
@keyframes panel-in{from{opacity:0;transform:translateX(25px)}}
@keyframes flash{20%{opacity:1}to{opacity:0}}

@media(max-width:900px){
  .hud-top{padding:12px 14px}.brand>i{width:34px;height:34px}.crisis-clock{width:170px}.head-status{padding:7px 9px}
  .mission-card{top:65px;left:12px;width:225px;padding:12px}.mission-card h1{font-size:21px}.mission-card>p{font-size:8px}
  .body-card{top:65px;right:12px;width:145px}
  .life-feed{right:12px;bottom:132px;width:203px;padding:5px}
  .event-message{bottom:135px}
  .control-deck{display:none}
  .mobile-controls{position:absolute;z-index:16;left:14px;right:14px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:end;justify-content:space-between;pointer-events:none}
  .dpad{position:relative;width:124px;height:104px}.dpad button,.mobile-actions button{pointer-events:auto;border:1px solid rgba(255,255,255,.19);color:#d5e5df;background:rgba(4,17,18,.72);backdrop-filter:blur(10px);touch-action:none;user-select:none}
  .dpad button{position:absolute;width:42px;height:42px;border-radius:12px;font-size:10px}.dpad button[data-move="up"]{top:0;left:41px}.dpad button[data-move="left"]{top:41px;left:0}.dpad button[data-move="down"]{top:62px;left:41px}.dpad button[data-move="right"]{top:41px;right:0}
  .mobile-actions{display:flex;align-items:end;gap:8px}.mobile-actions button{display:grid;width:54px;height:54px;place-items:center;border-radius:50%}.mobile-actions button:last-child{width:68px;height:68px;border-color:rgba(114,240,223,.42);background:rgba(28,84,74,.66)}.mobile-actions kbd,.mobile-actions span{display:block}.mobile-actions kbd{font-size:12px;font-weight:800}.mobile-actions span{margin-top:-9px;color:#91aaa3;font-size:6px}
  .worldline-panel{top:62px;bottom:124px}
}

@media(max-width:620px){
  .hud-top{grid-template-columns:1fr auto;padding:9px 10px}.brand>i{width:30px;height:30px;border-radius:9px;font-size:18px}.brand strong{font-size:10px}.brand small{font-size:6px}.crisis-clock{position:absolute;top:10px;left:50%;width:118px;transform:translateX(-50%)}.crisis-clock>span{font-size:6px}.crisis-clock>strong{font-size:16px}.head-status{display:none}
  .mission-card{top:51px;left:8px;width:173px;padding:9px;border-radius:11px}.mission-card h1{margin:6px 0 4px;font-size:17px}.mission-card>p{display:none}.stakes{gap:3px;margin-top:7px}.stakes>div{padding-top:5px}.stakes span,.stakes b{font-size:7px}
  .body-card{top:51px;right:8px;width:109px}.body-card>div{padding:6px 7px}.body-card small,.body-card strong{font-size:6px}
  .life-feed{right:8px;bottom:128px;width:153px;padding:3px;border-radius:10px}.life{grid-template-columns:15px 1fr;gap:6px;padding:5px}.life>i{width:13px;height:13px}.life.forager>i{border-width:7px;border-bottom-width:13px}.life small{font-size:6px}.life strong{max-width:117px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6px}
  .event-message{left:8px;bottom:128px;min-width:0;width:155px;padding:7px 8px;transform:none;text-align:left}.event-message span{font-size:6px}.event-message strong{font-size:7px}
  .interaction-prompt{bottom:200px;padding:8px 10px}.interaction-prompt kbd{width:26px;height:26px}.god-help{top:165px;padding:8px 10px}.god-help strong{font-size:8px}
  .mobile-controls{left:9px;right:9px}.dpad{transform:scale(.9);transform-origin:left bottom}.mobile-actions{gap:5px}.mobile-actions button{width:48px;height:48px}.mobile-actions button:last-child{width:60px;height:60px}
  .worldline-panel{z-index:25;top:48px;right:7px;bottom:7px;width:calc(100vw - 14px);padding:18px;border-radius:14px}.worldline-panel h2{font-size:23px}.diff-list article{grid-template-columns:75px 1fr}
  .toast{top:52px}
}

@media(max-height:650px) and (min-width:621px){
  .mission-card{top:65px;transform:scale(.88);transform-origin:left top}.body-card{top:65px}.life-feed{bottom:76px;transform:scale(.88);transform-origin:right bottom}.event-message{bottom:76px}.control-deck{bottom:10px;min-height:42px}.worldline-panel{top:62px;bottom:62px}
}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
