@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--background: #fafaf8;--foreground: #1a2e1a;--card: #ffffff;--primary: #4a7c59;--primary-strong: #3d6749;--primary-foreground: #ffffff;--accent: #d4e7d7;--destructive: #c53030;--border: rgba(74, 124, 89, .2);--muted-foreground: #5a6c5a;--shadow: 0 18px 40px rgba(46, 78, 54, .08);--radius: 14px;--page-header-to-title-gap: 2rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,sans-serif;background:var(--background);color:var(--foreground)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{width:100%;border:1px solid var(--border);background:#fff;color:var(--foreground);border-radius:10px;padding:.82rem .95rem}textarea{resize:vertical}h1,h2,h3,p{margin:0}.sub,.route-note,.dropdown-meta{color:var(--muted-foreground)}.btn,.chip,.planner-tab,.tag,.prompt-chip,.nav-inline-btn,.planner-add,.planner-remove,.dropdown-action{border:1px solid transparent;border-radius:10px;padding:.72rem 1rem;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.btn,.chip,.planner-tab,.nav-inline-btn,.planner-add,.planner-remove,.dropdown-action{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.btn:hover:not(:disabled),.chip:hover:not(:disabled),.planner-tab:hover:not(:disabled),.nav-inline-btn:hover:not(:disabled),.planner-add:hover:not(:disabled),.planner-remove:hover:not(:disabled),.dropdown-action:hover:not(:disabled),.card-button:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled,.nav-inline-btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.button-icon{width:1rem;height:1rem;flex:0 0 auto}.btn-outline,.nav-inline-btn,.planner-add,.planner-remove{background:#fff;border-color:var(--border);color:var(--foreground)}.btn-destructive{background:#fff5f5;color:var(--destructive);border-color:#c5303040}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-shell{width:min(460px,100%);text-align:center}.auth-logo{width:64px;height:64px;margin:0 auto 1rem;border-radius:999px;background:#4a7c591f;color:var(--primary);display:grid;place-items:center;font-size:1.75rem;font-weight:800}.logo-icon{width:1.25rem;height:1.25rem}.logo-icon-large{width:2rem;height:2rem}.auth-subtitle{margin-top:.5rem;color:var(--muted-foreground)}.auth-card,.card,.version-panel,.planner-board,.chat-shell,.info-card,.editor-section,.meal-dialog,.empty-state{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card{margin-top:1.5rem;padding:1.5rem}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.auth-tab{border:0;border-radius:10px;padding:.75rem 1rem;background:transparent;color:var(--muted-foreground)}.auth-tab.active{background:var(--primary);color:#fff}.auth-gate-copy,.auth-gate-actions{margin-top:1rem}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.site-header-inner,.app-main{width:min(1280px,calc(100vw - 2rem));margin:0 auto}.site-header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand-link{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.2rem}.brand-badge,.icon-btn{width:40px;height:40px;border-radius:999px;background:#4a7c591f;color:var(--primary);display:grid;place-items:center;font-weight:700;border:0}.brand-badge{width:32px;height:32px}.header-tools,.site-nav{display:flex;align-items:center;gap:1.5rem}.site-nav a{color:var(--foreground);transition:color .12s ease}.site-nav a:hover{color:var(--primary)}.site-nav a.active{color:var(--primary);font-weight:600}.header-account{position:relative}.account-dropdown{position:absolute;top:calc(100% + .6rem);right:0;width:260px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.account-dropdown-head{padding:1rem;border-bottom:1px solid var(--border);background:#4a7c590d}.account-dropdown-body{padding:.85rem 1rem;border-bottom:1px solid var(--border)}.dropdown-meta+.dropdown-meta{margin-top:.35rem}.dropdown-action{width:100%;text-align:left;background:transparent;border:0}.app-main{padding:2rem 0 3.5rem}.page-head,.page-actions,.detail-topbar,.detail-actions,.planner-nav,.editor-footer,.chat-input-row,.draft-actions{display:flex;align-items:center;gap:.75rem}.page-head,.detail-topbar,.planner-nav{justify-content:space-between}.page-head{margin-bottom:2rem}.page-title{font-size:1.75rem;font-weight:800}.page-header-stack{margin-top:var(--page-header-to-title-gap)}.recipes-page .page-head{margin-bottom:2rem}.recipes-search{margin-bottom:1rem}.recipes-search-input{position:relative}.recipes-search-input input{padding:.9rem 1rem .9rem 3rem;border:2px solid rgba(74,124,89,.22);border-radius:12px;background:#fff;box-shadow:0 8px 24px #2e4e360d}.recipes-search-input input:focus{outline:none;border-color:#4a7c5973}.recipes-search-icon{position:absolute;left:1rem;top:50%;width:1rem;height:1rem;transform:translateY(-50%);color:var(--muted-foreground)}.recipes-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.75rem}.recipes-filter-label{display:inline-flex;align-items:center;gap:.45rem;color:var(--foreground);font-weight:600}.recipes-filter-icon{width:.95rem;height:.95rem}.search-input-wrap{position:relative}.search-input-wrap input{padding-left:2.9rem;border:2px solid rgba(74,124,89,.3)}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground)}.section-gap-top{margin-top:1.5rem}.section-gap-top-sm{margin-top:.75rem}.section-gap-bottom,.section-gap-bottom-sm{margin-bottom:1rem}.chips-row,.tags-row,.planner-tabs,.quick-prompts,.stat-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip,.tag,.prompt-chip,.planner-tab{background:#fff;border-color:var(--border)}.chip.active,.planner-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.card{padding:1.4rem}.card-button{text-align:left}.recipe-card h3,.detail-hero h1,.planner-period,.chat-title{font-weight:800}.recipe-card{display:flex;flex-direction:column;gap:1.1rem;min-height:100%;border:2px solid rgba(74,124,89,.18);box-shadow:0 14px 36px #2e4e360f}.recipe-card:hover{border-color:#4a7c596b;box-shadow:0 18px 42px #2e4e361c}.recipe-card-copy{display:grid;gap:.55rem}.recipe-card h3{font-size:1.25rem;margin-bottom:0;line-height:1.35}.card-meta{margin-top:1rem;color:var(--muted-foreground);font-size:.94rem}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:.9rem 1.25rem;color:var(--muted-foreground);font-size:.9rem}.recipe-card-meta-item{display:inline-flex;align-items:center;gap:.42rem}.recipe-card-meta-icon{width:.95rem;height:.95rem;color:var(--muted-foreground)}.recipe-card-tags{margin-top:auto}.header-user-icon{width:1.15rem;height:1.15rem}.loading-screen-inner{display:grid;justify-items:center;gap:.75rem}.empty-state{padding:3rem 1.5rem;text-align:center}.empty-title{font-size:1.25rem}.compact-loader{padding:2rem 1.5rem}.detail-hero{margin-bottom:2rem}.detail-hero h1{font-size:2.7rem;margin-bottom:1rem;line-height:1.12}.detail-description{max-width:56rem;font-size:1.05rem}.detail-meta-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1rem;color:var(--muted-foreground)}.detail-meta-item{display:inline-flex;align-items:center;gap:.5rem}.detail-meta-icon{width:1rem;height:1rem}.detail-tags,.detail-history-note{margin-top:1rem}.detail-content-grid{display:grid;grid-template-columns:minmax(260px,2fr) minmax(0,3fr);gap:2rem}.ingredients-list,.steps-list,.version-list,.suggestion-list{margin:0;padding:0;list-style:none}.detail-card{border:2px solid rgba(74,124,89,.18);box-shadow:0 14px 36px #2e4e360f}.detail-card h2{font-size:1.65rem;margin-bottom:1.25rem}.ingredients-list li,.steps-list li,.version-list li{padding:.75rem 0;border-top:1px solid rgba(74,124,89,.12)}.ingredients-list li:first-child,.steps-list li:first-child,.version-list li:first-child{border-top:0;padding-top:0}.ingredient-line{display:flex;align-items:flex-start;gap:.7rem;color:var(--muted-foreground)}.ingredient-bullet{color:var(--foreground);line-height:1.2}.step-line{display:grid;grid-template-columns:40px 1fr;gap:1rem;align-items:start}.step-index{width:32px;height:32px;border-radius:999px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700}.info-card{background:var(--accent);padding:1.5rem}.detail-cooking-card{margin-top:2rem;border:2px solid rgba(74,124,89,.18)}.version-panel{padding:1.25rem}.detail-version-panel{margin-top:2rem}.detail-delete-btn{padding-left:.82rem;padding-right:.82rem}.version-row{display:flex;justify-content:space-between;gap:1rem;align-items:center}.version-badge{display:inline-block;padding:.18rem .45rem;border-radius:999px;background:#4a7c591f;color:var(--primary);font-size:.74rem;font-weight:700;margin-left:.5rem}.editor-grid{display:grid;gap:1.5rem}.editor-page-title{font-size:2.7rem;font-weight:800;margin:0}.editor-section{padding:1.5rem}.editor-title{font-size:1.65rem}.editor-section label{display:block;margin-bottom:.45rem;font-weight:600}.editor-stack{display:grid;gap:.9rem}.editor-row,.editor-tag-input{display:flex;gap:.75rem;align-items:center}.editor-step-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:.75rem;align-items:start}.editor-step-row textarea{min-height:96px}.field-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.editor-add-btn{justify-self:start}.icon-ghost-btn{width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted-foreground)}.icon-ghost-btn:hover:not(:disabled){background:#c530300f;color:var(--destructive)}.editor-tag-list{display:flex;flex-wrap:wrap;gap:.6rem}.editor-tag-chip{display:inline-flex;align-items:center;gap:.45rem;padding-right:.45rem}.editor-tag-remove{width:22px;height:22px;border:0;border-radius:999px;background:#4a7c5914;color:var(--foreground);display:grid;place-items:center}.editor-tag-remove:hover:not(:disabled){background:#4a7c592e}.editor-tag-remove-icon{width:.75rem;height:.75rem}.chat-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:70vh;overflow:hidden}.chat-main,.draft-panel{display:flex;flex-direction:column}.chat-toolbar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.chat-toolbar-copy{min-width:0}.chat-toolbar-icon,.chat-info-icon{width:1.25rem;height:1.25rem;color:var(--primary);flex:0 0 auto}.chat-toolbar,.draft-panel-head{padding:1rem 1.25rem;border-bottom:2px solid rgba(74,124,89,.18)}.messages-scroll{flex:1;overflow-y:auto;padding:1.25rem}.chat-info-card{border:2px solid rgba(74,124,89,.18)}.chat-info-row{display:flex;gap:.75rem;align-items:flex-start}.message-row{display:flex;margin-bottom:1rem}.message-row.user{justify-content:flex-end}.message-bubble{max-width:min(85%,700px);padding:1rem;border-radius:14px;border:2px solid rgba(74,124,89,.2);background:#fff}.loading-bubble{display:inline-flex;align-items:center}.message-row.user .message-bubble{background:var(--primary);color:#fff;border-color:var(--primary)}.typing-dots{display:inline-flex;gap:.35rem}.typing-dots span{width:.5rem;height:.5rem;border-radius:999px;background:var(--primary);animation:typing-bounce 1s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}.message-time{margin-top:.45rem;font-size:.76rem;color:var(--muted-foreground)}.message-row.user .message-time{color:#ffffffbf}.chat-input-bar{border-top:2px solid rgba(74,124,89,.18);padding:1rem 1.25rem}.suggestion-card{border:2px solid rgba(74,124,89,.2);border-radius:14px;background:#fff;padding:1rem;margin-bottom:1rem}.suggestion-title{font-weight:700;margin-bottom:.6rem}.suggestion-list{list-style:disc;margin-left:1.2rem;margin-bottom:1rem}.draft-panel{border-left:2px solid rgba(74,124,89,.18);background:var(--accent)}.draft-title{display:inline-flex;align-items:center;gap:.45rem}.draft-scroll{flex:1;overflow-y:auto;padding:1.25rem}.draft-section{margin-bottom:1.5rem}.draft-line{padding:.5rem 0;border-top:1px solid rgba(74,124,89,.16)}.draft-line:first-child{border-top:0;padding-top:0}.draft-new{color:var(--primary);font-weight:600}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.55}40%{transform:translateY(-3px);opacity:1}}.planner-board{overflow:hidden}.planner-header-grid,.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.planner-day-head{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem .75rem;text-align:center}.planner-day-head.today{background:var(--primary);color:#fff}.planner-day-cell{border-right:1px solid var(--border);min-height:260px}.planner-slot{border-bottom:1px solid var(--border);padding:.75rem;min-height:86px}.planner-slot-label{font-size:.8rem;color:var(--muted-foreground);margin-bottom:.4rem}.planner-recipe-name{display:block;margin-bottom:.45rem;font-weight:600}.meal-dialog-backdrop{position:fixed;inset:0;background:#1a2e1a38;display:grid;place-items:center;padding:1rem;z-index:30}.meal-dialog{width:min(720px,100%);max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.meal-dialog-head,.meal-dialog-body{padding:1.25rem}.meal-dialog-head{border-bottom:1px solid var(--border)}.meal-dialog-body{overflow-y:auto}.dialog-list{display:grid;gap:.75rem}.spacer-120{width:120px}@media(max-width:1024px){.detail-content-grid,.chat-shell{grid-template-columns:1fr}.draft-panel{border-left:0;border-top:2px solid rgba(74,124,89,.18)}.planner-header-grid,.planner-grid{min-width:980px}.planner-board{overflow-x:auto}}@media(max-width:760px){.site-header-inner,.page-head,.page-actions,.planner-nav,.detail-topbar,.detail-actions,.editor-footer,.chat-input-row,.site-nav,.header-tools,.draft-actions{flex-direction:column;align-items:stretch}.site-header-inner{padding:.75rem 0}.header-account{align-self:flex-end}.field-grid-3,.field-grid-2,.editor-step-row{grid-template-columns:1fr}.editor-row,.editor-tag-input{flex-direction:column;align-items:stretch}.detail-hero h1{font-size:2rem}.detail-content-grid{gap:1.5rem}.recipes-page .page-head{margin-bottom:2rem}.editor-page-title{font-size:2.1rem}}
