@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2)format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-latin-800-normal.BYj_oED-.woff2)format("woff2"),url(/_astro/inter-latin-800-normal.D1mf63XC.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff")}:root{--brand-50:#eef3ff;--brand-100:#d9e4ff;--brand-200:#b3c9ff;--brand-300:#85a6ff;--brand-400:#5781f7;--brand-500:#3361ea;--brand-600:#244bc9;--brand-700:#1d3ca1;--brand-800:#1b357f;--brand-900:#192e66;--ink-50:#f7f8fa;--ink-100:#eef0f4;--ink-200:#dfe3ea;--ink-300:#c5ccd8;--ink-400:#9aa4b6;--ink-500:#6b7689;--ink-600:#4d5667;--ink-700:#3a414f;--ink-800:#242a35;--ink-900:#161a22;--success-50:#ecfdf3;--success-500:#16a34a;--accent-50:#ecfeff;--accent-300:#67e8f9;--accent-400:#22d3ee;--accent-500:#06b6d4;--accent-600:#0891b2;--accent:var(--accent-400);--bg:#fff;--bg-soft:var(--ink-50);--text:var(--ink-900);--text-soft:var(--ink-500);--border:var(--ink-200);--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--maxw:1100px;--radius:14px;--shadow:0 1px 2px #161a220f, 0 12px 32px -12px #161a222e}*{box-sizing:border-box}html{scroll-behavior:smooth}:where(section,main)[id]{scroll-margin-top:80px}.skip-link{z-index:20;background:var(--brand-600);color:#fff;border-radius:8px;padding:10px 16px;font-weight:600;transition:top .15s;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{letter-spacing:-.02em;margin:0;line-height:1.15}a{color:inherit;text-decoration:none}p{margin:0}code,.mono{font-family:var(--font-mono)}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{padding:88px 0}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-600);font-size:13px;font-weight:600}.section-title{margin-top:10px;font-size:clamp(28px,4vw,40px);font-weight:700}.section-lede{color:var(--text-soft);max-width:620px;margin-top:14px;font-size:18px}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:13px 22px;font-size:16px;font-weight:600;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand-500);color:#fff}.btn-primary:hover{background:var(--brand-600)}.btn:focus-visible{outline:2px solid var(--accent-400);outline-offset:2px}.btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.btn-ghost:hover{border-color:var(--ink-400)}.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.site-header{z-index:10;backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--border);background:#ffffffd1;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:64px;display:flex}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a:not(.btn){color:var(--text-soft);font-size:15px;font-weight:500}.nav-links a:not(.btn):hover{color:var(--text)}.nav-links a:not(.btn).active{color:var(--text);font-weight:600}.site-header{transition:box-shadow .2s,background .2s}.site-header.scrolled{background:#ffffffeb;box-shadow:0 10px 30px -20px #161a228c}.theme-toggle{border:1px solid var(--border);width:38px;height:38px;color:var(--text-soft);cursor:pointer;background:0 0;border-radius:9px;place-items:center;transition:color .15s,border-color .15s;display:inline-grid}.theme-toggle:hover{color:var(--text);border-color:var(--ink-400)}.theme-toggle .ico-sun,.theme-toggle .ico-moon{place-items:center;display:inline-grid}.theme-toggle .ico-sun,[data-theme=dark] .theme-toggle .ico-moon{display:none}[data-theme=dark] .theme-toggle .ico-sun{display:inline-grid}@media (width<=720px){.nav-links .nav-hide{display:none}}.hero{background:radial-gradient(760px 380px at 80% -6%, #22d3ee29, transparent 62%), radial-gradient(1200px 500px at 50% -10%, var(--brand-50), transparent 70%), var(--bg);padding:96px 0 72px;position:relative;overflow:hidden}.hero h1{text-align:center;max-width:16ch;margin-inline:auto;font-size:clamp(38px,6vw,64px);font-weight:800}.hero .accent{color:var(--brand-600)}@supports (background-clip:text){.hero .accent{background:linear-gradient(90deg, var(--brand-500), var(--accent-500));-webkit-text-fill-color:transparent;background-clip:text}}.hero-lede{text-align:center;color:var(--text-soft);max-width:60ch;margin:22px auto 0;font-size:20px}.hero-cta{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px;display:flex}.trust{flex-wrap:wrap;justify-content:center;gap:10px 12px;margin-top:44px;display:flex}.chip{font-family:var(--font-mono);color:var(--ink-700);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;padding:6px 13px;font-size:13px}.grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;display:grid}@media (width<=860px){.grid{grid-template-columns:1fr}}.grid.cols-2{grid-template-columns:1fr 1fr}@media (width<=860px){.grid.cols-2{grid-template-columns:1fr}}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:24px;transition:transform .12s,border-color .15s,box-shadow .15s}.card:hover{border-color:var(--accent-300);box-shadow:var(--shadow)}.card.accent-border{border-color:var(--accent-400)}@media (prefers-reduced-motion:no-preference){.js-anim .reveal{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 60ms);will-change:opacity, transform;transform:translateY(20px)}.js-anim .reveal.is-visible{opacity:1;transform:none}}.spotlight{position:relative;overflow:hidden}.spotlight>*{z-index:1;position:relative}.spotlight:before{content:"";z-index:0;border-radius:inherit;background:radial-gradient(240px circle at var(--mx,50%) var(--my,-10%), #22d3ee2e, transparent 62%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.spotlight:hover:before{opacity:1}.card h3{font-size:18px;font-weight:650}.card p{color:var(--text-soft);margin-top:8px;font-size:15px}.card .ic{background:linear-gradient(135deg, var(--brand-50), var(--accent-50));border:1px solid var(--accent-300);width:38px;height:38px;color:var(--brand-600);border-radius:9px;place-items:center;margin-bottom:14px;font-size:18px;display:grid}.bg-soft{background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.fsd{flex-direction:column;gap:10px;margin-top:36px;display:flex}.fsd-row{border:1px solid var(--border);background:var(--bg);border-radius:12px;align-items:center;gap:16px;padding:14px 18px;display:flex}.fsd-row .layer{font-family:var(--font-mono);color:var(--brand-600);min-width:96px;font-weight:600}.fsd-row .desc{color:var(--text-soft);font-size:15px}.fsd-arrow{text-align:center;color:var(--ink-300);letter-spacing:.1em;font-size:13px}.prices{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;display:grid}@media (width<=860px){.prices{grid-template-columns:1fr}}.price{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;padding:28px;display:flex}.price.feature{border-color:var(--accent-400);box-shadow:0 1px 2px #161a220f,0 18px 44px -18px #06b6d466}.price.feature .badge{background:var(--accent-50);color:var(--accent-600)}.price .tier{font-size:17px;font-weight:650}.price .amount{margin:10px 0 4px;font-size:40px;font-weight:800}.price .amount span{color:var(--text-soft);font-size:15px;font-weight:500}.price ul{color:var(--ink-700);flex-direction:column;gap:10px;margin:18px 0 24px;padding:0;font-size:15px;list-style:none;display:flex}.price li:before{content:"✓";color:var(--success-500);margin-right:9px;font-weight:700}.price .btn{justify-content:center;margin-top:auto}.badge{color:var(--brand-700);background:var(--brand-50);border-radius:999px;align-self:flex-start;margin-bottom:10px;padding:4px 10px;font-size:12px;font-weight:600}.compare-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:36px;overflow-x:auto}.compare{border-collapse:collapse;width:100%;min-width:560px}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--border);padding:15px 20px;font-size:15px}.compare tr:last-child th,.compare tr:last-child td{border-bottom:none}.compare thead th{background:var(--bg-soft);font-size:14px;font-weight:650}.compare thead .col-cliore{color:var(--brand-600)}.compare tbody th{width:34%;font-weight:600}.compare .col-diy{color:var(--text-soft)}.compare .col-cliore{color:var(--text);background:linear-gradient(90deg, var(--accent-50), transparent);font-weight:600}.quote{flex-direction:column;gap:16px;display:flex}.quote blockquote{color:var(--text);margin:0;font-size:16px}.quote figcaption{flex-direction:column;font-size:14px;display:flex}.quote figcaption span{color:var(--text-soft)}.faq{flex-direction:column;gap:12px;margin-top:36px;display:flex}.faq details{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:6px 18px}.faq summary{cursor:pointer;padding:14px 0;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:var(--brand-500);font-weight:700}.faq details[open] summary:after{content:"–"}.faq p{color:var(--text-soft);padding:0 0 16px}.cta{text-align:center;background:linear-gradient(180deg, var(--brand-600), var(--brand-700));color:#fff;border-radius:20px;padding:56px 24px}.cta h2{font-size:clamp(26px,4vw,38px);font-weight:750}.cta p{max-width:54ch;color:var(--brand-100);margin:14px auto 0;font-size:18px}.cta .btn-primary{color:var(--brand-700);background:#fff;margin-top:28px}.cta .btn-primary:hover{background:var(--brand-50)}.site-footer{border-top:1px solid var(--border);color:var(--text-soft);padding:40px 0;font-size:14px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-row a:hover{color:var(--text)}[data-theme=dark]{--bg:#0b0f17;--bg-soft:#121826;--text:#e7ecf3;--text-soft:#9aa7bd;--border:#232c3a;--ink-100:#1b2430;--ink-300:#3a4658;--ink-400:#5a677d;--ink-700:#c5ccd8;--shadow:0 1px 2px #00000080, 0 16px 40px -16px #000000a6}[data-theme=dark] .site-header{background:#0b0f17cc}[data-theme=dark] .site-header.scrolled{background:#0b0f17eb;box-shadow:0 12px 34px -22px #000c}[data-theme=dark] .hero{background:radial-gradient(760px 380px at 80% -6%, #22d3ee1f, transparent 62%), radial-gradient(1200px 520px at 50% -12%, #3361ea2e, transparent 70%), var(--bg)}[data-theme=dark] .eyebrow,[data-theme=dark] .fsd-row .layer{color:var(--brand-300)}[data-theme=dark] .stack-card .name span{color:var(--accent-300)}[data-theme=dark] .card .ic{background:linear-gradient(135deg,#3361ea38,#22d3ee29);border-color:#22d3ee47}[data-theme=dark] .badge{color:var(--accent-300);background:#3361ea33}[data-theme=dark] .price.feature .badge{color:var(--accent-300);background:#22d3ee29}[data-theme=dark] .compare .col-cliore{background:linear-gradient(90deg,#22d3ee1f,#0000)}.btn-sm{padding:8px 16px;font-size:15px}.btn:disabled{opacity:.55;cursor:not-allowed}.price-note{color:var(--text-soft);margin:0;font-size:14px}.price{transition:transform .12s,box-shadow .15s}.price:hover{transform:translateY(-3px)}.guarantee{text-align:center;color:var(--text-soft);margin-top:22px;font-size:14px}.guarantee strong{color:var(--text);font-weight:600}.frame{margin:0}.frame-win{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.frame-bar{background:var(--bg-soft);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 14px;display:flex}.frame-dots{gap:6px;display:inline-flex}.frame-dots i{background:var(--ink-300);border-radius:50%;width:11px;height:11px}.frame-dots i:first-child{background:#ff5f57}.frame-dots i:nth-child(2){background:#febc2e}.frame-dots i:nth-child(3){background:#28c840}.frame-url{font-family:var(--font-mono);color:var(--text-soft);background:var(--bg);border:1px solid var(--border);border-radius:7px;flex:1;padding:4px 12px;font-size:12px}.frame-body{background:var(--bg);width:100%;position:relative;overflow:hidden}.frame-body img{object-fit:cover;width:100%;height:100%;display:block}.frame figcaption{text-align:center;color:var(--text-soft);margin-top:12px;font-size:14px}.frame-ph{background:linear-gradient(160deg, var(--brand-50), var(--bg) 58%);flex-direction:column;gap:14px;padding:18px;display:flex;position:absolute;inset:0}.ph-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-600);background:var(--accent-50);border:1px solid var(--accent-300);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;position:absolute;top:12px;right:12px}.ph-top .ph-bar{background:var(--bg);border:1px solid var(--border);border-radius:6px;width:132px;height:12px;display:block}.ph-main{flex:1;grid-template-columns:124px 1fr;gap:14px;min-height:0;display:grid}.ph-side{flex-direction:column;gap:9px;display:flex}.ph-side span{background:var(--bg);border:1px solid var(--border);border-radius:6px;height:12px}.ph-side span:first-child{background:var(--brand-100);border-color:var(--brand-200)}.ph-content{flex-direction:column;gap:12px;min-height:0;display:flex}.ph-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ph-stats span{background:var(--bg);border:1px solid var(--border);border-radius:8px;height:46px}.ph-chart{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:1;align-items:flex-end;gap:8px;min-height:70px;padding:12px;display:flex}.ph-chart i{background:linear-gradient(180deg, var(--accent-400), var(--brand-500));border-radius:4px 4px 0 0;flex:1}.ph-chart i:first-child{height:48%}.ph-chart i:nth-child(2){height:70%}.ph-chart i:nth-child(3){height:38%}.ph-chart i:nth-child(4){height:86%}.ph-chart i:nth-child(5){height:56%}.ph-chart i:nth-child(6){height:74%}.ph-chart i:nth-child(7){height:44%}[data-theme=dark] .frame-ph{background:linear-gradient(160deg, #3361ea24, var(--bg) 58%)}[data-theme=dark] .ph-side span:first-child{background:#3361ea4d;border-color:#3361ea66}[data-theme=dark] .ph-tag{color:var(--accent-300);background:#22d3ee1f;border-color:#22d3ee4d}.hero-shot{max-width:920px;margin:52px auto 0}.gallery{flex-direction:column;gap:28px;margin-top:40px;display:flex}.gallery-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (width<=860px){.gallery-row{grid-template-columns:1fr}.ph-main{grid-template-columns:86px 1fr}}.code-window{border:1px solid var(--border);background:var(--ink-900);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.code-window .frame-bar{background:#1f2530;border-bottom-color:#2c3340}.code-window .frame-url{color:var(--ink-300);background:0 0;border-color:#2c3340}.code-window pre{font-family:var(--font-mono);color:var(--ink-100);margin:0;padding:20px 22px;font-size:13.5px;line-height:1.7;overflow-x:auto}.code-window .c-layer{color:var(--accent-300)}.code-window .c-dim{color:var(--ink-400)}.arch-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:24px;margin-top:36px;display:grid}@media (width<=860px){.arch-grid{grid-template-columns:1fr}}.arch-grid .fsd{margin-top:0}.stack-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;display:grid}@media (width<=860px){.stack-grid{grid-template-columns:1fr}}.stack-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);align-items:flex-start;gap:14px;padding:20px;transition:transform .12s,border-color .15s;display:flex}.stack-card:hover{border-color:var(--accent-300)}.stack-card .ic{flex:none;margin-bottom:0}.stack-card .meta{flex-direction:column;gap:3px;display:flex}.stack-card .name{font-size:16px;font-weight:650}.stack-card .name span{font-family:var(--font-mono);color:var(--accent-600);margin-left:6px;font-size:12px;font-weight:500}.stack-card .why{color:var(--text-soft);font-size:14px}.stats{flex-wrap:wrap;gap:14px 40px;margin-top:30px;display:flex}.stat .num{letter-spacing:-.02em;font-size:26px;font-weight:800}.stat .lbl{color:var(--text-soft);font-size:14px}.discount-note{text-align:center;color:var(--accent-600);margin-top:14px;font-size:15px;font-weight:500}.discount-note code{font-family:var(--font-mono);background:var(--accent-600-a10,#22d3ee1a);letter-spacing:.04em;border-radius:4px;padding:2px 8px;font-weight:700}.maker{text-align:center}.maker .btn{margin-top:12px}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:10px;display:inline-flex}.logo-mark[data-astro-cid-f7espo7c]{border-radius:8px;display:block}.logo-word[data-astro-cid-f7espo7c]{letter-spacing:-.02em;color:var(--text);font-size:20px;font-weight:750}
