:root{color:#27352f;background:#f8f4ea;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--green: #315b49;--green-dark: #234337;--sage: #d9e2d5;--cream: #f8f4ea;--paper: #fffdf7;--terracotta: #c65f45;--terracotta-dark: #9f432f;--gold: #efb64d;--ink: #27352f;--muted: #68766f;--line: #e5dfd2;--danger: #a43d35;--shadow: 0 12px 36px rgb(55 63 53 / 10%)}*{box-sizing:border-box}html{min-width:320px;background:var(--cream);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--cream)}button,input,textarea,select{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgb(239 182 77 / 70%);outline-offset:2px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1,h2{font-family:Georgia,Times New Roman,serif;color:var(--ink)}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.15}p{line-height:1.58}.page{max-width:1180px;margin:0 auto;padding:32px 24px 120px}.muted{color:var(--muted)}.eyebrow{margin-bottom:8px;color:var(--terracotta-dark);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.capitalize{text-transform:capitalize}.app-header{position:sticky;z-index:30;top:0;padding-top:env(safe-area-inset-top);background:#f8f4eaeb;border-bottom:1px solid rgb(229 223 210 / 80%);backdrop-filter:blur(16px)}.header-inner{max-width:1180px;height:66px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:inline-flex;align-items:center;gap:10px;border:0;background:none;font-family:Georgia,serif;font-size:1.35rem;font-weight:700;cursor:pointer}.brand-mark{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:12px 12px 12px 4px;color:var(--cream);background:var(--green);font-family:Georgia,serif;font-size:1.25rem;box-shadow:0 5px 14px #315b4933}.brand-mark.large{width:64px;height:64px;border-radius:19px 19px 19px 6px;font-size:2rem}.header-title{flex:1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.avatar,.mini-avatar{display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:50%;color:#fff;background:var(--terracotta);font-weight:700}.avatar{width:40px;height:40px;border:3px solid var(--paper);box-shadow:0 2px 10px #27352f26;cursor:pointer}.avatar img{width:100%;height:100%;object-fit:cover}.mini-avatar{width:30px;height:30px;font-size:.72rem}.icon-button{min-width:42px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:13px;background:var(--paper);font-size:1.45rem;cursor:pointer}.primary-button,.secondary-button,.danger-button,.cook-button,.add-row-button{min-height:48px;padding:12px 18px;border-radius:14px;font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.primary-button{border:1px solid var(--green);color:#fff;background:var(--green);box-shadow:0 8px 20px #315b492e}.primary-button:hover,.cook-button:hover{background:var(--green-dark);transform:translateY(-1px)}.secondary-button{border:1px solid var(--line);background:var(--paper)}.secondary-button:hover{border-color:var(--green)}.danger-button{border:1px solid #e4b6b0;color:var(--danger);background:#fff8f7}.text-button{padding:8px;border:0;color:var(--green);background:transparent;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.danger-text{color:var(--danger)}.full{width:100%}button:disabled{cursor:not-allowed;opacity:.48;transform:none!important}.loading-screen{min-height:100vh;display:grid;place-content:center;place-items:center;gap:16px;color:var(--muted)}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);background:var(--paper)}.login-hero{position:relative;min-height:100vh;padding:clamp(48px,8vw,110px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--cream);background:var(--green)}.login-hero:before,.login-hero:after{content:"";position:absolute;border-radius:50%;background:#efb64d29}.login-hero:before{width:360px;height:360px;top:-140px;right:-80px}.login-hero:after{width:220px;height:220px;bottom:-90px;left:-50px}.login-hero h1{max-width:700px;color:var(--cream);font-size:clamp(2.8rem,6vw,5.8rem)}.login-hero .eyebrow{margin-top:36px;color:#f6cf86}.hero-mark{color:var(--green);background:var(--cream)}.login-intro{max-width:570px;color:#e5e9e2;font-size:1.08rem}.login-panel{width:min(100%,520px);margin:auto;padding:46px;display:flex;flex-direction:column;gap:26px}.login-panel h2{margin-bottom:8px;font-size:2.15rem}.stack{display:flex;flex-direction:column;gap:18px}label{display:flex;flex-direction:column;gap:8px;color:var(--ink);font-size:.9rem;font-weight:700}input,textarea,select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d8d2c7;border-radius:12px;color:var(--ink);background:#fff;font-weight:500;transition:border .18s,box-shadow .18s}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 4px #315b4917}.form-error,.field-error{color:var(--danger);font-size:.85rem;font-weight:600}.demo-banner,.install-tip,.error-panel{padding:14px 16px;border-radius:14px}.demo-banner{color:#68481b;background:#fff0cf;border:1px solid #f2d18d}.demo-banner span{font-weight:800}.demo-banner p{margin:3px 0 0;font-size:.85rem}.privacy-note{margin:0;color:var(--muted);font-size:.83rem;text-align:center}.demo-ribbon,.offline-banner{margin:-10px 0 22px;padding:9px 14px;border-radius:12px;font-size:.82rem;font-weight:700;text-align:center}.demo-ribbon{color:#725322;background:#fff0cf}.offline-banner{color:#763e32;background:#fce1d9}.welcome{padding:22px 0 30px;display:flex;align-items:end;justify-content:space-between;gap:22px}.welcome h1{max-width:720px;margin:0}.install-tip{margin:-14px 0 22px auto;max-width:400px;color:var(--green-dark);background:var(--sage)}.install-tip p{margin:2px 0 0;font-size:.88rem}.search-zone{margin-bottom:46px}.search-input{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 17px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.search-input>span{color:var(--green);font-size:1.7rem;transform:rotate(-20deg)}.search-input input{min-width:0;border:0;background:transparent;box-shadow:none}.search-input button{min-height:44px;padding:0 17px;border:0;border-radius:12px;color:#fff;background:var(--green);font-weight:700;cursor:pointer}.filters-panel{margin-top:12px;padding:18px;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.recipe-section{margin-bottom:52px}.section-heading{margin-bottom:18px;display:flex;justify-content:space-between;align-items:end}.section-heading h2{margin-bottom:4px}.section-heading p{margin:0;color:var(--muted)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.recipe-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 6px 22px #373f3512;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-click{width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}.recipe-photo{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#e9e3d8}.recipe-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.recipe-card:hover .recipe-photo img{transform:scale(1.035)}.photo-placeholder,.detail-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,#e1e8dc,#f4dfc7);font-size:4rem}.visibility-pill{position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:999px;background:#fffdf7e5;font-size:.72rem;font-weight:800;backdrop-filter:blur(8px)}.visibility-pill.private{color:#724229}.visibility-pill.shared{color:var(--green)}.recipe-card-body{padding:18px}.card-meta{display:flex;gap:7px;color:var(--terracotta-dark);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.recipe-card h3{margin:9px 0 6px;overflow:hidden;font-family:Georgia,serif;font-size:1.35rem;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipe-card-body>p{min-height:42px;margin-bottom:16px;overflow:hidden;color:var(--muted);font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.author-line{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.82rem}.author-line.generous{margin-top:18px;font-size:.92rem}.favorite-mark{margin-left:auto;color:var(--terracotta);font-size:1.1rem}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-card.compact .recipe-card-body>p{display:none}.recipe-card.compact .recipe-photo{aspect-ratio:16/8}.empty-state{min-height:160px;padding:28px;display:grid;place-items:center;align-content:center;border:1px dashed #c9c3b8;border-radius:18px;color:var(--muted);text-align:center}.empty-state>span{font-size:2.5rem}.empty-state p{margin:9px 0 0}.floating-create{position:fixed;z-index:25;right:max(24px,calc((100vw - 1180px)/2 + 24px));bottom:calc(22px + env(safe-area-inset-bottom));min-height:58px;padding:13px 22px;border:0;border-radius:18px;color:#fff;background:var(--terracotta);box-shadow:0 12px 28px #9f432f59;font-weight:800;cursor:pointer}.floating-create span{margin-right:7px;font-size:1.2rem}.error-panel{margin:14px 0;color:#7b332b;background:#fbe5e1;border:1px solid #f1c0b8}.detail-page{padding-bottom:90px}.detail-hero{position:relative;max-width:1280px;height:min(52vh,560px);margin:0 auto;overflow:hidden;background:#e8e2d8}.detail-hero>img{width:100%;height:100%;object-fit:cover}.detail-actions{position:absolute;right:24px;bottom:24px}.circle-action{width:54px;height:54px;border:0;border-radius:50%;color:#8c8177;background:var(--paper);box-shadow:var(--shadow);font-size:1.45rem;cursor:pointer}.circle-action.active{color:var(--terracotta)}.detail-content{max-width:980px;margin:-38px auto 0;padding:34px clamp(20px,5vw,58px) 50px;position:relative;border-radius:28px;background:var(--paper);box-shadow:var(--shadow)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tag,.visibility-label,.duration-chip{padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800}.tag{color:var(--green-dark);background:var(--sage)}.visibility-label{margin-left:auto}.visibility-label.private{color:#6b462a;background:#f6e4cf}.visibility-label.shared{color:var(--green-dark);background:#e1ecdf}.title-block h1{max-width:800px;margin:18px 0 10px}.title-block>p{max-width:760px;color:var(--muted);font-size:1rem}.stats{margin:34px 0 42px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;background:#fbf8f0}.stats div{padding:17px;display:grid;gap:5px;text-align:center}.stats div+div{border-left:1px solid var(--line)}.stats span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.detail-columns{display:grid;grid-template-columns:.78fr 1.35fr;gap:clamp(32px,7vw,80px)}.ingredient-list,.step-list{margin:0;padding:0;list-style:none}.ingredient-list li{padding:12px 0;display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);line-height:1.45}.ingredient-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--terracotta)}.ingredient-list small{color:var(--muted)}.step-list{display:flex;flex-direction:column;gap:16px}.step-list li{min-height:110px;padding:18px;display:grid;grid-template-columns:38px 1fr 76px;gap:14px;align-items:start;border:1px solid var(--line);border-radius:18px;background:#fffdf9}.step-number{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:#fff;background:var(--green);font-weight:800}.step-copy p{margin-bottom:12px}.duration-chip{display:inline-block;color:#6e4b19;background:#fff0cf}.step-illustration{display:grid;width:70px;height:70px;overflow:hidden;place-items:center;border-radius:18px;background:#eef1e8}.step-illustration img{width:100%;height:100%;object-fit:cover}.cook-button{width:100%;margin-top:40px;border:0;color:#fff;background:var(--green);font-size:1rem;box-shadow:0 10px 24px #315b492e}.owner-actions{margin-top:14px;display:flex;justify-content:center;gap:12px}.form-page{max-width:920px}.form-intro{margin:18px 0 36px;display:flex;align-items:end;justify-content:space-between}.form-intro h1{margin-bottom:0}.save-indicator{opacity:0;color:var(--green);font-size:.82rem;font-weight:700;transition:opacity .2s}.save-indicator.visible{opacity:1}.form-page form{display:flex;flex-direction:column;gap:24px}.form-section{padding:26px;display:grid;grid-template-columns:42px 1fr;gap:18px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 5px 22px #373f350d}.section-number{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:#fff;background:var(--terracotta);font-family:Georgia,serif;font-size:1.2rem}.form-section-content{min-width:0;display:flex;flex-direction:column;gap:18px}.form-section h2{margin:4px 0 2px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.invalid{border-color:var(--danger)}.photo-field{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:700}.photo-drop{min-height:160px;padding:24px;display:grid;place-items:center;align-content:center;gap:5px;border:2px dashed #c8c1b4;border-radius:16px;color:var(--muted);background:#fbf8f0;cursor:pointer}.photo-drop>span{font-size:2rem}.photo-drop small{font-weight:500}.photo-preview{overflow:hidden;display:grid;grid-template-columns:1fr 180px;border:1px solid var(--line);border-radius:16px}.photo-preview img{width:100%;height:190px;object-fit:cover}.photo-preview>div{padding:20px;display:flex;flex-direction:column;justify-content:center;gap:8px}.sortable-list{display:flex;flex-direction:column;gap:12px}.ingredient-editor{padding:12px;display:grid;grid-template-columns:36px 1fr 34px;gap:10px;align-items:start;border:1px solid var(--line);border-radius:15px;background:#fbf9f3}.reorder-controls{display:grid;gap:6px}.reorder-controls button,.row-actions button{min-width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.ingredient-fields{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:8px}.ingredient-fields>div{display:grid;grid-template-columns:1fr 1.2fr;gap:6px}.remove-row{border:0!important;color:var(--danger);background:transparent!important;font-size:1.3rem;cursor:pointer}.add-row-button{align-self:start;border:1px dashed var(--green);color:var(--green);background:#f5faf4}.step-editor{padding:16px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:16px;background:#fbf9f3}.step-editor-head{display:flex;justify-content:space-between;align-items:center;font-weight:800}.row-actions{display:flex;gap:6px}.step-options{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:end}.step-options label{display:grid;grid-template-columns:auto 70px;align-items:center}.illustration-choice{min-height:48px;padding:8px 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:700;cursor:pointer}.illustration-choice>span:first-child{font-size:1.5rem}.illustration-choice img{width:38px;height:38px;flex:0 0 auto;border-radius:10px;object-fit:cover}.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.visibility-options label{padding:18px;display:grid;grid-template-columns:26px 34px 1fr;gap:2px 9px;border:2px solid var(--line);border-radius:16px;background:#fff;cursor:pointer}.visibility-options label.selected{border-color:var(--green);background:#f2f7f1}.visibility-options input{width:18px;min-height:auto;grid-row:1 / span 2;align-self:center}.visibility-options label>span{grid-row:1 / span 2;align-self:center;font-size:1.4rem}.visibility-options small{color:var(--muted);font-weight:500}.form-footer{position:sticky;bottom:12px;padding:14px;display:flex;justify-content:flex-end;gap:10px;border:1px solid var(--line);border-radius:18px;background:#fffdf7f0;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.modal-backdrop{position:fixed;z-index:100;inset:0;padding:20px;display:grid;place-items:center;background:#1e28238c;backdrop-filter:blur(4px)}.asset-modal{width:min(760px,100%);max-height:min(820px,92vh);padding:24px;overflow:auto;border-radius:24px;background:var(--paper);box-shadow:0 25px 70px #00000040}.modal-header{display:flex;justify-content:space-between;gap:20px}.modal-header h2{margin-bottom:16px}.category-tabs{margin:16px 0;display:flex;gap:7px;overflow-x:auto;padding-bottom:5px}.category-tabs button{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;white-space:nowrap;cursor:pointer}.category-tabs button.active{color:#fff;border-color:var(--green);background:var(--green)}.asset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.asset-grid button{min-height:132px;padding:12px 8px;display:grid;place-items:center;align-content:center;gap:5px;border:1px solid var(--line);border-radius:15px;background:#fbf9f3;cursor:pointer}.asset-grid button.selected{border:2px solid var(--green);background:#eef5eb}.asset-grid img{width:66px;height:66px;border-radius:16px;object-fit:cover;transition:transform .18s ease}.asset-grid button:hover img{transform:scale(1.06) rotate(-1deg)}.asset-grid small{color:var(--muted)}.kitchen-page{min-height:100vh;padding-bottom:calc(90px + env(safe-area-inset-bottom));background:#fffdf7}.kitchen-header{min-height:76px;padding:calc(10px + env(safe-area-inset-top)) 22px 10px;display:grid;grid-template-columns:50px 1fr 50px;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.kitchen-header>div{display:grid;text-align:center}.kitchen-header span{color:var(--muted);font-size:.78rem}.kitchen-header>span{text-align:right;font-weight:800}.progress-track{height:7px;background:#e7e1d7}.progress-track span{display:block;height:100%;background:var(--terracotta);transition:width .3s}.kitchen-layout{max-width:1180px;min-height:calc(100vh - 180px);margin:auto;display:grid;grid-template-columns:330px 1fr}.kitchen-layout aside{padding:35px 28px;border-right:1px solid var(--line);background:#f6f2e8}.kitchen-layout aside label{padding:10px 0;display:grid;grid-template-columns:22px 1fr;border-bottom:1px solid var(--line);font-weight:500}.kitchen-layout aside input,.step-done input{width:19px;min-height:auto;accent-color:var(--green)}.kitchen-layout aside label.checked span{color:var(--muted);text-decoration:line-through}.kitchen-step{padding:clamp(38px,8vw,100px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.kitchen-illustration{display:grid;width:220px;height:220px;margin-bottom:28px;overflow:hidden;place-items:center;border-radius:48px;background:var(--sage);box-shadow:0 14px 34px #315b4924}.kitchen-illustration img{width:100%;height:100%;object-fit:cover;animation:kitchen-action 3.4s ease-in-out infinite}@keyframes kitchen-action{0%,to{transform:scale(1)}48%{transform:scale(1.045) rotate(.6deg)}}.kitchen-step h1{max-width:780px;font-size:clamp(2rem,5vw,4rem);line-height:1.16}.kitchen-timer{padding:10px 16px;border-radius:999px;color:#704e1b;background:#fff0cf;font-weight:800}.step-done{margin-top:30px;flex-direction:row;align-items:center;font-size:1rem}.kitchen-nav{position:fixed;z-index:10;inset:auto 0 0;padding:14px max(20px,calc((100vw - 980px)/2)) calc(14px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);background:#fffdf7f0;backdrop-filter:blur(12px)}.profile-page{max-width:760px}.profile-card{padding:28px;display:flex;gap:20px;align-items:center;border-radius:22px;color:#fff;background:var(--green)}.profile-card h1{margin-bottom:4px;color:#fff}.profile-card p{margin:0;color:#dbe6df}.profile-avatar{display:grid;width:82px;height:82px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--green);background:var(--cream);font-size:1.5rem;font-weight:800}.profile-form,.account-panel{margin-top:20px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.profile-form{display:flex;flex-direction:column;gap:16px}.profile-form .primary-button{align-self:start}.success-text{margin:0;color:var(--green);font-weight:700}.admin-entry{margin-top:20px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #cbd8c7;border-radius:20px;background:#f1f7ef}.admin-entry>div{display:flex;align-items:center;gap:14px}.admin-entry p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.admin-entry-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:14px;color:#fff;background:var(--green);font-size:1.3rem}.account-panel{display:flex;justify-content:space-between;gap:22px;align-items:center}.account-panel p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.admin-page{max-width:900px}.admin-hero{margin:18px 0 30px;padding:30px;overflow:hidden;border-radius:24px;color:#fff;background:var(--green);box-shadow:var(--shadow)}.admin-hero .eyebrow{color:#f6cf86}.admin-hero h1{margin-bottom:12px;color:#fff}.admin-hero p:last-child{max-width:680px;margin-bottom:0;color:#e5eee8}.admin-invite-card{padding:26px;display:grid;grid-template-columns:1fr auto;gap:18px 24px;align-items:end;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 5px 22px #373f350d}.admin-invite-card h2{margin-bottom:5px}.admin-invite-card p{margin-bottom:0}.admin-invite-form{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.share-invite-button{justify-self:start}.admin-invite-card .success-text,.admin-invite-card .form-error{grid-column:1 / -1}.invitation-list-section{margin-top:38px}.invitation-list{display:flex;flex-direction:column;gap:10px}.invitation-row{padding:15px 16px;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.invitation-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:var(--green-dark);background:var(--sage);font-weight:800}.invitation-copy{min-width:0;display:grid;gap:3px}.invitation-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitation-copy span{color:var(--muted);font-size:.78rem}.invitation-status{padding:6px 10px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap}.invitation-status.joined{color:var(--green-dark);background:#e1ecdf}.invitation-status.pending{color:#6e4b19;background:#fff0cf}.invitation-status.revoked{color:#7b332b;background:#fbe5e1}.compact-action{min-height:40px;padding:8px 12px;font-size:.8rem}.admin-loading{padding:32px;border:1px dashed #c9c3b8;border-radius:18px;color:var(--muted);text-align:center}.not-found{min-height:65vh;display:grid;place-items:center;align-content:center;text-align:center}.not-found>span{font-size:4rem}.toast{position:fixed;z-index:150;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));padding:13px 18px;display:flex;gap:9px;align-items:center;transform:translate(-50%);border-radius:14px;color:#fff;background:var(--green-dark);box-shadow:var(--shadow);font-weight:700}@media(max-width:900px){.recipe-grid,.compact-grid,.filters-panel{grid-template-columns:repeat(2,1fr)}.detail-columns{grid-template-columns:1fr}.ingredient-fields{grid-template-columns:1fr 1fr}.ingredient-fields>div{grid-column:2;grid-row:1}.ingredient-fields>input:last-child{grid-column:1 / -1}.kitchen-layout{grid-template-columns:270px 1fr}.login-hero{padding:60px 40px}.login-panel{padding:38px 28px}}@media(max-width:680px){.page{padding:22px 16px 110px}.header-inner{height:60px;padding:0 16px}.login-page{display:block;background:var(--green)}.login-hero{min-height:auto;padding:calc(46px + env(safe-area-inset-top)) 24px 42px}.login-hero h1{font-size:2.65rem}.login-hero .eyebrow{margin-top:26px}.login-panel{width:calc(100% - 20px);margin:0 10px 10px;padding:28px 20px calc(28px + env(safe-area-inset-bottom));border-radius:28px;background:var(--paper)}.welcome{padding-top:12px;align-items:start}.welcome h1{font-size:2.35rem}.install-button{padding:8px 10px;min-height:40px;font-size:.75rem}.search-input{padding-left:12px}.search-input button{padding:0 12px}.filters-panel{grid-template-columns:1fr 1fr;padding:14px}.filters-panel label{font-size:.78rem}.recipe-grid{grid-template-columns:1fr;gap:16px}.compact-grid{grid-template-columns:1fr 1fr}.compact-grid .recipe-card h3{font-size:1rem}.compact-grid .recipe-card-body{padding:12px}.compact-grid .author-line{display:none}.recipe-section{margin-bottom:40px}.floating-create{right:16px;left:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 32px)}.detail-hero{height:38vh;min-height:270px}.detail-actions{right:16px;bottom:50px}.detail-content{margin-top:-30px;padding:25px 18px 40px;border-radius:25px 25px 0 0}.tag-row{padding-right:0}.visibility-label{margin-left:0}.title-block h1{font-size:2.45rem}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.stats div:nth-child(4){border-top:1px solid var(--line)}.step-list li{grid-template-columns:34px 1fr}.step-illustration{grid-column:2;width:62px;height:62px}.owner-actions{flex-direction:column}.form-intro{align-items:start;flex-direction:column;gap:8px}.form-section{padding:18px 15px;grid-template-columns:32px 1fr;gap:11px;border-radius:18px}.section-number{width:32px;height:32px}.field-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-preview{grid-template-columns:1fr}.photo-preview>div{padding:12px;flex-direction:row}.ingredient-editor{grid-template-columns:30px 1fr 26px;padding:10px 7px;gap:6px}.ingredient-fields{grid-template-columns:1fr}.ingredient-fields>div{grid-column:1;grid-row:auto}.ingredient-fields>input:last-child{grid-column:1}.step-options{grid-template-columns:1fr}.step-options label{grid-template-columns:1fr 80px}.visibility-options{grid-template-columns:1fr}.form-footer{bottom:8px;padding:10px}.form-footer button{padding:10px 12px;font-size:.8rem}.asset-modal{max-height:calc(100vh - 16px);padding:18px;border-radius:22px}.modal-backdrop{padding:8px}.asset-grid{grid-template-columns:repeat(3,1fr)}.asset-grid button{min-height:110px;padding:8px 4px}.asset-grid img{width:58px;height:58px}.asset-grid strong{font-size:.75rem}.asset-grid small{display:none}.kitchen-header{min-height:68px;padding-inline:14px}.kitchen-layout{display:flex;min-height:calc(100vh - 160px)}.kitchen-layout aside{display:none}.kitchen-step{width:100%;padding:28px 22px}.kitchen-step h1{font-size:2.05rem}.kitchen-illustration{width:180px;height:180px;margin-bottom:20px;border-radius:42px}.kitchen-nav{padding-inline:14px}.kitchen-nav button{flex:1;padding-inline:10px}.profile-card,.account-panel,.admin-entry{align-items:flex-start}.account-panel,.admin-entry{flex-direction:column}.admin-entry .primary-button{width:100%}.admin-hero{margin-top:10px;padding:24px 20px}.admin-invite-card{padding:20px 16px;grid-template-columns:1fr}.admin-invite-form{display:flex;flex-direction:column;align-items:stretch}.admin-invite-form .primary-button,.share-invite-button{width:100%}.invitation-row{grid-template-columns:42px minmax(0,1fr) auto}.invitation-status{grid-column:2;justify-self:start}.invitation-row .compact-action{grid-column:3;grid-row:1 / span 2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
