.knowledge-book-disclosure{margin:0 0 18px;max-width:760px}.knowledge-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.knowledge-book-card{display:grid;grid-template-columns:128px minmax(0,1fr);overflow:hidden;border:1px solid #ded9cd;border-radius:18px;background:#fffdf8;box-shadow:0 8px 24px #27412e14}.knowledge-book-cover-link{display:flex;min-height:210px;background:#eef2e8}.knowledge-book-cover-link img{width:100%;height:100%;object-fit:cover}.knowledge-book-card-content{display:flex;min-width:0;flex-direction:column;gap:8px;padding:18px}.knowledge-book-card-content p,.knowledge-book-card-content h3{margin:0}.knowledge-book-card-labels,.knowledge-book-actions,.provider-link-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.knowledge-book-title{color:inherit;text-decoration:none}.knowledge-book-title:hover{text-decoration:underline}.knowledge-book-author{color:#4e654f;font-weight:700}.affiliate-badge{padding:3px 7px;border-radius:999px;background:#f2e8c6;color:#604d16;font-size:.72rem;font-weight:800}.knowledge-book-actions{margin-top:auto;padding-top:8px}.knowledge-book-actions .button{min-height:38px}.knowledge-book-detail-cover{width:min(340px,100%);margin-inline:auto}.knowledge-book-detail-cover img{max-height:500px;object-fit:contain}.knowledge-book-data{display:grid;gap:10px;margin:0}.knowledge-book-data div{display:grid;grid-template-columns:minmax(90px,.35fr) 1fr;gap:12px}.knowledge-book-data dt{font-weight:800}.knowledge-book-data dd{margin:0}.affiliate-button-label{padding-right:4px;font-size:.72rem;opacity:.85}.book-admin-page .admin-heading{align-items:flex-start;gap:16px}.book-admin-settings{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(260px,1fr) auto;align-items:end;gap:16px;margin-bottom:16px}.book-admin-settings h2,.book-admin-settings p{margin-top:0}.book-category-manager{margin-bottom:18px}.book-category-manager summary{cursor:pointer}.book-category-list{display:grid;gap:8px;margin-top:16px}.book-category-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e8e2d7}.book-category-row div{display:grid;gap:2px}.book-category-row small{color:#657064}.book-category-add{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(220px,1fr) 120px auto;align-items:end;gap:12px;margin-top:18px}.book-admin-list{display:grid;gap:8px;margin-top:12px}.book-admin-list-item{border:1px solid #e2ddd2;border-radius:12px;background:#fff}.book-admin-list-item.selected{border-color:#66816a;box-shadow:0 0 0 2px #66816a26}.book-admin-select{display:grid;width:100%;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.book-admin-select img{width:58px;height:78px;border-radius:7px;background:#eef2e8;object-fit:cover}.book-admin-select span{display:grid;min-width:0;gap:3px}.book-admin-select small{color:#657064}.book-admin-item-actions{display:flex;justify-content:space-between;align-items:center;padding:0 10px 8px}.book-cover-editor{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start}.book-cover-editor>img{width:112px;height:154px;border:1px solid #ded9cd;border-radius:10px;background:#eef2e8;object-fit:cover}.book-cover-editor>div{display:grid;justify-items:start;gap:10px}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.provider-link-editor{display:grid;gap:10px;margin-bottom:10px;padding:14px;background:#fdfcf9}.danger-text{color:#963b2d}@media(max-width:760px){.knowledge-book-card{grid-template-columns:96px minmax(0,1fr)}.knowledge-book-cover-link{min-height:176px}.book-admin-settings,.book-category-row,.book-category-add{grid-template-columns:1fr;align-items:stretch}.book-admin-page .admin-heading{display:grid}.book-cover-editor{grid-template-columns:88px minmax(0,1fr)}.book-cover-editor>img{width:88px;height:122px}}:root{--accent:#d9822b;--accent-dark:#bd6d1f;--accent-soft:#fff5e6;--surface-card:#fffdf8;--surface-subtle:#f4f7f4;--surface-muted:#f0ebe0;--surface-warning:#fffbeb;--surface-danger:#fff1f2;--surface-success:#f0f9f4;--text-heading:#285239;--text-body:#4f5a50;--text-muted:#687168;--border-color:#d5dfd0;--border-strong:#b8c2b7;--danger-text:#8a3030;--warning-text:#75572b;--success-text:#285239;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#243027;background:#f4f1e8;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 12% -10%,#fff8e9 0,transparent 32rem),#f4f1e8}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{min-height:100vh;padding-bottom:76px}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px clamp(18px,4vw,40px);background:#f4f1e8f0;border-bottom:1px solid #d7d1c2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{flex:0 0 auto;white-space:nowrap;font-size:1.35rem;font-weight:800;color:#285239;letter-spacing:-.02em}.tagline{font-size:.78rem;color:#687168}.content{width:min(1100px,100%);margin:auto;padding:20px 16px 40px}.hero{background:linear-gradient(135deg,#e7ede1,#e0e9d9);border:1px solid #d5dfd0;border-radius:24px;padding:28px 22px;margin-bottom:28px;box-shadow:0 14px 35px #344c3614}.hero h1{font-size:clamp(2rem,7vw,4rem);line-height:1.03;max-width:760px;margin:.25rem 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:.75rem;color:#5d765d}.search{width:100%;margin-top:14px;padding:15px 17px;border-radius:14px;border:1px solid #b8c2b7;background:#fffdf8;color:inherit;box-shadow:0 4px 12px #2e3e2b0d}.farm-map-section{margin:24px 0 30px;padding:20px;background:#fffdf8;border:1px solid #ded8ca;border-radius:22px;box-shadow:0 8px 24px #3541350f}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.map-heading .eyebrow{margin:0 0 3px}.map-heading h2{margin:0}.map-count{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#285239;font-weight:800;font-size:.9rem}.map-description{margin:9px 0 16px;color:#687168;font-size:.92rem}.farm-map{position:relative;height:390px;overflow:hidden;border:1px solid #b8c2b7;border-radius:16px;background:#dbe8df;isolation:isolate}.map-tiles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.map-tiles img{position:absolute;width:256px;height:256px;max-width:none;-webkit-user-select:none;user-select:none}.map-marker{position:absolute;z-index:2;display:grid;place-items:center;width:32px;height:38px;margin:-29px 0 0 -16px;padding:0;border:0;background:transparent;color:#b54b2e;cursor:pointer;filter:drop-shadow(0 2px 2px rgba(37,47,39,.36));transition:color .15s ease,transform .15s ease}.map-marker:hover,.map-marker:focus-visible,.map-marker.selected{color:var(--accent);transform:translateY(-3px) scale(1.12);outline:none}.map-marker:focus-visible{border-radius:50%;box-shadow:0 0 0 4px #fffdf8e6}.map-controls{position:absolute;top:12px;right:12px;z-index:3;display:grid;overflow:hidden;border:1px solid #b8c2b7;border-radius:10px;box-shadow:0 3px 10px #1f2d222e}.map-controls button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-bottom:1px solid #d7d1c2;background:#fffdf8;color:#285239;cursor:pointer}.map-controls button:last-child{border-bottom:0}.map-controls button:hover{background:#edf1e9}.map-controls button:disabled{color:#a6aca3;cursor:not-allowed}.map-attribution{position:absolute;right:7px;bottom:4px;z-index:3;padding:2px 4px;background:#fffdf8d1;color:#4f5a50;font-size:.68rem}.map-selection{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border:1px solid #d5dfd0;border-radius:13px;background:#edf1e9;color:#285239}.map-selection>span:nth-child(2){display:grid;gap:1px;min-width:0;flex:1}.map-selection small{overflow:hidden;color:#5f695e;text-overflow:ellipsis;white-space:nowrap}.map-selection>span:last-child{font-size:.82rem;font-weight:800;white-space:nowrap}.map-selection-thumb{flex-shrink:0;width:80px;height:54px;object-fit:cover;border-radius:8px;border:1px solid #c6d4c2}.knowledge-page,.knowledge-entry-page{display:grid;gap:24px}.knowledge-hero{padding:clamp(22px,5vw,42px);border:1px solid #d5dfd0;border-radius:24px;background:linear-gradient(135deg,#e7ede1,#f5f1e7);box-shadow:0 14px 35px #344c3614}.knowledge-hero.compact{padding:28px}.knowledge-hero h1,.knowledge-entry-header h1{margin:.25rem 0 .75rem;color:#285239;font-size:clamp(2rem,6vw,3.5rem);line-height:1.05}.knowledge-hero p:last-child{max-width:760px;margin-bottom:0;color:#4f5a50}.knowledge-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.knowledge-intro h2{margin:0 0 4px;color:#285239}.knowledge-intro p{margin:0;color:#687168}.knowledge-quality-note{max-width:280px;padding:8px 11px;border-radius:10px;background:#edf1e9;color:#3d6047;font-size:.82rem;font-weight:700}.knowledge-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.knowledge-category-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px;border:1px solid #ded8ca;border-radius:18px;background:#fffdf8;box-shadow:0 8px 24px #3541350f;transition:transform .2s ease,border-color .2s ease}.knowledge-category-card:hover{transform:translateY(-3px);border-color:#d9a05a}.knowledge-category-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e2eedb;color:#285239}.knowledge-category-copy h2{margin:0 0 5px;color:#285239;font-size:1.1rem}.knowledge-category-copy p{margin:0;color:#5f695e;font-size:.9rem}.knowledge-category-copy small{display:block;margin-top:9px;color:#697069;font-weight:700;font-size:.75rem}.knowledge-card-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid #eee9dd;color:#3d6047;font-size:.8rem;font-weight:800}.knowledge-subcategories{display:flex;flex-wrap:wrap;gap:10px}.knowledge-subcategories a{display:flex;align-items:center;gap:8px;min-width:min(100%,250px);padding:11px 13px;border:1px solid #d5dfd0;border-radius:13px;background:#edf1e9;color:#285239}.knowledge-subcategories a span{display:grid;gap:1px}.knowledge-subcategories small{color:#687168;font-size:.75rem}.knowledge-section{display:grid;gap:13px}.knowledge-section-heading{display:flex;align-items:center;gap:8px;color:#285239}.knowledge-section-heading h2{margin:0;font-size:1.3rem}.knowledge-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.knowledge-entry-card{display:grid;gap:8px;padding:16px;border:1px solid #ded8ca;border-radius:16px;background:#fffdf8}.knowledge-entry-card h3{margin:0;color:#285239}.knowledge-entry-card p{margin:0;color:#5f695e;font-size:.9rem}.knowledge-entry-card small{color:#687168;font-size:.78rem}.knowledge-entry-kind{color:#5d765d;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.knowledge-empty,.knowledge-state{margin:0;padding:18px;border:1px dashed #b8c2b7;border-radius:14px;color:#687168;background:#fffdf8}.knowledge-entry-header{padding:clamp(22px,5vw,42px);border-radius:22px;background:#edf1e9}.knowledge-entry-header p{max-width:760px;color:#4f5a50;margin-bottom:0}.knowledge-author{color:#5d765d!important;font-weight:800}.knowledge-evidence{display:inline-flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:12px;background:#e2eedb;color:#285239;font-weight:700}.knowledge-fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.knowledge-fact-grid section,.knowledge-callout,.knowledge-links,.knowledge-sources,.knowledge-prose{padding:18px;border:1px solid #ded8ca;border-radius:16px;background:#fffdf8}.knowledge-fact-grid h2,.knowledge-callout h2,.knowledge-links h2,.knowledge-sources h2{margin:0 0 8px;color:#285239;font-size:1.1rem}.knowledge-fact-grid p,.knowledge-callout p,.knowledge-prose p{margin:0;white-space:pre-line}.knowledge-callout.neutral{background:#f7f4eb}.knowledge-link-actions{display:flex;flex-wrap:wrap;gap:8px}.knowledge-link-actions .button{display:inline-flex;align-items:center;gap:6px}.knowledge-sources h2{display:flex;align-items:center;gap:7px}.knowledge-sources ul{margin:0;padding-left:20px}.knowledge-sources a{color:#285239;text-decoration:underline}.knowledge-details,.knowledge-related-links{display:grid;gap:13px}.knowledge-details>h2,.knowledge-related-links h2{margin:0;color:#285239;font-size:1.3rem}.knowledge-value-list{margin:0;padding-left:18px}.knowledge-value-list li+li{margin-top:4px}.knowledge-season-list{display:flex;flex-wrap:wrap;gap:8px}.knowledge-season-list span{padding:7px 9px;border-radius:9px;background:#edf1e9;color:#3d6047;font-size:.82rem;font-weight:700}.knowledge-related-links>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.knowledge-related-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:13px;border:1px solid #d5dfd0;border-radius:13px;background:#edf1e9;color:#285239}.knowledge-related-link span{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.knowledge-related-link strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-related-link svg{grid-column:2;grid-row:1 / span 2;align-self:center}.knowledge-hack-card{position:relative}.knowledge-hack-card img{width:calc(100% + 32px);height:145px;margin:-16px -16px 2px;object-fit:cover;border-radius:15px 15px 0 0}.knowledge-hack-card small{display:flex;align-items:center;gap:4px}.hack-detail-page .eyebrow{display:flex;align-items:center;gap:6px}.hack-meta{margin-top:12px!important;color:#285239!important;font-weight:800}.hack-cover{margin:0;overflow:hidden;border:1px solid #ded8ca;border-radius:18px;background:#fffdf8}.hack-cover img{display:block;width:100%;max-height:460px;object-fit:cover}.hack-cover figcaption,.hack-gallery figcaption{padding:8px 11px;color:#687168;font-size:.8rem}.knowledge-richtext>:first-child{margin-top:0}.knowledge-richtext>:last-child{margin-bottom:0}.knowledge-richtext a{color:#285239;text-decoration:underline}.knowledge-richtext blockquote{margin:12px 0;padding-left:14px;border-left:3px solid #d9a05a;color:#5f695e}.hack-needs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.hack-list-section{padding:18px;border:1px solid #ded8ca;border-radius:16px;background:#fffdf8}.hack-list-section h2,.hack-instructions h2{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#285239;font-size:1.1rem}.hack-list-section ul{margin:0;padding-left:19px}.hack-list-section li+li{margin-top:4px}.knowledge-callout.warning{border-color:#e6bf85;background:#fff8ea}.knowledge-callout.warning h2{display:flex;align-items:center;gap:7px}.hack-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.hack-gallery figure{margin:0;overflow:hidden;border:1px solid #ded8ca;border-radius:14px;background:#fffdf8}.hack-gallery img{display:block;width:100%;height:190px;object-fit:cover}.season-month-selector{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}.season-month-selector button{min-width:48px;padding:8px 10px;border:1px solid #d5dfd0;border-radius:9px;background:#fffdf8;color:#285239;font-weight:750;cursor:pointer;text-transform:capitalize}.season-month-selector button.active,.season-month-selector button:hover{border-color:#285239;background:#285239;color:#fff}.season-note{margin:15px 0 0;color:#687168;font-size:.86rem}.knowledge-entry-card>img{width:calc(100% + 32px);height:145px;margin:-16px -16px 3px;object-fit:cover;border-radius:15px 15px 0 0}.knowledge-entry-cover{margin:0 0 18px;overflow:hidden;border:1px solid #ded8ca;border-radius:18px;background:#fffdf8}.knowledge-entry-cover img{display:block;width:100%;max-height:460px;object-fit:cover}.knowledge-entry-cover figcaption,.knowledge-gallery figcaption{padding:8px 11px;color:#687168;font-size:.8rem}.knowledge-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0}.knowledge-gallery figure{margin:0;overflow:hidden;border:1px solid #ded8ca;border-radius:14px;background:#fffdf8}.knowledge-gallery img{display:block;width:100%;height:190px;object-fit:cover}.knowledge-review-meta{margin:6px 0 0!important;color:#687168;font-size:.84rem}.rich-editor-field{display:grid;gap:6px;font-weight:700;color:#39483b}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid #ded8ca;border-bottom:0;border-radius:10px 10px 0 0;background:#f7f4eb}.rich-editor-toolbar button{display:grid;place-items:center;width:30px;height:28px;border:1px solid #d5dfd0;border-radius:6px;background:#fffdf8;color:#285239;cursor:pointer}.rich-editor-toolbar button:hover{background:#e2eedb}.rich-editor{min-height:120px;padding:10px 11px;border:1px solid #b8c2b7;border-radius:0 0 10px 10px;background:#fff;font-weight:400;outline:none}.rich-editor:empty:before{content:attr(data-placeholder);color:#8a9188}.rich-editor:focus{border-color:#5d765d;box-shadow:0 0 0 3px #5d765d1f}.source-row{display:grid;grid-template-columns:1.1fr .8fr 1.4fr auto;gap:8px}.hack-category-form{display:grid;gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid #ded8ca}.hack-category-form label{display:grid;gap:5px;font-size:.82rem;font-weight:700}.hack-category-form input,.hack-category-list input{width:100%;padding:8px;border:1px solid #b8c2b7;border-radius:8px}.hack-category-list{display:grid;gap:8px;margin-top:14px}.hack-category-list h3{margin:0;color:#285239;font-size:1rem}.hack-category-list>div{display:grid;grid-template-columns:1fr 56px;gap:6px;padding:8px 0;border-top:1px solid #eee9dd}.hack-category-list .check-row{grid-column:1 / -1}.admin-media-grid{display:flex;flex-wrap:wrap;gap:10px}.admin-media-grid figure{width:170px;margin:0;overflow:hidden;border:1px solid #ded8ca;border-radius:10px}.admin-media-grid img{width:100%;height:100px;object-fit:cover}.admin-media-grid figcaption{padding:5px;font-size:.72rem}.media-actions{display:grid;gap:5px;padding:6px}.media-actions label{display:grid;gap:3px;color:#687168;font-size:.72rem}.media-actions input{width:100%;font-size:.72rem}.danger-text-button{color:#a23b2b}.hack-admin-preview{padding:18px;border:1px dashed #b8c2b7;border-radius:12px;background:#f7f4eb}.hack-admin-preview h2{margin:4px 0 6px;color:#285239}.hack-admin-preview h3{color:#285239}.hack-admin-preview p{margin:0}.editorial-type-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.editorial-type-tabs button{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #d5dfd0;border-radius:9px;background:#fffdf8;color:#285239;font-weight:750;cursor:pointer}.editorial-type-tabs button.active{background:#285239;border-color:#285239;color:#fff}.editorial-editor .editor-section>label{display:grid;gap:5px;margin-bottom:10px;font-weight:700;color:#39483b}.editorial-media-list{display:grid;gap:5px;margin-top:8px}.editorial-media-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px;border-radius:8px;background:#f7f4eb;font-size:.85rem}.editorial-media-list .editorial-media-item{display:grid;grid-template-columns:1.3fr 1.3fr .5fr auto auto auto;align-items:end;gap:7px}.editorial-media-item label{display:grid;gap:3px;font-size:.75rem;font-weight:700}.editorial-media-item input:not([type=checkbox]){width:100%}.editorial-media-item .check-row{display:flex;align-items:center;gap:4px;padding-bottom:8px}@media(max-width:700px){.source-row{grid-template-columns:1fr}.hack-category-list>div{grid-template-columns:1fr 70px}}@media(max-width:640px){.knowledge-intro{display:grid;align-items:start;gap:12px}.knowledge-quality-note{width:100%;max-width:none}.knowledge-hero.compact{padding:22px}.knowledge-category-card{padding:14px;gap:10px}.knowledge-category-icon{width:40px;height:40px}.knowledge-category-copy h2{font-size:1rem}.knowledge-category-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}.knowledge-category-copy small{display:none}.knowledge-card-footer{padding-top:8px;font-size:.76rem}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.farm-card,.panel{background:#fffdf8;border:1px solid #ded8ca;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #3541350f;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.farm-card:hover{transform:translateY(-3px);border-color:#d9a05a;box-shadow:0 14px 28px #3541351f}.farm-card>div:not(.image-placeholder),.panel{padding:18px}.image-placeholder{min-height:160px;display:grid;place-items:center;background:#dce4d7;color:#637060}.image-placeholder.large{min-height:320px;border-radius:22px}.farm-image-placeholder{width:100%;height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(145deg,#edf2e9,#dce7d8);color:#456047;font-size:.78rem;font-weight:700;letter-spacing:.02em}.farm-image-placeholder img{max-width:72%;max-height:108px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(25,55,31,.12))}.farm-image-placeholder-large{min-height:320px;border-radius:22px}.farm-image-placeholder-large img{max-height:230px;max-width:min(72%,360px)}.farm-image-placeholder-map{min-height:62px;min-width:62px;padding:4px;border-radius:8px}.farm-image-placeholder-map img{max-height:38px;max-width:48px}.farm-image-placeholder-map span{font-size:.58rem;white-space:nowrap}.badge,.chip{display:inline-flex;border-radius:999px;padding:5px 10px;background:#edf1e9;color:#3d6047;font-size:.78rem;margin:3px}.chips{display:flex;flex-wrap:wrap}.review-notice{margin:12px 0 0;padding:10px 12px;border:1px solid var(--accent);border-radius:12px;background:var(--accent-soft);color:#6c491f;font-size:.9rem}.source-detail{margin:8px 0 0;color:#687168;font-size:.82rem}.recipe-filters{margin-top:16px;gap:8px}.recipe-filter{border:1px solid transparent;cursor:pointer}.recipes-page .chip.active,.recipes-page .recipe-filter.active{background:var(--accent);color:#fff;border-color:var(--accent)}.recipes-page .chip:hover,.recipes-page .recipe-filter:hover{border-color:var(--accent)}.recipe-result-count{color:#687168;font-size:.9rem;margin:-8px 0 14px}.recipe-state{padding:24px;margin-bottom:18px;color:#687168}.recipe-category-navigation{display:grid;gap:10px;margin:0 0 24px;padding:18px;border:1px solid #d5dfd0;border-radius:18px;background:#edf1e9}.recipe-category-navigation h2{margin:0;color:#285239;font-size:1.25rem}.recipe-category-navigation .eyebrow{margin:0 0 3px}.recipe-category-link{background:#fffdf8;border:1px solid #d5dfd0}.recipe-category-hero p:last-child{max-width:680px;margin-bottom:0;color:#4f5a50}.recipe-card-content{flex:1;display:flex;flex-direction:column;padding:18px}.recipe-card-content h2{font-size:1.2rem;margin:0 0 8px;color:#285239}.recipe-card-description{font-size:.9rem;color:#555;margin:0 0 16px;flex:1}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem;color:#687168;margin-bottom:12px}.recipe-card-meta div{display:flex;align-items:center;gap:4px}.recipe-product-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start;color:#d9822b}.recipe-product-tags .badge{background:#fdf4e8;color:#d9822b}.recipe-image-placeholder{display:flex;flex-direction:column;gap:8px}.recipe-image{width:100%;height:100%;object-fit:cover}.recipe-detail-image{display:flex;flex-direction:column;gap:10px}.recipe-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}.button{display:inline-block;border:0;border-radius:12px;padding:11px 14px;background:#285239;color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease;text-decoration:none}.button:hover{background:#1d432d;transform:translateY(-1px)}.button:disabled{opacity:.5}.secondary-button{background:#edf1e9;color:#285239}.secondary-button:hover{background:#dce7d8}.editor-link{color:#285239;font-size:.8rem;font-weight:800}.back-link{display:inline-flex;align-items:center;gap:5px;color:#5d765d;font-size:.9rem;font-weight:700;margin-bottom:14px}.admin-page{display:grid;gap:20px}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.admin-heading h1{margin:0;color:#285239}.admin-heading .back-link{display:flex}.admin-login{width:min(460px,100%);display:grid;gap:14px}.admin-login h2{margin:0 0 4px;color:#285239}.admin-page label{display:grid;gap:6px;font-weight:700;color:#39483b}.admin-page input,.admin-page textarea,.admin-page select{width:100%;border:1px solid #b8c2b7;border-radius:10px;padding:10px 11px;background:#fff;color:inherit}.admin-page textarea{resize:vertical}.farm-editor-section{display:grid;gap:10px;margin:0 0 18px;padding:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-subtle)}.farm-editor-section h3{margin:0;color:var(--text-heading);font-size:1rem}.farm-editor-section label{display:grid;gap:5px;color:var(--text-body);font-size:.82rem;font-weight:700}.farm-editor-section input,.farm-editor-section textarea,.farm-editor-section select{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:8px;background:var(--surface-card);color:var(--text-body)}.farm-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.user-role-panel{padding:16px}.user-role-list{display:grid;gap:10px}.user-role-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr) auto;gap:14px;align-items:end;padding:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-subtle)}.user-role-identity{min-width:0;display:grid;gap:3px}.user-role-identity strong,.user-role-identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-identity span,.user-role-identity small{color:var(--text-muted)}.user-role-row label{display:grid;gap:5px;color:var(--text-body);font-size:.82rem;font-weight:700}.user-role-row select{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:8px;background:var(--surface-card);color:var(--text-body)}.user-role-row .button{min-height:40px;white-space:nowrap}.farm-relation-json{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}@media(max-width:700px){.farm-editor-grid{grid-template-columns:1fr}}@media(max-width:700px){.user-role-row{grid-template-columns:1fr;align-items:stretch}.user-role-row .button{width:100%}}.form-error{color:#a23b2b;margin:0}.admin-notice{margin:0;padding:12px 14px;border-radius:10px;background:#edf1e9;color:#285239;font-weight:700}.admin-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.8fr);gap:18px;align-items:start}.admin-list{padding:16px}.admin-list-heading,.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-list-heading>div:first-child{min-width:0}.admin-list-heading h2{margin-bottom:2px}.admin-list-heading p{margin:0}.admin-list-heading-actions{display:flex;align-items:center;gap:10px}.admin-list-heading h2,.editor-heading h2{margin:0 0 12px;color:#285239}.admin-list-heading .button{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;font-size:.85rem}.admin-list-item{display:flex;align-items:center;gap:5px;border-top:1px solid #e2ded3}.admin-list-item.selected{background:#edf1e9;margin:0 -8px;padding:0 8px;border-radius:8px}.recipe-bulk-checkbox{flex:0 0 auto;width:auto!important;margin-left:2px}.admin-list-item>button:first-child{flex:1;min-width:0;display:grid;gap:3px;text-align:left;padding:11px 3px;border:0;background:transparent;color:inherit;cursor:pointer}.admin-list-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{width:max-content;border-radius:99px;padding:2px 7px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-published{background:#d9ead5;color:#285239}.status-draft{background:#eee9dd;color:#6f6655}.status-review{background:#f8e4c7;color:#945b18}.status-archived{background:#e8e8e8;color:#656565}.icon-button{display:grid;place-items:center;padding:7px;border:0;border-radius:8px;background:transparent;color:#687168;cursor:pointer}.icon-button:hover{background:#f4e6d7;color:#a23b2b}.recipe-editor{display:grid;gap:14px;padding:20px}.editor-heading{border-bottom:1px solid #ded8ca;padding-bottom:4px}.editor-heading h2{margin:0}.field-hint{font-size:.75rem;color:#687168;font-weight:400}.editor-section{display:grid;gap:8px}.editor-section h3{margin:4px 0 0;color:#285239}.ingredient-row{display:grid;grid-template-columns:minmax(100px,.4fr) minmax(0,1fr) auto;gap:8px;align-items:center}.recipe-category-select{display:grid;gap:7px;min-width:0;border:1px solid #ded8ca;border-radius:10px;padding:10px 12px}.recipe-category-select legend{padding:0 4px;color:#285239;font-weight:800;font-size:.85rem}.recipe-bulk-editor{display:grid;gap:12px;margin:12px 0 16px;padding:14px;border:1px solid #c7d8c1;border-radius:12px;background:var(--accent-soft)}.recipe-bulk-editor h3{margin:0 0 3px;color:#285239}.recipe-bulk-editor .form-row{align-items:end}.recipe-bulk-editor .editor-actions{padding-top:0;flex-wrap:wrap}.recipe-category-management{display:grid;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid #ded8ca}.recipe-category-management h3{margin:0;color:#285239}.recipe-category-form{display:flex;gap:7px;align-items:center}.recipe-category-form input{min-width:0}.recipe-category-list{display:grid;gap:7px}.recipe-category-row{display:grid;grid-template-columns:minmax(0,1fr) 68px auto auto auto;align-items:center;gap:6px}.recipe-category-row input{min-width:0;padding:7px 8px;font-size:.85rem}.recipe-category-row .check-row{white-space:nowrap;font-size:.8rem}.recipe-category-row .field-hint{white-space:nowrap}.text-button{width:max-content;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#285239;font-weight:800;cursor:pointer;padding:4px 0}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reference-grid fieldset{min-width:0;border:1px solid #ded8ca;border-radius:10px;padding:10px 12px}.reference-grid legend{padding:0 4px;color:#285239;font-weight:800;font-size:.85rem}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;font-size:.9rem;font-weight:500!important}.check-row input{width:auto}.editor-actions{display:flex;gap:10px;padding-top:5px}.editor-actions .button,.admin-heading .button{display:inline-flex;align-items:center;gap:6px}.admin-empty{padding:36px 24px;text-align:center}.admin-empty h2{margin-top:0;color:#285239}.disclosure{display:block;margin-top:10px;color:#697069}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);background:#fffdf8f7;border-top:1px solid #d9d2c2;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;padding:4px}.bottom-nav a.active{color:#285239;font-weight:800}@media(min-width:800px){.content{padding-top:34px}.bottom-nav{left:50%;right:auto;transform:translate(-50%);width:680px;border:1px solid #d9d2c2;border-radius:18px 18px 0 0}.tagline{font-size:.9rem}}.header-actions{min-width:0;flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:24px}.header-support-links{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px}.auth-links{flex:0 0 auto;display:flex;align-items:center;margin-left:clamp(12px,4vw,56px)}.auth-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 12px;border-radius:10px;color:#285239;font-size:.88rem;font-weight:800;white-space:nowrap;text-decoration:none;transition:background .2s ease}.auth-icon{display:none}.header-support-link{display:inline-flex;align-items:center;gap:5px;padding:6px 4px;border-radius:8px;color:#5d765d;font-size:.72rem;font-weight:750;white-space:nowrap;transition:background .2s ease,color .2s ease}.header-support-link:hover,.header-support-link:focus-visible{background:#edf1e9;color:#285239;outline:none}.recommend-link{padding:8px 11px;border-radius:999px;background:#d9822b;color:#fffaf0;font-size:.78rem;font-weight:800;box-shadow:0 4px 10px #c976222e;transition:background .2s ease}.recommend-link:hover{background:#bd6d1f}.suggestion-form{display:grid;gap:14px;max-width:760px}.suggestion-form label{display:grid;gap:6px;font-weight:700}.suggestion-form input,.suggestion-form textarea{width:100%;border:1px solid #b8c2b7;border-radius:12px;padding:12px 13px;background:#fff;color:inherit}.suggestion-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:640px){.header{gap:20px;padding-top:calc(19px + env(safe-area-inset-top))}.header-actions{gap:0}.header-support-links{display:flex;flex:0 1 auto}.tagline{display:none}.form-row{grid-template-columns:1fr}.recommend-link{font-size:.72rem;padding:7px 9px}.farm-map-section{padding:16px;margin-left:-4px;margin-right:-4px}.farm-map{height:340px}.map-heading{align-items:flex-start}.map-count{font-size:.8rem}.map-selection>span:last-child{display:none}.editor-link{display:none}.admin-heading{align-items:flex-start}.admin-heading .button{margin-top:20px}.admin-layout,.reference-grid{grid-template-columns:1fr}.recipe-editor{padding:16px}}@media(max-width:500px){.header-support-links{gap:6px}.header-support-link{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d5dfd0;border-radius:50%}.header-support-link span{display:none}.auth-links{margin-left:10px}.auth-label{display:none}.auth-icon{display:block}.auth-link{min-width:38px;min-height:38px;padding:7px}}@media(max-width:360px){.header{padding-left:14px;padding-right:14px}.auth-links{margin-left:20px}.auth-label{display:none}.auth-icon{display:block}}.view-toggle{display:flex;gap:8px;background:#e7ede1;padding:6px;border-radius:14px;width:fit-content}.view-toggle button{background:transparent;border:none;padding:8px 16px;border-radius:10px;cursor:pointer;color:#4f5a50;font-weight:600;transition:background .2s,color .2s}.view-toggle button.active{background:#fff;color:#285239;box-shadow:0 2px 8px #0000000d}.empty-message{padding:40px 20px;text-align:center;background:#fffdf8;border:1px dashed #b8c2b7;border-radius:16px;color:#5d765d;margin:20px 0}.success-message{padding:16px;background:#e2eedb;color:#2c4b2c;border-radius:12px;border:1px solid #c2dfb8;font-weight:500;margin-bottom:12px}.error-message{padding:16px;background:#fae7e7;color:#8a3030;border-radius:12px;border:1px solid #ebc5c5;font-weight:500;margin-bottom:12px}.reviews-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.sort-toggle{display:flex;gap:8px}.sort-toggle button{background:none;border:1px solid #b8c2b7;padding:4px 10px;border-radius:14px;font-size:.85rem;cursor:pointer;color:#687168;transition:all .2s}.sort-toggle button.active{background:#285239;color:#fff;border-color:#285239}.review-card{padding:16px;border-bottom:1px solid #d7d1c2}.review-card:last-child{border-bottom:none}.review-meta{display:flex;justify-content:space-between;font-size:.85rem;color:#687168;margin-bottom:8px}.review-score{display:flex;gap:2px;color:#d9a05a}.review-text{color:#243027;margin:0;line-height:1.5}.auth-forms{display:flex;flex-direction:column;gap:24px;max-width:400px;width:100%;margin:0 auto;padding:24px;background:#fffdf8;border-radius:16px;border:1px solid #ded8ca}.auth-forms form{display:flex;flex-direction:column;gap:16px}.auth-forms label{display:grid;gap:6px;font-weight:600;font-size:.9rem;color:#285239}.auth-forms input{padding:10px 12px;border:1px solid #b8c2b7;border-radius:8px;background:#fff;font-family:inherit}.auth-switch{text-align:center;margin-top:16px;font-size:.9rem;color:#687168}.auth-switch a,.auth-switch button{background:none;border:none;color:#285239;text-decoration:underline;cursor:pointer;padding:0;font-weight:600;font-family:inherit;font-size:inherit}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0}.auth-link{color:#285239;font-size:.8rem;font-weight:800;text-decoration:none;padding:6px 10px;border-radius:8px;transition:background .2s}.auth-link:hover{background:#edf1e9}.auth-link-button{background:none;border:none;font-size:.8rem;font-weight:800;cursor:pointer;color:#285239;padding:6px 10px;border-radius:8px;transition:background .2s;font-family:inherit}.auth-link-button:hover{background:#edf1e9}.auth-status{padding:16px;background:#edf1e9;color:#285239;border-radius:12px;font-weight:600}.profile-form{display:grid;gap:14px;max-width:500px}.profile-form label{display:grid;gap:6px;font-weight:700;color:#39483b}.profile-form input{width:100%;border:1px solid #b8c2b7;border-radius:10px;padding:10px 11px;background:#fff;color:inherit}.dashboard-content{display:grid;gap:20px}.dashboard-section{background:#edf1e9;padding:16px;border-radius:12px}.dashboard-section h3{margin:0 0 10px;font-size:1rem;color:#285239}.dashboard-section ul{margin:0;padding-left:20px;color:#4f5a50;font-size:.9rem}.stat-card{background:#edf1e9;padding:16px 20px;border-radius:12px;flex:1;min-width:150px}.danger-zone{border-color:#ebc5c5!important;background:#fdf6f6!important}.contribution-forms{display:grid;gap:32px}.contribution-form-container{background:#fffdf8;border:1px solid #ded8ca;padding:24px;border-radius:16px}.contribution-form-container h3{margin-top:0;color:#285239}.contribution-form-container form{display:flex;flex-direction:column;gap:16px}.contribution-form-container label{display:grid;gap:6px;font-weight:600;font-size:.9rem;color:#285239}.contribution-form-container input,.contribution-form-container textarea{padding:10px 12px;border:1px solid #b8c2b7;border-radius:8px;background:#fff;font-family:inherit}.contribution-form-container textarea{min-height:100px;resize:vertical}.farm-header-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:40px}@media(min-width:800px){.farm-header-grid{grid-template-columns:2fr 1fr}}.farm-basic-info{display:flex;flex-direction:column;gap:16px}.farm-action-box{background:#fffdf8;border:1px solid #ded8ca;padding:24px;border-radius:16px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 24px #3541350f}.farm-action-box .address{font-size:1.05rem;font-weight:500;color:#243027}.visitor-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px}.visitor-media-grid img{width:100%;height:140px;object-fit:cover;border-radius:12px;border:1px solid #ded8ca}.visitor-media-grid figure{margin:0;position:relative;border-radius:12px;overflow:hidden}.visitor-media-grid figcaption{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:.75rem;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.button.outline{background:transparent;color:#285239;border:1px solid #285239}.button.outline:hover{background:#edf1e9}.season-filter{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(230px,1.3fr);gap:14px 20px;padding:16px;border:1px solid #d5dfd0;border-radius:16px;background:#edf1e9}.season-filter-heading{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.season-filter-heading strong{color:#285239}.season-filter-heading p{margin:2px 0 0;color:#687168;font-size:.86rem}.season-filter-count{color:#285239;font-size:.84rem;font-weight:800;white-space:nowrap}.season-month-field,.season-availability-filter{display:grid;gap:6px}.season-month-field span,.season-availability-filter>span{color:#4f5a50;font-size:.78rem;font-weight:800}.season-month-field select{width:100%;padding:9px 10px;border:1px solid #b8c2b7;border-radius:10px;background:#fffdf8;color:#243027;text-transform:capitalize}.season-filter-options{display:flex;flex-wrap:wrap;gap:6px}.season-filter-options button{padding:8px 10px;border:1px solid #b8c2b7;border-radius:9px;background:#fffdf8;color:#285239;font-size:.82rem;font-weight:750;cursor:pointer}.season-filter-options button.active,.season-filter-options button:hover{border-color:#285239;background:#285239;color:#fff}.knowledge-food-availability{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.availability-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.7rem;font-weight:800}.availability-field{background:#e2eedb;color:#285239}.availability-stored{background:#f8e4c7;color:#76521e}.availability-greenhouse{background:#dce9ed;color:#28566a}@media(max-width:640px){.season-filter{grid-template-columns:1fr;gap:12px}.season-filter-heading{align-items:flex-start}.season-filter-count{font-size:.76rem}.season-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.season-filter-options button{min-height:42px}}.map-marker:hover,.map-marker:focus-visible,.map-marker.selected{color:var(--accent)}.knowledge-category-card:hover,.farm-card:hover{border-color:var(--accent)}.season-month-selector button.active,.season-month-selector button:hover{border-color:var(--accent);background:var(--accent);color:#fff}.editorial-type-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.view-toggle button.active{background:var(--accent);color:#fff}.sort-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.season-filter-options button.active,.season-filter-options button:hover{border-color:var(--accent);background:var(--accent);color:#fff}.bottom-nav a.active{color:var(--accent)}.admin-list-item.selected{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.milk-stations-page .farm-card p{display:flex;align-items:flex-start;gap:5px}.header{z-index:130}.brand-cluster{display:flex;align-items:center;gap:10px;min-width:0;flex:0 0 auto}.hamburger-button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;margin:-6px 0 -6px -8px;padding:0;border:0;border-radius:11px;background:transparent;color:#285239;cursor:pointer;transition:background .18s ease,color .18s ease}.hamburger-button:hover,.hamburger-button:focus-visible{background:#e7ede1;outline:none}.hamburger-button:focus-visible{box-shadow:0 0 0 3px #d9822b47}.side-panel-backdrop{position:fixed;inset:70px 0 calc(68px + env(safe-area-inset-bottom)) 0;z-index:100;background:#19221b7a;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s}.side-panel-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.side-panel{position:fixed;top:70px;bottom:calc(68px + env(safe-area-inset-bottom));left:0;z-index:110;width:min(350px,88vw);overflow-y:auto;overscroll-behavior:contain;background:#fffdf8;border-right:1px solid #d7d1c2;box-shadow:10px 0 34px #2631282b;transform:translate(-102%);visibility:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),visibility 0s linear .28s}.side-panel.is-open{transform:translate(0);visibility:visible;transition-delay:0s}@media(max-width:640px){.side-panel-backdrop{inset:calc(75px + env(safe-area-inset-top)) 0 calc(68px + env(safe-area-inset-bottom)) 0}.side-panel{top:calc(75px + env(safe-area-inset-top))}}.side-panel-content{display:flex;min-height:100%;flex-direction:column;padding:12px 0 18px}.side-panel-section{padding:16px 20px;border-bottom:1px solid #eee9dd}.side-panel-section:first-child{padding-top:10px}.side-panel-eyebrow{margin:0 0 9px;color:#5d765d;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.side-panel-link{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 8px;border:0;border-radius:10px;background:transparent;color:#285239;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease}.side-panel-link:hover,.side-panel-link:focus-visible{background:#edf1e9;outline:none}.side-panel-link small{margin-left:auto;color:#7a8179;font-size:.7rem;font-weight:700}.side-panel-quiet .side-panel-link{color:#5f695e;font-size:.88rem}.side-panel-future{cursor:default}.side-panel-future:hover{background:transparent}.side-panel-logout{margin-top:auto;padding:18px 20px 0;border-top:1px solid #d7d1c2}.side-panel-logout .side-panel-link{color:#8f3d2f;font-weight:800}.theme-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border-radius:12px;background:#edf1e9}.theme-choice button{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 4px;border:0;border-radius:9px;background:transparent;color:#4f5a50;font-size:.74rem;font-weight:700;cursor:pointer}.theme-choice button.active{background:var(--accent);color:#fff;box-shadow:0 3px 9px #bd6d1f38}.location-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px}.location-setting>span{display:flex;align-items:center;gap:9px;color:#285239}.switch{position:relative;flex:0 0 auto;width:46px;height:26px;padding:0;border:0;border-radius:999px;background:#b9c1b7;cursor:pointer;transition:background .18s ease}.switch span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #19221b40;transition:transform .18s ease}.switch.is-on{background:var(--accent)}.switch.is-on span{transform:translate(20px)}.side-panel-field{display:grid;gap:5px;margin-top:13px;color:#39483b;font-size:.82rem;font-weight:750}.side-panel-field select,.radius-picker select{min-height:42px;padding:8px 34px 8px 10px;border:1px solid #b8c2b7;border-radius:10px;background:#fffdf8;color:#285239;cursor:pointer}.side-panel-hint{margin:7px 0 0;color:#687168;font-size:.78rem}.interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.interest-chip{position:relative;display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;padding:7px 8px;border:1px solid #cdd5cc;border-radius:10px;color:#3f5143;font-size:.76rem;font-weight:700;text-align:center;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.interest-chip input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.interest-chip:hover,.interest-chip:has(input:focus-visible){border-color:#d9822b;outline:none;box-shadow:0 0 0 2px #d9822b2e}.interest-chip.is-selected{border-color:#d9822b;background:#d9822b;color:#fff}.side-panel-ad-free{margin-top:auto}.discover-filter-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:12px}.radius-picker{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 4px 0 11px;border:2px solid #cdd5cc;border-radius:20px;color:#2d6a4f;font-size:.85rem;font-weight:600}.radius-picker select{min-height:30px;padding:3px 27px 3px 3px;border:0;background:transparent;font-size:.85rem;font-weight:700}.radius-picker select:focus{outline:2px solid rgba(217,130,43,.45);outline-offset:1px}.location-filter-note{margin:8px 0 0;color:#5f695e;font-size:.8rem;text-align:center}.info-page{display:grid;gap:12px;max-width:760px;margin:0 auto}.info-page-brand-logo{display:block;width:112px;height:72px;object-fit:contain;object-position:left center}.info-page h1{margin:0 0 8px;color:#285239}.info-page .panel{display:grid;gap:12px}.info-page .panel h2,.info-page .panel h3,.info-page .panel p,.info-page .panel ul{margin:0}.info-page address{color:#39483b;font-style:normal;line-height:1.65}.info-page .panel ul{display:grid;gap:7px;padding-left:20px}.info-status{width:fit-content;padding:5px 9px;border-radius:999px;background:#f1eadc;color:#687168;font-size:.78rem;font-weight:700}.info-page .button{width:fit-content;margin-top:5px}.service-page{display:grid;gap:12px;max-width:760px;margin:0 auto}.service-page h1{margin:0 0 8px;color:#285239}.service-card{display:grid;gap:18px}.service-card>p{margin:0}.help-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;margin:0;padding-left:20px}.service-field{display:grid;gap:7px;color:#39483b;font-size:.9rem;font-weight:750}.service-field select,.service-field textarea{width:100%;padding:10px 12px;border:1px solid #b8c2b7;border-radius:10px;background:#fffdf8;color:#285239;font:inherit}.service-field textarea{resize:vertical}.service-note{color:#687168;font-size:.82rem}.service-card .button{width:fit-content}@media(max-width:640px){.brand-cluster{gap:6px}.hamburger-button{width:38px;height:40px;margin-left:-7px}.help-topic-list{grid-template-columns:1fr}}@media(max-width:400px){.header{gap:10px}.brand{font-size:1.18rem}.brand-cluster{gap:3px}.hamburger-button{width:34px}.recommend-link{padding-left:9px;padding-right:9px}}.farm-gallery{display:grid;grid-template-columns:1fr;gap:4px;border-radius:12px;overflow:hidden;margin-bottom:20px}.farm-gallery-main{display:block;border:none;padding:0;cursor:pointer;width:100%;height:300px;overflow:hidden;background:#eae4d5}.farm-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;height:100px}.farm-gallery-thumb{display:block;border:none;padding:0;cursor:pointer;overflow:hidden;background:#eae4d5;position:relative}.farm-gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.farm-gallery-main:hover .farm-gallery-img,.farm-gallery-thumb:hover .farm-gallery-img{transform:scale(1.03)}.farm-gallery-more{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;color:#fff;font-size:1.3rem;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none}.farm-gallery-community-label{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:10px;background:#1b4332e0;color:#fff;font-size:.66rem;font-weight:700;pointer-events:none}.farm-gallery-secondary{margin:16px 0 24px}.farm-gallery-secondary h2{font-size:1.05rem;margin:0 0 8px}.farm-gallery-secondary>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.farm-gallery-secondary button{position:relative;border:0;padding:0;overflow:hidden;border-radius:10px;background:#eae4d5;aspect-ratio:1;cursor:pointer}.farm-gallery-secondary img{width:100%;height:100%;object-fit:cover;display:block}.farm-lightbox-community-actions{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:.8rem}.farm-lightbox-community-actions button{border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;padding:4px 8px;border-radius:7px;cursor:pointer}.community-photo-rules{margin:10px 0 14px;padding:10px 12px;border-left:3px solid #2d6a4f;background:#edf5ee;color:#334a37;font-size:.82rem}.community-photo-rules ul{margin:5px 0 0;padding-left:18px}.media-report-form{margin:0 0 24px}.media-report-form h2{margin-top:0}.media-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.farm-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000e0;display:flex;align-items:center;justify-content:center}.farm-lightbox-close{position:absolute;top:16px;right:20px;background:#ffffff26;border:none;border-radius:50%;width:44px;height:44px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center}.farm-lightbox-close:hover{background:#ffffff47}.farm-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;border-radius:50%;width:52px;height:52px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center}.farm-lightbox-prev{left:20px}.farm-lightbox-next{right:20px}.farm-lightbox-nav:hover{background:#ffffff47}.farm-lightbox-content{max-width:min(90vw,1100px);max-height:90vh;display:flex;flex-direction:column;align-items:center}.farm-lightbox-img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.farm-lightbox-caption{color:#e8e0d0;font-size:.88rem;text-align:center;margin:8px 0 2px}.farm-lightbox-credit{color:#b8b0a0;font-size:.82rem}.farm-lightbox-counter{color:#a8a098;font-size:.8rem;margin:0}.milk-stations-page .farm-card h3{color:#285239}.app-loading-screen{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,#fffef8 0,rgba(255,254,248,.92) 18rem,transparent 38rem),linear-gradient(145deg,#eaf0e3,#f8f4e9);opacity:1;transition:opacity .3s ease,visibility 0s linear 0s}.app-loading-screen.is-leaving{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}.app-loading-content{display:grid;justify-items:center;gap:16px}.app-loading-logo{display:block;width:min(300px,72vw);max-height:58vh;height:auto;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(26,52,30,.14))}.app-loading-indicator{width:34px;height:3px;border-radius:999px;background:#d9822b;animation:loading-pulse 1s ease-in-out infinite}@keyframes loading-pulse{50%{transform:scaleX(.55);opacity:.65}}@media(prefers-reduced-motion:reduce){.app-loading-screen,.app-loading-indicator{animation:none;transition:none}}@media(prefers-color-scheme:dark){html:not([data-theme]) .app-loading-screen{background:radial-gradient(circle at 50% 42%,#2a3b2d 0,rgba(42,59,45,.9) 18rem,transparent 38rem),linear-gradient(145deg,#142019,#203127)}}html[data-theme=dark]{--surface-card:#202b23;--surface-subtle:#27372b;--surface-muted:#2a392e;--surface-warning:#3b3022;--surface-danger:#3b2525;--surface-success:#233b2a;--text-heading:#a8c9aa;--text-body:#dce6dd;--text-muted:#a8b5aa;--border-color:#405044;--border-strong:#506154;--danger-text:#f0c5c5;--warning-text:#f2d5ad;--success-text:#c8e4cb;background:#172019;color:#e7eee7}html[data-theme=dark] body{background:radial-gradient(circle at 12% -10%,#25352a 0,transparent 32rem),#172019;color:#e7eee7}html[data-theme=dark] .header{background:#19231cf5;border-color:#405044}html[data-theme=dark] .brand,html[data-theme=dark] .hamburger-button,html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3{color:#a8c9aa}html[data-theme=dark] .hamburger-button:hover,html[data-theme=dark] .hamburger-button:focus-visible,html[data-theme=dark] .auth-link:hover{background:#2a392e}html[data-theme=dark] .bottom-nav{background:#1c261ff7;border-color:#405044}html[data-theme=dark] .hero,html[data-theme=dark] .knowledge-hero,html[data-theme=dark] .knowledge-entry-header{background:linear-gradient(135deg,#26362b,#202d25);border-color:#405044}html[data-theme=dark] .panel,html[data-theme=dark] .farm-card,html[data-theme=dark] .farm-map-section,html[data-theme=dark] .empty-message,html[data-theme=dark] .auth-forms,html[data-theme=dark] .knowledge-category-card,html[data-theme=dark] .knowledge-entry-card,html[data-theme=dark] .knowledge-fact-grid section,html[data-theme=dark] .knowledge-callout,html[data-theme=dark] .knowledge-links,html[data-theme=dark] .knowledge-sources,html[data-theme=dark] .knowledge-prose,html[data-theme=dark] .hack-list-section,html[data-theme=dark] .recipe-card{background:#202b23;border-color:#405044;color:#e7eee7}html[data-theme=dark] .farm-image-placeholder{background:linear-gradient(145deg,#29382c,#1d2a20);color:#c6dbc7}html[data-theme=dark] .community-photo-rules{background:#27372b;color:#d6e4d6}html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select,html[data-theme=dark] .search,html[data-theme=dark] .rich-editor{background:#18211b;border-color:#506154;color:#edf3ed}html[data-theme=dark] .side-panel{background:#202b23;border-color:#405044}html[data-theme=dark] .side-panel-section,html[data-theme=dark] .side-panel-logout{border-color:#405044}html[data-theme=dark] .side-panel-link,html[data-theme=dark] .location-setting>span,html[data-theme=dark] .side-panel-field,html[data-theme=dark] .radius-picker,html[data-theme=dark] .radius-picker select{color:#b7d0b8}html[data-theme=dark] .side-panel-link:hover,html[data-theme=dark] .side-panel-link:focus-visible,html[data-theme=dark] .theme-choice{background:#2a392e}html[data-theme=dark] .side-panel-field select{background:#18211b;border-color:#506154;color:#edf3ed}html[data-theme=dark] .interest-chip{border-color:#506154;color:#c8d8c9}html[data-theme=dark] .interest-chip.is-selected{border-color:#d9822b;background:#d9822b;color:#fff}html[data-theme=dark] .info-page address{color:#dce6dd}html[data-theme=dark] .info-status{background:#2a392e;color:#a8b5aa}html[data-theme=dark] .view-toggle{background:#2a392e}html[data-theme=dark] .review-notice,html[data-theme=dark] .knowledge-evidence,html[data-theme=dark] .map-selection,html[data-theme=dark] .knowledge-related-link{background:#29392e;border-color:#405044;color:#c1d9c2}html[data-theme=dark] .eyebrow,html[data-theme=dark] small,html[data-theme=dark] .field-hint,html[data-theme=dark] .side-panel-hint,html[data-theme=dark] .location-filter-note{color:#a8b5aa}html[data-theme=dark] .content p,html[data-theme=dark] .content li,html[data-theme=dark] .content label,html[data-theme=dark] .content figcaption,html[data-theme=dark] .content legend{color:#dce6dd}html[data-theme=dark] .content .eyebrow,html[data-theme=dark] .content .field-hint,html[data-theme=dark] .content .recipe-result-count,html[data-theme=dark] .content .recipe-card-meta,html[data-theme=dark] .content .source-detail,html[data-theme=dark] .content .review-meta,html[data-theme=dark] .content .auth-switch,html[data-theme=dark] .content .knowledge-review-meta,html[data-theme=dark] .content .disclosure{color:#a8b5aa}html[data-theme=dark] .knowledge-empty,html[data-theme=dark] .knowledge-state,html[data-theme=dark] .knowledge-subcategories a,html[data-theme=dark] .knowledge-season-list span,html[data-theme=dark] .hack-cover,html[data-theme=dark] .hack-gallery figure,html[data-theme=dark] .knowledge-entry-cover,html[data-theme=dark] .knowledge-gallery figure,html[data-theme=dark] .rich-editor-toolbar,html[data-theme=dark] .hack-admin-preview,html[data-theme=dark] .editorial-media-list>div,html[data-theme=dark] .recipe-category-navigation,html[data-theme=dark] .recipe-category-link,html[data-theme=dark] .dashboard-section,html[data-theme=dark] .stat-card,html[data-theme=dark] .contribution-form-container,html[data-theme=dark] .farm-action-box,html[data-theme=dark] .season-filter,html[data-theme=dark] .image-placeholder,html[data-theme=dark] .farm-gallery-main,html[data-theme=dark] .farm-gallery-thumb{background:#202b23;border-color:#405044;color:#e7eee7}html[data-theme=dark] .rich-editor-toolbar button,html[data-theme=dark] .map-controls button,html[data-theme=dark] .season-month-selector button,html[data-theme=dark] .season-filter-options button,html[data-theme=dark] .editorial-type-tabs button,html[data-theme=dark] .recipe-category-link{background:#18211b;border-color:#506154;color:#b7d0b8}html[data-theme=dark] .knowledge-category-icon,html[data-theme=dark] .badge,html[data-theme=dark] .chip,html[data-theme=dark] .admin-notice,html[data-theme=dark] .auth-status,html[data-theme=dark] .admin-list-item.selected{background:#29392e;color:#c1d9c2}html[data-theme=dark] .review-text,html[data-theme=dark] .recipe-card-description,html[data-theme=dark] .farm-action-box .address,html[data-theme=dark] .knowledge-hero p:last-child,html[data-theme=dark] .knowledge-entry-header p,html[data-theme=dark] .knowledge-category-copy p,html[data-theme=dark] .knowledge-entry-card p,html[data-theme=dark] .dashboard-section ul{color:#dce6dd}html[data-theme=dark] .auth-forms label,html[data-theme=dark] .profile-form label,html[data-theme=dark] .contribution-form-container label,html[data-theme=dark] .admin-page label,html[data-theme=dark] .editorial-editor .editor-section>label,html[data-theme=dark] .rich-editor-field{color:#dce6dd}html[data-theme=dark] .auth-link,html[data-theme=dark] .auth-link-button,html[data-theme=dark] .text-button,html[data-theme=dark] .editor-link,html[data-theme=dark] .button.outline,html[data-theme=dark] .knowledge-sources a,html[data-theme=dark] .knowledge-richtext a{color:#b7d0b8}html[data-theme=dark] .button.outline{border-color:#8bb290}html[data-theme=dark] .button.outline:hover,html[data-theme=dark] .secondary-button,html[data-theme=dark] .secondary-button:hover{background:#2a392e;color:#dce6dd}html[data-theme=dark] .map-attribution{background:#19231cdb;color:#c4d0c5}html[data-theme=dark] .review-card,html[data-theme=dark] .admin-list-item,html[data-theme=dark] .editor-heading,html[data-theme=dark] .recipe-category-management,html[data-theme=dark] .editorial-media-list>div,html[data-theme=dark] .knowledge-card-footer{border-color:#405044}html[data-theme=dark] .danger-zone{background:#342524!important;border-color:#74483f!important}html[data-theme=dark] .review-notice{background:#3b3022;color:#f2d5ad}html[data-theme=dark] .success-message{background:#233b2a;border-color:#476b4e;color:#c8e4cb}html[data-theme=dark] .error-message{background:#3b2525;border-color:#744141;color:#f0c5c5}html[data-theme=dark] .milk-stations-page .farm-card h3{color:#a8c9aa}html[data-theme=dark] .support-page-intro{background:linear-gradient(135deg,#26362b,#202d25);border-color:#405044;color:#a8c9aa;box-shadow:0 14px 35px #0003}html[data-theme=dark] .support-page-intro>svg{color:#b7d0b8}html[data-theme=dark] .support-page-intro p:last-child,html[data-theme=dark] .support-page-panel p{color:#dce6dd}html[data-theme=dark] .support-page-highlight{color:#c8e4cb!important}html[data-theme=dark] .support-page-note{border-color:#405044;color:#a8b5aa!important}html[data-theme=dark] .side-panel-support-link{color:#b7d0b8}html[data-theme=dark] .app-loading-screen{background:radial-gradient(circle at 50% 42%,#2a3b2d 0,rgba(42,59,45,.9) 18rem,transparent 38rem),linear-gradient(145deg,#142019,#203127)}.chat-layout{display:flex;gap:16px;height:calc(100vh - 180px);max-height:800px;margin-top:16px}.chat-sidebar{flex:0 0 280px;display:flex;flex-direction:column;gap:8px;padding-right:8px}@media(max-width:768px){.chat-layout{flex-direction:column;height:calc(100dvh - 200px);max-height:none;gap:8px;margin-top:8px}.chat-sidebar{flex:0 0 auto;padding-right:0;padding-bottom:8px;border-bottom:1px solid #ded8ca}.chat-room-button{padding:10px 12px;border:1px solid #ded8ca}.chat-main{min-height:0;border-radius:12px;border:none;border-top:1px solid #ded8ca}.chat-main .chat-messages{padding:8px;gap:8px}.chat-messages .chat-loading{padding:4px}.chat-messages .chat-login-prompt{padding:8px}.chat-composer{padding:12px;border-top:1px solid #ded8ca;position:sticky;bottom:0}.content{padding-bottom:80px}}.chat-main{flex:1;display:flex;flex-direction:column;background:#fffdf8;border:1px solid #ded8ca;border-radius:18px;overflow:hidden;min-height:500px}.chat-room-button{text-align:left;padding:12px;border-radius:12px;border:1px solid transparent;background:#fffdf8;cursor:pointer;transition:background .2s,border-color .2s;color:#285239;font-weight:500}.chat-room-button:hover{background:#edf1e9}.chat-room-button.active{background:#edf1e9;border-color:#d5dfd0;font-weight:800}.chat-regional-menu{position:relative}.chat-regional-menu summary{list-style:none}.chat-regional-menu summary::-webkit-details-marker{display:none}.chat-regional-trigger{width:100%;display:flex;align-items:center;justify-content:space-between}.chat-regional-menu-list{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;display:flex;flex-direction:column;gap:4px;max-height:min(50vh,320px);overflow-y:auto;padding:8px;background:#fffdf8;border:1px solid #ded8ca;border-radius:14px;box-shadow:0 12px 28px #24302729}.chat-regional-menu-list .chat-room-button{width:100%}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;flex-direction:column;gap:4px}.chat-message-header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chat-message-author{font-weight:700;color:#285239;font-size:.9rem}.chat-message-time{font-size:.75rem;color:#687168}.chat-message-body{background:#f7f4eb;padding:10px 14px;border-radius:0 14px 14px;color:#243027;line-height:1.4;word-break:break-word;font-size:.95rem}.chat-message.own .chat-message-header{flex-direction:row-reverse}.chat-message.own .chat-message-body{background:#e2eedb;border-radius:14px 0 14px 14px;align-self:flex-end}.chat-composer{padding:16px;border-top:1px solid #ded8ca;background:#fffdf8;display:flex;gap:8px;flex-direction:column}.chat-composer-row{display:flex;gap:8px;align-items:flex-end}.chat-composer textarea{flex:1;resize:none;min-height:44px;padding:10px 12px;border:1px solid #b8c2b7;border-radius:12px;background:#fff;font-family:inherit}.chat-composer button{white-space:nowrap;align-self:flex-end}.chat-admin-badge{font-size:.65rem;background:#d9822b;color:#fff;padding:2px 6px;border-radius:8px;font-weight:700;text-transform:uppercase}.chat-notice{padding:12px;background:#fae7e7;color:#8a3030;border-radius:12px;margin:16px;font-size:.9rem;border:1px solid #ebc5c5}.chat-warning-notice{padding:12px 16px;background:#fff3d9;color:#6f4a16;border:1px solid #e7c98b;border-radius:12px;margin:16px 16px 0;font-size:.9rem}.chat-warning-entry p{margin:6px 0 2px}.chat-warning-entry small{color:inherit;opacity:.85}.chat-login-prompt{padding:18px;text-align:left;background:#edf1e9;border-radius:12px;margin:0;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-login-prompt p{margin:0;color:#285239;font-weight:600}.chat-login-prompt .button{flex:0 0 auto}.chat-reply-preview{display:flex;justify-content:space-between;align-items:center;background:#edf1e9;padding:8px 12px;border-radius:8px;font-size:.85rem;border-left:3px solid #d9822b}.chat-message-reply{font-size:.8rem;color:#687168;background:#edf1e9;padding:6px 10px;border-radius:8px;margin-bottom:4px;border-left:3px solid #b8c2b7;display:inline-block}.chat-message-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s;font-size:.75rem;align-items:center}.chat-message:hover .chat-message-actions{opacity:1}.chat-message.own:hover .chat-message-actions{justify-content:flex-end}.chat-message-action-button{background:none;border:none;color:#687168;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px;font-weight:600}.chat-message-action-button:hover{color:#285239;text-decoration:underline}.chat-message:focus-within .chat-message-actions{opacity:1}.chat-message-moderated{border:1px dashed var(--border-strong);background:var(--surface-subtle);padding:10px;border-radius:12px}.chat-moderation-status{color:var(--danger-text);font-size:.75rem;font-weight:700}.chat-respect-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px}.chat-respect-dialog{background:#fffdf8;padding:24px;border-radius:24px;max-width:400px;text-align:center;box-shadow:0 10px 40px #0003;border:1px solid #ded8ca}.chat-respect-dialog h2{color:#285239;margin-top:0}.chat-report-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px}.chat-moderation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chat-moderation-actions>div{grid-column:1 / -1}@media(max-width:640px){.chat-message-actions{opacity:1;flex-wrap:wrap}.chat-moderation-actions{grid-template-columns:1fr}}.chat-report-content{background:#fffdf8;padding:24px;border-radius:24px;max-width:400px;width:100%;box-shadow:0 10px 40px #0003;border:1px solid #ded8ca;display:flex;flex-direction:column;gap:16px}.chat-report-content h3{margin:0;color:#285239}.chat-report-content select,.chat-report-content textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #b8c2b7;background:#fff;font-family:inherit}.chat-report-actions{display:flex;justify-content:flex-end;gap:8px}.chat-top-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #ded8ca}.chat-room-header{padding:16px;border-bottom:1px solid #ded8ca;background:#fffdf8}.chat-room-header h2{margin:0 0 4px;color:#285239;font-size:1.25rem}.chat-room-header p{margin:0;color:#687168;font-size:.9rem}.chat-loading{padding:24px;text-align:center;color:#687168}html[data-theme=dark] .chat-main{background:#1a1e1b;border-color:#2c362d}html[data-theme=dark] .chat-room-button{background:#1a1e1b;color:#e7ede1}html[data-theme=dark] .chat-room-button:hover{background:#243027}html[data-theme=dark] .chat-room-button.active{background:#243027;border-color:#3d5040}html[data-theme=dark] .chat-regional-menu-list{background:#1a1e1b;border-color:#3d5040}html[data-theme=dark] .chat-composer{background:#1a1e1b;border-color:#2c362d}html[data-theme=dark] .chat-composer textarea{background:#111512;border-color:#3d5040;color:#e7ede1}html[data-theme=dark] .chat-message-body{background:#243027;color:#e7ede1}html[data-theme=dark] .chat-message.own .chat-message-body{background:#2a4030}html[data-theme=dark] .chat-reply-preview{background:#243027}html[data-theme=dark] .chat-message-reply{background:#111512;border-left-color:#3d5040}html[data-theme=dark] .chat-report-content{background:#1a1e1b;border-color:#2c362d}html[data-theme=dark] .chat-report-content h3{color:#e7ede1}html[data-theme=dark] .chat-room-header{background:#1a1e1b;border-color:#2c362d}html[data-theme=dark] .chat-room-header h2{color:#e7ede1}html[data-theme=dark] .chat-login-prompt{background:#243027}html[data-theme=dark] .chat-notice{background:#3d2424;color:#e8b0b0;border-color:#5c3535}html[data-theme=dark] .chat-warning-notice{background:#3b3022;color:#f2d5ad;border-color:#705936}.button-danger{background:#a23b2b!important;color:#fff!important;border-color:#a23b2b!important}.button-danger:hover{background:#8a3030!important}.admin-chat-section{display:flex;flex-direction:column}@media(max-width:640px){.admin-chat-section-full{margin-top:16px}.header{gap:8px;padding-left:14px;padding-right:14px}.header-actions,.header-support-links,.auth-links{min-width:0;gap:4px;margin-left:0}.auth-link{min-height:38px;padding:7px}.auth-label,.auth-link-button{display:none}.auth-icon{display:block}.knowledge-book-grid,.knowledge-book-card,.knowledge-book-card-content{min-width:0;max-width:100%}.knowledge-book-grid{width:calc(100% - 2px)}.knowledge-book-card-content{overflow-wrap:anywhere}.knowledge-book-actions .button{max-width:100%;white-space:normal}}html,body{max-width:100%;overflow-x:clip}@supports not (overflow: clip){html,body{overflow-x:hidden}}.side-panel[aria-hidden=true]{display:none}.shop-page-header{padding:clamp(22px,5vw,42px);border:1px solid #d5dfd0;border-radius:24px;background:linear-gradient(135deg,#e7ede1,#f5f1e7);box-shadow:0 14px 35px #344c3614;margin-bottom:24px}.shop-page-header h1{margin:.25rem 0 .75rem;color:#285239;font-size:clamp(2rem,6vw,3.5rem);line-height:1.05}.shop-page-header p{max-width:760px;color:#4f5a50;margin-bottom:0}.shop-editor-link{display:inline-flex;margin-top:18px}.shop-disclosure{max-width:760px;margin:0 0 24px;padding:12px 16px;background:#f7f4eb;border:1px solid #ded8ca;border-radius:12px;color:#687168;font-size:.85rem}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.shop-card{display:flex;flex-direction:column;border:1px solid #ded9cd;border-radius:18px;background:#fffdf8;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 8px 24px #27412e14;transition:transform .2s ease,border-color .2s ease}.shop-card:hover{transform:translateY(-3px);border-color:#d9a05a}.shop-card-image-wrapper{position:relative;aspect-ratio:4/3;background:#eef2e8;border-bottom:1px solid #ded9cd}.shop-card-image-wrapper img{width:100%;height:100%;object-fit:contain;padding:16px}.shop-card-badge{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:999px;background:#fffdf8;color:#285239;font-size:.72rem;font-weight:800;box-shadow:0 4px 12px #0000001a;text-transform:uppercase;letter-spacing:.05em}.shop-card-badge.coming-soon{background:#e8e8e8;color:#656565}.shop-card-content{display:flex;flex-direction:column;padding:18px;flex:1}.shop-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#687168;font-size:.78rem}.shop-affiliate-badge{padding:3px 8px;border:1px solid #d8c79f;border-radius:999px;background:#f7f1df;color:#75572b;font-weight:700;letter-spacing:.03em}.shop-card-brand{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#5d765d;font-weight:800;margin-bottom:4px}.shop-card-title{margin:0 0 8px;font-size:1.15rem;color:#285239}.shop-card-summary{margin:0;color:#5f695e;font-size:.9rem;line-height:1.5}@media(max-width:480px){.shop-page-header{padding:24px 18px;overflow:hidden;text-align:center}.shop-page-header h1{font-size:clamp(1.55rem,6.4vw,1.9rem);line-height:1.1;text-wrap:balance}.shop-page-header p{margin-inline:auto}}.shop-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.6fr);gap:40px;align-items:start}@media(max-width:768px){.shop-detail-layout{grid-template-columns:1fr}}.shop-detail-gallery{border:1px solid #ded8ca;border-radius:24px;background:#fffdf8;padding:32px;display:flex;justify-content:center;align-items:center}.shop-detail-gallery img{max-width:100%;max-height:500px;object-fit:contain}.shop-detail-info{display:flex;flex-direction:column;gap:20px}.shop-detail-brand{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#5d765d;font-weight:800}.shop-detail-category{margin-bottom:6px;color:#75572b;font-size:.8rem;font-weight:700}.shop-detail-title{margin:0;font-size:clamp(2rem,5vw,2.5rem);color:#285239;line-height:1.1}.shop-detail-summary{font-size:1.1rem;color:#4f5a50;font-weight:500;margin:0}.shop-detail-description{color:#5f695e;line-height:1.6}.shop-detail-actions{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:24px;border-top:1px solid #ded8ca}.shop-provider-link{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#285239;color:#fff;border-radius:14px;text-decoration:none;font-weight:700;transition:background .2s ease,transform .2s ease;border:none;text-align:left;cursor:pointer;font-family:inherit}.shop-provider-link:hover{background:#1d432d;transform:translateY(-2px)}.shop-provider-link.disabled{background:#d5dfd0;color:#8fa08e;cursor:not-allowed;transform:none}.shop-provider-merchant{font-size:.8rem;opacity:.9;font-weight:500}.support-page{display:grid;gap:22px;width:min(720px,100%);margin:10px auto 0}.support-page-intro{padding:clamp(24px,5vw,42px);border:1px solid #d5dfd0;border-radius:24px;background:linear-gradient(135deg,#e7ede1,#f5f1e7);color:#285239;box-shadow:0 14px 35px #344c3614}.support-page-intro .eyebrow{margin-top:0}.support-page-intro>svg{margin-top:8px;color:#5d765d}.support-page-intro h1{margin:12px 0 10px;font-size:clamp(2rem,6vw,3.15rem);line-height:1.08}.support-page-intro p:last-child{max-width:620px;margin-bottom:0;color:#4f5a50}.support-page-panel{display:grid;gap:16px;padding:clamp(20px,4vw,30px)}.support-page-panel p{margin:0;color:#4f5a50;line-height:1.65}.support-page-highlight{color:#285239!important;font-weight:800}.support-page-action{display:inline-flex;justify-self:start;align-items:center;gap:8px;margin-top:2px}.support-page-note{padding-top:14px;border-top:1px solid #e8e2d7;color:#687168!important;font-size:.82rem}.side-panel-support-link{color:#3d6047}@media(max-width:520px){.support-page{gap:16px;margin-top:0}.support-page-intro,.support-page-panel{border-radius:18px}.support-page-action{width:100%;justify-content:center}}.product-category-row{align-items:end;grid-template-columns:minmax(150px,.7fr) minmax(210px,1.2fr) minmax(170px,.8fr) 90px minmax(210px,auto)}.product-category-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}@media(max-width:820px){.product-category-row{align-items:stretch;grid-template-columns:1fr}.product-category-actions{justify-content:space-between;flex-wrap:wrap}}html[data-theme=dark] .shop-page-header{background:linear-gradient(135deg,#26362b,#202d25);border-color:#405044;box-shadow:0 14px 35px #0003}html[data-theme=dark] .shop-page-header h1,html[data-theme=dark] .shop-card-title,html[data-theme=dark] .shop-detail-title{color:#a8c9aa}html[data-theme=dark] .shop-page-header p,html[data-theme=dark] .shop-card-summary,html[data-theme=dark] .shop-detail-summary,html[data-theme=dark] .shop-detail-description{color:#dce6dd}html[data-theme=dark] .shop-disclosure{background:#29392e;border-color:#405044;color:#c1d9c2}html[data-theme=dark] .shop-card,html[data-theme=dark] .shop-detail-gallery{background:#202b23;border-color:#405044}html[data-theme=dark] .shop-card:hover{border-color:#d9a05a}html[data-theme=dark] .shop-card-image-wrapper{background:#18211b;border-color:#405044}html[data-theme=dark] .shop-card-badge{background:#29392e;color:#cfe0d0}html[data-theme=dark] .shop-card-badge.coming-soon{background:#2a392e;color:#c4d0c5}html[data-theme=dark] .shop-card-meta{color:#a8b5aa}html[data-theme=dark] .shop-affiliate-badge{background:#3b3022;border-color:#705936;color:#f2d5ad}html[data-theme=dark] .shop-card-brand,html[data-theme=dark] .shop-detail-brand{color:#b7d0b8}html[data-theme=dark] .shop-detail-category{color:#f2d5ad}html[data-theme=dark] .shop-detail-actions{border-color:#405044}html[data-theme=dark] .shop-provider-link.disabled{background:#2a392e;color:#a8b5aa}
