:root{--bg:#eef0e8;--bg-2:#e4e8dc;--paper:#f8f9f4;--ink:#14231a;--ink-2:#3f5245;--ink-3:#5b6c60;--line:#d3d9cc;--line-strong:#b8c2b2;--accent:#f0b44c;--accent-ink:#14231a;--focus:#1d6a39;--leaf:#2e8b4e;--leaf-deep:#1d6a39;--grow:#8fa83a;--bloom:#e3a33b;--bloom-deep:#c9761f;--wilt:#a0683a;--soil:#5b4030;--soil-light:#7a5a45;--sky-top:#dce5dd;--sky-bottom:#eef0e8;--hedge:#a9c3ab;--shadow:0 1px 2px #14231a0f,0 8px 24px -12px #14231a2e;--r:10px;--r-lg:16px;--font:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--ease:cubic-bezier(.23,1,.32,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1510;--bg-2:#111c15;--paper:#15211a;--ink:#e8eee3;--ink-2:#b3c2b6;--ink-3:#8fa193;--line:#26352b;--line-strong:#344739;--accent:#f0b44c;--accent-ink:#0d1510;--focus:#8fd9a6;--leaf:#4cb36c;--leaf-deep:#2f8f4f;--grow:#a5bc4a;--bloom:#f1b64e;--bloom-deep:#e08a3a;--wilt:#b37a47;--soil:#3b2a20;--soil-light:#54392b;--sky-top:#0b1611;--sky-bottom:#15271c;--hedge:#1f3828;--shadow:0 1px 2px #0000004d,0 12px 32px -12px #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1510;--bg-2:#111c15;--paper:#15211a;--ink:#e8eee3;--ink-2:#b3c2b6;--ink-3:#8fa193;--line:#26352b;--line-strong:#344739;--accent:#f0b44c;--accent-ink:#0d1510;--focus:#8fd9a6;--leaf:#4cb36c;--leaf-deep:#2f8f4f;--grow:#a5bc4a;--bloom:#f1b64e;--bloom-deep:#e08a3a;--wilt:#b37a47;--soil:#3b2a20;--soil-light:#54392b;--sky-top:#0b1611;--sky-bottom:#15271c;--hedge:#1f3828;--shadow:0 1px 2px #0000004d,0 12px 32px -12px #0009}*{box-sizing:border-box}html{scroll-padding-top:120px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--font);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:600;line-height:1.12}p{text-wrap:pretty}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.bar{z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar .wrap{align-items:center;gap:20px;height:60px;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:9px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.brand svg{flex:none;width:20px;height:24px}.tabs{gap:2px;margin-left:8px;display:flex}.tabs a{color:var(--ink-2);white-space:nowrap;transition:background-color .15s var(--ease),color .15s var(--ease);border-radius:8px;padding:7px 11px;font-size:14.5px;font-weight:500;text-decoration:none}.tabs a:hover{background:var(--bg-2);color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.bar__end{align-items:center;gap:8px;margin-left:auto;display:flex}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--bg);white-space:nowrap;transition:transform .12s var(--ease),background-color .15s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:14.5px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.accent:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.btn.ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn.ghost:hover{border-color:var(--ink)}.btn.sm{padding:6px 12px;font-size:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.theme{border:1px solid var(--line);background:0 0;border-radius:999px;flex:none;place-items:center;width:36px;height:36px;display:grid}.theme:hover{border-color:var(--line-strong)}.who{color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.who:hover{color:var(--ink);background:var(--bg-2)}.who__mark{background:var(--leaf-deep);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12.5px;font-weight:600;display:grid}.who[data-signed-in=false] .who__mark,.dock{display:none}@media (width<=820px){.tabs,.bar .who{display:none}.bar .wrap{height:56px}.dock{z-index:60;background:var(--paper);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.dock a{color:var(--ink-3);justify-items:center;gap:3px;min-height:56px;padding:8px 2px 7px;font-size:11px;font-weight:500;text-decoration:none;display:grid}.dock svg{width:22px;height:22px}.dock a[aria-current=page]{color:var(--leaf-deep)}:root[data-theme=dark] .dock a[aria-current=page]{color:var(--leaf)}body:not(.mode-bare){padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}@media (width<=820px) and (prefers-color-scheme:dark){:root:not([data-theme=light]) .dock a[aria-current=page]{color:var(--leaf)}}.foot{border-top:1px solid var(--line);margin-top:24px}.foot .wrap{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding-top:28px;padding-bottom:40px;font-size:14px;display:flex}.foot p{max-width:56ch;margin:0}.foot nav{flex-wrap:wrap;gap:6px 18px;display:flex}.foot a{color:var(--ink-2)}.page{padding-top:48px;padding-bottom:64px}.page h1{max-width:22ch;font-size:clamp(30px,4vw,44px)}.page .lede{color:var(--ink-2);max-width:60ch;margin:12px 0 0;font-size:17px}.section-title{margin-bottom:6px;font-size:22px}.section-sub{color:var(--ink-3);margin:0 0 18px;font-size:15px}.more{color:var(--leaf-deep);margin-top:14px;font-weight:600;text-decoration:none;display:inline-block}.more:hover{text-decoration:underline}:root[data-theme=dark] .more{color:var(--leaf)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .more{color:var(--leaf)}}.prose{max-width:68ch}.prose h2{margin:36px 0 10px;font-size:22px}.prose p,.prose li{color:var(--ink-2)}.prose code{background:var(--bg-2);font-family:var(--mono);border-radius:6px;padding:1px 6px;font-size:.88em}.chip{border:1px solid var(--line);white-space:nowrap;color:var(--ink-2);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:14px;display:inline-flex}.chip .dot,.dot{background:var(--c,var(--ink-3));border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.kind{font-family:var(--mono);vertical-align:1px;border:1px solid var(--line);color:var(--ink-3);border-radius:6px;margin-left:6px;padding:1px 7px;font-size:12px;display:inline-block}.kind.major{color:var(--leaf-deep);border-color:color-mix(in srgb,var(--leaf) 50%,transparent)}.kind.release{color:var(--bloom-deep);border-color:color-mix(in srgb,var(--bloom) 60%,transparent)}.main{grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,56px);padding-top:40px;padding-bottom:32px;display:grid}@media (width<=860px){.main{grid-template-columns:1fr}}.feed{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.feed li a{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:12px 4px;text-decoration:none;display:grid}.feed li a:hover{background:var(--paper)}.feed .mini{width:44px;height:52px}.feed .what{color:var(--ink-2);font-size:15px}.feed .who{font-weight:600}.feed .when{color:var(--ink-3);white-space:nowrap;text-align:right;font-size:13px;font-family:var(--mono)}.board{border-top:1px solid var(--line)}.board h3{margin:22px 0 8px;font-size:17px}.board ol{margin:0;padding:0;list-style:none}.board li a{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 4px;text-decoration:none;display:flex}.board li a:hover{background:var(--paper)}.board .n{font-family:var(--mono);color:var(--ink-3);width:22px;font-size:14px}.board .mini{width:34px;height:40px}.board .name{flex:1;font-weight:600}.board .val{color:var(--ink-2);font-size:14px;font-family:var(--mono)}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:24px 0 0;padding:0;list-style:none;display:grid}.cards a{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:12px;text-decoration:none;display:grid}.cards a:hover{border-color:var(--line-strong)}.cards .mini{width:44px;height:52px}.cards b{font-weight:600;display:block}.cards span{color:var(--ink-3);font-size:13.5px}.pager{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.pager a,.pager span{border:1px solid var(--line);font-size:14px;font-family:var(--mono);border-radius:999px;padding:6px 14px;text-decoration:none}.pager [aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.product{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}@media (width<=860px){.product{grid-template-columns:1fr}}.product .plant-stage{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);place-items:center;min-height:300px;padding:16px;display:grid;position:sticky;top:96px}.product .plant-stage canvas{width:100%;max-width:340px;height:380px;display:block}.product .plant-stage svg{width:min(260px,70%);height:auto}@media (width<=860px){.product .plant-stage{position:static}.product .plant-stage canvas{height:300px}}.product h2.sub{margin:28px 0 10px;font-size:17px}.url{color:var(--ink-3);font-size:14px}:is(.drawer,.panel) .status{border-radius:var(--r);background:var(--paper);border:1px solid var(--line);margin-top:18px;padding:14px 16px}:is(.drawer,.panel) .status .s{letter-spacing:-.02em;font-size:20px;font-weight:600}:is(.drawer,.panel) .status .s i{color:var(--sc);font-style:normal}:is(.drawer,.panel) .status p{color:var(--ink-2);margin:4px 0 0;font-size:15px}.vig{background:var(--line);border-radius:99px;height:6px;margin-top:12px;overflow:hidden}.vig i{background:linear-gradient(90deg,var(--wilt),var(--bloom),var(--leaf));height:100%;width:var(--w);display:block}.facts{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.facts div{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:10px 12px}.facts b{font-family:var(--mono);font-size:22px;font-weight:500;display:block}.facts span{color:var(--ink-3);font-size:13px}.spark{border-bottom:1px solid var(--line);align-items:flex-end;gap:3px;height:56px;display:flex}.spark i{background:var(--leaf);border-radius:2px 2px 0 0;flex:1;min-height:2px}.spark i.q{background:var(--line)}.spark-lab{color:var(--ink-3);font-size:12px;font-family:var(--mono);justify-content:space-between;margin-top:4px;display:flex}.tl{border-left:2px solid var(--line);margin:0 0 0 6px;padding:0;list-style:none}.tl li{padding:0 0 12px 18px;font-size:15px;position:relative}.tl li:before{content:"";background:var(--leaf);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:7px;left:-7px}.tl li.fix:before{background:var(--ink-3)}.tl li.release:before{background:var(--bloom)}.tl .d{color:var(--ink-3);font-size:13px;display:block}.src{flex-wrap:wrap;gap:8px;display:flex}.src span{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:4px 11px;font-size:13.5px}.badges{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}@media (width<=560px){.badges{grid-template-columns:1fr}}.badge-box{border:1px solid var(--line);background:var(--paper);border-radius:var(--r-lg);align-content:start;justify-items:start;gap:10px;min-width:0;padding:14px;display:grid}.badge-box__label{color:var(--ink-3);font-size:12.5px;font-family:var(--mono);margin:0}.embed{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.embed code{flex:1;min-width:0}.badge-note{color:var(--ink-3);margin:10px 0 0;font-size:13.5px}.badge-box code{font-family:var(--mono);background:var(--bg-2);white-space:nowrap;border-radius:8px;width:100%;padding:8px 10px;font-size:12px;display:block;overflow-x:auto}form.stack{gap:12px;max-width:520px;margin-top:20px;display:grid}form.stack label{gap:6px;font-weight:600;display:grid}input,select,textarea{font:inherit}form.stack input,form.stack select,form.stack textarea,.field{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--paper);color:var(--ink);width:100%;padding:10px 12px;font-weight:400}.note{background:color-mix(in srgb,var(--leaf) 12%,transparent);border:1px solid color-mix(in srgb,var(--leaf) 40%,transparent);border-radius:var(--r);margin-top:16px;padding:12px 14px;font-size:15px}.note.warn{background:color-mix(in srgb,var(--bloom) 14%,transparent);border-color:color-mix(in srgb,var(--bloom) 50%,transparent)}.note code,.code{font-family:var(--mono);background:var(--bg);white-space:nowrap;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12.5px;display:block;overflow-x:auto}table.plain{border-collapse:collapse;width:100%;margin-top:12px;font-size:15px}table.plain th,table.plain td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}.how{padding:48px 0 56px}.how h2{max-width:24ch;font-size:clamp(24px,3vw,32px)}.how .cols{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px;display:grid}@media (width<=860px){.how .cols{grid-template-columns:1fr}}.how h3{margin-bottom:8px;font-size:18px}.how p{color:var(--ink-2);margin:0 0 10px;font-size:16px}.how ul{color:var(--ink-2);margin:0;padding-left:18px;font-size:15.5px}.stages{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);margin-top:36px;padding:16px;overflow:hidden}.stages canvas{display:block}#stageLabels{text-align:center;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:6px;display:grid}#stageLabels figcaption{color:var(--ink-2);font-size:13.5px}#stageLabels figcaption b{color:var(--ink);font-weight:600;display:block}#stagesFallback{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}#stagesFallback svg{width:100%;height:auto}@media (width<=720px){#stageLabels{grid-template-columns:repeat(3,1fr)}.stages{overflow-x:auto}.stages canvas{min-width:720px}}.demo{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:260px 1fr;align-items:center;gap:28px;margin-top:28px;padding:22px;display:grid}@media (width<=720px){.demo{grid-template-columns:1fr}}.demo canvas,.demo svg{width:240px;height:260px;margin:0 auto;display:block}.demo label{margin-bottom:6px;font-weight:600;display:block}.demo input[type=range]{width:100%;accent-color:var(--leaf-deep)}.demo .state{margin-top:10px;font-size:22px;font-weight:600}.demo .state small{color:var(--ink-2);margin-top:2px;font-size:15px;font-weight:400;display:block}.account__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;display:flex}.account__back{margin:0 0 12px;font-size:14.5px}.account__back a{color:var(--ink-2)}.account__section{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.account__section h2{margin-bottom:12px;font-size:20px}.account__danger h2{color:var(--wilt)}.steps{color:var(--ink-2);gap:10px;max-width:60ch;margin:0;padding-left:22px;display:grid}.steps b{color:var(--ink)}.plain-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.plain-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;display:flex}.plain-list .mono{color:var(--ink-3);margin-left:6px;font-size:13px}.inline-form{flex-wrap:wrap;gap:8px;max-width:520px;margin-top:12px;display:flex}.inline-form .field{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--paper);min-width:200px;color:var(--ink);flex:1;padding:9px 12px}.cards .dot{width:8px;height:8px;margin-right:2px}@media (width<=820px){.btn,.btn.sm{min-height:40px}.page h1{font-size:28px}.facts b{font-size:19px}.product .plant-stage{min-height:0;padding:10px}.product .plant-stage canvas{height:240px}.badge-box code{font-size:11px}}.species canvas{width:100%;display:block}.species__labels{text-align:center;color:var(--ink-3);grid-template-columns:repeat(8,1fr);gap:8px;margin:8px 0 0;padding:0;font-size:12.5px;list-style:none;display:grid}.species__labels b{color:var(--ink);font-size:14px;display:block}@media (width<=860px){.species__labels{grid-template-columns:repeat(4,1fr)}}.species-pick{border:0;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:0;padding:0;display:grid}.species-pick legend{grid-column:1/-1;margin-bottom:8px;padding:0}.species-pick legend small{color:var(--ink-3);font-size:14px;display:block}.species-pick label{border:1px solid var(--line);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px;font-size:14px;display:flex}.species-pick label:has(input:checked){border-color:var(--ink);background:var(--bg-2)}.species-pick label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.species-pick input{opacity:0;pointer-events:none;position:absolute}.species-pick svg{width:64px;height:90px}
