body{margin:0;background:#141312}
html{scroll-behavior:smooth}
a{color:#EDE7DF}a:hover{color:#F0AD87}
.rc *{box-sizing:border-box}
.rc .mono{font-family:'Space Mono',ui-monospace,monospace}
.rc .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:2px solid var(--acc);border-radius:4px;font-family:'Space Mono',monospace;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .2s, background .2s, color .2s}
.rc .btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px var(--acc2)}
.rc .btn.solid{background:var(--acc);color:#141312}
.rc .btn.ghost{color:var(--acc);background:rgba(20,19,18,.6)}
.rc .nav a{text-decoration:none;font-family:'Space Mono',monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:12px 4px}
.rc .run{min-height:44px;padding:0 18px;border:1px solid #3A3734;border-radius:4px;background:#1C1B19;color:#EDE7DF;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:border-color .2s}
.rc .run:hover{border-color:var(--acc)}
.rc .run:disabled{opacity:.5;cursor:default}
.rc .cbtn{min-height:44px;padding:0 16px;border:1px solid #3A3632;border-radius:4px;background:transparent;color:#EDE7DF;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s, border-color .2s, color .2s}
.rc .cbtn:hover{border-color:var(--acc)}
.rc .cbtn[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:#141312}
.rc .chip{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid #3A3632;border-radius:999px;background:#141312;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;color:#EDE7DF}
.rc .chip.dev{border-color:var(--acc);color:var(--acc)}
.rc .svc{display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid #2E2C29;border-radius:6px;background:#1A1918;transition:border-color .25s}
.rc .svc:hover{border-color:var(--acc)}
.rc .svcn{font-size:13px;font-weight:700;color:var(--acc)}
.rc .svct{margin:0;font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.01em}
.rc .svcb{margin:0;font-size:16px;line-height:1.6;color:#C9C2B8}
.rc .svcc{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.rc .glitch{position:relative;display:inline-block;font-family:'Unbounded',sans-serif;font-weight:900;line-height:.82;letter-spacing:-.04em;font-size:clamp(88px,20vw,300px)}
.rc .glitch .g{position:absolute;inset:0;color:transparent}
.rc .glitch .g1{-webkit-text-stroke:2px var(--acc);animation:jit1 calc(6s*var(--k)) steps(1) infinite}
.rc .glitch .g2{-webkit-text-stroke:2px var(--acc2);opacity:.6;animation:jit2 calc(7.5s*var(--k)) steps(1) infinite}
@keyframes jit1{0%,90%,94%,100%{transform:translate(0,0);clip-path:inset(0 0 0 0)}92%{transform:translate(-8px,2px);clip-path:inset(20% 0 50% 0)}}
@keyframes jit2{0%,85%,89%,100%{transform:translate(0,0);clip-path:inset(0 0 0 0)}87%{transform:translate(8px,-3px);clip-path:inset(55% 0 15% 0)}}
.rc .rings g{transform-box:fill-box;transform-origin:center}
.rc .r1{animation:spin calc(40s*var(--k)) linear infinite}
.rc .r2{animation:spin calc(26s*var(--k)) linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.rc .marquee{display:flex;width:max-content;animation:mq calc(22s*var(--k)) linear infinite}
.rc .marquee.rev{animation-direction:reverse}
@keyframes mq{to{transform:translateX(-50%)}}
.rc .star{display:inline-block;animation:spin calc(5s*var(--k)) linear infinite}
.df{--alt:color-mix(in srgb,var(--acc2) calc(var(--mix)*100%),var(--acc))}
.df .flow{position:absolute;inset:0;width:100%;height:100%;opacity:var(--int)}
.df .b{fill:none;stroke-width:1.2}
.df .b.f{stroke:color-mix(in srgb,var(--acc) 34%,transparent)}
.df .b.c{stroke:color-mix(in srgb,var(--acc) 48%,transparent)}
.df .b.c:nth-of-type(odd){stroke:color-mix(in srgb,var(--alt) 44%,transparent)}
.df .p{fill:none;stroke:color-mix(in srgb,var(--acc) 88%,#ffffff);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:70 1000;stroke-dashoffset:70;opacity:var(--o,1);filter:drop-shadow(0 0 3px var(--acc)) drop-shadow(0 0 5px var(--acc));animation:flow calc(var(--d)*var(--k)) linear infinite;animation-delay:calc(var(--dl)*var(--k))}
.df .p.alt{stroke:color-mix(in srgb,var(--alt) 90%,#ffffff);filter:drop-shadow(0 0 3px var(--alt)) drop-shadow(0 0 5px var(--alt))}
.df .p.rev{animation-direction:reverse}
.df .p.h{stroke:var(--acc);stroke-width:10;filter:none;opacity:calc(var(--glow)*.35)}
.df .p.alt.h{stroke:var(--alt)}
@keyframes flow{from{stroke-dashoffset:70}to{stroke-dashoffset:-1000}}
.df .nd .node{fill:#141312;stroke:var(--acc);stroke-width:2;filter:drop-shadow(0 0 4px var(--acc));transition:fill .6s, stroke .6s;animation:ping calc(var(--d)*var(--k)) linear infinite;animation-delay:calc(var(--dl)*var(--k))}
.df .nd .ring{fill:none;stroke:var(--acc);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 6px var(--acc));animation:ring calc(var(--d)*var(--k)) linear infinite;animation-delay:calc(var(--dl)*var(--k))}
.df .nd.alt .node,.df .nd.alt .ring{stroke:var(--alt);filter:drop-shadow(0 0 5px var(--alt))}
@keyframes ping{0%,89%{fill:#141312}94%{fill:#F3E6D8}100%{fill:#141312}}
@keyframes ring{0%,89%{opacity:0;transform:scale(.4)}94%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(2)}}
.df .net{stroke:color-mix(in srgb,var(--acc) 62%,transparent);stroke-width:1.2;stroke-dasharray:2 6;animation:netf calc(4s*var(--k)) linear infinite}
@keyframes netf{to{stroke-dashoffset:-16}}
.df .netg{opacity:.45}
.df .pt{fill:#F3E6D8;filter:drop-shadow(0 0 4px var(--acc)) drop-shadow(0 0 6px var(--acc))}
.df .pt.alt{filter:drop-shadow(0 0 4px var(--alt)) drop-shadow(0 0 6px var(--alt))}
.df .hot{opacity:0;transition:opacity 1s ease}
.df.busy .hot{opacity:1}
.df .hl{fill:none;stroke:color-mix(in srgb,var(--acc) 38%,transparent);stroke-width:1.4}
.df .hp{fill:none;stroke:color-mix(in srgb,var(--acc) 88%,#ffffff);filter:drop-shadow(0 0 4px var(--acc)) drop-shadow(0 0 6px var(--acc));stroke-width:2.6;stroke-linecap:round;stroke-dasharray:22 140;animation:hot calc(var(--hd)*var(--k)) linear infinite}
.df .hp.alt{stroke:color-mix(in srgb,var(--alt) 90%,#ffffff);filter:drop-shadow(0 0 4px var(--alt)) drop-shadow(0 0 6px var(--alt))}
@keyframes hot{from{stroke-dashoffset:0}to{stroke-dashoffset:-162}}
.df .hring{fill:none;stroke:var(--alt);stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:hr calc(1.3s*var(--k)) ease-out infinite}
@keyframes hr{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(1.9)}}
.df.busy .nd.rel .node{stroke:var(--alt)}
.df.done .nd.rel .node{fill:var(--acc);stroke:var(--acc)}
.df .sdot{width:8px;height:8px;border-radius:50%;background:#6E6862;transition:background .4s}
.df.busy .sdot{background:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 25%,transparent)}
.df.done .sdot{background:var(--acc2)}
.df.still *{animation-play-state:paused !important}
.bc .ground{fill:url(#glowg)}
.bc .pl{fill:#1E1C1A}.bc .pr{fill:#252320}
.bc .ptop{fill:#2A2724;stroke:#3A3632;stroke-width:1;transition:stroke .3s, fill .3s}
.bc .core .ptop{fill:#1B1A18}.bc .core .pl{fill:#121110}.bc .core .pr{fill:#171614}
.bc .coreinner{fill:none;stroke:#2A2724;stroke-width:1}
.bc .kb{fill:none;stroke:color-mix(in srgb,var(--acc) 20%,transparent);stroke-width:1.2;transition:stroke .3s}
.bc .kp{fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-dasharray:50 1000;stroke-dashoffset:50;filter:drop-shadow(0 0 3px var(--acc));animation:kflow calc(var(--d)*var(--k)) linear infinite;animation-delay:calc(var(--dl)*var(--k))}
.bc .kp.alt{stroke:var(--acc2);filter:drop-shadow(0 0 3px var(--acc2))}
.bc .kp.rev{animation-direction:reverse}
@keyframes kflow{from{stroke-dashoffset:50}to{stroke-dashoffset:-1000}}
.bc .bl.rack{fill:#1F1D1A}.bc .br.rack{fill:#2A2723}.bc .bt.rack{fill:#3A3631}
.bc .led{fill:var(--acc);animation:led 2s steps(2) infinite;animation-delay:var(--ld)}
@keyframes led{50%{opacity:.2}}
.bc .racklbl{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.12em;fill:#8C857C;transition:fill .3s}
.bc .road{fill:none;stroke:#2F2C29;stroke-width:12;stroke-linejoin:round;stroke-linecap:round}
.bc .roadline{fill:none;stroke:#5A524A;stroke-width:1.2;stroke-dasharray:6 8}
.bc .pole{stroke:#5A524A;stroke-width:2}
.bc .lampl{fill:var(--acc2);filter:drop-shadow(0 0 5px var(--acc2))}
.bc .bl{fill:#2E2B27}.bc .br{fill:#3A3631}.bc .bt{fill:#4A443D}
.bc .bt.hq{fill:var(--acc)}.bc .bl.hq{fill:#3A3631}.bc .br.hq{fill:#46413B}
.bc .w{fill:var(--acc);opacity:.2;animation:win calc(3.4s*var(--k)) ease-in-out infinite;animation-delay:var(--wd)}
@keyframes win{0%,100%{opacity:.16}50%{opacity:.9}}
.bc .rl{fill:color-mix(in srgb,var(--acc2) 62%,#141312)}.bc .rr{fill:var(--acc2)}
.bc .door{fill:#141312}.bc .wl{fill:var(--acc2);opacity:.85}
.bc .path{fill:none;stroke:#3F3A34;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.bc .trunk{stroke:#5A524A;stroke-width:3}.bc .leaf{fill:color-mix(in srgb,var(--acc2) 50%,#2A2724)}.bc .leaf2{fill:color-mix(in srgb,var(--acc2) 72%,#2A2724)}
.bc .pad{fill:#1E1C1A;stroke:var(--acc2);stroke-width:1}
.bc .bp{fill:color-mix(in srgb,var(--acc2) 18%,transparent);stroke:var(--acc2);stroke-width:1.2}
.bc .bpg{fill:none;stroke:var(--acc2);stroke-width:.8;opacity:.7}
.bc .holo{animation:holo 3s ease-in-out infinite}
@keyframes holo{50%{transform:translateY(-4px)}}
.bc .beamup{fill:color-mix(in srgb,var(--acc2) 10%,transparent)}
.bc .coin{fill:#C99A62;stroke:#8C6A45;stroke-width:.8}.bc .cointop{fill:var(--acc2)}
.bc .domebase{fill:#24211E}
.bc .dome{fill:color-mix(in srgb,var(--acc2) 12%,transparent);stroke:var(--acc2);stroke-width:1.5}
.bc .domeg{fill:none;stroke:color-mix(in srgb,var(--acc2) 40%,transparent);stroke-width:1}
.bc .bulb{fill:var(--acc2);filter:drop-shadow(0 0 8px var(--acc2));animation:beacon 3s ease-in-out infinite}
.bc .bulbg{stroke:#141312;stroke-width:1.2}
.bc .dish{animation:dish 6s ease-in-out infinite}
.bc .dish ellipse{fill:#CFC7BB}.bc .dish line{stroke:#BDB4A7;stroke-width:1.5}.bc .dish circle{fill:var(--acc)}
@keyframes dish{50%{transform:rotate(-14deg)}}
.bc .proto{animation:proto calc(2.4s*var(--k)) ease-in-out infinite}
.bc .proto.p2{animation-delay:-.8s}.bc .proto.p3{animation-delay:-1.6s}
.bc .bt.proto{fill:var(--acc2)}
@keyframes proto{0%,100%{opacity:.35}50%{opacity:1}}
.bc .chk{fill:#3A3631}.bc .chk.dark{fill:#24211E}
.bc .screen{fill:var(--acc);animation:scr calc(1.8s*var(--k)) ease-in-out infinite}
.bc .marq{fill:var(--acc2);animation:scr 1.2s steps(2) infinite}
@keyframes scr{0%,100%{opacity:.45}50%{opacity:1}}
.bc .stand{stroke:#5A524A;stroke-width:3}
.bc .wheel{animation:spin calc(18s*var(--k)) linear infinite}
.bc .rim{fill:none;stroke:var(--acc2);stroke-width:2}.bc .rim2{fill:none;stroke:color-mix(in srgb,var(--acc2) 45%,transparent);stroke-width:1}
.bc .spokes{fill:none;stroke:#6E6862;stroke-width:1.2}
.bc .cab{fill:var(--acc)}.bc .cab.alt{fill:var(--acc2)}.bc .hub{fill:#EDE7DF}
.bc .bt.dice{fill:#EDE7DF}.bc .pip{fill:#141312}
.bc .plaza{fill:#34302C;stroke:#4A443D}
.bc .halo ellipse{fill:none;stroke:var(--acc);stroke-width:1.5;stroke-dasharray:10 8;opacity:.75;animation:netf 2s linear infinite}
.bc .hqsign{font-family:'Unbounded',sans-serif;font-weight:900;font-size:11px;fill:#141312}
.bc .ant{stroke:#A8A198;stroke-width:2}
.bc .beacon{fill:var(--acc);filter:drop-shadow(0 0 6px var(--acc));animation:beacon calc(1.6s*var(--k)) ease-in-out infinite}
@keyframes beacon{0%,100%{opacity:1}50%{opacity:.3}}
.bc .board{fill:#1E1C1A;stroke:var(--acc);stroke-width:1.2}
.bc .barv{fill:var(--acc);transform-box:fill-box;transform-origin:bottom;animation:barv 2.6s ease-in-out infinite;animation-delay:var(--bd)}
@keyframes barv{50%{transform:scaleY(.5)}}
.bc .belt{fill:#2B2825}.bc .beltside{fill:#1E1C1A}
.bc .pc1{fill:#B98A55}.bc .pc2{fill:#D3A570}.bc .pc3{fill:#E6BE89}
.bc .gp{fill:#5A524A}
.bc .scan{fill:color-mix(in srgb,var(--acc) 28%,transparent);animation:scanp 8s linear infinite}
@keyframes scanp{0%,19%{opacity:0}20%,44%{opacity:1}45%,100%{opacity:0}}
.bc .glight{fill:#6E6862;animation:gate 8s linear infinite}
@keyframes gate{0%,19%{fill:#6E6862}20%,44%{fill:var(--acc2)}45%,60%{fill:var(--acc)}61%,100%{fill:#6E6862}}
.bc .bshadow{fill:#000;opacity:.35}
.bc .bleg{fill:#5E5850}.bc .btorso{fill:#E6DFD5}.bc .btorso2{fill:#CFC7BB}
.bc .bcore{fill:var(--acc);filter:drop-shadow(0 0 3px var(--acc))}
.bc .barm{fill:#BDB4A7}.bc .bhead{fill:#F2ECE4}.bc .bvisor{fill:#141312}
.bc .beye{fill:var(--acc);animation:eye 4s infinite}
@keyframes eye{0%,92%,100%{opacity:1}95%{opacity:.1}}
.bc .bant{stroke:#BDB4A7;stroke-width:1.5}.bc .btip{fill:var(--acc2)}
.bc .parcel{fill:var(--acc2)}.bc .tape{stroke:#8C6A45;stroke-width:1.5}
.bc .idea{fill:var(--acc2);filter:drop-shadow(0 0 4px var(--acc2));animation:beacon 2s ease-in-out infinite}.bc .ideab{fill:#BDB4A7}
.bc .can{fill:var(--acc);stroke:var(--acc);stroke-width:2;stroke-linecap:round}
.bc .drop{fill:#F3E6D8;animation:drop 1.2s ease-in infinite}.bc .drop.d2{animation-delay:-.6s}
@keyframes drop{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}100%{opacity:0;transform:translateY(6px)}}
.bc .dbody{fill:#E6DFD5}.bc .darm{stroke:#BDB4A7;stroke-width:2}
.bc .rotor{fill:#EDE7DF;opacity:.6;animation:rotor .16s linear infinite}
@keyframes rotor{50%{opacity:.12}}
.bc .dlight{fill:var(--acc);animation:beacon 1s ease-in-out infinite}
.bc use.idle{animation:bob 2.4s ease-in-out infinite}
.bc use.walk{animation:bob .5s ease-in-out infinite}
.bc use.jump{animation:jump 1.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-1.5px)}}
@keyframes jump{0%,55%,100%{transform:translateY(0)}28%{transform:translateY(-12px)}}
.bc .lead{stroke:#5A524A;stroke-width:1;stroke-dasharray:2 3}.bc .leaddot{fill:#5A524A}
.bc .pill rect{fill:#141312;stroke:#3A3632;transition:fill .3s, stroke .3s}
.bc .pill text{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;fill:#EDE7DF;transition:fill .3s}
.bc .pill .pnum{fill:var(--acc);font-weight:700}
.bc .hit{cursor:pointer;outline:none}
.bc .d{transition:opacity .4s}
.bc .hit:hover .ptop{stroke:var(--acc2);stroke-width:2}
.bc .hit:focus-visible .ptop{stroke:#EDE7DF;stroke-width:3}
.bc.s-life .d:not(.d-life),.bc.s-biz .d:not(.d-biz),.bc.s-play .d:not(.d-play),.bc.s-labs .d:not(.d-labs),.bc.s-core .d{opacity:.5}
.bc.s-app .pl-app rect,.bc.s-life .pl-life rect,.bc.s-biz .pl-biz rect,.bc.s-play .pl-play rect,.bc.s-labs .pl-labs rect,.bc.s-core .pl-core rect{fill:var(--acc);stroke:var(--acc)}
.bc.s-app .pl-app text,.bc.s-life .pl-life text,.bc.s-biz .pl-biz text,.bc.s-play .pl-play text,.bc.s-labs .pl-labs text,.bc.s-core .pl-core text{fill:#141312}
.bc.s-app .d-app .ptop,.bc.s-life .d-life .ptop,.bc.s-biz .d-biz .ptop,.bc.s-play .d-play .ptop,.bc.s-labs .d-labs .ptop,.bc.s-core .core .ptop{stroke:var(--acc);stroke-width:2.5;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--acc) 60%,transparent))}
.bc.s-core .kb{stroke:color-mix(in srgb,var(--acc) 55%,transparent)}
.bc.s-core .racklbl{fill:var(--acc)}
@media (prefers-reduced-motion: reduce){.rc *{animation:none !important}.df .parts{display:none}}
