:root { --p: #0070f3; --pd: rgba(0, 112, 243, 0.1); --pg: rgba(0, 112, 243, 0.5); --bg: #050505; --b: #1a1a1a; --t: #ffffff; --tm: #999999; --m: "JetBrains Mono", monospace; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--bg); color: var(--t); font-family: "Space Grotesk", sans-serif; overflow-x: hidden; }
#ld { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--bg); z-index: 9999; display: flex; align-items: center; justify-content: center; transition: opacity 0.5s, visibility 0.5s; }
.sp { width: 40px; height: 40px; border: 3px solid var(--b); border-top: 3px solid var(--p); border-radius: 50%; animation: s 1s linear infinite; }
@keyframes s { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
body.ok #ld { opacity: 0; visibility: hidden; }
body:before { content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(#12101000 50%, #0003 50%), linear-gradient(90deg, rgba(0,112,243,0.02), rgba(0,112,243,0.01)); background-size: 100% 2px, 3px 100%; pointer-events: none; z-index: 1000; }
body:after { content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(var(--b) 1px, transparent 1px), linear-gradient(90deg, var(--b) 1px, transparent 1px); background-size: 60px 60px; opacity: .1; z-index: -1; pointer-events: none; }
.nv { display: flex; justify-content: space-between; align-items: center; padding: 20px 8%; background: rgba(5,5,5,0.8); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); border-bottom: 1px solid var(--b); position: sticky; top: 0; z-index: 1100; }
.lg { font-weight: 900; color: var(--t); font-size: 1.5rem; text-decoration: none; text-transform: uppercase; letter-spacing: -1px; }
.nl { display: flex; gap: 25px; list-style: none; align-items: center; }
.nl a { text-decoration: none; color: var(--tm); font-family: var(--m); font-size: 0.75rem; text-transform: uppercase; transition: 0.3s; }
.nl a:hover { color: var(--p); text-shadow: 0 0 10px var(--p); }
.mi { display: none; cursor: pointer; width: 25px; height: 18px; position: relative; z-index: 1400; }
.mi span { display: block; position: absolute; height: 2px; width: 100%; background: var(--t); border-radius: 2px; transition: .25s ease-in-out; }
.mi span:nth-child(1) { top: 0; }
.mi span:nth-child(2) { top: 8px; }
.mi span:nth-child(3) { top: 16px; }
.mi.on span:nth-child(1) { top: 8px; transform: rotate(135deg); background: var(--p); }
.mi.on span:nth-child(2) { opacity: 0; left: -40px; }
.mi.on span:nth-child(3) { top: 8px; transform: rotate(-135deg); background: var(--p); }
.sb { position: fixed; top: 0; right: -100%; width: 300px; height: 100%; background: rgba(8, 8, 8, 0.9); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-left: 1px solid var(--p); z-index: 1300; padding: 100px 40px; transition: 0.6s cubic-bezier(0.16, 1, 0.3, 1); display: flex; flex-direction: column; gap: 20px; }
.sb.on { right: 0; }
.sb a { text-decoration: none; color: var(--tm); font-family: var(--m); font-size: 1rem; text-transform: uppercase; transition: 0.3s; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.sb a:hover { color: var(--p); padding-left: 10px; border-bottom: 1px solid var(--p); }
.hr { padding: 100px 8% 40px; max-width: 1200px; }
.sub { font-family: var(--m); color: var(--p); font-size: .8rem; letter-spacing: 4px; text-transform: uppercase; display: block; margin-bottom: 15px; }
h1 { font-size: clamp(3.5rem, 10vw, 6rem); font-weight: 900; line-height: 0.9; letter-spacing: -4px; margin-bottom: 30px; animation: g 3s infinite ease-in-out; }
@keyframes g { 0%, 100% { text-shadow: 0 0 20px var(--pg); } 50% { text-shadow: 0 0 40px var(--p); } }
.ds { color: var(--tm); font-size: 1.15rem; max-width: 750px; border-left: 3px solid var(--p); padding-left: 20px; margin-bottom: 50px; }
.sg { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 80px; }
.sc { background: rgba(255,255,255,0.02); border: 1px solid var(--b); padding: 30px; border-radius: 4px; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden; }
.sc:hover { border-color: var(--p); background: var(--pd); transform: translateY(-8px) scale(1.02); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 20px var(--pd); }
.sc::before, .wl li::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, var(--p), transparent); transition: 0.5s; }
.sc:hover::before, .wl li:hover::before { left: 100%; }
.sl { font-family: var(--m); color: var(--p); font-size: 0.7rem; text-transform: uppercase; display: block; margin-bottom: 10px; transition: 0.3s; }
.sc:hover .sl { text-shadow: 0 0 8px var(--p); color: #fff; }
.sv { font-size: 2rem; font-weight: 900; }
.pu { display: inline-block; width: 8px; height: 8px; background: #00ff00; border-radius: 50%; margin-right: 10px; box-shadow: 0 0 10px #00ff00; animation: p 2s infinite; }
@keyframes p { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.5; } }
.wc h4 { text-transform: uppercase; font-size: 1.2rem; margin-bottom: 30px; letter-spacing: 2px; }
.wl { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; list-style: none; }
.wl li { background: rgba(255,255,255,0.01); border: 1px solid var(--b); padding: 20px; font-family: var(--m); font-size: 0.85rem; color: var(--tm); border-left: 4px solid var(--b); transition: all 0.3s ease; position: relative; overflow: hidden; }
.wl li:hover { border-left-color: var(--p); background: rgba(255,255,255,0.03); transform: translateX(10px); color: #fff; }
.bt { padding: 1.2rem 2.5rem; font-family: var(--m); font-weight: 700; text-transform: uppercase; font-size: .85rem; cursor: pointer; text-decoration: none; display: inline-block; background: var(--p); color: #fff; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); transition: .3s; }
.bt:hover { transform: translateY(-3px); box-shadow: 0 0 30px var(--pg); }
.bt-nav {padding: 10px 20px;font-size: 0.7rem;}
.bt-sidebar {margin-top: 20px;text-align: center;}
.ov { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); opacity: 0; visibility: hidden; z-index: 1250; transition: 0.3s; }
.ov.on { opacity: 1; visibility: visible; }
@media (max-width: 900px) { .nl { display: none; } .mi { display: block; } .hr { padding: 60px 8%; } }