:root{--bg:#161310;--panel:#211c17;--panel2:#2b241d;--line:#3a3128;--cream:#f4ede2;--muted:#a99e8d;--ember:#e8622a;--ember2:#f0903f;--green:#7fb069;--melon:#ef5d7a;--done:#6b6052}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{background:var(--bg);color:var(--cream);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}button,input{font:inherit}header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:linear-gradient(135deg,#2b241d,#1c1813);border-bottom:1px solid var(--line);padding:calc(16px + env(safe-area-inset-top)) 20px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}header .kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ember2);font-weight:700}header h1{font-size:23px;line-height:1.1;margin-top:4px;font-weight:800}header .sub{font-size:13px;color:var(--muted);margin-top:6px}.flame{color:var(--ember)}.reset{flex:0 0 auto;margin-top:2px;background:var(--panel);border:1px solid var(--ember2);color:var(--muted);font-family:inherit;font-size:11px;font-weight:600;padding:7px 11px;border-radius:10px;cursor:pointer}.reset:active{background:var(--panel2)}main{padding:16px 16px 8px;max-width:520px;margin:0 auto}.tab-panel{display:none;animation:fade .25s ease}.tab-panel.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.group-title{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--ember2);font-weight:700;margin:18px 4px 8px}.group-title:first-child{margin-top:4px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.card+.card{margin-top:10px}.row,.step{display:flex;align-items:flex-start;gap:13px;padding:14px 15px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s}.row:last-child,.step:last-child{border-bottom:none}.row:active,.step:active{background:var(--panel2)}.box,.tbox{flex:0 0 auto;width:23px;height:23px;border-radius:7px;border:2px solid var(--done);margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:transparent;transition:all .18s}.box:after,.tbox:after{content:"\2713"}.row .txt,.step .body{flex:1 1}.row .txt{font-size:15.5px;line-height:1.35}.row .txt b{font-weight:700}.row .txt small{display:block;color:var(--muted);font-size:13px;margin-top:2px;line-height:1.3}.row.done .box,.step.done .tbox{background:var(--green);border-color:var(--green);color:#161310}.row.done .txt,.step.done .desc,.step.done .title{color:var(--done);text-decoration:line-through;-webkit-text-decoration-color:hsla(36,11%,54%,.6);text-decoration-color:hsla(36,11%,54%,.6)}.row.done .txt small{text-decoration:none}.recipe{padding:16px 17px}.recipe h3{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipe .tag{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:var(--panel2);color:var(--ember2);border:1px solid var(--line)}.recipe p{font-size:15px;line-height:1.55;color:#ded3c2;margin-top:10px}.recipe p b{color:var(--cream)}.when{font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--ember2)}.step.hot .when{color:var(--ember)}.step .title{font-size:15.5px;font-weight:700;margin-top:2px}.step .desc{font-size:13.5px;color:var(--muted);line-height:1.4;margin-top:3px}.temp{display:inline-block;background:var(--ember);color:#fff;font-weight:800;font-size:12.5px;padding:1px 8px;border-radius:6px;margin:0 1px}.temp.cool{background:#3a3128;color:var(--ember2)}.note{background:rgba(232,98,42,.1);border:1px solid rgba(232,98,42,.3);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:#ecd9c8;margin-top:12px}.note b,.upload-label{color:var(--ember2)}.upload-label{display:inline-flex;align-items:center;padding:10px 16px;margin-top:14px;border-radius:999px;background:rgba(232,98,42,.12);cursor:pointer;border:1px solid rgba(232,98,42,.35);font-weight:700}.upload-label input{display:none}.photo-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:18px}.photo-item{position:relative;border-radius:18px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.photo-preview{width:100%;height:160px;object-fit:cover;display:block}.remove-photo{width:100%;border:none;background:rgba(22,18,14,.85);color:var(--cream);padding:10px 0;font-size:12.5px;font-weight:700;cursor:pointer}.progress{font-size:12px;color:var(--muted);margin:2px 4px 14px}.progress span{color:var(--green);font-weight:700}nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(28,24,19,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.tabbtn,nav{display:flex}.tabbtn{flex:1 1;background:none;border:none;color:var(--muted);font-family:inherit;font-size:11px;font-weight:600;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;cursor:pointer;border-radius:12px;transition:color .15s}.tabbtn svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:2}.tabbtn.active{color:var(--ember2)}.home-root{padding:26px 18px 40px;max-width:960px;margin:0 auto}.hero{flex-wrap:wrap;gap:22px;margin-bottom:30px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#2b241d,#1c1813);border:1px solid var(--line)}.hero,.hero-logo{display:flex;align-items:center}.hero-logo{width:92px;height:92px;border-radius:26px;background:linear-gradient(135deg,#f0903f,#e8622a);justify-content:center;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.18)}.hero-logo img{width:100%;height:100%;object-fit:cover;display:block}.hero-kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ember2);font-weight:700;margin-bottom:10px}.hero-copy{max-width:640px;color:#d9ceb9;margin-top:12px;line-height:1.65}.tiles{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tile{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:18px;border-radius:22px;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tile:hover{transform:translateY(-4px);border-color:var(--ember);box-shadow:0 18px 38px rgba(0,0,0,.12)}.header-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}@media (min-width:520px){.header-actions{flex-direction:row;align-items:center}}.home-link{display:inline-flex;justify-content:center}.persons-row{display:flex;align-items:center;gap:8px;margin:8px 0 6px}.persons-sep{font-size:14px;color:var(--muted);font-weight:600}.stepper{display:inline-flex;align-items:center;background:var(--panel);border:1px solid var(--ember2);border-radius:10px;overflow:hidden}.stepper button{background:none;border:none;color:var(--ember2);font-size:18px;font-weight:700;width:30px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;line-height:1}.stepper button:active{background:var(--panel2)}.stepper .count{font-size:12px;font-weight:700;color:var(--cream);padding:0 3px;min-width:58px;text-align:center;white-space:nowrap}.tile-icon{width:46px;height:46px;border-radius:16px;background:rgba(232,98,42,.12);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}.tile h2{font-size:18px;margin-bottom:10px}.tile p{color:var(--muted);line-height:1.6}