/* FarmBot — Curiosta family stylesheet (shared tokens + farmbot site layer) */
:root{
  --ink:#0b1f2e;--ink-2:#2d4354;--muted:#5d7180;
  --sea-900:#041726;--sea-800:#06243a;--sea-700:#0a3554;--sea-500:#0f6e8c;
  --teal:#11b5a4;--teal-soft:#d8f3ef;--coral:#ff6b4a;--coral-soft:#ffe7e0;
  --sand:#f7f4ee;--card:#ffffff;--line:#e4e0d6;--ok:#14866d;--bad:#c2412d;
  --radius:16px;--nav-h:60px;
  --shadow:0 1px 2px rgba(4,23,38,.06),0 8px 24px rgba(4,23,38,.08);
  --serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  /* farmbot site layer (prefixed) */
  --fb-fallow:#c9b48a;--fb-grow:#9cc96b;--fb-canopy:#2f8a4a;--fb-harvest:#e0a03a;--fb-gap:#d5d9dd;
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nav-h) + 12px)}
body{margin:0;background:var(--sand);color:var(--ink);font:400 17px/1.62 var(--sans);-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--sea-500)}a:hover{color:var(--sea-700)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;font-optical-sizing:auto}
h1{font-size:clamp(2.3rem,5vw,4rem)}h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}h3{font-size:clamp(1.3rem,2.2vw,1.65rem)}
h4{font:700 1.1rem/1.3 var(--sans);margin:0 0 .4em}
em.s{font-family:var(--serif);font-style:italic;font-weight:500}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:780px}
.eyebrow{font:600 .78rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--sea-500);margin:0 0 .6em}
.dark .eyebrow,.hero .eyebrow{color:var(--teal)}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(4,23,38,.94);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.nav .wrap{display:flex;align-items:center;gap:20px;min-height:var(--nav-h)}
.brand{font:600 1.25rem/1 var(--serif);color:#fff;text-decoration:none;white-space:nowrap}
.brand span{color:var(--teal)}
.nav ul{display:flex;gap:4px;list-style:none;margin:0 0 0 auto;padding:0;overflow-x:auto;scrollbar-width:none}
.nav nav{min-width:0;flex:1 1 auto;display:flex}
.nav ul::-webkit-scrollbar{display:none}
.nav a.l{display:block;padding:7px 12px;border-radius:999px;color:#dfe9ef;text-decoration:none;font-size:.92rem;white-space:nowrap;transition:background .2s}
.nav a.l:hover{background:rgba(255,255,255,.08);color:#fff}.nav a.l[aria-current]{background:var(--teal-soft);color:var(--sea-900);font-weight:600}
@media(max-width:820px){.nav .wrap{flex-wrap:wrap;gap:6px;padding-top:8px;padding-bottom:8px}.nav nav{width:100%}.nav ul{margin:0;width:100%}}
/* hero */
.hero{background:radial-gradient(60% 80% at 85% 10%,rgba(17,181,164,.28),transparent 60%),radial-gradient(40% 60% at 5% 100%,rgba(255,107,74,.18),transparent 60%),var(--sea-900);color:#fff;padding:72px 0 64px}
.hero p.lead{font-size:1.18rem;color:#d4e2ea;max-width:760px}
.hero.page{padding:52px 0 44px}.hero.page h1{font-size:clamp(2rem,4.2vw,3.3rem)}
.badge{display:inline-block;font:600 .74rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--coral-soft);color:var(--sea-900);margin-right:6px}
.badge.ok{background:var(--teal-soft)}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{display:inline-block;padding:12px 20px;border-radius:999px;font-weight:600;text-decoration:none;transition:transform .15s,background .2s}
.btn-primary{background:var(--coral);color:var(--sea-900)}.btn-primary:hover{color:var(--sea-900);transform:translateY(-1px)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.08)}
/* blocks */
section.block{padding:84px 0}section.block.alt{background:var(--card)}section.block.dark{background:var(--sea-900);color:#fff}
@media(max-width:640px){body{font-size:16px}section.block{padding:56px 0}.hero{padding:52px 0 44px}}
.head{max-width:760px;margin-bottom:28px}.head p{color:var(--ink-2)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid,.grid.two{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.alt .card{background:var(--sand)}
.card p:last-child{margin-bottom:0}
a.card{color:inherit;text-decoration:none;display:block;transition:transform .2s}a.card:hover{transform:translateY(-2px)}
.stat{font:600 2.1rem/1.1 var(--serif);color:var(--sea-700)}.stat small{font:500 .9rem var(--sans);color:var(--muted)}
.cap{color:var(--muted);font-size:.9rem;margin:.6em 0 0;overflow-wrap:anywhere}
figure{margin:0}figure.card{padding:12px}figure img{border-radius:10px}
.callout{border-left:4px solid var(--coral);background:var(--coral-soft);border-radius:12px;padding:16px 18px;margin:20px 0}
.callout.info{border-color:var(--sea-500);background:var(--teal-soft)}
.tag{font:600 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:#fff3cd;color:#5a4300;vertical-align:middle;white-space:nowrap}
.tag.obs{background:var(--teal-soft);color:var(--sea-900)}
.tag.exp{background:#ffe1d9;color:#7a2410}
.refs li{overflow-wrap:anywhere;margin-bottom:6px}
table.wide{min-width:760px}
a.card{color:inherit;text-decoration:none;display:block}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font:600 .78rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);background:#fbfaf6}
tr:last-child td{border-bottom:0}td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
ul.tidy{padding-left:1.1em}ul.tidy li{margin:.3em 0}
/* crop calendar (site layer) */
.cal{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;margin:10px 0}
.cal div{font:600 .7rem/1.2 var(--mono);text-align:center;padding:10px 0 8px;border-radius:6px;color:var(--sea-900)}
.cal .fallow{background:var(--fb-fallow)}.cal .grow{background:var(--fb-grow)}.cal .canopy{background:var(--fb-canopy);color:#fff}.cal .harvest{background:var(--fb-harvest)}.cal .gap{background:repeating-linear-gradient(45deg,var(--fb-gap),var(--fb-gap) 4px,#eef0f2 4px,#eef0f2 8px)}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--ink-2)}.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:5px}
@media(max-width:600px){.cal{grid-template-columns:repeat(7,minmax(0,1fr))}}
/* footer */
footer{background:var(--sea-900);color:#c7d6df;padding:44px 0;font-size:.92rem}
footer a{color:#9fe3da}footer a:hover{color:#fff}footer .cols{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}
footer p{margin:.3em 0}

/* nav: 5 plain items; short labels on small screens so all 5 always show on one row */
.nav .short{display:none}
@media(max-width:640px){
  .nav .full{display:none}.nav .short{display:inline}
  .nav ul{gap:2px;justify-content:space-between;overflow:visible}
  .nav ul li{flex:1 1 0;min-width:0}
  .nav a.l{padding:8px 4px;text-align:center;font-size:.86rem}
}
/* plain-language helpers */
.tech{display:block;margin-top:.35em;font:500 .74rem/1.4 var(--mono);color:var(--muted);letter-spacing:.02em}
.tech a{color:inherit}
.howto{display:block;color:var(--ink-2);margin-bottom:.25em}.howto strong{color:var(--ink)}
a.gl{color:inherit;text-decoration:underline dotted var(--sea-500);text-underline-offset:3px;text-decoration-thickness:1.5px}
a.gl:hover{color:var(--sea-700)}
a.tag{text-decoration:none}a.tag:hover{filter:brightness(.96)}
ul.big li{margin-bottom:.8em}
.gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
@media(max-width:700px){.gloss{grid-template-columns:1fr}}
.gterm{background:var(--sand);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.gterm:target{outline:3px solid var(--teal);background:var(--teal-soft)}
.gterm dt{font:700 1rem/1.3 var(--sans);margin-bottom:.3em}.gterm dd{margin:0;color:var(--ink-2);font-size:.95rem}
details.techbox{margin:22px 0;background:var(--sand);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
details.techbox summary{cursor:pointer;font-weight:600}
/* footer columns */
footer .fcols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
@media(max-width:760px){footer .fcols{grid-template-columns:1fr 1fr}footer .fcols>div:first-child{grid-column:1/-1}}
@media(max-width:420px){footer .fcols{grid-template-columns:1fr}}
footer .fh{font:600 .78rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--teal);margin:0 0 .5em}
footer ul{list-style:none;margin:0;padding:0}footer li{margin:.3em 0}
footer .credits{font-size:.82rem;color:#9fb3c0;margin-top:18px}
footer .credits+.credits{margin-top:6px}
footer a.old{font-size:.82rem;color:#9fb3c0}footer a.old:hover{color:#fff}
