:root{--bg:#0a0f0d;--bg-2:#0e1412;--panel:#101815;--panel-2:#1a231f;--panel-3:#222e29;--border:#2a3833;--border-strong:#3c4f48;--text:#ecf4f0;--text-dim:#93a89f;--text-faint:#63786f;--accent:#2fd39a;--accent-hot:#5ff0bd;--accent-deep:#0e7d5f;--accent-soft:rgba(56,243,180,0.09);--accent-border:rgba(56,243,180,0.28);--glow:rgba(56,243,180,0.3);--ok:#55d98a;--warn:#f5b93e;--err:#f3766b;--led-shadow:0 0 6px currentColor,0 0 16px currentColor;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--dur-press:150ms;--dur-ui:220ms}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:84px}body{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;font-size:16px;line-height:1.6}::selection{background:var(--accent);color:#072019}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 85% -10%,rgba(56,243,180,.14) 0,rgba(56,243,180,.04) 40%,transparent 70%),radial-gradient(ellipse 60% 45% at 0 30%,rgba(47,211,154,.07) 0,transparent 65%),radial-gradient(ellipse 70% 50% at 50% 110%,rgba(0,0,0,.25) 0,transparent 60%)}.atmosphere:after{content:"";position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.45 0 0 0 0 0.4 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}.display,h1,h2,h3{font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;line-height:1.08;font-weight:700;text-wrap:balance}.mono{font-family:var(--font-mono),ui-monospace,"SF Mono",monospace}.eyebrow{font-family:var(--font-mono),ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:22px;height:1px;background:var(--accent);opacity:.6}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.grad-text{background:linear-gradient(100deg,var(--text) 20%,var(--accent-hot) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.wrap-narrow{max-width:880px}section{padding:96px 0;position:relative}.section-head{margin-bottom:48px;max-width:640px}.section-head h2{font-size:clamp(30px,4.5vw,44px);margin-top:14px}.section-head p{margin-top:14px;color:var(--text-dim);font-size:16px}.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(16,22,20,.72);font-family:var(--font-mono),ui-monospace,monospace;font-size:11.5px;font-weight:500;color:var(--text-dim);letter-spacing:.03em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.badge-new{padding:3px 9px;border-radius:5px;background:var(--accent);color:#072019;font-family:var(--font-mono),ui-monospace,monospace;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.badge-new,.btn{display:inline-flex;align-items:center}.btn{justify-content:center;gap:10px;padding:14px 26px;border-radius:10px;font-family:var(--font-body),sans-serif;font-size:15px;font-weight:600;letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform var(--dur-press) var(--ease-out),background var(--dur-press) ease,border-color var(--dur-press) ease,box-shadow var(--dur-ui) ease}.btn:active{transform:scale(.97)}.btn svg{transition:transform var(--dur-ui) var(--ease-out)}.btn:hover .i-arrow{transform:translateX(3px)}.btn:hover .i-down{transform:translateY(2px)}.btn-primary{background:var(--accent);color:#072019;box-shadow:0 8px 24px -8px var(--glow)}.btn-primary:hover{background:var(--accent-hot);transform:translateY(-2px);box-shadow:0 0 24px -4px var(--glow),0 14px 36px -10px var(--glow)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-ghost{background:rgba(16,22,20,.62);border-color:var(--border);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{border-color:var(--accent-border);background:var(--accent-soft);transform:translateY(-2px)}.magnetic{will-change:transform}.card{background:linear-gradient(180deg,var(--panel) 0,rgba(16,22,20,.62) 100%);border:1px solid var(--border);border-radius:14px;padding:24px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.card:hover{border-color:var(--border-strong)}.card-accent:hover{border-color:var(--accent-border);box-shadow:0 12px 40px -18px var(--glow)}.led-strip{display:grid;grid-template-columns:repeat(13,1fr);grid-gap:4px;gap:4px}.led{aspect-ratio:1;border-radius:50%;background:#1c1712;transition:background .25s ease}.led-strip-row{display:flex;gap:5px}.led-pill{flex:1 1;height:10px;border-radius:999px;background:#1c1712}.fx-dot{animation:var(--fx-anim) var(--fx-dur,2.4s) linear infinite;animation-delay:calc(var(--i, 0) * var(--fx-stagger, 0s))}.js .reveal{visibility:hidden}.js .reveal.revealed{visibility:visible}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.rise{opacity:0;animation:rise .8s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--rise-delay,0s)}@keyframes fx-chase{0%,to{filter:brightness(.32) saturate(.8)}12%{filter:brightness(1.25) saturate(1.1);box-shadow:var(--led-shadow)}45%{filter:brightness(.32) saturate(.8)}}@keyframes fx-comet{0%{filter:brightness(.25);box-shadow:none}10%{filter:brightness(2.2) saturate(.6);box-shadow:0 0 10px currentColor,0 0 26px currentColor}55%{filter:brightness(.25);box-shadow:none}to{filter:brightness(.25);box-shadow:none}}@keyframes fx-heartbeat{0%,to{filter:brightness(.3);box-shadow:none}8%{filter:brightness(1.5);box-shadow:var(--led-shadow)}16%{filter:brightness(.45);box-shadow:none}24%{filter:brightness(1.7);box-shadow:0 0 12px currentColor,0 0 30px currentColor}48%{filter:brightness(.3);box-shadow:none}}@keyframes fx-scanner{0%,to{filter:brightness(.3);box-shadow:none}50%{filter:brightness(1.2) saturate(1.2);box-shadow:var(--led-shadow)}}@keyframes fx-shift{0%,to{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(1turn) brightness(1.05)}}@keyframes fx-duo{0%,to{filter:brightness(.35) saturate(.5)}50%{filter:brightness(1.15) saturate(1.1);box-shadow:var(--led-shadow)}}@keyframes fx-sonar{0%,to{opacity:.1}7%{opacity:1;box-shadow:0 0 10px currentColor,0 0 26px currentColor}34%{opacity:.22}}@keyframes fx-siren{0%,42%{opacity:.2}48%,58%{opacity:1;box-shadow:0 0 6px currentColor,0 0 16px currentColor}64%,to{opacity:.2}}@keyframes fx-strobe{0%,38%{opacity:.04}44%,54%{opacity:1}60%,to{opacity:.04}}@keyframes fx-twinkle{0%,to{opacity:.04}46%{opacity:.05}50%{opacity:1;box-shadow:0 0 10px currentColor,0 0 24px currentColor}100.1%,54%{opacity:.04}}@keyframes fx-soft{0%,to{opacity:.05}45%{opacity:.07}50%{opacity:1;box-shadow:0 0 8px currentColor,0 0 18px currentColor}56%{opacity:.06}}@keyframes fx-half{0%,50%{opacity:1}58%,92%{opacity:.03}to{opacity:1}}@keyframes fx-flicker{0%{opacity:.72}9%{opacity:.96}16%{opacity:.66}24%{opacity:1}31%{opacity:.8}40%{opacity:.94}49%{opacity:.7}58%{opacity:1}67%{opacity:.78}76%{opacity:.98}86%{opacity:.74}to{opacity:.82}}@keyframes fx-moon{0%,to{opacity:.22}50%{opacity:.44}}.faq{border:1px solid var(--border);border-radius:12px;background:rgba(16,22,20,.72);overflow:hidden;transition:border-color var(--dur-ui) ease,background var(--dur-ui) ease}.faq:hover{border-color:var(--border-strong)}.faq.open{border-color:var(--accent-border);background:rgba(26,35,31,.92)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:transparent;border:none;color:var(--text);font-family:var(--font-body),sans-serif;font-weight:600;font-size:15.5px;text-align:left;cursor:pointer}.faq-x{font-family:var(--font-mono),monospace;color:var(--accent);font-size:18px;flex-shrink:0;line-height:1;transition:transform var(--dur-ui) var(--ease-out),color var(--dur-press) ease}.faq.open .faq-x{transform:rotate(45deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s var(--ease-out)}.faq.open .faq-a{grid-template-rows:1fr}.faq-a-inner{min-height:0;overflow:hidden}.faq-body{padding:2px 22px 20px;color:var(--text-dim);font-size:14.5px;line-height:1.7}.code,.faq-body code{font-family:var(--font-mono),monospace;font-size:12.5px;background:rgba(47,211,154,.08);border:1px solid var(--accent-border);color:var(--accent-hot);padding:2px 7px;border-radius:5px;white-space:nowrap}.faq-body ol,.faq-body ul{margin:10px 0 0;padding-left:20px}.mono-table{width:100%;border-collapse:collapse;background:#0a0806;border:1px solid var(--border);border-radius:12px;overflow:hidden}.mono-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.mono-table td,.mono-table th{padding:12px 18px;font-family:var(--font-mono),monospace;border-bottom:1px solid var(--border)}.mono-table td{font-size:13.5px;color:var(--text-dim)}.mono-table tr:last-child td{border-bottom:none}.mono-table .addr{color:var(--accent-hot);font-weight:600}.mono-table .file{color:var(--text)}.callout{display:flex;gap:14px;padding:16px 18px;border-radius:12px;font-size:14px;line-height:1.65;border:1px solid var(--border);background:rgba(26,35,31,.9)}.callout strong{color:var(--text)}.callout-warn{border-color:rgba(245,185,62,.3);background:rgba(245,185,62,.06)}.callout-warn .callout-icon{color:var(--warn)}.callout-accent{border-color:var(--accent-border);background:var(--accent-soft)}.callout-accent .callout-icon{color:var(--accent)}.callout-ok{border-color:rgba(85,217,138,.3);background:rgba(85,217,138,.06)}.callout-ok .callout-icon{color:var(--ok)}.callout .callout-icon{flex-shrink:0;margin-top:2px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 20%,var(--border-strong) 80%,transparent);border:none}@media (prefers-reduced-motion:reduce){.fx-dot,.rise{animation:none!important;opacity:1;transform:none}.js .reveal{transition:none;opacity:1;transform:none}html{scroll-behavior:auto}}.logo{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;overflow:visible;color:var(--accent);transition:color var(--dur-ui) var(--ease-out)}.nav-brand:hover .logo{color:var(--accent-hot)}.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:transform .38s var(--ease-out),background .3s ease,border-color .3s ease,box-shadow .3s ease;border-bottom:1px solid transparent}.nav-scrolled{background:rgba(13,18,16,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(43,56,51,.6);box-shadow:0 12px 40px -24px rgba(0,0,0,.7)}.nav-progress{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;pointer-events:none}.nav-progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent-hot));transform-origin:left;transform:scaleX(0);opacity:.9}.nav-inner{justify-content:space-between;gap:24px;height:68px}.nav-brand,.nav-inner{display:flex;align-items:center}.nav-brand{gap:11px;text-decoration:none;flex-shrink:0}.nav-word{font-family:var(--font-display),sans-serif;font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--text-dim);white-space:nowrap}.nav-word b{color:var(--text);font-weight:700}.nav-links{display:flex;align-items:center;gap:26px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}.nav-links a{color:var(--text-dim);text-decoration:none;transition:color var(--dur-press) ease}.nav-links a:hover{color:var(--accent-hot)}.nav-links a:not(.nav-tool){position:relative}.nav-links a:not(.nav-tool):after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-ui) var(--ease-out)}.nav-links a:not(.nav-tool):hover:after{transform:scaleX(1)}.nav-tool{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)!important;transition:border-color var(--dur-press) ease,background var(--dur-press) ease,transform var(--dur-press) var(--ease-out)!important}.nav-tool:hover{border-color:var(--accent-border);background:var(--accent-soft)}.nav-tool:active{transform:scale(.97)}.nav-tool.is-active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-hot)!important}.nav-tool-tag{font-size:9px;font-weight:700;letter-spacing:.08em;padding:2px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-hot);border:1px solid var(--accent-border)}@media (max-width:860px){.nav-links a:not(.nav-tool){display:none}}.nav-drop{position:relative;display:inline-flex}.nav-drop-trigger{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--text-dim);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color var(--dur-press) ease}.nav-drop-trigger.is-active,.nav-drop-trigger:hover{color:var(--accent-hot)}.nav-drop-caret{transition:transform var(--dur-press) var(--ease-out)}.nav-drop.open .nav-drop-caret{transform:rotate(180deg)}.nav-drop-panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:300px;padding:8px;display:grid;grid-gap:2px;gap:2px;border-radius:14px;border:1px solid var(--border-strong);background:var(--panel);box-shadow:0 28px 60px -24px rgba(0,0,0,.75),0 0 0 1px rgba(56,243,180,.05);opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);z-index:70}.nav-drop-panel:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}.nav-drop.open .nav-drop-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.nav-drop-item{display:grid;grid-gap:3px;gap:3px;padding:11px 13px;border-radius:10px;border:1px solid transparent;text-decoration:none;transition:background var(--dur-press) ease,border-color var(--dur-press) ease}.nav-drop-item.is-active,.nav-drop-item:hover{background:var(--accent-soft);border-color:var(--accent-border)}.nav-drop-item-top{display:flex;align-items:center;gap:8px;font-family:var(--font-display),sans-serif;font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text)}.nav-drop-item.is-active .nav-drop-item-top{color:var(--accent-hot)}.nav-drop-item .nav-tool-tag{margin-left:0}.nav-drop-item-desc{font-family:var(--font-sans),sans-serif;font-size:12px;line-height:1.45;color:var(--text-faint);text-transform:none;letter-spacing:0}.nav-drop-item.is-active .nav-drop-item-desc{color:var(--text-dim)}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%}.cursor-dot{width:6px;height:6px;background:var(--accent-hot);box-shadow:0 0 10px var(--glow);transition:width var(--dur-press) var(--ease-out),height var(--dur-press) var(--ease-out),opacity var(--dur-press) ease}.cursor-ring{width:30px;height:30px;border:1px solid rgba(47,211,154,.4);transition:width var(--dur-ui) var(--ease-out),height var(--dur-ui) var(--ease-out),border-color var(--dur-press) ease,opacity var(--dur-press) ease}.cursor-ring.is-active{width:46px;height:46px;border-color:var(--accent)}.cursor-dot.is-active{width:4px;height:4px}.cursor-dot.is-down{width:9px;height:9px}.cursor-ring.is-down{width:24px;height:24px}.has-cursor,.has-cursor *{cursor:none!important}.footer{border-top:1px solid var(--border);background:rgba(14,20,17,.7);padding:64px 0 32px;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:40px;gap:40px;padding-bottom:48px}.footer-brand p{margin-top:14px;color:var(--text-dim);font-size:14px;max-width:300px}.footer-logo{display:flex;align-items:center;gap:11px}.footer-title{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:16px}.footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer li,.footer li a{color:var(--text-dim);font-size:14px;text-decoration:none;transition:color var(--dur-press) ease}.footer li a{position:relative;display:inline-block}.footer li a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-ui) var(--ease-out)}.footer li a:hover{color:var(--accent-hot)}.footer li a:hover:after{transform:scaleX(1)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--border);color:var(--text-faint);font-size:12.5px}@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}section{padding:72px 0}}@media (max-width:520px){.footer-grid{grid-template-columns:1fr;gap:32px}}.hero{padding:148px 0 96px;position:relative}.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:64px;gap:64px;align-items:center}.hero .hero-title,.hero h1{font-size:clamp(44px,6.5vw,76px);font-weight:800;margin-top:22px;letter-spacing:-.03em}.hero-line{display:block;padding-bottom:.08em;margin-bottom:-.08em}.hero-line,.wm{overflow:hidden}.wm{vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}.wi,.wm{display:inline-block}.wi{will-change:transform}.js .hero [data-hero]{opacity:0}.js .hero .wi{visibility:hidden}.js .eyebrow:before{transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out) .18s}.js .hero-in .eyebrow:before,.js .reveal.revealed .eyebrow:before{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.js .hero [data-hero]{opacity:1}.js .hero .wi{visibility:visible}.js .eyebrow:before{transform:none;transition:none}}.hero-chip{margin-left:14px;vertical-align:middle}.hero-sub{margin-top:22px;font-size:17.5px;color:var(--text-dim);max-width:520px;line-height:1.65}.hero-ctas{gap:12px;margin-top:32px}.hero-chips,.hero-ctas{display:flex;flex-wrap:wrap}.hero-chips{gap:8px;margin-top:28px}.chip-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.hero-strip-wrap{background:linear-gradient(180deg,var(--panel) 0,rgba(16,22,20,.5) 100%);border:1px solid var(--border);border-radius:18px;padding:28px;position:relative;overflow:hidden}.hero-strip-wrap:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 50% 60%,var(--glow) 0,transparent 60%);opacity:.14;pointer-events:none}.hero-strip-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}.hero-strip-fx{color:var(--accent-hot);animation:fxNameIn .4s ease}@keyframes fxNameIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hero-strip-live{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint)}.hero-live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:livePulse 1.8s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:.4}50%{opacity:1}}.hero-strip{gap:6px;position:relative}.hero-led{border-radius:6px}.hero-strip-caption{margin-top:20px;font-size:11px;color:var(--text-faint);letter-spacing:.06em}@media (max-width:960px){.hero{padding:120px 0 72px}.hero-inner{grid-template-columns:1fr;gap:44px}.hero-sub{max-width:640px}}.compare{display:grid;grid-template-columns:1fr 1fr;padding:0;overflow:hidden}.compare-col{padding:26px 28px}.compare-before{border-right:1px solid var(--border)}.compare-title{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.compare-before .compare-title{color:var(--text-faint)}.compare-after .compare-title{color:var(--ok)}.compare-col ul{list-style:none;display:flex;flex-direction:column;gap:13px}.compare-col li{font-size:14.5px;line-height:1.5;padding-left:18px;position:relative;color:var(--text-dim)}.js .reveal:not(.revealed) .compare li{opacity:0;transform:translateX(-8px)}.js .reveal .compare li{transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.js .reveal.revealed .compare li{opacity:1;transform:none}.js .reveal.revealed .compare li:first-child{transition-delay:80ms}.js .reveal.revealed .compare li:nth-child(2){transition-delay:.14s}.js .reveal.revealed .compare li:nth-child(3){transition-delay:.2s}.js .reveal.revealed .compare li:nth-child(4){transition-delay:.26s}.js .reveal.revealed .compare li:nth-child(5){transition-delay:.32s}.js .reveal.revealed .compare li:nth-child(6){transition-delay:.38s}@media (prefers-reduced-motion:reduce){.js .reveal .compare li{transition:none;opacity:1;transform:none}}.compare-col li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%}.compare-before li:before{background:var(--text-faint);opacity:.5}.compare-after li:before{background:var(--accent);box-shadow:0 0 6px var(--glow)}.compare-after li{color:var(--text)}@media (max-width:760px){.compare{grid-template-columns:1fr}.compare-before{border-right:none;border-bottom:1px solid var(--border)}}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.feature-card h3{font-size:17px;margin:16px 0 8px}.feature-card p{font-size:14px;color:var(--text-dim);line-height:1.6}.feature-icon{width:42px;height:42px;border-radius:11px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-hot);display:flex;align-items:center;justify-content:center}@media (max-width:900px){.feature-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.feature-grid{grid-template-columns:1fr}}.fx-family{margin-bottom:52px}.fx-family-head{display:flex;align-items:baseline;gap:16px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}.fx-family-head h3{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-hot);white-space:nowrap}.fx-family-head span{font-size:13.5px;color:var(--text-faint)}.fx-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.fx-card{padding:20px;transition:transform var(--dur-ui) var(--ease-out),border-color var(--dur-ui) ease,box-shadow var(--dur-ui) ease}.fx-preview{gap:5px;transition:transform .3s var(--ease-out)}@media (hover:hover) and (pointer:fine){.fx-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--fx-lead,var(--accent)) 40%,var(--border));box-shadow:0 18px 44px -22px color-mix(in srgb,var(--fx-lead,var(--accent)) 60%,transparent)}.fx-card:hover .fx-preview{transform:scale(1.035)}.fx-card:hover .fx-meta h4{color:color-mix(in srgb,var(--fx-lead,var(--accent)) 65%,var(--text))}}.fx-meta h4{font-family:var(--font-display),sans-serif;font-size:16.5px;font-weight:700;margin-top:16px}.fx-meta p{font-size:13.5px;color:var(--text-dim);margin-top:5px;line-height:1.55}.fx-ver{display:flex;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);align-items:center}.fx-ver-pill{font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:999px;line-height:1.2}.fx-ver-pill.on{color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 9%,transparent);box-shadow:0 0 10px -4px color-mix(in srgb,var(--ok) 60%,transparent)}.fx-ver-pill.off{color:var(--text-faint);border:1px solid var(--border);background:transparent;opacity:.75}.fx-ver-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:12px;color:var(--text-dim)}.fx-ver-legend .fx-ver-pill{font-size:10px;padding:2px 8px}@media (max-width:900px){.fx-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.fx-grid{grid-template-columns:1fr}}.wifi-modal-backdrop{position:fixed;inset:0;background:rgba(4,8,6,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}.wifi-modal{width:min(460px,100%);background:var(--bg,#0a0f0d);border:1px solid var(--border-strong);border-radius:16px;padding:24px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}.wifi-modal-head{display:flex;align-items:center;gap:12px;color:var(--accent);margin-bottom:10px}.wifi-modal-head h3{font-family:var(--font-display),sans-serif;font-size:19px;color:var(--text)}.wifi-modal-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-dim);margin-top:14px}.wifi-modal-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.wifi-modal-foot{font-size:11px;margin-top:14px}.reach-list{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.reach-list li{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2,rgba(16,22,20,.6));font-size:13.5px;line-height:1.6;color:var(--text-dim)}.reach-list li b{color:var(--text)}.bay-links-or{color:var(--text-dim)}.bay-finder{margin-top:4px}.bay-finder-easy{padding:12px 14px;border:1px solid var(--accent-border);border-radius:10px;background:var(--accent-soft,rgba(56,243,180,.07));font-size:13.5px;line-height:1.6}.bay-finder-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bay-finder-prog{font-size:12px;color:var(--text-dim)}.bay-finder-prog .bf-live{color:var(--ok);font-weight:700}.bay-finder-hit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);border-radius:10px;background:color-mix(in srgb,var(--ok) 7%,transparent);font-size:13.5px}.bay-finder-hit .bf-open{min-height:36px;padding:7px 14px;font-size:13px}.bay-finder-none{margin-top:12px;font-size:13px;line-height:1.6}.guide-reqs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.guide-steps{position:relative;margin-bottom:32px}.gline{position:absolute;left:31px;top:34px;bottom:34px;width:2px;pointer-events:none}.gline-fill,.gline-track{position:absolute;inset:0;border-radius:2px}.gline-track{background:var(--border);opacity:.55}.gline-fill{background:linear-gradient(180deg,var(--accent-deep),var(--accent-hot));transform-origin:top;transform:scaleY(0);box-shadow:0 0 12px var(--glow)}.gline-bead{position:absolute;left:50%;top:0;width:10px;height:10px;border-radius:50%;background:var(--accent-hot);box-shadow:0 0 10px var(--glow),0 0 24px var(--glow);transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.gline-fill{transform:none}.gline-bead{display:none}}@media (max-width:640px){.gline{left:21px}}.guide-step{display:grid;grid-template-columns:64px 1fr;grid-gap:22px;gap:22px;padding:30px 0;border-bottom:1px solid var(--border)}.guide-step:last-child{border-bottom:none}.guide-num{font-size:22px;font-weight:700;color:var(--accent);text-shadow:0 0 18px var(--glow);line-height:1;padding-top:3px}.guide-body h3{font-size:20px;margin-bottom:12px}.guide-body p{color:var(--text-dim);font-size:15px;line-height:1.7;margin-bottom:10px}.guide-body li strong,.guide-body p strong{color:var(--text)}.guide-body .faint{font-size:13.5px;margin-top:6px}.guide-btn{margin-top:8px}.guide-body .mono-table{margin:14px 0}@media (max-width:640px){.guide-step{grid-template-columns:44px 1fr;gap:14px}.guide-num{font-size:18px}}.text-link{color:var(--accent-hot);text-decoration:none;border-bottom:1px solid var(--accent-border)}.text-link:hover{border-bottom-color:var(--accent-hot)}.faq-list{display:flex;flex-direction:column;gap:10px;margin-bottom:40px}.faq-body a{color:var(--accent-hot)}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;flex-wrap:wrap}.cta-band h3{font-size:24px}.cta-band p{margin-top:8px;color:var(--text-dim);font-size:14.5px;max-width:460px}.cta-actions{gap:10px}.cta-actions,.tool-push{display:flex;flex-wrap:wrap}.tool-push{align-items:center;justify-content:space-between;gap:18px;margin:18px 0 8px;padding:20px 22px}.tool-push h3{font-family:var(--font-display),sans-serif;font-size:18px}.tool-push p{font-size:13.5px;color:var(--text-dim);margin-top:6px;max-width:560px;line-height:1.55}.tool-main{padding:118px 0 80px}.tool-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.tool-title{font-size:clamp(32px,5vw,44px);margin-top:12px}.tool-sub{margin-top:10px;font-size:14.5px;max-width:560px}.conn-pill,.tool-sub{color:var(--text-dim)}.conn-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:12px;flex-shrink:0}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.conn-pill.ok{border-color:rgba(85,217,138,.4);color:var(--ok)}.conn-pill.ok .conn-dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.conn-pill.err{border-color:rgba(243,118,107,.4);color:var(--err)}.conn-pill.err .conn-dot{background:var(--err);box-shadow:0 0 8px var(--err)}.tool-notice{position:relative;margin-bottom:14px}.tool-notice>div{padding-right:28px}.notice-x{position:absolute;top:10px;right:10px;background:transparent;border:none;color:var(--text-faint);cursor:pointer;padding:4px;border-radius:6px}.notice-x:hover{color:var(--text);background:var(--panel-2)}.wifi-card{margin-bottom:14px;padding:22px}.wifi-head{gap:14px;margin-bottom:16px}.wifi-head,.wifi-ic{display:flex;align-items:center}.wifi-ic{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-hot);justify-content:center;flex-shrink:0}.wifi-t{font-weight:600;font-size:15px}.wifi-s{font-size:12.5px;color:var(--text-dim);margin-top:2px}.wifi-creds{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.wifi-row{display:grid;grid-template-columns:90px 1fr auto;grid-gap:12px;gap:12px;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding:9px 14px;font-size:13px}.wifi-row span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.wifi-row code{color:var(--accent-hot);font-family:var(--font-mono),monospace;font-weight:600;font-size:13.5px}.wifi-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.wifi-btn{padding:11px 16px;font-size:13.5px}@media (max-width:560px){.wifi-row{grid-template-columns:1fr auto}.wifi-row span{display:none}.wifi-actions{grid-template-columns:1fr}}.panel-label,.tool-panel{margin-bottom:14px}.panel-label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.mode-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.mode-btn{padding:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:9px;color:var(--text-dim);cursor:pointer;font-family:var(--font-body),sans-serif;font-size:13.5px;font-weight:600;transition:all .15s ease}.mode-btn:hover{color:var(--text);border-color:var(--border-strong)}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:#072019}.slider-group{margin:18px 0 6px}.slider-group:first-of-type{margin-top:16px}.slider-label{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:10px}.slider-label .mono{color:var(--accent-hot)}input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--panel-3);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),0 0 12px var(--glow);cursor:pointer}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.custom-tools{margin-top:16px}.custom-tools-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap;font-size:13.5px}.accent-text{color:var(--accent-hot)}.custom-btns{display:flex;gap:6px;flex-wrap:wrap}.led-editor{display:grid;grid-template-columns:repeat(13,1fr);grid-gap:6px;gap:6px}.led-cell{aspect-ratio:1;border-radius:9px;border:none;position:relative;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);transition:transform .12s ease,box-shadow .12s ease}.led-cell:hover{transform:scale(1.07)}.led-cell.selected{box-shadow:inset 0 0 0 2px #0a0f0d,0 0 0 2px var(--accent),0 0 14px var(--glow);transform:scale(1.04);z-index:1}.led-cell span{font-family:var(--font-mono),monospace;font-size:10.5px;font-weight:700;color:rgba(0,0,0,.7);text-shadow:0 0 3px rgba(255,255,255,.4);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}@media (max-width:640px){.led-editor{grid-template-columns:repeat(7,1fr)}.small{font-size:12px;margin-top:10px}}.live-sync{justify-content:space-between;gap:14px;margin-top:18px;padding:13px 16px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.live-sync,.live-sync-l{display:flex;align-items:center}.live-sync-l{gap:12px}.live-t{font-size:14px;font-weight:600}.live-s{font-size:12px;color:var(--text-dim);margin-top:1px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--glow);animation:livePulse 1.6s ease-in-out infinite;flex-shrink:0}.pulse-dot.off{background:var(--text-faint);animation:none;opacity:.5}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{inset:0;background:var(--panel);border:1px solid var(--border-strong);border-radius:24px}.toggle-slider,.toggle-slider:before{position:absolute;transition:all .2s ease}.toggle-slider:before{content:"";width:16px;height:16px;left:3px;top:50%;transform:translateY(-50%);background:var(--text-faint);border-radius:50%}.toggle input:checked+.toggle-slider{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(20px,-50%);background:#072019}.picker-grid{display:grid;grid-template-columns:1fr 220px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:640px){.picker-grid{grid-template-columns:1fr}}.cwheel{position:relative;width:100%;max-width:330px;aspect-ratio:1;margin:0 auto;touch-action:none;cursor:crosshair}.cwheel-ring{inset:0;background:conic-gradient(from 0deg,#ff0000,#ffff00,#00ff00,#00ffff,#0000ff,#ff00ff,#ff0000);filter:saturate(1.1)}.cwheel-ring,.cwheel-ring:after{position:absolute;border-radius:50%}.cwheel-ring:after{content:"";inset:18px;background:var(--panel);box-shadow:inset 0 0 24px rgba(0,0,0,.6)}.cwheel-sv{position:absolute;top:50%;left:50%;width:calc((100% - 36px) * .68);height:calc((100% - 36px) * .68);transform:translate(-50%,-50%);border-radius:8px;cursor:crosshair;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.5)}.cwheel-dot{width:14px;height:14px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.6)}.cwheel-dot,.cwheel-hue-dot{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.cwheel-hue-dot{width:22px;height:22px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.5);z-index:2}.cwheel-readout{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);background:var(--panel);padding:3px 12px;border-radius:999px;border:1px solid var(--border);pointer-events:none;z-index:3}.picker-side{display:flex;flex-direction:column;gap:14px}.preview-box{height:92px;box-shadow:inset 0 0 30px rgba(0,0,0,.25)}.mini-strip,.preview-box{border-radius:10px;border:1px solid var(--border)}.mini-strip{display:grid;grid-template-columns:repeat(13,1fr);grid-gap:3px;gap:3px;padding:9px;background:var(--panel-2)}.mini-led{aspect-ratio:1;border-radius:50%;box-shadow:0 0 6px currentColor}@keyframes breathe{0%,to{opacity:.25}50%{opacity:1}}.mini-led.breathe{animation:breathe 1.8s ease-in-out infinite}.val-row{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px;gap:6px;font-size:11.5px}.val-row span{background:var(--panel-2);border:1px solid var(--border);padding:7px 10px;border-radius:8px;color:var(--text-faint)}.val-row b{color:var(--accent-hot);font-weight:600;margin-left:4px}.preset-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin:18px 0 10px}.label-hint{margin-left:8px;font-size:10px;font-weight:500;color:var(--text-faint);text-transform:none;letter-spacing:.02em}.preset-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px}@media (max-width:700px){.preset-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:420px){.preset-grid{grid-template-columns:repeat(2,1fr)}}.preset-chip{padding:10px 6px;border:none;border-radius:9px;cursor:pointer;font-family:var(--font-body),sans-serif;font-size:12px;font-weight:700;letter-spacing:.01em;transition:transform .12s ease,box-shadow .12s ease}.preset-chip:hover{transform:scale(1.06);box-shadow:0 6px 16px rgba(0,0,0,.45)}.preset-chip:active{transform:scale(.98)}.pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}@media (max-width:700px){.pattern-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.pattern-grid{grid-template-columns:1fr}}.pattern-tile{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:7px;text-align:left;font-family:var(--font-body),sans-serif;transition:border-color .15s ease,transform .12s ease}.pattern-tile:hover{border-color:var(--accent-border);transform:translateY(-1px)}.pattern-strip{display:grid;grid-template-columns:repeat(13,1fr);grid-gap:1px;gap:1px;height:20px;border-radius:5px;overflow:hidden;background:#000}.pattern-name{font-size:13px;font-weight:700;color:var(--text)}.pattern-desc{font-size:11px;color:var(--text-dim)}.send-manual{width:100%;margin-bottom:6px}details>summary{cursor:pointer;font-size:12.5px;color:var(--text-dim);padding:12px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;letter-spacing:.06em;text-transform:uppercase}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸ ";color:var(--accent)}details[open]>summary:before{content:"▾ "}details>summary:hover{color:var(--text)}.adv-body{padding:6px 0 14px}.adv-row{display:grid;grid-template-columns:120px 1fr;grid-gap:10px;gap:10px;align-items:center;margin-bottom:10px}.adv-row label{font-size:12px;color:var(--text-dim)}.adv-row input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:8px;font-family:var(--font-mono),monospace;font-size:13px;width:100%}.adv-row input:focus{outline:none;border-color:var(--accent)}@media (max-width:560px){.adv-row{grid-template-columns:1fr}}.json-preview{padding:14px;color:#b8ac9e;overflow-x:auto;white-space:pre}.json-input,.json-preview{background:#0a0806;border:1px solid var(--border);border-radius:10px;font-size:12px}.json-input{width:100%;padding:12px 14px;line-height:1.6;color:var(--text);resize:vertical;min-height:130px}.json-input:focus{outline:none;border-color:var(--accent)}.json-input::placeholder{color:var(--text-faint);opacity:.6}.json-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}.mini-btn.accent{background:var(--accent);border-color:var(--accent);color:#072019}.mini-btn.accent:hover{background:var(--accent-hot);color:#072019}.json-status{margin-top:8px;font-size:12px;min-height:16px}.json-status.ok{color:var(--ok)}.json-status.err{color:var(--err)}.tool-foot{margin-top:26px;font-size:13px;text-align:center}.toast{position:fixed;bottom:26px;left:50%;background:var(--panel);border:1px solid var(--border);padding:12px 20px;border-radius:12px;font-size:13px;font-weight:500;box-shadow:0 14px 40px rgba(0,0,0,.6);pointer-events:none;z-index:60;opacity:0;transform:translateX(-50%) translateY(24px) scale(.96);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),border-color .2s ease,color .2s ease}.toast.show{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}.toast.ok{border-color:rgba(85,217,138,.5);color:var(--ok)}.toast.err{border-color:rgba(243,118,107,.5);color:var(--err)}.js .tool-panel{animation:panelIn .64s var(--ease-out) both}.js .tool-panel:first-of-type{animation-delay:60ms}.js .tool-panel:nth-of-type(2){animation-delay:.14s}.js .tool-panel:nth-of-type(3){animation-delay:.22s}@keyframes panelIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.wifi-wrap{display:grid;grid-template-rows:0fr;opacity:0;margin-bottom:0;visibility:hidden;transition:grid-template-rows .32s var(--ease-out),opacity .26s ease,margin-bottom .32s var(--ease-out),visibility 0s .34s}.wifi-wrap.open{grid-template-rows:1fr;opacity:1;margin-bottom:14px;visibility:visible;transition-delay:0s}.wifi-clip{min-height:0;overflow:hidden}.conn-pill{transition:color var(--dur-ui) ease,border-color var(--dur-ui) ease}.conn-pill .conn-dot{transition:background var(--dur-ui) ease,box-shadow var(--dur-ui) ease}.conn-pill.checking .conn-dot{animation:pingDot 1.1s ease-in-out infinite}@keyframes pingDot{0%,to{box-shadow:0 0 0 0 rgba(131,162,155,.5)}50%{box-shadow:0 0 0 5px rgba(131,162,155,0)}}.mode-btn{transition:background var(--dur-press) ease,color var(--dur-press) ease,border-color var(--dur-press) ease,transform var(--dur-press) var(--ease-out),box-shadow var(--dur-ui) ease}.mode-btn:active{transform:scale(.96)}.mode-btn.active{box-shadow:0 4px 18px -6px var(--glow)}input[type=range]::-webkit-slider-thumb{-webkit-transition:transform var(--dur-press) var(--ease-out),box-shadow var(--dur-ui) ease;transition:transform var(--dur-press) var(--ease-out),box-shadow var(--dur-ui) ease}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]:active::-webkit-slider-thumb{transform:scale(.94)}input[type=range]::-moz-range-thumb{-moz-transition:transform var(--dur-press) var(--ease-out);transition:transform var(--dur-press) var(--ease-out)}input[type=range]:hover::-moz-range-thumb{transform:scale(1.15)}.toggle-slider{transition:all var(--dur-ui) ease}.toggle input:checked~.toggle-slider{box-shadow:0 0 18px -4px var(--glow)}.preset-chip{transition:transform var(--dur-press) var(--ease-out),box-shadow var(--dur-ui) ease}.preset-chip:active{transform:scale(.93)}.mini-btn{transition:all var(--dur-press) ease,transform var(--dur-press) var(--ease-out)}.mini-btn:active{transform:scale(.95)}.pattern-strip i{display:block;transform:translateY(0);transition:transform .18s var(--ease-out);transition-delay:calc(var(--j, 0) * 4ms)}@media (hover:hover) and (pointer:fine){.pattern-tile:hover .pattern-strip i{transform:translateY(-2.5px);transition-delay:calc(var(--j, 0) * 9ms)}.pattern-tile:hover .pattern-name{color:var(--accent-hot)}}.pattern-tile{transition:border-color var(--dur-press) ease,transform var(--dur-press) var(--ease-out)}.pattern-tile:active{transform:scale(.98)}.pattern-name{transition:color var(--dur-press) ease}.led-cell{transition:transform var(--dur-press) var(--ease-out),box-shadow var(--dur-press) var(--ease-out)}.led-cell:active{transform:scale(.9)}.led-cell.selected:after{content:"";position:absolute;inset:-5px;border-radius:12px;border:1px solid var(--accent-border);animation:cellRing 2.2s ease-in-out infinite;pointer-events:none}@keyframes cellRing{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.preview-box{transition:background .12s linear}.cwheel{transition:filter var(--dur-press) ease}.cwheel.dragging .cwheel-hue-dot{box-shadow:0 0 0 1px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.5),0 0 0 6px var(--accent-soft),0 0 18px var(--glow)}.cwheel.dragging .cwheel-dot{width:17px;height:17px}.cwheel-dot{transition:width var(--dur-press) var(--ease-out),height var(--dur-press) var(--ease-out)}@media (prefers-reduced-motion:reduce){.js .tool-panel{animation:none;opacity:1}.wifi-wrap{transition:opacity .2s ease}.conn-pill.checking .conn-dot,.led-cell.selected:after{animation:none}.pattern-strip i{transition:none}}.flash-main{padding:118px 0 80px}.flash-boot{padding:160px 24px;text-align:center;color:var(--text-faint);font-size:13px;letter-spacing:.08em}.flash-chip-tag{margin-top:8px}.flash-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-gap:20px;gap:20px;align-items:start}.flash-steps{padding:22px}.flash-steps-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.flash-steps-title{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}.flash-step-list{list-style:none;display:grid;grid-gap:4px;gap:4px;margin:0;padding:0}.flash-step{display:flex;align-items:center;gap:14px;padding:12px 12px 12px 10px;border-radius:10px;border:1px solid transparent;transition:background var(--dur-ui) ease,border-color var(--dur-ui) ease,opacity var(--dur-ui) ease}.flash-step.is-pending{opacity:.45}.flash-step.is-active{background:var(--accent-soft);border-color:var(--accent-border)}.flash-step.is-done{opacity:.92}.flash-step.is-failed{background:rgba(243,118,107,.07);border-color:rgba(243,118,107,.35)}.flash-step-marker{width:26px;height:26px;border-radius:50%;border:1px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0;background:var(--panel-2);transition:border-color var(--dur-ui) ease,background var(--dur-ui) ease,color var(--dur-ui) ease}.flash-step-num{font-size:11.5px;color:var(--text-dim)}.flash-step.is-active .flash-step-marker{border-color:var(--accent);background:var(--accent);color:#072019}.flash-step.is-done .flash-step-marker{border-color:rgba(85,217,138,.5);background:rgba(85,217,138,.12);color:var(--ok)}.flash-step.is-failed .flash-step-marker{border-color:rgba(243,118,107,.5);background:rgba(243,118,107,.12);color:var(--err)}.flash-step-body{display:grid;grid-gap:1px;gap:1px;min-width:0}.flash-step-title{font-weight:600;font-size:14.5px;color:var(--text)}.flash-step.is-failed .flash-step-title{color:var(--err)}.flash-step-detail{font-size:12px;color:var(--text-faint)}.flash-step-spin{width:14px;height:14px;margin-left:auto;flex-shrink:0;border-radius:50%;border:2px solid var(--accent-border);border-top-color:var(--accent);animation:flashSpin .8s linear infinite}@keyframes flashSpin{to{transform:rotate(1turn)}}.flash-progress{margin-top:14px;padding:14px;border:1px solid var(--accent-border);border-radius:10px;background:var(--accent-soft);display:grid;grid-gap:8px;gap:8px}.flash-progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;color:var(--text)}.flash-progress-pct{color:var(--accent-hot);font-weight:600}.flash-progress-track{height:8px;border-radius:99px;background:rgba(0,0,0,.35);border:1px solid var(--border);overflow:hidden}.flash-progress-fill{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent-deep),var(--accent),var(--accent-hot));transform:scaleX(0);transform-origin:0 50%;transition:transform .2s var(--ease-out);box-shadow:0 0 12px -2px var(--glow)}.flash-progress-track.is-erase .flash-progress-fill{animation:flashSweep 1.4s var(--ease-in-out) infinite}@keyframes flashSweep{0%{transform:scaleX(.04)}50%{transform:scaleX(.55)}to{transform:scaleX(.96)}}.flash-progress-file{font-size:11.5px;color:var(--text-dim)}.flash-device{margin-top:14px;padding:16px 18px;display:grid;grid-gap:8px;gap:8px}.flash-device-row{display:flex;justify-content:space-between;gap:16px;font-size:12.5px}.flash-device-row span{color:var(--text-faint)}.flash-device-row b{color:var(--text);font-weight:500;text-align:right;overflow-wrap:anywhere}.flash-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.flash-cta{min-width:220px}.btn[disabled]{opacity:.75;cursor:wait;transform:none;box-shadow:none}.flash-done,.flash-error,.flash-safety{margin-top:14px}.flash-done{border-color:rgba(85,217,138,.4)}.flash-done .callout-icon{color:var(--ok)}.flash-console-card{padding:0;display:flex;flex-direction:column;overflow:hidden}.flash-console-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(0,0,0,.18)}.flash-console-title{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}.flash-console-clear{background:none;border:none;padding:2px 6px;font-size:11px;color:var(--text-faint);cursor:pointer;border-radius:6px;transition:color var(--dur-press) ease,background var(--dur-press) ease}.flash-console-clear:hover{color:var(--text);background:var(--panel-2)}.flash-console{height:460px;overflow-y:auto;padding:14px 16px 18px;font-size:12px;line-height:1.55;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.flash-console::-webkit-scrollbar{width:8px}.flash-console::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.log-line{padding:1px 0;overflow-wrap:anywhere;white-space:pre-wrap}.log-line,.log-line.is-info{color:var(--text-dim)}.log-line.is-ok{color:var(--ok)}.log-line.is-warn{color:var(--warn)}.log-line.is-err{color:var(--err)}.flash-console-empty{height:100%;display:grid;place-content:center;text-align:center;grid-gap:6px;gap:6px;padding:24px;color:var(--text-dim);font-size:13px}.flash-console-empty .faint{color:var(--text-faint);font-size:12px}.flash-gate{padding:40px 36px;display:grid;grid-gap:12px;gap:12px;justify-items:start;max-width:640px}.flash-gate-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:rgba(245,185,62,.1);border:1px solid rgba(245,185,62,.3);color:var(--warn)}.flash-gate h2{font-size:26px}.flash-gate-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.flash-gate-fallback{margin-top:14px;font-size:11.5px;color:var(--text-faint)}@media (max-width:900px){.flash-layout{grid-template-columns:1fr}.flash-console{height:320px}.flash-main{padding:96px 0 64px}.flash-cta{width:100%}.flash-gate{padding:28px 22px}}@media (prefers-reduced-motion:reduce){.flash-progress-track.is-erase .flash-progress-fill,.flash-step-spin{animation:none}}.flash-cta-band{display:flex;align-items:center;gap:32px;padding:36px;flex-wrap:wrap;border-color:var(--accent-border)}.flash-cta-copy{flex:1 1 380px;min-width:0}.flash-cta-copy h2{margin-top:14px;font-size:clamp(26px,3.6vw,36px)}.flash-cta-copy p{margin-top:14px;color:var(--text-dim);max-width:520px}.flash-cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.flash-cta-visual{flex:0 1 340px;display:grid;grid-gap:10px;gap:10px;padding:22px;border:1px solid var(--border);border-radius:12px;background:rgba(0,0,0,.25);font-size:12px}.flash-cta-line{display:flex;align-items:baseline;gap:12px;color:var(--text-dim)}.flash-cta-line span{color:var(--text-faint);font-size:10.5px;letter-spacing:.14em;flex-shrink:0}.flash-cta-line.is-accent{color:var(--accent-hot)}.flash-cta-line.is-accent span{color:var(--accent)}.flash-cta-line.is-ok,.flash-cta-line.is-ok span{color:var(--ok)}@media (max-width:820px){.flash-cta-band{padding:24px}.flash-cta-visual{flex-basis:100%}}.flash-target{margin-top:14px;padding:18px 20px}.flash-target-hint{font-size:11px;color:var(--text-faint);letter-spacing:.08em}.flash-target-list{display:grid;grid-gap:8px;gap:8px}.flash-target-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;transition:border-color var(--dur-press) ease,background var(--dur-press) ease,transform var(--dur-press) var(--ease-out);font-family:var(--font-body),sans-serif}.flash-target-row:hover:not(:disabled){border-color:var(--accent-border);transform:translateY(-1px)}.flash-target-row:active:not(:disabled){transform:scale(.99)}.flash-target-row:disabled{opacity:.55;cursor:wait}.flash-target-row.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-border),0 10px 28px -18px var(--glow)}.flash-target-row.is-stock.is-selected{border-color:rgba(245,185,62,.55);background:rgba(245,185,62,.07);box-shadow:none}.flash-target-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;position:relative;transition:border-color var(--dur-press) ease,box-shadow var(--dur-press) ease}.flash-target-row.is-selected .flash-target-radio{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--accent)}.flash-target-row.is-stock.is-selected .flash-target-radio{border-color:var(--warn);box-shadow:inset 0 0 0 4px var(--warn)}.flash-target-body{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.flash-target-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text)}.flash-target-badge{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-hot)}.flash-target-blurb{font-size:12px;color:var(--text-faint);line-height:1.45}.flash-target-size{font-size:11px;color:var(--text-faint);flex-shrink:0}@media (max-width:480px){.flash-target-row{flex-wrap:wrap}.flash-target-size{order:3;margin-left:30px}}.flash-counter{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;margin-bottom:18px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--text-dim);font-size:12px;letter-spacing:.04em}.flash-counter b{color:var(--accent-hot);font-weight:700}.flash-counter-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--glow);animation:counter-pulse 2.4s ease-in-out infinite}@keyframes counter-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.flash-counter-dot{animation:none}}.flash-joined{margin-top:10px;padding-top:10px;border-top:1px solid var(--accent-border);color:var(--accent-hot);font-size:14px}.flash-joined b{font-weight:800}.flash-methods{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:22px;max-width:560px}.flash-method-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;font-family:var(--font-body),sans-serif;transition:border-color var(--dur-press) ease,background var(--dur-press) ease,transform var(--dur-press) var(--ease-out),box-shadow var(--dur-ui) ease}.flash-method-btn:hover:not(:disabled){border-color:var(--accent-border);transform:translateY(-1px)}.flash-method-btn:active:not(:disabled){transform:scale(.99)}.flash-method-btn:disabled{opacity:.55;cursor:wait}.flash-method-btn.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-border),0 10px 28px -18px var(--glow)}.flash-method-btn.is-active svg{color:var(--accent-hot)}.flash-method-text{display:grid;grid-gap:1px;gap:1px}.flash-method-name{font-weight:700;font-size:14.5px}.flash-method-sub{font-size:11.5px;color:var(--text-faint)}.flash-serialwarn{margin-bottom:18px}.flash-wifi-panel{padding:30px 34px;max-width:860px}.flash-ota-head{display:flex;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border)}.flash-method-badge{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border-radius:8px;border:1px solid rgba(85,217,138,.45);background:rgba(85,217,138,.09);color:var(--ok);flex-shrink:0;margin-top:4px}.flash-ota-head h2{font-size:24px}.flash-ota-head p{font-size:13.5px;margin-top:2px}.flash-ota-steps{display:grid;grid-gap:0;gap:0;padding:8px 0 0}.flash-ota-step{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--border)}.flash-ota-step:last-child{border-bottom:none}.flash-ota-num{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#072019;display:grid;place-items:center;font-size:14px;font-weight:700;flex-shrink:0}.flash-ota-body{flex:1 1;min-width:0}.flash-ota-body h3{font-size:18px;margin-bottom:6px}.flash-ota-body p{color:var(--text-dim);font-size:14.5px;max-width:560px}.flash-ota-chips{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:13px}.flash-ota-chips span span{color:var(--accent-hot)}.flash-ota-hint{margin-top:10px;font-size:12.5px!important;color:var(--text-faint)!important}.flash-ota-downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.flash-ota-note{margin-top:18px}@media (max-width:720px){.flash-methods{grid-template-columns:1fr;max-width:none}.flash-wifi-panel{padding:22px 20px}.flash-ota-head{flex-direction:column;gap:10px}.flash-ota-step{gap:14px}}a.ip-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:border-color var(--dur-press) ease,background var(--dur-press) ease,box-shadow var(--dur-press) ease,transform var(--dur-press) var(--ease-out)}a.ip-link .ip-link-icon{opacity:0;width:11px;height:11px;margin-right:-2px;transform:translate(-2px,2px);transition:opacity var(--dur-press) ease,transform var(--dur-press) var(--ease-out)}a.ip-link:focus-visible,a.ip-link:hover{background:rgba(47,211,154,.16);border-color:var(--accent-hot);box-shadow:0 4px 14px -6px var(--glow);transform:translateY(-1px)}a.ip-link:focus-visible .ip-link-icon,a.ip-link:hover .ip-link-icon{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){a.ip-link,a.ip-link .ip-link-icon{transition:none}}.nav-burger{display:none;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:9px 10px;cursor:pointer;transition:border-color var(--dur-press) ease,background var(--dur-press) ease;margin-left:10px}.nav-burger:hover{border-color:var(--accent-border);background:var(--accent-soft)}.nav-burger-box{display:grid;grid-gap:4.5px;gap:4.5px;width:20px}.nav-burger-line{display:block;height:2px;border-radius:2px;background:var(--text);transition:transform var(--dur-ui) var(--ease-drawer),opacity var(--dur-press) ease;transform-origin:50% 50%}.nav-menu-open .nav-burger-line:first-child{transform:translateY(6px) rotate(45deg)}.nav-menu-open .nav-burger-line:nth-child(2){opacity:0;transform:scaleX(.4)}.nav-menu-open .nav-burger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-drawer{position:fixed;top:64px;left:0;right:0;bottom:0;z-index:49;background:rgba(13,18,16,.98);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out)}.nav-drawer.nav-menu-open{opacity:1;transform:translateY(0);pointer-events:auto}.nav-drawer-inner{padding:10px 24px 26px;display:grid;grid-gap:2px;gap:2px}.nav-drawer-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;border:1px solid transparent;color:var(--text);text-decoration:none;font-family:var(--font-display),sans-serif;font-size:17px;font-weight:600;letter-spacing:-.01em;transition:background var(--dur-press) ease,border-color var(--dur-press) ease}.nav-drawer-link.is-active,.nav-drawer-link:active,.nav-drawer-link:hover{background:var(--accent-soft);border-color:var(--accent-border)}.nav-drawer-link.is-active{color:var(--accent-hot)}.nav-drawer-link .nav-tool-tag{margin-left:0;font-size:9px}.nav-drawer-arrow{margin-left:auto;color:var(--text-faint);transition:transform var(--dur-press) var(--ease-out),color var(--dur-press) ease}.nav-drawer-link:hover .nav-drawer-arrow{color:var(--accent-hot);transform:translateX(3px)}.nav-drawer-mail{margin-top:6px;color:var(--text-dim)}.nav-drawer-mail-row{display:flex;align-items:center;gap:8px}.nav-drawer-mail-row .nav-drawer-mail{flex:1 1}.copy-email-nav{margin-top:6px;flex-shrink:0}.copy-email{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-faint);font-family:var(--font-mono),monospace;font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap;cursor:pointer;vertical-align:middle;transition:color var(--dur-press) ease,border-color var(--dur-press) ease,background var(--dur-press) ease}.copy-email:hover{color:var(--accent-hot);border-color:var(--accent-border)}.btn.is-copied,.copy-email.is-copied{color:var(--accent-hot);border-color:var(--accent-border);background:var(--accent-soft)}.flash-error-actions,.footer-email-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flash-error-actions{margin-top:12px}.flash-error-actions .flash-error-mail{margin-top:0}@media (max-width:1024px){.nav-links{display:none}.nav-burger{display:inline-flex}.nav-inner{position:relative;justify-content:space-between}.nav{background:rgba(13,18,16,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(43,56,51,.6)}.nav-brand{padding:2px 0}.nav-burger{padding:11px 12px}.nav-burger-box{width:22px}}html.menu-open{overflow:hidden}@media (min-width:1025px){.nav-drawer{display:none!important}}@media (prefers-reduced-motion:reduce){.nav-burger-line,.nav-drawer{transition:none}}.flash-cache{display:flex;align-items:baseline;gap:8px;margin-top:16px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.2);font-size:11.5px;color:var(--text-dim)}.flash-cache.is-ready{border-color:rgba(85,217,138,.35);background:rgba(85,217,138,.06);color:var(--ok)}.flash-cache-spin{width:11px;height:11px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:flashSpin .8s linear infinite;flex-shrink:0;align-self:center}.flash-target-row.is-soon{opacity:.55;border-style:dashed;cursor:not-allowed;background:rgba(0,0,0,.15)}.flash-target-badge.is-soon{background:rgba(245,185,62,.1);border-color:rgba(245,185,62,.4);color:var(--warn)}.flash-error-mail{margin-top:12px;font-size:13.5px;padding:10px 18px}.chip-soon{border-color:rgba(245,185,62,.4);color:var(--warn)}.chip-soon .chip-dot{background:var(--warn);box-shadow:0 0 8px var(--warn)}.stock-easy,.stock-manual{padding:30px 34px}.stock-steps{margin:20px 0 0;padding:0 0 0 22px;display:grid;grid-gap:14px;gap:14px;color:var(--text-dim);font-size:14.5px;line-height:1.6}.stock-steps b,.stock-steps strong{color:var(--text)}.stock-note{margin-top:18px;font-size:13.5px;color:var(--text-dim)}.stock-callout{margin:12px 0 4px}.flash-method-badge.is-neutral{border-color:var(--border-strong);background:var(--panel-2);color:var(--text-dim)}.mono-table{margin-top:12px}@media (max-width:720px){.stock-easy,.stock-manual{padding:22px 20px}}.flash-ota-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.flash-ota-blocked{margin-top:12px}.flash-ota-manual{margin-top:20px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.18);padding:0 16px}.flash-ota-manual summary{cursor:pointer;padding:12px 2px;font-size:11.5px;letter-spacing:.1em;color:var(--text-faint);list-style:none;display:flex;align-items:center;gap:8px}.flash-ota-manual summary:before{content:"+";color:var(--accent);font-weight:700}.flash-ota-manual[open] summary:before{content:"–"}.flash-ota-manual summary:hover{color:var(--text-dim)}.flash-ota-manual-body{padding:2px 2px 18px;display:grid;grid-gap:14px;gap:14px}.flash-ota-manual-body p{color:var(--text-dim);font-size:13.5px;line-height:1.6}.flash-doctor{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding:16px;border:1px solid rgba(245,185,62,.35);border-radius:10px;background:rgba(245,185,62,.05)}.flash-doctor-item{display:flex;gap:12px;font-size:13.5px;line-height:1.55;color:var(--text-dim)}.flash-doctor-item b{color:var(--text)}.flash-doctor-num{width:22px;height:22px;border-radius:50%;border:1px solid rgba(245,185,62,.5);color:var(--warn);display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}.flash-wifi-panel.is-soon{border-style:dashed;background:linear-gradient(180deg,rgba(16,22,20,.66),rgba(16,22,20,.55))}.flash-method-badge.is-soon{border-color:rgba(245,185,62,.5);background:rgba(245,185,62,.08);color:var(--warn)}.flash-wifi-soon-body{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.flash-wifi-soon-row{display:flex;align-items:flex-start;gap:14px}.flash-wifi-soon-row .flash-target-radio{border-color:var(--border-strong);width:18px;height:18px;margin-top:3px;flex-shrink:0}.flash-wifi-soon-row p{color:var(--text-dim);font-size:15px;line-height:1.6;max-width:640px}.flash-wifi-soon-row b{color:var(--text)}.page-hero{padding:clamp(130px,17vh,180px) 0 26px}.page-hero-chip{vertical-align:middle}.page-hero .hero-eyebrow-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.page-hero-title{font-family:var(--font-display);font-size:clamp(44px,6.5vw,76px);font-weight:800;margin-top:22px;letter-spacing:-.03em}.page-hero-sub{margin-top:20px;max-width:640px;color:var(--text-dim);font-size:17px;line-height:1.65}.page-hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.js .page-hero [data-ph]{opacity:0}.js .page-hero .wi{visibility:hidden}.page-hero+section{padding-top:64px}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.hub-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hub-more{margin-top:18px;font-size:12.5px;color:var(--text-dim)}.hub-card{display:flex;flex-direction:column;gap:10px;padding:24px 24px 22px;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg,rgba(47,211,154,.03),rgba(255,255,255,0));color:var(--text);text-decoration:none;position:relative;overflow:hidden;transition:border-color .25s var(--ease-out),transform .25s var(--ease-out),background .25s var(--ease-out)}.hub-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.hub-card:hover .hub-go{transform:translateX(3px);opacity:1}.hub-card-primary{border-color:rgba(95,240,189,.35);background:radial-gradient(120% 140% at 85% 0,rgba(95,240,189,.14),rgba(95,240,189,0) 55%),linear-gradient(180deg,rgba(47,211,154,.03),rgba(255,255,255,0))}.hub-card-primary:hover{border-color:rgba(95,240,189,.6)}.hub-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--accent-hot);background:rgba(95,240,189,.09);border:1px solid rgba(95,240,189,.22)}.hub-card h3{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.hub-card p{color:var(--text-dim);font-size:14.5px;line-height:1.55}.hub-go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;color:var(--accent-hot);font-size:13px;font-family:var(--font-mono);letter-spacing:.04em;opacity:.75;transition:transform .25s var(--ease-out),opacity .25s var(--ease-out)}@media (max-width:960px){.hub-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.hub-grid{grid-template-columns:1fr}}.status-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.status-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;border:1px solid var(--border);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-shipped .status-dot{background:var(--ok,#55d98a);box-shadow:0 0 8px rgba(85,217,138,.6)}.status-now .status-dot{background:var(--accent-hot);box-shadow:0 0 8px var(--glow);animation:status-pulse 2.2s ease-in-out infinite}.status-next .status-dot{background:var(--warn,#f5b93e);box-shadow:0 0 8px rgba(245,185,62,.55)}.status-later .status-dot{background:var(--text-faint,#63786f)}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.status-now .status-dot{animation:none}}.roadmap-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.roadmap-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-dim)}.roadmap-tag .status-dot{width:6px;height:6px}.cooking-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:8px}.cooking-card{padding:24px;border-radius:var(--radius);border:1px solid rgba(245,185,62,.28);background:radial-gradient(120% 140% at 80% 0,rgba(245,185,62,.07),rgba(245,185,62,0) 55%),linear-gradient(180deg,rgba(47,211,154,.03),rgba(255,255,255,0))}.cooking-card h3{font-size:17px;font-weight:700;display:flex;align-items:center;gap:9px}.cooking-card h3 .status-dot{background:var(--warn,#f5b93e);box-shadow:0 0 8px rgba(245,185,62,.55)}.cooking-card p{margin-top:10px;color:var(--text-dim);font-size:14.5px;line-height:1.6}@media (max-width:960px){.cooking-grid{grid-template-columns:1fr}}details.faq summary.faq-q{list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;text-transform:none;letter-spacing:0;font-size:inherit;padding:18px 22px}details.faq summary.faq-q:before,details.faq[open] summary.faq-q:before{content:none}details.faq summary.faq-q::-webkit-details-marker{display:none}details.faq[open] .faq-a{grid-template-rows:1fr}details.faq[open] .faq-x{transform:rotate(45deg)}details.faq[open] .faq-q{color:var(--text)}.footer-dl{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;transition:color var(--dur-ui) ease}.footer-dl:hover{color:var(--accent-hot)}.legacy-dialog{position:fixed;inset:0;margin:auto;height:-moz-fit-content;height:fit-content;border:1px solid var(--border-strong);border-radius:var(--radius,16px);background:var(--panel-2);color:var(--text);padding:0;max-width:560px;width:calc(100% - 40px);box-shadow:0 40px 90px -30px rgba(0,0,0,.75),0 0 0 1px rgba(47,211,154,.08);opacity:0;transform:scale(.96) translateY(6px)}.legacy-dialog[open]{animation:legacy-in .2s var(--ease-out) forwards}.legacy-dialog.is-closing{animation:legacy-out .16s var(--ease-out) forwards}@keyframes legacy-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@keyframes legacy-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.96) translateY(6px)}}.legacy-dialog::-webkit-backdrop{background:rgba(4,10,8,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:legacy-backdrop .2s ease forwards}.legacy-dialog::backdrop{background:rgba(4,10,8,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:legacy-backdrop .2s ease forwards}.legacy-dialog.is-closing::-webkit-backdrop{animation:legacy-backdrop-out .16s ease forwards}.legacy-dialog.is-closing::backdrop{animation:legacy-backdrop-out .16s ease forwards}@keyframes legacy-backdrop{0%{opacity:0}to{opacity:1}}@keyframes legacy-backdrop-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.legacy-dialog::-webkit-backdrop{animation:none;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}.legacy-dialog.is-closing,.legacy-dialog::backdrop,.legacy-dialog[open]{animation:none;transition:opacity .15s ease}.legacy-dialog{transform:none}.legacy-dialog.is-closing{opacity:0}}.legacy-dialog-body{padding:30px 30px 28px}.legacy-dialog-x{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(0,0,0,.15);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:color var(--dur-press) ease,border-color var(--dur-press) ease,transform var(--dur-press) var(--ease-out)}.legacy-dialog-x:hover{color:var(--text);border-color:var(--border-strong)}.legacy-dialog-x:active{transform:scale(.92)}.legacy-dialog-body h3{font-family:var(--font-display),sans-serif;font-size:22px;font-weight:700;margin-top:12px;letter-spacing:-.01em}.legacy-dialog-body>p{margin-top:14px;color:var(--text-dim);font-size:14.5px;line-height:1.65}.legacy-dialog-body>p strong{color:var(--text)}.legacy-dialog-note{padding:12px 14px;border-radius:10px;border:1px solid rgba(245,185,62,.25);background:rgba(245,185,62,.06);color:var(--text-dim);font-size:13.5px;line-height:1.6}.legacy-dialog-note a{color:var(--text)}.legacy-files{margin-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.legacy-file-row{display:flex;align-items:center;gap:14px;padding:9px 14px;font-size:12.5px;color:var(--text-dim)}.legacy-file-row+.legacy-file-row{border-top:1px solid var(--border)}.legacy-file-row .code{min-width:74px;color:var(--accent-hot);text-align:center;padding:2px 8px;border-radius:6px;background:var(--accent-soft);border:1px solid var(--accent-border)}.legacy-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.i-ext{vertical-align:-1px}@media (prefers-reduced-motion:no-preference){.page-in{animation:page-in .26s var(--ease-out) both}}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page-in{animation:page-fade .15s ease both}}@keyframes page-fade{0%{opacity:0}to{opacity:1}}.nav-links a:not(.nav-tool)[aria-current=page]{color:var(--accent-hot)}.nav-links a:not(.nav-tool)[aria-current=page]:after{transform:scaleX(1)}.hub-card:active{transform:translateY(0) scale(.985);transition-duration:.1s}@media (prefers-reduced-motion:no-preference){.js .tool-head .conn-pill,.js .tool-head .eyebrow,.js .tool-head .flash-chip-tag,.js .tool-head .tool-sub,.js .tool-head .tool-title{opacity:0;animation:tool-in .55s var(--ease-out) forwards}.js .tool-head .eyebrow{animation-delay:0s}.js .tool-head .tool-title{animation-delay:70ms}.js .tool-head .tool-sub{animation-delay:.15s}.js .tool-head .conn-pill,.js .tool-head .flash-chip-tag{animation-delay:.24s}}@keyframes tool-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.js .tool-head .conn-pill,.js .tool-head .eyebrow,.js .tool-head .flash-chip-tag,.js .tool-head .tool-sub,.js .tool-head .tool-title{animation:none;opacity:1}}.tool .flash-cache{margin:-18px 0 22px;justify-content:flex-start}.notice-link{background:none;border:none;padding:0;font:inherit;color:var(--text);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;transition:color var(--dur-press) ease}.notice-link:hover{color:var(--accent-hot)}.tool-guide{margin:-6px 0 22px}.tool-guide .faq-body ol{padding-left:18px;display:grid;grid-gap:10px;gap:10px;margin-top:6px}.fx-hype{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px 16px;border:1px dashed rgba(245,185,62,.38);border-radius:12px;background:linear-gradient(90deg,rgba(245,185,62,.07),rgba(245,185,62,.02) 65%)}.fx-hype-tag{flex-shrink:0;display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--warn,#f5b93e);background:rgba(245,185,62,.1);border:1px solid rgba(245,185,62,.35)}.fx-hype p{font-size:13.5px;line-height:1.55;color:var(--text-dim)}.fx-hype p b{color:var(--text)}@media (max-width:640px){.fx-hype{align-items:flex-start}}.u403{min-height:72vh;padding:clamp(130px,16vh,170px) 0 90px}.u403-grid{display:grid;grid-gap:48px;gap:48px;align-items:start}@media (min-width:1024px){.u403-grid{grid-template-columns:minmax(0,1fr) minmax(0,25rem);gap:64px}}.u403-title{margin-top:20px}.u403-dim,.u403-lead{color:var(--text-dim)}.u403-lead{margin-top:16px;max-width:40rem;font-size:16.5px;line-height:1.65}.u403-lead:first-of-type{margin-top:28px}.u403-actions{margin-top:32px;display:flex}.u403-foot{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);max-width:62ch}.u403-foot p{font-family:var(--font-mono),ui-monospace,monospace;font-size:12.5px;line-height:1.7;color:var(--text-dim)}.u403-foot b{color:var(--text)}.u403-panel{overflow:hidden;padding:0}@media (min-width:1024px){.u403-panel{position:-webkit-sticky;position:sticky;top:96px}}.u403-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--panel-2);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim)}.u403-status{display:inline-flex;align-items:center;gap:7px;color:var(--warn)}.u403-panel dl{display:block}.u403-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 16px;padding:9px 16px}.u403-row+.u403-row{border-top:1px solid var(--border)}.u403-row dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint)}.u403-row dd{min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:right;font-size:12px;line-height:1.5;color:var(--text)}.u403-panel-note{padding:13px 16px;border-top:1px solid var(--border);font-size:11.5px;line-height:1.65;color:var(--text-dim)}.consent{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;max-width:calc(100vw - 24px);display:flex;align-items:center;gap:14px;padding:9px 10px 9px 16px;border-radius:999px;border:1px solid var(--border);background:rgba(16,24,21,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px -18px rgba(0,0,0,.7),0 0 0 1px rgba(56,243,180,.05);animation:consent-in .5s var(--ease-out) .5s backwards}@keyframes consent-in{0%{opacity:0;transform:translateX(-50%) translateY(14px)}}@media (prefers-reduced-motion:reduce){.consent{animation:none}}.consent-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--glow)}.consent-copy{font-size:12.5px;line-height:1.4;color:var(--text-dim);white-space:nowrap}.consent-copy a{color:var(--text-faint);text-decoration:underline;text-underline-offset:3px;transition:color var(--dur-press) ease}.consent-copy a:hover{color:var(--accent)}.consent-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.consent-no,.consent-yes{height:32px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background var(--dur-press) ease,color var(--dur-press) ease,border-color var(--dur-press) ease}.consent-yes{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-hot)}.consent-yes:hover{background:var(--accent);border-color:var(--accent);color:#072019}.consent-no{border:1px solid transparent;background:transparent;color:var(--text-faint)}.consent-no:hover{color:var(--text-dim)}@media (max-width:640px){.consent{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border-radius:18px;text-align:center}.consent-dot{display:none}.consent-copy{white-space:normal}.consent-actions{justify-content:center;gap:8px}}