/* /Features/About/About.razor.rz.scp.css */
.release-list[b-fpl2995ymo] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.release-version[b-fpl2995ymo] {
    margin: 0 0 var(--space-1);
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.release-date[b-fpl2995ymo] {
    font-size: 0.875rem;
    font-weight: normal;
}

.release ul[b-fpl2995ymo] {
    margin: 0;
    padding-left: var(--space-5);
}
/* /Features/About/WhatsNewDialog.razor.rz.scp.css */
.backdrop[b-30131k2taw] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    background: rgb(0 0 0 / 55%);
    overflow-y: auto;
}

.dialog[b-30131k2taw] {
    width: min(32rem, 100%);
    max-height: 90vh;
    overflow-y: auto;
}

.dialog h2[b-30131k2taw],
.intro[b-30131k2taw],
.release h3[b-30131k2taw] {
    margin: 0;
}

.release ul[b-30131k2taw] {
    margin: var(--space-2) 0 0 0;
    padding-left: var(--space-5);
}
/* /Features/Account/Login.razor.rz.scp.css */
.login-page[b-pvjezgyltf] {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: var(--space-4);
    background:
        radial-gradient(circle at 15% 15%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 45%),
        radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--accent-2) 22%, transparent), transparent 45%),
        var(--bg);
}

.login-card[b-pvjezgyltf] {
    width: 100%;
    max-width: 24rem;
    text-align: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--space-6) var(--space-5);
    box-shadow: var(--shadow-lg);
}

.brand[b-pvjezgyltf] {
    font-size: 3rem;
    line-height: 1;
    margin-bottom: var(--space-2);
}

.tagline[b-pvjezgyltf] {
    color: var(--text-muted);
    margin-bottom: var(--space-5);
}

.about-link[b-pvjezgyltf] {
    margin-top: var(--space-4);
}

.google-gis-btn[b-pvjezgyltf] {
    display: flex;
    justify-content: center;
    width: 100%;
    min-height: 44px;
}

.google-btn[b-pvjezgyltf] {
    width: 100%;
    margin-top: var(--space-4);
}

.google-mark[b-pvjezgyltf] {
    display: inline-grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--accent-contrast);
    color: var(--accent);
    font-weight: 700;
}
/* /Features/Admin/AdminHome.razor.rz.scp.css */
.admin-grid[b-drkcjbtqqt] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

@media (min-width: 640px) {
    .admin-grid[b-drkcjbtqqt] {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
}

.admin-tile[b-drkcjbtqqt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    aspect-ratio: 1;
    text-align: center;
    text-decoration: none;
    color: inherit;
}

.admin-icon[b-drkcjbtqqt] {
    font-size: 2.25rem;
    line-height: 1;
}

.admin-label[b-drkcjbtqqt] {
    font-weight: 600;
}
/* /Features/Admin/FeatureRequestAdmin.razor.rz.scp.css */
.request-list[b-1zh5c1yk6a] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.request-title[b-1zh5c1yk6a] {
    margin: 0;
    font-size: 1.1rem;
}

.request-description[b-1zh5c1yk6a] {
    margin: 0;
    white-space: pre-wrap;
}
/* /Features/Admin/IngredientAdmin.razor.rz.scp.css */
.search-row[b-6besru04l0] {
    margin-bottom: var(--space-4);
}

.editor[b-6besru04l0] {
    margin-bottom: var(--space-4);
}

.editor h2[b-6besru04l0] {
    margin-top: 0;
}

.tags[b-6besru04l0] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--space-3);
    margin: var(--space-3) 0;
}

.tags legend[b-6besru04l0] {
    padding: 0 var(--space-2);
    color: var(--text-muted);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tag-option[b-6besru04l0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 var(--space-3) var(--space-2) 0;
    min-height: 44px;
    cursor: pointer;
}

.tag-option input[b-6besru04l0] {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--accent);
}

.list[b-6besru04l0] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.row[b-6besru04l0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.row-main[b-6besru04l0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
}

.name[b-6besru04l0] {
    font-weight: 600;
}

.meta[b-6besru04l0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.backdrop[b-6besru04l0] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    background: rgb(0 0 0 / 55%);
}

.dialog[b-6besru04l0] {
    width: min(28rem, 100%);
}

.dialog h2[b-6besru04l0] {
    margin-top: 0;
}

@media (max-width: 480px) {
    .row[b-6besru04l0] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Features/Admin/UnitAdmin.razor.rz.scp.css */
.unit-list[b-p0ftb3mg9n] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
}

.unit-row[b-p0ftb3mg9n] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: var(--space-3);
    align-items: end;
}
/* /Features/Admin/UserAdmin.razor.rz.scp.css */
.user-list[b-3zgf3euzdd] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.user[b-3zgf3euzdd] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.identity[b-3zgf3euzdd] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.identity .name[b-3zgf3euzdd] {
    font-weight: 600;
}

.identity span[b-3zgf3euzdd] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/Meals/BreakfastPanel.razor.rz.scp.css */
.breakfast[b-ry2l2vndly] {
    margin-bottom: var(--space-4);
}

.breakfast-header[b-ry2l2vndly] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.breakfast-list[b-ry2l2vndly] {
    margin: 0;
    padding-left: var(--space-4);
}

.breakfast-list .name[b-ry2l2vndly] {
    font-weight: 600;
}

.ingredients[b-ry2l2vndly] {
    margin: var(--space-4) 0 0 0;
    padding: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

legend[b-ry2l2vndly] {
    padding: 0 var(--space-2);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
}

.ingredient-row[b-ry2l2vndly] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: var(--space-2);
    align-items: start;
    margin-bottom: var(--space-3);
}

.ingredient-row .field[b-ry2l2vndly] {
    margin-bottom: 0;
    min-width: 0;
}

.ingredient-row .name[b-ry2l2vndly],
.ingredient-row .scope[b-ry2l2vndly] {
    grid-column: 1 / -1;
}

.remove[b-ry2l2vndly] {
    align-self: start;
}

.actions[b-ry2l2vndly] {
    margin-top: var(--space-4);
}

@media (min-width: 40rem) {
    .ingredient-row[b-ry2l2vndly] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) auto;
    }

    .ingredient-row .name[b-ry2l2vndly],
    .ingredient-row .scope[b-ry2l2vndly] {
        grid-column: auto;
    }
}
/* /Features/Meals/MealDetail.razor.rz.scp.css */
.backdrop[b-rd2mu70phk] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    background: rgb(0 0 0 / 55%);
    overflow-y: auto;
}

.dialog[b-rd2mu70phk] {
    width: min(32rem, 100%);
    max-height: 90vh;
    overflow-y: auto;
}

.dialog-head[b-rd2mu70phk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
}

.dialog-head h3[b-rd2mu70phk] {
    margin: 0;
}

.spacer[b-rd2mu70phk] {
    flex: 1 1 auto;
}

.ingredient-list[b-rd2mu70phk] {
    list-style: none;
    margin: 0 0 var(--space-4) 0;
    padding: 0;
}

.ingredient-list li[b-rd2mu70phk] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--border);
}

.recipe-link[b-rd2mu70phk] {
    font-weight: 600;
}

.actions[b-rd2mu70phk] {
    margin-top: var(--space-3);
}
/* /Features/Meals/MealForm.razor.rz.scp.css */
.meal-form[b-gbjh7lvp0p] {
    margin-bottom: var(--space-4);
}

.grid[b-gbjh7lvp0p] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr;
}

.ingredients[b-gbjh7lvp0p] {
    margin: var(--space-4) 0 0 0;
    padding: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

legend[b-gbjh7lvp0p] {
    padding: 0 var(--space-2);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
}

.ingredient-row[b-gbjh7lvp0p] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2);
    align-items: start;
    margin-bottom: var(--space-3);
}

.ingredient-row .field[b-gbjh7lvp0p] {
    margin-bottom: 0;
}

.ingredient-row .name[b-gbjh7lvp0p] {
    grid-column: 1 / -1;
}

.ingredient-row .amount[b-gbjh7lvp0p] {
    min-width: 0;
}

.drink-row[b-gbjh7lvp0p] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}

.drink-row .url[b-gbjh7lvp0p] {
    grid-column: 1 / -1;
}

.remove[b-gbjh7lvp0p] {
    align-self: start;
}

.actions[b-gbjh7lvp0p] {
    margin-top: var(--space-4);
}

@media (min-width: 30rem) {
    .grid[b-gbjh7lvp0p] {
        grid-template-columns: 1fr 1fr;
    }

    .ingredient-row[b-gbjh7lvp0p] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
    }

    .ingredient-row .name[b-gbjh7lvp0p] {
        grid-column: auto;
    }

    .drink-row .url[b-gbjh7lvp0p] {
        grid-column: 1 / -1;
    }
}
/* /Features/Meals/MealList.razor.rz.scp.css */
.meals[b-hf0642fm2p] {
    margin-bottom: var(--space-5);
}

.day[b-hf0642fm2p] {
    margin-bottom: var(--space-5);
}

.day-header[b-hf0642fm2p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--border);
}

.day-header h3[b-hf0642fm2p] {
    margin: 0;
    text-transform: capitalize;
}

.no-meals[b-hf0642fm2p] {
    margin: 0 0 var(--space-3) 0;
}

.meal[b-hf0642fm2p] {
    margin-bottom: var(--space-3);
    cursor: pointer;
}

.meal-head[b-hf0642fm2p] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
}

.meal-head h4[b-hf0642fm2p] {
    margin: 0;
}

.spacer[b-hf0642fm2p] {
    flex: 1 1 auto;
}

.ingredient-tags[b-hf0642fm2p] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: var(--space-2) 0 0 0;
    padding: 0;
}
/* /Features/Meals/OtherItemsPanel.razor.rz.scp.css */
.other-items[b-ssjfoi24c7] {
    margin-bottom: var(--space-4);
}

.other-list[b-ssjfoi24c7] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.other-list li[b-ssjfoi24c7] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--border);
}

.other-list .name[b-ssjfoi24c7] {
    font-weight: 600;
}

.backdrop[b-ssjfoi24c7] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    background: rgb(0 0 0 / 55%);
    overflow-y: auto;
}

.dialog[b-ssjfoi24c7] {
    width: min(32rem, 100%);
    max-height: 90vh;
    overflow-y: visible;
}

.edit-amount[b-ssjfoi24c7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.edit-quantity[b-ssjfoi24c7] {
    flex: 0 1 6rem;
}

.edit-unit[b-ssjfoi24c7] {
    flex: 1 1 8rem;
}
/* /Features/Meals/TripDrinksPanel.razor.rz.scp.css */
.breakfast[b-s3dxm1pwb8] {
    margin-bottom: var(--space-4);
}

.breakfast-header[b-s3dxm1pwb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.breakfast-list[b-s3dxm1pwb8] {
    margin: 0;
    padding-left: var(--space-4);
}

.totals-heading[b-s3dxm1pwb8] {
    margin: var(--space-4) 0 var(--space-2) 0;
}

.alcohol-summary[b-s3dxm1pwb8] {
    font-size: 0.85rem;
    font-weight: 400;
}

.breakfast-list .name[b-s3dxm1pwb8] {
    font-weight: 600;
}

.ingredients[b-s3dxm1pwb8] {
    margin: var(--space-4) 0 0 0;
    padding: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

legend[b-s3dxm1pwb8] {
    padding: 0 var(--space-2);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
}

.ingredient-row[b-s3dxm1pwb8] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: var(--space-2);
    align-items: start;
    margin-bottom: var(--space-3);
}

.ingredient-row .field[b-s3dxm1pwb8] {
    margin-bottom: 0;
    min-width: 0;
}

.ingredient-row .name[b-s3dxm1pwb8],
.ingredient-row .scope[b-s3dxm1pwb8] {
    grid-column: 1 / -1;
}

.remove[b-s3dxm1pwb8] {
    align-self: start;
}

.actions[b-s3dxm1pwb8] {
    margin-top: var(--space-4);
}

@media (min-width: 40rem) {
    .ingredient-row[b-s3dxm1pwb8] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) auto;
    }

    .ingredient-row .name[b-s3dxm1pwb8],
    .ingredient-row .scope[b-s3dxm1pwb8] {
        grid-column: auto;
    }
}
/* /Features/Onboarding/HouseholdOnboarding.razor.rz.scp.css */
.onboarding[b-jgij50bmps] {
    position: fixed;
    inset: 0;
    overflow: hidden auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-5) var(--space-4);
    background: linear-gradient(135deg, #1b1037, #2a0f4d 40%, #0f2b4d);
    background-size: 300% 300%;
    animation: bg-shift-b-jgij50bmps 14s ease infinite;
    color: #fff;
    isolation: isolate;
    perspective: 1200px;
}

.onboarding.step-1[b-jgij50bmps] { background-image: linear-gradient(135deg, #0f2b4d, #1b6b7a 45%, #2a0f4d); }
.onboarding.step-2[b-jgij50bmps] { background-image: linear-gradient(135deg, #3a0f3d, #7a1b5b 45%, #0f2b4d); }
.onboarding.step-3[b-jgij50bmps] { background-image: linear-gradient(135deg, #0f3d2b, #1b7a4f 45%, #3a0f3d); }
.onboarding.intro-0[b-jgij50bmps] { background-image: linear-gradient(135deg, #1a1a2e, #3a2a6b 45%, #0f2b4d); }
.onboarding.intro-1[b-jgij50bmps] { background-image: linear-gradient(135deg, #2b1a4d, #6b2a7a 45%, #1a1a2e); }
.onboarding.intro-2[b-jgij50bmps] { background-image: linear-gradient(135deg, #4d1a2b, #a8432a 45%, #2b1a4d); }
.onboarding.finished[b-jgij50bmps] { background-image: linear-gradient(135deg, #ff6b6b, #ffd43b 30%, #51cf66 60%, #4dabf7 80%, #e599f7); animation-duration: 4s; }

@keyframes bg-shift-b-jgij50bmps {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Aurora blobs */
.aurora[b-jgij50bmps] {
    position: absolute;
    inset: -20%;
    z-index: -2;
    filter: blur(60px) saturate(160%);
    pointer-events: none;
}

.blob[b-jgij50bmps] {
    position: absolute;
    width: 45vmax;
    height: 45vmax;
    border-radius: 50%;
    mix-blend-mode: screen;
    opacity: .55;
    animation: drift-b-jgij50bmps 18s ease-in-out infinite alternate;
}

.b1[b-jgij50bmps] { background: #ff4ecd; top: 0; left: 0; }
.b2[b-jgij50bmps] { background: #4dabf7; bottom: 0; right: 0; animation-delay: -4s; animation-duration: 22s; }
.b3[b-jgij50bmps] { background: #51cf66; top: 30%; left: 40%; animation-delay: -8s; animation-duration: 16s; }
.b4[b-jgij50bmps] { background: #ffd43b; bottom: 10%; left: 5%; animation-delay: -12s; animation-duration: 25s; opacity: .35; }

@keyframes drift-b-jgij50bmps {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(15vw, 10vh) scale(1.2) rotate(60deg); }
    66% { transform: translate(-10vw, 15vh) scale(.85) rotate(140deg); }
    100% { transform: translate(5vw, -10vh) scale(1.1) rotate(220deg); }
}

/* Twinkling stars */
.stars[b-jgij50bmps] {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.star[b-jgij50bmps] {
    position: absolute;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px 2px rgba(255, 255, 255, .8);
    animation: twinkle-b-jgij50bmps 3s ease-in-out infinite;
}

@keyframes twinkle-b-jgij50bmps {
    0%, 100% { opacity: .1; transform: scale(.6); }
    50% { opacity: 1; transform: scale(1.4); }
}

/* Floating food emojis */
.floaters[b-jgij50bmps] {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.floater[b-jgij50bmps] {
    position: absolute;
    bottom: -3rem;
    font-size: 2rem;
    opacity: 0;
    animation: float-up-b-jgij50bmps linear infinite;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .3));
}

@keyframes float-up-b-jgij50bmps {
    0% { transform: translateY(0) rotate(0deg); opacity: 0; }
    10% { opacity: .8; }
    90% { opacity: .8; }
    100% { transform: translateY(-110vh) rotate(360deg); opacity: 0; }
}

/* Progress */
.progress[b-jgij50bmps] {
    position: relative;
    width: min(100%, 28rem);
    height: .5rem;
    margin: var(--space-3) 0 var(--space-6);
    border-radius: 999px;
    background: rgba(255, 255, 255, .15);
}

.progress-fill[b-jgij50bmps] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ff4ecd, #ffd43b, #51cf66, #4dabf7);
    background-size: 200% 100%;
    box-shadow: 0 0 18px #ff4ecd, 0 0 36px #4dabf7;
    transition: width .8s cubic-bezier(.34, 1.56, .64, 1);
    animation: sweep-b-jgij50bmps 2s linear infinite;
}

@keyframes sweep-b-jgij50bmps {
    to { background-position: 200% 0; }
}

.progress-dot[b-jgij50bmps] {
    position: absolute;
    top: 50%;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .25);
    border: 2px solid rgba(255, 255, 255, .5);
    transition: background .4s, transform .4s;
}

.progress-dot.done[b-jgij50bmps] {
    background: #fff;
    transform: translate(-50%, -50%) scale(1.3);
    box-shadow: 0 0 14px #fff;
    animation: pulse-b-jgij50bmps 1.6s ease-in-out infinite;
}

@keyframes pulse-b-jgij50bmps {
    0%, 100% { box-shadow: 0 0 6px #fff; }
    50% { box-shadow: 0 0 22px #fff, 0 0 40px #ff4ecd; }
}

/* Card */
.stage[b-jgij50bmps] {
    width: min(100%, 30rem);
    margin: auto 0;
}

.card-3d[b-jgij50bmps] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-6) var(--space-5);
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .25);
    backdrop-filter: blur(18px) saturate(180%);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .3);
    text-align: center;
    animation: card-in-b-jgij50bmps .9s cubic-bezier(.34, 1.56, .64, 1) both;
    transform-style: preserve-3d;
}

.card-3d[b-jgij50bmps]::before {
    content: "";
    position: absolute;
    inset: -2px;
    z-index: -1;
    border-radius: inherit;
    background: conic-gradient(from var(--angle, 0deg), #ff4ecd, #ffd43b, #51cf66, #4dabf7, #ff4ecd);
    filter: blur(14px);
    opacity: .6;
    animation: spin-border-b-jgij50bmps 4s linear infinite;
}

@property --angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}

@keyframes spin-border-b-jgij50bmps {
    to { --angle: 360deg; }
}

@keyframes card-in-b-jgij50bmps {
    0% { opacity: 0; transform: rotateY(-70deg) rotateX(20deg) translateZ(-300px) scale(.6); filter: blur(12px); }
    60% { opacity: 1; filter: blur(0); }
    100% { opacity: 1; transform: none; }
}

.card-3d h1[b-jgij50bmps] {
    margin: 0;
    font-size: clamp(1.8rem, 6vw, 2.6rem);
    line-height: 1.1;
}

.shimmer[b-jgij50bmps] {
    background: linear-gradient(90deg, #fff 20%, #ffd43b 40%, #ff4ecd 50%, #4dabf7 60%, #fff 80%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: shimmer-b-jgij50bmps 3s linear infinite;
}

@keyframes shimmer-b-jgij50bmps {
    to { background-position: -250% 0; }
}

.lead[b-jgij50bmps] {
    margin: 0;
    font-size: 1.1rem;
    opacity: .9;
}

.hero-emoji[b-jgij50bmps] {
    font-size: 4.5rem;
    line-height: 1;
    filter: drop-shadow(0 10px 25px rgba(255, 255, 255, .35));
}

.wave[b-jgij50bmps] { animation: wave-b-jgij50bmps 1.8s ease-in-out infinite; transform-origin: 70% 70%; }
.ring[b-jgij50bmps] { animation: ring-b-jgij50bmps 1.2s ease-in-out infinite; }
.wobble[b-jgij50bmps] { animation: wobble-b-jgij50bmps 2.4s ease-in-out infinite; }

@keyframes wave-b-jgij50bmps {
    0%, 60%, 100% { transform: rotate(0); }
    10%, 30% { transform: rotate(18deg); }
    20%, 40% { transform: rotate(-10deg); }
}

@keyframes ring-b-jgij50bmps {
    0%, 100% { transform: rotate(0) scale(1); }
    10%, 30%, 50% { transform: rotate(-15deg) scale(1.1); }
    20%, 40% { transform: rotate(15deg) scale(1.1); }
    60% { transform: rotate(0) scale(1); }
}

@keyframes wobble-b-jgij50bmps {
    0%, 100% { transform: translateY(0) rotate(0); }
    25% { transform: translateY(-12px) rotate(-8deg); }
    75% { transform: translateY(-6px) rotate(8deg); }
}

.teaser[b-jgij50bmps] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-2);
    font-size: 1.15rem;
}

.teaser li[b-jgij50bmps],
.chips li[b-jgij50bmps] {
    animation: pop-in-b-jgij50bmps .6s cubic-bezier(.34, 1.56, .64, 1) both;
    animation-delay: calc(400ms + var(--d, 0) * 120ms);
}

@keyframes pop-in-b-jgij50bmps {
    0% { opacity: 0; transform: scale(.3) translateY(20px); }
    100% { opacity: 1; transform: none; }
}

/* Inputs */
.glow-input[b-jgij50bmps] {
    position: relative;
    border-radius: 1rem;
    padding: 2px;
    background: linear-gradient(90deg, #ff4ecd, #ffd43b, #51cf66, #4dabf7, #ff4ecd);
    background-size: 300% 100%;
    animation: sweep-b-jgij50bmps 3s linear infinite;
}

.glow-input.grow[b-jgij50bmps] { flex: 1; }

.glow-input input[b-jgij50bmps] {
    width: 100%;
    padding: .9rem 1rem;
    border: 0;
    border-radius: calc(1rem - 2px);
    background: rgba(15, 10, 35, .85);
    color: #fff;
    font-size: 1.15rem;
    text-align: center;
    transition: transform .25s, box-shadow .25s;
}

.glow-input input:focus[b-jgij50bmps] {
    outline: none;
    transform: scale(1.03);
    box-shadow: 0 0 30px rgba(255, 78, 205, .6);
}

.field-label[b-jgij50bmps] {
    color: rgba(255, 255, 255, .85);
}

/* Chips */
.chips[b-jgij50bmps] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-2);
}

.chip[b-jgij50bmps] {
    padding: .55rem 1.1rem;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), background .3s, box-shadow .3s;
}

.chip:hover[b-jgij50bmps] { transform: translateY(-3px) scale(1.06); }

.chip.selected[b-jgij50bmps] {
    background: linear-gradient(135deg, #ff4ecd, #ffd43b);
    border-color: transparent;
    color: #1b1037;
    box-shadow: 0 0 20px rgba(255, 78, 205, .8), 0 0 40px rgba(255, 212, 59, .5);
    animation: chip-pick-b-jgij50bmps .5s cubic-bezier(.34, 1.56, .64, 1);
}

@keyframes chip-pick-b-jgij50bmps {
    0% { transform: scale(1); }
    40% { transform: scale(1.35) rotate(-6deg); }
    100% { transform: scale(1); }
}

.add[b-jgij50bmps] { align-items: stretch; }

/* Buttons */
.skip-intro[b-jgij50bmps] {
    display: block;
    margin: var(--space-4) auto 0;
    padding: var(--space-2);
    background: none;
    border: 0;
    color: rgba(255, 255, 255, .75);
    text-decoration: underline;
    cursor: pointer;
}

.skip-intro:hover[b-jgij50bmps],
.skip-intro:focus-visible[b-jgij50bmps] {
    color: #fff;
}

.actions[b-jgij50bmps] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    flex-wrap: wrap;
}

.mega[b-jgij50bmps] {
    position: relative;
    overflow: hidden;
    padding: .9rem 1.8rem;
    font-size: 1.15rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff4ecd, #845ef7, #4dabf7);
    background-size: 200% 200%;
    border: 0;
    color: #fff;
    box-shadow: 0 10px 30px rgba(132, 94, 247, .6);
    animation: bg-shift-b-jgij50bmps 3s ease infinite, breathe-b-jgij50bmps 2.4s ease-in-out infinite;
    transition: transform .2s;
}

.mega[b-jgij50bmps]::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .6), transparent);
    transform: skewX(-20deg);
    animation: glint-b-jgij50bmps 2.8s ease-in-out infinite;
}

.mega:hover:not(:disabled)[b-jgij50bmps] { transform: scale(1.08) rotate(-1deg); }
.mega:active:not(:disabled)[b-jgij50bmps] { transform: scale(.95); }

@keyframes breathe-b-jgij50bmps {
    0%, 100% { box-shadow: 0 10px 30px rgba(132, 94, 247, .6); }
    50% { box-shadow: 0 10px 50px rgba(255, 78, 205, .9); }
}

@keyframes glint-b-jgij50bmps {
    0%, 60% { left: -60%; }
    100% { left: 130%; }
}

.arrow[b-jgij50bmps] {
    display: inline-block;
    animation: nudge-b-jgij50bmps 1s ease-in-out infinite;
}

@keyframes nudge-b-jgij50bmps {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px) rotate(10deg); }
}

.shake[b-jgij50bmps] { animation: shake-b-jgij50bmps .5s; }

@keyframes shake-b-jgij50bmps {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-8px); }
    40%, 80% { transform: translateX(8px); }
}

/* Finale */
.finale[b-jgij50bmps] {
    overflow: visible;
    animation: finale-in-b-jgij50bmps 1.2s cubic-bezier(.34, 1.56, .64, 1) both;
}

@keyframes finale-in-b-jgij50bmps {
    0% { opacity: 0; transform: scale(0) rotate(-540deg); }
    70% { transform: scale(1.15) rotate(10deg); }
    100% { opacity: 1; transform: none; }
}

.rays[b-jgij50bmps] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200vmax;
    height: 200vmax;
    z-index: -2;
    transform: translate(-50%, -50%);
    background: repeating-conic-gradient(rgba(255, 255, 255, .18) 0 10deg, transparent 10deg 20deg);
    animation: rays-spin-b-jgij50bmps 12s linear infinite;
    pointer-events: none;
    mask-image: radial-gradient(circle, #000 0, transparent 45%);
}

@keyframes rays-spin-b-jgij50bmps {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.rings[b-jgij50bmps] {
    position: absolute;
    top: 3.5rem;
    left: 50%;
    pointer-events: none;
}

.rings span[b-jgij50bmps] {
    position: absolute;
    width: 6rem;
    height: 6rem;
    margin: -3rem 0 0 -3rem;
    border-radius: 50%;
    border: 4px solid #fff;
    animation: shockwave-b-jgij50bmps 1.8s ease-out infinite;
}

.rings span:nth-child(2)[b-jgij50bmps] { animation-delay: .6s; border-color: #ffd43b; }
.rings span:nth-child(3)[b-jgij50bmps] { animation-delay: 1.2s; border-color: #ff4ecd; }

@keyframes shockwave-b-jgij50bmps {
    0% { transform: scale(.2); opacity: 1; }
    100% { transform: scale(4); opacity: 0; }
}

.trophy[b-jgij50bmps] {
    font-size: 6rem;
    line-height: 1;
    animation: trophy-bounce-b-jgij50bmps 1s cubic-bezier(.34, 1.56, .64, 1) infinite alternate;
    filter: drop-shadow(0 0 30px #ffd43b);
}

@keyframes trophy-bounce-b-jgij50bmps {
    0% { transform: translateY(0) scale(1) rotate(-8deg); }
    100% { transform: translateY(-20px) scale(1.15) rotate(8deg); }
}

.fireworks[b-jgij50bmps] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.firework[b-jgij50bmps] {
    position: absolute;
    top: calc(10% + var(--i) * 15%);
    left: calc(5% + var(--i) * 22%);
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    animation: burst-b-jgij50bmps 1.4s ease-out infinite;
    animation-delay: calc(var(--i) * 280ms);
    box-shadow:
        0 -4rem 0 #ff4ecd, 2.8rem -2.8rem 0 #ffd43b, 4rem 0 0 #51cf66, 2.8rem 2.8rem 0 #4dabf7,
        0 4rem 0 #e599f7, -2.8rem 2.8rem 0 #ff6b6b, -4rem 0 0 #fff, -2.8rem -2.8rem 0 #ffd43b;
}

@keyframes burst-b-jgij50bmps {
    0% { transform: scale(0); opacity: 1; }
    70% { opacity: 1; }
    100% { transform: scale(1.6); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .onboarding *[b-jgij50bmps],
    .onboarding *[b-jgij50bmps]::before,
    .onboarding *[b-jgij50bmps]::after,
    .onboarding[b-jgij50bmps] {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .floaters[b-jgij50bmps],
    .rays[b-jgij50bmps],
    .fireworks[b-jgij50bmps] { display: none; }
}



.household-form[b-jgij50bmps] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    text-align: left;
}

.confirm[b-jgij50bmps] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

.confirm p[b-jgij50bmps] {
    width: 100%;
    margin: 0;
}

/* /Features/Onboarding/Onboarding.razor.rz.scp.css */
.onboarding[b-ss8fk28yra] {
    position: fixed;
    inset: 0;
    overflow: hidden auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-5) var(--space-4);
    background: linear-gradient(135deg, #1b1037, #2a0f4d 40%, #0f2b4d);
    background-size: 300% 300%;
    animation: bg-shift-b-ss8fk28yra 14s ease infinite;
    color: #fff;
    isolation: isolate;
    perspective: 1200px;
}

.onboarding.step-1[b-ss8fk28yra] { background-image: linear-gradient(135deg, #0f2b4d, #1b6b7a 45%, #2a0f4d); }
.onboarding.step-2[b-ss8fk28yra] { background-image: linear-gradient(135deg, #3a0f3d, #7a1b5b 45%, #0f2b4d); }
.onboarding.step-3[b-ss8fk28yra] { background-image: linear-gradient(135deg, #0f3d2b, #1b7a4f 45%, #3a0f3d); }
.onboarding.intro-0[b-ss8fk28yra] { background-image: linear-gradient(135deg, #1a1a2e, #3a2a6b 45%, #0f2b4d); }
.onboarding.intro-1[b-ss8fk28yra] { background-image: linear-gradient(135deg, #2b1a4d, #6b2a7a 45%, #1a1a2e); }
.onboarding.intro-2[b-ss8fk28yra] { background-image: linear-gradient(135deg, #4d1a2b, #a8432a 45%, #2b1a4d); }
.onboarding.finished[b-ss8fk28yra] { background-image: linear-gradient(135deg, #ff6b6b, #ffd43b 30%, #51cf66 60%, #4dabf7 80%, #e599f7); animation-duration: 4s; }

@keyframes bg-shift-b-ss8fk28yra {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Aurora blobs */
.aurora[b-ss8fk28yra] {
    position: absolute;
    inset: -20%;
    z-index: -2;
    filter: blur(60px) saturate(160%);
    pointer-events: none;
}

.blob[b-ss8fk28yra] {
    position: absolute;
    width: 45vmax;
    height: 45vmax;
    border-radius: 50%;
    mix-blend-mode: screen;
    opacity: .55;
    animation: drift-b-ss8fk28yra 18s ease-in-out infinite alternate;
}

.b1[b-ss8fk28yra] { background: #ff4ecd; top: 0; left: 0; }
.b2[b-ss8fk28yra] { background: #4dabf7; bottom: 0; right: 0; animation-delay: -4s; animation-duration: 22s; }
.b3[b-ss8fk28yra] { background: #51cf66; top: 30%; left: 40%; animation-delay: -8s; animation-duration: 16s; }
.b4[b-ss8fk28yra] { background: #ffd43b; bottom: 10%; left: 5%; animation-delay: -12s; animation-duration: 25s; opacity: .35; }

@keyframes drift-b-ss8fk28yra {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(15vw, 10vh) scale(1.2) rotate(60deg); }
    66% { transform: translate(-10vw, 15vh) scale(.85) rotate(140deg); }
    100% { transform: translate(5vw, -10vh) scale(1.1) rotate(220deg); }
}

/* Twinkling stars */
.stars[b-ss8fk28yra] {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.star[b-ss8fk28yra] {
    position: absolute;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px 2px rgba(255, 255, 255, .8);
    animation: twinkle-b-ss8fk28yra 3s ease-in-out infinite;
}

@keyframes twinkle-b-ss8fk28yra {
    0%, 100% { opacity: .1; transform: scale(.6); }
    50% { opacity: 1; transform: scale(1.4); }
}

/* Floating food emojis */
.floaters[b-ss8fk28yra] {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.floater[b-ss8fk28yra] {
    position: absolute;
    bottom: -3rem;
    font-size: 2rem;
    opacity: 0;
    animation: float-up-b-ss8fk28yra linear infinite;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .3));
}

@keyframes float-up-b-ss8fk28yra {
    0% { transform: translateY(0) rotate(0deg); opacity: 0; }
    10% { opacity: .8; }
    90% { opacity: .8; }
    100% { transform: translateY(-110vh) rotate(360deg); opacity: 0; }
}

/* Progress */
.progress[b-ss8fk28yra] {
    position: relative;
    width: min(100%, 28rem);
    height: .5rem;
    margin: var(--space-3) 0 var(--space-6);
    border-radius: 999px;
    background: rgba(255, 255, 255, .15);
}

.progress-fill[b-ss8fk28yra] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ff4ecd, #ffd43b, #51cf66, #4dabf7);
    background-size: 200% 100%;
    box-shadow: 0 0 18px #ff4ecd, 0 0 36px #4dabf7;
    transition: width .8s cubic-bezier(.34, 1.56, .64, 1);
    animation: sweep-b-ss8fk28yra 2s linear infinite;
}

@keyframes sweep-b-ss8fk28yra {
    to { background-position: 200% 0; }
}

.progress-dot[b-ss8fk28yra] {
    position: absolute;
    top: 50%;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .25);
    border: 2px solid rgba(255, 255, 255, .5);
    transition: background .4s, transform .4s;
}

.progress-dot.done[b-ss8fk28yra] {
    background: #fff;
    transform: translate(-50%, -50%) scale(1.3);
    box-shadow: 0 0 14px #fff;
    animation: pulse-b-ss8fk28yra 1.6s ease-in-out infinite;
}

@keyframes pulse-b-ss8fk28yra {
    0%, 100% { box-shadow: 0 0 6px #fff; }
    50% { box-shadow: 0 0 22px #fff, 0 0 40px #ff4ecd; }
}

/* Card */
.stage[b-ss8fk28yra] {
    width: min(100%, 30rem);
    margin: auto 0;
}

.card-3d[b-ss8fk28yra] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-6) var(--space-5);
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .25);
    backdrop-filter: blur(18px) saturate(180%);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .3);
    text-align: center;
    animation: card-in-b-ss8fk28yra .9s cubic-bezier(.34, 1.56, .64, 1) both;
    transform-style: preserve-3d;
}

.card-3d[b-ss8fk28yra]::before {
    content: "";
    position: absolute;
    inset: -2px;
    z-index: -1;
    border-radius: inherit;
    background: conic-gradient(from var(--angle, 0deg), #ff4ecd, #ffd43b, #51cf66, #4dabf7, #ff4ecd);
    filter: blur(14px);
    opacity: .6;
    animation: spin-border-b-ss8fk28yra 4s linear infinite;
}

@property --angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}

@keyframes spin-border-b-ss8fk28yra {
    to { --angle: 360deg; }
}

@keyframes card-in-b-ss8fk28yra {
    0% { opacity: 0; transform: rotateY(-70deg) rotateX(20deg) translateZ(-300px) scale(.6); filter: blur(12px); }
    60% { opacity: 1; filter: blur(0); }
    100% { opacity: 1; transform: none; }
}

.card-3d h1[b-ss8fk28yra] {
    margin: 0;
    font-size: clamp(1.8rem, 6vw, 2.6rem);
    line-height: 1.1;
}

.shimmer[b-ss8fk28yra] {
    background: linear-gradient(90deg, #fff 20%, #ffd43b 40%, #ff4ecd 50%, #4dabf7 60%, #fff 80%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: shimmer-b-ss8fk28yra 3s linear infinite;
}

@keyframes shimmer-b-ss8fk28yra {
    to { background-position: -250% 0; }
}

.lead[b-ss8fk28yra] {
    margin: 0;
    font-size: 1.1rem;
    opacity: .9;
}

.hero-emoji[b-ss8fk28yra] {
    font-size: 4.5rem;
    line-height: 1;
    filter: drop-shadow(0 10px 25px rgba(255, 255, 255, .35));
}

.wave[b-ss8fk28yra] { animation: wave-b-ss8fk28yra 1.8s ease-in-out infinite; transform-origin: 70% 70%; }
.ring[b-ss8fk28yra] { animation: ring-b-ss8fk28yra 1.2s ease-in-out infinite; }
.wobble[b-ss8fk28yra] { animation: wobble-b-ss8fk28yra 2.4s ease-in-out infinite; }

@keyframes wave-b-ss8fk28yra {
    0%, 60%, 100% { transform: rotate(0); }
    10%, 30% { transform: rotate(18deg); }
    20%, 40% { transform: rotate(-10deg); }
}

@keyframes ring-b-ss8fk28yra {
    0%, 100% { transform: rotate(0) scale(1); }
    10%, 30%, 50% { transform: rotate(-15deg) scale(1.1); }
    20%, 40% { transform: rotate(15deg) scale(1.1); }
    60% { transform: rotate(0) scale(1); }
}

@keyframes wobble-b-ss8fk28yra {
    0%, 100% { transform: translateY(0) rotate(0); }
    25% { transform: translateY(-12px) rotate(-8deg); }
    75% { transform: translateY(-6px) rotate(8deg); }
}

.teaser[b-ss8fk28yra] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-2);
    font-size: 1.15rem;
}

.teaser li[b-ss8fk28yra],
.chips li[b-ss8fk28yra] {
    animation: pop-in-b-ss8fk28yra .6s cubic-bezier(.34, 1.56, .64, 1) both;
    animation-delay: calc(400ms + var(--d, 0) * 120ms);
}

@keyframes pop-in-b-ss8fk28yra {
    0% { opacity: 0; transform: scale(.3) translateY(20px); }
    100% { opacity: 1; transform: none; }
}

/* Inputs */
.glow-input[b-ss8fk28yra] {
    position: relative;
    border-radius: 1rem;
    padding: 2px;
    background: linear-gradient(90deg, #ff4ecd, #ffd43b, #51cf66, #4dabf7, #ff4ecd);
    background-size: 300% 100%;
    animation: sweep-b-ss8fk28yra 3s linear infinite;
}

.glow-input.grow[b-ss8fk28yra] { flex: 1; }

.glow-input input[b-ss8fk28yra] {
    width: 100%;
    padding: .9rem 1rem;
    border: 0;
    border-radius: calc(1rem - 2px);
    background: rgba(15, 10, 35, .85);
    color: #fff;
    font-size: 1.15rem;
    text-align: center;
    transition: transform .25s, box-shadow .25s;
}

.glow-input input:focus[b-ss8fk28yra] {
    outline: none;
    transform: scale(1.03);
    box-shadow: 0 0 30px rgba(255, 78, 205, .6);
}

.field-label[b-ss8fk28yra] {
    color: rgba(255, 255, 255, .85);
}

/* Chips */
.chips[b-ss8fk28yra] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-2);
}

.chip[b-ss8fk28yra] {
    padding: .55rem 1.1rem;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), background .3s, box-shadow .3s;
}

.chip:hover[b-ss8fk28yra] { transform: translateY(-3px) scale(1.06); }

.chip.selected[b-ss8fk28yra] {
    background: linear-gradient(135deg, #ff4ecd, #ffd43b);
    border-color: transparent;
    color: #1b1037;
    box-shadow: 0 0 20px rgba(255, 78, 205, .8), 0 0 40px rgba(255, 212, 59, .5);
    animation: chip-pick-b-ss8fk28yra .5s cubic-bezier(.34, 1.56, .64, 1);
}

@keyframes chip-pick-b-ss8fk28yra {
    0% { transform: scale(1); }
    40% { transform: scale(1.35) rotate(-6deg); }
    100% { transform: scale(1); }
}

.add[b-ss8fk28yra] { align-items: stretch; }

/* Buttons */
.skip-intro[b-ss8fk28yra] {
    display: block;
    margin: var(--space-4) auto 0;
    padding: var(--space-2);
    background: none;
    border: 0;
    color: rgba(255, 255, 255, .75);
    text-decoration: underline;
    cursor: pointer;
}

.skip-intro:hover[b-ss8fk28yra],
.skip-intro:focus-visible[b-ss8fk28yra] {
    color: #fff;
}

.actions[b-ss8fk28yra] {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    flex-wrap: wrap;
}

.mega[b-ss8fk28yra] {
    position: relative;
    overflow: hidden;
    padding: .9rem 1.8rem;
    font-size: 1.15rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff4ecd, #845ef7, #4dabf7);
    background-size: 200% 200%;
    border: 0;
    color: #fff;
    box-shadow: 0 10px 30px rgba(132, 94, 247, .6);
    animation: bg-shift-b-ss8fk28yra 3s ease infinite, breathe-b-ss8fk28yra 2.4s ease-in-out infinite;
    transition: transform .2s;
}

.mega[b-ss8fk28yra]::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .6), transparent);
    transform: skewX(-20deg);
    animation: glint-b-ss8fk28yra 2.8s ease-in-out infinite;
}

.mega:hover:not(:disabled)[b-ss8fk28yra] { transform: scale(1.08) rotate(-1deg); }
.mega:active:not(:disabled)[b-ss8fk28yra] { transform: scale(.95); }

@keyframes breathe-b-ss8fk28yra {
    0%, 100% { box-shadow: 0 10px 30px rgba(132, 94, 247, .6); }
    50% { box-shadow: 0 10px 50px rgba(255, 78, 205, .9); }
}

@keyframes glint-b-ss8fk28yra {
    0%, 60% { left: -60%; }
    100% { left: 130%; }
}

.arrow[b-ss8fk28yra] {
    display: inline-block;
    animation: nudge-b-ss8fk28yra 1s ease-in-out infinite;
}

@keyframes nudge-b-ss8fk28yra {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px) rotate(10deg); }
}

.shake[b-ss8fk28yra] { animation: shake-b-ss8fk28yra .5s; }

@keyframes shake-b-ss8fk28yra {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-8px); }
    40%, 80% { transform: translateX(8px); }
}

/* Finale */
.finale[b-ss8fk28yra] {
    overflow: visible;
    animation: finale-in-b-ss8fk28yra 1.2s cubic-bezier(.34, 1.56, .64, 1) both;
}

@keyframes finale-in-b-ss8fk28yra {
    0% { opacity: 0; transform: scale(0) rotate(-540deg); }
    70% { transform: scale(1.15) rotate(10deg); }
    100% { opacity: 1; transform: none; }
}

.rays[b-ss8fk28yra] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200vmax;
    height: 200vmax;
    z-index: -2;
    transform: translate(-50%, -50%);
    background: repeating-conic-gradient(rgba(255, 255, 255, .18) 0 10deg, transparent 10deg 20deg);
    animation: rays-spin-b-ss8fk28yra 12s linear infinite;
    pointer-events: none;
    mask-image: radial-gradient(circle, #000 0, transparent 45%);
}

@keyframes rays-spin-b-ss8fk28yra {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.rings[b-ss8fk28yra] {
    position: absolute;
    top: 3.5rem;
    left: 50%;
    pointer-events: none;
}

.rings span[b-ss8fk28yra] {
    position: absolute;
    width: 6rem;
    height: 6rem;
    margin: -3rem 0 0 -3rem;
    border-radius: 50%;
    border: 4px solid #fff;
    animation: shockwave-b-ss8fk28yra 1.8s ease-out infinite;
}

.rings span:nth-child(2)[b-ss8fk28yra] { animation-delay: .6s; border-color: #ffd43b; }
.rings span:nth-child(3)[b-ss8fk28yra] { animation-delay: 1.2s; border-color: #ff4ecd; }

@keyframes shockwave-b-ss8fk28yra {
    0% { transform: scale(.2); opacity: 1; }
    100% { transform: scale(4); opacity: 0; }
}

.trophy[b-ss8fk28yra] {
    font-size: 6rem;
    line-height: 1;
    animation: trophy-bounce-b-ss8fk28yra 1s cubic-bezier(.34, 1.56, .64, 1) infinite alternate;
    filter: drop-shadow(0 0 30px #ffd43b);
}

@keyframes trophy-bounce-b-ss8fk28yra {
    0% { transform: translateY(0) scale(1) rotate(-8deg); }
    100% { transform: translateY(-20px) scale(1.15) rotate(8deg); }
}

.fireworks[b-ss8fk28yra] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.firework[b-ss8fk28yra] {
    position: absolute;
    top: calc(10% + var(--i) * 15%);
    left: calc(5% + var(--i) * 22%);
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    animation: burst-b-ss8fk28yra 1.4s ease-out infinite;
    animation-delay: calc(var(--i) * 280ms);
    box-shadow:
        0 -4rem 0 #ff4ecd, 2.8rem -2.8rem 0 #ffd43b, 4rem 0 0 #51cf66, 2.8rem 2.8rem 0 #4dabf7,
        0 4rem 0 #e599f7, -2.8rem 2.8rem 0 #ff6b6b, -4rem 0 0 #fff, -2.8rem -2.8rem 0 #ffd43b;
}

@keyframes burst-b-ss8fk28yra {
    0% { transform: scale(0); opacity: 1; }
    70% { opacity: 1; }
    100% { transform: scale(1.6); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .onboarding *[b-ss8fk28yra],
    .onboarding *[b-ss8fk28yra]::before,
    .onboarding *[b-ss8fk28yra]::after,
    .onboarding[b-ss8fk28yra] {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .floaters[b-ss8fk28yra],
    .rays[b-ss8fk28yra],
    .fireworks[b-ss8fk28yra] { display: none; }
}


/* /Features/Profile/HouseholdSection.razor.rz.scp.css */
h2[b-h53k04j00e],
h3[b-h53k04j00e],
h4[b-h53k04j00e] {
    margin: 0;
}

.plain-list[b-h53k04j00e] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.child[b-h53k04j00e] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.grow[b-h53k04j00e] {
    flex: 1 1 auto;
    min-width: 0;
}

.nowrap[b-h53k04j00e] {
    flex-wrap: nowrap;
}

.tag-row[b-h53k04j00e] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.child-form[b-h53k04j00e] {
    padding-top: var(--space-3);
    border-top: 1px solid var(--border);
}

.backdrop[b-h53k04j00e] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    background: rgb(0 0 0 / 55%);
}

.dialog[b-h53k04j00e] {
    width: min(28rem, 100%);
}
/* /Features/Profile/Profile.razor.rz.scp.css */
h2[b-2oj3647fbw] {
    margin: 0;
}

.tag-list[b-2oj3647fbw] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.allergy[b-2oj3647fbw] {
    font-size: 0.9rem;
    padding: var(--space-1) var(--space-1) var(--space-1) var(--space-3);
}

.remove[b-2oj3647fbw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-pill);
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.remove:hover:not(:disabled)[b-2oj3647fbw],
.remove:focus-visible[b-2oj3647fbw] {
    background: color-mix(in srgb, var(--accent) 25%, transparent);
}

.remove:disabled[b-2oj3647fbw] {
    opacity: 0.55;
    cursor: not-allowed;
}

.profile-sections[b-2oj3647fbw] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.add-form .row-inline[b-2oj3647fbw] {
    flex-wrap: nowrap;
}

.add-form .input[b-2oj3647fbw] {
    flex: 1 1 auto;
    min-width: 0;
}
/* /Features/ShoppingList/ExtraItemForm.razor.rz.scp.css */
.extra-form[b-rzof8h9qw5] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.extra-name[b-rzof8h9qw5] {
    flex: 1 1 12rem;
}

.extra-quantity[b-rzof8h9qw5] {
    flex: 0 1 6rem;
}

.extra-unit[b-rzof8h9qw5] {
    flex: 0 1 8rem;
}
/* /Features/ShoppingList/ShoppingListView.razor.rz.scp.css */
.progress-text[b-0p3oc963w1] {
    color: var(--text-muted);
    margin: 0 0 var(--space-4) 0;
}

.filters[b-0p3oc963w1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.filter-search[b-0p3oc963w1] {
    flex: 1 1 12rem;
}

.filter-tag[b-0p3oc963w1] {
    flex: 0 1 10rem;
}

.group[b-0p3oc963w1] {
    margin-bottom: var(--space-5);
}

.group h2[b-0p3oc963w1] {
    margin: 0 0 var(--space-2) 0;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border);
    padding-bottom: var(--space-2);
}

.items[b-0p3oc963w1] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.item[b-0p3oc963w1] {
    border-bottom: 1px solid var(--border);
}

.item label[b-0p3oc963w1] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-1);
    cursor: pointer;
    /* Comfortable touch target on phones. */
    min-height: 44px;
}

.item input[type="checkbox"][b-0p3oc963w1] {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.15rem;
    flex: none;
    accent-color: var(--accent);
}

.item-body[b-0p3oc963w1] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.item-name[b-0p3oc963w1] {
    font-weight: 600;
}

.item-amount[b-0p3oc963w1] {
    color: var(--text-muted);
}

.item-meals[b-0p3oc963w1] {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.item.is-checked .item-name[b-0p3oc963w1],
.item.is-checked .item-amount[b-0p3oc963w1] {
    text-decoration: line-through;
    opacity: 0.6;
}

.extra-item[b-0p3oc963w1] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.extra-item label[b-0p3oc963w1] {
    flex: 1;
}

.extra-form[b-0p3oc963w1] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.extra-name[b-0p3oc963w1] {
    flex: 1 1 12rem;
}

.extra-quantity[b-0p3oc963w1] {
    flex: 0 1 6rem;
}

.extra-unit[b-0p3oc963w1] {
    flex: 0 1 8rem;
}
/* /Features/Trips/BringList.razor.rz.scp.css */
.bring-card[b-8wri8ct0nf] {
    margin-bottom: var(--space-3);
}

.bring-header[b-8wri8ct0nf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.bring-list[b-8wri8ct0nf] {
    list-style: none;
    margin: 0 0 var(--space-4) 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.bring-item[b-8wri8ct0nf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2);
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    border-left: 3px solid transparent;
}

.bring-item.unassigned[b-8wri8ct0nf] {
    border-left-color: var(--accent);
}

.bring-info[b-8wri8ct0nf] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
    flex: 1 1 12rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.bring-actions[b-8wri8ct0nf] {
    flex-wrap: wrap;
}

.bring-form[b-8wri8ct0nf] {
    padding-top: var(--space-3);
    border-top: 1px solid var(--border);
}

.bring-form h3[b-8wri8ct0nf] {
    font-size: 1rem;
    margin: 0 0 var(--space-2) 0;
}

.bring-fields[b-8wri8ct0nf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    width: 100%;
}

.bring-fields .field[b-8wri8ct0nf] {
    margin-bottom: var(--space-2);
}

.bring-fields .name[b-8wri8ct0nf],
.bring-fields .free-text[b-8wri8ct0nf] {
    flex: 2 1 12rem;
}

.bring-fields .quantity[b-8wri8ct0nf] {
    flex: 0 1 5rem;
}

.bring-fields .responsible[b-8wri8ct0nf] {
    flex: 1 1 10rem;
}
/* /Features/Trips/BringSections.razor.rz.scp.css */
.bring-intro[b-hem7ws2dcz] {
    margin-bottom: var(--space-3);
}

.bring-intro h2[b-hem7ws2dcz] {
    margin: 0 0 var(--space-1) 0;
}

.bring-intro p[b-hem7ws2dcz] {
    margin: 0;
}

.shopping-heading[b-hem7ws2dcz] {
    margin-top: var(--space-6);
}

.section-actions[b-hem7ws2dcz],
.section-rename[b-hem7ws2dcz] {
    flex-wrap: wrap;
}

.section-form[b-hem7ws2dcz] {
    align-items: flex-end;
    flex-wrap: wrap;
}

.section-form .field[b-hem7ws2dcz] {
    flex: 1 1 12rem;
    margin-bottom: 0;
}

.backdrop[b-hem7ws2dcz] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3);
    background: rgb(0 0 0 / 55%);
}

.dialog[b-hem7ws2dcz] {
    width: min(28rem, 100%);
}

.dialog h2[b-hem7ws2dcz] {
    margin-top: 0;
}
/* /Features/Trips/MembersPanel.razor.rz.scp.css */
.member-list[b-9kycf1qctz] {
    list-style: none;
    margin: 0 0 var(--space-4) 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.member[b-9kycf1qctz] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2);
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
}

.member-group[b-9kycf1qctz] {
    padding: var(--space-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

.member-group.single[b-9kycf1qctz] {
    padding: 0;
    border: none;
}

.member-group .member-list[b-9kycf1qctz] {
    margin: 0;
}

.child.absent[b-9kycf1qctz] {
    opacity: 0.6;
}

.avatar[b-9kycf1qctz] {
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
}

.avatar-fallback[b-9kycf1qctz] {
    display: grid;
    place-items: center;
    background: var(--surface);
    color: var(--accent);
    font-weight: 700;
}

.member-info[b-9kycf1qctz] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
}

.allergy-tags[b-9kycf1qctz] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1, 0.25rem);
    margin: var(--space-1, 0.25rem) 0 0 0;
    padding: 0;
    list-style: none;
}

.allergy-summary[b-9kycf1qctz] {
    margin-bottom: var(--space-4);
}

.allergy-summary h3[b-9kycf1qctz] {
    font-size: 1rem;
    margin: 0 0 var(--space-2) 0;
}

.invite-form[b-9kycf1qctz] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    padding-top: var(--space-3);
    border-top: 1px solid var(--border);
}

.invite-form .field[b-9kycf1qctz] {
    flex: 1 1 14rem;
    margin-bottom: 0;
}

.status[b-9kycf1qctz] {
    margin-top: var(--space-3);
    color: var(--accent-2);
    font-size: 0.9rem;
}
/* /Features/Trips/PollCard.razor.rz.scp.css */
.poll-card[b-6beulbciam] {
    margin-bottom: var(--space-3);
}

.poll-header[b-6beulbciam] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-2);
}

.poll-header h2[b-6beulbciam] {
    margin: 0;
}

.poll-meta[b-6beulbciam] {
    margin-top: var(--space-1);
}

.poll-options[b-6beulbciam] {
    border: 0;
    margin: 0 0 var(--space-3) 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.poll-option-row[b-6beulbciam] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.poll-option-text[b-6beulbciam] {
    flex: 1 1 auto;
    margin: 0;
    font-weight: 400;
    color: var(--text);
}

.poll-option.selected .poll-option-text[b-6beulbciam] {
    font-weight: 600;
}

.poll-count[b-6beulbciam] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.poll-bar[b-6beulbciam] {
    height: 6px;
    border-radius: 3px;
    background: color-mix(in srgb, currentColor 12%, transparent);
    overflow: hidden;
    margin-top: var(--space-1);
}

.poll-bar span[b-6beulbciam] {
    display: block;
    height: 100%;
    background: var(--accent, currentColor);
}

.poll-voters[b-6beulbciam] {
    margin: var(--space-1) 0 0 0;
    font-size: 0.875rem;
}

.poll-actions[b-6beulbciam],
.poll-add-option[b-6beulbciam] {
    margin-top: var(--space-2);
}

.visually-hidden[b-6beulbciam] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
/* /Features/Trips/PollForm.razor.rz.scp.css */
.poll-form-options[b-yk2u0awt00] {
    border: 0;
    margin: 0 0 var(--space-3) 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
}

.poll-form-option[b-yk2u0awt00] {
    width: 100%;
    flex-wrap: nowrap;
}

.poll-form-option input[b-yk2u0awt00] {
    flex: 1 1 auto;
}

.poll-form-settings[b-yk2u0awt00] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.poll-check[b-yk2u0awt00] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    font-weight: 400;
    color: var(--text);
}

.poll-max-choices[b-yk2u0awt00] {
    width: 5rem;
}
/* /Features/Trips/PollsPanel.razor.rz.scp.css */
.polls-intro h2[b-xi2p4k1ewi] {
    margin-top: 0;
}

.polls-intro p[b-xi2p4k1ewi] {
    margin-bottom: 0;
}

.polls-intro[b-xi2p4k1ewi],
.poll-new[b-xi2p4k1ewi] {
    margin-bottom: var(--space-3);
}

.poll-create[b-xi2p4k1ewi] {
    margin-bottom: var(--space-3);
}
/* /Features/Trips/TripEditor.razor.rz.scp.css */
.date-row[b-zno3vps6ku] {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr;
}

.actions[b-zno3vps6ku] {
    margin-top: var(--space-4);
}

.notes-counter[b-zno3vps6ku] {
    font-size: 0.85em;
    text-align: end;
}

/* Fallback for browsers without field-sizing (e.g. older iOS Safari). */
.field[b-zno3vps6ku]  textarea#notes {
    min-height: 12rem;
    height: 50vh;
    max-height: 70vh;
}

@supports (field-sizing: content) {
    .field[b-zno3vps6ku]  textarea#notes {
        field-sizing: content;
        height: auto;
    }
}

@media (min-width: 30rem) {
    .date-row[b-zno3vps6ku] {
        grid-template-columns: 1fr 1fr;
    }
}
/* /Features/Trips/TripList.razor.rz.scp.css */
.trip-grid[b-prjpdi1gaz] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr;
}

.trip h2[b-prjpdi1gaz] {
    margin-bottom: var(--space-1);
}

.section-heading[b-prjpdi1gaz] {
    margin-top: var(--space-5);
    margin-bottom: var(--space-3);
}

.destination[b-prjpdi1gaz] {
    margin-bottom: var(--space-1);
}

.dates[b-prjpdi1gaz] {
    margin-bottom: var(--space-3);
}

@media (min-width: 40rem) {
    .trip-grid[b-prjpdi1gaz] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 64rem) {
    .trip-grid[b-prjpdi1gaz] {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* /Features/Trips/TripOverview.razor.rz.scp.css */
.overview[b-isnud21wrg] {
    margin-bottom: var(--space-4);
}

.notes[b-isnud21wrg] {
    margin-bottom: var(--space-4);
    white-space: pre-wrap;
}

.notes[b-isnud21wrg]  .formatted-heading {
    margin: var(--space-3) 0 var(--space-1);
}

.notes-content.collapsed[b-isnud21wrg] {
    max-height: 12rem;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent);
    mask-image: linear-gradient(to bottom, #000 60%, transparent);
}

.notes-toggle[b-isnud21wrg] {
    margin-top: var(--space-2);
    white-space: normal;
    gap: var(--space-2);
}

.overview-grid[b-isnud21wrg] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 48rem) {
    .overview-grid[b-isnud21wrg] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--space-4);
        align-items: start;
    }

    .overview-participants[b-isnud21wrg] {
        grid-column: 2;
        grid-row: 1;
    }
}

.trip-tabs[b-isnud21wrg] {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    border-bottom: 1px solid var(--border);
}

.trip-tab[b-isnud21wrg] {
    padding: var(--space-2) var(--space-3);
    border-bottom: 3px solid transparent;
    color: var(--text-muted);
    text-decoration: none;
    font-weight: 600;
}

.trip-tab:hover[b-isnud21wrg],
.trip-tab:focus-visible[b-isnud21wrg] {
    color: var(--text);
}

.trip-tab.active[b-isnud21wrg] {
    color: var(--text);
    border-bottom-color: var(--accent);
}
/* /Layout/MainLayout.razor.rz.scp.css */
.shell[b-ydo8b3t9xv] {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

.app-bar[b-ydo8b3t9xv] {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    height: var(--header-height);
    padding: 0 var(--space-4);
    padding-top: env(safe-area-inset-top);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}

.brand[b-ydo8b3t9xv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text);
    font-weight: 700;
    font-size: 1.1rem;
}

.brand:hover[b-ydo8b3t9xv] {
    text-decoration: none;
}

.brand-mark[b-ydo8b3t9xv] {
    font-size: 1.3rem;
}

.env-tag[b-ydo8b3t9xv] {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.app-footer[b-ydo8b3t9xv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    /* Leaves room for the fixed bottom navigation on small screens. */
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
    color: var(--text-muted);
    font-size: 0.8rem;
    border-top: 1px solid var(--border);
}

.about-link[b-ydo8b3t9xv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    white-space: nowrap;
    padding: var(--space-1) var(--space-3);
    color: var(--accent);
    font-weight: 600;
    background: transparent;
    border: 1.5px solid var(--accent);
    border-radius: 999px;
}

.about-link:hover[b-ydo8b3t9xv] {
    text-decoration: none;
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.info-icon[b-ydo8b3t9xv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1em;
    height: 1.1em;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    font-size: 0.8em;
    font-weight: 700;
    font-style: italic;
    font-family: Georgia, serif;
    line-height: 1;
}

.spacer[b-ydo8b3t9xv] {
    flex: 1 1 auto;
}

.content[b-ydo8b3t9xv] {
    flex: 1 1 auto;
    width: 100%;
    max-width: var(--content-max);
    margin: 0 auto;
    padding: var(--space-4);
}

/* User menu */

.user-menu[b-ydo8b3t9xv] {
    position: relative;
}

/* Sits outside the app bar because its backdrop-filter would confine a fixed child to the bar. */
.menu-backdrop[b-ydo8b3t9xv] {
    position: fixed;
    inset: 0;
    z-index: 19;
}

.avatar-btn[b-ydo8b3t9xv] {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    cursor: pointer;
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: 50%;
    overflow: hidden;
}

.avatar-btn img[b-ydo8b3t9xv] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-fallback[b-ydo8b3t9xv] {
    font-weight: 700;
    color: var(--accent);
}

.menu-popover[b-ydo8b3t9xv] {
    position: absolute;
    right: 0;
    top: calc(100% + var(--space-2));
    min-width: 13rem;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-3);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.menu-user[b-ydo8b3t9xv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--border);
    overflow-wrap: anywhere;
}

.menu-item[b-ydo8b3t9xv] {
    font: inherit;
    text-align: left;
    cursor: pointer;
    color: var(--text);
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    padding: var(--space-2);
    text-decoration: none;
}

.menu-item:hover[b-ydo8b3t9xv] {
    background: var(--surface-alt);
}

@media (min-width: 48rem) {
    .content[b-ydo8b3t9xv] {
        padding: var(--space-5);
    }

    .app-footer[b-ydo8b3t9xv] {
        /* The navigation floats above the content on large screens too. */
        padding-bottom: 6rem;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* Mobile first: a bottom tab bar that becomes a floating pill on larger screens. */

.tab-bar[b-t8ah2uf4to] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    display: flex;
    justify-content: space-around;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    padding-bottom: calc(var(--space-2) + env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    backdrop-filter: blur(10px);
    border-top: 1px solid var(--border);
}

.tab[b-t8ah2uf4to] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: var(--space-2);
    min-height: 2.75rem;
    color: var(--text-muted);
    border-radius: var(--radius-sm);
    font-size: 0.72rem;
    font-weight: 600;
}

.tab:hover[b-t8ah2uf4to] {
    text-decoration: none;
    color: var(--text);
}

.tab-icon[b-t8ah2uf4to] {
    font-size: 1.2rem;
    line-height: 1;
}

[b-t8ah2uf4to] .tab.active {
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

@media (min-width: 48rem) {
    .tab-bar[b-t8ah2uf4to] {
        position: fixed;
        left: 50%;
        right: auto;
        bottom: var(--space-5);
        transform: translateX(-50%);
        justify-content: center;
        gap: var(--space-1);
        padding: var(--space-2);
        border: 1px solid var(--border);
        border-radius: var(--radius-pill);
        box-shadow: var(--shadow-lg);
    }

    .tab[b-t8ah2uf4to] {
        flex: 0 0 auto;
        flex-direction: row;
        gap: var(--space-2);
        padding: var(--space-2) var(--space-4);
        border-radius: var(--radius-pill);
        font-size: 0.85rem;
    }
}
/* /Shared/AuthGuard.razor.rz.scp.css */
.auth-pending[b-3i51wscjsa] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-6);
    color: var(--text-muted);
}

.spinner[b-3i51wscjsa] {
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: spin-b-3i51wscjsa 0.8s linear infinite;
}

@keyframes spin-b-3i51wscjsa {
    to {
        transform: rotate(360deg);
    }
}
/* /Shared/AutoComplete.razor.rz.scp.css */
.autocomplete[b-065pwipjj0] {
    position: relative;
}

.suggestions[b-065pwipjj0] {
    position: absolute;
    z-index: 30;
    left: 0;
    right: 0;
    top: calc(100% + 2px);
    max-height: 14rem;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: var(--space-1);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-lg);
}

.suggestion[b-065pwipjj0] {
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.95rem;
}

.suggestion:hover[b-065pwipjj0],
.suggestion.is-active[b-065pwipjj0] {
    background: color-mix(in srgb, var(--accent) 15%, transparent);
}
/* /Shared/Confetti.razor.rz.scp.css */
.confetti[b-7z0iqu2cwn] {
    position: fixed;
    inset: 0;
    overflow: hidden;
    /* Decorative only; must never block interaction. */
    pointer-events: none;
    z-index: 100;
}

.piece[b-7z0iqu2cwn] {
    position: absolute;
    top: -12px;
    width: 9px;
    height: 14px;
    border-radius: 2px;
    opacity: 0;
    animation-name: fall-b-7z0iqu2cwn;
    animation-timing-function: cubic-bezier(0.25, 0.6, 0.4, 1);
    animation-fill-mode: forwards;
}

@keyframes fall-b-7z0iqu2cwn {
    0% {
        transform: translate3d(0, 0, 0) rotate(0deg);
        opacity: 1;
    }

    100% {
        transform: translate3d(0, 105vh, 0) rotate(var(--spin, 360deg));
        opacity: 0;
    }
}

/* Users who ask for less motion get a short, static fade instead. */
@media (prefers-reduced-motion: reduce) {
    .piece[b-7z0iqu2cwn] {
        animation-name: gentle-fade-b-7z0iqu2cwn;
        animation-duration: 600ms !important;
        animation-delay: 0ms !important;
        top: 12vh;
    }

    @keyframes gentle-fade-b-7z0iqu2cwn {
        0% {
            opacity: 0.8;
            transform: none;
        }

        100% {
            opacity: 0;
            transform: none;
        }
    }
}
/* /Shared/PullToRefresh.razor.rz.scp.css */
.ptr-indicator[b-txo57oilik] {
    position: fixed;
    top: calc(env(safe-area-inset-top) + 56px);
    left: 50%;
    z-index: 30;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: 0 2px 8px rgb(0 0 0 / 0.15);
    color: var(--text-muted);
    font-size: 1.25rem;
    opacity: 0;
    transform: translate(-50%, -48px);
    transition: transform 0.2s ease, opacity 0.2s ease;
    pointer-events: none;
}

.ptr-indicator.pulling[b-txo57oilik] {
    transition: none;
}

.ptr-indicator.ready[b-txo57oilik],
.ptr-indicator.refreshing[b-txo57oilik] {
    color: var(--accent);
}

.ptr-indicator.refreshing[b-txo57oilik] {
    animation: ptr-spin-b-txo57oilik 0.8s linear infinite;
}

@keyframes ptr-spin-b-txo57oilik {
    from { rotate: 0deg; }
    to { rotate: 360deg; }
}

.visually-hidden[b-txo57oilik] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
/* /Shared/ThemeToggle.razor.rz.scp.css */
.theme-toggle[b-7ocpbi8439] {
    display: inline-flex;
    align-self: flex-start;
    gap: 2px;
    padding: 3px;
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
}

.theme-option[b-7ocpbi8439] {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    font: inherit;
    font-size: 0.9rem;
    line-height: 1;
    cursor: pointer;
    color: var(--text-muted);
    background: transparent;
    border: none;
    border-radius: 50%;
    transition: background 0.15s ease, color 0.15s ease;
}

.theme-option:hover[b-7ocpbi8439] {
    color: var(--text);
}

.theme-option.is-active[b-7ocpbi8439] {
    background: var(--surface);
    color: var(--accent);
    box-shadow: var(--shadow);
}

.visually-hidden[b-7ocpbi8439] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
