.hero{position:relative;overflow:hidden;padding:84px 0 96px}.hero-grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 90% 80% at 70% 10%,rgba(0,0,0,.5),transparent 70%);-webkit-mask-image:radial-gradient(ellipse 90% 80% at 70% 10%,rgba(0,0,0,.5),transparent 70%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}.hero h1{font-size:clamp(46px,7vw,84px);font-weight:700;margin:18px 0 20px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-dot{color:var(--ink)}.hero-sub{font-size:18.5px;color:var(--ink-soft);max-width:480px}.hero-install{margin:26px 0 22px;max-width:560px;padding-right:84px;white-space:normal;overflow-wrap:anywhere}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{margin-top:18px;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-faint)}.tt-frame{background:var(--navy-2);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);border:1px solid var(--navy-3);overflow:hidden;transform:rotate(.6deg)}.tt-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--navy-3)}.tt-dot{width:11px;height:11px;border-radius:50%}.tt-dot.r{background:#ff5f57}.tt-dot.y{background:#febc2e}.tt-dot.g{background:#28c840}.tt-title{margin-left:10px;font-family:var(--font-mono);font-size:12px;color:var(--navy-ink-soft)}.tt-body{padding:18px 20px 22px;font-family:var(--font-mono);font-size:13px;line-height:1.75;color:var(--navy-ink);height:340px;overflow:hidden}.tt-prompt{color:var(--accent);font-weight:600}.tt-agent .tt-diamond{color:var(--accent)}.tt-tool{color:var(--navy-ink-soft)}.tt-ok{color:#7ee2a0}.tt-diff{margin:6px 0;border:1px solid var(--navy-line);border-radius:8px;padding:8px 12px;font-size:12.5px}.tt-diff .add{color:#7ee2a0}.tt-diff .del{color:#ff8f7e}.tt-caret{display:inline-block;width:8px;height:15px;margin-left:3px;background:var(--accent);vertical-align:-2px;animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}@media(max-width:960px){.hero{padding:56px 0 64px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-install{white-space:normal;word-break:break-all;padding-right:20px;padding-top:40px}.hero-install .copy-btn{top:8px;right:8px}.tt-frame{transform:none}}.surfaces{padding:88px 0 40px}.surface-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.surface-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 22px;text-decoration:none!important;color:var(--ink);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.surface-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-pop);border-color:var(--line-strong)}.surface-card h3{font-size:22px;margin:18px 0 6px}.surface-card p{color:var(--ink-soft);font-size:15px;margin-bottom:14px}.surface-more{font-family:var(--font-mono);font-size:12.5px;color:var(--accent-deep)}.surface-art{height:96px;border-radius:var(--r-md);display:grid;place-items:center;font-family:var(--font-mono)}.surface-cli .surface-art{background:var(--navy-2);color:var(--accent);font-size:30px;font-weight:600}.surface-desktop .surface-art{background:var(--paper-2)}.sc-window{display:block;width:120px;height:64px;background:var(--card);border:1.5px solid var(--line-strong);border-radius:10px;position:relative;padding:8px}.sc-window i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--line-strong);margin-right:4px}.sc-window i:first-child{background:var(--accent)}.surface-web .surface-art{background:linear-gradient(135deg,var(--accent-soft),var(--paper-2));color:var(--accent-deep);font-size:34px}@media(max-width:880px){.surface-cards{grid-template-columns:1fr}}.loop-band{padding:88px 0 48px}.loop-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:step;border-top:1px solid var(--line-strong)}.loop-steps li{border-right:1px dashed var(--line-strong);padding:26px 22px 30px;position:relative}.loop-steps li:first-child{padding-left:0}.loop-steps li:last-child{border-right:none}.loop-idx{font-family:var(--font-mono);font-size:12px;color:var(--accent);font-weight:600}.loop-steps h4{font-size:19px;margin:10px 0 6px}.loop-steps p{font-size:14px;color:var(--ink-soft);margin:0}@media(max-width:960px){.loop-steps{grid-template-columns:1fr 1fr}.loop-steps li{border-right:none;border-bottom:1px dashed var(--line-strong);padding-left:0}}@media(max-width:560px){.loop-steps{grid-template-columns:1fr}}.features{padding:72px 0 30px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{display:block;background:transparent;border:1px solid var(--line);border-radius:var(--r-md);padding:22px 20px;color:var(--ink);text-decoration:none!important;transition:background .16s,border-color .16s,transform .16s}.feature-card:hover{background:var(--card);border-color:var(--accent);transform:translateY(-3px)}.feature-n{font-family:var(--font-mono);font-size:12px;color:var(--accent-deep)}.feature-card h4{font-size:17.5px;margin:10px 0 6px}.feature-card p{font-size:14px;color:var(--ink-soft);margin:0}@media(max-width:1020px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.feature-grid{grid-template-columns:1fr}}.showcase-teaser{padding:88px 0 30px}.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.teaser-card{position:relative;display:block;background:var(--navy-2);color:var(--navy-ink);border-radius:var(--r-md);padding:24px 22px 20px;text-decoration:none!important;overflow:hidden;border:1px solid var(--navy-3);transition:transform .18s ease,box-shadow .18s ease}.teaser-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--pj, var(--accent))}.teaser-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -18px #141a248c}.teaser-kind{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pj, var(--accent))}.teaser-card h3{font-size:21px;margin:10px 0 6px;color:#fff}.teaser-card p{font-size:13.5px;color:var(--navy-ink-soft);min-height:60px}.teaser-tags{display:flex;flex-wrap:wrap;gap:6px}.teaser-tags span{font-family:var(--font-mono);font-size:11px;padding:3px 9px;border:1px solid var(--navy-line);border-radius:999px;color:var(--navy-ink-soft)}.teaser-cta{margin-top:30px}@media(max-width:1020px){.teaser-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.teaser-grid{grid-template-columns:1fr}}.cta-band{margin-top:96px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);border-top:1px solid var(--line);padding:80px 0 90px}.cta-inner{text-align:center;max-width:720px}.cta-inner h2{font-size:clamp(30px,5vw,52px)}.cta-install{margin:28px auto 18px;text-align:left}.cta-inner p{color:var(--ink-soft)}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-latin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--paper: #faf5ec;--paper-2: #f2ebdc;--paper-3: #eae1cd;--card: #fffdf8;--ink: #221b12;--ink-soft: #6b5f4c;--ink-faint: #9b8d75;--line: #e3d9c3;--line-strong: #d3c6a9;--accent: #e96f1e;--accent-deep: #c05411;--accent-ink: #8a3c0c;--accent-soft: rgba(233, 111, 30, .11);--accent-glow: rgba(233, 111, 30, .35);--navy: #1d2836;--navy-2: #16202c;--navy-3: #243447;--navy-line: #34465c;--navy-ink: #dce6f1;--navy-ink-soft: #8fa3ba;--ok: #2e9e5b;--warn: #d9a514;--danger: #cf3f2e;--font-display: "Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-sm: 8px;--r-md: 14px;--r-lg: 22px;--shadow-soft: 0 1px 2px rgba(60, 42, 18, .05), 0 8px 24px -12px rgba(60, 42, 18, .18);--shadow-pop: 0 2px 6px rgba(60, 42, 18, .08), 0 24px 48px -20px rgba(60, 42, 18, .3);--nav-h: 64px;--maxw: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2147483000;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.36 0 0 0 0 0.26 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;letter-spacing:-.015em;margin:0 0 .5em;text-wrap:balance}p{margin:0 0 1em}a{color:var(--accent-deep);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}code,kbd,pre{font-family:var(--font-mono)}::selection{background:var(--accent-glow);color:var(--ink)}.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}@media(max-width:640px){.container{padding:0 18px}}.mono-label{font-family:var(--font-mono);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}.mono-label:before{content:"[";color:var(--ink-faint);margin-right:6px}.mono-label:after{content:"]";color:var(--ink-faint);margin-left:6px}.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;text-decoration:none!important;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,color .14s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-soft)}.btn-primary:hover{background:var(--accent-deep);box-shadow:0 10px 30px -10px var(--accent-glow)}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 10px 26px -12px var(--accent-glow)}.btn-accent:hover{background:var(--accent-deep)}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:transparent}.btn-ghost:hover{border-color:var(--ink);background:var(--card)}.btn-sm{padding:8px 16px;font-size:14px}.site-nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.site-nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 28px;height:var(--nav-h);display:flex;align-items:center;gap:28px}.site-nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0 0 0 8px;padding:0}.site-nav-links a{position:relative;display:inline-block;padding:8px 14px;font-size:14.5px;font-weight:500;color:var(--ink-soft);text-decoration:none!important;transition:color .12s}.site-nav-links a:before,.site-nav-links a:after{font-family:var(--font-mono);font-weight:600;color:var(--accent);opacity:0;transition:opacity .14s,transform .14s;position:absolute;top:7px}.site-nav-links a:before{content:"[";left:2px;transform:translate(4px)}.site-nav-links a:after{content:"]";right:2px;transform:translate(-4px)}.site-nav-links a:hover,.site-nav-links a.active{color:var(--ink)}.site-nav-links a:hover:before,.site-nav-links a.active:before,.site-nav-links a:hover:after,.site-nav-links a.active:after{opacity:1;transform:translate(0)}.site-nav-spacer{flex:1}.nav-github{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);border:1.5px solid var(--line-strong);border-radius:999px;padding:7px 16px;text-decoration:none!important;transition:border-color .14s,background .14s}.nav-github:hover{border-color:var(--ink);background:var(--card)}.nav-burger{display:none;background:none;border:1.5px solid var(--line-strong);border-radius:9px;width:38px;height:38px;cursor:pointer;color:var(--ink);font-size:17px;line-height:1}@media(max-width:880px){.site-nav-links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:10px 18px 16px;gap:2px;box-shadow:var(--shadow-pop)}.site-nav-links.open{display:flex}.site-nav-links a{padding:12px 14px;font-size:16px}.nav-burger{display:block}.nav-github span{display:none}}.jc-logo{display:inline-flex;align-items:baseline;font-family:var(--font-mono);font-weight:600;letter-spacing:.08em;text-decoration:none!important;color:var(--ink);line-height:1}.jc-logo .br{color:var(--ink-faint);font-weight:500}.jc-logo .j,.jc-logo:hover .br{color:var(--accent)}.site-footer{margin-top:96px;background:var(--navy-2);color:var(--navy-ink-soft);border-top:4px solid var(--accent)}.site-footer .jc-logo{color:var(--navy-ink);font-size:22px}.site-footer .jc-logo .br{color:var(--navy-ink-soft)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:56px 0 40px}.footer-grid h5{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-ink);margin:0 0 14px}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.footer-grid a{color:var(--navy-ink-soft);font-size:14.5px}.footer-grid a:hover{color:#fff;text-decoration:none}.footer-tagline{font-size:14px;max-width:260px;margin-top:14px}.footer-bottom{border-top:1px solid var(--navy-line);padding:18px 0 26px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;font-size:13px}.footer-bottom a{color:var(--navy-ink-soft)}.footer-legal{display:inline-flex;gap:20px;align-items:center}@media(max-width:780px){.footer-grid{grid-template-columns:1fr 1fr;padding:44px 0 28px}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1)}.reveal.shown{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.section-head{max-width:720px;margin-bottom:44px}.section-head h2{font-size:clamp(28px,4.2vw,44px);font-weight:700;margin:14px 0 12px}.section-head .lead{font-size:17.5px;color:var(--ink-soft)}.snippet{position:relative;background:var(--navy-2);color:var(--navy-ink);border-radius:var(--r-md);font-family:var(--font-mono);font-size:13.5px;line-height:1.7;padding:18px 56px 18px 20px;white-space:normal;overflow-wrap:anywhere;box-shadow:var(--shadow-soft)}.snippet .prompt-char{color:var(--accent);-webkit-user-select:none;user-select:none}.snippet .cm{color:var(--navy-ink-soft)}.copy-btn{position:absolute;top:10px;right:10px;border:1px solid var(--navy-line);background:#ffffff0a;color:var(--navy-ink-soft);font-family:var(--font-mono);font-size:11.5px;border-radius:7px;padding:4px 10px;cursor:pointer;transition:color .12s,border-color .12s}.copy-btn:hover{color:#fff;border-color:var(--navy-ink-soft)}.copy-btn.copied{color:#7ee2a0;border-color:#2e9e5b}
