:root{
  --ink:#10150f;--forest:#172016;--forest-2:#1d271c;--moss:#2a3828;
  --paper:#e8e3d6;--paper-2:#c9c6b7;--muted:#929b8c;
  --line:rgba(232,227,214,.14);--orange:#ec6c2c;--amber:#d7a442;
  --display:'Spectral',Georgia,serif;--body:'Inter',system-ui,sans-serif;--data:'DM Mono',monospace
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;z-index:80;top:8px;left:8px;transform:translateY(-150%);padding:8px 12px;border-radius:6px;background:var(--paper);color:var(--ink)}
.skip:focus{transform:none}
.site-header{position:sticky;z-index:50;top:0;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:rgba(16,21,15,.9);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}
.site-nav{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:28px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 22px/1 var(--display);letter-spacing:-.02em}
.brand svg{width:29px;height:29px}.nav-links{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}.nav-label-short{display:none}
.nav-links>a:not(.button){color:#adb4a7;text-decoration:none}.nav-links>a[aria-current="page"]{color:var(--paper)}
.guide-section-nav{display:flex;align-items:center;gap:22px;width:max-content;max-width:100%;margin-top:42px;padding-top:17px;border-top:1px solid var(--line)}.guide-section-nav>span{color:#788373;font:500 9px var(--data);letter-spacing:.1em;text-transform:uppercase}.guide-section-nav a{position:relative;color:#aeb6a9;text-decoration:none;font:600 11px var(--data);letter-spacing:.055em;text-transform:uppercase;transition:color .18s}.guide-section-nav a:hover{color:var(--paper)}.guide-section-nav a[aria-current="page"]{color:var(--orange)}.guide-section-nav a[aria-current="page"]:after{content:"";position:absolute;right:0;bottom:-7px;left:0;height:1px;background:currentColor}.guide-section-nav a:focus-visible{outline:3px solid #8ab4ff;outline-offset:4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 19px;border:1px solid transparent;border-radius:9px;background:var(--orange);color:#160d08;text-decoration:none;font-weight:750;line-height:1;box-shadow:0 10px 30px rgba(236,108,44,.16);transition:transform .18s,background .18s}
.button:hover{transform:translateY(-2px);background:#fa7935}.button:focus-visible,a:focus-visible{outline:3px solid #8ab4ff;outline-offset:4px}
.button.ghost{border-color:var(--line);background:transparent;color:var(--paper);box-shadow:none}
.kicker{display:block;color:var(--orange);font:500 11px var(--data);letter-spacing:.1em;text-transform:uppercase}
.guide-hero{position:relative;padding:96px 0 70px;overflow:hidden;border-bottom:1px solid var(--line)}
.guide-hero:after{content:"";position:absolute;z-index:0;width:520px;height:520px;right:-150px;top:-250px;border:1px solid rgba(236,108,44,.16);border-radius:50%;box-shadow:0 0 0 72px rgba(236,108,44,.024),0 0 0 150px rgba(236,108,44,.017);pointer-events:none}
.guide-hero .wrap{position:relative;z-index:1}.guide-hero h1{max-width:820px;margin:16px 0 20px;font:500 clamp(48px,7vw,88px)/.98 var(--display);letter-spacing:-.048em;text-wrap:balance}
.guide-hero h1 em{color:#f08a50;font-weight:500}.guide-hero p{max-width:690px;margin:0;color:#abb2a5;font-size:clamp(17px,1.7vw,20px)}
.directory{padding:72px 0 110px}.directory-toolbar{position:relative;display:grid;grid-template-columns:minmax(220px,1.3fr) auto minmax(145px,.55fr) minmax(120px,.42fr);gap:12px;align-items:end;padding:18px;margin-bottom:62px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(38,50,37,.62),rgba(23,32,22,.3));box-shadow:0 22px 55px rgba(0,0,0,.13)}.search-field{position:relative;display:flex;align-items:center;height:48px}.search-field svg{position:absolute;left:15px;width:18px;height:18px;fill:none;stroke:#758071;stroke-width:1.7;pointer-events:none}.search-field input{width:100%;height:100%;padding:0 40px 0 44px;border:1px solid var(--line);border-radius:9px;background:rgba(16,21,15,.58);color:var(--paper);font:500 14px var(--body);outline:0}.search-field input::placeholder{color:#768071}.search-field input:focus,.select-filter select:focus{border-color:rgba(236,108,44,.65);box-shadow:0 0 0 3px rgba(236,108,44,.1)}.filter-chips{display:flex;gap:4px;margin:0;padding:4px;border:1px solid var(--line);border-radius:9px;background:rgba(16,21,15,.58)}.filter-chips legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.filter-chips label{cursor:pointer}.filter-chips input{position:absolute;opacity:0;pointer-events:none}.filter-chips span{display:flex;align-items:center;justify-content:center;height:38px;padding:0 11px;border-radius:6px;color:#858f81;font-size:11px;font-weight:600;white-space:nowrap}.filter-chips input:checked+span{background:rgba(232,227,214,.1);color:var(--paper)}.filter-chips input:focus-visible+span{outline:3px solid #8ab4ff;outline-offset:2px}.select-filter{display:grid;gap:5px}.select-filter>span{color:#707a6e;font:500 8px var(--data);letter-spacing:.08em;text-transform:uppercase}.select-filter select{height:48px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:9px;background:#151d14;color:#c8ccbf;font:500 12px var(--body);outline:0}.clear-filters{position:absolute;right:18px;bottom:-32px;padding:0;border:0;background:none;color:#9ea699;font:600 11px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.result-count{position:absolute;left:18px;bottom:-32px;color:#687266;font:500 9px var(--data);letter-spacing:.06em;text-transform:uppercase}.directory-group+.directory-group{padding-top:72px;margin-top:78px;border-top:1px solid var(--line)}
.directory-group-head{margin-bottom:24px}.directory-group-head h2{margin:0;font:600 clamp(34px,4vw,49px)/1.02 var(--display);letter-spacing:-.025em}
.species-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.species-card{position:relative;display:block;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(38,50,37,.54),rgba(23,32,22,.22));overflow:hidden;text-decoration:none;transition:transform .2s,border-color .2s,background .2s}
.species-card:hover{transform:translateY(-4px);border-color:rgba(236,108,44,.45);background:linear-gradient(145deg,rgba(49,64,47,.68),rgba(23,32,22,.35))}
.card-visual{position:relative;aspect-ratio:3/2;margin:0;overflow:hidden;border-bottom:1px solid var(--line);background:#20291f}.card-visual:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(16,21,15,.22));pointer-events:none}.card-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 56%;transition:transform .5s ease}.species-card:hover .card-visual img{transform:scale(1.025)}
.card-copy{padding:22px 23px 22px}.card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.card-badges{display:flex;flex-wrap:wrap;gap:6px}.card-arrow{color:#7f897c;font-size:18px;transition:color .18s,transform .18s}.species-card:hover .card-arrow{color:var(--orange);transform:translate(2px,-2px)}
.edibility-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border:1px solid rgba(130,151,113,.3);border-radius:999px;background:rgba(130,151,113,.08);color:#b5bea9;font:500 9px var(--data);letter-spacing:.06em;text-transform:uppercase}.edibility-badge.conditional{border-color:rgba(215,164,66,.36);background:rgba(215,164,66,.08);color:#d7b471}.edibility-badge.toxic{border-color:rgba(236,108,44,.4);background:rgba(236,108,44,.09);color:#ed966b}.edibility-badge.deadly{border-color:rgba(190,71,57,.48);background:rgba(190,71,57,.12);color:#ef9a8e}
.quality-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border:1px solid var(--line);border-radius:999px;color:#7e887b;font:500 9px var(--data);letter-spacing:.04em;text-transform:uppercase}.quality-badge.excellent{border-color:rgba(215,164,66,.34);color:#dbb569}.quality-badge.good{color:#9ca893}.quality-badge.low,.quality-badge.not-edible{color:#7f887c}.quality-badge.toxic,.quality-badge.deadly{display:none}
.species-card h3{margin:0 0 4px;font:600 clamp(27px,2.4vw,34px)/1 var(--display);letter-spacing:-.025em}.scientific{color:#9ca596;font-size:13px;font-style:italic}.species-card .card-copy>p{display:-webkit-box;min-height:43px;margin:18px 0 0;overflow:hidden;color:#abb2a6;font-size:13px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-season{padding:0 23px 18px}.mini-months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.mini-months>span{height:5px;border-radius:99px;background:#30382f}.mini-months>span.on{background:linear-gradient(90deg,#d4a13f,var(--orange));box-shadow:0 0 12px rgba(236,108,44,.1)}.mini-month-labels{display:flex;justify-content:space-between;margin-top:6px;color:#596257;font:500 7px var(--data);text-transform:uppercase}
.empty-directory{padding:80px 20px;text-align:center;border:1px dashed var(--line);border-radius:15px}.empty-directory h2{margin:0 0 8px;font:600 30px var(--display)}.empty-directory p{margin:0;color:var(--muted)}
.directory-safety{max-width:760px;margin:56px 0 0;padding:17px 20px;border-left:2px solid var(--amber);background:rgba(215,164,66,.055);color:#9ea699;font-size:13px}
.season-directory{padding:72px 0 110px}.season-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);align-items:end;gap:60px;margin-bottom:30px}.season-intro h2{margin:7px 0 0;font:600 clamp(34px,4vw,49px)/1.02 var(--display);letter-spacing:-.025em}.season-intro p{max-width:560px;margin:0;color:#929b8f;font-size:15px}
.calendar-shell{border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(38,50,37,.55),rgba(23,32,22,.24));overflow:hidden}.calendar-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.calendar-scroll:focus-visible{outline:3px solid #8ab4ff;outline-offset:-3px}.season-calendar{width:100%;min-width:960px;border-spacing:0;border-collapse:separate;table-layout:fixed}.season-calendar th,.season-calendar td{height:68px;border-bottom:1px solid var(--line)}.season-calendar tr:last-child th,.season-calendar tr:last-child td{border-bottom:0}.season-calendar thead th{height:48px;color:#737d70;font:500 9px var(--data);letter-spacing:.05em;text-align:center;text-transform:uppercase}.season-calendar thead th:first-child{padding-left:22px;text-align:left}.season-calendar abbr{text-decoration:none}.season-calendar th:first-child{position:sticky;z-index:2;left:0;width:230px;border-right:1px solid var(--line);background:#192218}.season-calendar thead th:first-child{z-index:3}.season-calendar tbody th{padding:0 22px;text-align:left}.season-calendar tbody th a{display:flex;min-width:0;flex-direction:column;text-decoration:none}.season-calendar tbody th strong{overflow:hidden;color:#dad9cd;font:600 17px/1.2 var(--display);text-overflow:ellipsis;white-space:nowrap}.season-calendar tbody th em{overflow:hidden;margin-top:3px;color:#7e887b;font-size:10px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.season-calendar tbody tr{transition:background .16s}.season-calendar tbody tr:hover{background:rgba(236,108,44,.035)}.month-cell{padding:0 7px}.month-cell>span[aria-hidden="true"]{display:block;width:100%;height:10px;border:1px solid rgba(232,227,214,.1);border-radius:999px;background:rgba(232,227,214,.025)}.month-cell.on>span[aria-hidden="true"]{border-color:rgba(236,108,44,.72);background:var(--orange);box-shadow:0 0 16px rgba(236,108,44,.12)}.season-cta{margin-top:62px;max-width:760px}
.species-hero{position:relative;padding:62px 0 80px;border-bottom:1px solid var(--line);overflow:hidden}.species-hero.has-photo{min-height:560px;display:flex;align-items:flex-end;isolation:isolate}.species-hero-media{position:absolute;z-index:-2;inset:0;margin:0}.species-hero-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 58%}.species-hero.has-photo:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(16,21,15,.97) 0%,rgba(16,21,15,.84) 42%,rgba(16,21,15,.32) 76%,rgba(16,21,15,.43) 100%),linear-gradient(0deg,rgba(16,21,15,.88),transparent 55%)}.species-hero-content{position:relative;z-index:1;width:100%}.species-hero-content>*{max-width:760px}
.species-hero h1{margin:14px 0 5px;font:500 clamp(58px,8vw,108px)/.88 var(--display);letter-spacing:-.055em}.species-hero .latin{display:block;color:#9da698;font-size:16px;font-style:italic}.species-hero .lead{max-width:670px;margin:35px 0 0;color:#b4baae;font-size:19px}
.field-card{padding:26px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(160deg,var(--forest-2),var(--ink))}
.field-facts{margin:0}.field-facts>div{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:11px 0;border-top:1px solid var(--line)}.field-facts dt{color:#8f988b}.field-facts dd{margin:0;color:#d8d8cc}
.detail-body{padding:80px 0 105px}.detail-stack{display:flex;flex-direction:column}.detail-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:85px;align-items:start;padding-bottom:65px;margin-bottom:65px;border-bottom:1px solid var(--line)}.prose-section{margin:0}.detail-main{max-width:760px}.detail-main .prose-section{padding-bottom:55px;margin-bottom:55px;border-bottom:1px solid var(--line)}.prose-section h2{margin:10px 0 22px;font:600 clamp(32px,4vw,48px)/1.04 var(--display);letter-spacing:-.025em}.prose-section p{max-width:720px;color:#adb4a8;font-size:17px}.season-panel{align-self:start;padding:27px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(160deg,var(--forest-2),var(--ink))}.season-panel h2{margin:0 0 24px;font:600 29px var(--display)}.month-names{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.month-names span{padding:8px 3px;border:1px solid var(--line);border-radius:6px;color:#626d60;text-align:center;font:9px var(--data);text-transform:uppercase}.month-names span.on{border-color:rgba(236,108,44,.4);background:rgba(236,108,44,.09);color:#e09a70}
.map-cta{padding:30px;border:1px solid rgba(236,108,44,.3);border-radius:15px;background:radial-gradient(circle at 85% 15%,rgba(236,108,44,.18),transparent 35%),var(--forest)}.map-cta h2{margin:9px 0 13px;font:600 35px/1.05 var(--display)}.map-cta p{color:#abb2a6}.map-cta .button{margin-top:10px}
.lookalike-list{display:grid;gap:10px}.lookalike{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 20px;padding:19px 46px 19px 20px;border:1px solid var(--line);border-radius:11px;background:rgba(29,39,28,.55);text-decoration:none}.lookalike>div{display:grid}.lookalike strong{font:600 20px/1.1 var(--display)}.lookalike em{margin-top:3px;color:#7d877a;font-size:11px;font-weight:400}.lookalike .risk-label{align-self:start;color:#dc8d69;font:500 9px var(--data);letter-spacing:.06em;text-transform:uppercase}.lookalike p{grid-column:1/-1;margin:8px 0 0;color:#9da598;font-size:13px;line-height:1.55}.lookalike-arrow{position:absolute;right:18px;top:19px;color:var(--orange)}a.lookalike:hover{border-color:rgba(236,108,44,.38)}.lookalike.has-photo{grid-template-columns:148px minmax(0,1fr) auto;gap:5px 20px;padding:0 46px 0 0;overflow:hidden}.lookalike-photo{grid-row:1/3;grid-column:1;margin:0;border-right:1px solid var(--line);background:#20291f}.lookalike-photo img{display:block;width:100%;height:100%;min-height:136px;object-fit:cover;object-position:center}.lookalike.has-photo>div{grid-column:2;padding-top:19px}.lookalike.has-photo .risk-label{grid-column:3;padding-top:19px}.lookalike.has-photo p{grid-column:2/-1;margin:8px 0 0;padding-bottom:19px}.culinary-rating{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.culinary-rating span{color:#7d877a;font:500 10px var(--data);text-transform:uppercase}.culinary-rating strong{color:#d9b36d;font:600 22px var(--display)}.kitchen-caution{padding-left:17px;border-left:2px solid var(--amber);color:#7f897c!important;font-size:12px!important}
.sources{margin:30px 0 0;padding:0;list-style:none}.sources li{padding:12px 0;border-top:1px solid var(--line)}.sources a{color:#adb5a8;text-underline-offset:4px}.sources small{display:block;color:#646e62;margin-top:3px}
.safety{padding:18px 20px;border-left:3px solid var(--amber);background:rgba(215,164,66,.07);color:#b8bcaf;font-size:13px}
.site-footer{padding:40px 0 max(40px,env(safe-area-inset-bottom));border-top:1px solid var(--line);color:#788276;font-size:12px}.footer-row{display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a{text-underline-offset:3px}
.hero-labels{display:flex;align-items:center;gap:14px}.hero-labels .edibility-badge{min-height:24px}
.species-hero-content.wrap{width:min(1180px,calc(100% - 48px))}.field-facts>div{grid-template-columns:105px minmax(0,1fr)}.field-facts dd{min-width:0;overflow-wrap:anywhere}
.safety.toxic,.safety.deadly{border-left-color:#ce644e;background:rgba(190,71,57,.09)}
@media(max-width:1100px){.directory-toolbar{grid-template-columns:1fr 1fr 1fr}.search-field{grid-column:1/2}.filter-chips{grid-column:2/4}.select-filter{grid-row:2}.result-count,.clear-filters{bottom:-30px}}
@media(max-width:980px){.species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-group-head{gap:35px}}
@media(max-width:800px){.detail-row{grid-template-columns:1fr}.detail-row{gap:36px}.guide-hero{padding-top:70px}.season-intro{grid-template-columns:1fr;gap:12px}.species-hero{padding-top:45px}.species-hero.has-photo{min-height:720px}.species-hero.has-photo:after{background:linear-gradient(0deg,rgba(16,21,15,.98) 0%,rgba(16,21,15,.72) 66%,rgba(16,21,15,.28) 100%)}}
@media(max-width:620px){.wrap{width:min(100% - 32px,1180px)}.site-nav{min-height:72px;gap:16px}.brand{gap:8px;font-size:20px}.brand svg{width:25px;height:25px}.nav-links{flex:none;gap:10px}.nav-links>a:not(.button){display:inline-flex;align-items:center;min-height:40px;font-size:12px}.nav-label-full{display:none}.nav-label-short{display:inline}.site-header .button{display:inline-flex;min-height:40px;padding:0 12px;border-radius:8px;font-size:12px;box-shadow:0 8px 20px rgba(236,108,44,.15)}.site-header .button [aria-hidden="true"]{display:none}.guide-section-nav{gap:16px;margin-top:32px;padding-top:14px}.guide-section-nav>span{font-size:8px}.guide-section-nav a{font-size:10px}.guide-hero{padding:62px 0 48px}.guide-hero h1{font-size:clamp(43px,13vw,61px)}.directory,.season-directory{padding:52px 0 80px}.directory-toolbar{grid-template-columns:1fr 1fr;gap:10px;padding:12px;margin-bottom:62px}.search-field,.filter-chips{grid-column:1/-1}.filter-chips{overflow-x:auto}.filter-chips label{flex:1}.filter-chips span{padding-inline:8px}.select-filter{grid-row:auto}.result-count{left:12px}.clear-filters{right:12px}.directory-group+.directory-group{padding-top:54px;margin-top:58px}.directory-group-head{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.directory-group-head p,.season-intro p{font-size:14px}.species-grid{grid-template-columns:1fr}.card-copy{padding:20px 21px 20px}.card-season{padding:0 21px 17px}.card-topline{margin-bottom:22px}.species-card h3{font-size:31px}.calendar-shell{margin-inline:-16px;border-right:0;border-left:0;border-radius:0}.season-calendar{min-width:810px}.season-calendar th:first-child{width:158px}.season-calendar tbody th{padding:0 14px}.season-calendar tbody th strong{font-size:15px}.season-calendar tbody th em{display:none}.month-cell{padding:0 5px}.season-cta{margin-top:48px}.species-hero{padding:38px 0 60px}.species-hero h1{font-size:62px}.species-hero .lead{font-size:17px}.detail-body{padding:60px 0 80px}.field-card,.season-panel,.map-cta{padding:22px}.field-facts>div{grid-template-columns:88px minmax(0,1fr);gap:12px}.lookalike{grid-template-columns:1fr;padding-right:40px}.lookalike.has-photo{grid-template-columns:96px minmax(0,1fr) auto;padding-right:37px}.lookalike.has-photo>div{padding-top:15px}.lookalike.has-photo .risk-label{padding-top:15px}.lookalike.has-photo p{padding-bottom:15px}.lookalike-photo img{min-height:128px}.lookalike .risk-label{grid-row:auto}.footer-row{flex-direction:column}}
@media(max-width:620px){.species-hero-content.wrap{width:min(1180px,calc(100% - 32px))}.detail-row{padding-bottom:50px;margin-bottom:50px}.field-facts>div{grid-template-columns:88px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.species-card,.card-visual img,.card-arrow{transition:none}}
