@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fbf7f5;--surface:#fff;--surface-2:#f4ebe9;--ink:#33272e;--ink-soft:#7a6a72;--line:#e8dcd9;--rosi:#d9577c;--rosi-soft:#f7dde5;--herb:#5e8c61;--herb-soft:#e2eee3;--amber:#dd9a3e;--amber-soft:#f8ecd8;--danger:#c04545;--radius:16px;--radius-sm:10px;--shadow:0 2px 10px #33272e12;--font:"Nunito Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}[data-theme=dark]{--bg:#211a20;--surface:#2c232b;--surface-2:#382d36;--ink:#f2e8ed;--ink-soft:#b09aa5;--line:#453741;--rosi:#ee7fa0;--rosi-soft:#4a2c38;--herb:#7fb183;--herb-soft:#2c3b2e;--amber:#e5ad5c;--amber-soft:#443622;--shadow:0 2px 10px #0000004d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{letter-spacing:-.015em;margin:0 0 .5rem;line-height:1.2}h1{font-size:1.7rem;font-weight:800}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}p{margin:0 0 .75rem}a{color:var(--rosi);text-decoration:none}button{font:inherit}:focus-visible{outline:3px solid var(--rosi);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.shell{flex-direction:column;min-height:100%;display:flex}.shell-main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:1.25rem 1.25rem 6rem}.tabbar{padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:20;justify-content:center;gap:.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{border-radius:var(--radius-sm);min-width:72px;color:var(--ink-soft);flex-direction:column;align-items:center;gap:.1rem;padding:.45rem .9rem;font-size:.72rem;font-weight:600;display:flex}.tabbar a svg{width:24px;height:24px}.tabbar a.active{color:var(--rosi);background:var(--rosi-soft)}.hero-media{aspect-ratio:16/9;border-radius:var(--radius);width:min(100%,570px);margin-inline:auto;overflow:hidden}.hero-media img,.hero-media video{object-fit:cover;object-position:center;width:100%;height:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.btn{cursor:pointer;background:var(--surface-2);color:var(--ink);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1.3rem;font-weight:700;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--rosi);color:#fff}.btn-ghost{border:1.5px solid var(--line);background:0 0}.btn-big{min-height:60px;padding:1rem 2rem;font-size:1.15rem}.chip{background:var(--surface-2);color:var(--ink-soft);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .7rem;font-size:.8rem;font-weight:600;display:inline-flex}.chip-herb{background:var(--herb-soft);color:var(--herb)}.chip-button{cursor:pointer;text-align:left;border:0;min-height:40px}.chip-button:hover{filter:brightness(.98)}.chip--used{background:var(--surface-2);color:var(--ink-soft)}.chip--used .chip-text{text-decoration:line-through}.chip-rosi{background:var(--rosi-soft);color:var(--rosi)}.chip-amber{background:var(--amber-soft);color:var(--amber)}input[type=text],input[type=number],input[type=url],input[type=password],input[type=search],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;padding:.6rem .8rem}label.field{margin-bottom:1rem;font-size:.9rem;font-weight:600;display:block}label.field>span{color:var(--ink-soft);margin-bottom:.3rem;display:block}.row{align-items:center;gap:.75rem;display:flex}.row-wrap{flex-wrap:wrap}.spread{justify-content:space-between}.muted{color:var(--ink-soft)}.small{font-size:.85rem}.stack>*+*{margin-top:.9rem}.catalog-list{margin:0;padding-left:0;list-style:none}.catalog-list-item{padding:.15rem 0}.catalog-row{align-items:center;gap:.5rem;display:inline-flex}.catalog-thumbnail{border:1px solid var(--line);border-radius:var(--radius-sm);flex:0 0 2rem;width:2rem;height:2rem;display:inline-flex;overflow:hidden}.catalog-thumbnail-placeholder{background:var(--surface-2)}.catalog-thumbnail img,.catalog-thumbnail video{object-fit:cover;width:100%;height:100%}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.recipe-card{color:inherit;padding:0;display:block;overflow:hidden}.recipe-card .cover{background:linear-gradient(135deg, var(--rosi-soft), var(--surface-2));justify-content:center;align-items:center;height:130px;display:flex;overflow:hidden}.recipe-card .cover img{object-fit:cover;width:100%;height:100%}.recipe-card .body{padding:.8rem 1rem 1rem}.achievements-header{align-items:flex-start}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.badge-card{align-items:flex-start;gap:.85rem;min-height:132px;display:flex}.badge-card h2,.new-badge-row h2{margin-bottom:.25rem}.badge-card p,.new-badge-row p{margin:0}.badge-card.locked{filter:grayscale();opacity:.55}.badge-emoji{background:var(--rosi-soft);border-radius:999px;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.7rem;line-height:1;display:inline-flex}.new-badges{text-align:left;margin-bottom:1rem;animation:.35s ease-out badge-pop}.new-badge-list{gap:.75rem;max-height:min(42vh,320px);margin-top:.85rem;display:grid;overflow:auto}.new-badge-row{align-items:flex-start;gap:.75rem;display:flex}@keyframes badge-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cook-shell{width:100%;max-width:800px;margin:0 auto;padding:1rem 1.25rem 2rem}.step-focus{font-size:1.25rem}.step-focus .step-text{font-size:1.35rem;line-height:1.55}.cook-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.step-status-banner{border-radius:var(--radius-sm);background:var(--herb-soft);color:var(--herb);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.6rem .75rem;font-weight:700;display:flex}.step-blocked-hint{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-soft);padding:.6rem .75rem;font-size:.95rem}.wave{border-left:3px solid var(--line);margin-bottom:1.25rem;padding-left:1rem}.wave-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.4rem;font-size:.75rem;font-weight:700}.step-row{border-radius:var(--radius-sm);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .6rem;font-size:1rem;display:flex}.step-row:hover{background:var(--surface-2)}.step-row .dot{border:2px solid var(--line);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;display:flex}.step-row.done .dot{background:var(--herb);border-color:var(--herb)}.step-row.ready .dot{border-color:var(--rosi)}.step-row.done{color:var(--ink-soft);text-decoration:line-through}.progressbar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progressbar>div{background:var(--rosi);border-radius:999px;height:100%;transition:width .3s}.timer-dock{z-index:30;flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex;position:sticky;top:.5rem}.timer-pill{font-variant-numeric:tabular-nums;cursor:pointer;background:var(--amber-soft);color:var(--amber);box-shadow:var(--shadow);border:none;border-radius:999px;padding:.5rem 1rem;font-weight:700}.timer-pill.done{background:var(--rosi);color:#fff;animation:1s infinite pulse}.timer-pill-mini{background:var(--amber-soft);color:var(--amber);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.75rem;font-weight:700}@keyframes pulse{50%{transform:scale(1.06)}}.flow{scroll-snap-type:y mandatory;border-radius:var(--radius);scrollbar-width:none;height:74vh;overflow-y:auto}.flow-card{scroll-snap-align:start;scroll-snap-stop:always;border-radius:var(--radius);background:linear-gradient(160deg, var(--rosi-soft), var(--surface-2));height:100%;position:relative;overflow:hidden}.flow-media{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.flow-media img,.flow-media video{object-fit:cover;width:100%;height:100%}.flow-overlay{background:linear-gradient(transparent, #0000000a 15%, var(--bg) 55%);flex-direction:column;gap:.6rem;padding:3.5rem 1.25rem 1.25rem;display:flex;position:absolute;inset:auto 0 0}.flow-text{margin:0;font-size:1.2rem;line-height:1.5}@keyframes rosi-roll{0%{transform:translate(0)rotate(0)}to{transform:translate(calc(-1*min(70vw,640px)))rotate(-1080deg)}}.rosi-rolling{animation:1.6s ease-in-out rosi-roll}.onboarding{text-align:center;max-width:480px;margin:0 auto;padding:2.5rem 1.5rem}.onboarding form{text-align:left}.choice-row{gap:.75rem;display:flex}.choice-row .btn{flex:1}.btn.selected{background:var(--rosi);color:#fff}@media (width<=640px){.shell-main{padding:1rem 1rem 6rem}h1{font-size:1.45rem}}
