/* v3 / terminal × data. New paint uses the existing eight color tokens only. */
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;z-index:110;background:var(--accent);transform:scaleX(0);transform-origin:left;box-shadow:0 0 9px color-mix(in srgb,var(--accent) 45%,transparent);pointer-events:none}
.brand>span{font:600 18px var(--mono);letter-spacing:-.03em}.brand b{color:var(--accent);font-weight:inherit}.caret{animation:caret-blink 1.2s steps(1) infinite}
@keyframes caret-blink{50%{opacity:0}}
.site-header nav a{position:relative;display:inline-block;transition:color .25s}.site-header nav a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.site-header nav a[aria-current]{color:var(--accent)}.site-header nav a[aria-current]:after{transform:scaleX(1)}
.cursor-dot,.cursor-ring{display:none;position:fixed;top:0;left:0;z-index:120;pointer-events:none;will-change:transform;border-radius:50%}.cursor-dot{width:6px;height:6px;margin:-3px;background:var(--fg)}.cursor-ring{width:38px;height:38px;margin:-19px;border:1.5px solid var(--accent);transition:width .25s,height .25s,margin .25s,background .25s,border-color .25s}.cursor-ring.is-hover{width:84px;height:84px;margin:-42px;background:var(--fg);border-color:var(--fg);mix-blend-mode:difference}
@media(hover:hover) and (pointer:fine){.cursor-enabled,.cursor-enabled a,.cursor-enabled button{cursor:none}.cursor-enabled .cursor-dot,.cursor-enabled .cursor-ring{display:block}.cursor-enabled .cursor-dot.is-away,.cursor-enabled .cursor-ring.is-away{opacity:0}}
.boot-screen{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;transform-origin:center;pointer-events:none}.boot-screen[hidden]{display:none}.boot-terminal{width:min(620px,calc(100% - 40px));font:400 clamp(12px,1.25vw,16px)/2.1 var(--mono);color:var(--muted)}.boot-log p{margin:0;white-space:pre-wrap}.boot-log b,.boot-command{font-weight:400}.boot-log b{color:var(--accent)}.boot-command{color:var(--fg)}.boot-progress{display:flex;align-items:center;gap:18px;margin-top:22px}.boot-bar{display:block;width:min(320px,72%);height:13px;padding:2px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.boot-bar i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 30%,transparent)}.boot-percent{color:var(--fg);font-variant-numeric:tabular-nums}
#node-network{z-index:3;mask-image:linear-gradient(90deg,black 0%,black 42%,#0006 78%,#0006);pointer-events:none}#digital-rain{opacity:.18}.hero-topline{z-index:4;align-items:center}.hero-hud{font:400 12px var(--mono);white-space:nowrap;letter-spacing:0;font-variant-numeric:tabular-nums}.hero-hud i{font-style:normal;color:var(--accent);animation:hud-pulse 3s ease-in-out infinite}.hero-coordinates{color:var(--fg)!important;white-space:nowrap}@keyframes hud-pulse{50%{opacity:.35}}
.hero-kicker{line-height:1.5;white-space:nowrap}.word-rotator{position:relative;display:inline-block;vertical-align:bottom;overflow:hidden;height:1.5em;transition:width .6s cubic-bezier(.2,.8,.2,1)}.word-rotator>span{display:block;position:absolute;left:0;top:0;white-space:nowrap;transform:translateY(110%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.word-rotator>span:first-child{position:relative}.word-rotator>span.is-current{transform:translateY(0)}.word-rotator>span.is-out{transform:translateY(-110%)}
.decode-line{position:relative;width:max-content;max-width:100%}.decode-ghost{visibility:hidden}.decode-glyphs{position:absolute;inset:0;display:flex;white-space:nowrap}.decode-glyphs>span{flex-shrink:0;display:inline-block}.decode-glyphs .is-decoding{color:var(--accent)}.name-outline .decode-glyphs .is-decoding{color:transparent;-webkit-text-stroke-color:var(--accent)}
.ticker{padding:20px 0 14px;contain:paint}.ticker-row{white-space:nowrap;width:max-content;will-change:transform;line-height:1.5}.ticker-outline{font:800 clamp(52px,6vw,84px)/1.1 var(--display);color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--fg) 55%,transparent);margin-top:12px;letter-spacing:-.015em}.ticker .ticker-outline b{color:var(--accent);-webkit-text-stroke:0;font-weight:800;margin:0 28px}
.section{position:relative;isolation:isolate;overflow:clip}.section-number{position:absolute;z-index:-1;right:4%;top:8px;font:800 clamp(220px,28vw,400px)/.9 var(--display);color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--purple) 22%,transparent);pointer-events:none;user-select:none;will-change:transform}.section-heading{position:relative}.section-heading>.eyebrow,.about>.eyebrow{display:flex;align-items:center;gap:16px;white-space:nowrap}.label-rule{height:1px;width:42px;flex-shrink:0;background:var(--accent);transform-origin:left}.reveal-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.reveal-line{display:block;will-change:transform}.section-heading>p .reveal-line{will-change:transform}
/* Outer tilt and inner flip are independent transforms. Faces preserve shared auto-height. */
.capability-grid{gap:28px}.capability-card{perspective:1100px}.flip-card{perspective:1100px;transform-style:preserve-3d;will-change:transform;--mx:50%;--my:35%;--hx:50%}.flip-inner{transition:transform .95s cubic-bezier(.3,1.25,.4,1)}.card-front,.card-back{position:relative;border:1.5px solid var(--line);background:var(--surface);isolation:isolate;overflow:hidden}.card-front:after,.card-back:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),color-mix(in srgb,var(--fg) 14%,transparent),transparent 55%);mix-blend-mode:screen;opacity:.8}.card-front:before,.card-back:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,transparent 5%,color-mix(in srgb,var(--purple) 11%,transparent) 24%,color-mix(in srgb,var(--accent) 7%,transparent) 43%,color-mix(in srgb,var(--blue) 14%,transparent) 62%,transparent 85%);background-size:200% 100%;background-position:var(--hx) center;mix-blend-mode:color-dodge}
@property --edge-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.conic-supported .card-front,.conic-supported .card-back{border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--edge-angle),var(--line) 0deg,var(--purple) 70deg,var(--blue) 120deg,var(--line) 165deg,var(--line) 240deg,var(--accent) 280deg,var(--line) 320deg) border-box;animation:edge-orbit 5s linear infinite}
@keyframes edge-orbit{to{--edge-angle:360deg}}
.capability-item{color:var(--fg)}.flip-hint{position:relative;z-index:3;display:inline-block}.flip-card[aria-pressed=true] .capability-item{animation:back-type .8s steps(30) both}.capability-item:nth-child(2){animation-delay:.4s!important}.capability-item:nth-child(3){animation-delay:.8s!important}.capability-item:nth-child(4){animation-delay:1.2s!important}@keyframes back-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
#hash-stream{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;mask-image:linear-gradient(0deg,transparent,black 15%,black 85%,transparent)}.onchain .chain-grid{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);gap:0;align-items:stretch}.onchain .chain-grid>article{background:color-mix(in srgb,var(--surface) 94%,transparent);padding:24px;position:relative;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:0;transition:border-color .55s}.block-header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font:400 12px var(--mono);color:var(--muted);padding-bottom:19px;margin-bottom:26px;border-bottom:1px solid var(--line)}.block-hash{color:var(--purple)}.block-confirmed{font:400 12px var(--mono);color:var(--accent);align-self:flex-end;margin-top:24px}.onchain .chain-grid>article.is-confirmed{border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.chain-connector{height:1px;position:relative;align-self:center;background:linear-gradient(90deg,var(--accent),var(--purple))}.chain-connector i{position:absolute;top:-2px;left:0;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 7px color-mix(in srgb,var(--accent) 35%,transparent);animation:chain-packet 1.3s linear infinite}@keyframes chain-packet{from{transform:translateX(0)}to{transform:translateX(35px)}}
.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;margin-top:40px}.about-left{min-width:0}.about-layout .terminal-prompt{font:800 clamp(56px,8vw,112px)/1 var(--display);letter-spacing:-.035em;margin:0 0 32px;white-space:nowrap}.terminal-prompt b{color:var(--accent);font-weight:800}.whoami{display:inline-block;vertical-align:bottom}.terminal-window{border:1px solid var(--line);background:var(--surface);max-width:620px}.terminal-titlebar{display:flex;align-items:center;gap:7px;padding:15px 18px;border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--muted)}.terminal-titlebar>i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.4}.terminal-titlebar>span{margin-left:9px}.terminal-output{font:400 14px/1.95 var(--mono);padding:24px 24px 30px}.terminal-line{margin:0;overflow-wrap:anywhere;will-change:opacity}.terminal-line b{font-weight:400;color:var(--accent)}.terminal-command{margin-top:22px;color:var(--fg)}.terminal-result{margin-top:5px;color:var(--muted)}.terminal-identity{color:var(--fg)}.terminal-end{margin-top:20px}.profile img{box-shadow:none;filter:none}.portrait-scan{display:none}.about-copy{min-width:0}.journey{border-left:1px solid var(--line);position:relative;margin-top:40px;--journey-progress:0}.journey:before{content:'';position:absolute;left:-1px;top:0;width:2px;height:100%;background:linear-gradient(var(--accent),var(--purple));transform:scaleY(var(--journey-progress));transform-origin:top}.journey li{padding-left:28px;padding-bottom:34px;opacity:.3;transform:translateX(8px);transition:opacity .45s,transform .45s}.journey li:before{background:var(--purple);width:7px;height:7px;left:-4px;transition:background .3s,box-shadow .3s}.journey li.is-active{opacity:1;transform:translateX(0)}.journey li.is-active:before{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 45%,transparent)}.journey-tag{display:block;font:400 12px/1.8 var(--mono);overflow-wrap:anywhere}.journey h3{font-size:18px;color:var(--fg);line-height:1.7;margin:10px 0 10px}.about-copy .journey p{font-size:16px;line-height:1.95;margin:0;color:var(--muted)}.journey .journey-next:before{border:1px dashed var(--purple);background:var(--bg)}.journey .journey-next.is-active:before{border-color:var(--accent);background:var(--bg)}.journey-next .caret{color:var(--accent)}.about-copy .journey-next p{font:400 12px/1.8 var(--mono);letter-spacing:.04em}
.route-strip{position:relative;margin-top:64px;height:360px;border-block:1px solid var(--line);background:var(--surface);overflow:hidden}.route-map{position:absolute;inset:0 0 auto;width:100%;height:calc(100% - 56px)}.route-grid{stroke:var(--line);stroke-width:.6}.route-path{stroke-dasharray:1;stroke-dashoffset:1}.route-longitudes{position:absolute;left:12%;right:12%;top:calc((100% - 56px)*.875);display:flex;justify-content:space-between;transform:translateY(-50%)}.route-longitudes>span{width:0;display:flex;justify-content:center;white-space:nowrap}.route-latitudes{position:absolute;inset:0 auto 56px 12px;display:flex;flex-direction:column;justify-content:space-between;padding:calc(304px*.15625) 0 calc(304px*.21875)}.route-longitudes,.route-latitudes{font:11px var(--mono);color:var(--muted)}.route-point{position:absolute;top:calc((100% - 56px)*.293344);left:24.4678%;width:0;height:0;color:var(--accent)}.route-point>i{display:block;position:absolute;width:7px;height:7px;border-radius:50%;background:currentColor;margin:-3.5px}.route-point>i:after{content:'';position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;animation:route-pulse 2.8s ease-out infinite}.route-point>span{display:block;position:absolute;left:12px;top:18px;font:600 15px/1.6 var(--mono);color:var(--fg)}.route-point small{display:block;white-space:nowrap;font:400 12px/1.7 var(--mono);color:var(--accent)}.route-destination{left:83.5749%;top:calc((100% - 56px)*.568375);color:var(--purple);opacity:.35}.route-destination>span{left:auto;right:10px;text-align:right}.route-destination small{color:var(--purple)}.route-destination>i:after{animation-play-state:paused;opacity:0}.route-strip.is-arrived .route-destination{opacity:1}.route-strip.is-arrived .route-destination>i:after{animation-play-state:running;opacity:1}.route-traveler{position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;background:var(--fg);margin:-3.5px;pointer-events:none;box-shadow:0 0 9px color-mix(in srgb,var(--accent) 40%,transparent)}@keyframes route-pulse{0%{transform:scale(.65);opacity:.8}100%{transform:scale(2.6);opacity:0}}.route-readout{position:absolute;left:20px;bottom:18px;font:12px/1.8 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.route-readout b{color:var(--fg);font-weight:400}.route-distance{position:absolute;right:24px;bottom:16px;display:flex;gap:12px;align-items:baseline}.route-distance b{font:600 42px/1 var(--display);color:var(--fg);font-variant-numeric:tabular-nums}.route-distance>span{font:12px var(--mono);color:var(--muted)}
footer .contact-email .email-text{display:inline-block;position:relative;color:var(--fg);font:inherit}.email-ghost{visibility:hidden}.email-visual{position:absolute;inset:0;white-space:nowrap}.email-arrow{transition:transform .3s}footer .contact-email:hover .email-arrow,footer .contact-email:focus-visible .email-arrow{transform:translate(4px,-4px)}.footer-name>.footer-letters{color:var(--accent)}.footer-name .footer-letter{color:transparent;background:linear-gradient(105deg,var(--accent) 0%,var(--accent) 40%,var(--fg) 48%,var(--accent) 56%,var(--accent) 100%);background-size:800% 100%;background-clip:text;-webkit-background-clip:text;animation:footer-sweep 3.6s ease-in-out infinite;animation-delay:calc(var(--letter-index)*70ms)}@keyframes footer-sweep{0%,15%{background-position:100% 0}70%,100%{background-position:0% 0}}
/* Pause CSS effects alongside the shared JS animation scheduler. */
[data-in-view=false] *,[data-in-view=false]:before,[data-in-view=false]:after,[data-in-view=false] *:before,[data-in-view=false] *:after,.tab-hidden *,.tab-hidden *:before,.tab-hidden *:after{animation-play-state:paused!important}
/* Same information and controls remain available with reduced motion. */
.motion-off .boot-screen,.motion-off .cursor-dot,.motion-off .cursor-ring{display:none!important}.motion-off #node-network{opacity:0}.motion-off .flip-inner{display:grid;transform:none!important}.motion-off .card-front,.motion-off .card-back{grid-area:1/1;min-height:390px;border:1px solid var(--line);padding:32px;transform:none!important;backface-visibility:visible;background:var(--surface)}.motion-off .card-front{visibility:visible}.motion-off .card-back{visibility:hidden}.motion-off .flip-card[aria-pressed=true] .card-front{visibility:hidden}.motion-off .flip-card[aria-pressed=true] .card-back{visibility:visible}.motion-off .flip-hint{display:inline-block}.motion-off .flip-card{cursor:pointer;transform:none!important}.motion-off .card-back .capability-back-title{display:block}.motion-off .card-back .eyebrow{margin-bottom:0}.motion-off .card-front .capability-title{margin-top:42px}.motion-off .card-front:before,.motion-off .card-front:after,.motion-off .card-back:before,.motion-off .card-back:after{display:none}.motion-off .capability-item{clip-path:none!important}.motion-off .section-number{transform:none!important}.motion-off .journey li{opacity:1;transform:none}.motion-off .journey:before{transform:scaleY(1)}.motion-off .terminal-line,.motion-off .whoami{opacity:1!important;clip-path:none!important}.motion-off .chain-grid>article{opacity:1!important;transform:none!important}.motion-off .ticker>div{transform:var(--ticker-transform,none)!important}.motion-off .route-traveler{display:none}.motion-off .footer-letter{background:none;color:var(--accent)}.motion-off .word-rotator>span{transform:translateY(110%)}.motion-off .word-rotator>span:first-child{transform:translateY(0)}.motion-off .caret{opacity:1}
@media(max-width:1100px){.hero-bottom{flex-wrap:wrap}.hero-footnote{flex-basis:100%;margin-top:0}.section-number{right:3%}.about-layout{gap:5%}.terminal-output{padding:22px 18px;font-size:13px}.profile{gap:16px}.profile-name{font-size:23px}}
@media(max-width:1000px){.onchain .chain-grid{grid-template-columns:minmax(0,1fr);gap:0}.chain-connector{height:34px;width:1px;justify-self:center}.chain-connector i{left:-2px;top:0;animation-name:chain-packet-vertical}.onchain .chain-grid>article{padding:28px}.about-layout{grid-template-columns:minmax(0,1fr);gap:42px}.about-left{max-width:720px}.terminal-window{max-width:none}.about-copy{margin-top:0}.about-layout .terminal-prompt{font-size:90px}.terminal-output{font-size:14px}.profile-name{font-size:25px}@keyframes chain-packet-vertical{to{transform:translateY(29px)}}}
@media(max-width:760px){#node-network{mask-image:linear-gradient(180deg,black 0%,black 45%,#0006 75%,#0006)}.hero-hud{font-size:11px}.hero-topline{gap:14px}.hero-kicker{font-size:11px}.hero-description br{display:block}.hero-footnote{margin-top:25px}.brand>span{font-size:18px}.section-number{top:12px;right:15px;font-size:220px}.section-heading>.eyebrow,.about>.eyebrow{gap:20px}.section-heading>.eyebrow .label-rule,.about>.eyebrow .label-rule{width:54px}.capability-grid{gap:24px}.onchain .chain-grid>article{padding:24px 23px}.about-layout{display:grid;margin-top:28px;gap:38px}.about-layout .terminal-prompt{font-size:72px;margin:0 0 28px}.terminal-titlebar{padding:14px}.terminal-output{padding:22px 17px;font-size:13px;line-height:2}.profile-name{font-size:23px}.journey li{padding-left:24px}.journey h3{font-size:17px}.route-strip{height:300px;margin-top:44px}.route-latitudes{font-size:10px;left:7px;padding:calc(244px*.15625) 0 calc(244px*.21875)}.route-longitudes{font-size:10px}.route-point>span{font-size:12px;left:-5px;top:20px}.route-point small{font-size:10px}.route-destination>span{left:auto;right:-12px}.route-readout{left:12px;bottom:12px;font-size:10px}.route-distance{right:12px;bottom:15px;display:block;text-align:right}.route-distance b{display:block;font-size:36px}.route-distance>span{font-size:10px}.motion-off .card-front,.motion-off .card-back{min-height:410px;padding:26px 23px}.footer-name .footer-letter{font-size:inherit}.chain-grid h3{overflow-wrap:normal}}
@media(max-width:370px){.brand>span{display:block}.hero-kicker{font-size:10px}.terminal-output{font-size:12px}.profile-name{font-size:21px}}
/* Type masks track their text rather than the full terminal width. */
.terminal-command,.boot-log p{width:max-content;max-width:100%}
.capability-card{display:grid}.flip-card,.flip-inner{height:100%}
.intro-overlay{position:fixed;inset:0;z-index:1000;background:#08080d;opacity:1;transition:opacity .5s ease;cursor:pointer;touch-action:manipulation;overscroll-behavior:contain}
.intro-overlay[hidden]{display:none}
.intro-overlay.is-leaving{opacity:0}
.intro-video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.intro-overlay .intro-skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));min-width:72px;min-height:44px;padding:10px 12px;border:0;background:transparent;color:#f0f0f4;font:400 12px/1.4 var(--mono,monospace);letter-spacing:.12em;cursor:pointer;text-shadow:0 1px 8px #08080d}
.intro-skip:focus-visible{outline:1px solid currentColor;outline-offset:2px}
html.intro-playing{overflow:hidden;scrollbar-gutter:stable}
body.intro-playing{position:fixed;top:var(--intro-scroll,0);left:0;right:0;overflow:hidden}
.intro-playing .cursor-dot,.intro-playing .cursor-ring{visibility:hidden}
@media(orientation:portrait){.intro-video{object-fit:contain}}
@media(prefers-reduced-motion:reduce){.intro-overlay{transition:none}}
