.fd{--bg:#07080c;--text:#e8ecf4;--mute:#9aa6bd;--line:rgba(148,163,184,.24);--panel:rgba(12,15,24,.78);--accent:#a5b4fc;--veil:7,8,12;--g4:#6ee7b7;--warn:#fde68a;--warnbg:rgba(245,158,11,.1);--warnline:rgba(245,158,11,.35)}.fd,.fd *{box-sizing:border-box}.fd{scroll-behavior:smooth;margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark}.fd .badge.p{background:var(--accent);color:#0b0d14;border-color:var(--accent);font-weight:600;cursor:pointer}.fd .cn{top:0;z-index:20;background:rgba(7,8,12,.9);backdrop-filter:blur(10px);display:flex;gap:2px;overflow-x:auto;padding:max(4px,env(safe-area-inset-top,0px)) 16px 4px}.fd .cn a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;color:var(--mute);text-decoration:none;font-size:13px}.fd .cn a[aria-current=true]{color:var(--text);background:var(--line)}.fd .ch{max-width:1000px;margin:0 auto;padding:80px 24px 8px;scroll-margin-top:56px}.fd .ch h2{font:600 clamp(28px,4.2vw,44px)/1.1 Georgia,serif;margin:6px 0 16px}.fd .ch h3{margin:0 0 6px;font-size:16px}.fd .lead{font-size:clamp(17px,2vw,20px);line-height:1.6;max-width:40em}.fd .ch p{line-height:1.65;color:#cbd5e1;max-width:46em}.fd .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:18px 0}.fd .card{background:var(--panel);border-radius:16px;padding:16px}.fd .card p{margin:0;font-size:14px}.fd .num{font:600 38px Georgia,serif;font-variant-numeric:tabular-nums;line-height:1}.fd .num small{font:12px ui-monospace,Menlo,monospace;color:var(--mute);margin-left:6px}.fd .tog{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.fd .tg{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:14px}.fd .tg[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.fd .viz{background:#0b0e16;border-radius:16px;padding:12px;margin:14px 0}.fd .viz svg{width:100%;height:auto;display:block}.fd .viz text{fill:var(--mute);font:11px ui-monospace,Menlo,monospace}.fd .cap2{font-size:14px;color:var(--mute);margin:8px 4px 0;min-height:3em}.fd ol.steps{list-style:none;counter-reset:s;padding:0;margin:14px 0;display:grid;gap:10px}.fd ol.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:10px;color:#cbd5e1;font-size:15px;line-height:1.5}.fd ol.steps li:before{content:counter(s,decimal-leading-zero);font:600 20px Georgia,serif;color:var(--accent)}.fd .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.fd .two{grid-template-columns:1fr}}.fd .big2{font:600 clamp(40px,8vw,72px)/1 Georgia,serif;font-variant-numeric:tabular-nums}.fd .quote{border-left:3px solid var(--accent);padding:2px 0 2px 14px;font-size:18px!important}.fd .res{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.fd .res .badge,.fd .res button.badge{min-height:48px}.fd footer{max-width:1000px;margin:0 auto;padding:24px 24px 64px;font-size:13px}.fd pre.bib{background:#0b0e16;border:1px solid var(--line);border-radius:12px;padding:12px;overflow-x:auto;font:12px/1.5 ui-monospace,Menlo,monospace;color:#cbd5e1}.fd #gun{margin:16px 0}.fd #dnote{font-size:13px;color:var(--mute)}.fd .hero{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;overflow:hidden;padding:max(20px,env(safe-area-inset-top,0px)) 24px max(20px,env(safe-area-inset-bottom,0px))}.fd #hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}.fd #hero canvas:active{cursor:grabbing}.fd .veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(var(--veil),.92) 0,rgba(var(--veil),.6) 34%,rgba(var(--veil),0) 62%),linear-gradient(0deg,rgba(var(--veil),.85) 0,rgba(var(--veil),0) 34%)}@media (max-width:860px){.fd .veil{background:linear-gradient(180deg,rgba(var(--veil),.9) 0,rgba(var(--veil),.55) 38%,rgba(var(--veil),0) 56%),linear-gradient(0deg,rgba(var(--veil),.9) 0,rgba(var(--veil),0) 36%)}}.fd .copy{position:relative;align-self:center;max-width:560px;padding:56px 0 24px;pointer-events:none}.fd .copy>*{pointer-events:auto}.fd .kick{font:12px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.fd h1{margin:10px 0 14px;font:600 clamp(44px,8vw,92px)/.98 Georgia,Times New Roman,serif;letter-spacing:-.01em}.fd .sub{margin:0 0 10px;font-size:clamp(16px,2vw,20px);line-height:1.5;max-width:34em}.fd .by{margin:0 0 18px;font-size:13px;color:var(--mute)}.fd .badges{display:flex;gap:8px;flex-wrap:wrap}.fd .badge{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font:13px system-ui;text-decoration:none;backdrop-filter:blur(8px)}.fd a.badge:focus-visible,.fd a.badge:hover{border-color:var(--accent);outline:none}.fd .badge.s{font-size:12px;color:var(--mute)}.fd .dock{position:relative;display:flex;flex-direction:column;gap:12px}.fd .now{font:12px ui-monospace,Menlo,monospace;color:var(--mute);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.fd .now b{color:var(--text);font-weight:600}.fd .chips{display:flex;gap:6px;flex-wrap:wrap}.fd button{font:inherit;cursor:pointer;color:var(--text)}.fd .chip{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(8px);font-size:13px}.fd .chip[aria-pressed=true]{box-shadow:0 0 0 1px var(--c) inset}.fd .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:760px}@media (max-width:560px){.fd .stats{grid-template-columns:1fr}.fd .stat{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}}.fd .stat{text-align:left;border:1px solid var(--line);backdrop-filter:blur(8px);border-radius:14px;padding:12px 14px;min-height:44px}.fd .stat[aria-pressed=true]{box-shadow:0 0 0 1px var(--c) inset}.fd .stat .n{font:600 11px ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--c)}.fd .stat .v{font:600 clamp(20px,3vw,28px) Georgia,serif;font-variant-numeric:tabular-nums}.fd .stat .v small{font:12px ui-monospace,Menlo,monospace;color:var(--mute);margin-left:6px}.fd .base{font-size:11px;color:var(--mute);max-width:760px}.fd .fallback{display:none;position:absolute;right:24px;top:40%;max-width:320px;color:var(--mute);font-size:13px}.fd #gun .banner{border:1px solid var(--warnline);background:var(--warnbg);color:var(--warn);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5}.fd #gun .grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}@media (max-width:820px){.fd #gun .grid{grid-template-columns:1fr}}.fd #gun .stage{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;height:400px;touch-action:none}.fd #gun canvas{width:100%;height:100%;display:block;outline-offset:-3px;cursor:grab}.fd #gun canvas:active{cursor:grabbing}.fd #gun .cap{position:absolute;left:12px;font:12px ui-monospace,Menlo,monospace;color:#cbd5e1;pointer-events:none}.fd #gun .chips{display:flex;gap:6px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:10px;flex-wrap:wrap}.fd #gun button{font:inherit;cursor:pointer;min-height:44px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);padding:0 12px}.fd #gun .chips button{flex:1;min-width:90px;font-size:13px;color:var(--mute)}.fd #gun .chips button[aria-pressed=true]{background:var(--line);color:var(--text);border-color:var(--mute)}.fd #gun .panel{border:1px solid var(--line);border-radius:16px;padding:16px;gap:12px}.fd #gun .panel,.fd #gun .row{display:flex;flex-direction:column}.fd #gun .row{gap:4px;font-size:13px}.fd #gun .row label{display:flex;justify-content:space-between}.fd #gun .mono{font:12px ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}.fd #gun input[type=range]{width:100%;accent-color:#6366f1;min-height:28px}.fd #gun .btns{display:flex;gap:8px;flex-wrap:wrap}.fd #gun .btns button{flex:1;font:12px ui-monospace,Menlo,monospace}.fd #gun .btns button[aria-pressed=true]{background:#4338ca;color:#fff;border-color:#4338ca}.fd #gun table{width:100%;border-collapse:collapse;font-size:12px}.fd #gun th{font:11px ui-monospace,Menlo,monospace;text-transform:uppercase;text-align:right;color:var(--mute);padding:4px 0;border-bottom:1px solid var(--line)}.fd #gun td:first-child,.fd #gun th:first-child{text-align:left}.fd #gun td{padding:7px 0;text-align:right;font-variant-numeric:tabular-nums;vertical-align:top}.fd #gun td.g{color:var(--g4);font-weight:600}.fd #gun .sub{display:block;font-size:10px;color:var(--mute);font-weight:400}.fd #gun .note{font-size:11px;color:var(--mute)}.fd #gun .sub{margin:0;max-width:none;line-height:1.3}.fd #gun details.adv{border:1px solid var(--line);border-radius:10px;padding:2px 12px}.fd #gun summary{cursor:pointer;min-height:36px;display:flex;align-items:center;font-size:13px;color:var(--mute)}.fd #gun .banner{margin-bottom:12px}.fd,[data-theme=dark] .fd{color-scheme:dark;--bg:#020617;--bg2:#0f172a;--bg3:#020617;--text:#ffffff;--mute:#cbd5e1;--line:rgba(71,85,105,.45);--line2:#334155;--panel:rgba(15,23,42,.62);--panel2:rgba(15,23,42,.85);--stage:#0b1220;--belt:#1e293b;--accent:#22d3ee;--veil:2,6,23;--g4:#6ee7b7;--warn:#fde68a;--warnbg:rgba(245,158,11,.1);--warnline:rgba(245,158,11,.35);--miura:#2dd4bf;--kres:#f59e0b;--yosh:#ec4899;--grad:linear-gradient(90deg,#22d3ee,#8b5cf6,#d946ef);--ga:linear-gradient(135deg,#22d3ee,#3b82f6,#7c3aed);--gb:linear-gradient(135deg,#a78bfa,#d946ef,#db2777);--gc:linear-gradient(135deg,#34d399,#14b8a6,#0891b2);--gridc:rgba(6,182,212,.03);--symc:rgba(34,211,238,.5);--ghost:rgba(255,255,255,.05);--bl1:rgba(6,182,212,.10);--bl2:rgba(139,92,246,.15);--bl3:rgba(217,70,239,.05);--cardA:rgba(15,23,42,.8);--cardB:rgba(15,23,42,.4)}[data-theme=light] .fd{color-scheme:light;--bg:#f8fafc;--bg2:#ffffff;--bg3:#f1f5f9;--text:#1e293b;--mute:#475569;--line:rgba(203,213,225,.8);--line2:#cbd5e1;--panel:rgba(255,255,255,.78);--panel2:rgba(255,255,255,.95);--stage:#f1f5f9;--belt:#e2e8f0;--accent:#0891b2;--veil:248,250,252;--g4:#047857;--warn:#78350f;--warnbg:#fffbeb;--warnline:#f59e0b;--miura:#0d9488;--kres:#d97706;--yosh:#db2777;--grad:linear-gradient(90deg,#0891b2,#7c3aed,#c026d3);--ga:linear-gradient(135deg,#06b6d4,#2563eb,#6d28d9);--gb:linear-gradient(135deg,#8b5cf6,#c026d3,#be185d);--gc:linear-gradient(135deg,#10b981,#0d9488,#0e7490);--gridc:rgba(6,182,212,.08);--symc:rgba(8,145,178,.4);--ghost:rgba(203,213,225,.55);--bl1:rgba(165,243,252,.3);--bl2:rgba(221,214,254,.4);--bl3:rgba(245,208,254,.2);--cardA:rgba(255,255,255,.95);--cardB:rgba(248,250,252,.9)}.fd{background:linear-gradient(135deg,var(--bg),var(--bg2) 50%,var(--bg3));background-attachment:fixed;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;transition:background-color .5s,color .5s}.fd:before{content:"";background-image:linear-gradient(var(--gridc) 1px,transparent 1px),linear-gradient(90deg,var(--gridc) 1px,transparent 1px);background-size:100px 100px}.fd .bg,.fd:before{position:fixed;inset:0;z-index:0;pointer-events:none}.fd .bg{overflow:hidden}.fd .bg i{position:absolute;border-radius:50%;filter:blur(64px);animation:fd-pulse 4s ease-in-out infinite}.fd .bg .b1{top:25%;left:25%;width:384px;height:384px;background:var(--bl1)}.fd .bg .b2{bottom:25%;right:25%;width:320px;height:320px;background:var(--bl2);animation-delay:1s}.fd .bg .b3{top:50%;left:50%;width:500px;height:500px;margin:-250px 0 0 -250px;background:var(--bl3)}.fd .syms{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.fd .syms i{position:absolute;font-style:normal;font-weight:700;color:var(--symc);user-select:none;animation:fd-floaty 8s ease-in-out infinite}@keyframes fd-pulse{50%{opacity:.5}}@keyframes fd-floaty{0%,to{transform:translateY(0) rotate(0) scale(1);opacity:.15}50%{transform:translateY(-30px) rotate(180deg) scale(1.2);opacity:.5}}@keyframes fd-spin{to{transform:rotate(1turn)}}.fd #hero,.fd .cn,.fd .fd-main,.fd footer{position:relative;z-index:1}.fd .cn{position:sticky}.fd .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.fd #hero h1,.fd .ch h2{font-family:inherit;font-weight:900;letter-spacing:-.025em}.fd .ch h2{font-size:clamp(30px,4.6vw,52px);line-height:1.05}.fd #hero h1{font-size:clamp(52px,9vw,112px);line-height:.95}.fd .sub{font-weight:300}.fd .sub b{font-weight:600;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fd .logo{position:relative;width:72px;height:72px;margin:0 0 18px;color:var(--accent)}.fd .logo i{position:absolute;border-radius:50%;border:3px solid rgba(34,211,238,.4);inset:0;animation:fd-spin 20s linear infinite}.fd .logo i:nth-child(2){inset:10px;border:2px solid rgba(139,92,246,.5);animation:fd-spin 15s linear infinite reverse}.fd .logo i:nth-child(3){inset:20px;border:1px solid rgba(217,70,239,.6);animation:fd-spin 10s linear infinite}.fd .logo svg{position:absolute;inset:20px;width:32px;height:32px}.fd .cn{background:rgba(var(--veil),.82);border-bottom:1px solid var(--line)}.fd .cn a[aria-current=true]{background:var(--grad);color:#fff}.fd .tt{margin-left:auto;min-width:44px;min-height:44px;border-radius:16px;font-size:18px;padding:0}.fd .badge,.fd .tt{border:2px solid var(--line2);background:var(--panel)}.fd .badge{border-radius:16px;color:var(--text);font-weight:600;transition:transform .3s,border-color .3s}.fd .badge:hover{border-color:#06b6d4}.fd .badge.p{background:var(--grad);border:0;color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(6,182,212,.25)}.fd .badge.p:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(6,182,212,.35)}.fd .chip,.fd .tg{border:2px solid var(--line2);border-radius:16px;background:var(--panel);color:var(--text);font-weight:600}.fd .chip[aria-pressed=true],.fd .tg[aria-pressed=true]{border-color:#06b6d4;box-shadow:none;background:var(--panel2)}.fd .chip[aria-pressed=true]{border-color:var(--c)}.fd .stat{border:2px solid var(--line);border-radius:20px;background:var(--panel);transition:transform .3s}.fd .stat:hover{transform:translateY(-4px)}.fd .stat[aria-pressed=true]{border-color:var(--c);box-shadow:none}.fd .stat .n{color:var(--text)}.fd .stat .v{font-family:inherit;font-weight:900}[data-theme=light] .fd #now b{filter:brightness(.72) saturate(1.3)}.fd .card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,var(--cardA),var(--cardB));backdrop-filter:blur(20px);box-shadow:0 10px 30px rgba(2,6,23,.12);padding:22px;transition:transform .3s,box-shadow .3s}.fd .card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(6,182,212,.18)}.fd .card:after{content:attr(data-g);position:absolute;top:6px;right:16px;font:700 96px/1 ui-sans-serif,system-ui,sans-serif;color:var(--ghost);pointer-events:none}.fd .card>*{position:relative;z-index:1}.fd .card .tile{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;margin-bottom:14px;color:#fff;font:700 24px/1 ui-sans-serif,system-ui,sans-serif;font-style:normal;box-shadow:0 10px 24px rgba(6,182,212,.25)}.fd .ga .tile{background:var(--ga)}.fd .gb .tile{background:var(--gb)}.fd .gc .tile{background:var(--gc)}.fd .card h3{font-weight:900;font-size:20px;color:var(--text)}.fd .card p{color:var(--mute)}.fd .num{font-family:inherit;font-weight:900}.fd .ch p,.fd .lead{color:var(--mute)}.fd .lead{color:var(--text)}.fd .quote{color:var(--text)!important;border-image:var(--grad) 1;border-left-width:3px}.fd .big2{font-family:inherit;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fd .viz{background:var(--panel);border:1px solid var(--line);border-radius:24px;backdrop-filter:blur(20px)}.fd ol.steps li:before{font-family:inherit;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fd ol.steps li{color:var(--mute)}.fd pre.bib{background:var(--panel2);border-color:var(--line);color:var(--text)}.fd #dnote,.fd .cap2,.fd footer{color:var(--mute)}.fd #gun .stage{background:var(--stage);border-radius:24px}.fd #gun .cap{color:var(--mute)}.fd #gun .panel{border-radius:24px;background:var(--panel)}.fd #gun .banner{border-radius:16px}.fd #gun .btns button,.fd #gun .chips button{border-radius:12px}@media (prefers-reduced-motion:reduce){.fd .bg i,.fd .logo i,.fd .syms i{animation:none}.fd .syms i{opacity:.25}.fd{scroll-behavior:auto}.fd .badge,.fd .card,.fd .stat{transition:none}}.fd #rail{position:fixed;z-index:30;left:max(14px,env(safe-area-inset-left));top:50%;transform:translate(-140%,-50%);opacity:0;pointer-events:none;width:44px;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .5s,width .4s cubic-bezier(.2,.8,.2,1);display:none}.fd #rail.show{transform:translateY(-50%);opacity:1;pointer-events:auto}.fd #rail .pan{position:relative;border:1px solid var(--line);border-radius:22px;background:var(--panel2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 44px rgba(2,6,23,.28);padding:14px 8px 8px;overflow:hidden;white-space:nowrap}.fd #rail:focus-within,.fd #rail:hover{width:224px}.fd #rail .ttl{height:0;opacity:0;overflow:hidden;font:700 11px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:0 10px;transition:.35s}.fd #rail:focus-within .ttl,.fd #rail:hover .ttl{height:26px;opacity:1}.fd #rail ol{list-style:none;margin:0;padding:0;position:relative}.fd #rail ol:before{content:"";bottom:14px;background:var(--line)}.fd #rail .fill,.fd #rail ol:before{position:absolute;left:19px;top:14px;width:2px;border-radius:2px}.fd #rail .fill{height:0;background:var(--grad);transition:height .25s}.fd #rail a{position:relative;display:flex;align-items:center;gap:14px;min-height:36px;padding:0 10px 0 12px;border-radius:12px;color:var(--mute);text-decoration:none;font-size:13.5px;transition:color .25s,background .25s}.fd #rail a i{position:relative;flex:none;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--line2);transition:.3s}.fd #rail a span{opacity:0;transform:translateX(-8px);transition:.35s}.fd #rail:focus-within a span,.fd #rail:hover a span{opacity:1;transform:none}.fd #rail a:hover{color:var(--text);background:var(--ghost)}.fd #rail a.on{color:var(--text);font-weight:600}.fd #rail a.on i{background:var(--accent);box-shadow:0 0 0 4px rgba(34,211,238,.18),0 0 14px var(--accent)}.fd #rail a.done i,.fd #rail a.on i{border-color:var(--accent)}.fd #rail .foot{display:flex;margin-top:6px;padding-top:8px;border-top:1px solid var(--line)}.fd #rail .foot button{flex:none;width:28px;height:28px;border-radius:10px;border:1px solid var(--line2);background:transparent;font-size:13px;padding:0;margin-left:2px}.fd #rail .foot b{margin-left:auto;align-self:center;font:600 11px ui-monospace,Menlo,monospace;color:var(--mute);padding-right:8px;opacity:0;transition:.3s}.fd #rail:focus-within .foot b,.fd #rail:hover .foot b{opacity:1}.fd #rtop{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);z-index:40;pointer-events:none}@media(min-width:1200px){.fd #rail{display:block}.fd .cn{display:none}}@media(max-width:1199px){.fd #rtop{display:none}}@media(prefers-reduced-motion:reduce){.fd #rail,.fd #rail *{transition:none!important}}.fd .gx{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}.fd .gx.in{opacity:1;transform:none}.fd .fz{max-width:1000px;margin:56px auto -40px;padding:0 24px;height:34px;position:relative;z-index:1}.fd .fz svg{width:100%;height:34px;overflow:visible}.fd .fz path{fill:none;stroke:url(#fzg);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.3,.7,.2,1)}.fd .fz path+path,.fd .fz.in path{stroke-dashoffset:0}.fd .fz path+path{opacity:.25;stroke-dasharray:6 6;transition:none}.fd .cps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:8px 0 24px}.fd .cp{--c:var(--accent);border:1px solid var(--line);border-radius:24px;padding:16px;background:var(--panel);backdrop-filter:blur(18px);text-align:center;transition-delay:calc(var(--i,0)*.12s)}.fd .cp svg{width:100%;height:auto;max-width:260px;clip-path:inset(0 100% 0 0);transition:clip-path 1.8s cubic-bezier(.2,.8,.2,1),transform .6s;filter:drop-shadow(0 0 6px var(--c));transition-delay:calc(var(--i,0)*.2s),0s}.fd .cp.in svg{clip-path:inset(0)}.fd .cp:hover svg{transform:perspective(500px) rotateY(16deg) scale(1.04);transition-delay:0s}.fd .cp path{fill:none;stroke:var(--c);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fd .cp .v{stroke-dasharray:4 4;opacity:.65}.fd .cp b{display:block;margin-top:6px;color:var(--c)}.fd .cp small{color:var(--mute);font-size:12px}.fd .pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:20px 0}.fd .pn{position:relative;padding:16px 10px 8px;text-align:center;font-size:13px;color:var(--mute);line-height:1.35;transition-delay:calc(var(--i,0)*.15s)}.fd .pn i{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:16px;color:#fff;font:700 20px ui-sans-serif;font-style:normal;background:var(--ga);box-shadow:0 10px 24px rgba(6,182,212,.25)}.fd .pn:nth-child(2) i{background:var(--gb)}.fd .pn:nth-child(3) i{background:var(--gc)}.fd .pn:nth-child(4) i{background:var(--gb)}.fd .pn b{display:block;color:var(--text);font-size:15px}.fd .pn:not(:last-child):after{content:"";position:absolute;top:38px;left:calc(50% + 30px);right:calc(-50% + 30px);height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent) 0 0/200% 100%;animation:fd-fw 2.2s linear infinite;opacity:.7}@keyframes fd-fw{to{background-position:-200% 0}}.fd .dum{margin:22px 0;display:grid;gap:22px}.fd .dr .l{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--mute);margin-bottom:12px}.fd .dr .l b{color:var(--text)}.fd .dt{position:relative;height:8px;border-radius:9px;background:var(--line2);margin:0 10px}.fd .dt u{position:absolute;top:0;bottom:0;border-radius:9px;background:var(--grad);width:0;transition:width 1.6s cubic-bezier(.2,.8,.2,1) .3s}.fd .dt s{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);box-shadow:0 0 14px var(--accent);text-decoration:none}.fd .dt s+s{border-color:#d946ef;box-shadow:0 0 14px #d946ef}.fd .dt em{position:absolute;top:18px;transform:translateX(-50%);font:600 11px ui-monospace,Menlo,monospace;color:var(--mute);font-style:normal;white-space:nowrap}.fd .road{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0 8px;position:relative}.fd .rs{position:relative;padding-top:34px;text-align:center;font-size:13px;color:var(--mute);padding-inline:6px;transition-delay:calc(var(--i,0)*.18s)}.fd .rs b{display:block;color:var(--text);font-size:14px}.fd .rs:before{content:"";position:absolute;top:8px;left:0;right:0;height:3px;background:var(--line2)}.fd .rs:first-child:before{background:var(--grad)}.fd .rs:after{content:"";position:absolute;top:0;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--bg);border:3px solid var(--line2)}.fd .rs.now:after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 6px rgba(34,211,238,.2),0 0 18px var(--accent);animation:fd-pu 2.2s ease-in-out infinite}@media(max-width:700px){.fd .pipe,.fd .road{grid-template-columns:1fr}.fd .pn:not(:last-child):after{display:none}.fd .rs{text-align:left;padding:0 0 18px 44px}.fd .rs:before{top:0;bottom:0;left:8px;right:auto;width:3px;height:auto}.fd .rs:after{left:0;margin:0}}@media(prefers-reduced-motion:reduce){.fd .cp svg,.fd .fz path,.fd .gx{opacity:1;transform:none;clip-path:none;stroke-dashoffset:0;transition:none}.fd .pn:after,.fd .rs.now:after{animation:none}.fd .dt u{transition:none}}.fd .scr{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:start;margin:28px 0}.fd .stg{position:sticky;top:max(84px,calc(50vh - 230px));height:min(460px,72vh)}.fd .pan{position:relative;height:100%;border:1px solid var(--line);border-radius:30px;background:linear-gradient(160deg,var(--panel2),var(--panel));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow:hidden;display:grid;place-items:center;box-shadow:0 30px 70px -20px rgba(6,182,212,.25)}.fd .pan:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(139,92,246,.22),transparent 62%);transition:opacity .6s}.fd .pan canvas{position:absolute;inset:0;width:100%;height:100%}.fd .o3{position:absolute;left:50%;top:44%;width:300px;height:300px;margin:-150px 0 0 -150px}.fd .o3 i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(34,211,238,.35);animation:fd-spin 24s linear infinite}.fd .o3 i:nth-child(2){inset:34px;border-color:rgba(139,92,246,.45);animation-direction:reverse;animation-duration:17s;border-style:dashed}.fd .o3 i:nth-child(3){inset:68px;border-color:rgba(217,70,239,.5);animation-duration:11s}.fd .gtile{position:relative;width:min(150px,34vw);aspect-ratio:1;border-radius:44px;display:grid;place-items:center;margin-top:-40px;color:#fff;font:700 clamp(50px,9vw,84px)/1 ui-sans-serif,system-ui,sans-serif;background:var(--ga);box-shadow:0 24px 60px -10px rgba(6,182,212,.55)}.fd .pan[data-t=gb] .gtile{background:var(--gb);box-shadow:0 24px 60px -10px rgba(217,70,239,.5)}.fd .pan[data-t=gc] .gtile{background:var(--gc);box-shadow:0 24px 60px -10px rgba(20,184,166,.5)}.fd .gtile.pop{animation:fd-pop .7s cubic-bezier(.2,.9,.2,1)}@keyframes fd-pop{0%{transform:scale(.55) rotate(-16deg);filter:blur(10px);opacity:0}}.fd .ctr{position:absolute;top:18px;left:22px;font:12px ui-monospace,Menlo,monospace;letter-spacing:.14em;color:var(--mute)}.fd .ctr b{color:var(--accent);font-size:20px;letter-spacing:0}.fd .gt{position:absolute;left:16px;right:16px;bottom:50px;text-align:center;font-weight:900;font-size:clamp(17px,2.4vw,24px);letter-spacing:-.01em}.fd .gt.pop{animation:fd-pop2 .5s ease-out}@keyframes fd-pop2{0%{opacity:0;transform:translateY(10px)}}.fd .dts{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:7px}.fd .dts button{height:8px;width:8px;padding:0;border:0;border-radius:9px;background:var(--line2);transition:.4s;min-height:0}.fd .dts button.on{width:30px;background:var(--grad)}.fd .stp{padding:6vh 0 4vh}.fd .stp .card{margin:0 0 min(34vh,250px);transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s,filter .5s;opacity:.3;transform:scale(.96) translateX(14px);filter:saturate(.4)}.fd .stp .card:last-child{margin-bottom:6vh}.fd .stp .card.act{opacity:1;transform:none;filter:none;border-color:var(--accent);box-shadow:0 26px 64px rgba(6,182,212,.22)}.fd .stp .card .sn{display:block;font:700 11px ui-monospace,Menlo,monospace;letter-spacing:.16em;color:var(--accent);margin-bottom:12px}.fd .stp .card.act .tile{animation:fd-pop .7s cubic-bezier(.2,.9,.2,1)}@media(max-width:900px){.fd .scr{grid-template-columns:1fr;gap:0}.fd .stg{top:60px;height:30vh;z-index:5;margin-bottom:18px}.fd .o3{width:200px;height:200px;margin:-100px 0 0 -100px}.fd .gtile{margin-top:-30px;border-radius:30px}.fd .gt{bottom:34px;font-size:15px}.fd .dts{bottom:10px}.fd .stp .card{margin-bottom:34vh}}@media(prefers-reduced-motion:reduce){.fd .gt.pop,.fd .gtile.pop,.fd .o3 i,.fd .stp .card.act .tile{animation:none}.fd .stp .card{transition:none}}.fd .fig{position:absolute;left:18px;right:18px;top:48px;bottom:96px;display:grid;place-items:center}.fd .fig svg{width:100%;height:100%;display:block;overflow:visible;animation:fd-figin .45s ease-out}@keyframes fd-figin{0%{opacity:0;transform:translateY(8px)}}.fd .fig text{fill:var(--mute);font:11.5px ui-monospace,Menlo,monospace}.fd .fig .dw{stroke-dasharray:1 2;stroke-dashoffset:1;animation:fd-dwr var(--t,.9s) cubic-bezier(.4,0,.2,1) var(--d,0s) both}@keyframes fd-dwr{to{stroke-dashoffset:0}}.fd .fig .fi{opacity:0;animation:fd-fid .6s ease-out var(--d,.5s) forwards}@keyframes fd-fid{to{opacity:1}}.fd .fig .fl{animation:fd-flw 1.2s linear infinite}@keyframes fd-flw{to{stroke-dashoffset:-14}}.fd .fig .pul{transform-box:fill-box;transform-origin:center;animation:fd-pls 2.6s ease-in-out infinite}@keyframes fd-pls{50%{transform:scale(1.2);opacity:.55}}@media(max-width:900px){.fd .scr.fg .stg{height:44vh}.fd .scr.fg .gt{display:none}.fd .scr.fg .ctr{top:12px;left:16px}.fd .fig{top:34px;bottom:30px;left:10px;right:10px}.fd .fig text{font-size:12.5px}}@media(prefers-reduced-motion:reduce){.fd .fig .dw,.fd .fig .fi,.fd .fig .fl,.fd .fig .pul,.fd .fig svg{animation:none}.fd .fig .dw{stroke-dashoffset:0}.fd .fig .fi{opacity:1}}.fd #rail .pan{display:block;height:auto;place-items:initial}.fd #rail .pan:before{content:none}.fd #rail .foot{flex-direction:column;align-items:flex-start;gap:6px}.fd #rail .foot button{margin:0}.fd #rail .foot b{margin:0;padding:0;height:0;overflow:hidden}.fd #rail:focus-within .foot b,.fd #rail:hover .foot b{height:auto;padding-top:2px}.fd{--fd-nav-h:74px;position:relative;min-height:100vh}@media(min-width:768px){.fd{--fd-nav-h:78px}}.fd .hero{padding-top:16px;min-height:calc(100svh - var(--fd-nav-h))}.fd .cn{top:var(--fd-nav-h);padding-top:4px;z-index:30}.fd .ch{scroll-margin-top:calc(var(--fd-nav-h) + 60px)}.fd .stg{top:max(calc(var(--fd-nav-h) + 64px),calc(50vh - 230px))}@media(max-width:900px){.fd .stg{top:calc(var(--fd-nav-h) + 52px)}}.fd #rtop{z-index:60}.fd .cn .fd-themebtn{margin-left:auto;display:inline-flex;align-items:center}.fd #rail .foot .fd-themebtn{display:inline-flex}.fd .gl{stroke:var(--line2);stroke-width:1;opacity:.55}.fd .pt:focus-visible circle:first-child{stroke:var(--accent);stroke-width:3}.fd a.badge,.fd button.badge{text-decoration:none}.fd .cn .fd-themebtn{min-width:44px;min-height:44px;justify-content:center;border-radius:16px;border:2px solid var(--line2);background:var(--panel)}.fd #rail .foot .fd-themebtn{min-width:28px;min-height:28px}.fd .ctr,.fd .gt{pointer-events:none}.fd .pan canvas.mr-cv{outline:none}.fd .pan canvas.mr-cv:focus-visible{outline:2px solid var(--accent);outline-offset:-6px;border-radius:30px}.fd .mr-cap{left:12px;bottom:78px;text-align:center;font:11px ui-monospace,Menlo,monospace;color:var(--mute);pointer-events:none}.fd .mr-cap,.fd .mr-tools{position:absolute;right:12px}.fd .mr-tools{top:10px;display:flex;gap:6px;z-index:2}.fd .mr-tools button{min-width:34px;height:34px;padding:0 10px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--text);font:600 13px ui-monospace,Menlo,monospace;display:inline-flex;align-items:center;justify-content:center}.fd .mr-tools button:hover{border-color:var(--accent)}.fd .mr-tools button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}@media(max-width:900px){.fd .mr-cap{bottom:62px}}