*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}::selection{background:rgba(240,164,76,0.28);color:#fff}a{color:inherit}img,svg{display:block;max-width:100%}:root{--bg: #12151b;--bg-hero-top: #1a1610;--surface: #1a1f28;--surface-2: #212733;--line: rgba(255,255,255,0.09);--line-strong: rgba(255,255,255,0.18);--text: #f3f1ec;--text-soft: #aab0bc;--muted: #6d7482;--accent: #f0a44c;--accent-ink: #221403;--accent-hi: #ffbe73;--accent-text: #ffbe73;--trace-a: #57d9c0;--trace-b: #f0a44c;--trace-ink: #052420;--glow-amber: #f0a44c;--glow-teal: #46d6bd;--glow-violet: #8c7cf6;--ok: #6bd67c;--ok-soft: rgba(107,214,124,0.14);--err: #f0685f;--err-soft: rgba(240,104,95,0.14);--shadow: 0 30px 70px rgba(0,0,0,0.5);--grid-line: rgba(255,255,255,0.06);--topbar-bg: rgba(18,21,27,0.8);--primary-hover: #d9dee5;--code-bg: #1a1f28;--code-surface-2: #212733;--code-line: rgba(255,255,255,0.09);--code-line-strong: rgba(255,255,255,0.18);--code-text: #f3f1ec;--code-text-soft: #aab0bc;--code-muted: #6d7482;--font-display: 'Mona Sans', -apple-system, 'Segoe UI', sans-serif;--font-body: 'Mona Sans', -apple-system, 'Segoe UI', sans-serif;--font-mono: 'Mona Sans Mono', ui-monospace, 'SF Mono', Consolas, monospace}:root[data-theme="light"]{--bg: #f6f4f0;--bg-hero-top: #f2e9dd;--surface: #ffffff;--surface-2: #efece4;--line: rgba(20,20,20,0.09);--line-strong: rgba(20,20,20,0.18);--text: #1b1e24;--text-soft: #565f6b;--muted: #838ba0;--accent-text: #a85c1a;--trace-a: #0f8f78;--grid-line: rgba(20,20,20,0.05);--shadow: 0 24px 50px rgba(20,16,10,0.12);--topbar-bg: rgba(246,244,240,0.85);--primary-hover: #33363d}@font-face{font-family:'Mona Sans';font-weight:400;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSans-Regular.woff2") format("woff2")}@font-face{font-family:'Mona Sans';font-weight:500;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSans-Medium.woff2") format("woff2")}@font-face{font-family:'Mona Sans';font-weight:600;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSans-SemiBold.woff2") format("woff2")}@font-face{font-family:'Mona Sans';font-weight:700;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSans-Bold.woff2") format("woff2")}@font-face{font-family:'Mona Sans';font-weight:800;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSans-ExtraBold.woff2") format("woff2")}@font-face{font-family:'Mona Sans Mono';font-weight:400;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSansMono-Regular.woff2") format("woff2")}@font-face{font-family:'Mona Sans Mono';font-weight:600;font-style:normal;font-display:swap;src:url("https://cdn.jsdelivr.net/gh/github/mona-sans@main/fonts/webfonts/static/MonaSansMono-SemiBold.woff2") format("woff2")}h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.02em;text-wrap:balance;margin:0}.wrap{max-width:1180px;margin:0 auto;padding:0 1.7rem}@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}.section{padding:5.5rem 0;border-top:1px solid var(--line)}.section-head{max-width:640px;margin:0 auto 3rem;text-align:center}.section-head .k{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:0.8rem}.section-head h2{font-size:30px;font-weight:700;margin-bottom:0.7rem}.section-head p{font-size:15.5px;color:var(--text-soft);line-height:1.6;margin:0}.eyebrow-pill{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--accent-text);background:rgba(240,164,76,0.12);border:1px solid rgba(240,164,76,0.3);border-radius:999px;padding:0.35rem 0.8rem;margin-bottom:0.8rem}.eyebrow-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-text);flex:none}.btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-weight:600;font-size:14px;padding:0.62rem 1.15rem;border-radius:8px;text-decoration:none;border:1px solid transparent;cursor:pointer}.btn.primary{background:var(--text);color:var(--bg)}.btn.primary:hover{background:var(--primary-hover)}.btn.accent{background:var(--accent);color:var(--accent-ink)}.btn.accent:hover{background:var(--accent-hi)}.btn.ghost{border-color:var(--line-strong);color:var(--text);background:transparent}.btn.ghost:hover{border-color:var(--muted)}.btn .arrow{transition:transform 0.15s ease}.btn:hover .arrow{transform:translateX(2px)}.tag{display:inline-flex;align-items:center;gap:0.4em;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;padding:0.2rem 0.55rem;border-radius:999px}.tag.eng{color:var(--trace-a);background:rgba(87,217,192,0.12)}.tag.guide{color:var(--accent-text);background:rgba(240,164,76,0.12)}.tag.case{color:var(--violet);background:rgba(140,124,246,0.14)}.tag.release{color:var(--ok);background:var(--ok-soft)}.badge{display:inline-flex;align-items:center;gap:0.4em;font-weight:700;font-size:11px;letter-spacing:0.02em;padding:0.25rem 0.65rem;border-radius:999px}.badge.fail{color:var(--err);background:var(--err-soft)}.badge.pass{color:var(--ok);background:var(--ok-soft)}.pagination{display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.6rem 0 4rem}.page-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:8px;background:var(--surface);border:1px solid var(--line-strong);color:var(--text-soft);cursor:pointer}.page-btn:hover:not(:disabled){border-color:var(--muted);color:var(--text)}.page-btn:disabled{opacity:0.35;cursor:default}.page-btn svg{width:16px;height:16px;stroke:currentColor}.page-numbers{display:flex;align-items:center;gap:0.35rem}.page-num{min-width:34px;height:34px;padding:0 0.5rem;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-soft);font-family:var(--font-display);font-weight:600;font-size:13.5px;cursor:pointer}.page-num:hover{border-color:var(--line-strong);color:var(--text)}.page-num.active{background:var(--text);color:var(--bg)}.newsletter{position:relative;overflow:hidden;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:3.2rem 1.8rem;margin:1rem 0 3.5rem}.newsletter-glow{position:absolute;inset:-30%;z-index:0;filter:blur(70px);opacity:0.3;pointer-events:none;background:radial-gradient(circle at 30% 30%, var(--accent), transparent 45%),radial-gradient(circle at 70% 70%, var(--trace-a), transparent 45%)}.newsletter>*{position:relative;z-index:1}.newsletter h2{font-size:28px;font-weight:800;margin:0 0 0.6rem}.newsletter>p{font-size:14.5px;color:var(--text-soft);max-width:44ch;margin:0 auto 1.7rem;line-height:1.6}.newsletter-form{display:flex;gap:0.7rem;justify-content:center;max-width:420px;margin:0 auto;flex-wrap:wrap}.newsletter-form[hidden]{display:none}.newsletter-input{flex:1;min-width:200px;font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;padding:0.62rem 0.9rem}.newsletter-input::placeholder{color:var(--muted)}.newsletter-input:focus{outline:none;border-color:var(--accent)}.newsletter-form .btn{flex:none}.newsletter-success{font-size:14px;color:var(--ok);font-weight:600;margin:0}.code-block{background:var(--code-bg);border:1px solid var(--code-line-strong);border-radius:10px;overflow:hidden;margin:0 0 1.6rem;box-shadow:var(--shadow)}.code-block .bar{display:flex;align-items:center;justify-content:space-between;gap:0.35rem;padding:0.55rem 0.8rem;border-bottom:1px solid var(--code-line);background:var(--code-surface-2)}.code-block .bar .dots{display:flex;gap:0.35rem}.code-block .bar .dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.14)}.copy-btn{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--font-mono);font-size:11px;color:var(--code-muted);background:transparent;border:1px solid var(--code-line-strong);border-radius:6px;padding:0.25rem 0.55rem;cursor:pointer}.copy-btn:hover{color:var(--code-text-soft);border-color:var(--muted)}.copy-btn svg{width:12px;height:12px;stroke:currentColor;flex:none}.copy-btn.copied{color:var(--ok);border-color:rgba(107,214,124,0.4)}.code-block pre{margin:0;padding:1rem 1.2rem 1.2rem;font-family:var(--font-mono);font-size:13px;line-height:1.8;color:var(--code-text);overflow-x:auto}.code-block .c{color:var(--code-muted)}.code-block .flag{color:var(--trace-a)}.code-block .str{color:var(--accent-hi)}.code-block .out{color:var(--ok)}.code-block .fail-line{color:var(--err)}.check-box{display:flex;gap:0.9rem;align-items:flex-start;background:var(--code-bg);border:1px solid var(--code-line);border-radius:10px;padding:1rem 1.1rem;margin:0 0 1.6rem}.check-box .badge{flex:none;display:inline-flex;align-items:center;font-weight:700;font-size:10.5px;letter-spacing:0.02em;padding:0.25rem 0.6rem;border-radius:999px;margin-top:0.1rem}.check-box .badge.fail{color:var(--err);background:var(--err-soft)}.check-box .badge.pass{color:var(--ok);background:var(--ok-soft)}.check-box p{margin:0;font-size:14px;color:var(--code-text-soft);line-height:1.65}.check-box p code{font-size:0.92em}.toc-box{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.3rem 1.2rem;margin:0 0 1.9rem}.toc-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:0.8rem}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.55rem;counter-reset:toc}.toc-list li{counter-increment:toc}.toc-list a{display:flex;align-items:baseline;gap:0.65rem;font-size:14px;color:var(--text-soft);text-decoration:none}.toc-list a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:11px;color:var(--muted);flex:none}.toc-list a:hover{color:var(--accent-text)}.read-progress{position:absolute;left:0;bottom:-1px;height:3px;width:0%;background:var(--accent);transition:width 0.1s linear}.theme-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:8px;padding:0;background:transparent;border:1px solid var(--line-strong);cursor:pointer;color:var(--text-soft)}.theme-toggle:hover{border-color:var(--muted);color:var(--text)}.theme-toggle svg{width:17px;height:17px;stroke:currentColor}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme="light"] .theme-toggle .icon-sun{display:block}:root[data-theme="light"] .theme-toggle .icon-moon{display:none}.search-modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(10,10,12,0.5);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:9vh 1.2rem 1.2rem}.search-modal-backdrop[hidden]{display:none}.search-modal-panel{width:100%;max-width:640px;max-height:74vh;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.search-modal-head{display:flex;align-items:center;justify-content:space-between;padding:0.65rem 0.9rem;border-bottom:1px solid var(--line);flex:none}.search-modal-head .label{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted)}.search-modal-head button{font-family:var(--font-mono);font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:5px;padding:0.2rem 0.5rem;cursor:pointer}.search-modal-head button:hover{color:var(--text);border-color:var(--muted)}.search-modal-body{padding:0.7rem 0.9rem 0.9rem;overflow-y:auto}.search-field{display:flex;align-items:center;gap:0.6rem;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:0.7rem 0.9rem;margin-bottom:0.3rem}.search-field svg{width:16px;height:16px;flex:none;stroke:var(--muted)}.search-field input{flex:1;border:none;background:none;outline:none;font-family:var(--font-body);font-size:15px;color:var(--text)}.search-field input::placeholder{color:var(--muted)}.search-results{display:flex;flex-direction:column}.search-result{display:block;padding:0.8rem 0.2rem;text-decoration:none;border-bottom:1px solid var(--line)}.search-result:last-child{border-bottom:none}.search-result:hover .search-result-title{color:var(--accent-text)}.search-result-title{font-family:var(--font-display);font-weight:700;font-size:14.5px;color:var(--text)}.search-result-excerpt{font-size:13px;line-height:1.55;color:var(--text-soft);margin:0.3rem 0 0}.search-empty{font-size:13.5px;color:var(--muted);padding:0.9rem 0.2rem;margin:0}.nav{position:sticky;top:0;z-index:40;background:var(--topbar-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{max-width:1180px;margin:0 auto;padding:0.9rem 1.7rem;display:flex;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:0.55rem;text-decoration:none;flex:none}.brand .glyph{width:28px;height:28px;border-radius:7px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}.brand .glyph svg{width:16px;height:16px}.brand .name{font-weight:700;font-size:16px;letter-spacing:-0.01em}.nav-links{display:flex;align-items:center;gap:1.7rem;font-size:14px;color:var(--text-soft);margin-right:auto}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--text);font-weight:600}.nav-cta{display:flex;align-items:center;gap:1.1rem;font-size:14px;flex:none;margin-left:auto}.nav-cta>a.ghost{color:var(--text-soft);text-decoration:none}.nav-cta>a.ghost:hover{color:var(--text)}.search-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:8px;padding:0;background:transparent;border:1px solid var(--line-strong);cursor:pointer;color:var(--text-soft)}.search-toggle:hover{border-color:var(--muted);color:var(--text)}.search-toggle svg{width:17px;height:17px;stroke:currentColor}.menu-toggle{display:none;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:8px;padding:0;background:transparent;border:1px solid var(--line-strong);cursor:pointer;color:var(--text-soft)}.menu-toggle:hover{border-color:var(--muted);color:var(--text)}.menu-toggle svg{width:18px;height:18px;stroke:currentColor}.menu-toggle .icon-close{display:none}.menu-toggle[aria-expanded="true"] .icon-open{display:none}.menu-toggle[aria-expanded="true"] .icon-close{display:block}.mobile-menu{display:none;flex-direction:column;padding:0.6rem 1.7rem 1.1rem;border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:0.7rem 0.2rem;font-size:15px;color:var(--text-soft);text-decoration:none;border-bottom:1px solid var(--line)}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a.active{color:var(--text);font-weight:600}.mobile-menu[hidden]{display:none}@media (max-width: 760px){.nav-inner{padding:0.8rem 1.1rem;gap:0.8rem}.nav-links{display:none}.nav-cta{gap:0.6rem}.nav-docs-link{display:none}.menu-toggle{display:flex}.mobile-menu:not([hidden]){display:flex}}@media (max-width: 420px){.nav-cta .btn.primary{padding:0.55rem 0.7rem;font-size:13px}.nav-cta{gap:0.4rem}.search-toggle,.theme-toggle,.menu-toggle{width:32px;height:32px}}footer.site-footer{padding:3.6rem 0 2.2rem;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3, 1fr);gap:2rem;padding-bottom:2.2rem;border-bottom:1px solid var(--line)}@media (max-width: 760px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-brand p{font-size:13px;color:var(--text-soft);line-height:1.6;margin:0.9rem 0 0;max-width:30ch}.footer-col .h{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:0.9rem}.footer-col a{display:block;font-size:13.5px;color:var(--text-soft);text-decoration:none;margin-bottom:0.65rem}.footer-col a:hover{color:var(--text)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;font-size:12px;color:var(--muted);flex-wrap:wrap;gap:0.7rem}.hero{padding:5.5rem 0 3rem;position:relative;overflow:hidden;background-image:linear-gradient(var(--bg-hero-top), var(--bg) 65%)}.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px),linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:42px 42px, 42px 42px;background-position:-1px -1px, -1px -1px}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:0.95fr 1.05fr;gap:3rem;align-items:center}@media (max-width: 980px){.hero-inner{grid-template-columns:minmax(0, 1fr)}}.hero-eyebrow{display:inline-flex;align-items:center;gap:0.55rem;font-size:12.5px;font-weight:600;color:var(--trace-a);background:rgba(87,217,192,0.12);border:1px solid rgba(87,217,192,0.3);border-radius:999px;padding:0.4rem 0.9rem;margin-bottom:1.4rem}.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--trace-a);flex:none}.hero h1{font-size:52px;font-weight:800;line-height:1.05;color:var(--text)}.hero h1 em{font-style:normal;color:var(--accent-text)}.hero p.lede{font-size:17px;line-height:1.6;color:var(--text-soft);max-width:44ch;margin:1.2rem 0 1.8rem;font-weight:400}.hero-ctas{display:flex;align-items:center;gap:0.9rem;flex-wrap:wrap}.hero-visual{position:relative;padding:2.5rem 1rem 1rem}.hero-glow{position:absolute;inset:-40px -20px;z-index:0;pointer-events:none;filter:blur(64px)}.hero-glow span{position:absolute;border-radius:50%;opacity:0.55}.hero-glow .g1{width:300px;height:300px;background:var(--glow-amber);top:-20px;left:6%;animation:drift1 16s ease-in-out infinite}.hero-glow .g2{width:260px;height:260px;background:var(--glow-teal);bottom:0;right:4%;animation:drift2 19s ease-in-out infinite}.hero-glow .g3{width:230px;height:230px;background:var(--glow-violet);top:38%;right:32%;opacity:0.4;animation:drift3 22s ease-in-out infinite}@keyframes drift1{0%,100%{transform:translate(0, 0)}50%{transform:translate(18px, -14px)}}@keyframes drift2{0%,100%{transform:translate(0, 0)}50%{transform:translate(-16px, 12px)}}@keyframes drift3{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(10px, 10px) scale(1.06)}}.hero-chip{position:absolute;z-index:2;top:0;left:0;width:230px;background:var(--code-surface-2);border:1px solid var(--code-line-strong);border-radius:10px;box-shadow:var(--shadow);padding:0.7rem 0.85rem;transform:rotate(-3deg)}.hero-chip .chip-label{font-family:var(--font-mono);font-size:10px;color:var(--code-muted);margin-bottom:0.4rem}.hero-chip .chip-cmd{font-family:var(--font-mono);font-size:11.5px;color:var(--code-text);line-height:1.5}.hero-chip .chip-cmd .c{color:var(--trace-a)}@media (max-width: 640px){.hero-chip{display:none}}.hero-screen{position:relative;z-index:1;margin-top:2.2rem;background:var(--code-bg);border:1px solid var(--code-line-strong);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.hero-screen .screen-bar{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.7rem 1rem;border-bottom:1px solid var(--code-line);background:var(--code-surface-2)}.screen-bar .dots{display:flex;gap:0.35rem}.screen-bar .dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.16)}.scope-legend{display:flex;gap:0.9rem}.scope-legend span{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--font-mono);font-size:10.5px;color:var(--code-text-soft)}.scope-legend i{width:9px;height:2.5px;border-radius:2px;display:inline-block}.scope-canvas-wrap{position:relative}#hero-wave{width:100%;height:210px;display:block}.screen-kpis{display:grid;grid-template-columns:repeat(3, 1fr);border-top:1px solid var(--code-line)}.screen-kpis .kpi{padding:0.75rem 0.9rem;border-right:1px solid var(--code-line)}.screen-kpis .kpi:last-child{border-right:none}.screen-kpis .kpi .k{font-family:var(--font-mono);font-size:9px;letter-spacing:0.04em;text-transform:uppercase;color:var(--code-muted);margin-bottom:0.3rem}.screen-kpis .kpi .v{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--code-text)}.screen-kpis .kpi .v.fail{color:var(--err)}.sig-panel{background:var(--code-bg);border:1px solid var(--code-line-strong);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.sig-bar{display:flex;align-items:center;gap:0.7rem;padding:0.7rem 1rem;border-bottom:1px solid var(--code-line);background:var(--code-surface-2)}.sig-bar .dots{display:flex;gap:0.35rem}.sig-bar .dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.16)}.sig-bar-label{font-family:var(--font-mono);font-size:11px;color:var(--code-text-soft)}.sig-body{padding:2.6rem 2rem}.io-flow{display:grid;grid-template-columns:240px 64px minmax(260px, 1fr) 64px 240px;grid-template-rows:auto auto;align-items:center;row-gap:1.3rem}.io-col-in{grid-column:1}.io-col-out{grid-column:5}.io-node{background:var(--code-surface-2);border:1px solid var(--code-line-strong);border-radius:10px;padding:0.85rem 1rem}.io-node .io-title{font-family:var(--font-mono);font-weight:600;font-size:12.5px;color:var(--code-text);margin-bottom:0.25rem}.io-node .io-sub{font-size:11px;color:var(--code-muted);line-height:1.4}.io-in-1{grid-column:1;grid-row:1}.io-in-2{grid-column:1;grid-row:2}.io-out-1{grid-column:5;grid-row:1}.io-out-2{grid-column:5;grid-row:2}.sig-rail{grid-row:1 / 3;height:100%;min-height:100%}.sig-rail-in{grid-column:2}.sig-rail-out{grid-column:4}.sig-rail svg{width:100%;height:100%;display:block;overflow:visible}.sig-rail line{stroke:var(--code-line-strong);stroke-width:1.5}.sig-rail circle{fill:var(--code-line-strong)}.sig-engine{grid-column:3;grid-row:1 / 3;background:var(--code-surface-2);border:1px solid var(--accent);border-radius:12px;padding:1.3rem 1.4rem;box-shadow:0 0 0 1px rgba(240,164,76,0.12),0 18px 40px rgba(240,164,76,0.08)}.sig-engine-head{display:flex;align-items:center;gap:0.65rem;margin-bottom:0.3rem}.sig-engine-icon{width:34px;height:34px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}.sig-engine-icon svg{width:18px;height:18px}.sig-engine-name{font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--code-text)}.sig-engine-tag{font-size:11.5px;color:var(--code-muted);margin-bottom:1rem}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}.check-chip{display:flex;align-items:center;gap:0.45rem;font-family:var(--font-mono);font-size:11px;color:var(--code-text-soft);background:var(--code-bg);border:1px solid var(--code-line);border-radius:7px;padding:0.4rem 0.55rem}.check-chip .dot{width:5px;height:5px;border-radius:50%;background:var(--trace-a);flex:none}.io-formats{grid-column:1;grid-row:3;margin-top:0.9rem;font-size:11px;color:var(--code-muted);line-height:1.5}.io-formats strong{color:var(--code-text-soft);font-weight:600}.io-formats-out{grid-column:5;grid-row:3;margin-top:0.9rem;font-size:11px;color:var(--code-muted);line-height:1.5}.io-formats-out strong{color:var(--code-text-soft);font-weight:600}@media (max-width: 900px){.io-flow{grid-template-columns:1fr;grid-template-rows:none;row-gap:1.1rem}.io-col-in,.io-col-out,.io-in-1,.io-in-2,.io-out-1,.io-out-2,.sig-engine,.io-formats,.io-formats-out{grid-column:1;grid-row:auto}.sig-rail{display:none}}.platform-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2)}.platform-strip-inner{display:flex;align-items:center;justify-content:center;gap:1.6rem;padding:1.15rem 1.6rem;flex-wrap:nowrap}.platform-strip-lead{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);flex:none}.platform-list{display:flex;align-items:center;gap:2rem;flex:none}.platform-item{display:flex;align-items:center;gap:0.55rem;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text)}.platform-item svg{width:21px;height:21px;flex:none;fill:currentColor}.platform-version{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0.2rem 0.55rem;letter-spacing:0.01em;flex:none}.platform-strip-tail{font-size:12.5px;color:var(--text-soft);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 760px){.platform-strip-inner{flex-wrap:wrap;justify-content:center}.platform-strip-tail{margin-left:0;width:100%;text-align:center;white-space:normal}}@media (max-width: 480px){.platform-list{gap:1.3rem}.platform-item span:last-child{display:none}}.showcase{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;padding:3.4rem 0}.showcase:not(:last-child){border-bottom:1px solid var(--line)}.showcase.reverse .showcase-copy{order:2}@media (max-width: 900px){.showcase,.showcase.reverse .showcase-copy{grid-template-columns:1fr;order:0}.showcase{grid-template-columns:1fr}}.showcase-copy h3{font-size:25px;font-weight:700;margin-bottom:0.8rem}.showcase-copy p{font-size:15px;line-height:1.65;color:var(--text-soft);margin:0}.showcase-copy code{font-family:var(--font-mono);background:var(--code-surface-2);border:1px solid var(--code-line);border-radius:4px;padding:0.08em 0.4em;color:var(--accent-hi);font-size:0.92em}.showcase-visual{background:var(--code-bg);border:1px solid var(--code-line-strong);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.sv-bar{display:flex;gap:0.35rem;padding:0.6rem 0.8rem;border-bottom:1px solid var(--code-line);background:var(--code-surface-2)}.sv-bar span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.14)}.sv-body{padding:1.1rem 1.2rem 1.3rem;font-family:var(--font-mono);font-size:12.5px;line-height:1.8;color:var(--code-text-soft)}.sv-body .c{color:var(--code-muted)}.sv-body .flag{color:var(--trace-a)}.sv-body .str{color:var(--accent-hi)}.sv-body .out{color:var(--ok)}.sv-body .fail-line{color:var(--err)}.tool-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:1rem}@media (max-width: 980px){.tool-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 560px){.tool-grid{grid-template-columns:1fr}}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.15rem;transition:border-color 0.15s ease, transform 0.15s ease}.tool-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.tool-card.flagship{border-color:rgba(240,164,76,0.4);background:var(--surface)}.tool-icon{width:32px;height:32px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;margin-bottom:0.9rem}.tool-card.flagship .tool-icon{background:var(--accent);border-color:transparent}.tool-icon svg{width:17px;height:17px;stroke:var(--trace-a)}.tool-card.flagship .tool-icon svg{stroke:var(--accent-ink)}.tool-name{font-family:var(--font-mono);font-weight:600;font-size:13.5px;color:var(--text);margin-bottom:0.4rem}.tool-desc{font-size:12.5px;color:var(--text-soft);line-height:1.55;margin:0}.tool-tag{display:inline-block;margin-top:0.7rem;font-family:var(--font-mono);font-size:9.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:0.15rem 0.5rem}.price-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.2rem;align-items:stretch}@media (max-width: 900px){.price-grid{grid-template-columns:1fr}}.price-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.7rem 1.5rem;display:flex;flex-direction:column}.price-card.featured{border-color:var(--accent);position:relative}.price-card.featured::before{content:"Most common";position:absolute;top:-11px;left:1.5rem;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:10px;letter-spacing:0.04em;text-transform:uppercase;padding:0.25rem 0.6rem;border-radius:999px}.price-tier{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:0.6rem}.price-save{font-size:10px;font-weight:700;text-transform:none;background:var(--ok-soft);color:var(--ok);padding:0.12rem 0.45rem;border-radius:999px}.price-amount{font-weight:800;font-size:30px;color:var(--text);margin-bottom:0.3rem}.price-amount span{font-family:var(--font-body);font-weight:400;font-size:13px;color:var(--text-soft)}.price-strike{font-weight:500;font-size:16px;color:var(--muted);text-decoration:line-through;text-decoration-color:var(--err);margin-right:0.5rem}.price-desc{font-size:13px;color:var(--text-soft);line-height:1.55;margin:0 0 1.3rem;min-height:40px}.price-feats{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:0.6rem;flex:1}.price-feats li{display:flex;gap:0.55rem;font-size:13px;color:var(--text);align-items:flex-start}.price-feats li svg{width:15px;height:15px;flex:none;margin-top:1px;stroke:var(--ok)}.price-feats li.no{color:var(--muted)}.price-feats li.no svg{stroke:var(--muted)}.price-card .btn{justify-content:center;width:100%}.price-note{font-size:11.5px;color:var(--muted);text-align:center;margin:0.7rem 0 0;line-height:1.5}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem 1.6rem}@media (max-width: 760px){.faq-grid{grid-template-columns:1fr}}.faq-item{padding:1.05rem 0;border-bottom:1px solid var(--line)}.faq-item h3{font-size:14.5px;font-weight:600;color:var(--text);margin-bottom:0.45rem;font-family:var(--font-body)}.faq-item p{font-size:13px;color:var(--text-soft);line-height:1.6;margin:0}.faq-item code{font-family:var(--font-mono);background:var(--code-surface-2);border:1px solid var(--code-line);border-radius:4px;padding:0.05em 0.4em;color:var(--accent-hi);font-size:0.92em}.final-cta{text-align:center;padding:4.5rem 1.6rem;position:relative;overflow:hidden;border-radius:20px;background:var(--surface);border:1px solid var(--line)}.final-glow{position:absolute;inset:-30%;z-index:0;filter:blur(70px);opacity:0.3;pointer-events:none;background:radial-gradient(circle at 30% 30%, var(--glow-amber), transparent 45%),radial-gradient(circle at 70% 70%, var(--glow-teal), transparent 45%)}.final-cta>*{position:relative;z-index:1}.final-cta h2{font-size:30px;margin-bottom:0.7rem}.final-cta p{font-size:15px;color:var(--text-soft);margin:0 0 1.7rem}.final-cta .hero-ctas{justify-content:center}.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2.2rem}.review-nav{display:flex;align-items:center;gap:0.5rem;flex:none}.review-nav button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;padding:0;background:var(--surface);border:1px solid var(--line-strong);color:var(--text-soft);cursor:pointer}.review-nav button:hover:not(:disabled){border-color:var(--muted);color:var(--text)}.review-nav button:disabled{opacity:0.35;cursor:default}.review-nav button svg{width:16px;height:16px;stroke:currentColor}.review-track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:0.3rem}.review-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 calc((100% - 2.4rem) / 3);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.6rem 1.5rem;display:flex;flex-direction:column}@media (max-width: 980px){.review-card{flex-basis:calc((100% - 1.2rem) / 2)}}@media (max-width: 640px){.review-card{flex-basis:100%}}.review-stars{display:inline-flex;gap:1px;font-size:13px;line-height:1;margin-bottom:0.7rem}.review-star{color:var(--line-strong)}.review-star.full{color:var(--accent)}.review-star.half{position:relative;color:var(--line-strong)}.review-star.half::after{content:"\2605";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--accent)}.review-quote{font-size:14.5px;line-height:1.65;color:var(--text);margin:0 0 1.3rem;flex:1}.review-quote::before{content:"\201C";color:var(--accent-text);font-family:var(--font-display)}.review-quote::after{content:"\201D";color:var(--accent-text);font-family:var(--font-display)}.review-name{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--text)}.review-role{display:inline-block;margin-top:0.2rem;font-size:11.5px;color:var(--muted)}.blog-header{padding:3.6rem 0 2.6rem;position:relative;overflow:hidden;background-image:linear-gradient(var(--bg-hero-top), var(--bg) 65%)}.blog-header::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px),linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:42px 42px, 42px 42px;background-position:-1px -1px, -1px -1px}.blog-header .wrap{position:relative;z-index:1}.blog-header h1{font-size:38px;font-weight:800;margin-bottom:0.7rem;max-width:18ch}.blog-header p{font-size:16px;color:var(--text-soft);max-width:54ch;line-height:1.6;margin:0}.cat-filter{display:flex;gap:0.55rem;flex-wrap:wrap;padding:1.6rem 0 0.4rem}.cat-pill{font-family:var(--font-display);font-weight:600;font-size:12.5px;color:var(--text-soft);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:0.4rem 0.9rem;cursor:pointer}.cat-pill:hover{border-color:var(--muted);color:var(--text)}.cat-pill.active{background:var(--text);color:var(--bg);border-color:var(--text)}.post-meta{display:flex;align-items:center;gap:0.6rem;font-size:12.5px;color:var(--muted)}.post-meta .sep{opacity:0.5}.post-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.3rem;margin-top:1.6rem;padding-bottom:3rem}@media (max-width: 900px){.post-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 620px){.post-grid{grid-template-columns:1fr}}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;transition:border-color 0.15s ease, transform 0.15s ease;text-decoration:none}.post-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.post-card h3{font-size:16px;font-weight:700;color:var(--text);margin:0.8rem 0 0.55rem;line-height:1.35}.post-card p{font-size:13px;color:var(--text-soft);line-height:1.6;margin:0 0 1rem;flex:1}.post-card.hidden{display:none}.article-header{padding:2.6rem 0 2.2rem;position:relative;overflow:hidden;background-image:linear-gradient(var(--bg-hero-top), var(--bg) 65%);border-bottom:1px solid var(--line)}.article-header::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px),linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:42px 42px, 42px 42px;background-position:-1px -1px, -1px -1px}.article-header .wrap{position:relative;z-index:1;max-width:760px}.back-link{display:inline-flex;align-items:center;gap:0.4rem;font-size:13px;color:var(--text-soft);text-decoration:none;margin-bottom:1.3rem}.back-link:hover{color:var(--text)}.back-link svg{width:14px;height:14px;stroke:currentColor}.article-header h1{font-size:34px;font-weight:800;margin:0.9rem 0 1.1rem;line-height:1.2}.byline{display:flex;align-items:center;gap:0.7rem}.byline .who{font-size:13.5px;color:var(--text-soft)}.byline .who span{color:var(--muted)}.share-row{display:flex;align-items:center;gap:0.55rem;margin-top:1.2rem}.share-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);margin-right:0.15rem}.share-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:7px;border:1px solid var(--line-strong);color:var(--text-soft);background:transparent;cursor:pointer;text-decoration:none;padding:0}.share-btn:hover{border-color:var(--muted);color:var(--text)}.share-btn svg{width:14px;height:14px;stroke:currentColor;fill:none}.share-btn.copied{color:var(--ok);border-color:rgba(107,214,124,0.4)}.article-body{max-width:760px;margin:0 auto;padding:3rem 1.7rem 1rem;font-family:var(--font-body)}.article-body .lead{font-size:18px;line-height:1.6;color:var(--text);margin:0 0 1.6rem;font-weight:500}.article-body p{font-size:16px;line-height:1.65;color:var(--text-soft);margin:0 0 1.3rem}.article-body h2{font-family:var(--font-display);font-size:23px;font-weight:700;color:var(--text);margin:2.4rem 0 1rem;scroll-margin-top:5rem}.article-body strong{color:var(--text);font-weight:600}.article-body code{font-family:var(--font-mono);background:var(--code-surface-2);border:1px solid var(--code-line);border-radius:4px;padding:0.08em 0.4em;color:var(--accent-hi);font-size:0.88em}.article-body ul{margin:0 0 1.3rem;padding-left:1.3rem}.article-body li{font-size:16px;line-height:1.65;color:var(--text-soft);margin-bottom:0.5rem}.article-body div.highlighter-rouge{position:relative;background:var(--code-bg);border:1px solid var(--code-line-strong);border-radius:10px;margin:0 0 1.6rem;box-shadow:var(--shadow)}.article-body div.highlighter-rouge pre.highlight{margin:0;padding:1rem 3.4rem 1.2rem 1.2rem;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.8;color:var(--code-text)}.article-body div.highlighter-rouge code{background:none;border:none;padding:0;margin:0;color:inherit;font-size:inherit}.article-body div.highlighter-rouge .copy-btn{position:absolute;top:0.6rem;right:0.6rem;background:var(--code-surface-2)}.post-cta{position:relative;overflow:hidden;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:2.4rem 1.8rem;margin:3rem 0 0}.post-cta-glow{position:absolute;inset:-30%;z-index:0;filter:blur(60px);opacity:0.28;pointer-events:none;background:radial-gradient(circle at 30% 30%, var(--accent), transparent 45%),radial-gradient(circle at 70% 70%, var(--trace-a), transparent 45%)}.post-cta>*{position:relative;z-index:1}.post-cta h3{font-size:22px;font-weight:700;margin-bottom:0.6rem;color:var(--text)}.post-cta p{font-size:14px;color:var(--text-soft);margin:0 0 1.5rem;max-width:46ch;margin-left:auto;margin-right:auto}.post-cta-actions{display:flex;align-items:center;justify-content:center;gap:0.8rem;flex-wrap:wrap}hr.rule{border:none;border-top:1px solid var(--line);margin:2.6rem 0;max-width:700px;margin-left:auto;margin-right:auto}.related{max-width:900px;margin:0 auto;padding:1rem 1.7rem 4rem}.related .h{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}@media (max-width: 620px){.related-grid{grid-template-columns:1fr}}.related .post-card h3{font-size:15px;margin:0.7rem 0 0.5rem}.related .post-card p{font-size:12.5px;margin:0 0 0.8rem}.related .post-meta{font-size:11.5px}.page-header{padding:3.4rem 0 2.4rem;position:relative;overflow:hidden;background-image:linear-gradient(var(--bg-hero-top), var(--bg) 65%);border-bottom:1px solid var(--line)}.page-header::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px),linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:42px 42px, 42px 42px;background-position:-1px -1px, -1px -1px}.page-header .wrap{position:relative;z-index:1;max-width:760px}.page-header h1{font-size:36px;font-weight:800;margin-bottom:0.6rem}.page-header p.lede{font-size:16px;color:var(--text-soft);line-height:1.6;margin:0}.page-body{max-width:760px;margin:0 auto;padding:3rem 1.7rem 5rem}.page-body.wide{max-width:980px}.page-body h2{font-size:21px;font-weight:700;margin:2.2rem 0 0.9rem}.page-body h2:first-child{margin-top:0}.page-body p{font-size:15px;line-height:1.7;color:var(--text-soft);margin:0 0 1.2rem}.page-body ul,.page-body ol{font-size:15px;line-height:1.7;color:var(--text-soft);margin:0 0 1.2rem;padding-left:1.3rem}.page-body li{margin-bottom:0.4rem}.page-body a{color:var(--accent-text)}.page-body strong{color:var(--text);font-weight:600}.page-body code{font-family:var(--font-mono);background:var(--code-surface-2);border:1px solid var(--code-line);border-radius:4px;padding:0.08em 0.4em;color:var(--accent-hi);font-size:0.9em}.page-meta{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);margin-top:0.9rem}.services-intro{font-size:17px;line-height:1.65;color:var(--text);margin:0 0 2.2rem;font-weight:500}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin-bottom:2.6rem}@media (max-width: 760px){.service-grid{grid-template-columns:1fr}}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.8rem 1.7rem;transition:border-color 0.15s ease, transform 0.15s ease}.service-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.service-icon{width:40px;height:40px;border-radius:10px;background:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}.service-icon svg{width:20px;height:20px;stroke:var(--accent-ink)}.service-card h2{margin-top:0}.service-feats-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);margin:1.3rem 0 0.7rem}.service-feats{list-style:none;margin:0 0 1.2rem;padding:0;display:flex;flex-direction:column;gap:0.55rem}.service-feats li{display:flex;gap:0.55rem;align-items:flex-start;font-size:13.5px;color:var(--text);margin:0}.service-feats li svg{width:15px;height:15px;flex:none;margin-top:2px;stroke:var(--trace-a)}.service-note{font-size:13.5px;color:var(--muted);margin:0}.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.6rem 1.7rem 1.8rem;margin:1.5rem 0 2.4rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 560px){.form-row{grid-template-columns:1fr}}.form-field{margin-bottom:1rem}.form-field label{display:block;font-family:var(--font-display);font-weight:600;font-size:12.5px;color:var(--text);margin-bottom:0.4rem}.form-field input,.form-field select,.form-field textarea{width:100%;font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;padding:0.62rem 0.8rem}.form-field textarea{resize:vertical;min-height:100px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}.contact-form .btn{margin-top:0.3rem}.flow-panel{background:var(--code-bg);border:1px solid var(--code-line-strong);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.flow-bar{display:flex;align-items:center;gap:0.7rem;padding:0.7rem 1rem;border-bottom:1px solid var(--code-line);background:var(--code-surface-2)}.flow-bar .dots{display:flex;gap:0.35rem}.flow-bar .dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.16)}.flow-bar-label{font-family:var(--font-mono);font-size:11px;color:var(--code-text-soft)}.flow-body{padding:2.4rem 1.6rem 2.1rem}.flow-stages{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:start}.flow-stage{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.55rem;padding:0 0.4rem}.flow-stage-icon{width:40px;height:40px;border-radius:10px;background:var(--code-surface-2);border:1px solid var(--code-line-strong);display:flex;align-items:center;justify-content:center;flex:none}.flow-stage-icon svg{width:20px;height:20px;stroke:var(--trace-a)}.flow-stage.accent .flow-stage-icon{background:var(--accent);border-color:transparent}.flow-stage.accent .flow-stage-icon svg{stroke:var(--accent-ink)}.flow-stage.optional .flow-stage-icon{border-style:dashed}.flow-stage-title{font-family:var(--font-mono);font-weight:600;font-size:12px;color:var(--code-text)}.flow-stage-sub{font-size:10.5px;color:var(--code-muted);line-height:1.4;max-width:14ch}.flow-stage-tag{font-family:var(--font-mono);font-size:8.5px;letter-spacing:0.04em;text-transform:uppercase;color:var(--code-muted);border:1px solid var(--code-line-strong);border-radius:999px;padding:0.1rem 0.4rem;margin-top:0.1rem}.flow-connector{display:flex;align-items:center;justify-content:center;padding-top:20px}.flow-connector svg{width:18px;height:18px;stroke:var(--code-line-strong)}@media (max-width: 860px){.flow-stages{grid-template-columns:1fr;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.flow-connector{padding-top:0;transform:rotate(90deg)}}.flow-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid var(--code-line)}@media (max-width: 760px){.flow-outcomes{grid-template-columns:1fr}}.flow-outcome{display:flex;align-items:center;gap:0.85rem;padding:0.9rem 1.05rem;border-radius:10px;border:1px solid var(--code-line)}.flow-outcome.ok{background:var(--ok-soft);border-color:rgba(107,214,124,0.3)}.flow-outcome.err{background:var(--err-soft);border-color:rgba(240,104,95,0.3)}.flow-outcome-badge{font-family:var(--font-mono);font-weight:700;font-size:10.5px;letter-spacing:0.03em;padding:0.3rem 0.6rem;border-radius:999px;flex:none}.flow-outcome.ok .flow-outcome-badge{color:var(--ok);background:rgba(107,214,124,0.18)}.flow-outcome.err .flow-outcome-badge{color:var(--err);background:rgba(240,104,95,0.18)}.flow-outcome-text{font-size:12.5px;color:var(--code-text-soft);line-height:1.5}.flow-outcome-text strong{color:var(--code-text);font-weight:600}.flow-note{font-size:12px;color:var(--muted);line-height:1.6;margin:1.4rem 0 0;text-align:center}
