*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#030507;color:#f4f7ff;font-family:"Courier New",monospace;overflow:hidden}body{display:grid;place-items:center}.game{width:min(100vw,177.7vh);aspect-ratio:16/9;padding:.65vw;background:#04070b;display:grid;grid-template-columns:1.05fr 2.15fr 2.15fr;grid-template-rows:.55fr 2.8fr 1.55fr .43fr;gap:.65vw;position:relative}.game:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 4px);mix-blend-mode:overlay;z-index:100}.panel{background:linear-gradient(#111923,#070b11);border:1px solid #27384a;border-radius:4px;box-shadow:inset 0 0 20px #ffffff08,0 0 18px #000;overflow:hidden}.top{grid-column:1/4;display:flex;align-items:center;justify-content:space-between;padding:0 1.4vw}.brand strong{font-size:clamp(28px,3vw,54px);letter-spacing:.11em;text-shadow:3px 3px #333}.brand span{display:block;color:#ff3838;font-size:clamp(12px,1vw,20px);font-weight:bold}.topInfo{display:flex;gap:2vw;font-size:clamp(17px,1.55vw,30px)}h2{margin:0 0 .8vw;font-size:clamp(15px,1.05vw,22px)}button{font-family:inherit;color:#fff;cursor:pointer}.left{grid-row:2/4;padding:1vw;position:relative}.stat{margin-bottom:1.1vw}.stat label{display:flex;justify-content:space-between;font-weight:bold;font-size:clamp(12px,.82vw,16px)}.stat i{display:block;height:10px;background:#111a24;border-radius:999px;margin-top:.42vw;overflow:hidden}.stat span{display:block;height:100%;width:0;background:#3fe064;border-radius:inherit;transition:.28s}.yellow span{background:#f0cf52}.red span{background:#ef4242}.blue span{background:#5eb8ff}.task{margin-top:1.2vw;padding:.75vw;border:1px solid #2b4054;background:#0a1018}.task h3{margin:.1vw 0 .5vw;color:#9ecaff}.task p{margin:0;font-size:clamp(11px,.78vw,15px);line-height:1.35}.quick{position:absolute;left:1vw;right:1vw;bottom:1vw;display:grid;gap:.6vw}.quick button{height:3.1vw;min-height:42px;border:1px solid #ffffff30;border-radius:5px;font-size:clamp(15px,1.1vw,22px);box-shadow:inset 0 0 16px #ffffff1a}.quick small{display:block;font-size:clamp(9px,.68vw,13px);opacity:.9}.green{background:#238a3d}.purple{background:#62309a}.red{background:#9d2a2a}.red.pulse{animation:flash .25s infinite}.desk{grid-column:2;grid-row:2;display:flex;flex-direction:column}.office{flex:1;position:relative;background:linear-gradient(#202b38,#111923 57%,#2a1b12 58%,#15100c);overflow:hidden}.wall{position:absolute;border:5px solid #070a0e;background:#263749}.window{left:8%;top:9%;width:18%;height:29%}.poster{right:10%;top:10%;width:15%;height:27%;display:grid;place-items:center;text-align:center;color:#9eb6d5;background:#303a48;font-weight:bold}.mug{position:absolute;left:8%;bottom:26%;font-size:3vw}.plant{position:absolute;right:14%;bottom:17%;width:5vw;height:8vw;background:radial-gradient(ellipse at 45% 100%,#6d3b1e 0 24%,transparent 25%),radial-gradient(ellipse at 30% 55%,#38bd5a 0 20%,transparent 21%),radial-gradient(ellipse at 60% 36%,#4bd86b 0 24%,transparent 25%),radial-gradient(ellipse at 78% 62%,#30a44d 0 19%,transparent 20%)}.sticky{position:absolute;right:29%;bottom:26%;background:#c8a337;color:#261b07;padding:.35vw;transform:rotate(-5deg);font-weight:bold}.pc{position:absolute;left:26%;top:13%;width:45%;height:44%;background:#080b10;border:.7vw solid #06080b;border-radius:.55vw;box-shadow:0 8px #020304}.pcbar{height:16%;background:#eff6eb;color:#111;display:flex;align-items:center;padding:0 .5vw;font-weight:bold;font-size:clamp(9px,.72vw,14px)}.pcbar em{margin-left:auto;width:.5vw;height:.5vw;background:#777}.screen{height:84%;position:relative;overflow:hidden}.work-screen{background:#f7fff6}.grid{position:absolute;inset:0;background:linear-gradient(#cdd8cf 1px,transparent 1px),linear-gradient(90deg,#cdd8cf 1px,transparent 1px);background-size:13% 20%;animation:flick .9s infinite}.chart{position:absolute;right:8%;bottom:8%;display:flex;gap:.55vw;align-items:end;height:45%}.chart b{width:1vw;background:#98eba7;animation:bar 1.1s infinite alternate}.chart b:nth-child(1){height:28%}.chart b:nth-child(2){height:46%}.chart b:nth-child(3){height:64%}.chart b:nth-child(4){height:84%}.relax-screen{text-align:center;padding-top:5%;background:radial-gradient(circle,#2756af,#08101e);color:#bff4ff;animation:relax .45s infinite alternate}.relax-screen h2{margin:.2vw}.orb{font-size:3vw;animation:spin 1.5s linear infinite}.hidden{display:none!important}.keyboard{position:absolute;left:26%;bottom:8%;width:39%;height:8%;background:repeating-linear-gradient(90deg,#0d1117 0 6px,#1b222b 6px 12px);transform:perspective(180px) rotateX(20deg)}.mouse{position:absolute;left:69%;bottom:9%;width:5%;height:7%;background:#111923;border-radius:50%}.deskPerson{position:absolute;right:7%;bottom:21%;font-size:4.5vw;animation:bob .7s infinite alternate}.deskWarning{position:absolute;left:12%;right:12%;bottom:4%;padding:.65vw;text-align:center;background:#720000df;border:2px solid #ff3a3a;font-weight:bold;animation:flash .35s infinite}.message{height:3.2vw;min-height:42px;border-top:1px solid #26384b;background:#08101a;padding:.7vw 1vw;color:#96d9ff;font-size:clamp(11px,.78vw,15px);display:flex;align-items:center}.message.danger{color:#ff4a4a;animation:flash .35s infinite}.message.good{color:#56f778}.cams{grid-column:3;grid-row:2;padding:1vw;display:flex;flex-direction:column}.camTop{display:flex;justify-content:space-between;align-items:center}.camStatus{padding:.25vw .65vw;border:1px solid #2ee35b;color:#58ff7d;font-size:clamp(10px,.75vw,14px)}.camStatus.danger{border-color:#ff3c3c;color:#ff3c3c;animation:flash .3s infinite}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.45vw;margin-bottom:.65vw}.tabs button,.map button{background:#0a1018;border:1px solid #3a4b60;padding:.55vw .25vw;font-weight:bold;font-size:clamp(9px,.65vw,14px)}.tabs button.active,.map button.active{border-color:#28ef57;box-shadow:0 0 14px #28ef5744;color:#5cff80}.cameraFrame{position:relative;flex:1;border:1px solid #33465d;background:#000;overflow:hidden}.cameraFrame img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78) contrast(1.08)}.cameraFrame.danger{box-shadow:inset 0 0 0 2px #ff3333}.scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.34) 3px 5px);pointer-events:none}.rec{position:absolute;right:1vw;top:.7vw;color:#ff3333;font-weight:bold;animation:blink 1s infinite}#camTitle{position:absolute;left:1vw;top:.7vw;margin:0;color:#5cff80;text-shadow:0 0 7px #21ff5f}.sprite{position:absolute;display:none;text-align:center;transform:translate(-50%,-50%);filter:drop-shadow(0 0 9px #000)}.sprite.visible{display:block}.sprite span{font-size:3.2vw;display:block}.sprite small{display:block;background:#000c;border:1px solid #fff4;padding:.15vw .35vw}.sprite.walk{animation:walk 1.5s infinite alternate}.sprite.close span{font-size:4.4vw}.cameraAlert{position:absolute;left:18%;right:18%;bottom:9%;padding:.75vw;text-align:center;background:#8a0000dd;border:2px solid #ff3434;font-weight:bold;animation:flash .35s infinite}.map{height:3vw;min-height:40px;margin-top:.65vw;display:grid;grid-template-columns:repeat(4,1fr);gap:.45vw}.events{grid-column:2;grid-row:3;padding:1vw}.eventsList{display:grid;grid-template-columns:repeat(2,1fr);gap:.65vw}.empty{opacity:.55;margin:.5vw 0}.event{border:1px solid #35495f;background:#0b111a;padding:.65vw;min-height:6.3vw;position:relative}.event h3{margin:.1vw 0 .55vw;color:#ffd45a}.event p{margin:0 0 .55vw;font-size:clamp(10px,.74vw,14px);line-height:1.25}.event button{padding:.38vw .75vw;border:0;background:#268b3b;margin-right:.35vw}.event .bad{background:#333b45}.count{position:absolute;right:.7vw;bottom:.55vw;color:#60c8ff}.upgrades{grid-column:3;grid-row:3;padding:1vw;position:relative}.upgrades #money{position:absolute;right:1vw;top:1vw;color:#46e36a;font-weight:bold}.upgradeList{display:grid;gap:.45vw}.upgrade{display:grid;grid-template-columns:1.2fr 2.3fr .7fr .75fr;gap:.45vw;align-items:center;border:1px solid #33465b;background:#0b1118;padding:.45vw}.upgrade span{font-size:1.35vw}.upgrade p{margin:0;font-size:clamp(9px,.65vw,13px)}.upgrade strong{color:#4bef68}.upgrade button{background:#24863a;border:0;padding:.38vw}.upgrade button:disabled{background:#26313d;color:#96a0ac}.days{grid-column:1/4;display:grid;grid-template-columns:repeat(5,1fr);gap:.6vw;padding:.45vw}.day{border:1px solid #2a3b4e;background:#090e15;padding:.45vw .7vw;color:#727d8d}.day.active{border-color:#fff;color:#fff}.day.done{border-color:#28e45b;color:#35df62}.modal{position:absolute;inset:0;display:grid;place-items:center;background:#000a;z-index:200}.card{width:min(520px,45vw);background:#0a1018;border:2px solid #ff3333;padding:2vw;text-align:center;box-shadow:0 0 50px #000}.card h1{margin:.1vw;color:#ff3d3d}.card h2{color:#ff3333}.card button{padding:.8vw 2vw;background:#18365b;border:1px solid #6caaff}.shake{animation:shake .13s infinite}@keyframes flash{50%{filter:brightness(1.7)}}@keyframes blink{50%{opacity:.25}}@keyframes flick{50%{filter:brightness(.92)}}@keyframes bar{to{transform:scaleY(1.08)}}@keyframes relax{to{filter:brightness(1.28)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{to{transform:translateY(-7px)}}@keyframes walk{to{transform:translate(-35%,-50%)}}@keyframes shake{0%,100%{transform:translate(0)}50%{transform:translate(2px,-1px)}}@media(max-width:900px){.game{width:100vw;height:100vh;aspect-ratio:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto auto;overflow:auto}.top,.left,.desk,.cams,.events,.upgrades,.days{grid-column:1;grid-row:auto}.left{position:relative}.quick{position:static;margin-top:1rem}.eventsList{grid-template-columns:1fr}body{overflow:auto}}
.topBtn{background:#111923;border:1px solid #40556f;border-radius:4px;padding:.45vw .85vw;font-weight:bold;color:#fff;box-shadow:inset 0 0 10px #ffffff0d}.topBtn:hover{border-color:#6caaff}.statusStrip{height:2.45vw;min-height:34px;border-top:1px solid #26384b;background:#0b131d;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8vw;padding:0 1vw;font-size:clamp(11px,.78vw,15px)}.statusStrip span{color:#7d8ba0;font-weight:bold}.statusStrip b{color:#fff}.statusStrip em{font-style:normal;color:#58ff7d;border:1px solid #2d7540;padding:.18vw .55vw;background:#0b2414}.statusStrip.danger em{color:#ff4848;border-color:#ff4848;background:#2a0808;animation:flash .35s infinite}.statusStrip.relax em{color:#d99cff;border-color:#864bdd;background:#1b0d2d}.menuOverlay{position:absolute;inset:0;z-index:300;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(34,52,75,.88),rgba(0,0,0,.96) 70%);backdrop-filter:blur(3px)}.menuOverlay.hidden{display:none}.menuCard{width:min(620px,50vw);background:linear-gradient(#121b26,#070b11);border:1px solid #40556f;box-shadow:0 0 80px #000,inset 0 0 35px #ffffff09;padding:2vw;text-align:center}.menuBrand strong{display:block;font-size:clamp(42px,5vw,86px);letter-spacing:.16em;text-shadow:4px 4px #343a44}.menuBrand span{display:block;margin-top:-.3vw;color:#ff3b3b;font-weight:bold;font-size:clamp(15px,1.4vw,28px);letter-spacing:.1em}.tagline{color:#b6c6d8;line-height:1.45}.menuInfo{margin:1.2vw 0;text-align:left;border:1px solid #26384b;background:#0a1018;padding:1vw}.menuInfo p{margin:.55vw 0;color:#dfe9f5}.bigMenuBtn{width:100%;padding:1vw;margin-top:.5vw;background:#238a3d;border:1px solid #66ff89;border-radius:4px;font-size:clamp(18px,1.5vw,30px);font-weight:bold}.smallMenuBtn{width:100%;padding:.75vw;margin-top:.7vw;background:#111923;border:1px solid #40556f;border-radius:4px;font-weight:bold}.smallMenuBtn:hover,.bigMenuBtn:hover{filter:brightness(1.15)}.pauseCard h1{font-size:clamp(36px,4vw,72px);margin:.2vw 0;color:#fff}.pauseCard p{color:#aebfd1}@media(max-width:900px){.menuCard{width:92vw}.statusStrip{height:auto;min-height:40px}.topBtn{padding:.55rem .85rem}}

/* Desk upgrade visuals */
.upgradeVisual{position:absolute;z-index:6;transition:opacity .25s,transform .25s;filter:drop-shadow(0 5px 8px #000)}
.secondMonitor{left:72%;top:17%;width:15%;height:25%;background:#080b10;border:.45vw solid #05070a;border-radius:.35vw;box-shadow:0 .45vw #020304;animation:upgradePop .32s ease-out}
.secondMonitor:after{content:"";position:absolute;left:42%;bottom:-20%;width:16%;height:20%;background:#05070a}
.secondMonitor .miniPcbar{height:18%;background:#dfe8e7}
.secondMonitor .miniGrid{height:82%;background:linear-gradient(#c9d9cb 1px,transparent 1px),linear-gradient(90deg,#c9d9cb 1px,transparent 1px),#ecfff0;background-size:25% 25%;opacity:.95}
.headsetDesk{right:8%;bottom:24%;font-size:2.9vw;transform:rotate(-12deg);animation:upgradePop .32s ease-out}
.coffeeDesk{left:19%;bottom:10%;font-size:1.9vw;background:transparent;border-radius:0;padding:0;animation:upgradePop .32s ease-out;z-index:7}
.friendPhoto{right:4%;bottom:21%;width:4.1vw;height:4.6vw;background:#101722;border:2px solid #596b7f;border-radius:.25vw;display:grid;place-items:center;font-size:1.8vw;animation:upgradePop .32s ease-out}
.friendPhoto small{display:block;font-size:.48vw;color:#5cff80;margin-top:-.7vw}
.autoWorker{left:71%;bottom:18%;font-size:2.6vw;animation:autoBot 1s infinite alternate}
.office.has-monitor .pc{left:23%;width:42%}
.office.has-monitor .poster{opacity:.55}
.office.has-headphones .keyboard{box-shadow:0 0 12px #9b6cff55}
.office.has-coffee .mug{opacity:0}
.office.has-autowork .work-screen:after{content:"AUTO";position:absolute;left:7%;bottom:7%;color:#1e8d3a;border:1px solid #1e8d3a;padding:.2vw .45vw;font-weight:bold;animation:blink 1s infinite}
@keyframes upgradePop{0%{opacity:0;transform:scale(.75) translateY(10px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes coffeeSteam{to{transform:translateY(-2px);filter:drop-shadow(0 -5px 5px #ffffff55)}}
@keyframes autoBot{to{transform:translateY(-5px) rotate(3deg)}}

/* The shop has more items than the panel comfortably shows, so keep rows readable and scroll the list. */
.upgrades{display:flex;flex-direction:column}
.upgradeList{flex:1;min-height:0;display:grid;grid-auto-rows:minmax(54px,4.15vw);gap:.45vw;overflow-y:auto;padding-right:.35vw}
.upgradeList::-webkit-scrollbar{width:8px}
.upgradeList::-webkit-scrollbar-track{background:#08101a;border-left:1px solid #203246}
.upgradeList::-webkit-scrollbar-thumb{background:#35516d;border-radius:999px}
.upgradeList::-webkit-scrollbar-thumb:hover{background:#4d6d8c}
.upgrade{min-height:54px;padding:.55vw;grid-template-columns:2.4vw minmax(0,1fr) 4.4vw 5.4vw;gap:.65vw;align-items:center;background:linear-gradient(90deg,#0b1118,#101824);border-color:#344a61}
.upgrade:hover{border-color:#5f7893;background:linear-gradient(90deg,#101a25,#152232)}
.upgrade span{font-size:clamp(20px,1.45vw,30px);text-align:center;line-height:1}
.upgrade p{margin:0;min-width:0;font-size:clamp(10px,.68vw,14px);line-height:1.25}
.upgrade strong{justify-self:end;color:#36ff72;font-size:clamp(13px,.95vw,18px)}
.upgrade button{min-height:30px;padding:.35vw .65vw;background:linear-gradient(#249043,#176d31);font-size:clamp(9px,.66vw,13px);font-weight:bold}
.upgrade button:hover:not(:disabled){filter:brightness(1.16)}

.friendPhoto.talking{border-color:#5cff80;box-shadow:0 0 18px #28ff7055;animation:allyTalk .28s infinite alternate}
.allyAlert{position:absolute;right:8.4%;bottom:39%;z-index:12;width:11.8vw;min-width:142px;display:block;padding:.55vw .7vw;background:#f7fff2;color:#102014;border:2px solid #5cff80;border-radius:14px;box-shadow:0 0 18px #1eff6644,0 7px 16px #0009;font-family:"Courier New",monospace;animation:allyBubble .55s infinite alternate}
.allyAlert:before{content:"";position:absolute;right:1.45vw;bottom:-1.05vw;width:1.45vw;height:1.45vw;background:#f7fff2;border-right:2px solid #5cff80;border-bottom:2px solid #5cff80;transform:rotate(45deg);border-bottom-right-radius:.28vw}
.allyAlert:after{content:"";position:absolute;right:.45vw;bottom:-1.55vw;width:.42vw;height:.42vw;background:#f7fff2;border:2px solid #5cff80;border-radius:50%;box-shadow:.85vw .55vw 0 -.05vw #f7fff2,.85vw .55vw 0 .08vw #5cff80}
.allyAlert b{display:block;margin-bottom:.18vw;color:#128a3a;font-size:clamp(10px,.7vw,13px)}
.allyAlert span{display:block;font-size:clamp(10px,.72vw,14px);line-height:1.16;font-weight:bold}
@keyframes allyBubble{to{transform:translateY(-2px);filter:brightness(1.05)}}
@keyframes allyTalk{to{transform:translateY(-3px) scale(1.04)}}

.cameraFrame.delayedFeed img{filter:brightness(.68) contrast(1.18) saturate(.72);animation:delayedFrame 1.15s steps(2,end) infinite}
.cameraFrame.delayedFeed:before{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:linear-gradient(0deg,transparent 0 18%,rgba(91,190,255,.12) 19% 21%,transparent 22% 53%,rgba(255,255,255,.1) 54% 55%,transparent 56%);mix-blend-mode:screen;animation:cameraPhase 1.1s steps(4,end) infinite}
.cameraFrame.delayedFeed .scan{background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.55) 2px 5px)}
.cameraFrame.delayedFeed .sprite.visible{animation:phaseSprite .75s steps(3,end) infinite}
.cameraFrame.delayedFeed .sprite.visible.walk{animation:phaseSprite .75s steps(3,end) infinite,walk 1.5s infinite alternate}
.cameraFrame.delayedFeed .rec:after{content:" DELAY";color:#7fb7ff}
@keyframes delayedFrame{50%{transform:translateX(-1px);opacity:.86}}
@keyframes cameraPhase{0%{transform:translateY(-18%);opacity:.2}45%{transform:translateY(34%);opacity:.55}100%{transform:translateY(70%);opacity:.18}}
@keyframes phaseSprite{0%,100%{opacity:.95;filter:drop-shadow(0 0 9px #000)}33%{opacity:.38;transform:translate(-48%,-50%)}66%{opacity:.72;transform:translate(-53%,-50%);filter:drop-shadow(3px 0 0 #35d8ff) drop-shadow(-3px 0 0 #ff3b7d)}}
