{
  "version": 3,
  "sources": ["src/app/routes/site/components/demos/demo.component.scss"],
  "sourcesContent": ["// Shared phone frame / recipe-body / bottom-nav styles live in src/scss/styles/_demos.scss.\n// This file holds the panels unique to the lifecycle demo and its 45s animation timeline.\n\n:host {\n    display: block;\n}\n\n// ----- Panels -----\n.panel--home {\n    bottom: 54px;\n    padding: 13px;\n    display: flex;\n    flex-direction: column;\n    gap: 7px;\n    animation: homeShow 45s ease-in-out infinite;\n}\n\n.panel--blog {\n    background: #ffffff;\n    opacity: 0;\n    z-index: 8;\n    display: flex;\n    flex-direction: column;\n    animation: blogShow 45s ease-in-out infinite;\n}\n\n.panel--loading,\n.panel--list-loading {\n    background: var(--body-bg);\n    opacity: 0;\n    z-index: 8;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 13px;\n}\n\n.panel--loading {\n    animation: loadingShow 45s ease-in-out infinite;\n}\n\n.panel--list-loading {\n    animation: listLoadingShow 45s ease-in-out infinite;\n}\n\n.panel--recipe {\n    background: var(--body-bg);\n    z-index: 8;\n    display: flex;\n    flex-direction: column;\n    animation: recipeModalShow 45s ease-in-out infinite;\n}\n\n.panel--mealplan,\n.panel--grocery {\n    bottom: 54px;\n    padding: 17px 15px;\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    opacity: 0;\n}\n\n.panel--mealplan {\n    animation: mealPlanShow 45s ease-in-out infinite;\n}\n\n.panel--grocery {\n    animation: groceryShow 45s ease-in-out infinite;\n}\n\n// ----- Splash (app launch, first 10% of the 45s timeline) -----\n// Opaque over the whole phone so the other panels' pre-roll states are hidden.\n.panel--splash {\n    background: var(--body-bg);\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    animation: splashShow 45s ease-in-out infinite;\n}\n\n.splash__logo {\n    width: 84px;\n    height: 84px;\n    animation: splashLogo 45s ease-in-out infinite;\n}\n\n// ----- Home: header / search / actions -----\n.brand {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    animation: fallHeader 45s ease-out infinite;\n}\n\n.brand__logo {\n    width: 21px;\n    height: 21px;\n    display: block;\n}\n\n.brand__name {\n    font-size: 13.5px;\n    font-weight: 900;\n    color: var(--bs-primary);\n}\n\n.search-bar {\n    background: var(--card-bg);\n    border: 1px solid var(--border-color);\n    border-radius: 10px;\n    height: 23px;\n    display: flex;\n    align-items: center;\n    padding: 0 10px;\n    font-size: 9.5px;\n    color: var(--bs-tertiary-color);\n    animation: fallSearch 45s ease-out infinite;\n}\n\n.actions {\n    display: flex;\n    gap: 6px;\n    animation: fallActions 45s ease-out infinite;\n}\n\n.action-tile {\n    flex: 1;\n    background: var(--card-bg);\n    border-radius: 10px;\n    padding: 6px 3px;\n}\n\n.action-tile--web {\n    transform-origin: center;\n    animation: addWebTap 45s ease-in-out infinite;\n}\n\n.action-tile--icon {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 4px;\n}\n\n.action-tile__emoji {\n    font-size: 12.5px;\n    color: var(--bs-secondary-color);\n}\n\n.action-tile__label {\n    font-size: 7.2px;\n    margin-top: 1px;\n}\n\n.action-icon {\n    width: 14px;\n    height: 14px;\n    background: linear-gradient(135deg, var(--bs-secondary), color-mix(in srgb, var(--bs-secondary) 70%, black));\n}\n\n.action-icon--square {\n    border-radius: 4px;\n}\n\n.action-icon--circle {\n    border-radius: 50%;\n}\n\n.action-icon--diamond {\n    border-radius: 4px;\n    transform: rotate(45deg);\n}\n\n.action-bar {\n    height: 5px;\n    width: 70%;\n    background: var(--demo-bar-bg);\n    border-radius: 3px;\n}\n\n// ----- Home: recipe sections -----\n.section {\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n}\n\n.section--recently {\n    animation: fallRecently 45s ease-out infinite;\n}\n\n.section--favorites {\n    animation: fallFavorites 45s ease-out infinite;\n}\n\n.section-title {\n    font-size: 11.5px;\n    font-weight: 500;\n    margin-top: 2px;\n}\n\n.card-row {\n    display: flex;\n    gap: 6px;\n}\n\n.recipe-card {\n    flex: 1;\n    border-radius: 10px;\n    overflow: hidden;\n    background: var(--card-bg);\n}\n\n.recipe-card__img {\n    aspect-ratio: 4 / 3;\n    background: linear-gradient(135deg, var(--grad));\n}\n\n.recipe-card__body {\n    padding: 4px 5px;\n}\n\n.recipe-card__title {\n    font-size: 8.7px;\n    font-weight: 600;\n}\n\n.recipe-card__meta {\n    display: flex;\n    gap: 5px;\n    margin-top: 2px;\n}\n\n.recipe-card__stat {\n    font-size: 6.7px;\n    color: var(--bs-secondary-color);\n}\n\n// ----- Blog panel -----\n.blog-url {\n    background: #f1f1f1;\n    padding: 6px 10px;\n    font-size: 8.7px;\n    color: #666;\n    border-bottom: 1px solid #e2e2e2;\n}\n\n.blog-body {\n    flex: 1;\n    padding: 15px;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    overflow: hidden;\n}\n\n.blog-title {\n    font-size: 15px;\n    font-weight: 700;\n    color: #1a1a1a;\n    line-height: 1.3;\n}\n\n.blog-byline {\n    font-size: 10.5px;\n    color: #888;\n}\n\n.blog-img {\n    height: 100px;\n    border-radius: 8px;\n    background: linear-gradient(135deg, #e8c77a, #d9a441, #c2703a);\n    margin: 4px 0;\n}\n\n.blog-line {\n    height: 6px;\n    width: var(--w);\n    background: #e8e8e8;\n    border-radius: 3px;\n}\n\n.save-btn {\n    background: var(--bs-primary);\n    color: #fff; // on primary — stays white in both themes\n    text-align: center;\n    padding: 13px;\n    font-size: 13px;\n    font-weight: 600;\n    transform-origin: center;\n    animation: saveTap 45s ease-in-out infinite;\n}\n\n// ----- Loading panels -----\n.loading-label,\n.day-label {\n    font-size: 11.5px;\n    color: var(--bs-secondary-color);\n}\n\n.progress-track {\n    width: 150px;\n    height: 7px;\n    background: var(--demo-bar-bg);\n    border-radius: 4px;\n    overflow: hidden;\n}\n\n.progress-fill {\n    height: 100%;\n    border-radius: 4px;\n}\n\n.progress-fill--save {\n    background: var(--bs-primary);\n    animation: saveProgressFill 45s ease-in-out infinite;\n}\n\n.progress-fill--list {\n    background: var(--bs-success);\n    animation: listProgressFill 45s ease-in-out infinite;\n}\n\n// ----- Recipe modal -----\n.recipe-modal__inner {\n    flex: 1;\n    position: relative;\n}\n\n.tabs {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    height: 39px;\n    padding: 10px 13px 0 13px;\n    box-sizing: border-box;\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    border-bottom: 1px solid var(--border-color);\n    background: var(--body-bg);\n    z-index: 3;\n}\n\n.tab {\n    font-size: 11.5px;\n    font-weight: 500;\n    padding-bottom: 6px;\n    border-bottom: 2px solid transparent;\n}\n\n.tab--recipe {\n    animation: tabRecipeLabel 45s ease-in-out infinite;\n}\n\n.tab--details {\n    display: inline-block;\n    transform-origin: center;\n    animation: tabDetailsLabel 45s ease-in-out infinite;\n}\n\n.slide-viewport {\n    position: absolute;\n    top: 39px;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    overflow: hidden;\n}\n\n.slide-track {\n    display: flex;\n    width: 200%;\n    height: 100%;\n    animation: slideTrackMove 45s ease-in-out infinite;\n}\n\n.slide-page {\n    width: 50%;\n    height: 100%;\n}\n\n.slide-page--recipe {\n    position: relative;\n    overflow: hidden;\n}\n\n.slide-page--details {\n    padding: 15px 13px;\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    overflow: hidden;\n}\n\n.scroll-area {\n    animation: scrollAreaMove 45s ease-in-out infinite;\n}\n\n// ----- Recipe modal: details tab (base styles are global in _demos.scss) -----\n\n// ----- Recipe modal: action bar (base styles are global) -----\n.plan-btn {\n    animation: planBtnTap 45s ease-in-out infinite;\n}\n\n// ----- Meal plan panel -----\n.mealplan-title,\n.grocery-title {\n    font-size: 15px;\n    font-weight: 500;\n}\n\n.day-group {\n    display: flex;\n    flex-direction: column;\n    gap: 3px;\n}\n\n.plan-card {\n    display: flex;\n    gap: 8px;\n    align-items: center;\n    background: var(--card-bg);\n    border-radius: 10px;\n    padding: 7px;\n    min-height: 21px;\n    opacity: 0;\n}\n\n.plan-card--1 {\n    animation: cardIn1 45s ease-in-out infinite;\n}\n\n.plan-card--2 {\n    animation: cardIn2 45s ease-in-out infinite;\n}\n\n.plan-card--3 {\n    animation: cardIn3 45s ease-in-out infinite;\n}\n\n.plan-card__img {\n    width: 36px;\n    height: 36px;\n    border-radius: 6px;\n    background: linear-gradient(135deg, var(--grad));\n    flex-shrink: 0;\n}\n\n.plan-card__title {\n    font-size: 12px;\n    font-weight: 500;\n}\n\n.gen-btn,\n.cook-btn {\n    margin-top: auto;\n    border-radius: 10px;\n    padding: 10px;\n    text-align: center;\n    font-size: 12.5px;\n    color: #fff; // on primary/success — stays white in both themes\n    font-weight: 500;\n    opacity: 0;\n    transform-origin: center;\n}\n\n.gen-btn {\n    background: var(--bs-primary);\n    animation: genBtnShow 45s ease-in-out infinite;\n}\n\n.cook-btn {\n    background: var(--bs-success);\n    animation: cookBtnShow 45s ease-in-out infinite;\n}\n\n// ----- Grocery panel -----\n.grocery-cat {\n    font-size: 11.5px;\n    color: var(--bs-secondary-color);\n    margin-top: 4px;\n}\n\n.grocery-item {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    background: var(--card-bg);\n    border-radius: 10px;\n    padding: 8px;\n}\n\n.checkbox {\n    width: 18px;\n    height: 18px;\n    border-radius: 5px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transform-origin: center;\n}\n\n.checkbox--1 {\n    animation: chk1Anim 45s ease-in-out infinite;\n}\n\n.checkbox--2 {\n    animation: chk2Anim 45s ease-in-out infinite;\n}\n\n.checkbox--3 {\n    animation: chk3Anim 45s ease-in-out infinite;\n}\n\n.checkbox--4 {\n    animation: chk4Anim 45s ease-in-out infinite;\n}\n\n.checkbox--5 {\n    animation: chk5Anim 45s ease-in-out infinite;\n}\n\n.checkbox__mark {\n    font-size: 11.5px;\n    color: #fff; // on the primary-filled checkbox — stays white in both themes\n}\n\n.checkbox__mark--1 {\n    animation: chk1MarkAnim 45s ease-in-out infinite;\n}\n\n.checkbox__mark--2 {\n    animation: chk2MarkAnim 45s ease-in-out infinite;\n}\n\n.checkbox__mark--3 {\n    animation: chk3MarkAnim 45s ease-in-out infinite;\n}\n\n.checkbox__mark--4 {\n    animation: chk4MarkAnim 45s ease-in-out infinite;\n}\n\n.checkbox__mark--5 {\n    animation: chk5MarkAnim 45s ease-in-out infinite;\n}\n\n.grocery-item__name {\n    font-size: 12px;\n    flex: 1;\n}\n\n.grocery-item__qty {\n    font-size: 11.5px;\n    color: var(--bs-secondary-color);\n}\n\n// ----- Cooking panel (slides up over grocery) -----\n.panel--cooking {\n    background: var(--body-bg);\n    z-index: 9;\n    display: flex;\n    flex-direction: column;\n    transform: translateY(100%);\n    animation: cookingModalShow 45s ease-in-out infinite;\n}\n\n// Cook page/track base styles are global in _demos.scss.\n.cook-viewport {\n    --cook-pages: 6;\n    flex: 1;\n    overflow: hidden;\n    animation: cookFadeOut 45s ease-in-out infinite;\n}\n\n.cook-track {\n    animation: cookTrackMove 45s ease-in-out infinite;\n}\n\n.cook-next {\n    animation: cookNextTap 45s ease-in-out infinite;\n}\n\n// ----- Bottom nav (base styles are global; these drive the tab-highlight timeline) -----\n.nav-item--home {\n    animation: navHomeLabel 45s ease-in-out infinite;\n}\n\n.nav-item--list {\n    animation: navListLabel 45s ease-in-out infinite;\n}\n\n.nav-item--plan {\n    animation: navPlanLabel 45s ease-in-out infinite;\n}\n\n.nav-icon--home {\n    animation: navHomeIcon 45s ease-in-out infinite;\n}\n\n.nav-icon--list {\n    animation: navListIcon 45s ease-in-out infinite;\n}\n\n.nav-icon--plan {\n    animation: navPlanIcon 45s ease-in-out infinite;\n}\n\n.badge-wrap {\n    position: absolute;\n    top: -6px;\n    right: -8px;\n    width: 14px;\n    height: 14px;\n}\n\n.badge {\n    position: absolute;\n    inset: 0;\n    background: var(--bs-warning);\n    color: #1a1200;\n    font-size: 8px;\n    font-weight: 700;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.badge--5 {\n    animation: badge5 45s ease-in-out infinite;\n}\n\n.badge--4 {\n    animation: badge4 45s ease-in-out infinite;\n}\n\n.badge--3 {\n    animation: badge3 45s ease-in-out infinite;\n}\n\n.badge--2 {\n    animation: badge2 45s ease-in-out infinite;\n}\n\n.badge--1 {\n    animation: badge1 45s ease-in-out infinite;\n}\n\n.badge--0 {\n    animation: badge0 45s ease-in-out infinite;\n}\n\n// ----- Keyframes (45s master timeline; 0-10% is the splash) -----\n@keyframes splashShow {\n    0%,\n    6% {\n        opacity: 1;\n    }\n    // Explicit 100% stop: without it the synthesized 100% keyframe defaults to the\n    // element's base opacity (1), ramping the splash back in over the cooking phase.\n    6.67%,\n    66.67%,\n    100% {\n        opacity: 0;\n    }\n}\n@keyframes splashLogo {\n    0% {\n        opacity: 0;\n        transform: scale(0.9);\n    }\n    2.2% {\n        opacity: 1;\n        transform: scale(1);\n    }\n    4.67% {\n        opacity: 1;\n        transform: scale(1);\n    }\n    6.33%,\n    66.67%,\n    100% {\n        opacity: 0;\n        transform: scale(1.04);\n    }\n}\n\n@keyframes homeShow {\n    6.67%,\n    11.47% {\n        opacity: 1;\n    }\n    12.67%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes addWebTap {\n    6.67%,\n    11.17% {\n        transform: scale(1);\n        background: var(--card-bg);\n    }\n    11.77% {\n        transform: scale(1.12);\n        background: color-mix(in srgb, var(--card-bg) 88%, var(--bs-body-color));\n    }\n    12.67%,\n    66.67% {\n        transform: scale(1);\n        background: var(--card-bg);\n    }\n}\n\n@keyframes fallHeader {\n    6.67%,\n    6.85% {\n        opacity: 0;\n        transform: translateY(-18px);\n    }\n    7.45% {\n        opacity: 1;\n        transform: translateY(2px);\n    }\n    7.87% {\n        transform: translateY(0);\n    }\n    66.67% {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n@keyframes fallSearch {\n    6.67%,\n    7.03% {\n        opacity: 0;\n        transform: translateY(-18px);\n    }\n    7.81% {\n        opacity: 1;\n        transform: translateY(2px);\n    }\n    8.23% {\n        transform: translateY(0);\n    }\n    66.67% {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n@keyframes fallActions {\n    6.67%,\n    7.27% {\n        opacity: 0;\n        transform: translateY(-18px);\n    }\n    8.05% {\n        opacity: 1;\n        transform: translateY(2px);\n    }\n    8.47% {\n        transform: translateY(0);\n    }\n    66.67% {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n@keyframes fallRecently {\n    6.67%,\n    7.57% {\n        opacity: 0;\n        transform: translateY(-18px);\n    }\n    8.41% {\n        opacity: 1;\n        transform: translateY(2px);\n    }\n    8.83% {\n        transform: translateY(0);\n    }\n    66.67% {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n@keyframes fallFavorites {\n    6.67%,\n    7.87% {\n        opacity: 0;\n        transform: translateY(-18px);\n    }\n    8.77% {\n        opacity: 1;\n        transform: translateY(2px);\n    }\n    9.19% {\n        transform: translateY(0);\n    }\n    66.67% {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n\n@keyframes blogShow {\n    6.67%,\n    12.07% {\n        opacity: 0;\n    }\n    13.27%,\n    17.47% {\n        opacity: 1;\n    }\n    18.07%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes saveTap {\n    6.67%,\n    16.27% {\n        transform: scale(1);\n        background: var(--bs-primary);\n    }\n    16.87% {\n        transform: scale(1.08);\n        background: var(--bs-link-hover-color);\n    }\n    17.47%,\n    18.07% {\n        transform: scale(1);\n        background: var(--bs-primary);\n    }\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-primary);\n    }\n}\n\n@keyframes loadingShow {\n    6.67%,\n    18.07% {\n        opacity: 0;\n    }\n    18.67%,\n    19.87% {\n        opacity: 1;\n    }\n    21.07%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes saveProgressFill {\n    6.67%,\n    18.07% {\n        width: 0%;\n    }\n    18.67%,\n    19.87% {\n        width: 100%;\n    }\n    66.67% {\n        width: 100%;\n    }\n}\n\n@keyframes recipeModalShow {\n    6.67% {\n        transform: translateY(100%);\n    }\n    19.87% {\n        transform: translateY(100%);\n    }\n    21.07% {\n        transform: translateY(0);\n    }\n    37.27% {\n        transform: translateY(0);\n    }\n    38.47% {\n        transform: translateY(100%);\n    }\n    66.67% {\n        transform: translateY(100%);\n    }\n}\n\n@keyframes scrollAreaMove {\n    6.67%,\n    24.07% {\n        transform: translateY(0);\n    }\n    25.27%,\n    28.87% {\n        transform: translateY(-250px); // two extra ingredient rows to scroll past\n    }\n    66.67% {\n        transform: translateY(0);\n    }\n}\n\n@keyframes tabRecipeLabel {\n    6.67%,\n    28.87% {\n        color: var(--bs-primary);\n        border-bottom-color: var(--bs-primary);\n    }\n    30.07%,\n    66.67% {\n        color: var(--bs-secondary-color);\n        border-bottom-color: transparent;\n    }\n}\n@keyframes tabDetailsLabel {\n    6.67%,\n    28.87% {\n        color: var(--bs-secondary-color);\n        transform: scale(1);\n        border-bottom-color: transparent;\n    }\n    29.47% {\n        color: var(--bs-primary);\n        transform: scale(1.15);\n        border-bottom-color: transparent;\n    }\n    30.07%,\n    66.67% {\n        color: var(--bs-primary);\n        transform: scale(1);\n        border-bottom-color: var(--bs-primary);\n    }\n}\n@keyframes slideTrackMove {\n    6.67%,\n    28.87% {\n        transform: translateX(0);\n    }\n    30.67%,\n    66.67% {\n        transform: translateX(-50%);\n    }\n}\n\n@keyframes planBtnTap {\n    6.67%,\n    36.67% {\n        transform: scale(1);\n        background: var(--bs-success);\n    }\n    37.27% {\n        transform: scale(1.12);\n        background: color-mix(in srgb, var(--bs-success) 80%, black);\n    }\n    37.87%,\n    38.47% {\n        transform: scale(1);\n        background: var(--bs-success);\n    }\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-success);\n    }\n}\n\n@keyframes mealPlanShow {\n    6.67%,\n    37.27% {\n        opacity: 0;\n    }\n    37.87%,\n    45.07% {\n        opacity: 1;\n    }\n    46.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes cardIn1 {\n    6.67%,\n    37.87% {\n        opacity: 0;\n        transform: translateX(-6px);\n    }\n    39.07%,\n    44.47% {\n        opacity: 1;\n        transform: translateX(0);\n    }\n    46.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes cardIn2 {\n    6.67%,\n    39.07% {\n        opacity: 0;\n        transform: translateX(-6px);\n    }\n    40.27%,\n    44.47% {\n        opacity: 1;\n        transform: translateX(0);\n    }\n    46.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes cardIn3 {\n    6.67%,\n    40.27% {\n        opacity: 0;\n        transform: translateX(-6px);\n    }\n    41.47%,\n    44.47% {\n        opacity: 1;\n        transform: translateX(0);\n    }\n    46.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes genBtnShow {\n    6.67%,\n    41.47% {\n        opacity: 0;\n        transform: scale(0.95);\n        background: var(--bs-primary);\n    }\n    42.07%,\n    44.47% {\n        opacity: 1;\n        transform: scale(1);\n        background: var(--bs-primary);\n    }\n    45.07% {\n        transform: scale(1.06);\n        background: var(--bs-link-hover-color);\n    }\n    45.67% {\n        transform: scale(0.97);\n        background: var(--bs-primary);\n    }\n    46.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n\n@keyframes listLoadingShow {\n    6.67%,\n    46.27% {\n        opacity: 0;\n    }\n    46.87%,\n    50.47% {\n        opacity: 1;\n    }\n    51.67%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes listProgressFill {\n    6.67%,\n    46.27% {\n        width: 0%;\n    }\n    46.87%,\n    50.47% {\n        width: 100%;\n    }\n    66.67% {\n        width: 100%;\n    }\n}\n\n@keyframes groceryShow {\n    6.67%,\n    51.07% {\n        opacity: 0;\n    }\n    // Holds visible from entrance to the end of the loop — the opaque cooking\n    // modal slides over it, and the splash (0-6.67%) hides the reset flip.\n    51.67%,\n    100% {\n        opacity: 1;\n    }\n}\n\n@keyframes navHomeLabel {\n    6.67%,\n    12.67% {\n        color: var(--bs-primary);\n    }\n    // Stays inactive through the grocery + cooking phase (the loop resets via the\n    // splash, so no premature \"back to Home\" highlight while grocery is visible).\n    13.27%,\n    66.67% {\n        color: var(--bs-tertiary-color);\n    }\n}\n@keyframes navHomeIcon {\n    6.67%,\n    12.67% {\n        background: var(--bs-primary);\n    }\n    13.27%,\n    66.67% {\n        background: var(--bs-grey);\n    }\n}\n@keyframes navPlanLabel {\n    6.67%,\n    37.27% {\n        color: var(--bs-tertiary-color);\n    }\n    37.87%,\n    46.27% {\n        color: var(--bs-primary);\n    }\n    46.87%,\n    66.67% {\n        color: var(--bs-tertiary-color);\n    }\n}\n@keyframes navPlanIcon {\n    6.67%,\n    37.27% {\n        background: var(--bs-grey);\n    }\n    37.87%,\n    46.27% {\n        background: var(--bs-primary);\n    }\n    46.87%,\n    66.67% {\n        background: var(--bs-grey);\n    }\n}\n@keyframes navListLabel {\n    6.67%,\n    51.07% {\n        color: var(--bs-tertiary-color);\n    }\n    // Stays active through the cooking phase (List is the active tab) — covered by\n    // the cooking modal from ~66.5%.\n    51.67%,\n    66.67% {\n        color: var(--bs-primary);\n    }\n}\n@keyframes navListIcon {\n    6.67%,\n    51.07% {\n        background: var(--bs-grey);\n    }\n    51.67%,\n    66.67% {\n        background: var(--bs-primary);\n    }\n}\n\n// Badge counts down 5 -> 0 as each grocery item is checked (checks pop at\n// 79.3 / 81.1 / 82.9 / 84.7 / 86.5).\n@keyframes badge5 {\n    0%,\n    51.07% {\n        opacity: 0;\n    }\n    51.67%,\n    52.27% {\n        opacity: 1;\n    }\n    52.87%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes badge4 {\n    0%,\n    52.27% {\n        opacity: 0;\n    }\n    52.87%,\n    53.47% {\n        opacity: 1;\n    }\n    54.07%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes badge3 {\n    0%,\n    53.47% {\n        opacity: 0;\n    }\n    54.07%,\n    54.67% {\n        opacity: 1;\n    }\n    55.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes badge2 {\n    0%,\n    54.67% {\n        opacity: 0;\n    }\n    55.27%,\n    55.87% {\n        opacity: 1;\n    }\n    56.47%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes badge1 {\n    0%,\n    55.87% {\n        opacity: 0;\n    }\n    56.47%,\n    57.67% {\n        opacity: 1;\n    }\n    58.27%,\n    66.67% {\n        opacity: 0;\n    }\n}\n@keyframes badge0 {\n    0%,\n    57.67% {\n        opacity: 0;\n    }\n    // Holds \"0\" once reached — covered by the cooking modal from ~66.5%.\n    58.27%,\n    66.67% {\n        opacity: 1;\n    }\n}\n\n@keyframes chk1Anim {\n    6.67%,\n    52.27% {\n        transform: scale(1);\n        background: transparent;\n        border: 1.5px solid var(--bs-grey);\n    }\n    52.87% {\n        transform: scale(1.3);\n        background: transparent;\n        border: 1.5px solid var(--bs-tertiary-color);\n    }\n    53.47%,\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-primary);\n        border: 1.5px solid var(--bs-primary);\n    }\n}\n@keyframes chk1MarkAnim {\n    6.67%,\n    52.87% {\n        opacity: 0;\n    }\n    53.47%,\n    66.67% {\n        opacity: 1;\n    }\n}\n@keyframes chk2Anim {\n    6.67%,\n    53.47% {\n        transform: scale(1);\n        background: transparent;\n        border: 1.5px solid var(--bs-grey);\n    }\n    54.07% {\n        transform: scale(1.3);\n        background: transparent;\n        border: 1.5px solid var(--bs-tertiary-color);\n    }\n    54.67%,\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-primary);\n        border: 1.5px solid var(--bs-primary);\n    }\n}\n@keyframes chk2MarkAnim {\n    6.67%,\n    54.07% {\n        opacity: 0;\n    }\n    54.67%,\n    66.67% {\n        opacity: 1;\n    }\n}\n@keyframes chk3Anim {\n    6.67%,\n    54.67% {\n        transform: scale(1);\n        background: transparent;\n        border: 1.5px solid var(--bs-grey);\n    }\n    55.27% {\n        transform: scale(1.3);\n        background: transparent;\n        border: 1.5px solid var(--bs-tertiary-color);\n    }\n    55.87%,\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-primary);\n        border: 1.5px solid var(--bs-primary);\n    }\n}\n@keyframes chk3MarkAnim {\n    6.67%,\n    55.27% {\n        opacity: 0;\n    }\n    55.87%,\n    66.67% {\n        opacity: 1;\n    }\n}\n@keyframes chk4Anim {\n    0%,\n    55.87% {\n        transform: scale(1);\n        background: transparent;\n        border: 1.5px solid var(--bs-grey);\n    }\n    56.47% {\n        transform: scale(1.3);\n        background: transparent;\n        border: 1.5px solid var(--bs-tertiary-color);\n    }\n    57.07%,\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-primary);\n        border: 1.5px solid var(--bs-primary);\n    }\n}\n@keyframes chk4MarkAnim {\n    0%,\n    56.47% {\n        opacity: 0;\n    }\n    57.07%,\n    66.67% {\n        opacity: 1;\n    }\n}\n@keyframes chk5Anim {\n    0%,\n    57.07% {\n        transform: scale(1);\n        background: transparent;\n        border: 1.5px solid var(--bs-grey);\n    }\n    57.67% {\n        transform: scale(1.3);\n        background: transparent;\n        border: 1.5px solid var(--bs-tertiary-color);\n    }\n    58.27%,\n    66.67% {\n        transform: scale(1);\n        background: var(--bs-primary);\n        border: 1.5px solid var(--bs-primary);\n    }\n}\n@keyframes chk5MarkAnim {\n    0%,\n    57.67% {\n        opacity: 0;\n    }\n    58.27%,\n    66.67% {\n        opacity: 1;\n    }\n}\n\n// ----- Cooking phase (66.67-100% of the 45s timeline) -----\n// Start Cooking button fades in under the checked grocery list, taps, then is\n// covered as the cooking modal slides up.\n@keyframes cookBtnShow {\n    0%,\n    59% {\n        opacity: 0;\n        transform: scale(0.95);\n        background: var(--bs-success);\n    }\n    60%,\n    63% {\n        opacity: 1;\n        transform: scale(1);\n        background: var(--bs-success);\n    }\n    64% {\n        transform: scale(1.08);\n        background: color-mix(in srgb, var(--bs-success) 80%, black);\n    }\n    65%,\n    100% {\n        opacity: 1;\n        transform: scale(1);\n        background: var(--bs-success);\n    }\n}\n\n// Bon Appétit fades to nothing (the empty modal background) at the end of the loop;\n// the loop then restarts from blank with the splash logo fading in.\n@keyframes cookFadeOut {\n    0%,\n    95.6% {\n        opacity: 1;\n    }\n    98.9%,\n    100% {\n        opacity: 0;\n    }\n}\n\n// Cooking modal slides up over the grocery panel and holds through the loop; the\n// splash (0-6.67%) covers its reset to translateY(100%) at the boundary.\n@keyframes cookingModalShow {\n    0%,\n    64.5% {\n        transform: translateY(100%);\n    }\n    66.5%,\n    100% {\n        transform: translateY(0);\n    }\n}\n\n// Track advances one page per Next tap: prep → step1-4 → bon appétit.\n@keyframes cookTrackMove {\n    0%,\n    71% {\n        transform: translateX(0);\n    }\n    72.4%,\n    75.6% {\n        transform: translateX(-16.667%);\n    }\n    76.5%,\n    79.6% {\n        transform: translateX(-33.333%);\n    }\n    80.5%,\n    83.6% {\n        transform: translateX(-50%);\n    }\n    84.5%,\n    87.6% {\n        transform: translateX(-66.667%);\n    }\n    88.9%,\n    100% {\n        transform: translateX(-83.333%);\n    }\n}\n\n// Next button pulses on each of the five advances, then hides on the done page.\n@keyframes cookNextTap {\n    0%,\n    70.4% {\n        transform: scale(1);\n        opacity: 1;\n    }\n    70.8% {\n        transform: scale(1.12);\n    }\n    71.2%,\n    75% {\n        transform: scale(1);\n    }\n    75.4% {\n        transform: scale(1.12);\n    }\n    75.8%,\n    79% {\n        transform: scale(1);\n    }\n    79.4% {\n        transform: scale(1.12);\n    }\n    79.8%,\n    83% {\n        transform: scale(1);\n    }\n    83.4% {\n        transform: scale(1.12);\n    }\n    83.8%,\n    87% {\n        transform: scale(1);\n    }\n    87.4% {\n        transform: scale(1.12);\n    }\n    87.8% {\n        transform: scale(1);\n        opacity: 1;\n    }\n    88.4%,\n    100% {\n        transform: scale(1);\n        opacity: 0;\n    }\n}\n"],
  "mappings": "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",
  "names": []
}
