@import"https://fonts.googleapis.com/css2?family=Archivo:wght@300;400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:Archivo,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:#2a231d;background-color:#f8f5f1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--display-font: "Space Grotesk", "Segoe UI", sans-serif;--ink: #2a231d;--muted: #6f6258;--surface: #f8f5f1;--accent: #f05a47}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--surface)}a{color:inherit;text-decoration:none}input,button{font-family:inherit}#root{min-height:100vh}.app{min-height:100vh;padding:32px clamp(20px,5vw,64px) 72px;color:var(--ink);background:radial-gradient(circle at top,rgba(255,243,224,.85),transparent 50%),radial-gradient(circle at 20% 20%,rgba(206,234,214,.7),transparent 45%),radial-gradient(circle at 80% 30%,rgba(230,229,255,.5),transparent 50%),var(--surface)}.top-bar{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(260px,1.6fr) minmax(180px,1fr);align-items:center;gap:24px;margin-bottom:40px}.left-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:16px;border:none;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.brand:hover .brand-mark,.brand:focus-visible .brand-mark{box-shadow:0 14px 26px #ff7c674d;transform:translateY(-1px)}.brand:hover .brand-name,.brand:focus-visible .brand-name{color:#2f6b4f}.brand-mark{transition:transform .2s ease,box-shadow .2s ease}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#ffb369,#ff7c67);color:#2d1f12;font-family:var(--display-font);font-weight:700;display:grid;place-items:center;box-shadow:0 12px 24px #ff7c6733}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-name{font-family:var(--display-font);font-size:1.6rem;letter-spacing:-.03em}.auth{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px #1f171114;justify-self:end}.user-icon{width:34px;height:34px;border-radius:50%;background:#1c1c1c;color:#fff4e6;display:grid;place-items:center}.user-icon svg{width:18px;height:18px}.auth-text{display:flex;gap:8px;font-weight:600;font-size:.95rem}.auth-name{color:var(--ink)}.user-menu-trigger{display:flex;align-items:center;gap:10px;border:none;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.user-menu{position:relative}.user-menu-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:180px;background:#fffffff2;border:1px solid rgba(31,23,17,.12);border-radius:12px;box-shadow:0 16px 28px #1f17112e;display:grid;padding:8px;gap:6px;z-index:20}.user-menu-panel button{border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:600;color:var(--ink)}.user-menu-panel button:hover:not(:disabled){background:#1f171114}.user-menu-panel button:disabled{color:var(--muted);cursor:not-allowed}.auth-link{border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}.auth-divider{color:var(--muted)}.search-wrap{width:min(520px,100%);justify-self:center;display:flex;flex-direction:column;align-items:center}.search-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.25em;color:var(--muted)}.search{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:999px;background:#ffffffd9;border:1px solid rgba(31,23,17,.08);box-shadow:0 12px 24px #1f171114}.search-row{display:flex;gap:12px;align-items:center;justify-content:center;width:100%}.create-button{border:none;background:#1c1c1c;color:#fff4e6;padding:12px 18px;border-radius:999px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 12px 24px #1f171126}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.drafts-button{border:1px solid rgba(31,23,17,.2);background:#ffffffd9;color:var(--ink);padding:12px 18px;border-radius:999px;font-weight:600;cursor:pointer;white-space:nowrap}.search input{border:none;outline:none;background:transparent;font-size:1rem;width:100%;color:var(--ink)}.search-icon{color:var(--accent)}.search-icon svg{width:20px;height:20px}.content{display:flex;flex-direction:column;gap:28px}.results-header h1{font-family:var(--display-font);font-size:clamp(2rem,3vw,2.6rem);margin:0 0 8px}.results-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.results-sort{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--muted)}.results-sort select{border:1px solid rgba(31,23,17,.12);border-radius:999px;padding:8px 12px;background:#ffffffe6;font-weight:600;color:var(--ink)}.results-header p{margin:0;color:var(--muted)}.results-alt{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.query-chip{padding:6px 12px;border-radius:999px;background:#fffc;border:1px solid rgba(31,23,17,.08);color:var(--ink);font-weight:600}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.cookbooks-page{display:flex;flex-direction:column;gap:20px}.cookbook-create{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.cookbook-create .form-field{flex:1 1 260px}.cookbook-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.cookbook-item{border:1px solid rgba(31,23,17,.12);border-radius:14px;padding:14px 16px;background:#ffffffeb;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;font-weight:600}.cookbook-item.active{border-color:#1f17114d;box-shadow:0 14px 26px #1f17111f}.cookbook-date{font-size:.85rem;color:var(--muted)}.cookbook-meta{display:inline-flex;align-items:center;gap:8px}.cookbook-visibility{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.cookbook-toggle{border:1px solid rgba(31,23,17,.2);background:#ffffffe6;color:var(--ink);padding:6px 10px;border-radius:999px;font-weight:600;cursor:pointer}.cookbook-recipes{display:flex;flex-direction:column;gap:16px}.recipe-card{padding:20px;border-radius:18px;background:#ffffffe6;border:1px solid rgba(31,23,17,.08);box-shadow:0 18px 30px #1f171114;animation:rise .42s ease forwards;opacity:0;transform:translateY(10px);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative}.recipe-image{width:100%;border-radius:14px;overflow:hidden;margin-bottom:14px;background:#e6e5ff66}.recipe-image img{width:100%;height:160px;object-fit:cover;display:block}.recipe-image-placeholder{height:160px;display:grid;place-items:center;color:#3f3c6b;font-weight:600}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px #1f171124}.card-like{position:absolute;top:14px;right:14px;border:none;background:#ffffffe6;color:#7b6b5a;border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer;box-shadow:0 10px 20px #1f17111f}.card-like svg{width:16px;height:16px}.card-like.active{color:#cf2e2e}.card-like:disabled{cursor:default;opacity:.6}.recipe-card h3{margin:12px 0 6px;font-family:var(--display-font);font-size:1.2rem}.recipe-card p{margin:0;color:var(--muted)}.recipe-card-actions{margin-top:12px;display:flex;justify-content:flex-end}.recipe-remove{border:1px solid rgba(31,23,17,.2);background:#ffffffe6;color:var(--ink);padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer}.recipe-meta{display:flex;flex-direction:column;gap:10px}.recipe-time{font-weight:600;color:var(--accent);font-size:.9rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:4px 10px;border-radius:999px;background:#e6e5ff99;color:#3f3c6b;font-size:.75rem;font-weight:600}.recipe-cta{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--accent)}.detail-panel{display:flex;flex-direction:column;gap:16px}.create-panel{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:32px 20px}.create-backdrop{position:absolute;inset:0;background:#12100e66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.create-card{position:relative;padding:28px;border-radius:24px;background:#fffffff2;border:1px solid rgba(31,23,17,.08);box-shadow:0 24px 46px #1f17111f;width:min(860px,100%);max-height:85vh;overflow-y:auto}.auth-card{width:min(520px,100%)}.auth-tabs{margin-top:16px;display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:#1f17110f}.auth-tabs button{border:none;background:transparent;padding:8px 16px;border-radius:999px;font-weight:600;cursor:pointer}.auth-tabs button.active{background:#1c1c1c;color:#fff4e6}.create-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.create-form{margin-top:20px;display:flex;flex-direction:column;gap:20px}.create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;font-weight:600}.form-field input,.form-field textarea{padding:10px 12px;border-radius:12px;border:1px solid rgba(31,23,17,.18);font-weight:500;font-size:.95rem}.image-drop{border:2px dashed rgba(31,23,17,.2);border-radius:16px;padding:16px;display:grid;gap:12px;justify-items:center;text-align:center;background:#fffc;position:relative}.image-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.image-drop.has-image input[type=file]{pointer-events:none}.image-drop p{margin:0;font-weight:600}.image-drop span{font-size:.85rem;color:var(--muted)}.image-drop img{width:min(240px,100%);border-radius:12px;object-fit:cover}.image-remove{border:none;background:#1f17111a;padding:6px 12px;border-radius:999px;cursor:pointer;font-weight:600}.form-wide{grid-column:1 / -1}.form-section{display:flex;flex-direction:column;gap:12px}.form-section h3{margin:0;font-family:var(--display-font)}.ingredient-row,.instruction-row{display:grid;grid-template-columns:1.2fr .6fr .6fr auto;gap:10px;align-items:center}.instruction-row{grid-template-columns:1fr auto}.ingredient-row input,.ingredient-row select,.instruction-row textarea{padding:10px 12px;border-radius:12px;border:1px solid rgba(31,23,17,.18);font-weight:500;font-size:.95rem}.row-button{border:none;background:#1f171114;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600}.row-button:disabled{opacity:.5;cursor:not-allowed}.row-add{align-self:flex-start;border:none;background:#ffb3694d;color:#2d1f12;padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer}.publish-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600}.form-error{margin:0;color:#b33a2b;font-weight:600}.form-success{margin:0;color:#1b6b3a;font-weight:600}.settings-placeholder{margin-top:20px;padding:16px;border-radius:16px;background:#1f17110f;color:var(--muted);font-weight:600}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid rgba(31,23,17,.08)}.settings-row:last-of-type{border-bottom:none}.settings-row h3{margin:0 0 4px;color:var(--ink);font-family:var(--display-font)}.settings-row p{margin:0}.settings-note{margin-top:12px;font-size:.9rem}.drafts-list{display:grid;gap:10px;margin-top:8px}.draft-item{border:1px solid rgba(31,23,17,.12);background:#fffc;border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;cursor:pointer;font-weight:600}.draft-thumb{width:56px;height:56px;border-radius:12px;overflow:hidden;background:#1f171114;display:grid;place-items:center;color:var(--muted);font-size:.7rem;text-align:center;padding:6px}.draft-thumb img{width:100%;height:100%;object-fit:cover;display:block}.draft-meta{display:grid;gap:4px;text-align:left}.draft-meta span:last-child{font-size:.85rem;color:var(--muted);font-weight:500}.draft-delete{border:1px solid rgba(31,23,17,.2);background:#ffffffe6;color:var(--ink);padding:6px 10px;border-radius:999px;font-weight:600;cursor:pointer}.create-submit{align-self:flex-start;border:none;background:#1c1c1c;color:#fff4e6;padding:12px 22px;border-radius:999px;font-weight:600;cursor:pointer}.form-actions{display:flex;align-items:center;gap:16px;justify-content:flex-start;flex-wrap:wrap}.draft-status{font-size:.9rem;color:var(--muted);font-weight:600}.detail-card{padding:28px;border-radius:24px;background:#ffffffe6;border:1px solid rgba(31,23,17,.08);box-shadow:0 24px 46px #1f17111f}.detail-loading,.detail-error{display:flex;align-items:center;justify-content:space-between;gap:20px}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.detail-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:#ffe9d6e6;color:#7a4b1c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.detail-header h2{margin:12px 0 8px;font-family:var(--display-font);font-size:clamp(1.8rem,3vw,2.4rem)}.detail-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.detail-social{display:flex;align-items:center;gap:12px;color:var(--muted)}.like-button,.comment-count{display:inline-flex;align-items:center;gap:8px;font-weight:600}.like-button,.comment-count{border:none;background:transparent;color:inherit;cursor:pointer;padding:0}.like-button svg,.comment-count svg{width:18px;height:18px}.like-button.active{color:#cf2e2e}.like-button:disabled{cursor:default;opacity:.6}.detail-meta{margin:0;color:var(--muted)}.detail-back{border:none;background:#1c1c1c;color:#fff4e6;padding:10px 18px;border-radius:999px;font-weight:600;cursor:pointer}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.detail-user-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.detail-cookbook{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-cookbook select{border:1px solid rgba(31,23,17,.12);border-radius:999px;padding:10px 16px;background:#ffffffe6;font-weight:600}.detail-muted{color:var(--muted);font-weight:600}.detail-body{margin-top:24px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr);gap:24px}.detail-comments{margin-top:24px;padding-top:20px;border-top:1px solid rgba(31,23,17,.08);display:flex;flex-direction:column;gap:16px}.comment-compose{display:grid;gap:10px}.comment-compose textarea,.comment-reply textarea{width:100%;border:1px solid rgba(31,23,17,.12);border-radius:12px;padding:10px 12px;font-family:inherit;resize:vertical}.comment-list{display:grid;gap:12px}.comment-card{background:#ffffffe6;border:1px solid rgba(31,23,17,.08);border-radius:14px;padding:12px 14px;display:grid;gap:8px}.comment-card.reply{margin-left:22px;background:#ffffffdb}.comment-header{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--muted)}.comment-reply-toggle{border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;padding:0}.comment-reply{display:grid;gap:10px}.comment-reply-actions{display:flex;gap:10px;flex-wrap:wrap}.comment-replies{display:grid;gap:10px;margin-top:6px}.likes-toggle{border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;padding:0;margin-top:8px}.detail-likes{margin-top:20px;padding-top:18px;border-top:1px solid rgba(31,23,17,.08)}.likes-list{display:flex;flex-wrap:wrap;gap:8px}.likes-chip{padding:6px 10px;border-radius:999px;background:#ffffffe6;border:1px solid rgba(31,23,17,.12);font-weight:600}.detail-image{display:flex;flex-direction:column;gap:12px}.detail-image img{width:100%;border-radius:18px;object-fit:cover;max-height:240px}.detail-image-placeholder{border-radius:18px;background:linear-gradient(135deg,#ffb36980,#ceead699);color:#2d1f12;font-weight:600;height:240px;display:grid;place-items:center}.detail-stats{display:flex;justify-content:space-between;padding:12px 16px;border-radius:14px;background:#fffc;border:1px solid rgba(31,23,17,.08);font-weight:600;color:var(--accent)}.detail-sections{display:flex;flex-direction:column;gap:20px}.detail-section h3{margin:0 0 8px;font-family:var(--display-font);font-size:1.2rem}.detail-section p{margin:0;color:var(--muted)}.multiplier{margin-top:8px;display:grid;gap:10px}.multiplier label{font-weight:600;color:var(--ink)}.multiplier input{width:140px;padding:8px 12px;border-radius:10px;border:1px solid rgba(31,23,17,.18);font-weight:600}.multiplier-note{font-size:.9rem;color:var(--muted)}.servings-row{display:flex;align-items:center;gap:12px}.servings-label{font-weight:600;color:var(--ink)}.unit-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:600}.unit-toggle span{color:var(--ink)}.unit-toggle button{border:1px solid rgba(31,23,17,.18);background:#ffffffe6;padding:6px 14px;border-radius:999px;cursor:pointer;font-weight:600}.unit-toggle button.active{background:#1c1c1c;color:#fff4e6;border-color:#1c1c1c}.settings-select{border:1px solid rgba(31,23,17,.12);border-radius:999px;padding:10px 16px;background:#ffffffe6;font-weight:600}.detail-section ul,.detail-section ol{margin:0;padding-left:18px;color:var(--ink);display:grid;gap:8px}.detail-section ul li{display:flex;justify-content:space-between;gap:12px;background:#fffc;padding:10px 14px;border-radius:12px;border:1px solid rgba(31,23,17,.08)}.detail-section ol li{background:#fffc;padding:10px 14px;border-radius:12px;border:1px solid rgba(31,23,17,.08)}.empty-state{grid-column:1 / -1;padding:32px;border-radius:20px;background:#fffc;border:1px dashed rgba(31,23,17,.2);text-align:center}.empty-state h2{margin:0 0 8px;font-family:var(--display-font)}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.top-bar{grid-template-columns:1fr;gap:20px}.search-wrap{justify-self:stretch;align-items:stretch}.search-row{flex-direction:column;align-items:stretch}.create-button{width:100%;justify-content:center}.detail-body,.ingredient-row,.instruction-row{grid-template-columns:1fr}}@media(max-width:600px){.app{padding:24px 18px 56px}.brand{flex-direction:column;align-items:flex-start}.auth{width:fit-content}}
