
:root{--bg:#07111f;--deep:#050c17;--text:#e6f1ff;--muted:#8892b0;--route:#c45cff;--route-rgb:196,92,255;--route2:#64d8ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{--cursor-x:50vw;--cursor-y:20vh;margin:0;min-height:100vh;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(620px circle at var(--cursor-x) var(--cursor-y),rgba(var(--route-rgb),.085),transparent 64%),radial-gradient(circle at 12% 0%,rgba(49,75,145,.24),transparent 34%),linear-gradient(180deg,var(--deep),var(--bg));overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#fff,transparent 78%)}
a{color:inherit;text-decoration:none}.progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:100}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--route),var(--route2));box-shadow:0 0 14px rgba(var(--route-rgb),.35)}
.shell{width:min(1180px,calc(100% - 40px));margin:auto;position:relative;z-index:2;padding-bottom:42px}
.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(136,146,176,.10);transition:.25s ease}
.topbar::before{content:"";position:absolute;inset:0 -18px;z-index:-1;border-radius:0 0 14px 14px;background:linear-gradient(180deg,rgba(8,20,34,.84),rgba(5,12,23,.72));opacity:0;transition:.25s ease}.topbar.scrolled{backdrop-filter:blur(18px);border-bottom-color:rgba(var(--route-rgb),.16)}.topbar.scrolled::before{opacity:1}
.identity{display:flex;align-items:center;gap:12px}.mark{width:44px;height:44px;border:1px solid rgba(var(--route-rgb),.42);border-radius:11px;display:grid;place-items:center;color:var(--route);background:rgba(var(--route-rgb),.055);font-family:"SFMono-Regular",Consolas,monospace;font-size:.69rem;font-weight:900;box-shadow:inset 0 0 22px rgba(var(--route-rgb),.035)}
.identity strong,.identity small{display:block}.identity strong{font-size:.9rem}.identity small{margin-top:3px;color:#6f8098;font-size:.68rem}.back{color:#93a4bc;font-size:.76rem;font-weight:650;transition:.18s}.back:hover{color:var(--route)}
.hero{padding:68px 0 54px;max-width:900px;position:relative;isolation:isolate}.hero::before{content:"";position:absolute;width:500px;height:230px;left:180px;top:92px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(var(--route-rgb),.13),transparent 70%);filter:blur(18px)}
.kicker{margin:0 0 13px;color:var(--route);text-transform:uppercase;letter-spacing:2px;font-size:.67rem;font-weight:800}.hero h1{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(2.9rem,6.5vw,5.7rem);line-height:.96;letter-spacing:-3.5px}.hero h1 span{color:var(--route)}
.hero p.copy{max-width:760px;margin:23px 0 0;color:#9aabc2;font-size:1rem;line-height:1.8}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.meta span{padding:6px 9px;border:1px solid rgba(var(--route-rgb),.16);border-radius:999px;background:rgba(var(--route-rgb),.04);color:#aeb9cb;font-family:"SFMono-Regular",Consolas,monospace;font-size:.61rem}
.section{padding:28px 0 66px}.section-head{display:flex;align-items:center;gap:13px;margin-bottom:30px}.section-index{color:var(--route);font:800 .78rem Manrope,Inter,sans-serif}.section-head h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-1.1px}.line{height:1px;flex:1;max-width:260px;background:linear-gradient(90deg,rgba(136,146,176,.15),transparent)}
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.activity-card{--spot-x:50%;--spot-y:50%;min-height:230px;padding:22px;border-radius:12px;border:1px solid rgba(var(--route-rgb),.15);border-top-color:rgba(var(--route-rgb),.34);background:radial-gradient(340px circle at var(--spot-x) var(--spot-y),rgba(var(--route-rgb),.11),transparent 60%),linear-gradient(180deg,rgba(14,29,49,.93),rgba(9,21,34,.96));position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:.22s ease}
.activity-card:hover{transform:translateY(-4px);border-color:rgba(var(--route-rgb),.34);box-shadow:0 18px 42px rgba(0,0,0,.2)}.activity-card::after{content:attr(data-step);position:absolute;right:-3px;bottom:-18px;font:800 4.2rem Manrope,Inter,sans-serif;color:rgba(var(--route-rgb),.045);letter-spacing:-3px}
.activity-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2}.activity-number{color:var(--route);font:800 .69rem "SFMono-Regular",Consolas,monospace}.activity-type{padding:5px 8px;border:1px solid rgba(var(--route-rgb),.17);border-radius:999px;background:rgba(var(--route-rgb),.055);color:var(--route2);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.activity-card h3{margin:30px 0 9px;font:700 1.22rem Manrope,Inter,sans-serif;position:relative;z-index:2}.activity-card p{margin:0;color:#92a3ba;line-height:1.68;font-size:.82rem;position:relative;z-index:2}.activity-footer{margin-top:20px;padding-top:13px;border-top:1px solid rgba(var(--route-rgb),.10);display:flex;justify-content:space-between;gap:12px;position:relative;z-index:2}.activity-footer span{color:#64758e;font-size:.65rem}.activity-footer b{color:var(--route);font-size:.66rem}
.tech-panel{display:flex;flex-wrap:wrap;gap:8px;padding:22px;border:1px solid rgba(var(--route-rgb),.12);border-radius:12px;background:linear-gradient(180deg,rgba(var(--route-rgb),.035),rgba(255,255,255,.007))}.tech-panel span{padding:7px 9px;border:1px solid rgba(var(--route-rgb),.15);border-radius:8px;background:rgba(var(--route-rgb),.045);color:#b1bfd3;font:600 .63rem "SFMono-Regular",Consolas,monospace}
.note{margin-top:18px;color:#72829a;font-size:.72rem;line-height:1.65}.footer{margin-top:48px;padding:22px 0 28px;border-top:1px solid rgba(136,146,176,.10);display:flex;justify-content:space-between;gap:20px;color:#66758e;font-size:.72rem}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:760px){.activity-grid{grid-template-columns:1fr}.shell{width:min(100% - 22px,760px)}.hero{padding-top:52px}.topbar{min-height:70px}.identity small{display:none}.hero h1{font-size:3.2rem}.footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
