/* Routr Network: atmosphere, movement and interface finishes. */
html{scroll-padding-top:126px}body{position:relative;isolation:isolate}.page-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;z-index:60;background:linear-gradient(90deg,#6d9d4a,var(--green),#ebfbdc);transform:scaleX(0);transform-origin:left;pointer-events:none;box-shadow:0 0 12px #bce69c30}.ambient-field{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.ambient-field i{position:absolute;width:75vmax;height:75vmax;top:-25vmax;right:-25vmax;background:radial-gradient(ellipse,#86a76b13,transparent 66%);animation:ambient-drift 32s ease-in-out infinite alternate}.ambient-field i:last-child{top:45%;right:auto;left:-45vmax;background:radial-gradient(ellipse,#79a2510c,transparent 65%);animation-duration:38s;animation-delay:-14s}
.header{position:sticky;top:0;z-index:30;background:#0b0e0bd9;backdrop-filter:blur(18px);transition:background .35s,border-color .35s,box-shadow .35s}.header.is-scrolled{background:#0b0e0bf2;border-color:#405035;box-shadow:0 12px 35px #00000020}.header nav>a{position:relative;padding-block:10px}.header nav>a:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav>a:hover:after{transform:scaleX(1)}.wordmark{transition:filter .3s}.wordmark:hover{filter:drop-shadow(0 0 9px #bce69c25)}.social-link{transition:color .25s,transform .3s}.social-link:hover{transform:translateY(-2px)}
.hero-copy>.eyebrow{animation:hero-arrive .8s both .05s}.hero-copy>h1{animation:hero-arrive .9s both .13s}.hero-description{animation:hero-arrive .9s both .22s}.hero-actions{animation:hero-arrive .9s both .31s}.hero-ca{animation:hero-arrive .9s both .4s}.hero h1 em{text-shadow:0 0 48px #bce69c0c}.hero .eyebrow{letter-spacing:.14em}.swarm-scene{animation:scene-arrive 1.3s both .2s}.swarm-scene .scene-grid{opacity:.9;translate:calc(var(--scene-x,0px) * -.3) calc(var(--scene-y,0px) * -.3)}.network-lines{translate:calc(var(--scene-x,0px) * .5) calc(var(--scene-y,0px) * .5)}.micro-swarm{translate:calc(var(--scene-x,0px) * -.6) calc(var(--scene-y,0px) * -.6)}.swarm-core{translate:calc(var(--scene-x,0px) * .2) calc(var(--scene-y,0px) * .2);animation:nexus-breathe 6s ease-in-out infinite}.network-lines,.scene-grid,.micro-swarm,.swarm-core{transition:translate .65s cubic-bezier(.22,1,.36,1)}.swarm-scene:hover .swarm-core{border-color:#bce69cb3}.orbit-lines ellipse{transform-origin:center;transform-box:view-box;animation:orbital-turn 64s linear infinite}.orbit-lines ellipse:last-child{animation-duration:48s;animation-direction:reverse}.network-lines .routes path{stroke-dasharray:4 9;animation:route-signal 20s linear infinite;stroke:#91b17645}.network-lines .routes path:nth-child(2n){animation-direction:reverse;animation-delay:-8s}.packets circle{filter:drop-shadow(0 0 3px #bce69c70)}.scene-scan{position:absolute;left:9%;right:9%;top:7%;height:1px;background:linear-gradient(90deg,transparent,#bce69c27,transparent);animation:network-scan 16s linear infinite;pointer-events:none}.orbital-waves{position:absolute;inset:0;z-index:-1;pointer-events:none}.orbital-waves i{position:absolute;width:156px;height:156px;left:50%;top:50%;margin:-78px 0 0 -78px;border:1px solid #a2cb7d2b;border-radius:50%;animation:signal-wave 10s ease-out infinite}.orbital-waves i:nth-child(2){animation-delay:-3.33s}.orbital-waves i:nth-child(3){animation-delay:-6.66s}.agent pre{transition:color .4s,text-shadow .4s}.agent:hover pre{color:#e1f4cf;text-shadow:0 0 18px #bce69c60}.status-dot{animation:signal-dot 3.5s ease-in-out infinite}.scene-caption{color:#96a88b}
.button.primary{position:relative;isolation:isolate;overflow:hidden;transition:background .25s,transform .3s,box-shadow .3s}.button.primary:after{content:'';position:absolute;inset:-50% -10%;background:linear-gradient(110deg,transparent 35%,#ffffff35 50%,transparent 65%);transform:translateX(-110%);transition:transform .7s;pointer-events:none}.button.primary:not(:disabled):hover:after{transform:translateX(110%)}.button.primary:not(:disabled):hover{box-shadow:0 8px 30px #bce69c18}.button>span,.header-cta>span:last-child,.quiet-link>span{transition:transform .3s}.button:not(:disabled):hover>span,.header-cta:hover>span:last-child{transform:translate(2px,-2px)}.quiet-link:hover>span{transform:translateY(3px)}.header-cta:hover{box-shadow:inset 0 0 18px #bce69c07,0 0 20px #bce69c08}.contract-address{position:relative;overflow:hidden;background:linear-gradient(120deg,#18231288,#0e150dcc);transition:border-color .4s}.contract-address:hover{border-color:#6d8c52}.contract-address:after{content:'';position:absolute;bottom:0;left:0;width:55%;height:1px;background:linear-gradient(90deg,transparent,#bce69c70,transparent);animation:contract-signal 8s ease-in-out infinite;pointer-events:none}.hero-ca{border-color:#405832}.ca-label{color:#9eae92}.ca-value{color:#c5edaa}.terminal-fields .run-button:disabled{opacity:.75}.lab,.allocation-panel{background:linear-gradient(145deg,#17201180,#101510);transition:border-color .4s,box-shadow .4s}.lab:hover,.allocation-panel:hover{border-color:#556d42;box-shadow:0 15px 50px #00000020}.timeline-step .step-symbol{animation:agent-signal 8s ease-in-out infinite}.timeline-step:nth-child(2) .step-symbol{animation-delay:2s}.timeline-step:nth-child(3) .step-symbol{animation-delay:4s}.timeline-step:nth-child(4) .step-symbol{animation-delay:6s}.empty-glyph{animation:float 6.5s ease-in-out infinite}.principles article{transition:padding-left .35s,border-color .35s}.principles article:hover{padding-left:7px;border-color:#4c633c}.principle-icon{transition:transform .4s}.principles article:hover .principle-icon{transform:rotate(-12deg)}.allocation-bar{overflow:hidden}.allocation-bar>span{transform-origin:left;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.motion-ready .allocation-panel[data-reveal]:not(.is-visible) .allocation-bar>span{transform:scaleX(0)}.roadmap .current:before{box-shadow:0 0 13px #bce69c40;animation:signal-dot 3.5s ease-in-out infinite}.faq-items details[open]>p{animation:answer-arrive .35s both}.faq-items summary{transition:color .25s}.faq-items summary:hover{color:var(--green)}.faq-items summary>span{transition:transform .3s}.closing:before{content:'';position:absolute;pointer-events:none;inset:-10% -10% -20% 30%;z-index:-1;background:radial-gradient(ellipse at center,#94b86d0c,transparent 70%)}
[data-reveal]{transition:opacity .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),translate .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}.motion-ready [data-reveal]:not(.is-visible):not(:focus-within){opacity:0;translate:0 24px}[data-reveal].is-visible{opacity:1;translate:0 0}
dialog[open]{animation:dialog-arrive .3s cubic-bezier(.16,1,.3,1)}dialog[open]::backdrop{animation:backdrop-arrive .3s both}.wallet-option{transition:background .25s,padding-left .3s}.wallet-option:hover{padding-left:21px;background:linear-gradient(105deg,#25361c,#15200f)}.wallet-icon{background:none;border-radius:10px;overflow:hidden;transition:transform .3s}.wallet-icon img{display:block;width:40px;height:40px;object-fit:contain}.phantom-icon{background:#1c1929}.phantom-icon img{width:33px;height:33px}.metamask-icon{background:#271b12}.metamask-icon img{width:32px;height:32px}.wallet-option:hover .wallet-icon{transform:translateY(-1px)}.wallet-arrow{transition:transform .3s,color .3s}.wallet-option:hover .wallet-arrow{transform:translate(2px,-2px);color:var(--green)}.wallet-networks button{transition:background .25s,border-color .25s,color .25s}.close-wallet,.close-dialog{transition:background .25s,border-color .25s}.close-wallet:hover,.close-dialog:hover{background:#bce69c10;border-color:var(--green)}
@keyframes hero-arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes scene-arrive{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}@keyframes ambient-drift{to{transform:translate(-6%,8%) scale(1.12)}}@keyframes orbital-turn{to{transform:rotate(360deg)}}@keyframes signal-wave{0%{transform:scale(.8);opacity:0}15%{opacity:.7}100%{transform:scale(2.6);opacity:0}}@keyframes nexus-breathe{0%,100%{box-shadow:0 0 50px #8bca5810,inset 0 0 25px #8bca5806}50%{box-shadow:0 0 95px #8bca5820,inset 0 0 35px #8bca580d}}@keyframes route-signal{to{stroke-dashoffset:-260}}@keyframes network-scan{0%{transform:translateY(0);opacity:0}15%,85%{opacity:1}100%{transform:translateY(430px);opacity:0}}@keyframes signal-dot{0%,100%{box-shadow:0 0 0 0 #bce69c15}50%{box-shadow:0 0 0 4px #bce69c03,0 0 14px #bce69c30}}@keyframes contract-signal{0%,15%{transform:translateX(-110%);opacity:0}35%,65%{opacity:.8}85%,100%{transform:translateX(220%);opacity:0}}@keyframes agent-signal{0%,16%,100%{color:#839575;border-color:#34402d;background:transparent}4%,10%{color:var(--green);border-color:#75995a;background:#bce69c0c;box-shadow:0 0 12px #bce69c0a}}@keyframes answer-arrive{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
.rabby-icon{background:#141b2a}.rabby-icon img{width:32px;height:32px}.allocation-panel{position:relative;overflow:hidden}.allocation-panel:before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#bce69c65,transparent)}.label-tag{background:#bce69c05}
@media(max-width:760px){html{scroll-padding-top:98px}.header{backdrop-filter:blur(12px)}.hero-copy>.eyebrow{animation-delay:0s}.hero-copy>h1{animation-delay:.06s}.hero-description{animation-delay:.12s}.hero-actions{animation-delay:.18s}.hero-ca{animation-delay:.24s}.swarm-scene{animation-delay:.25s}.orbital-waves i{width:130px;height:130px;margin:-65px 0 0 -65px}.wallet-option:hover{padding-left:17px}.scene-caption{font-size:6px}.ambient-field i{opacity:.6}.motion-ready [data-reveal]:not(.is-visible):not(:focus-within){translate:0 16px}}
@media(max-width:350px){.header .wordmark small{display:none}.header-actions{gap:10px}.hero h1{font-size:40px}.hero-actions{gap:14px}.hero-actions .button{font-size:9px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;translate:none!important}.hero-copy>*{opacity:1!important;translate:none!important}.swarm-scene{opacity:1!important;filter:none!important}.orbital-waves,.scene-scan{display:none}.network-lines,.scene-grid,.micro-swarm,.swarm-core{translate:none!important}.page-progress{box-shadow:none}.allocation-bar>span{transform:none!important}}
