/* Motion is progressive enhancement: the page stays visible without JavaScript. */
.scroll-progress{position:fixed;z-index:100;inset:0 0 auto;height:3px;background:#ccff00;box-shadow:0 0 12px #ccff0070;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-card{isolation:isolate;transition:rotate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,transform .35s;rotate:var(--tilt-axis,1 0 0) var(--tilt-angle,0deg)}
.motion-card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--light-x,50%) var(--light-y,30%),rgba(255,255,255,.23),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:3}
.motion-card:hover::after,.motion-card.is-hovered::after{opacity:1}.motion-card.glass-dark::after{background:radial-gradient(340px circle at var(--light-x,50%) var(--light-y,30%),rgba(213,255,154,.1),transparent 65%)}
.motion-heading{transform-origin:0 100%}.motion-image{translate:0 var(--image-drift,0px)}
nav a{position:relative}nav a:not(:first-child):hover{filter:brightness(1.14)}
.network-scene{position:relative;isolation:isolate;aspect-ratio:1;min-width:0;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 55% 50%,#25330e,#090d08 72%)!important;box-shadow:0 40px 70px -38px #26390099,inset 0 1px 0 #eefbd426!important}
.network-scene:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#dfff9406 1px,transparent 1px),linear-gradient(90deg,#dfff9406 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,#000,transparent 80%);pointer-events:none}
#network-canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:pan-y}
.network-hud{position:absolute;top:24px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;color:#a7b992;font:500 9px/1.4 var(--mono);letter-spacing:.12em;pointer-events:none}
.network-pause{pointer-events:auto;display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;border:1px solid #dfff9433;background:#0a1008a0;color:#d4e3b8;cursor:pointer;font-size:13px;backdrop-filter:blur(12px)}
.network-pause:hover{background:#ccff0020;border-color:#ccff00;color:#ccff00}
.network-center-label{position:absolute;left:27px;top:45%;pointer-events:none;z-index:1;text-shadow:0 2px 20px #080e08;opacity:.95}
.network-center-label>span{font:500 9px var(--mono);letter-spacing:.16em;color:#c9e294}.network-center-label>strong{display:block;font-size:clamp(23px,2.5vw,36px);font-weight:600;line-height:1.03;letter-spacing:-.035em;margin-top:10px;color:#f2f8e8}
.network-footer{position:absolute;inset:auto 24px 24px;z-index:2;pointer-events:none}.network-legend{display:flex;gap:18px;font:500 9px/1.5 var(--mono);letter-spacing:.08em;color:#d2dcbb}.network-legend>span{display:flex;align-items:center;gap:7px}.network-legend i{width:5px;height:5px;border:1px solid #a0bb70;border-radius:50%}.network-legend>span:last-child i{background:#ccff00;border-color:#ccff00;box-shadow:0 0 7px #ccff00}
.network-subline{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ebffd519;padding-top:15px;margin-top:17px;font:500 8px/1.4 var(--mono);letter-spacing:.07em;color:#8d9d79}.network-interaction{color:#c0d49e}
@media(hover:none){.network-interaction{display:none}.motion-card:hover::after,.motion-card.is-hovered::after{opacity:0}}
@media(max-width:760px){.network-scene{min-height:350px;aspect-ratio:1.08}.network-hud{left:20px;right:20px;top:18px;font-size:8px}.network-center-label{left:20px}.network-center-label>strong{font-size:27px}.network-footer{inset:auto 20px 20px}.network-legend{font-size:8px;gap:13px}.network-subline{font-size:7px}}
@media(max-width:360px){.network-center-label>strong{font-size:23px}.network-center-label{top:43%}.network-legend{gap:10px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.motion-card{rotate:none!important}.motion-image{translate:none!important}.scroll-progress{display:none}.motion-card::after{display:none}}
