:root{
  --bg:#f4f1e8; --card:#fffdf7; --ink:#1d2a21; --muted:#5f6b5f; --line:#e3dccb;
  --green:#2f6b45; --green-d:#1f3a2b; --leaf:#5c9e5a; --soil:#7a5a3a; --sun:#e0a526;
  --warn:#b5541c; --cold:#2e6c9e; --radius:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif;background:var(--bg);color:var(--ink);line-height:1.45}
a{color:var(--green)}
.wrap{max-width:1080px;margin:0 auto;padding:0 14px}
.top{background:linear-gradient(135deg,var(--green-d),var(--green));color:#fff;padding:14px 0 18px;position:sticky;top:0;z-index:5;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{font-size:30px;background:rgba(255,255,255,.15);border-radius:12px;width:44px;height:44px;display:grid;place-items:center}
.brand strong{font-size:20px;letter-spacing:.3px;display:block}
.brand small{opacity:.85;font-size:12.5px}
.tier-badge{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.tier-badge.pro{background:var(--sun);color:#2a1d00;border-color:var(--sun)}
main{padding-top:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:0 1px 2px rgba(60,50,20,.05)}
.card h2{margin:0 0 10px;font-size:18px}
.card h3{margin:0 0 8px;font-size:16px}
.search-row{display:flex;gap:8px}
input[type=search],select{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%;color:var(--ink)}
input[type=search]:focus,select:focus{outline:2px solid var(--leaf);outline-offset:1px}
.btn{font:inherit;font-weight:600;border:0;border-radius:12px;padding:11px 16px;background:var(--green);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn:hover{background:var(--green-d)}
.btn.ghost{background:transparent;color:var(--green);border:1px solid var(--green);margin-top:8px;width:100%}
.btn.gold{background:linear-gradient(135deg,#f0c14b,#d49a1b);color:#2a1d00}
.results{list-style:none;padding:0;margin:10px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.results li{padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff}
.results li:last-child{border-bottom:0}
.results li:hover,.results li:focus{background:#eef5ea}
.results small{color:var(--muted)}
.prefs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.prefs label{font-size:13px;color:var(--muted);display:grid;gap:4px}
.status{padding:12px 14px;border-radius:12px;background:#eef5ea;margin-bottom:14px}
.status.err{background:#fbe9e1;color:#7a2e0c}
.hero{background:linear-gradient(160deg,#fffdf7 0%,#eaf3e3 100%)}
.hero .place{font-size:13px;color:var(--muted);margin:0}
.hero .place b{color:var(--ink);font-size:17px}
.now{display:flex;align-items:center;gap:14px;margin:8px 0 12px}
.now .icon{font-size:48px}
.now .temp{font-size:44px;font-weight:700;line-height:1}
.now .desc{color:var(--muted)}
.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.chip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.chip span{display:block;font-size:12px;color:var(--muted)}
.chip b{font-size:16px}
.zone{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:600}
.tip{display:flex;gap:12px;align-items:flex-start}
.tip .big{font-size:34px}
.tip .amt{font-size:22px;font-weight:700;color:var(--green)}
.note{font-size:13px;background:#fff7e0;border:1px solid #f0dca0;border-radius:12px;padding:10px 12px;margin-top:10px}
.alert{border-left:5px solid var(--warn);background:#fff4ec;padding:10px 12px;border-radius:10px;margin-bottom:8px}
.alert.cold{border-color:var(--cold);background:#eef5fb}
.alert.ok{border-color:var(--leaf);background:#eef5ea}
.days{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}
.day{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-align:center;scroll-snap-align:start;font-size:13px}
.day .d{font-weight:700}
.day .i{font-size:26px;margin:2px 0}
.day .t b{font-size:15px}
.day .r{color:var(--cold)}
.day.water{border-color:var(--green);background:#eaf3e3}
.day .act{margin-top:6px;font-weight:600;font-size:12px}
.day .act.go{color:var(--green)}
.day .act.skip{color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;color:var(--muted);font-weight:600}
.task{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.task:last-child{border-bottom:0}
.pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap;height:fit-content}
.pill.yes{background:#dcefd6;color:#1f5a2e}
.pill.maybe{background:#fff0c7;color:#7a5600}
.pill.no{background:#eee;color:#555}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{background:#eaf3e3;border:1px solid #cfe3c6;border-radius:999px;padding:5px 10px;font-size:13px}
.tag small{color:var(--muted)}
.muted{color:var(--muted);font-size:13px}
.upgrade{text-align:center;padding:18px 8px}
.upgrade .lock{font-size:30px}
.upgrade p{color:var(--muted);max-width:520px;margin:6px auto 14px}
.pro-locked .upgrade-host{display:block}
.disclaimer{font-size:13px;color:var(--muted);background:#f7f3e6}
.foot{font-size:12px;color:var(--muted);padding-bottom:30px}
.grid2{display:grid;gap:14px}
@media (min-width:760px){
  .wrap{padding:0 22px}
  .setup form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}
  .btn.ghost{margin-top:0;width:auto}
  .prefs{max-width:560px}
  .chips{grid-template-columns:repeat(4,1fr)}
  .pro-area{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .pro-area #alerts,.pro-area #forecast,.pro-area #waterPlan,.pro-area #planting{grid-column:1/-1}
  .pro-area.locked{display:block}
}
.fopt{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:#fff}
.fopt.best{border-color:var(--leaf);background:#f3f9ef}
.fopt.dim{opacity:.7}
.fopt .muted{margin-top:3px}
@media (min-width:760px){.pro-area #fertiliser,.pro-area #weedPlan{grid-column:1/-1}}
.pill.bad{background:#f8d7cc;color:#8a2a0a}
