/* Layout: ranch-ledger app — slab wordmark header, illustrated pasture hero, a sticky verdict strip, then tabbed work areas (Decide, Markets, Feed, Buy, Feedback) */
:root{
  --bg:#f3f4ef; --panel:#ffffff; --ink:#1b211c; --muted:#5b665d; --line:#d8ddd2; --soft:#eef1ea;
  --accent:#2c6a3a; --accent-ink:#ffffff; --accent-soft:#e1ede0; --gold:#a06c0c; --gold-soft:#f5ead2;
  --good:#2c7a33; --bad:#b33a2d; --grid:#e6e9e1;
  --sky1:#c9dde2; --sky2:#f1dcae; --sun:#f3c165; --hill-far:#a9bd9c; --hill-far-ink:#8ea383; --hill-mid:#759866; --fence:#5b4a35; --bale:#c99a4a; --bale-line:#8d6a2e; --cattle-far:#2b3327; --hill-near:#46703f; --cattle:#171b16; --hero-ink:#1b211c; --hero-sub:#3b463d;
  --f-display:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
  --f-body:"Source Sans 3","Segoe UI",Helvetica,Arial,sans-serif;
  --f-num:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#121713; --panel:#1a211c; --ink:#e6ebe4; --muted:#9ba89d; --line:#2e3931; --soft:#202923;
  --accent:#7cc287; --accent-ink:#0f1a11; --accent-soft:#223527; --gold:#e1b04f; --gold-soft:#3a3020;
  --good:#7fcf83; --bad:#ef8a7e; --grid:#252e28;
  --sky1:#0f1622; --sky2:#2d3550; --sun:#e7e1c6; --hill-far:#253529; --hill-far-ink:#1b281f; --hill-mid:#1d2d22; --fence:#0f1711; --bale:#5d4a2a; --bale-line:#3a2e19; --cattle-far:#0c120d; --hill-near:#16251a; --cattle:#050806; --hero-ink:#eef0e6; --hero-sub:#c9cfc4;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121713; --panel:#1a211c; --ink:#e6ebe4; --muted:#9ba89d; --line:#2e3931; --soft:#202923;
  --accent:#7cc287; --accent-ink:#0f1a11; --accent-soft:#223527; --gold:#e1b04f; --gold-soft:#3a3020;
  --good:#7fcf83; --bad:#ef8a7e; --grid:#252e28;
  --sky1:#0f1622; --sky2:#2d3550; --sun:#e7e1c6; --hill-far:#253529; --hill-far-ink:#1b281f; --hill-mid:#1d2d22; --fence:#0f1711; --bale:#5d4a2a; --bale-line:#3a2e19; --cattle-far:#0c120d; --hill-near:#16251a; --cattle:#050806; --hero-ink:#eef0e6; --hero-sub:#c9cfc4;
  color-scheme:dark}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;padding-bottom:40px}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1120px;margin:0 auto}
a{color:var(--accent)}
/* header */
.top{background:var(--panel);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.mark{width:38px;height:38px;flex:none}
.word{font-family:var(--f-display);font-weight:700;font-size:1.65rem;letter-spacing:.005em;line-height:1}
.word span{color:var(--accent)}
.by{font-size:.78rem;color:var(--muted);display:block;font-family:var(--f-body);font-weight:400;letter-spacing:.02em;margin-top:2px}
.chip{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:var(--gold-soft);border-radius:999px;padding:3px 10px}
/* hero */
.hero{position:relative;overflow:hidden;background:#2a2a20 url("../img/hero.jpg") center 62%/cover no-repeat;min-height:420px;min-height:clamp(340px,36vw,460px);display:flex;flex-direction:column}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,20,14,.78) 0%,rgba(14,20,14,.52) 38%,rgba(14,20,14,.08) 68%,rgba(14,20,14,0) 100%),linear-gradient(0deg,rgba(14,20,14,.35) 0%,rgba(14,20,14,0) 30%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;padding-block:44px 40px;width:100%}
.hero h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2rem,4.8vw,3.3rem);line-height:1.04;margin:0;color:#fbf7ee;max-width:15ch;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero p{color:#efe9dc;max-width:44ch;margin:12px 0 0;font-size:1.05rem;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero .credit{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:8px;z-index:1;font-size:.68rem;color:rgba(255,255,255,.7)}
@media (max-width:620px){.hero{min-height:300px;background-position:30% 70%}.hero .wrap{padding-block:28px 34px}.hero p{font-size:.96rem}.hero::after{background:linear-gradient(180deg,rgba(14,20,14,.72) 0%,rgba(14,20,14,.45) 55%,rgba(14,20,14,.15) 100%)}}
.photo{border-radius:8px;overflow:hidden;position:relative;min-height:200px;background:#3a3a2c center 40%/cover no-repeat;display:flex;align-items:flex-end}
.photo span{max-width:30ch;position:relative;z-index:1;color:#fbf7ee;font-family:var(--f-display);font-weight:700;font-size:1.25rem;padding:14px 16px;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.photo.stocker{background-image:url("../img/stocker.jpg")}
.photo.gate{background-image:url("../img/gate.jpg");background-position:center 28%}
.photo.sale{background-image:url("../img/sale.jpg");background-position:center 45%}
.photo.feedimg{background-image:url("../img/feed.jpg");background-position:center 50%}
.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,20,14,.7) 0%,rgba(14,20,14,0) 60%)}
/* sticky verdict strip + tabs */
.strip{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--panel)}
.strip .wrap{display:flex;flex-direction:column;gap:8px;padding-block:8px}
.sum{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:.95rem}
.sum b{font-family:var(--f-display);font-size:1.15rem}
.sum .pos{color:var(--good)}.sum .neg{color:var(--bad)}
.sum small{color:var(--muted)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;font:inherit;font-weight:600;font-size:.92rem;background:transparent;color:var(--muted);border:0;border-bottom:3px solid transparent;padding:6px 12px 7px;cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
main .wrap{padding-block:18px;display:flex;flex-direction:column;gap:16px}
.cols{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:880px){.cols{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
h2{font-family:var(--f-display);font-weight:700;font-size:1.35rem;margin:0;line-height:1.15}
h3{font-family:var(--f-display);font-weight:600;font-size:1.1rem;margin:0}
.ph{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.lbl{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:8px}
.row label{font-size:.92rem}
.u{display:block;font-size:.74rem;color:var(--muted)}
input,select,textarea{font:inherit;font-family:var(--f-num);font-size:.9rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 9px;width:100%;min-width:0}
textarea{font-family:var(--f-body);min-height:72px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
button{font:inherit;font-weight:600;background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:8px 14px;cursor:pointer}
button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.zip{display:flex;gap:8px}.zip input{flex:1}
.seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.seg button{flex:1;background:transparent;color:var(--ink);border-radius:0;padding:7px 6px;font-size:.88rem}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.note{font-size:.84rem;color:var(--muted);margin:0}
.ex{font-size:.68rem;font-weight:700;color:var(--gold);background:var(--gold-soft);border-radius:3px;padding:1px 6px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.verdict{border-left:5px solid var(--gold);background:var(--gold-soft);padding:12px 14px;border-radius:0 6px 6px 0}
.verdict.sell{border-color:var(--accent);background:var(--accent-soft)}
.verdict strong{font-family:var(--f-display);font-size:1.3rem;display:block;line-height:1.2;margin-bottom:4px}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th{font-family:var(--f-body);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--muted);text-align:right;padding:6px 8px;border-bottom:1.5px solid var(--ink);white-space:nowrap}
th:first-child,td:first-child{text-align:left}
td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--f-num);font-variant-numeric:tabular-nums;white-space:nowrap}
td:first-child{font-family:var(--f-body);font-weight:600;white-space:normal}
tr.best td{background:var(--gold-soft)}
.pos{color:var(--good)}.neg{color:var(--bad)}
.src{display:block;font-family:var(--f-body);font-size:.72rem;color:var(--muted);font-weight:400}
.markets{display:flex;flex-direction:column;gap:6px}
.mkt{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font-weight:400;text-align:left}
.mkt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.mkt b{font-weight:600}.mkt .d{font-family:var(--f-num);font-size:.74rem;color:var(--muted)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.mkt[aria-pressed="true"] .dot{background:var(--accent)}
.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:16px;font-size:.82rem;color:var(--muted);flex-wrap:wrap}
.legend i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:6px}
.kv{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:5px 0;font-size:.9rem}
.kv span:last-child{font-family:var(--f-num);font-variant-numeric:tabular-nums;text-align:right}
.big{font-family:var(--f-display);font-size:2.1rem;font-weight:700;color:var(--accent);line-height:1}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
details.upd{border:1px dashed var(--line);border-radius:6px;padding:8px 10px}
details.upd summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--accent)}
details.upd[open]{display:flex;flex-direction:column;gap:8px}
.ing td,.ing th{padding:4px 4px;font-size:.8rem}
.ing td:first-child{font-weight:400;font-size:.82rem;line-height:1.25}
.ing input{padding:4px 5px;font-size:.8rem;width:66px}
.nrc{border:1px solid var(--accent);background:var(--accent-soft);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}
.nrc .price{font-family:var(--f-display);font-size:2rem;font-weight:700;line-height:1}
.bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--grid)}
.bar span{display:block;height:100%}
.keys{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted)}
.keys i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle}
.fb fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.fb legend{font-weight:600;font-size:.95rem;margin-bottom:4px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opts label{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:.88rem;cursor:pointer;background:var(--bg)}
.opts input{width:auto;accent-color:var(--accent)}
.stars{display:flex;gap:4px}
.stars button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:6px 0;width:44px;font-family:var(--f-num)}
.stars button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.copybox{font-family:var(--f-num);font-size:.78rem;white-space:pre-wrap;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:10px;max-height:220px;overflow:auto}
.resp{border:1px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:.9rem}
.resp .who{font-weight:700}
footer{font-size:.8rem;color:var(--muted)}
footer .wrap{border-top:1px solid var(--line);padding-block:14px;display:flex;flex-direction:column;gap:6px}
[role="tabpanel"]{display:flex;flex-direction:column;gap:16px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
