:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f7f5;--card:#fff;--text:#1f1f1f;--muted:#6a6a6a;--border:#e4e4e1;--accent:#1f6f4f;--accent-hover:#15553c}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh}.container{max-width:1120px;margin:0 auto;padding:32px 20px 64px}.hero h1{margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}.hero p{color:var(--muted);margin-top:8px}.filters{background:var(--card);border:1px solid var(--border);border-radius:16px;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:12px;margin-top:24px;padding:16px;display:grid}.filters label{color:var(--muted);flex-direction:column;gap:8px;font-size:.9rem;display:flex}.filters select,.filters button{border:1px solid var(--border);height:42px;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:0 12px}.filters button{background:var(--accent);color:#fff;cursor:pointer;border:none}.filters button:hover{background:var(--accent-hover)}.reset-link{color:var(--muted);place-self:center start;font-size:.92rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:24px;display:grid}.card{border:1px solid var(--border);background:var(--card);border-radius:16px;transition:transform .15s,box-shadow .15s;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000014}.card-link{display:block}.image-wrap{aspect-ratio:4/3;background:#efefeb;position:relative}.image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.image-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x;grid-auto-columns:100%;grid-auto-flow:column;width:100%;height:100%;display:grid;overflow-x:auto}.image-carousel::-webkit-scrollbar{display:none}.image-slide{scroll-snap-align:start}.image-dots{background:#00000059;border-radius:999px;gap:6px;padding:5px 8px;display:inline-flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.image-dot{cursor:pointer;background:#ffffff8c;border:none;border-radius:999px;width:7px;height:7px;padding:0}.image-dot.active{background:#fff}.image-fallback{height:100%;color:var(--muted);place-items:center;display:grid}.card-content{padding:14px}.card-content h2{margin:0;font-size:1.05rem}.card-content .meta{margin-top:8px}.card-content p{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 10px;font-size:.94rem;line-height:1.4;display:-webkit-box;overflow:hidden}.meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.empty{color:var(--muted);margin-top:20px}.recipe-page .back-link{color:var(--muted);font-size:.92rem}.recipe-detail{border:1px solid var(--border);background:var(--card);border-radius:18px;margin-top:14px;padding:20px}.recipe-detail h1{margin:0}.recipe-detail .story{color:var(--muted);max-width:70ch;margin-top:10px}.detail-image{object-fit:cover;border-radius:12px;width:100%;max-height:460px}.detail-image-wrap{margin-top:16px;position:relative}.detail-image-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x;grid-auto-columns:100%;grid-auto-flow:column;width:100%;display:grid;overflow-x:auto}.detail-image-carousel::-webkit-scrollbar{display:none}.detail-image-carousel .detail-image{scroll-snap-align:start}.detail-image-dots{background:#00000059;border-radius:999px;gap:6px;padding:5px 8px;display:inline-flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.detail-image-dot{cursor:pointer;background:#ffffff8c;border:none;border-radius:999px;width:7px;height:7px;padding:0}.detail-image-dot.active{background:#fff}.detail-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;display:grid}.detail-grid h2,.recipe-extra h2{margin:0 0 10px}.detail-grid ul,.detail-grid ol{margin:0;padding-left:20px;line-height:1.6}.recipe-extra{color:#000;margin-top:20px;font-size:.94rem;line-height:1.55}.recipe-extra p{margin:0 0 6px}.recipe-extra .extra-notes{margin-top:10px}.recipe-extra .extra-tags{color:#787878;margin-top:8px}.comments-section{gap:12px;margin-top:18px;display:grid}.comments-section h2{margin:0}.comments-frame{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:20px}.comments-frame h3{margin:0}.comment-compose{margin-top:4px}.comments-note{color:var(--muted);margin:8px 0 0}.comment-form{gap:12px;margin-top:16px;display:grid}.comment-form label{color:var(--muted);gap:8px;font-size:.9rem;display:grid}.comment-form input,.comment-form textarea{border:1px solid var(--border);font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px}.comment-form textarea{resize:vertical}.comment-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-self:start;height:42px;padding:0 16px}.comment-form button:disabled{opacity:.6;cursor:not-allowed}.comment-error{color:#8b2f2f;margin:10px 0 0}.comments-list{gap:10px;margin-top:16px;display:grid}.comment-item{border:1px solid var(--border);border-radius:12px;padding:12px}.comment-head{color:var(--muted);justify-content:space-between;gap:8px;font-size:.84rem;display:flex}.comment-item p{margin:8px 0 0;line-height:1.5}@media (max-width:960px){.filters{grid-template-columns:repeat(2,minmax(140px,1fr))}.detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.filters{grid-template-columns:1fr}}
