@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--board:#16201b;--board-raised:#1d2a23;--paper:#f3f4ef;--accent:#e9b824;--available:#38684b;--available-bright:#7fb894;--low:#a0611a;--low-bright:#d99a5b;--sold-out:#8a938c;--hairline:color-mix(in srgb, var(--paper) 18%, transparent);--muted:color-mix(in srgb, var(--paper) 65%, transparent);--font-heading:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body:"Instrument Sans", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--board);color:var(--paper);font-family:var(--font-body);flex-direction:column;min-height:100dvh;line-height:1.6;display:flex}a{color:inherit}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.01em;line-height:1.15}.site-header{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.8rem 1.25rem;display:flex}.site-header .logo{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;text-decoration:none}.site-header .logo span{color:var(--accent)}.site-header nav{flex-wrap:wrap;gap:.25rem;margin-left:auto;display:flex}.site-header nav a{color:var(--muted);border-radius:6px;align-items:center;min-height:44px;padding:.55rem .8rem;text-decoration:none;display:inline-flex}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--paper);background:var(--board-raised)}main{flex:1;width:100%;max-width:52rem;margin:0 auto;padding:1.75rem 1.25rem 3rem}main.wide{max-width:72rem}footer{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1.25rem 1.5rem;font-size:.9rem;display:flex}footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--paper)}.btn{min-height:46px;font-size:1rem;font-weight:600;font-family:var(--font-body);cursor:pointer;color:var(--board);background:var(--accent);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.2rem;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{color:var(--paper);border-color:color-mix(in srgb, var(--paper) 35%, transparent);background:0 0}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.danger{color:var(--low-bright);border-color:var(--low);background:0 0}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{min-height:46px;font-size:1rem;font-family:var(--font-body);color:var(--paper);background:var(--board-raised);border:1px solid color-mix(in srgb, var(--paper) 25%, transparent);border-radius:6px;width:100%;padding:.5rem .9rem}input::placeholder{color:color-mix(in srgb, var(--paper) 45%, transparent)}label{color:var(--muted);margin-bottom:.3rem;font-size:.9rem;display:block}.field{margin-bottom:1rem}.form-narrow{max-width:26rem}.form-error{color:var(--low-bright);margin-top:.75rem}.form-success{color:var(--available-bright);margin-top:.75rem}.tafel-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.tafel-head h1{font-size:1.9rem}.tafel-date{color:var(--accent);font-size:1rem}.search-row{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.search-row .place-box{flex:16rem;position:relative}.place-suggestions{z-index:30;background:var(--board-raised);border:1px solid var(--hairline);border-radius:6px;margin-top:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:hidden}.place-suggestions button{text-align:left;width:100%;min-height:46px;color:var(--paper);cursor:pointer;background:0 0;border:0;padding:.7rem .9rem;font-size:1rem;display:block}.place-suggestions button:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.radius-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.8rem;font-size:.95rem;display:flex}.radius-row input[type=range]{max-width:14rem;accent-color:var(--accent);flex:1;min-height:46px}.rows{margin-top:1.25rem;list-style:none}.rows>li{border-top:1px solid var(--hairline)}.rows>li:last-child{border-bottom:1px solid var(--hairline)}.farm-row{align-items:center;gap:1rem;padding:.95rem .25rem;text-decoration:none;display:flex}.farm-row:hover{background:color-mix(in srgb, var(--paper) 4%, transparent)}.farm-row .farm-main{flex:1;min-width:0}.farm-row .farm-name{font-size:1.05rem;font-weight:600}.farm-row .farm-sub{color:var(--muted);font-size:.9rem}.farm-row .farm-right{text-align:right;white-space:nowrap;color:var(--muted);font-size:.9rem}.status-dot{border-radius:50%;width:.6em;height:.6em;margin-right:.4em;display:inline-block}.status-fresh .status-dot{background:var(--available-bright)}.status-stale .status-dot{background:var(--low-bright)}.status-none .status-dot{background:var(--sold-out)}.status-fresh{color:var(--available-bright)}.status-stale{color:var(--low-bright)}.status-none{color:var(--sold-out)}.pill{border:1px solid var(--hairline);color:var(--muted);border-radius:999px;margin-right:.35rem;padding:.1rem .55rem;font-size:.8rem;display:inline-block}.view-toggle{gap:.5rem;margin-top:1.25rem;display:flex}.map-wrap{border:1px solid var(--hairline);background:var(--board-raised);border-radius:8px;height:min(62vh,34rem);margin-top:1rem;overflow:hidden}.map-wrap .maplibregl-map{font-family:var(--font-body)}.map-popup{color:var(--board);font-family:var(--font-body)}.map-popup a{color:var(--board);font-weight:600}.product-row{align-items:center;gap:.9rem;padding:.8rem .25rem;display:flex}.product-row .p-name{flex:1;font-weight:500}.product-row .p-name small{color:var(--muted);font-weight:400;display:block}.product-row .p-price{color:var(--muted);white-space:nowrap}.p-status{white-space:nowrap;font-weight:600}.p-status.available{color:var(--available-bright)}.p-status.low{color:var(--low-bright)}.p-status.sold_out{color:var(--sold-out);text-decoration:line-through}.bio-badge{color:var(--board);background:var(--available-bright);vertical-align:2px;border-radius:3px;margin-left:.4rem;padding:0 .3rem;font-size:.72rem;font-weight:700}.hof-status-toggle{gap:.4rem;display:flex}.hof-status-toggle button{border:1px solid var(--hairline);background:var(--board-raised);min-width:52px;min-height:52px;color:var(--muted);cursor:pointer;border-radius:8px;padding:0 .9rem;font-size:1rem;font-weight:600}.hof-status-toggle button.active-available{background:var(--available);color:var(--paper);border-color:var(--available)}.hof-status-toggle button.active-low{background:var(--low);color:var(--paper);border-color:var(--low)}.hof-status-toggle button.active-sold_out{background:var(--sold-out);color:var(--board);border-color:var(--sold-out)}.hof-actions{background:linear-gradient(transparent, var(--board) 30%);gap:.75rem;padding:.9rem 0;display:flex;position:sticky;bottom:0}.hof-actions .btn{flex:1;min-height:56px;font-size:1.1rem}.confirm-banner{border:1px solid var(--available);color:var(--available-bright);border-radius:8px;margin-top:1rem;padding:.9rem 1.1rem}.warn-banner{border:1px solid var(--low);color:var(--low-bright);border-radius:8px;margin-top:1rem;padding:.9rem 1.1rem}.profile-head h1{font-size:2rem}.profile-meta{color:var(--muted);margin-top:.4rem}.profile-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.1rem;display:flex}.section-title{margin-top:2.2rem;font-size:1.25rem}.section-title .accent{color:var(--accent)}.hours-table{border-collapse:collapse;width:100%;max-width:24rem;margin-top:.8rem}.hours-table td{border-bottom:1px solid var(--hairline);padding:.35rem 0}.hours-table td:last-child{text-align:right;color:var(--muted)}.stale-note{color:var(--muted);margin-top:.8rem;font-style:italic}.faq details{border-top:1px solid var(--hairline);padding:.4rem 0}.faq details:last-child{border-bottom:1px solid var(--hairline)}.faq summary{cursor:pointer;align-items:center;min-height:46px;font-weight:600;list-style:none;display:flex}.faq summary:before{content:"+";color:var(--accent);margin-right:.7rem;font-size:1.2rem}.faq details[open] summary:before{content:"–"}.faq details p{color:color-mix(in srgb, var(--paper) 85%, transparent);padding:0 0 1rem 1.6rem}.legal{background:var(--paper);color:var(--board);border-radius:6px;padding:2rem}.legal h1{font-size:1.8rem}.legal h2{margin-top:1.5rem;font-size:1.2rem}.legal p{margin-top:.75rem}.legal .todo{background:color-mix(in srgb, var(--accent) 30%, transparent);padding:0 .25rem}.back{color:var(--accent);margin-bottom:1.5rem;text-decoration:none;display:inline-block}.intro{color:color-mix(in srgb, var(--paper) 85%, transparent);max-width:40rem;font-size:1.1rem}.signup{border:1px solid var(--hairline);border-radius:8px;margin-top:2.5rem;padding:1.5rem}.signup form{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.signup input[type=email]{flex:14rem;width:auto}.signup .success{color:var(--available-bright);margin-top:.75rem}.signup .error{color:var(--low-bright);margin-top:.75rem}.empty-state{color:var(--muted);text-align:center;padding:2rem 0}.muted{color:var(--muted)}.spacer{flex:1}altcha-widget{--altcha-color-base:var(--board-raised);--altcha-color-text:var(--paper);--altcha-color-border:var(--hairline);--altcha-border-radius:6px;--altcha-max-width:100%;margin-bottom:1rem;display:block}
