:root { --color-bg: #fff7f2; --color-surface: #ffffff; --color-text: #222222; --color-text-muted: #6b6b6b; --color-primary: #db6d52; --color-primary-hover: #c4583f; --color-border: #e7d8cf; --color-danger: #b2342d; --color-success: #2f7c54; --shadow: 0 10px 30px rgba(55,39,32,.08); --radius: 16px; --container: min(1120px, calc(100% - 2rem)); }
[data-theme="dark"] { --color-bg: #171717; --color-surface: #222222; --color-text: #f8f4ee; --color-text-muted: #beb8ae; --color-primary: #f08e72; --color-primary-hover: #ffad96; --color-border: #383838; }
[data-theme="warm"] { --color-bg: #fff3e7; --color-surface: #fffaf5; --color-primary: #c66939; --color-primary-hover: #b05527; }
[data-theme="cool"] { --color-bg: #eff7fb; --color-surface: #ffffff; --color-primary: #2d7f9d; --color-primary-hover: #24677f; }
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6} a{color:var(--color-primary);text-decoration:none} img{max-width:100%;display:block}.container{width:var(--container);margin:0 auto}.section{padding:2rem 0}.narrow{max-width:760px}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-surface) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.nav-wrap{display:flex;align-items:center;gap:1rem;padding:1rem 0}.brand{font-weight:800;font-size:1.25rem;color:var(--color-text)}.main-nav{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.nav-search input,input,textarea,select{width:100%;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text)}textarea{resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.1rem;border-radius:999px;background:var(--color-primary);color:#fff;border:none;cursor:pointer;font-weight:700}.button:hover{background:var(--color-primary-hover)}.button-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.button-danger{background:var(--color-danger);color:#fff}.small{padding:.55rem .8rem;font-size:.9rem}.hero{padding:4rem 0 3rem;background:radial-gradient(circle at top right, rgba(219,109,82,.2), transparent 35%), var(--color-bg)}.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.recipe-grid,.category-grid,.stats-grid{display:grid;gap:1.25rem}.recipe-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.category-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card,.card,.stat-card,.category-card,.empty-state,.cta-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.recipe-card__body,.card,.empty-state,.cta-panel{padding:1.25rem}.recipe-card{overflow:hidden}.recipe-card__media img{aspect-ratio:16/10;object-fit:cover;width:100%}.recipe-card__rating,.muted,.meta-row{color:var(--color-text-muted)}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tag,.badge{display:inline-block;padding:.35rem .65rem;border-radius:999px;background:rgba(219,109,82,.12);color:var(--color-primary);font-size:.9rem}.site-main{min-height:70vh}.site-footer{border-top:1px solid var(--color-border);padding:2rem 0;margin-top:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-list{display:grid;gap:1rem}.stack-form{display:grid;gap:1rem}.two-col,.recipe-layout,.profile-settings-grid,.search-layout{display:grid;gap:1.25rem}.flash{width:var(--container);margin:1rem auto;padding:.9rem 1rem;border-radius:12px}.flash-success{background:rgba(47,124,84,.15);color:var(--color-success)}.flash-error{background:rgba(178,52,45,.15);color:var(--color-danger)}.flash-info{background:rgba(45,127,157,.15);color:var(--color-primary)}.ingredient-row,.cookbook-entry-row{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.step-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:start}.recipe-gallery{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1rem 0 2rem}.recipe-gallery img{border-radius:18px;aspect-ratio:4/3;object-fit:cover}.recipe-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-bottom:1.5rem}.button-group{display:flex;gap:.5rem}.ingredient-list,.step-list{padding-left:1.25rem}.ingredient-list.compact{padding-left:1rem}.recipe-layout{grid-template-columns:1fr}.profile-header{display:grid;grid-template-columns:96px 1fr;gap:1rem;align-items:center}.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover}.filter-sidebar{position:sticky;top:5rem;align-self:start}.data-table{width:100%;border-collapse:collapse;background:var(--color-surface)}.data-table th,.data-table td{padding:.85rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{padding:1.25rem;text-align:center}.stat-card strong{display:block;font-size:2rem}.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.admin-sidebar{padding:2rem 1.25rem;border-right:1px solid var(--color-border);background:var(--color-surface)}.admin-sidebar nav{display:grid;gap:.75rem;margin-top:1rem}.admin-main{padding:2rem}.nav-toggle{display:none;background:transparent;border:1px solid var(--color-border);border-radius:12px;padding:.55rem .75rem}.theme-picker{min-width:120px}.notice{padding:1rem;border-radius:12px;margin:1rem 0}.notice-warning{background:rgba(219,109,82,.12)}.notice-danger{background:rgba(178,52,45,.12)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.inline-form{display:inline-flex;flex-wrap:wrap;gap:.75rem;align-items:center}.checkbox-row{display:flex;align-items:center;gap:.5rem}.nested-card{border:1px dashed var(--color-border);box-shadow:none}.cookbook-recipe+.cookbook-recipe{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 60%,white);outline-offset:2px}@media (min-width:640px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.search-layout,.profile-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-layout{grid-template-columns:minmax(280px,1fr) 2fr}.search-layout{grid-template-columns:320px 1fr}}@media (max-width:639px){.main-nav{display:none;position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:1rem;flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.nav-toggle{display:inline-flex;margin-left:auto}.ingredient-row,.cookbook-entry-row,.step-row,.stats-grid,.category-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}}
