:root{color-scheme:light;--paper:#f4f2eb;--ink:#242722;--muted:#64685f;--line:#d4d7cd;--accent:#456346;--red:#b32d25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wrap{max-width:1160px;margin:auto;padding:0 40px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:baseline;gap:11px;font-size:23px;font-weight:750;letter-spacing:-1px;text-decoration:none}.forge{position:relative;display:block;width:1.6cap;height:1cap;color:var(--red);flex:none}.forge svg{position:absolute;width:100%;height:100%;left:0;top:0;overflow:visible;fill:currentColor}.anvil{transform-origin:85px 100px;shape-rendering:geometricPrecision;filter:url(#anvil-edge)}.star,.hammer,.sparks,.dust,.heat{opacity:0}.star{transform-origin:0 0;fill:#b78437}.hammer{transform-origin:103px -8px}.sparks,.heat{color:#d99135}.dust{fill:#b78437;transform-origin:80px 40px}nav{display:flex;gap:26px;font-size:13px}nav a{text-decoration:none;padding:8px 0}.hero{position:relative;isolation:isolate;padding:62px 0 52px;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--accent);font-weight:650;margin:0 0 22px}h1{font-weight:560;font-size:clamp(38px,5.6vw,67px);line-height:1.09;letter-spacing:-2.8px;margin:0 0 24px}h1 span{color:var(--ink)}.intro{font-size:18px;max-width:610px;color:var(--muted);margin:0 0 25px}.browse{display:inline-flex;align-items:center;gap:20px;text-decoration:none;font-size:13px;font-weight:650}.browse span{color:var(--red)}.orbit{position:absolute;right:-78px;top:70px;width:245px;height:245px;border:1px solid #d9d9cd;border-radius:50%;z-index:-1}.orbit:before{content:"";position:absolute;inset:24px;border:1px solid #e0dfd4;border-radius:50%}.orbit:after{content:"";position:absolute;left:18px;top:47px;width:6px;height:6px;background:var(--red);border-radius:50%;box-shadow:0 0 0 5px var(--paper)}.collection{margin-bottom:45px}.section-label{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.section-label h2{font-size:14px;font-weight:600;letter-spacing:0;margin:0}.section-label>span{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.app{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:285px;padding:25px 0 26px;border-bottom:1px solid var(--line)}.app:after{position:absolute;content:"";bottom:-1px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s}.app:hover:after,.app:focus-within:after{width:100%}.red:after{background:#b32d25}.sightless:after{background:#b96736}.flowhook:after{background:#609745}.meta{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.symbol{font-size:23px;color:var(--accent);width:44px;height:44px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center}.status{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:3px 9px;color:var(--muted)}.app-logo{display:block;width:44px;height:44px;object-fit:contain;flex:none}.app h3{font-size:24px;line-height:1.25;letter-spacing:-.7px;margin:16px 0 10px}.app p{color:var(--muted);font-size:14px;margin:0 0 17px}.app .platform{font-size:12px;margin-top:auto;padding-top:3px}.app-link{display:inline-flex;gap:22px;align-items:center;font-size:13px;font-weight:650;text-decoration:none;border-bottom:1px solid #a5aa9c;padding:4px 0}.app-link span{font-weight:400;color:var(--muted);transition:transform .2s}.app-link:hover span{transform:translate(2px,-2px)}.soon{font-size:12px;color:var(--muted);padding:5px 0}.section-intro{font-size:14px;color:var(--muted);margin:17px 0 0}.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.agent-grid .app{min-height:255px}.agent-grid .description{max-width:440px}.os-section{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:40px;padding:36px 40px;background:#e9ece2;border:1px solid #d9dece;border-radius:4px;overflow:hidden}.os-section .eyebrow{margin-bottom:14px}.os-section h2{font-size:37px;letter-spacing:-1.2px;margin:0;line-height:1.2}.os-tagline{font-size:18px!important;color:var(--ink)!important;margin:10px 0!important}.os-section p{font-size:14px;color:var(--muted);max-width:500px;margin:12px 0 20px}.os-art{position:relative;width:215px;height:215px;display:grid;place-items:center;justify-self:center}.lichen-ring{position:absolute;border:1px solid #aab99e;border-radius:45% 55% 62% 38% / 48% 44% 56% 52%;inset:0;transform:rotate(-20deg)}.r2{inset:22px;transform:rotate(35deg);border-color:#98ad8a}.r3{inset:44px;transform:rotate(85deg)}.lichen-core{font-size:40px;font-weight:350;color:var(--accent)}.note{padding:28px 0;margin:0;max-width:760px;color:var(--muted);font-size:12px}footer{padding:24px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.prose{max-width:750px;padding-bottom:45px}.prose h2{font-size:24px;margin-top:30px;letter-spacing:-.5px}.prose p,.prose li{color:var(--muted)}code{overflow-wrap:anywhere;font-size:.9em}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:var(--paper);padding:8px;z-index:5}
/* One brief effect at a time. The scheduler supplies the quiet intervals. */
/* Stars lift out of the anvil, twinkle, then curve back into its face. */
.forge[data-effect="stars"] .star{animation:star-orbit 1.65s ease-in-out both}.s1{--outer-x:-18px;--outer-y:-24px;--arc-x:25px;--arc-y:-48px;--return-x:76px;--return-y:-22px}.s2{--outer-x:165px;--outer-y:-30px;--arc-x:185px;--arc-y:8px;--return-x:136px;--return-y:30px}.s3{--outer-x:120px;--outer-y:119px;--arc-x:50px;--arc-y:123px;--return-x:35px;--return-y:60px}.forge[data-effect="stars"] .s2{animation-delay:.06s}.forge[data-effect="stars"] .s3{animation-delay:.12s}
@keyframes star-orbit{0%{opacity:0;transform:translate(100px,12px) scale(.1) rotate(-35deg)}12%{opacity:.8}38%{opacity:1;transform:translate(var(--outer-x),var(--outer-y)) scale(1) rotate(0)}49%{opacity:.45;transform:translate(var(--outer-x),var(--outer-y)) scale(.65) rotate(12deg)}59%{opacity:1;transform:translate(var(--outer-x),var(--outer-y)) scale(1) rotate(0)}75%{opacity:.8;transform:translate(var(--arc-x),var(--arc-y)) scale(.8) rotate(35deg)}88%{opacity:.5;transform:translate(var(--return-x),var(--return-y)) scale(.5) rotate(65deg)}100%{opacity:0;transform:translate(100px,12px) scale(0) rotate(90deg)}}
/* Rotate the existing hammer so its head, rather than its handle, meets y=0. */
.forge[data-effect="hammer"] .hammer{animation:strike 1.5s ease-in-out both}.forge[data-effect="hammer"] .sparks{animation:spark 1.5s ease-out both}
@keyframes strike{0%,100%{opacity:0;transform:translate(55px,-45px) rotate(-130deg)}15%{opacity:1;transform:translate(55px,-45px) rotate(-130deg)}43%,50%{opacity:1;transform:translate(65px,-19px) rotate(-90deg)}75%{opacity:0;transform:translate(55px,-40px) rotate(-120deg)}}
@keyframes spark{0%,43%,85%,100%{opacity:0}49%{opacity:1;transform:translateY(-2px)}75%{opacity:0;transform:translateY(-14px)}}
@media(min-width:1600px){.hero{padding-top:76px;padding-bottom:65px}}@media(max-width:800px){.wrap{padding:0 28px}.grid{gap:22px}.app h3{font-size:22px}.meta{align-items:flex-start;flex-direction:column;gap:12px}.orbit{opacity:.45;right:-130px}.os-section{grid-template-columns:1fr 180px;padding:28px}.os-art{width:165px;height:165px}}@media(max-width:600px){.wrap{padding:0 22px}header{padding:22px 0;gap:12px}.brand{font-size:21px;gap:8px}nav{gap:14px;font-size:11px}nav a[href="/#agent-tools"]{display:none}.hero{padding:36px 0 35px}h1{font-size:clamp(34px,9.4vw,48px);letter-spacing:-1.6px;line-height:1.12;margin-bottom:19px}.eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:19px}.intro{font-size:16px;margin-bottom:19px}.desktop-break{display:none}.orbit{display:none}.grid,.agent-grid{grid-template-columns:1fr;gap:0}.meta{flex-direction:row;align-items:center}.app,.agent-grid .app{min-height:0;padding:24px 0}.app h3{font-size:24px}.app .platform{margin-top:0}.app p{margin-bottom:14px}.collection{margin-bottom:32px}.os-section{grid-template-columns:1fr;padding:26px;position:relative}.os-section>div:first-child{position:relative;z-index:1}.os-art{display:none}.os-section h2{font-size:32px}.os-section .eyebrow{font-size:9px}footer{flex-direction:column;gap:6px}.note{padding:25px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.star,.hammer,.sparks,.dust,.heat{opacity:0!important}}

/* Keep the catalog introduction close to its header. */
.home-hero{padding-top:32px}
@media(max-width:600px){.home-hero{padding-top:24px}}


.app.sightless h3,.app.flowhook h3{margin-bottom:4px}.app .app-tagline{font-size:10px;line-height:1.4;margin:0 0 13px;color:var(--muted)}

/* The app collection wraps naturally as new projects arrive. */
@media(min-width:601px) and (max-width:900px){#apps>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ky-hero{padding:38px 0 42px;max-width:750px}.ky-title{display:flex;align-items:center;gap:19px;margin-bottom:18px}.ky-title h1{font-size:clamp(36px,5vw,57px);margin:0;letter-spacing:-2px}.ky-title img{flex:none;object-fit:contain}.ky-hero .intro{margin-bottom:12px;font-size:21px;color:var(--ink)}.ky-summary{color:var(--muted);max-width:610px;margin:0 0 18px}.ky-hero .platform{font-size:12px;color:var(--muted)}.ky-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:22px}.ky-actions>a{font-size:13px}.ky-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}.ky-features h2{font-size:18px;letter-spacing:-.3px;margin:0 0 10px}.ky-features p{font-size:14px;color:var(--muted);margin:0}.ky-install{padding-top:10px}.ky-install pre{background:#e9ece2;border:1px solid var(--line);padding:18px 20px;overflow-x:auto;font-size:13px;border-radius:3px}.ky-install pre code{font-size:inherit}.ky-install details{border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.ky-install summary{cursor:pointer;font-weight:600}.ky-install details p{margin-bottom:5px}.ky-help{font-size:13px;margin-top:25px}@media(max-width:600px){.ky-title{gap:13px}.ky-title img{width:45px;height:45px}.ky-title h1{letter-spacing:-1.4px}.ky-hero{padding:28px 0 32px}.ky-features{grid-template-columns:1fr;gap:25px}.ky-summary{font-size:15px}.ky-hero .intro{font-size:18px}}
