:root{--bg: #050508;--text-main: #ffffff;--text-dim: rgba(255, 255, 255, .6);--accent: #00f2ff;--accent-red: #ff0022;--font-head: "Anton", sans-serif;--font-mono: "Space Grotesk", monospace;--ui-bg: rgba(5, 5, 8, .9)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg);color:var(--text-main);font-family:var(--font-mono);overflow:hidden;cursor:crosshair}#webgl{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0}.hud{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:100;font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase}.hud-top-left{position:absolute;top:2.5rem;left:2.5rem;border-left:2px solid var(--accent);padding-left:1rem}.hud-top-right{position:absolute;top:2.5rem;right:2.5rem;text-align:right;border-right:2px solid var(--accent);padding-right:1rem}.hud-bottom-left{position:absolute;bottom:2.5rem;left:2.5rem;color:var(--text-dim)}.hud-bottom-right{position:absolute;bottom:2.5rem;right:2.5rem;color:var(--accent-red)}.overlay-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,242,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,242,255,.02) 1px,transparent 1px);background-size:100px 100px;opacity:.5}.ui-layer{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50;pointer-events:none}.project-info{position:absolute;max-width:600px;display:flex;flex-direction:column;padding:0 4vw;top:50%;left:50%;transform:translate(-50%,-50%);will-change:top,left,transform}.proj-idx{font-size:1.2rem;color:var(--accent);margin-bottom:1rem;letter-spacing:.4em}.proj-title{font-family:var(--font-head);font-size:clamp(3rem,12vw,12rem);line-height:.85;margin-bottom:2rem;color:#fff;text-shadow:0 0 30px rgba(0,0,0,1),0 0 10px rgba(0,242,255,.4);white-space:nowrap}.proj-tags{display:flex;gap:10px;margin-bottom:2.5rem;justify-content:center;flex-wrap:nowrap}.tag{font-size:clamp(.6rem,2.5vw,.8rem);border:1px solid var(--accent);padding:6px 14px;background:#000c;color:var(--accent);text-transform:uppercase;font-weight:700;letter-spacing:.1em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.proj-desc{max-width:500px;font-size:1.1rem;line-height:1.6;background:#000c;padding:1.5rem 2rem;border-top:2px solid var(--accent);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:768px){.project-info{max-width:95vw!important;padding:0 5px}.proj-title{font-size:11vw;margin-bottom:1.5rem}.proj-tags{gap:6px}.tag{padding:4px 10px}.proj-desc{font-size:.95rem;padding:1rem;max-width:100%}}.contact-btn{pointer-events:auto;color:#fff;border:2px solid var(--accent-red);background:var(--accent-red);padding:20px 40px;font-size:1.2rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;transition:all .3s ease;margin-top:3rem;box-shadow:0 0 30px #f02c,inset 0 0 10px #ffffff4d;text-shadow:0 0 5px rgba(0,0,0,.5);border-radius:4px;white-space:nowrap}.contact-btn:hover{background:#fff;color:var(--accent-red);border-color:#fff;box-shadow:0 0 60px #fffc;transform:scale(1.08) translateY(-5px)}.hidden{display:none!important}.boot-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;color:#0f0;z-index:1000;display:flex;justify-content:center;align-items:center;font-family:Space Grotesk,monospace;padding:2rem;overflow:hidden}.boot-content{max-width:600px;width:100%;display:flex;flex-direction:column}.boot-log{font-size:.85rem;line-height:1.4;min-height:300px;margin-bottom:2rem;text-shadow:0 0 5px #0f0}.boot-status{font-size:1.2rem;font-weight:700;margin-bottom:2rem;border-top:1px solid #0f0;padding-top:1rem;animation:blink .8s infinite alternate}.boot-btn{background:transparent;color:#0f0;border:1px solid #0f0;padding:1.5rem;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .3s;text-transform:uppercase}.boot-btn:hover{background:#0f0;color:#000;box-shadow:0 0 30px #0f0}.scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#12101000 50%,#0003 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 4px,3px 100%;pointer-events:none;z-index:1001}@keyframes blink{0%{opacity:.3}to{opacity:1}}
