:root{--forest:#105a34;--leaf:#2b8536;--sprout:#66b336;--lime:#95cd50;--water:#3293dd;--action:#1f74c4;--caution:#d9a441;--caution-ink:#8a6210;--alert:#b5462f;--ink:#0e2a1c;--body:#3a4a40;--muted:#66746a;--line:#e2e6da;--leaf-tint:#eaf4e0;--water-tint:#e6f1fb;--paper:#fafaf6;--card:#fff;--sans:"Figtree", Helvetica, Arial, sans-serif;--mono:"DM Mono", ui-monospace, Menlo, monospace;--r-control:12px;--r-card:16px;--tap:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45}a{color:var(--action);text-decoration:none}a:hover{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}img{max-width:100%}.shell{min-height:100%;display:flex}.sidebar{display:none}.main{flex-direction:column;flex:1;min-width:0;display:flex}.page{flex-direction:column;gap:16px;width:100%;max-width:760px;margin:0 auto;padding:20px 16px 200px;display:flex}.page.wide{max-width:1040px}.dock{z-index:20;background:linear-gradient(#fafaf600, var(--paper) 22%);padding-top:14px;position:fixed;bottom:0;left:0;right:0}.dock-inner{max-width:760px;margin:0 auto;padding:0 12px}.tabs{background:var(--paper);padding:8px 4px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:10px;display:flex}.tab{min-height:var(--tap);color:var(--muted);border-radius:var(--r-control);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.tab.active{color:var(--ink);font-weight:600}.tab svg{width:22px;height:22px}@media (width>=960px){.sidebar{border-right:1px solid var(--line);background:var(--paper);flex-direction:column;flex:none;gap:4px;width:240px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar .brand{padding:4px 10px 20px}.side-link{min-height:var(--tap);border-radius:var(--r-control);color:var(--body);align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex}.side-link.active{background:var(--leaf-tint);color:var(--ink);font-weight:600}.side-link svg{width:20px;height:20px}.sidebar .spacer{flex:1}.tabs{display:none}.dock{padding-bottom:16px;left:240px}.page{padding:32px 32px 160px}}.lockup{align-items:center;gap:6px;display:inline-flex}.lockup img{width:auto;height:1.1em;display:block}.wordmark{font-family:var(--sans);letter-spacing:-.045em;color:var(--forest);font-weight:800;line-height:1}.mark-tile{background:var(--paper);border-radius:50%;flex:none;place-items:center;display:grid}.eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.eyebrow.blue{color:var(--action)}.eyebrow.green{color:var(--leaf)}.eyebrow.amber{color:var(--caution-ink)}.eyebrow.red{color:var(--alert)}.eyebrow.lime{color:var(--lime)}.title{letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1.15}.h2{letter-spacing:-.01em;font-size:20px;font-weight:600}.h3{font-size:16px;font-weight:600}.muted{color:var(--muted)}.body{color:var(--body)}.small{font-size:13px}.tiny{font-size:12px}.mono{font-family:var(--mono)}.num{font-family:var(--mono);letter-spacing:-.02em;font-weight:500}.pre{white-space:pre-wrap}.center{text-align:center}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.row.base{align-items:baseline}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.stack{flex-direction:column;gap:12px;display:flex}.stack.tight{gap:6px}.stack.loose{gap:20px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.grow{flex:1;min-width:0}.right{margin-left:auto}@media (width>=720px){.cards-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;gap:10px;padding:16px;display:flex}.card.forest{background:var(--forest);border-color:var(--forest);color:#fff}.card.tint{background:var(--leaf-tint);border-color:var(--leaf-tint)}.card.water{background:var(--water-tint);border-color:var(--water-tint)}.card.dashed{border-style:dashed;border-color:#c8cfbf}.card.link{color:inherit;transition:border-color .15s}.card.link:hover{border-color:var(--forest);color:inherit}.card.flush{gap:0;padding:0;overflow:hidden}.list>*+*{border-top:1px solid var(--line)}.list-row{color:inherit;min-height:var(--tap);align-items:center;gap:12px;padding:12px 14px;display:flex}a.list-row:hover{background:var(--paper);color:inherit}.divider{background:var(--line);height:1px}.btn{min-height:var(--tap);border-radius:var(--r-control);cursor:pointer;text-align:center;background:var(--action);color:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:600;display:inline-flex}.btn:hover{color:#fff;background:#185f9f}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.outline{border-color:var(--forest);color:var(--ink);background:0 0}.btn.outline:hover{background:var(--leaf-tint)}.btn.soft{background:var(--water-tint);color:var(--action)}.btn.soft:hover{background:#d5e8f8}.btn.ghost{color:var(--action);background:0 0;padding:0 10px}.btn.ghost:hover{background:var(--water-tint)}.btn.danger{color:var(--alert);background:0 0;border-color:#e7c4bb}.btn.danger:hover{background:#fbeeea}.btn.small{min-height:40px;padding:0 14px;font-size:14px}.btn.block{width:100%}.btn.forest{background:var(--forest)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--forest);cursor:pointer;background:#fff;border-radius:999px;align-items:center;min-height:44px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.chip.on{background:var(--forest);color:#fff}.chip.help{background:var(--water-tint);color:var(--action);border-color:var(--water-tint);font-weight:600}.card.forest .chip{color:#fff;background:0 0;border-color:#ffffff59}.card.forest .chip.help{background:var(--action);border-color:var(--action)}.choice{border-radius:var(--r-control);border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 16px;display:flex}.choice:hover{border-color:var(--forest)}.choice.on{border:1.5px solid var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#fff}.choice.help{background:var(--water-tint);border-color:var(--water-tint);color:var(--action);font-weight:600}.choice .label{font-weight:600}label.field{color:var(--body);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.input,select.input,textarea.input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--r-control);color:var(--ink);background:#fff;padding:10px 14px;font-size:16px}textarea.input{resize:vertical;min-height:96px;line-height:1.45}.input:focus,.chip:focus-visible,.btn:focus-visible,.choice:focus-visible{outline:2px solid var(--action);outline-offset:2px}.input-suffix{position:relative}.input-suffix .input{padding-right:64px}.input-suffix span{font-family:var(--mono);color:var(--muted);pointer-events:none;font-size:13px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.seg{border:1px solid var(--line);border-radius:var(--r-control);background:#fff;align-self:flex-start;display:inline-flex;overflow:hidden}.seg button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:14px;font-weight:500}.seg button.on{background:var(--forest);color:#fff}.error{color:var(--alert);border-radius:var(--r-control);background:#fbeeea;padding:10px 14px;font-size:14px}.notice{background:var(--water-tint);color:#18568f;border-radius:var(--r-control);padding:10px 14px;font-size:14px}.tag{background:var(--leaf-tint);color:var(--leaf);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.tag.amber{color:var(--caution-ink);background:#fbf1dc}.tag.blue{background:var(--water-tint);color:var(--action)}.tag.grey{color:var(--muted);background:#eef0ea}.tag.red{color:var(--alert);background:#fbeeea}.bar{background:var(--leaf-tint);border-radius:3px;height:6px;overflow:hidden}.bar>div{background:var(--sprout);border-radius:3px;height:100%}.dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.stat{flex-direction:column;gap:2px;display:flex}.stat .v{font-family:var(--mono);letter-spacing:-.02em;font-size:22px;font-weight:500}.stat .v small{opacity:.65;font-size:12px;font-weight:400}.stat .k{opacity:.7;font-size:11px}.bars{align-items:flex-end;gap:5px;height:56px;display:flex}.bars>div{background:var(--water);border-radius:2px;flex:1;min-height:2px}.bars-labels{font-family:var(--mono);color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.kv{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 2px;font-size:14px;display:flex}.kv>:first-child{color:var(--muted)}.kv>:last-child{text-align:right;font-weight:500}.askbar{background:var(--forest);border-radius:999px;align-items:center;gap:8px;min-height:56px;padding:6px;display:flex}.askbar .mark-tile{width:42px;height:42px}.askbar .mark-tile img{width:25px}.askbar input{color:#fff;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:8px 4px;font-size:16px}.askbar input::placeholder{color:#ffffffb8}.round{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.round.blue{background:var(--action);border-color:var(--action)}.round.listening{background:var(--alert);border-color:var(--alert);animation:1.2s infinite pulse}.round svg{width:20px;height:20px}@keyframes pulse{50%{opacity:.7}}.photo-chip{color:#fff;align-items:center;gap:8px;padding:0 0 8px 8px;font-size:13px;display:flex}.photo-chip img{object-fit:cover;border-radius:8px;width:36px;height:36px}.bubble-q{background:var(--action);color:#fff;white-space:pre-wrap;border-radius:16px 16px 4px;align-self:flex-end;max-width:85%;padding:10px 14px}.bubble-a{border:1px solid var(--line);background:#fff;border-radius:16px 16px 16px 4px;padding:14px}.q-photo{object-fit:cover;border-radius:16px;align-self:flex-end;width:160px;height:120px}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 10px;padding-left:20px}.md li{margin:3px 0}.md h3,.md h4{margin:12px 0 6px;font-size:16px}.md strong{font-weight:600}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.back{align-items:center;gap:4px;min-height:40px;font-size:15px;font-weight:500;display:inline-flex}.sheet-backdrop{z-index:50;background:#0e2a1c66;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:560px;max-height:92vh;padding:20px 16px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;gap:14px;display:flex;overflow:auto}@media (width>=720px){.sheet-backdrop{align-items:center}.sheet{border-radius:20px}}.spinner{border:2.5px solid var(--line);border-top-color:var(--forest);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-wrap{place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth-card{flex-direction:column;gap:18px;width:100%;max-width:420px;display:flex}.steps{gap:4px;display:flex}.steps>div{background:var(--line);border-radius:2px;flex:1;height:3px}.steps>div.done{background:var(--forest)}.steps>div.now{background:var(--action)}.timeline-date{font-family:var(--mono);color:var(--muted);flex:none;width:60px;padding-top:2px;font-size:12px}.disclaimer{color:var(--muted);font-size:12px;line-height:1.4}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}.scroll-x{overflow-x:auto}.offline-bar{z-index:30;background:var(--caution);color:var(--ink);text-align:center;padding:calc(6px + env(safe-area-inset-top)) 12px 6px;font-size:13px;font-weight:500;position:sticky;top:0}.install-steps{counter-reset:step;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{counter-increment:step;align-items:flex-start;gap:12px;display:flex}.install-steps li:before{content:counter(step);background:var(--forest);color:#fff;width:28px;height:28px;font-family:var(--mono);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.code-pill{font-family:var(--mono);letter-spacing:.04em;background:var(--leaf-tint);border-radius:var(--r-control);text-align:center;-webkit-user-select:all;user-select:all;padding:10px 14px;font-size:18px;font-weight:500}
