:root{--bg:#f3eee2;--paper:#faf7ef;--ink:#2a2622;--soft:#4a433c;--muted:#6f675c;--line:#dcd3bf;--moss:#5b7a3c;--pine:#2f4a33;--berry:#9b2335;--berry2:#b3202f;--amber:#c98b2c;
--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace}
*{box-sizing:border-box}html{scroll-padding-top:16px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--berry);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--berry2)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}button,input,select{font:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 12px;border:1px solid var(--line)}.skip:focus{left:8px;z-index:9}
.wrap{width:min(1100px,calc(100% - 32px));margin-inline:auto}
header{background:var(--paper);border-bottom:1px solid var(--line)}.top-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand svg{width:44px;height:44px}.brand b{display:block;font:700 1.5rem/1 var(--serif);letter-spacing:-.01em}.brand small{display:block;font:.74rem/1.3 var(--sans);color:var(--muted);margin-top:3px}
.nav{display:flex;flex-wrap:wrap;gap:2px 14px}.nav a{padding:6px 2px;text-decoration:none;color:var(--soft);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.nav a:hover{color:var(--berry)}.nav a[aria-current]{color:var(--berry);border-color:var(--berry)}
main{padding:34px 0 60px;flex:1}h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2rem,4.6vw,3rem)}h2{font-size:1.55rem;margin-top:1.6em}h3{font-size:1.15rem}h2 small{font:.8rem var(--mono);color:var(--muted);margin-left:8px;letter-spacing:.04em}
.kicker{font:600 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--moss);margin:0 0 12px}.mk{font-size:1.3rem;padding-bottom:6px;border-bottom:2px solid var(--line)}
.lede{font-size:1.15rem;color:var(--soft);max-width:62ch}.small{font-size:.9rem;color:var(--muted)}.crumbs{font-size:.86rem;color:var(--muted);margin:0 0 14px}.crumbs a{color:var(--muted)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;margin-bottom:22px}.intro.solo{grid-template-columns:1fr}
.pic{margin:0}.pic svg{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 14px 30px -22px rgba(40,30,20,.6)}.pic.small{max-width:420px}figcaption{font:italic .92rem/1.45 var(--serif);color:var(--muted);margin-top:10px}
.bigicon{width:160px;height:160px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:50%;padding:30px}.bigicon svg{width:100%;height:100%;display:block}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.btn{display:inline-block;padding:10px 16px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;font-weight:600;border-radius:4px;cursor:pointer}
.btn:hover{background:var(--ink);color:var(--paper)}.btn.solid{background:var(--berry);border-color:var(--berry);color:#fff}.btn.solid:hover{background:var(--berry2);border-color:var(--berry2)}
.cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start;margin-top:20px}.prose{max-width:66ch}
.note{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:0 0 16px}.note>:last-child{margin-bottom:0}.note h3{margin-top:0}.note.hand{border:1.5px dashed var(--moss)}.note.warn{border-color:var(--berry);background:#f8ebe6}
.learned{padding-left:1.3em;margin:0}.learned li{margin-bottom:.6em}.learned li::marker{font-family:var(--mono);color:var(--berry)}ul.plain{padding-left:1.1em;margin:0}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards li{margin:0}.cards a{display:block;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);text-decoration:none;height:100%}
.cards a:hover{border-color:var(--berry)}.cards a:hover h3{color:var(--berry)}.cards svg{width:100%;height:auto;display:block;border-radius:8px}.cards h3{margin:10px 0 4px}.cards h3 small{font:italic .85rem var(--serif);color:var(--muted);margin-left:6px}.cards p{margin:0;color:var(--soft);font-size:.95rem}.cards .when{display:block;font:.74rem var(--mono);color:var(--moss);margin-top:8px}
.recipes{list-style:none;margin:0;padding:0;display:grid;gap:12px}.recipes a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}
.recipes a:hover{border-color:var(--berry)}.recipes a:hover h3{color:var(--berry)}.recipes .ico svg{width:64px;height:64px;display:block}.recipes .kind{font:.72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--moss)}.recipes h3{margin:2px 0 4px}.recipes p{margin:0;color:var(--soft);font-size:.95rem}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.filters span{font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:5px 13px;cursor:pointer}.chip:hover{border-color:var(--berry)}.chip[aria-pressed=true]{background:var(--berry);color:#fff;border-color:var(--berry)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.cal{width:100%;border-collapse:collapse}.cal th,.cal td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:center;font-size:.92rem}.cal tbody tr:last-child td{border-bottom:0}
.cal th{font:600 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cal abbr{text-decoration:none}.cal td:first-child,.cal th:first-child{text-align:left}.cal td:first-child a{color:var(--ink);font-weight:600;text-decoration:none}.cal td:first-child a:hover{color:var(--berry)}.cal .f{display:block;font:.76rem var(--sans);color:var(--muted);margin-top:2px}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#c9b38a;vertical-align:middle}.dot.peak{background:var(--berry);box-shadow:0 0 0 3px rgba(155,35,53,.2)}.legend{font:.82rem var(--sans);color:var(--muted);margin:8px 0}.empty{padding:14px;color:var(--muted);text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:10px}
.jump{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:18px 0 8px}.jump a{padding:8px 12px;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}.jump a:hover{color:var(--berry);border-color:var(--berry)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 10px}.facts div{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.facts dt{font:600 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:3px 0 0}
ul.signs{padding-left:20px}ul.signs li{margin-bottom:8px}.twins{display:grid;gap:12px}.twin{border:1px solid var(--line);border-left:5px solid var(--moss);border-radius:8px;padding:12px 14px;background:var(--paper)}.twin[data-level=bad]{border-left-color:var(--berry)}.twin b{display:block}.twin .lvl{font:.72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.twin[data-level=bad] .lvl{color:var(--berry)}
.ings{padding-left:1.1em;margin:0}.ings li{margin-bottom:5px}.steps{padding-left:1.4em}.steps li{margin-bottom:.9em;padding-left:4px}.steps li::marker{font:700 1.05rem var(--serif);color:var(--berry)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px;padding-top:18px;border-top:1px solid var(--line)}.pager a{text-decoration:none;font-weight:600}.pager small{display:block;font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pager .next{text-align:right}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 26px}.way{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.way .ico svg{width:56px;height:56px;display:block;margin-bottom:8px}.way p{font-size:.95rem;color:var(--soft)}
.tool{margin:18px 0 26px;padding:22px 24px;background:var(--paper);border:1.5px dashed var(--moss);border-radius:12px;scroll-margin-top:16px}.tool .mk{margin-top:0}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px 18px}.field{display:grid;gap:5px;align-content:start}.field label{font-weight:600;font-size:.92rem}.field small{font-size:.8rem;color:var(--muted)}
input[type=number],select{width:100%;min-width:0;font:500 1rem/1.2 var(--sans);color:var(--ink);background:var(--bg);border:1px solid #b9ae95;border-radius:5px;padding:9px 10px}
.result{margin-top:18px;padding-top:14px;border-top:1px dotted #b9ae95}.big{font:700 clamp(1.7rem,4.5vw,2.4rem)/1.1 var(--serif);margin:0 0 6px;color:var(--berry)}
.out{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:10px;margin:12px 0}.out div{background:var(--bg);padding:10px 12px;border:1px solid var(--line);border-radius:8px}.out dt{font:600 .66rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.out dd{margin:4px 0 0;font-weight:600}
.gl{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:0 34px}.gl div{padding:12px 0;border-top:1px solid var(--line)}.gl dt{font:700 1.15rem/1.25 var(--serif)}.gl dt small{font:500 .82rem var(--sans);color:var(--muted);margin-left:9px}.gl dd{margin:4px 0 0;color:var(--soft)}
.season{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}.season h2{margin-top:0}.season p{max-width:66ch}
footer{border-top:1px solid var(--line);background:var(--pine);color:#dfe5d2}footer .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:18px 48px;padding:26px 0 44px;font-size:.92rem}
footer b{font:700 1.3rem/1 var(--serif);color:#fff;display:block;margin-bottom:10px}footer p{margin:0 0 .8em;max-width:62ch}footer a{color:#e9c7b0}footer a:hover{color:#fff}footer ul{list-style:none;margin:0;padding:0;columns:2 140px}footer li{margin:0 0 .35em}
@media (max-width:900px){.intro,.cols,.season{grid-template-columns:1fr;gap:24px}.cards,.ways{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr}footer .wrap{grid-template-columns:1fr}}
@media (max-width:600px){body{font-size:16px}.cards,.ways{grid-template-columns:1fr}.cal th,.cal td{padding:8px 4px;font-size:.85rem}.cal .f{display:none}.pager{grid-template-columns:1fr}.pager .next{text-align:left}.tool{padding:16px 14px}.bigicon{width:120px;height:120px;padding:22px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{header nav,footer,.skip,.tool,.btns,.filters{display:none!important}body{background:#fff;color:#000}}
