@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/assets/jbm.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; scrollbar-width: thin; scrollbar-color: var(--border-bright) var(--mantle); } *::-webkit-scrollbar { width: 10px; height: 10px; } *::-webkit-scrollbar-track { background: var(--mantle); } *::-webkit-scrollbar-thumb { background: var(--border-bright); border: 2px solid var(--mantle); border-radius: 999px; } *::-webkit-scrollbar-thumb:hover { background: var(--text-dim); } *::-webkit-scrollbar-corner { background: var(--mantle); } :root { --base: #11111b; --surface: #1e1e2e; --mantle: #181825; --overlay: #262637; --border: #313244; --border-bright: #45475a; --white: #cdd6f4; --text: #a6adc8; --text-dim: #6c7086; --text-faint: #45475a; --green: #a6e3a1; --blue: #89b4fa; --red: #f38ba8; --yellow: #f9e2af; --mauve: #cba6f7; --max-w: 880px; } html { background: var(--base); color: var(--text); font-family: "JetBrains Mono", monospace; font-size: 17px; -webkit-font-smoothing: antialiased; scroll-behavior: smooth; } body { overflow-x: clip; } code, pre, kbd, samp { font-family: inherit; } a { color: var(--text); text-decoration: none; border-bottom: 1px solid var(--border); transition: color 0.15s, border-color 0.15s; } a:hover { color: var(--green); border-color: var(--green); } ::selection { background: var(--overlay); color: var(--white); } /* ── State dots ── */ .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; } .dot-blocked { background: var(--red); } .dot-working { background: var(--yellow); } .dot-done { background: var(--blue); } .dot-idle { background: var(--green); } .text-blocked { color: var(--red); } .text-working { color: var(--yellow); } .text-done { color: var(--blue); } .text-idle { color: var(--green); } /* ── Sections ── */ .section { max-width: var(--max-w); margin: 0 auto; padding: 0 2rem; } .section-rule { border: none; border-top: 1px solid var(--border); max-width: var(--max-w); margin: 0 auto; } .gap { height: 5rem; } .gap-lg { height: 7rem; } .gap-sm { height: 3rem; } .section-heading { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 2rem; } .section-heading h2 { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; color: var(--text-dim); } /* ── Hero ── */ .hero { position: relative; max-width: var(--max-w); margin: 0 auto; padding: 6rem 2rem 0; overflow: hidden; } .hero-pasture { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; } .hero > *:not(.hero-pasture) { position: relative; z-index: 1; } .hero .sheep-el { position: absolute; font-family: "JetBrains Mono", monospace; line-height: 1.15; white-space: pre; pointer-events: none; user-select: none; will-change: transform; } .hero-logo { width: 56px; height: 56px; border-radius: 14px; margin-right: 1rem; vertical-align: middle; } .hero-name { font-size: 1.5rem; font-weight: 500; text-transform: lowercase; letter-spacing: 0.05em; color: var(--white); margin-bottom: 2rem; display: inline-block; } .hero-tagline { font-size: 2.75rem; font-weight: 700; color: var(--white); letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 1.5rem; } .hero-dots { display: flex; gap: 0.6rem; margin-bottom: 3rem; } .hero-dots .dot { width: 10px; height: 10px; } .manifesto { font-size: 1rem; line-height: 1.9; color: var(--text-dim); margin-bottom: 3rem; } .manifesto p + p { margin-top: 1rem; } .manifesto strong { color: var(--white); font-weight: 500; } .mouse-native-line span:not(.mouse-native-pill) { transition: color 0.2s ease; } .mouse-native-line:hover span:not(.mouse-native-pill) { color: var(--white); } .mouse-native-pill { color: var(--green); transition: text-shadow 0.2s ease; } .mouse-native-line:hover .mouse-native-pill { text-shadow: 0 0 8px rgba(166, 227, 161, 0.35); } .install-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; flex-wrap: wrap; } .install-box { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--mantle); border: 1px solid var(--border); border-radius: 6px; padding: 0.55rem 0.9rem; font-size: 0.875rem; max-width: 100%; } .install-box .prompt { color: var(--green); } .install-box code { color: var(--text); white-space: normal; overflow-wrap: anywhere; word-break: break-word; } .copy-btn { background: none; border: 1px solid var(--border); border-radius: 4px; color: var(--text-dim); font-family: inherit; font-size: 0.75rem; padding: 0.35rem 0.6rem; cursor: pointer; transition: color 0.15s, border-color 0.15s; } .copy-btn:hover { border-color: var(--text-dim); color: var(--text); } .copy-btn.copied { border-color: var(--green); color: var(--green); } .hero-meta { font-size: 0.7rem; color: var(--text-faint); overflow-wrap: anywhere; } .hero-meta a { color: var(--text-dim); border: none; } .hero-meta a:hover { color: var(--green); } /* ── Demo ── */ .demo { max-width: var(--max-w); margin: 0 auto; padding: 0 2rem; } .demo-frame { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; } .demo-frame video { display: block; width: 100%; height: auto; } /* ── Comparison ── */ .position-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; } .position-table th { text-align: left; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-faint); padding: 0.6rem 1rem; border-bottom: 1px solid var(--border); background: var(--mantle); } .position-table th.herdr-col { color: var(--green); } .position-table td { padding: 0.5rem 1rem; color: var(--text-dim); line-height: 1.55; border-bottom: 1px solid var(--border); vertical-align: top; } .position-table tr:last-child td { border-bottom: none; } .position-table td:first-child { width: 11rem; color: var(--text); font-weight: 500; } .position-table td.herdr-col { color: var(--text); } .mark { color: var(--text-faint); } .mark-yes { color: var(--green); } /* ── Prose block ── */ .prose-block { font-size: 0.875rem; line-height: 1.85; color: var(--text-dim); } .prose-block strong { color: var(--white); font-weight: 500; } .prose-block p + p { margin-top: 1rem; } /* ── Detach flow ── */ .detach-flow { background: var(--mantle); border: 1px solid var(--border); border-radius: 6px; padding: 1.75rem 2rem; } .detach-line { font-size: 0.875rem; line-height: 2.2; color: var(--text-dim); } .detach-line .prompt { color: var(--green); } .detach-line .cmd { color: var(--white); } .detach-line .key { color: var(--blue); } .detach-line .comment { color: var(--text-faint); } .detach-line .dim { color: var(--text-faint); } /* ── Access modes ── */ .access-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; } .access-card { display: grid; grid-template-rows: auto 3.2rem 1fr auto; min-width: 0; background: var(--mantle); border: 1px solid var(--border); border-radius: 6px; padding: 1.25rem; } .access-kicker { margin-bottom: 0.75rem; font-size: 0.65rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-faint); } .access-card h3 { margin-bottom: 0.65rem; font-size: 0.9rem; font-weight: 500; color: var(--white); } .access-card p { margin-bottom: 1rem; font-size: 0.8rem; line-height: 1.7; color: var(--text-dim); } .mini-flow { display: grid; align-content: start; gap: 0.35rem; min-height: 3.6rem; padding-top: 0.85rem; border-top: 1px solid var(--border); font-size: 0.74rem; line-height: 1.6; overflow-wrap: anywhere; } .mini-flow .prompt { color: var(--green); } .mini-flow .cmd { color: var(--white); } .mini-flow .key { color: var(--blue); } .mini-flow .comment, .mini-flow .dim { color: var(--text-faint); } /* ── Mobile proof ── */ .mobile-proof { display: grid; grid-template-columns: repeat(2, minmax(0, 260px)); justify-content: center; gap: 1.25rem; margin-top: 1.75rem; } .phone-shot { min-width: 0; } .phone-shot-frame { padding: 0.75rem; border: 1px solid var(--border); border-radius: 28px; background: radial-gradient(circle at 50% 0%, rgba(137, 180, 250, 0.08), transparent 38%), var(--mantle); box-shadow: inset 0 0 0 1px rgba(205, 214, 244, 0.025); } .phone-shot img { display: block; width: 100%; height: auto; border: 1px solid var(--border-bright); border-radius: 20px; background: var(--base); } .phone-shot figcaption { margin-top: 0.65rem; font-size: 0.7rem; color: var(--text-faint); text-align: center; } .mobile-shout { margin-top: 1.25rem; font-size: 0.7rem; color: var(--text-faint); text-align: center; } .mobile-shout a { color: var(--text-dim); border-bottom: 1px solid var(--border-bright); } .mobile-shout a:hover { color: var(--green); border-color: var(--green); } /* ── Awareness ── */ .awareness-split { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 1.5rem; } .awareness-panel { display: flex; gap: 1.25rem; align-items: flex-start; } .awareness-panel-img { flex-shrink: 0; width: 240px; border: 1px solid var(--border); border-radius: 4px; overflow: hidden; } .awareness-panel-img img { display: block; width: 100%; height: auto; image-rendering: auto; } .awareness-panel-text h3 { font-size: 0.875rem; font-weight: 500; color: var(--white); margin-bottom: 0.35rem; } .awareness-panel-text p { font-size: 0.875rem; color: var(--text-dim); line-height: 1.65; } .state-bar { display: flex; gap: 2rem; padding: 0.5rem 0 0; } .state-bar-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--text-dim); } /* ── Terminal ── */ .terminal-block { background: var(--mantle); border: 1px solid var(--border); border-radius: 6px; padding: 1.75rem 2rem; } .terminal-block p { font-size: 0.875rem; line-height: 1.85; color: var(--text-dim); } .terminal-block strong { color: var(--white); font-weight: 500; } .term-pills { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 1.25rem; } .term-pill { font-size: 0.75rem; color: var(--text-dim); background: var(--base); padding: 0.2rem 0.6rem; border: 1px solid var(--border); border-radius: 4px; } /* ── Comparison ── */ .table-wrap { width: 100%; border: 1px solid var(--border); border-radius: 6px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } .agents-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; } .agents-table th { text-align: left; padding: 0.6rem 1rem; color: var(--text-faint); font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; background: var(--mantle); border-bottom: 1px solid var(--border); } .agents-table td { padding: 0.5rem 1rem; border-bottom: 1px solid var(--border); color: var(--text-dim); } .agents-table tr:last-child td { border-bottom: none; } .agents-table td:first-child { color: var(--text); font-weight: 500; } .agents-table a { border-bottom: 1px solid var(--border-bright); } .agents-table a:hover { border-color: var(--green); } .check { color: var(--green); } .partial { color: var(--yellow); } .untested { color: var(--text-faint); font-size: 0.75rem; } /* ── API ── */ .api-grid { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: 2rem; align-items: start; } .api-grid > * { min-width: 0; } .api-text p { font-size: 0.875rem; color: var(--text-dim); line-height: 1.85; margin-bottom: 0.75rem; } .api-text strong { color: var(--white); font-weight: 500; } .api-links { display: flex; gap: 0.5rem; margin-top: 0.75rem; flex-wrap: wrap; } .api-links a { font-size: 0.75rem; color: var(--text-dim); padding: 0.3rem 0.65rem; border: 1px solid var(--border); border-radius: 4px; transition: color 0.15s, border-color 0.15s; } .api-links a:hover { border-color: var(--green); color: var(--green); } .code-block { background: var(--mantle); border: 1px solid var(--border); border-radius: 6px; padding: 1.25rem 1.5rem; overflow-x: auto; -webkit-overflow-scrolling: touch; } .code-block pre { font-size: 0.72rem; line-height: 1.9; color: var(--text-dim); } .code-block .comment { color: var(--text-faint); } .code-block .cmd { color: var(--green); } .code-block .flag { color: var(--blue); } .code-block .str { color: var(--yellow); } /* ── Footer ── */ .footer { max-width: var(--max-w); margin: 0 auto; padding: 2rem 2rem 4rem; text-align: center; } .footer p { font-size: 0.7rem; color: var(--text-faint); line-height: 2; } .footer a { color: var(--text-dim); border: none; } .footer a:hover { color: var(--green); } /* ── Responsive ── */ @media (max-width: 768px) { .hero, .section, .demo, .footer { padding-left: 1.25rem; padding-right: 1.25rem; } .hero { padding-top: 4rem; } .hero-tagline { font-size: 2rem; } .manifesto { font-size: 0.875rem; } .awareness-panel { flex-direction: column; align-items: flex-start; } .awareness-panel-img { width: min(100%, 220px); } .access-grid { grid-template-columns: 1fr; } .mobile-proof { grid-template-columns: minmax(0, 260px); justify-content: center; gap: 1rem; } .phone-shot-frame { padding: 0.45rem; border-radius: 20px; } .phone-shot img { border-radius: 15px; } .api-grid { grid-template-columns: 1fr; } .state-bar { gap: 1.25rem; flex-wrap: wrap; } .position-table { min-width: 42rem; } .agents-table { min-width: 38rem; } .position-table td:first-child { width: 11rem; } } @media (max-width: 480px) { .hero { padding-top: 3rem; } .hero-tagline { font-size: 1.7rem; } .manifesto { font-size: 0.875rem; } }