:root{--paper:#fcf3e3;--ink:#0b0b0b;--inkMuted:#0b0b0ba8;--inkFaint:#0b0b0b73;--inkHair:#0b0b0b24;--inkSoft:#0b0b0b0d;--accent:#3f2b1e;--leaf:#3f6b41;--leafSoft:#3f6b411f;--warn:#8a5a1a;--radius:14px;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;--display:"MuseoModerno","Museo Moderno",var(--sans)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55}a{color:inherit}button{font-family:inherit}img{max-width:100%;display:block}.pwrap{max-width:1280px;margin:0 auto;padding:0 20px 90px}.ptop{justify-content:space-between;align-items:center;padding:20px 0 8px;display:flex}.plogo{font-family:var(--display);color:var(--ink);font-size:20px;font-weight:600;text-decoration:none}.ptop nav{gap:18px;display:flex}.ptop nav a{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--inkMuted);border-bottom:1px solid #0000;padding-bottom:2px;font-size:11px;text-decoration:none;transition:color .18s,border-color .18s}.ptop nav a:hover{color:var(--ink);border-color:var(--ink)}.phero{border-bottom:1px solid var(--inkHair);padding:34px 0 22px}.phero__eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--leaf);margin:0 0 14px;font-size:11px}.phero__title{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:clamp(32px,5.5vw,56px);font-weight:600;line-height:1.03}.phero__title em{color:var(--leaf);font-style:normal}.phero__lead{max-width:64ch;color:var(--inkMuted);margin:16px 0 0;font-size:clamp(15px,2vw,18px)}.controls{border:1px solid var(--inkHair);border-radius:var(--radius);background:#fff7ea;margin-top:24px;padding:16px 18px}.ctrlRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ctrlRow+.ctrlRow{margin-top:14px}.locInput{font-family:var(--mono);border:1px solid var(--inkHair);background:#fff;border-radius:999px;flex:260px;padding:10px 16px;font-size:14px}.locInput:focus{border-color:var(--leaf);outline:none}.btn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:999px;padding:10px 18px;font-size:12px;text-decoration:none;display:inline-block}.btn:disabled{opacity:.45;cursor:default}.btnGhost{color:var(--ink);background:0 0}.btnGhost:hover{background:var(--ink);color:var(--paper)}.field{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--inkMuted);align-items:center;gap:7px;font-size:11px;display:flex}.field select{font-family:var(--mono);border:1px solid var(--inkHair);color:var(--ink);text-transform:none;background:#fff;border-radius:8px;padding:7px 9px;font-size:12px}.ctrlLabel{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--inkFaint);width:100%;font-size:10px}.chip{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--inkMuted);border:1px solid var(--inkHair);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:10.5px;transition:all .15s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.on{background:var(--leaf);border-color:var(--leaf);color:#fff}.siteCard{border:1px dashed var(--inkHair);background:var(--leafSoft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;font-size:13px;display:flex}.siteCard b{font-weight:600}.siteCard .verify{font-family:var(--mono);color:var(--warn);letter-spacing:.04em;font-size:10px}.locErr{color:#9a2a2a;margin-top:8px;font-size:13px}.planGrid{grid-template-columns:1fr;gap:26px;margin-top:30px;display:grid}@media (width>=900px){.planGrid{grid-template-columns:1fr 340px;align-items:start}}.resultHead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.resultHead h2{font-family:var(--display);margin:0;font-size:22px;font-weight:600}.resultCount{font-family:var(--mono);letter-spacing:.08em;color:var(--inkFaint);font-size:11px}.plantList{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.pcard{border:1px solid var(--inkHair);border-radius:var(--radius);background:#fff7ea;flex-direction:column;transition:box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.pcard:hover{border-color:var(--inkMuted);box-shadow:0 10px 30px -18px #0b0b0b66}.pcard.unfit{opacity:.62}.pmedia{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,var(--inkSoft) 0 10px,transparent 10px 20px),#eef0e6;position:relative}.pmedia img{object-fit:cover;border-radius:0;width:100%;height:100%}.pmedia.empty img{display:none}.pmedia__plate,.pmedia__type{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;pointer-events:none;background:#0b0b0b8c;border-radius:3px;padding:2px 6px;font-size:9px;position:absolute}.pmedia__plate{top:7px;left:7px}.pmedia__type{bottom:7px;left:7px}.pbody{flex-direction:column;flex:1;gap:10px;min-width:0;padding:16px 17px 15px;display:flex}.pbody__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pname{font-family:var(--display);margin:0;font-size:19px;font-weight:600;line-height:1.15}.platin{color:var(--inkFaint);font-size:12.5px;font-style:italic}.pspecs{border-top:1px solid var(--inkHair);margin:0}.pspecs div{border-bottom:1px solid var(--inkSoft);grid-template-columns:7.5em 1fr;gap:10px;padding:5px 0;display:grid}.pspecs dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--inkFaint);align-self:center;margin:0;font-size:9.5px}.pspecs dd{color:var(--ink);margin:0;font-size:13px}.pspecs dd.cap{text-transform:capitalize}.badges{flex-wrap:wrap;gap:4px;display:flex}.badge{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:var(--leafSoft);color:var(--leaf);border:1px solid color-mix(in srgb,var(--leaf) 28%,transparent);border-radius:4px;padding:2px 6px;font-size:9px}.pnote{color:var(--ink);margin:0;font-size:13.5px}.preasons{flex-wrap:wrap;gap:5px 12px;font-size:11.5px;display:flex}.preasons .ok{color:var(--leaf)}.preasons .cau{color:var(--warn)}.pfooter{border-top:1px solid var(--inkHair);justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;padding-top:8px;display:flex}.psource{font-family:var(--mono);color:var(--inkFaint);max-width:60%;margin:0;font-size:9.5px;line-height:1.5}.addBtn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--leaf);color:var(--leaf);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:5px 12px;font-size:10px}.addBtn:hover,.addBtn.added{background:var(--leaf);color:#fff}.planPanel{border:1px solid var(--inkHair);border-radius:var(--radius);background:#fff7ea;padding:16px;position:sticky;top:14px}.planPanel__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.planPanel h2{font-family:var(--display);margin:0 0 4px;font-size:18px;font-weight:600}.printBtn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--inkMuted);border:1px solid var(--inkHair);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:10px}.printBtn:hover{border-color:var(--ink);color:var(--ink)}.planSite{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--inkFaint);margin:0 0 10px;font-size:10.5px}.planEmpty{color:var(--inkMuted);font-size:13px}.planItem{border-bottom:1px solid var(--inkSoft);justify-content:space-between;align-items:flex-start;gap:8px;padding:9px 0;font-size:13px;display:flex}.planItem__name{font-weight:600;display:block}.planItem__latin{color:var(--inkFaint);font-size:11.5px;font-style:italic;display:block}.planItem__meta{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--inkMuted);margin-top:2px;font-size:10px;display:block}.planItem__remove{color:var(--inkFaint);cursor:pointer;background:0 0;border:none;flex:none;font-size:15px;line-height:1}.planItem__remove:hover{color:#9a2a2a}.review{border-top:1px solid var(--inkHair);margin-top:14px;padding-top:12px}.review dl{grid-template-columns:1fr auto;gap:5px 10px;margin:0;font-size:12.5px;display:grid}.review dt{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--inkFaint);font-size:10px}.review dd{text-align:right;margin:0;font-weight:600}.review .cau{color:var(--warn);margin-top:8px;font-size:12px}.review .good{color:var(--leaf)}.consultCta{border-top:1px solid var(--inkHair);margin-top:16px;padding-top:14px}.consultCta__eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:10px}.consultCta__body{color:var(--inkMuted);margin:0 0 10px;font-size:12.5px;line-height:1.5}.consultCta__btn{text-align:center;width:100%;font-size:11px}.printFoot{display:none}.empty{text-align:center;font-family:var(--mono);color:var(--inkFaint);padding:50px 0;font-size:13px}.scope{color:var(--inkMuted);border:1px solid var(--inkHair);background:var(--inkSoft);border-radius:12px;margin-top:30px;padding:12px 14px;font-size:12.5px}.scope b{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-size:10px}.pfoot{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.pfoot a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--inkMuted);border:1px solid var(--inkHair);border-radius:999px;padding:8px 14px;font-size:11px;text-decoration:none}.pfoot a:hover{background:var(--ink);color:var(--paper)}@media print{.ptop,.phero,.controls,.planGrid>section,.pfoot,.scope,.printBtn,.planItem__remove,.consultCta{display:none!important}body{background:#fff}.pwrap{max-width:none;padding:0}.planGrid{margin-top:0;display:block}.planPanel{background:#fff;border:none;padding:0;position:static}.planItem{break-inside:avoid}.printFoot{font-family:var(--mono);letter-spacing:.06em;color:#333;border-top:1px solid #000;margin-top:24px;padding-top:12px;font-size:10px;display:block}}@media (width<=520px){.plantList{grid-template-columns:1fr}}
