/* finesse · register=product · A=three-theme-role-system · B=serif-or-sans/sans-body · C=full-feature-map
 * D=CSS-motion+WAAPI-feedback · E=light-field-instrument · SOUL=7 SPECTACLE=4 DENSITY=8
 * Additive preview layer: no production DOM/JS removed. */

:root{
  --fx-radius-lg:24px;
  --fx-radius-md:16px;
  --fx-ease:cubic-bezier(.2,.75,.25,1);
  --fx-focus:0 0 0 3px color-mix(in srgb,var(--fx-accent) 24%,transparent);
}
html{overflow-x:clip;scroll-behavior:smooth}
body{overflow-x:clip;isolation:isolate}
body::before,body::after{z-index:-2!important}
body::before{animation:fxFieldDrift 20s var(--fx-ease) infinite alternate!important}
body::after{animation:fxCausticDrift 13s ease-in-out infinite alternate!important}
@keyframes fxFieldDrift{0%{transform:translate3d(-4%,-3%,0) scale(1.03) rotate(-1deg)}55%{transform:translate3d(5%,2%,0) scale(1.1) rotate(.7deg)}100%{transform:translate3d(-1%,6%,0) scale(1.05) rotate(1.4deg)}}
@keyframes fxCausticDrift{0%{background-position:0 0,100% 0,40% 100%,-20% -10%!important}100%{background-position:120px -70px,-130px 90px,-80px 40px,90% 70%!important}}

/* ── Preview chrome: clearly outside production UX ── */
.fx-preview-switcher{position:fixed;left:50%;bottom:14px;z-index:20050;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid color-mix(in srgb,var(--fx-ink) 16%,transparent);border-radius:16px;background:color-mix(in srgb,var(--fx-paper) 90%,transparent);box-shadow:0 18px 55px color-mix(in srgb,var(--fx-ink) 18%,transparent);backdrop-filter:blur(22px) saturate(1.25);transform:translateX(-50%)}
.fx-preview-switcher>span{padding:0 9px;color:var(--fx-muted);font-size:10px;letter-spacing:.12em;white-space:nowrap}
.fx-preview-switcher a{min-height:42px;display:inline-flex;align-items:center;padding:0 12px;border-radius:11px;color:var(--fx-muted);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}
.fx-preview-switcher a:hover,.fx-preview-switcher a.active{background:var(--fx-ink);color:var(--fx-paper)}

/* ── Global product substrate: keep every component, improve hierarchy ── */
.topbar{border-bottom:1px solid var(--fx-line)!important;background:color-mix(in srgb,var(--fx-paper) 82%,transparent)!important;box-shadow:0 8px 32px color-mix(in srgb,var(--fx-shadow) 12%,transparent)!important}
.topbar-inner{max-width:1480px!important;min-height:68px!important}
.topbar-logo span{-webkit-text-fill-color:var(--fx-ink)!important;background:none!important;color:var(--fx-ink)!important;letter-spacing:-.025em}
.topbar-nav{gap:6px!important}
.topbar-nav>.btn{background:transparent!important;border-color:transparent!important;color:var(--fx-muted)!important}
.topbar-nav>.btn.active,.topbar-nav>.btn:hover{background:var(--fx-soft)!important;border-color:var(--fx-line)!important;color:var(--fx-ink)!important;box-shadow:none!important}
.nav-chat-btn,.nav-contact-btn,.nav-notice-btn{background:transparent!important;border:1px solid var(--fx-line-strong)!important;color:var(--fx-ink)!important;box-shadow:none!important;animation:none!important}
.nav-chat-btn:hover,.nav-contact-btn:hover,.nav-contact-btn.active,.nav-notice-btn:hover{background:var(--fx-soft)!important;color:var(--fx-accent)!important;box-shadow:0 8px 22px color-mix(in srgb,var(--fx-shadow) 12%,transparent)!important}
.nav-buy-btn{min-height:48px!important;border-color:color-mix(in srgb,var(--fx-buy) 65%,transparent)!important;background:linear-gradient(135deg,var(--fx-buy-light),var(--fx-buy))!important;color:var(--fx-buy-ink)!important;box-shadow:0 12px 30px color-mix(in srgb,var(--fx-buy) 31%,transparent),inset 0 1px 0 rgba(255,255,255,.45)!important;transform:translateZ(0)}
.nav-buy-btn:hover{transform:translateY(-2px) scale(1.015)!important;box-shadow:0 18px 38px color-mix(in srgb,var(--fx-buy) 42%,transparent),inset 0 1px 0 rgba(255,255,255,.5)!important}
.nav-buy-btn .nb-tag{background:color-mix(in srgb,var(--fx-buy-ink) 14%,transparent)!important;color:var(--fx-buy-ink)!important}
.topbar-slogan{background:var(--fx-soft)!important;border:1px solid var(--fx-line)!important;color:var(--fx-ink)!important;box-shadow:none!important;animation:none!important}

.main{max-width:1480px!important;padding-top:26px!important}
.hero{min-height:620px!important;margin-bottom:28px!important;padding:64px 20px 110px!important;border:1px solid var(--fx-line)!important;border-radius:30px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--fx-paper) 84%,transparent),color-mix(in srgb,var(--fx-soft) 72%,transparent))!important;box-shadow:0 30px 90px -46px color-mix(in srgb,var(--fx-shadow) 56%,transparent),inset 0 1px 0 rgba(255,255,255,.55)!important;backdrop-filter:blur(18px) saturate(1.15);overflow:hidden!important}
.hero::before{content:"";position:absolute;inset:-45%;z-index:0;pointer-events:none;background:conic-gradient(from 20deg at 50% 50%,transparent 0 23%,color-mix(in srgb,var(--fx-accent) 16%,transparent) 29%,transparent 36% 60%,color-mix(in srgb,var(--fx-buy) 13%,transparent) 67%,transparent 74%);filter:blur(10px);animation:fxHeroSweep 17s linear infinite}
@keyframes fxHeroSweep{to{transform:rotate(360deg)}}
.hero-left{max-width:970px;margin:auto!important}.hero h1{margin-top:4px!important;color:var(--fx-ink)!important;background:linear-gradient(110deg,var(--fx-ink) 5%,var(--fx-accent) 46%,var(--fx-ink) 84%)!important;background-size:240% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:fxTitleGlint 8s ease-in-out infinite!important;letter-spacing:-.055em!important}
@keyframes fxTitleGlint{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero-left>p{max-width:660px;margin-left:auto!important;margin-right:auto!important;color:var(--fx-muted)!important;font-size:16px!important;line-height:1.8!important}
.hero-typewriter,.hero-typewriter #typewriterText{color:var(--fx-accent)!important;background:none!important;-webkit-text-fill-color:var(--fx-accent)!important}
.hero-badges .badge{border-color:var(--fx-line)!important;background:var(--fx-paper-72)!important;color:var(--fx-muted)!important}
.hero-highlights{max-width:900px!important;margin-bottom:30px!important}.highlight-item{border:1px solid var(--fx-line)!important;border-radius:16px!important;background:var(--fx-paper-72)!important;box-shadow:0 12px 30px -24px var(--fx-shadow)!important}.highlight-item:hover{border-color:var(--fx-accent)!important;background:var(--fx-paper)!important;transform:translateY(-4px)!important}.highlight-icon{background:var(--fx-soft)!important;border-color:var(--fx-line)!important}.highlight-icon svg{color:var(--fx-accent)!important}.highlight-text strong{color:var(--fx-ink)!important}

/* Purchase advantage: injected with JS, business data remains untouched */
.fx-value-stage{position:relative;z-index:3;max-width:900px;margin:18px auto 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy points" "buy buy";column-gap:22px;row-gap:16px;align-items:center;padding:20px 22px;border:1px solid var(--fx-buy-line);border-radius:18px;background:linear-gradient(120deg,var(--fx-buy-soft),color-mix(in srgb,var(--fx-paper) 88%,transparent));box-shadow:0 18px 48px -32px var(--fx-buy)}
.fx-value-copy{grid-area:copy;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;text-align:left}.fx-value-price{font:800 42px/.95 Georgia,"Noto Serif SC",serif;color:var(--fx-buy-ink);letter-spacing:-.05em}.fx-value-price small{font:700 14px/1 sans-serif}.fx-value-copy strong{display:block;color:var(--fx-ink);font-size:15px}.fx-value-copy span{display:block;margin-top:4px;color:var(--fx-muted);font-size:11px}.fx-value-points{grid-area:points;display:flex;gap:18px;padding-left:20px;border-left:1px solid var(--fx-buy-line)}.fx-value-points div{display:grid;text-align:left}.fx-value-points b{color:var(--fx-buy-ink);font-size:20px}.fx-value-points small{margin-top:3px;color:var(--fx-muted);font-size:10px}.fx-value-buy{grid-area:buy;position:relative;isolation:isolate;width:100%;min-height:58px;padding:0 24px;border:1px solid var(--fx-buy-line);border-radius:14px;background:linear-gradient(180deg,var(--fx-buy-light),var(--fx-buy));color:var(--fx-buy-ink);font-family:inherit;font-size:15px;line-height:1;font-weight:800;letter-spacing:.03em;cursor:pointer;overflow:hidden;box-shadow:0 3px 0 color-mix(in srgb,var(--fx-buy-ink) 58%,transparent),0 14px 30px color-mix(in srgb,var(--fx-buy) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.62);transform:translateY(0);transition:transform .18s var(--fx-ease),box-shadow .18s var(--fx-ease),filter .18s var(--fx-ease),border-color .18s}.fx-value-buy::before{content:"";position:absolute;inset:1px 2px auto;height:46%;z-index:-1;border-radius:12px 12px 45% 45%;background:linear-gradient(180deg,rgba(255,255,255,.34),transparent);pointer-events:none}.fx-value-buy:hover,.fx-value-buy:focus-visible{border-color:color-mix(in srgb,var(--fx-buy-light) 82%,white);filter:brightness(1.06) saturate(1.04);box-shadow:0 5px 0 color-mix(in srgb,var(--fx-buy-ink) 62%,transparent),0 20px 38px color-mix(in srgb,var(--fx-buy) 36%,transparent),inset 0 1px 0 rgba(255,255,255,.72);transform:translateY(-3px)}.fx-value-buy:active{filter:brightness(.96);box-shadow:0 1px 0 color-mix(in srgb,var(--fx-buy-ink) 66%,transparent),0 8px 18px color-mix(in srgb,var(--fx-buy) 24%,transparent),inset 0 2px 5px color-mix(in srgb,var(--fx-buy-ink) 20%,transparent);transform:translateY(2px)}.fx-value-buy:focus-visible{outline:3px solid color-mix(in srgb,var(--fx-buy-light) 40%,transparent);outline-offset:4px}

.quick-guide{max-width:940px!important;margin-left:auto!important;margin-right:auto!important;padding:20px!important;border:1px solid var(--fx-line)!important;border-radius:20px!important;background:var(--fx-paper-72)!important;box-shadow:0 20px 50px -38px var(--fx-shadow)!important}.guide-header h3{color:var(--fx-ink)!important}.guide-step{background:transparent!important;border-color:var(--fx-line)!important}.guide-step-num{background:var(--fx-accent)!important;color:var(--fx-on-accent)!important}.guide-step-btn{color:var(--fx-accent)!important}.guide-step-done{color:var(--fx-positive)!important}

.info-section,.form-container,.result-box,.models-preview,.contact-details,.contact-qr,.modal-content,.faq-panel,.stat-card,.client-card{border-color:var(--fx-line)!important;background:linear-gradient(180deg,var(--fx-paper-82),var(--fx-paper-64))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 25px 60px -48px var(--fx-shadow)!important;backdrop-filter:blur(18px) saturate(1.15)!important}
.info-section{border-radius:24px!important;padding:clamp(20px,3vw,34px)!important;margin-top:24px!important}.info-section>h3{color:var(--fx-ink)!important;font-size:20px!important}.client-card{border-radius:18px!important}.client-card:hover{transform:translateY(-4px)!important;border-color:var(--fx-accent)!important}.client-tags .tag{background:var(--fx-soft)!important;border-color:var(--fx-line)!important;color:var(--fx-muted)!important}

/* Model market / billing: retain table, improve comparison */
#billing-section{position:relative;overflow:hidden!important}
#billing-section::before{content:"MODEL MARKET";display:block;margin-bottom:10px;color:var(--fx-accent);font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.18em}
#billing-section>h3{padding-bottom:16px!important;border-bottom:1px solid var(--fx-line)!important}
#billing-content>div{border-color:var(--fx-line)!important;background:var(--fx-paper-72)!important;border-radius:16px!important}
#billing-content table{font-variant-numeric:tabular-nums}
#billing-content thead tr{background:var(--fx-soft)!important}
#pricing-tableBody tr{transition:background .16s,transform .16s}
#pricing-tableBody tr:hover{background:color-mix(in srgb,var(--fx-accent) 7%,var(--fx-paper))!important;transform:translateX(2px)}
#pricing-tableBody td{border-color:var(--fx-line)!important}
#calc-costCredits{color:var(--fx-accent)!important;font-size:38px!important;letter-spacing:-.04em}
#calc-breakdown{background:var(--fx-soft)!important;border:1px solid var(--fx-line)!important;color:var(--fx-muted)!important}
.form-input,select,textarea,.faq-panel-header input{border-color:var(--fx-line-strong)!important;background:var(--fx-paper)!important;color:var(--fx-ink)!important;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--fx-shadow) 8%,transparent)!important}.form-input:focus,select:focus,textarea:focus,.faq-panel-header input:focus{border-color:var(--fx-accent)!important;box-shadow:var(--fx-focus)!important}

/* All original pages and modals */
.page-section:not(#page-home){max-width:1040px;margin:auto}.form-header h2,.contact-heading h2,.modal-content h2,.result-box h2{color:var(--fx-ink)!important}.btn-primary,.btn-success{background:var(--fx-accent)!important;border-color:var(--fx-accent)!important;color:var(--fx-on-accent)!important}.btn-warning{background:var(--fx-buy)!important;border-color:var(--fx-buy)!important;color:var(--fx-buy-ink)!important}.btn-outline{border-color:var(--fx-line-strong)!important;background:transparent!important;color:var(--fx-ink)!important}.btn:hover{box-shadow:0 10px 28px color-mix(in srgb,var(--fx-shadow) 14%,transparent)!important}.modal-overlay{background:color-mix(in srgb,var(--fx-ink) 43%,transparent)!important}.modal-content{border-radius:24px!important}.contact-open-btn{background:var(--fx-accent)!important;color:var(--fx-on-accent)!important}.contact-copy-btn{border-color:var(--fx-line-strong)!important;background:var(--fx-soft)!important;color:var(--fx-accent)!important}
.loading-overlay{background:color-mix(in srgb,var(--fx-paper) 82%,transparent)!important;backdrop-filter:blur(10px)!important}.loading-spinner{border-color:var(--fx-line)!important;border-top-color:var(--fx-accent)!important}
#faq-fab{background:var(--fx-accent)!important;color:var(--fx-on-accent)!important;box-shadow:0 14px 38px color-mix(in srgb,var(--fx-accent) 32%,transparent)!important}.faq-panel{border-radius:22px!important}

/* Reveal: interaction on scroll, terminal state is default when JS is absent */
.fx-ready .info-section,.fx-ready .hero-highlights,.fx-ready .quick-guide{opacity:0;transform:translateY(22px);transition:opacity .65s var(--fx-ease),transform .65s var(--fx-ease)}
.fx-ready .fx-inview{opacity:1;transform:none}
.fx-pointer-glow{position:fixed;left:0;top:0;z-index:-1;width:360px;height:360px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--fx-accent) 16%,transparent),transparent 68%);filter:blur(8px);transform:translate3d(calc(var(--fx-x,50vw) - 180px),calc(var(--fx-y,30vh) - 180px),0);transition:transform .14s linear}

@media(max-width:1120px){.fx-value-stage{grid-template-columns:1fr;grid-template-areas:"copy" "points" "buy"}.fx-value-points{padding:0;border:0}.fx-value-buy{width:100%}}
@media(max-width:768px){.main{padding:16px 12px 86px!important}.hero{min-height:auto!important;padding:42px 14px 64px!important;border-radius:22px!important}.hero::before{inset:-20%}.fx-value-stage{margin:16px auto 24px;padding:16px}.fx-value-copy{grid-template-columns:1fr}.fx-value-points{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fx-value-price{font-size:36px}.hero-highlights{grid-template-columns:1fr!important}.info-section{padding:18px!important;border-radius:18px!important}.topbar{padding-left:10px!important;padding-right:10px!important}.fx-preview-switcher{width:calc(100% - 20px);justify-content:center;bottom:8px}.fx-preview-switcher>span{display:none}.fx-preview-switcher a{flex:1;justify-content:center;padding:0 8px;font-size:10px}.nav-buy-btn{min-height:44px!important}.topbar-nav{width:100%;justify-content:center}.model-box-word{display:none}.quick-guide{padding:14px!important}}
@media(max-width:380px){.fx-value-points{grid-template-columns:1fr}.fx-value-stage{padding:14px}.fx-preview-switcher a{font-size:9px}.topbar-logo span{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body::before,body::after,.hero::before,.hero h1{animation:none!important}.fx-ready .info-section,.fx-ready .hero-highlights,.fx-ready .quick-guide{opacity:1;transform:none;transition:none}.fx-pointer-glow{display:none}.nav-buy-btn:hover,.fx-value-buy:hover,.highlight-item:hover,.client-card:hover,#pricing-tableBody tr:hover{transform:none!important}}

/* Mobile ergonomics: additive only; preserve every original control and action. */
@media(max-width:768px){
  .topbar-slogan,.topbar-nav>.btn,.nav-chat-btn,.nav-contact-btn,.nav-notice-btn,.nav-buy-btn,.guide-step-btn{min-height:44px!important}
  .topbar-slogan,.topbar-nav>.btn,.nav-chat-btn,.nav-contact-btn,.nav-notice-btn,.nav-buy-btn{display:inline-flex!important;align-items:center!important}
  .guide-step-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:8px 14px!important}
  #billing-content div[style*="grid-template-columns: 1fr 1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  #calc-model,#calc-prompt,#calc-cached,#calc-completion{min-height:44px!important;width:100%!important}
  .faq-panel-close,.notice-popup-close,.notice-close,.np-close{min-width:44px!important;min-height:44px!important;align-items:center!important;justify-content:center!important}
  button[aria-label="关闭"],button[aria-label="关闭公告"]{min-width:44px!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  #query-logsRefreshBtn,#query-logsPrevBtn,#query-logsNextBtn{min-height:44px!important}
}

/* ── Full function map: every original feature remains discoverable ── */
.fx-scroll-progress{position:fixed;inset:0 0 auto;z-index:30000;height:3px;pointer-events:none;background:color-mix(in srgb,var(--fx-paper) 76%,transparent)}
.fx-scroll-progress span{display:block;width:var(--fx-scroll,0%);height:100%;background:linear-gradient(90deg,var(--fx-accent),var(--fx-buy));box-shadow:0 0 16px color-mix(in srgb,var(--fx-accent) 55%,transparent);transition:width .1s linear}
.hero-left{transform:perspective(1500px) rotateX(var(--fx-tilt-y,0deg)) rotateY(var(--fx-tilt-x,0deg));transform-origin:50% 34%;transition:transform .28s var(--fx-ease)}
.fx-function-map{position:relative;z-index:4;max-width:1050px;margin:0 auto 30px;padding:20px;border:1px solid var(--fx-line);border-radius:20px;background:linear-gradient(145deg,var(--fx-paper-82),var(--fx-paper-64));box-shadow:0 22px 58px -42px var(--fx-shadow);overflow:hidden;text-align:left;isolation:isolate}
.fx-function-map::before{content:"";position:absolute;inset:-80% -30%;z-index:-1;pointer-events:none;background:conic-gradient(from 180deg,transparent 0 35%,color-mix(in srgb,var(--fx-accent) 12%,transparent) 43%,transparent 51% 70%,color-mix(in srgb,var(--fx-buy) 12%,transparent) 78%,transparent 86%);animation:fxFunctionOrbit 18s linear infinite}
@keyframes fxFunctionOrbit{to{transform:rotate(360deg)}}
.fx-function-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 2px 18px;border-bottom:1px solid var(--fx-line)}
.fx-function-head>div>span{display:block;margin-bottom:7px;color:var(--fx-accent);font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.18em}
.fx-function-head strong{display:block;color:var(--fx-ink);font-size:21px;letter-spacing:-.03em}
.fx-function-head p{margin:6px 0 0;color:var(--fx-muted);font-size:12px;line-height:1.65}
.fx-function-head>b{flex:none;color:var(--fx-buy-ink);font:800 28px/1 Georgia,"Noto Serif SC",serif;letter-spacing:-.05em}
.fx-function-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:14px}
.fx-function-card{position:relative;min-width:0;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--fx-line);border-radius:13px;background:color-mix(in srgb,var(--fx-paper) 72%,transparent);color:var(--fx-ink);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:transform .22s var(--fx-ease),border-color .22s,background .22s,box-shadow .22s}
.fx-function-card::before{content:"";position:absolute;inset:-2px;pointer-events:none;background:linear-gradient(110deg,transparent 22%,color-mix(in srgb,var(--fx-accent) 12%,transparent) 45%,transparent 68%);transform:translateX(-120%);transition:transform .55s var(--fx-ease)}
.fx-function-card:hover::before,.fx-function-card:focus-visible::before{transform:translateX(120%)}
.fx-function-card:hover,.fx-function-card:focus-visible{z-index:2;border-color:var(--fx-accent);background:var(--fx-paper);box-shadow:0 14px 32px -24px var(--fx-shadow);transform:translateY(-3px)}
.fx-function-card:focus-visible{outline:3px solid color-mix(in srgb,var(--fx-accent) 26%,transparent);outline-offset:2px}
.fx-function-card>i{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--fx-line);border-radius:9px;background:var(--fx-soft);color:var(--fx-accent);font:800 9px/1 ui-monospace,Consolas,monospace;font-style:normal}
.fx-function-card>span{min-width:0}.fx-function-card strong,.fx-function-card small{display:block}.fx-function-card strong{color:var(--fx-ink);font-size:13px}.fx-function-card small{margin-top:4px;color:var(--fx-muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.fx-function-card>em{color:var(--fx-muted);font-size:14px;font-style:normal;transition:transform .22s,color .22s}.fx-function-card:hover>em,.fx-function-card:focus-visible>em{color:var(--fx-accent);transform:translate(2px,-2px)}
.fx-function-card.fx-triggered{animation:fxActionConfirm .62s var(--fx-ease)}
@keyframes fxActionConfirm{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--fx-positive) 0%,transparent)}45%{box-shadow:0 0 0 5px color-mix(in srgb,var(--fx-positive) 24%,transparent)}}
.fx-function-live{min-height:18px;margin-top:11px;color:var(--fx-muted);font-size:10px;text-align:right}
.fx-reactive{isolation:isolate;overflow:hidden}.fx-reactive::after{content:"";position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:radial-gradient(180px circle at var(--fx-local-x,50%) var(--fx-local-y,50%),color-mix(in srgb,var(--fx-accent) 13%,transparent),transparent 72%)!important;opacity:0;transition:opacity .22s!important}.fx-reactive:hover::after{opacity:1}
.info-section{position:relative;isolation:isolate}.info-section::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,transparent 20%,color-mix(in srgb,var(--fx-accent) 8%,transparent) 48%,transparent 74%);background-size:220% 100%;background-position:120% 0;opacity:0;transition:opacity .4s,background-position 1.2s var(--fx-ease)}
.info-section.fx-inview::after,.info-section:hover::after{opacity:1;background-position:-80% 0}
.fx-ready .fx-function-map{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .7s var(--fx-ease),transform .7s var(--fx-ease)}
.fx-ready .fx-function-map.fx-inview{opacity:1;transform:none}

@media(max-width:980px){.fx-function-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.hero-left{transform:none}.fx-function-map{margin:0 auto 24px;padding:14px;border-radius:16px}.fx-function-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fx-function-head{align-items:flex-start}.fx-function-head>b{font-size:22px}.fx-function-card{min-height:82px;padding:10px}.fx-function-live{text-align:left}.fx-reactive::after{display:none}}
@media(max-width:390px){.fx-function-grid{grid-template-columns:1fr}.fx-function-card{min-height:68px}}
@media(prefers-reduced-motion:reduce){.fx-scroll-progress span{transition:none}.hero-left{transform:none;transition:none}.fx-function-map::before,.fx-function-card.fx-triggered{animation:none!important}.fx-function-card,.fx-function-card::before,.fx-function-card>em,.info-section::after{transition:none!important}.fx-function-card:hover,.fx-function-card:focus-visible{transform:none}.fx-ready .fx-function-map{opacity:1;transform:none;transition:none}}