:root{--void: #020202;--charcoal: #080909;--iron: #161817;--ash: #d6d2c8;--ash-dim: #878277;--ash-faint: #4a473f;--blood: #a81616;--blood-mid: #6a0a0a;--blood-low: #3a0505;--blood-deep: #2a0303;--sick: #8a9b72;--mono: "Courier New", "Lucida Console", monospace;--cube-size: clamp(120px, 22vmin, 280px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--void);color:var(--ash);font-family:var(--mono);user-select:none;-webkit-user-select:none;cursor:crosshair}#app{position:fixed;inset:0;overflow:hidden}.noise-canvas{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated;opacity:.34;z-index:1;pointer-events:none}.signal-depth{position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at var(--mx, 50%) var(--my, 48%),rgba(168,22,22,.14),transparent 18rem),radial-gradient(circle at 50% 42%,rgba(138,155,114,.06),transparent 28rem),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),radial-gradient(ellipse at center,transparent 22%,rgba(0,0,0,.68) 70%,#000 100%);background-size:auto,auto,42px 42px,42px 42px,auto;mix-blend-mode:screen}.signal-depth:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.32) 2px 3px);opacity:.72;pointer-events:none}.signal-depth:after{content:"";position:fixed;inset:0;background:linear-gradient(transparent,rgba(168,22,22,.045),transparent);animation:scan 6.4s linear infinite;pointer-events:none}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.lab-shell{position:fixed;inset:0;display:grid;grid-template-rows:minmax(64px,12vh) 1fr minmax(96px,16vh);padding:clamp(14px,2.6vw,40px);isolation:isolate;z-index:3}.readout{position:fixed;top:clamp(14px,2.4vw,30px);z-index:14;display:grid;gap:6px;max-width:min(42vw,440px);color:var(--ash-dim);font-size:clamp(10px,1.05vw,13px);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.readout-left{left:clamp(14px,2.4vw,30px)}.readout-right{right:clamp(14px,2.4vw,30px);text-align:right}.readout span{text-shadow:0 0 6px rgba(0,0,0,.8)}.readout .blink-val{color:var(--blood);animation:hud-blink 2.2s steps(2) infinite}@keyframes hud-blink{0%,60%{opacity:1}61%,to{opacity:.35}}.portal-field{position:relative;grid-row:2;display:flex;align-items:center;justify-content:center;gap:clamp(40px,12vw,200px);min-height:42vh;overflow:visible;perspective:1100px}.portal-frame{position:relative;flex-shrink:0;width:clamp(90px,14vw,200px);height:clamp(160px,34vh,400px);border:1px solid rgba(214,210,200,.18);background:linear-gradient(90deg,transparent 12%,rgba(168,22,22,.08),transparent 88%),radial-gradient(ellipse at center,rgba(168,22,22,.06),transparent 60%),var(--charcoal);transform:perspective(820px) rotateY(var(--tilt));animation:frame-breathe 4.8s ease-in-out infinite;transition:border-color .4s,box-shadow .4s}.portal-frame-a{--tilt: 14deg}.portal-frame-b{--tilt: -14deg;animation-delay:-1.9s;border-color:#6a0a0a59}.portal-frame:before,.portal-frame:after,.portal-frame span:before,.portal-frame span:after{content:"";position:absolute;background:#d6d2c838;box-shadow:0 0 18px #a8161640}.portal-frame:before,.portal-frame:after{left:7%;right:7%;height:1px}.portal-frame:before{top:9%}.portal-frame:after{bottom:9%}.portal-frame span:before,.portal-frame span:after{top:7%;bottom:7%;width:1px}.portal-frame span:before{left:11%}.portal-frame span:after{right:11%}.portal-frame span{position:absolute;inset:0}.portal-frame span:nth-child(2){transform:scale(.76);opacity:.5}.portal-frame-b.shatter{border-color:#a81616d9;box-shadow:0 0 48px #a8161680,inset 0 0 32px #a8161640}.is-awake .portal-frame{border-color:#a8161699;box-shadow:0 0 24px #a8161629,inset 0 0 20px #a8161614}@keyframes frame-breathe{0%,to{opacity:.4;transform:perspective(820px) rotateY(var(--tilt)) scaleY(.98)}50%{opacity:.78;transform:perspective(820px) rotateY(var(--tilt)) scaleY(1.03)}}.frame-label{position:absolute;bottom:-7%;left:50%;transform:translate(-50%);color:var(--ash-faint);font-size:10px;letter-spacing:.35em;white-space:nowrap}.cube-anchor{position:relative;flex-shrink:0;width:var(--cube-size);height:var(--cube-size);transform-style:preserve-3d;cursor:pointer;z-index:6}.cube-3d{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:cube-spin 24s linear infinite;transition:animation-duration 1s}.cube-anchor:hover .cube-3d{animation-duration:8s}.cube-anchor.active .cube-3d{animation-duration:4s}.cube-label{position:absolute;bottom:-28%;left:50%;transform:translate(-50%);color:var(--blood);font-size:clamp(9px,1.3vw,14px);letter-spacing:.32em;white-space:nowrap;text-shadow:0 0 12px rgba(168,22,22,.5);opacity:.75;animation:cube-label-pulse 3.5s ease-in-out infinite;pointer-events:none}@keyframes cube-label-pulse{0%,to{opacity:.4}50%{opacity:.85}}.cube-face{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(168,22,22,.4);background:radial-gradient(ellipse at center,rgba(168,22,22,.12),transparent 70%),#080606eb;box-shadow:inset 0 0 40px #000c,inset 0 0 12px #a8161626;font-size:clamp(16px,4vmin,42px);color:var(--blood);text-shadow:0 0 14px rgba(168,22,22,.6);backface-visibility:visible;user-select:none}.cube-face:before{content:"";position:absolute;inset:6%;border:1px solid rgba(168,22,22,.18);pointer-events:none}.cube-face-front{transform:rotateY(0) translateZ(calc(var(--cube-size) / 2))}.cube-face-back{transform:rotateY(180deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-right{transform:rotateY(90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-left{transform:rotateY(-90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-top{transform:rotateX(90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--cube-size) / 2))}@keyframes cube-spin{0%{transform:rotateX(-20deg) rotateY(0)}to{transform:rotateX(-20deg) rotateY(360deg)}}.cube-glow{position:absolute;left:50%;top:50%;width:140%;height:140%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(168,22,22,.18) 0%,transparent 55%);pointer-events:none;animation:cube-glow-pulse 5s ease-in-out infinite}@keyframes cube-glow-pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.06)}}.cube-reveal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);width:min(620px,92vw);max-height:86vh;overflow:hidden;background:radial-gradient(ellipse at center,rgba(168,22,22,.1),transparent 70%),#060404f7;border:1px solid rgba(168,22,22,.45);box-shadow:0 0 80px #a8161640,inset 0 0 60px #000000b3;z-index:50;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column}.cube-reveal.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.cube-reveal-header{display:flex;align-items:center;justify-content:space-between;padding:clamp(14px,2.4vw,26px);border-bottom:1px solid rgba(168,22,22,.25)}.cube-reveal-title{font-size:clamp(14px,2vw,22px);letter-spacing:.4em;color:var(--blood);text-shadow:0 0 16px rgba(168,22,22,.5);text-transform:uppercase}.cube-reveal-close{background:none;border:1px solid rgba(168,22,22,.3);color:var(--ash-dim);font-family:var(--mono);font-size:12px;padding:4px 12px;cursor:pointer;letter-spacing:.15em;transition:color .2s,border-color .2s}.cube-reveal-close:hover{color:var(--blood);border-color:var(--blood)}.cube-reveal-body{padding:clamp(14px,2.4vw,26px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--blood-mid) transparent}.cube-reveal-body::-webkit-scrollbar{width:4px}.cube-reveal-body::-webkit-scrollbar-thumb{background:var(--blood-mid)}.cube-reveal-line{font-size:clamp(11px,1.5vw,15px);line-height:1.8;color:var(--ash-dim);margin:0 0 .6em;opacity:0;animation:reveal-line .5s forwards}.cube-reveal-line.lore{color:var(--ash);text-shadow:0 0 8px rgba(168,22,22,.2)}.cube-reveal-line.head{color:var(--blood);font-size:clamp(16px,2.4vw,26px);letter-spacing:.2em;text-align:center;margin-bottom:1em;text-shadow:0 0 20px rgba(168,22,22,.5)}@keyframes reveal-line{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ticker{grid-row:3;position:relative;overflow:hidden;border-top:1px solid rgba(168,22,22,.15);display:flex;align-items:center;z-index:5}.ticker:before{content:"LOG ▸";position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--blood-mid);font-size:11px;letter-spacing:.2em;z-index:2;background:var(--void);padding-right:8px}.ticker-track{display:flex;white-space:nowrap;animation:ticker-scroll 80s linear infinite;padding-left:100%}.ticker-item{color:var(--ash-faint);font-size:clamp(9px,1.1vw,12px);letter-spacing:.05em;padding-right:3em}.ticker-item.lore{color:var(--blood-mid)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.whisper-layer{position:fixed;inset:0;pointer-events:none;z-index:45;overflow:hidden}.whisper-text{position:absolute;color:var(--blood);font-size:clamp(14px,3vw,32px);text-shadow:2px 0 rgba(0,80,80,.5),-2px 0 var(--blood-mid),0 0 24px rgba(168,22,22,.6);opacity:0;letter-spacing:.1em;white-space:nowrap;font-weight:700;animation:whisper-in .4s forwards}@keyframes whisper-in{0%{opacity:0;transform:scale(.8) skew(8deg)}20%{opacity:.95;transform:scale(1.1) skew(-4deg)}40%{opacity:.7;transform:scale(1) skew(3deg)}60%{opacity:.9;transform:scale(1.05) skew(-2deg)}to{opacity:0;transform:scale(1) skew(0)}}.tear-overlay{position:fixed;inset:0;z-index:60;pointer-events:none;background:var(--void);opacity:0}.tear-overlay.active{animation:tear .22s steps(2)}@keyframes tear{0%{opacity:0;transform:translate(0)}10%{opacity:.55;clip-path:inset(20% 0 50% 0);transform:translate(-7px)}30%{opacity:.3;clip-path:inset(60% 0 10% 0);transform:translate(9px)}60%{opacity:.65;clip-path:inset(40% 0 40% 0);transform:translate(-4px)}to{opacity:0;transform:translate(0)}}.lab-shell.glitching{animation:rgb-shake .3s steps(3)}@keyframes rgb-shake{0%{filter:none;transform:translate(0)}25%{filter:hue-rotate(8deg) contrast(1.3);transform:translate(-3px,1px)}50%{filter:hue-rotate(-6deg) contrast(.9);transform:translate(2px,-2px)}75%{filter:hue-rotate(4deg) brightness(1.2);transform:translate(-1px,2px)}to{filter:none;transform:translate(0)}}.entry-hint{position:fixed;bottom:clamp(18px,4vh,40px);left:50%;transform:translate(-50%);color:var(--ash-faint);font-size:clamp(9px,1vw,11px);letter-spacing:.4em;text-transform:uppercase;z-index:13;pointer-events:none;animation:hint-fade 4s ease-in-out infinite}@keyframes hint-fade{0%,to{opacity:.15}50%{opacity:.5}}@media (max-width: 760px){html,body{cursor:default}.lab-shell{grid-template-rows:80px 1fr 80px;padding:14px;height:100%}.readout{max-width:calc(50vw - 18px);gap:4px;font-size:9px}.portal-field{gap:18px;flex-direction:column;min-height:70vh;transform:translateY(-2vh)}.portal-frame{width:clamp(70px,26vw,110px);height:clamp(120px,30vh,220px)}.cube-reveal{width:94vw;max-height:80vh}.ticker:before{font-size:9px}.ticker-item{font-size:9px;padding-right:2em}}
