@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);--grid-line:#161a220b;--glow-a:#22d3ee29;--glow-b:#3361ea24;--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:1160px;--radius:18px;--shadow:0 1px 2px #161a220f, 0 12px 32px -12px #161a222e;--shadow-lift:0 2px 4px #161a220f, 0 22px 48px -18px #244bc947}*{box-sizing:border-box}html{scroll-behavior:smooth}:where(section,main)[id]{scroll-margin-top:80px}.skip-link{z-index:40;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:-.025em;text-wrap:balance;margin:0;line-height:1.12}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:96px 0}.progress{z-index:30;background:linear-gradient(90deg, var(--brand-500), var(--accent-400));width:0;height:2px;position:fixed;top:0;left:0}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--text-soft);font-size:13px;font-weight:500}.eyebrow:before{content:"// ";color:var(--accent-500);font-weight:700}.section-title{margin-top:12px;font-size:clamp(30px,4.2vw,44px);font-weight:800}.section-lede{color:var(--text-soft);max-width:62ch;margin-top:14px;font-size:18px}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:13px 24px;font-size:16px;font-weight:600;transition:transform .12s,box-shadow .2s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--brand-500), var(--brand-600));color:#fff;box-shadow:0 8px 24px -10px #3361ea99}.btn-primary:hover{box-shadow:0 10px 30px -8px #3361eab3,0 0 0 1px #22d3ee59}.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(--accent-400)}.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-sm{padding:8px 16px;font-size:15px}.btn:disabled{opacity:.55;cursor:not-allowed}.site-header{z-index:10;backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);background:#ffffffd1;transition:box-shadow .2s,background .2s;position:sticky;top:0}.site-header.scrolled{background:#ffffffeb;box-shadow:0 10px 30px -20px #161a228c}.nav{justify-content:space-between;align-items:center;height:64px;display:flex}.nav-links{align-items:center;gap:24px;display:flex}.nav-links a:not(.btn){color:var(--text-soft);font-size:15px;font-weight:500;transition:color .15s}.nav-links a:not(.btn):hover{color:var(--text)}.nav-links a:not(.btn).active{color:var(--text);font-weight:600}.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(--accent-400)}.theme-toggle:focus-visible{outline:2px solid var(--accent-400);outline-offset:2px}.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:linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 100% 44px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 44px 100%, radial-gradient(720px 400px at 82% -10%, var(--glow-a), transparent 62%), radial-gradient(1100px 520px at 18% -14%, var(--glow-b), transparent 70%), var(--bg);padding:88px 0 84px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;display:grid}@media (width<=920px){.hero-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.hero .seq{opacity:0;animation:.7s cubic-bezier(.22,1,.36,1) forwards rise;animation-delay:calc(var(--s,0) * .12s);transform:translateY(16px)}@keyframes rise{to{opacity:1;transform:none}}.hero .accent{background-size:200% 100%;animation:6s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{background-position:0 0}50%{background-position:100% 0}}}.status-badge{font-family:var(--font-mono);color:var(--text-soft);border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:center;gap:9px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.status-badge .dot{background:var(--accent-400);border-radius:50%;width:8px;height:8px;box-shadow:0 0 #22d3ee80}@media (prefers-reduced-motion:no-preference){.status-badge .dot{animation:2.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #22d3ee80}70%{box-shadow:0 0 0 8px #22d3ee00}to{box-shadow:0 0 #22d3ee00}}}.status-badge code{color:var(--accent-600);font-weight:700}.hero h1{max-width:17ch;margin-top:22px;font-size:clamp(38px,5vw,60px);font-weight:800}.hero .accent{color:var(--brand-600)}@supports (background-clip:text){.hero .accent{background-image:linear-gradient(90deg, var(--brand-500), var(--accent-500), var(--brand-500));-webkit-text-fill-color:transparent;background-clip:text}}.hero-lede{color:var(--text-soft);max-width:52ch;margin-top:20px;font-size:19px}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.trust{margin-top:38px;position:relative;overflow:hidden}.trust-track{gap:10px;width:max-content;display:flex}@media (prefers-reduced-motion:no-preference){.trust-track{animation:26s linear infinite ticker}.trust:hover .trust-track{animation-play-state:paused}@keyframes ticker{to{transform:translate(-50%)}}.trust:before,.trust:after{content:"";z-index:1;pointer-events:none;width:48px;position:absolute;top:0;bottom:0}.trust:before{background:linear-gradient(90deg, var(--bg), transparent);left:0}.trust:after{background:linear-gradient(-90deg, var(--bg), transparent);right:0}}@media (prefers-reduced-motion:reduce){.trust-track{flex-wrap:wrap}.trust-track>.dup{display:none}}.chip{font-family:var(--font-mono);white-space:nowrap;color:var(--ink-700);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12.5px}.chip b{color:var(--accent-600);font-weight:700}.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(148px,auto);gap:16px;margin-top:44px;display:grid}@media (width<=980px){.bento{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.bento{grid-template-columns:1fr}}.tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:8px;padding:24px;transition:transform .15s,border-color .15s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.tile:hover{border-color:var(--accent-400);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.tile>*{z-index:1;position:relative}.tile h3{font-size:17px;font-weight:700}.tile p{color:var(--text-soft);font-size:14.5px}.tile.w2{grid-column:span 2}.tile.h2{grid-row:span 2}@media (width<=560px){.tile.w2{grid-column:span 1}}.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:10px;place-items:center;display:grid}.tile .ic,.card .ic{margin-bottom:6px}.spotlight:before{content:"";z-index:0;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,-20%), var(--glow-a), transparent 65%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.spotlight{position:relative;overflow:hidden}.spotlight>*{z-index:1;position:relative}.spotlight:hover:before{opacity:1}.mini-auth{flex-direction:column;gap:8px;margin-top:auto;display:flex}.mini-auth .row{font-family:var(--font-mono);color:var(--text-soft);border:1px solid var(--border);background:var(--bg-soft);border-radius:9px;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.mini-auth .row .st{white-space:nowrap;margin-left:auto;font-weight:700}.mini-auth .ok{color:var(--success-500)}.mini-auth .deny{color:#dc2626}[data-theme=dark] .mini-auth .deny{color:#f87171}.mini-tree{font-family:var(--font-mono);color:var(--text-soft);margin-top:auto;font-size:12.5px;line-height:1.8}.mini-tree b{color:var(--brand-600);font-weight:600}.covbar{margin-top:auto}.covbar .lbl{font-family:var(--font-mono);color:var(--text-soft);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.covbar .lbl strong{color:var(--success-500);font-weight:700}.covbar .track{background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.covbar .fill{border-radius:inherit;background:linear-gradient(90deg, var(--brand-500), var(--accent-400));transform-origin:0;width:99%;height:100%}@media (prefers-reduced-motion:no-preference){.js-anim .reveal.is-visible .covbar .fill{animation:1.1s cubic-bezier(.22,1,.36,1) .2s both grow-x}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.mini-dots{gap:8px;margin-top:auto;display:flex}.mini-dots i{border:1px solid var(--border);border-radius:7px;width:22px;height:22px}.mini-pipe{font-family:var(--font-mono);color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;font-size:11px;display:flex}.mini-pipe .step{border:1px solid var(--border);background:var(--bg-soft);border-radius:7px;padding:3px 8px}.mini-pipe .step.pass{color:var(--success-500);border-color:color-mix(in srgb, var(--success-500) 40%, var(--border))}.mini-pipe .sep{color:var(--accent-500)}.mini-locale{font-family:var(--font-mono);gap:8px;margin-top:auto;font-size:12px;display:flex}.mini-locale span{border:1px solid var(--border);color:var(--text-soft);background:var(--bg-soft);border-radius:999px;padding:3px 12px}.mini-locale .on{color:var(--accent-600);border-color:var(--accent-400);font-weight:700}.mini-targets{font-family:var(--font-mono);flex-wrap:wrap;gap:8px;margin-top:auto;font-size:12px;display:flex}.mini-targets span{border:1px solid var(--border);color:var(--text-soft);background:var(--bg-soft);border-radius:8px;padding:4px 10px}.grid{grid-template-columns:repeat(3,1fr);gap:16px;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 .15s,border-color .15s,box-shadow .2s}.card:hover{border-color:var(--accent-400);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card h3{margin-top:4px;font-size:17px;font-weight:700}.card p{color:var(--text-soft);margin-top:8px;font-size:14.5px}@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) * 55ms);will-change:opacity, transform;transform:translateY(18px)}.js-anim .reveal.is-visible{opacity:1;transform:none}}.bg-soft{background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.ticker{padding:38px 0}.ticker-row{flex-wrap:wrap;justify-content:center;gap:22px 56px;display:flex}.stat{text-align:center;min-width:90px}.stat .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:700}.stat .num em{color:var(--accent-600);font-style:normal}.stat .lbl{color:var(--text-soft);margin-top:2px;font-size:13px}.arch-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-top:40px;display:grid}@media (width<=920px){.arch-grid{grid-template-columns:1fr}}.flow{flex-direction:column;gap:8px;display:flex}.flow-row{border:1px solid var(--border);border-left:3px solid var(--brand-500);background:var(--bg);border-radius:11px;align-items:center;gap:16px;padding:12px 18px;display:flex}.flow-row .layer{font-family:var(--font-mono);color:var(--brand-600);min-width:92px;font-size:14px;font-weight:600}.flow-row .desc{color:var(--text-soft);font-size:14px}.flow-arrow{text-align:center;color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.1em;font-size:12px}@media (prefers-reduced-motion:no-preference){.js-anim .reveal.is-visible .flow-row{animation:.55s ease-out both layer-ping;animation-delay:calc(var(--l,0) * .18s + .3s)}@keyframes layer-ping{0%{border-left-color:var(--brand-500)}45%{border-left-color:var(--accent-400);box-shadow:0 0 0 1px #22d3ee59,0 8px 24px -12px #06b6d480}to{border-left-color:var(--brand-500);box-shadow:none}}}.prices{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:20px;margin-top:44px;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:30px;transition:transform .15s,box-shadow .2s;display:flex}.price:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.price.feature{background:linear-gradient(var(--bg), var(--bg)) padding-box, linear-gradient(135deg, var(--brand-500), var(--accent-400)) border-box;border:1px solid #0000;box-shadow:0 18px 44px -18px #06b6d466}.price .tier{font-size:17px;font-weight:700}.price .amount{font-variant-numeric:tabular-nums;margin:10px 0 4px;font-size:44px;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:20px 0 26px;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}.price-note{color:var(--text-soft);margin:0;font-size:14px}.badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-600);background:#22d3ee1f;border:1px solid #22d3ee4d;border-radius:999px;align-self:flex-start;margin-bottom:12px;padding:4px 11px;font-size:11px;font-weight:700}.discount-note{text-align:center;font-family:var(--font-mono);color:var(--accent-600);margin-top:18px;font-size:14px;font-weight:500}.discount-note code{letter-spacing:.04em;background:#22d3ee1f;border-radius:5px;padding:2px 8px;font-weight:700}.guarantee{text-align:center;color:var(--text-soft);margin-top:14px;font-size:14px}.guarantee strong{color:var(--text);font-weight:600}.compare-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-top:40px;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:13px;font-weight:700;font-family:var(--font-mono);letter-spacing:.03em;text-transform:lowercase}.compare thead .col-cliore{color:var(--brand-600)}.compare tbody th{width:32%;font-weight:600}.compare .col-diy{color:var(--text-soft)}.compare .col-cliore{color:var(--text);background:linear-gradient(90deg,#22d3ee1a,#0000);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{grid-template-columns:1fr 1fr;align-items:start;gap:14px 18px;margin-top:40px;display:grid}@media (width<=860px){.faq{grid-template-columns:1fr}}.faq details{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:6px 18px;transition:border-color .15s}.faq details[open]{border-color:var(--accent-400)}.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;font-family:var(--font-mono)}.faq details[open] summary:after{content:"–"}.faq p{color:var(--text-soft);padding:0 0 16px}.cta{text-align:center;background:radial-gradient(600px 300px at 50% -20%, #22d3ee40, transparent 65%), linear-gradient(180deg, var(--brand-600), var(--brand-700));color:#fff;border-radius:24px;padding:64px 24px;position:relative;overflow:hidden}.cta:before{content:"";pointer-events:none;background:linear-gradient(#ffffff0d 1px,#0000 1px) 0 0/100% 40px,linear-gradient(90deg,#ffffff0d 1px,#0000 1px) 0 0/40px 100%;position:absolute;inset:0}.cta>*{position:relative}.cta h2{font-size:clamp(28px,4vw,40px);font-weight:800}.cta p{max-width:54ch;color:var(--brand-100);margin:14px auto 0;font-size:18px}.cta .mono-line{font-family:var(--font-mono);color:var(--accent-300);margin-top:22px;font-size:14px}.cta .hero-cta{justify-content:center}.cta .btn-primary{color:var(--brand-700);background:#fff;margin-top:26px;box-shadow:0 12px 32px -10px #0006}.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)}.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{font-family:var(--font-mono);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));transform-origin:bottom;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%}@media (prefers-reduced-motion:no-preference){.js-anim .reveal.is-visible .ph-chart i{animation:.9s cubic-bezier(.22,1,.36,1) both grow-y;animation-delay:calc(var(--b,0) * 70ms + .25s)}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}.gallery{flex-direction:column;gap:28px;margin-top:44px;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);box-shadow:var(--shadow);background:#10151f;border-radius:16px;overflow:hidden}.code-window .frame-bar{background:#171e2b;border-bottom-color:#232c3a}.code-window .frame-url{color:#5a677d;background:0 0;border-color:#232c3a}.code-window pre{font-family:var(--font-mono);color:#c5ccd8;margin:0;padding:20px 22px;font-size:13.5px;line-height:1.75;overflow-x:auto}.code-window .tl{min-height:1.75em;display:block}.t-cmd{color:#e7ecf3;font-weight:500}.t-cmd:before{content:"$ ";color:var(--accent-400);font-weight:700}.t-ok{color:#4ade80}.t-dim,.code-window .c-dim{color:#5a677d}.t-cy,.code-window .c-layer{color:var(--accent-300)}.t-caret{background:var(--accent-400);vertical-align:text-bottom;width:8px;height:1.1em;margin-left:2px;display:inline-block}@media (prefers-reduced-motion:no-preference){.t-caret{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}}.stack-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;display:grid}@media (width<=980px){.stack-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.stack-grid{grid-template-columns:1fr}}.stack-card{border:1px solid var(--border);background:var(--bg);border-radius:14px;align-items:flex-start;gap:14px;padding:18px;transition:transform .15s,border-color .15s;display:flex}.stack-card:hover{border-color:var(--accent-400);transform:translateY(-2px)}.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:700}.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}.maker{text-align:center}.maker .btn{margin-top:12px}[data-theme=dark]{--bg:#0b0f17;--bg-soft:#10151f;--text:#e7ecf3;--text-soft:#9aa7bd;--border:#232c3a;--grid-line:#e7ecf30a;--glow-a:#22d3ee1a;--glow-b:#3361ea2e;--ink-100:#1b2430;--ink-300:#3a4658;--ink-400:#5a677d;--ink-700:#c5ccd8;--shadow:0 1px 2px #00000080, 0 16px 40px -16px #000000a6;--shadow-lift:0 2px 4px #00000080, 0 22px 52px -18px #06b6d438}[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] .eyebrow:before{color:var(--accent-400)}[data-theme=dark] .flow-row .layer,[data-theme=dark] .mini-tree b,[data-theme=dark] .compare thead .col-cliore{color:var(--brand-300)}[data-theme=dark] .status-badge code,[data-theme=dark] .chip b,[data-theme=dark] .stat .num em,[data-theme=dark] .badge,[data-theme=dark] .discount-note,[data-theme=dark] .mini-locale .on,[data-theme=dark] .stack-card .name span,[data-theme=dark] .ph-tag{color:var(--accent-300)}[data-theme=dark] .ic{background:linear-gradient(135deg,#3361ea38,#22d3ee24);border-color:#22d3ee4d}[data-theme=dark] .badge{background:#22d3ee1f;border-color:#22d3ee4d}[data-theme=dark] .price.feature{background:linear-gradient(var(--bg-soft), var(--bg-soft)) padding-box, linear-gradient(135deg, var(--brand-500), var(--accent-400)) border-box}[data-theme=dark] .compare .col-cliore{background:linear-gradient(90deg,#22d3ee14,#0000)}[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{background:#22d3ee1f;border-color:#22d3ee4d}.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}
