/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-ez0fkl861g] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    background: #eef2f3;
}

.app-shell-auth[b-ez0fkl861g] {
    grid-template-columns: minmax(0, 1fr);
}

.app-shell-fullscreen[b-ez0fkl861g] {
    height: 100dvh;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
    background: #101513;
}

.app-sidebar[b-ez0fkl861g] {
    position: sticky;
    top: 0;
    height: 100vh;
    background: #202422;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.app-main[b-ez0fkl861g] {
    min-width: 0;
}

.app-content[b-ez0fkl861g] {
    min-width: 0;
    padding: 1rem;
}

.app-shell-auth .app-content[b-ez0fkl861g] {
    min-height: 100vh;
    padding: 0;
}

.app-shell-fullscreen .app-main[b-ez0fkl861g],
.app-shell-fullscreen .app-content[b-ez0fkl861g] {
    width: 100%;
    height: 100%;
    min-height: 0;
}

.app-shell-fullscreen .app-content[b-ez0fkl861g] {
    padding: 0;
}

#blazor-error-ui[b-ez0fkl861g] {
    color-scheme: light only;
    background: #fff6d6;
    bottom: 0;
    box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.18);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.75rem 3rem 0.8rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-ez0fkl861g] {
    cursor: pointer;
    position: absolute;
    right: 0.9rem;
    top: 0.65rem;
}

@media (max-width: 760px) {
    .app-shell[b-ez0fkl861g] {
        grid-template-columns: 1fr;
    }

    .app-sidebar[b-ez0fkl861g] {
        position: relative;
        height: auto;
    }

    .app-main[b-ez0fkl861g] {
        min-width: 0;
    }

    .app-content[b-ez0fkl861g] {
        padding: 0.75rem;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-brand[b-atz7y73oc3] {
    padding: 1rem;
}

.sidebar-brand a[b-atz7y73oc3] {
    display: block;
    color: #f6fbf8;
    text-decoration: none;
}

.sidebar-brand strong[b-atz7y73oc3] {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-brand strong[b-atz7y73oc3] {
    font-size: 1.32rem;
    line-height: 1.1;
}

.navbar-toggler[b-atz7y73oc3] {
    appearance: none;
    cursor: pointer;
    width: 2.6rem;
    height: 2.25rem;
    color: white;
    position: absolute;
    top: 1rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.72%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M5 8h20M5 15h20M5 22h20'/%3e%3c/svg%3e") no-repeat center/1.45rem rgba(255, 255, 255, 0.08);
}

.navbar-toggler:checked[b-atz7y73oc3] {
    background-color: rgba(255, 255, 255, 0.18);
}

.nav-scrollable[b-atz7y73oc3] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-atz7y73oc3] {
    display: block;
}

.nav-stack[b-atz7y73oc3] {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.25rem 0.75rem 1rem;
    box-sizing: border-box;
}

.nav-section[b-atz7y73oc3] {
    margin: 1rem 0 0.35rem;
    padding: 0 0.5rem;
    color: #7e8b85;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.nav-stack[b-atz7y73oc3]  .nav-link,
.nav-button[b-atz7y73oc3] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 2.55rem;
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #cbd7d1;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.15;
    text-align: left;
    text-decoration: none;
}

.nav-empty[b-atz7y73oc3] {
    display: block;
    padding: 0.35rem 0.5rem 0.45rem;
    color: #8f9c96;
    font-size: 0.82rem;
    font-weight: 700;
}

.nav-stack[b-atz7y73oc3]  .nav-link span:last-child,
.nav-button span:last-child[b-atz7y73oc3] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-stack[b-atz7y73oc3]  .map-status-dot {
    width: 0.55rem;
    height: 0.55rem;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 50%;
    background: #7e8b85;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
}

.nav-stack[b-atz7y73oc3]  .map-status-dot.is-available {
    border-color: rgba(132, 225, 188, 0.55);
    background: #2fbf71;
}

.nav-stack[b-atz7y73oc3]  .map-status-dot.is-unavailable {
    border-color: rgba(255, 164, 151, 0.62);
    background: #e5483f;
}

.nav-stack[b-atz7y73oc3]  .nav-link.active .map-status-dot {
    box-shadow: 0 0 0 2px rgba(16, 61, 45, 0.12);
}

.nav-stack[b-atz7y73oc3]  .nav-link:hover,
.nav-button:hover[b-atz7y73oc3] {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.nav-stack[b-atz7y73oc3]  .nav-link.active {
    background: #e7f7ef;
    color: #103d2d;
}

.nav-button[b-atz7y73oc3] {
    cursor: pointer;
}

.nav-version[b-atz7y73oc3] {
    margin-top: auto;
    padding: 1rem 0.5rem 0.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    color: #6f7d76;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.nav-version a[b-atz7y73oc3] {
    color: #9fb3aa;
    text-decoration: none;
}

.nav-version a[b-atz7y73oc3]::before {
    content: "·";
    margin-right: 0.45rem;
    color: #52615a;
}

.nav-version a:hover[b-atz7y73oc3] {
    color: #f6fbf8;
}

.bi[b-atz7y73oc3] {
    display: inline-block;
    flex: 0 0 auto;
    width: 1.05rem;
    height: 1.05rem;
    background-color: currentColor;
    -webkit-mask: var(--nav-icon) center / contain no-repeat;
    mask: var(--nav-icon) center / contain no-repeat;
}

.bi-house-door-fill-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-globe-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.25'/%3E%3Cpath d='M2.4 8h11.2M8 1.75c1.75 1.7 2.55 3.78 2.55 6.25S9.75 12.55 8 14.25M8 1.75C6.25 3.45 5.45 5.53 5.45 8s.8 4.55 2.55 6.25M3.55 4.1c1.28.72 2.76 1.08 4.45 1.08s3.17-.36 4.45-1.08M3.55 11.9c1.28-.72 2.76-1.08 4.45-1.08s3.17.36 4.45 1.08'/%3E%3C/svg%3E");
}

.bi-key-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Ccircle cx='5.25' cy='10.75' r='2.75'/%3E%3Cpath d='M7.2 8.8 14 2M10.6 5.4l1.45 1.45M9.1 6.9l1.45 1.45'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-atz7y73oc3] {
    --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

@media (min-width: 761px) {
    .navbar-toggler[b-atz7y73oc3] {
        display: none;
    }

    .nav-scrollable[b-atz7y73oc3] {
        display: block;
        height: calc(100vh - 4.75rem);
        overflow-y: auto;
    }
}

@media (max-width: 760px) {
    .sidebar-brand[b-atz7y73oc3] {
        padding-right: 4.4rem;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-b329k4pkq6],
.components-reconnect-repeated-attempt-visible[b-b329k4pkq6],
.components-reconnect-failed-visible[b-b329k4pkq6],
.components-pause-visible[b-b329k4pkq6],
.components-resume-failed-visible[b-b329k4pkq6],
.components-rejoining-animation[b-b329k4pkq6] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-retrying[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-failed[b-b329k4pkq6],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-b329k4pkq6] {
    display: block;
}


#components-reconnect-modal[b-b329k4pkq6] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-b329k4pkq6 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-b329k4pkq6 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-b329k4pkq6 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-b329k4pkq6]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-b329k4pkq6 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-b329k4pkq6 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-b329k4pkq6 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-b329k4pkq6 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-b329k4pkq6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-b329k4pkq6] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-b329k4pkq6] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-b329k4pkq6] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-b329k4pkq6] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-b329k4pkq6] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-b329k4pkq6] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-b329k4pkq6 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-b329k4pkq6] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-b329k4pkq6 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/AdminRecap.razor.rz.scp.css */
.recap-builder-state[b-0rvt9mdxio] {
    min-height: 60vh;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.75rem;
    color: var(--text-muted, #66736d);
    text-align: center;
}

.recap-builder-state h1[b-0rvt9mdxio],
.recap-builder-state p[b-0rvt9mdxio] {
    margin: 0;
}

.recap-builder-page[b-0rvt9mdxio] {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
}

.recap-builder-header[b-0rvt9mdxio] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.recap-builder-heading[b-0rvt9mdxio],
.recap-builder-actions[b-0rvt9mdxio],
.recap-slide-panel-header[b-0rvt9mdxio],
.recap-editor-section-header[b-0rvt9mdxio],
.recap-camera-actions[b-0rvt9mdxio] {
    display: flex;
    align-items: center;
}

.recap-builder-heading[b-0rvt9mdxio] {
    min-width: 0;
    gap: 0.75rem;
}

.recap-builder-heading > div[b-0rvt9mdxio],
.recap-slide-panel-header > div[b-0rvt9mdxio],
.recap-editor-section-header > div:first-child[b-0rvt9mdxio] {
    display: grid;
    gap: 0.1rem;
}

.recap-builder-heading span[b-0rvt9mdxio],
.recap-slide-panel-header span[b-0rvt9mdxio],
.recap-editor-section-header span[b-0rvt9mdxio] {
    color: #1e8a63;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.recap-builder-heading h1[b-0rvt9mdxio] {
    max-width: min(50vw, 560px);
    margin: 0;
    overflow: hidden;
    color: #1f2a25;
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-builder-back[b-0rvt9mdxio] {
    width: 2.45rem;
    height: 2.45rem;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid #d7e0dc;
    border-radius: 9px;
    color: #52615a;
    background: #fff;
    text-decoration: none;
}

.recap-builder-back:hover[b-0rvt9mdxio] {
    border-color: #1e8a63;
    color: #176d50;
    background: #eff8f3;
}

.recap-builder-back[b-0rvt9mdxio]  .action-icon {
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.recap-builder-actions[b-0rvt9mdxio] {
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.recap-builder-actions > .recap-open-link[b-0rvt9mdxio],
.recap-builder-actions > .recap-settings-button[b-0rvt9mdxio],
.recap-builder-actions > .recap-publish-control[b-0rvt9mdxio],
.recap-builder-actions > .recap-action-tooltip-anchor[b-0rvt9mdxio] {
    height: 2.45rem;
    flex: 0 0 auto;
}

.recap-open-link[b-0rvt9mdxio] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-decoration: none;
}

.recap-builder-meta[b-0rvt9mdxio] {
    min-height: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    color: #718079;
    font-size: 0.72rem;
    font-weight: 700;
}

.recap-builder-meta span + span[b-0rvt9mdxio]::before {
    margin-right: 0.85rem;
    color: #bdc7c2;
    content: "·";
}

.recap-builder-meta strong[b-0rvt9mdxio] {
    margin-left: auto;
    font-size: 0.75rem;
}

.recap-builder-meta .is-success[b-0rvt9mdxio] {
    color: #1e8a63;
}

.recap-builder-meta .is-error[b-0rvt9mdxio] {
    color: #b44747;
}

.recap-builder-shell[b-0rvt9mdxio] {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
}

.recap-slug-input[b-0rvt9mdxio] {
    display: flex;
    align-items: stretch;
}

.recap-slug-input > span[b-0rvt9mdxio] {
    display: flex;
    align-items: center;
    padding: 0 0.65rem;
    border: 1px solid #ced8d3;
    border-right: 0;
    border-radius: 0.375rem 0 0 0.375rem;
    color: #66736d;
    background: #f3f7f5;
    font-size: 0.76rem;
    font-weight: 800;
}

.recap-slug-input .form-control[b-0rvt9mdxio] {
    border-radius: 0 0.375rem 0.375rem 0;
}

.recap-slug-input.has-suffix .form-control[b-0rvt9mdxio] {
    border-radius: 0;
}

.recap-slug-input > .recap-slug-suffix[b-0rvt9mdxio] {
    border-right: 1px solid #ced8d3;
    border-left: 0;
    border-radius: 0 0.375rem 0.375rem 0;
    white-space: nowrap;
}

.recap-settings-help[b-0rvt9mdxio] {
    margin: 0;
    color: #718079;
    font-size: 0.7rem;
    line-height: 1.45;
}

.recap-settings-button[b-0rvt9mdxio] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.recap-settings-button[b-0rvt9mdxio]  .action-icon,
.recap-publish-level-button[b-0rvt9mdxio]  .action-icon,
.recap-open-link[b-0rvt9mdxio]  .action-icon {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.recap-publish-control[b-0rvt9mdxio] {
    position: relative;
    display: block;
}

.recap-publish-level-button[b-0rvt9mdxio] {
    min-width: 9.5rem;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.recap-publish-level-button span[b-0rvt9mdxio] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-save-button[b-0rvt9mdxio] {
    min-width: 4.9rem;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.recap-action-tooltip-anchor[b-0rvt9mdxio] {
    position: relative;
    min-width: 0;
    margin: 0;
}

.recap-action-tooltip-anchor > .btn[b-0rvt9mdxio] {
    height: 100%;
}

.recap-action-tooltip-anchor > .recap-action-tooltip[b-0rvt9mdxio] {
    position: absolute;
    top: calc(100% + 0.48rem);
    bottom: auto;
    left: 50%;
    right: auto;
    width: max-content;
    max-width: min(12rem, calc(100vw - 1.5rem));
    z-index: 1060;
    transform: translate(-50%, -0.25rem);
}

.recap-action-tooltip-anchor > .recap-action-tooltip[b-0rvt9mdxio]::after {
    top: auto;
    bottom: 100%;
    transform: translate(-50%, 50%) rotate(45deg);
}

.recap-action-tooltip-anchor:hover > .recap-action-tooltip[b-0rvt9mdxio],
.recap-action-tooltip-anchor:focus-within > .recap-action-tooltip[b-0rvt9mdxio] {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.recap-save-button.is-dirty[b-0rvt9mdxio] {
    border-color: #f59f00;
    color: #fff;
    background: #f59f00;
    box-shadow: 0 0 0 0.18rem rgba(245, 159, 0, 0.2);
}

.recap-save-button.is-dirty:hover:not(:disabled)[b-0rvt9mdxio],
.recap-save-button.is-dirty:focus-visible[b-0rvt9mdxio] {
    border-color: #e67700;
    color: #fff;
    background: #e67700;
}

.recap-publish-dismiss-layer[b-0rvt9mdxio] {
    position: fixed;
    z-index: 1020;
    inset: 0;
}

.recap-publish-menu[b-0rvt9mdxio] {
    position: absolute;
    z-index: 1030;
    top: calc(100% + 0.45rem);
    right: 0;
    width: min(22rem, calc(100vw - 2rem));
    display: grid;
    gap: 0.25rem;
    padding: 0.4rem;
    border: 1px solid #d7e0dc;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 44px rgba(31, 42, 37, 0.18);
}

.recap-publish-option[b-0rvt9mdxio] {
    display: grid;
    grid-template-columns: 0.8rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 0.7rem;
    border: 0;
    border-radius: 8px;
    color: #52615a;
    background: transparent;
    text-align: left;
}

.recap-publish-option:hover[b-0rvt9mdxio],
.recap-publish-option.is-selected[b-0rvt9mdxio] {
    color: #176d50;
    background: #eff8f3;
}

.recap-publish-option-mark[b-0rvt9mdxio] {
    width: 0.72rem;
    height: 0.72rem;
    border: 2px solid #b9c5bf;
    border-radius: 50%;
}

.recap-publish-option.is-selected .recap-publish-option-mark[b-0rvt9mdxio] {
    border-color: #1e8a63;
    background: #1e8a63;
    box-shadow: inset 0 0 0 2px #fff;
}

.recap-publish-option > span:last-child[b-0rvt9mdxio] {
    min-width: 0;
    display: grid;
    gap: 0.08rem;
}

.recap-publish-option strong[b-0rvt9mdxio] {
    color: #28362f;
    font-size: 0.78rem;
    font-weight: 850;
}

.recap-publish-option small[b-0rvt9mdxio] {
    color: #718079;
    font-size: 0.68rem;
}

.recap-settings-modal[b-0rvt9mdxio] {
    width: min(calc(100% - 2rem), 620px);
    max-height: min(calc(100vh - 2rem), 680px);
    padding: 0;
    gap: 0;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.recap-settings-titlebar[b-0rvt9mdxio] {
    margin: 0;
    padding: 0.95rem 1rem;
    border-bottom: 1px solid #e1e8e5;
    background: #f8faf9;
}

.recap-settings-modal-body[b-0rvt9mdxio] {
    min-height: 0;
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    overflow-y: auto;
}

.recap-settings-field[b-0rvt9mdxio] {
    display: grid;
    gap: 0.35rem;
}

.recap-settings-field > span[b-0rvt9mdxio] {
    color: #52615a;
    font-size: 0.7rem;
    font-weight: 800;
}

.recap-settings-error[b-0rvt9mdxio] {
    margin: 0;
}

.recap-settings-modal-actions[b-0rvt9mdxio] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.8rem 1rem;
    border-top: 1px solid #e1e8e5;
    background: #f8faf9;
}

.recap-builder-empty-recap[b-0rvt9mdxio] {
    min-height: 56vh;
}

.recap-slide-panel[b-0rvt9mdxio],
.recap-editor-section[b-0rvt9mdxio],
.recap-builder-preview[b-0rvt9mdxio],
.recap-builder-empty[b-0rvt9mdxio] {
    border: 1px solid #d7e0dc;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 30px rgba(36, 49, 44, 0.08);
}

.recap-slide-panel[b-0rvt9mdxio] {
    position: sticky;
    top: 0.75rem;
    display: grid;
    grid-template-rows: auto minmax(240px, calc(100vh - 280px)) auto;
    overflow: hidden;
}

.recap-slide-panel-header[b-0rvt9mdxio],
.recap-slide-panel-actions[b-0rvt9mdxio],
.recap-editor-section-header[b-0rvt9mdxio] {
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.85rem;
}

.recap-slide-panel-header[b-0rvt9mdxio] {
    border-bottom: 1px solid #e2e8e5;
}

.recap-slide-panel-header strong[b-0rvt9mdxio],
.recap-editor-section-header strong[b-0rvt9mdxio] {
    color: #28362f;
    font-size: 0.9rem;
    font-weight: 850;
}

.recap-slide-list[b-0rvt9mdxio] {
    display: grid;
    align-content: start;
    gap: 0.4rem;
    padding: 0.55rem;
    overflow-y: auto;
}

.recap-slide-empty[b-0rvt9mdxio] {
    display: grid;
    gap: 0.2rem;
    padding: 1.5rem 0.8rem;
    color: #718079;
    font-size: 0.78rem;
    text-align: center;
}

.recap-slide-item[b-0rvt9mdxio] {
    width: 100%;
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    align-items: center;
    gap: 0.55rem;
    padding: 0.62rem;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #52615a;
    background: transparent;
    text-align: left;
}

.recap-slide-item:hover[b-0rvt9mdxio] {
    background: #f3f7f5;
}

.recap-slide-item.is-selected[b-0rvt9mdxio] {
    border-color: rgba(30, 138, 99, 0.3);
    color: #176d50;
    background: #eff8f3;
}

.recap-slide-item > span:first-child[b-0rvt9mdxio] {
    width: 1.8rem;
    height: 1.8rem;
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: #fff;
    background: #1e8a63;
    font-size: 0.72rem;
    font-weight: 900;
}

.recap-slide-item-copy[b-0rvt9mdxio] {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

.recap-slide-item-copy small[b-0rvt9mdxio],
.recap-slide-item-copy strong[b-0rvt9mdxio] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-slide-item-copy small[b-0rvt9mdxio] {
    color: #87938e;
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.recap-slide-item-copy strong[b-0rvt9mdxio] {
    color: #2b3832;
    font-size: 0.78rem;
    font-weight: 800;
}

.recap-slide-panel-actions[b-0rvt9mdxio] {
    position: relative;
    display: grid;
    grid-template-columns: 2.25rem 2.25rem minmax(0, 1fr) 2.25rem 2.25rem;
    gap: 0.35rem;
    border-top: 1px solid #e2e8e5;
}

.recap-slide-panel-actions > .icon-button:nth-of-type(3)[b-0rvt9mdxio] {
    grid-column: 4;
}

.recap-slide-panel-actions > .icon-button:nth-of-type(4)[b-0rvt9mdxio] {
    grid-column: 5;
}

.recap-slide-panel-actions .icon-button[b-0rvt9mdxio] {
    width: 2.25rem;
    height: 2.25rem;
}

.recap-slide-panel-actions .icon-button:first-child[b-0rvt9mdxio]  .action-icon,
.recap-slide-panel-actions .icon-button:nth-child(2)[b-0rvt9mdxio]  .action-icon {
    transform: rotate(90deg);
}

.recap-slide-delete-popover[b-0rvt9mdxio] {
    position: absolute;
    z-index: 20;
    right: 0.55rem;
    bottom: calc(100% + 0.5rem);
    width: min(15rem, calc(100vw - 2rem));
    display: grid;
    gap: 0.3rem;
    padding: 0.7rem;
    border: 1px solid #d7e0dc;
    border-radius: 9px;
    color: #52615a;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 34px rgba(31, 42, 37, 0.18);
}

.recap-slide-delete-popover[b-0rvt9mdxio]::after {
    position: absolute;
    top: 100%;
    right: 0.85rem;
    width: 0.6rem;
    height: 0.6rem;
    border-right: 1px solid #d7e0dc;
    border-bottom: 1px solid #d7e0dc;
    background: #fff;
    content: "";
    transform: translateY(-50%) rotate(45deg);
}

.recap-slide-delete-popover > span[b-0rvt9mdxio] {
    color: #b44747;
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.recap-slide-delete-popover > strong[b-0rvt9mdxio] {
    overflow: hidden;
    color: #28362f;
    font-size: 0.78rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-slide-delete-popover > div[b-0rvt9mdxio] {
    display: flex;
    justify-content: flex-end;
    gap: 0.4rem;
    margin-top: 0.25rem;
}

.recap-builder-workspace[b-0rvt9mdxio] {
    min-width: 0;
    display: grid;
    gap: 0.9rem;
}

.recap-builder-empty[b-0rvt9mdxio] {
    min-height: 420px;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.45rem;
    color: #718079;
    text-align: center;
}

.recap-builder-empty strong[b-0rvt9mdxio] {
    color: #28362f;
    font-size: 1rem;
}

.recap-builder-empty .btn[b-0rvt9mdxio] {
    margin-top: 0.5rem;
}

.recap-builder-preview[b-0rvt9mdxio] {
    position: relative;
    height: min(54vh, 560px);
    min-height: 390px;
    overflow: hidden;
    background: #132019;
}

.recap-builder-map-frame[b-0rvt9mdxio] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #132019;
}

.recap-builder-vignette[b-0rvt9mdxio] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at center, transparent 42%, rgba(7, 13, 11, 0.1) 64%, rgba(7, 13, 11, 0.46) 100%),
        linear-gradient(180deg, rgba(13, 20, 17, 0.3), transparent 42%),
        linear-gradient(0deg, rgba(13, 20, 17, 0.42), transparent 58%);
}

.recap-builder-preview-brand[b-0rvt9mdxio] {
    position: absolute;
    top: 0.85rem;
    left: 50%;
    display: grid;
    justify-items: center;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.92), 0 3px 16px rgba(0, 0, 0, 0.68);
    transform: translateX(-50%);
    pointer-events: none;
}

.recap-builder-preview-brand[b-0rvt9mdxio]::before {
    position: absolute;
    z-index: -1;
    inset: -0.7rem -2.5rem -0.9rem;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(7, 13, 11, 0.7), rgba(7, 13, 11, 0.22) 58%, transparent 78%);
    content: "";
    filter: blur(8px);
}

.recap-builder-preview-brand strong[b-0rvt9mdxio] {
    font-size: 0.85rem;
    font-weight: 950;
}

.recap-builder-preview-brand strong span[b-0rvt9mdxio] {
    margin-left: 0.2rem;
    color: #86f4bd;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.recap-builder-preview-brand small[b-0rvt9mdxio] {
    color: rgba(247, 251, 249, 0.86);
    font-size: 0.58rem;
    font-weight: 800;
}

.recap-builder-preview-card[b-0rvt9mdxio] {
    position: absolute;
    left: 50%;
    bottom: 2.85rem;
    width: min(calc(100% - 2rem), 600px);
    min-height: 170px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.05rem 1.2rem;
    border: 1px solid rgba(215, 224, 220, 0.96);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(30, 138, 99, 0.045), transparent 46%), rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 34px rgba(31, 42, 37, 0.18);
    backdrop-filter: blur(20px) saturate(1.08);
    transform: translateX(-50%);
    pointer-events: none;
}

.recap-builder-preview-card small[b-0rvt9mdxio] {
    color: #1e8a63;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.recap-builder-preview-card > strong[b-0rvt9mdxio] {
    max-width: 100%;
    margin-top: 0.1rem;
    overflow: hidden;
    color: #1f2a25;
    font-size: clamp(2rem, 5vw, 3.6rem);
    font-weight: 950;
    letter-spacing: -0.065em;
    line-height: 0.98;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-builder-preview-card h2[b-0rvt9mdxio] {
    margin: 0.2rem 0 0;
    color: #1f2a25;
    font-size: clamp(1rem, 2.4vw, 1.3rem);
    font-weight: 900;
    letter-spacing: -0.025em;
}

.recap-builder-preview-card p[b-0rvt9mdxio] {
    max-width: 520px;
    margin: 0.4rem 0 0;
    color: #66736d;
    font-size: 0.78rem;
    font-weight: 560;
    line-height: 1.45;
}

.recap-builder-player-prompt[b-0rvt9mdxio] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(9rem, auto);
    gap: 0.45rem;
    width: 100%;
    margin-top: 0.65rem;
}

.recap-builder-player-prompt input[b-0rvt9mdxio],
.recap-builder-player-prompt button[b-0rvt9mdxio] {
    min-height: 2.25rem;
    box-sizing: border-box;
    border-radius: 7px;
    font: inherit;
}

.recap-builder-player-prompt input[b-0rvt9mdxio] {
    min-width: 0;
    padding: 0.45rem 0.65rem;
    border: 1px solid #ccd8d2;
    color: #718079;
    background: #fff;
}

.recap-builder-player-prompt button[b-0rvt9mdxio] {
    padding: 0.45rem 0.75rem;
    border: 1px solid #cad4cf;
    color: #93a099;
    background: #edf1ef;
    font-size: 0.68rem;
    font-weight: 850;
}

.recap-builder-preview-card.is-player-recap-welcome[b-0rvt9mdxio] {
    min-height: 190px;
}

.recap-builder-preview-count[b-0rvt9mdxio] {
    position: absolute;
    left: 50%;
    bottom: 0.65rem;
    min-width: 8rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid rgba(215, 224, 220, 0.96);
    border-radius: 8px;
    color: #607069;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 28px rgba(36, 49, 44, 0.12);
    font-size: 0.7rem;
    font-weight: 850;
    text-align: center;
    transform: translateX(-50%);
    pointer-events: none;
}

.recap-builder-editor-grid[b-0rvt9mdxio] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 0.9rem;
    align-items: start;
}

.recap-editor-section[b-0rvt9mdxio] {
    overflow: hidden;
}

.recap-editor-section-header[b-0rvt9mdxio] {
    border-bottom: 1px solid #e2e8e5;
}

.recap-content-header-actions[b-0rvt9mdxio] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.recap-slide-type-select[b-0rvt9mdxio],
.recap-token-catalog-button[b-0rvt9mdxio] {
    height: 2rem;
    min-height: 2rem;
    box-sizing: border-box;
}

.recap-slide-type-select[b-0rvt9mdxio] {
    width: auto;
    min-width: 11.75rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    border-radius: 8px;
    color: #52615a;
    background-color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.recap-token-table th[b-0rvt9mdxio] {
    color: #738079;
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.recap-token-catalog-button[b-0rvt9mdxio] {
    flex: 0 0 2rem;
    width: 2rem;
}

.recap-token-table-wrap[b-0rvt9mdxio] {
    overflow: auto;
}

.recap-token-modal[b-0rvt9mdxio] {
    width: min(calc(100% - 2rem), 760px);
    max-height: min(calc(100vh - 2rem), 760px);
    padding: 0;
    gap: 0;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.recap-token-modal-titlebar[b-0rvt9mdxio] {
    margin: 0;
    padding: 0.95rem 1rem;
    border-bottom: 1px solid #e1e8e5;
    background: #f8faf9;
}

.recap-token-modal-body[b-0rvt9mdxio] {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0.75rem;
    padding: 1rem;
    overflow: hidden;
}

.recap-token-modal-body > p[b-0rvt9mdxio] {
    margin: 0;
    color: #66736d;
    font-size: 0.75rem;
}

.recap-token-modal .recap-token-table-wrap[b-0rvt9mdxio] {
    min-height: 0;
    border: 1px solid #d8e9e1;
    border-radius: 9px;
    background: #f8fbfa;
}

.recap-token-modal-actions[b-0rvt9mdxio] {
    display: flex;
    justify-content: flex-end;
    padding: 0.8rem 1rem;
    border-top: 1px solid #e1e8e5;
    background: #f8faf9;
}

.recap-publish-progress-backdrop[b-0rvt9mdxio] {
    cursor: progress;
}

.recap-publish-progress-modal[b-0rvt9mdxio] {
    width: min(calc(100% - 2rem), 440px);
    gap: 1rem;
    padding: 1.15rem;
}

.recap-publish-progress-heading[b-0rvt9mdxio] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.recap-publish-progress-heading > div[b-0rvt9mdxio] {
    min-width: 0;
}

.recap-publish-progress-heading span:not(.recap-publish-progress-icon)[b-0rvt9mdxio] {
    display: block;
    color: #16845f;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.recap-publish-progress-heading h2[b-0rvt9mdxio] {
    margin: 0.12rem 0 0;
    color: #202a25;
    font-size: 1rem;
    font-weight: 850;
}

.recap-publish-progress-icon[b-0rvt9mdxio] {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid #b8ddcd;
    border-radius: 9px;
    color: #16845f;
    background: #edf8f3;
}

.recap-publish-progress-icon[b-0rvt9mdxio]  svg {
    width: 1.15rem;
    height: 1.15rem;
}

.recap-publish-progress-status[b-0rvt9mdxio] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: #52615a;
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.recap-publish-progress-status strong[b-0rvt9mdxio] {
    min-width: 0;
    overflow: hidden;
    color: #34423b;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-publish-progress-status > span[b-0rvt9mdxio] {
    flex: 0 0 auto;
    font-weight: 850;
}

.recap-publish-progress-bar[b-0rvt9mdxio] {
    height: 0.55rem;
    overflow: hidden;
    border: 1px solid #cfe0d9;
    border-radius: 999px;
    background: #e8efec;
}

.recap-publish-progress-bar span[b-0rvt9mdxio] {
    display: block;
    min-width: 0.2rem;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1b8c66, #39ad82);
    box-shadow: 0 0 12px rgba(27, 140, 102, 0.28);
    transition: width 180ms ease;
}

.recap-publish-progress-modal > p[b-0rvt9mdxio] {
    margin: 0;
    color: #718078;
    font-size: 0.68rem;
    line-height: 1.4;
}

.recap-token-table[b-0rvt9mdxio] {
    width: 100%;
    border-collapse: collapse;
}

.recap-token-table th[b-0rvt9mdxio],
.recap-token-table td[b-0rvt9mdxio] {
    padding: 0.5rem 0.75rem;
    border-top: 1px solid #d8e9e1;
    text-align: left;
    vertical-align: top;
}

.recap-token-table th:first-child[b-0rvt9mdxio],
.recap-token-table td:first-child[b-0rvt9mdxio] {
    width: 9.5rem;
}

.recap-token-table code[b-0rvt9mdxio] {
    display: inline-block;
    padding: 0.18rem 0.4rem;
    border-radius: 5px;
    color: #176d50;
    background: #dff1e9;
    font-size: 0.72rem;
    font-weight: 850;
}

.recap-token-table td strong[b-0rvt9mdxio] {
    display: block;
    color: #34423b;
    font-size: 0.7rem;
    font-weight: 800;
}

.recap-token-table td small[b-0rvt9mdxio] {
    display: block;
    margin-top: 0.1rem;
    color: #66736d;
    font-size: 0.64rem;
    line-height: 1.35;
}

.recap-camera-actions[b-0rvt9mdxio] {
    gap: 0.4rem;
}

.recap-editor-fields[b-0rvt9mdxio] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    padding: 0.85rem;
}

.recap-editor-fields.is-camera[b-0rvt9mdxio] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.recap-editor-fields label[b-0rvt9mdxio] {
    min-width: 0;
    display: grid;
    gap: 0.3rem;
}

.recap-editor-fields label > span[b-0rvt9mdxio] {
    color: #52615a;
    font-size: 0.68rem;
    font-weight: 800;
}

.recap-editor-fields .is-wide[b-0rvt9mdxio] {
    grid-column: 1 / -1;
}

.recap-editor-fields textarea[b-0rvt9mdxio] {
    resize: vertical;
}

@media (max-width: 1100px) {
    .recap-builder-shell[b-0rvt9mdxio] {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .recap-builder-editor-grid[b-0rvt9mdxio] {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {
    .recap-builder-header[b-0rvt9mdxio] {
        align-items: flex-start;
        flex-direction: column;
    }

    .recap-builder-actions[b-0rvt9mdxio] {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .recap-builder-meta[b-0rvt9mdxio] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }

    .recap-builder-meta span + span[b-0rvt9mdxio]::before {
        display: none;
    }

    .recap-builder-meta strong[b-0rvt9mdxio] {
        margin-left: 0;
    }

    .recap-builder-shell[b-0rvt9mdxio] {
        grid-template-columns: 1fr;
    }

    .recap-slide-panel[b-0rvt9mdxio] {
        position: static;
        grid-template-rows: auto minmax(0, 260px) auto;
    }

    .recap-builder-preview[b-0rvt9mdxio] {
        height: 470px;
        min-height: 0;
    }

    .recap-builder-preview-card[b-0rvt9mdxio] {
        width: calc(100% - 1rem);
    }
}

@media (max-width: 520px) {
    .recap-builder-actions .btn[b-0rvt9mdxio] {
        flex: 1 1 auto;
    }

    .recap-builder-heading h1[b-0rvt9mdxio] {
        max-width: 70vw;
    }

    .recap-editor-fields[b-0rvt9mdxio],
    .recap-editor-fields.is-camera[b-0rvt9mdxio] {
        grid-template-columns: 1fr 1fr;
    }

    .recap-builder-preview[b-0rvt9mdxio] {
        height: 420px;
    }

    .recap-builder-preview-card[b-0rvt9mdxio] {
        bottom: 2.7rem;
        min-height: 160px;
        padding: 0.9rem;
    }

    .recap-content-header-actions[b-0rvt9mdxio] {
        flex: 1 1 auto;
        justify-content: flex-end;
    }

    .recap-slide-type-select[b-0rvt9mdxio] {
        min-width: 0;
        width: min(11.75rem, 100%);
    }

    .recap-builder-player-prompt[b-0rvt9mdxio] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Recap.razor.rz.scp.css */
.recap-page[b-oi85ka8z17] {
    position: relative;
    width: 100%;
    height: 100dvh;
    min-height: 540px;
    overflow: hidden;
    isolation: isolate;
    background: #eef2f3;
    color: #1f2a25;
}

.recap-map-frame[b-oi85ka8z17] {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #dfe6e2;
    pointer-events: none;
    user-select: none;
}

.recap-map-offline[b-oi85ka8z17] {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.3rem;
    background:
        radial-gradient(circle at 50% 44%, rgba(30, 138, 99, 0.1), transparent 24rem),
        repeating-linear-gradient(135deg, rgba(31, 42, 37, 0.025) 0 1px, transparent 1px 18px),
        #eef2f3;
    color: #66736d;
}

.recap-map-offline span[b-oi85ka8z17] {
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.recap-map-offline strong[b-oi85ka8z17] {
    color: #1f2a25;
    font-size: clamp(1.4rem, 4vw, 2.3rem);
    font-weight: 900;
}

.recap-map-wash[b-oi85ka8z17] {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto;
    touch-action: none;
    user-select: none;
    background:
        radial-gradient(ellipse at center, transparent 42%, rgba(7, 13, 11, 0.1) 64%, rgba(7, 13, 11, 0.46) 100%),
        linear-gradient(180deg, rgba(13, 20, 17, 0.3) 0%, rgba(13, 20, 17, 0.06) 20%, rgba(13, 20, 17, 0) 44%),
        linear-gradient(0deg, rgba(13, 20, 17, 0.42) 0%, rgba(13, 20, 17, 0.14) 30%, rgba(13, 20, 17, 0) 60%),
        radial-gradient(circle at 50% 110%, rgba(13, 20, 17, 0.1), transparent 46%);
}

.recap-toolbar[b-oi85ka8z17] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.1rem 1.25rem;
    pointer-events: none;
}

.recap-brand[b-oi85ka8z17] {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.12rem;
    color: #ffffff;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.92),
        0 3px 16px rgba(0, 0, 0, 0.68);
}

.recap-brand[b-oi85ka8z17]::before {
    position: absolute;
    z-index: -1;
    inset: -1rem -3.5rem -1.25rem;
    border-radius: 50%;
    background: radial-gradient(
        ellipse at center,
        rgba(7, 13, 11, 0.72) 0%,
        rgba(7, 13, 11, 0.5) 32%,
        rgba(7, 13, 11, 0.2) 58%,
        transparent 78%);
    content: "";
    filter: blur(10px);
    pointer-events: none;
}

.recap-brand-title[b-oi85ka8z17] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.45rem;
}

.recap-brand-title strong[b-oi85ka8z17] {
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: -0.025em;
}

.recap-brand-title > span[b-oi85ka8z17] {
    color: #86f4bd;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.recap-brand-map[b-oi85ka8z17] {
    display: block;
    max-width: min(70vw, 320px);
    overflow: hidden;
    color: rgba(247, 251, 249, 0.86);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recap-story[b-oi85ka8z17] {
    position: absolute;
    left: 50%;
    bottom: max(1.25rem, env(safe-area-inset-bottom));
    z-index: 3;
    width: min(calc(100% - 2rem), 660px);
    transform: translateX(-50%);
}

.recap-progress[b-oi85ka8z17] {
    display: flex;
    gap: 0.28rem;
    margin: 0.65rem 0 0;
    padding: 0.34rem 0.45rem;
    border: 1px solid rgba(215, 224, 220, 0.96);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 28px rgba(36, 49, 44, 0.12);
    backdrop-filter: blur(16px) saturate(1.08);
}

.recap-progress button[b-oi85ka8z17] {
    position: relative;
    flex: 1 1 0;
    height: 0.72rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    outline-offset: 3px;
    background: transparent;
    cursor: pointer;
}

.recap-progress button span[b-oi85ka8z17] {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 0.22rem;
    border-radius: inherit;
    background: #d7e0dc;
    transform: translateY(-50%);
    transition: height 150ms ease, background 150ms ease;
}

.recap-progress button:hover span[b-oi85ka8z17],
.recap-progress button:focus-visible span[b-oi85ka8z17] {
    height: 0.34rem;
    background: #6f7b76;
}

.recap-progress button.is-complete span[b-oi85ka8z17] {
    background: #9fcfba;
}

.recap-progress button.is-active span[b-oi85ka8z17] {
    height: 0.34rem;
    background: #1e8a63;
    box-shadow: 0 0 0 0.16rem rgba(30, 138, 99, 0.16);
}

.recap-card[b-oi85ka8z17] {
    position: relative;
    min-height: 190px;
    display: flex;
    flex-direction: column;
    padding: 1.25rem 1.35rem 1.15rem;
    overflow: hidden;
    border: 1px solid rgba(215, 224, 220, 0.96);
    border-radius: 10px;
    background:
        linear-gradient(135deg, rgba(30, 138, 99, 0.045), transparent 46%),
        rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 34px rgba(31, 42, 37, 0.18);
    backdrop-filter: blur(20px) saturate(1.08);
    will-change: opacity, transform;
}

.recap-card.is-entering-forward[b-oi85ka8z17] {
    animation: recap-card-enter-forward-b-oi85ka8z17 260ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.recap-card.is-entering-backward[b-oi85ka8z17] {
    animation: recap-card-enter-backward-b-oi85ka8z17 260ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.recap-card.is-exiting-forward[b-oi85ka8z17] {
    animation: recap-card-exit-forward-b-oi85ka8z17 150ms ease-in forwards;
}

.recap-card.is-exiting-backward[b-oi85ka8z17] {
    animation: recap-card-exit-backward-b-oi85ka8z17 150ms ease-in forwards;
}

.recap-card[b-oi85ka8z17]::after {
    display: none;
}

.recap-card-topline[b-oi85ka8z17] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 0.5rem;
}

.recap-card-kicker[b-oi85ka8z17] {
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.recap-card-kicker[b-oi85ka8z17] {
    color: #1e8a63;
}

.recap-card-primary[b-oi85ka8z17] {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 100%;
    margin: 0.05rem 0 0.08rem;
    padding-bottom: 0.12em;
    overflow: hidden;
    color: #1f2a25;
    font-size: clamp(2.35rem, 7vw, 4.15rem);
    font-weight: 950;
    letter-spacing: -0.065em;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-shadow: none;
    white-space: nowrap;
}

.recap-card h1[b-oi85ka8z17] {
    position: relative;
    z-index: 1;
    margin: 0.18rem 0 0;
    color: #1f2a25;
    font-size: clamp(1.1rem, 3vw, 1.45rem);
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.recap-card > p[b-oi85ka8z17] {
    position: relative;
    z-index: 1;
    max-width: 560px;
    margin: 0.48rem 0 0;
    color: #66736d;
    font-size: 0.85rem;
    font-weight: 560;
    line-height: 1.48;
}

.recap-card.is-player-recap-welcome[b-oi85ka8z17] {
    min-height: 210px;
}

.recap-player-prompt[b-oi85ka8z17] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10rem, auto);
    align-items: start;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.75rem;
}

.recap-player-prompt label[b-oi85ka8z17] {
    min-width: 0;
}

.recap-player-prompt label > span[b-oi85ka8z17] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.recap-player-prompt input[b-oi85ka8z17],
.recap-player-prompt button[b-oi85ka8z17] {
    min-height: 2.55rem;
    box-sizing: border-box;
    border-radius: 7px;
    font: inherit;
}

.recap-player-prompt input[b-oi85ka8z17] {
    width: 100%;
    padding: 0.55rem 0.72rem;
    border: 1px solid #ccd8d2;
    color: #1f2a25;
    background: #fff;
    outline: none;
}

.recap-player-prompt input:focus[b-oi85ka8z17] {
    border-color: #1e8a63;
    box-shadow: 0 0 0 3px rgba(30, 138, 99, 0.12);
}

.recap-player-prompt input[aria-invalid="true"][b-oi85ka8z17] {
    border-color: #c95858;
    box-shadow: 0 0 0 3px rgba(201, 88, 88, 0.1);
}

.recap-player-prompt button[b-oi85ka8z17] {
    padding: 0.55rem 0.9rem;
    border: 1px solid #1e8a63;
    color: #fff;
    background: #1e8a63;
    font-size: 0.72rem;
    font-weight: 850;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.recap-player-prompt button:hover:not(:disabled)[b-oi85ka8z17],
.recap-player-prompt button:focus-visible:not(:disabled)[b-oi85ka8z17] {
    border-color: #176d50;
    background: #176d50;
    transform: translateY(-1px);
}

.recap-player-prompt button:disabled[b-oi85ka8z17] {
    border-color: #ccd5d1;
    color: #9ca8a2;
    background: #edf1ef;
}

.recap-controls[b-oi85ka8z17] {
    --recap-control-height: 2.65rem;
    display: grid;
    grid-template-columns: var(--recap-control-height) minmax(0, 1fr) var(--recap-control-height);
    align-items: center;
    gap: 0.65rem;
    width: min(100%, 360px);
    margin: 0.65rem auto 0;
}

.recap-controls button[b-oi85ka8z17] {
    width: var(--recap-control-height);
    height: var(--recap-control-height);
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(215, 224, 220, 0.96);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    color: #52615a;
    box-shadow: 0 10px 28px rgba(36, 49, 44, 0.12);
    backdrop-filter: blur(16px) saturate(1.08);
    cursor: pointer;
    transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.recap-controls button:hover:not(:disabled)[b-oi85ka8z17],
.recap-controls button:focus-visible:not(:disabled)[b-oi85ka8z17] {
    border-color: #1e8a63;
    background: #eff8f3;
    color: #176d50;
    transform: translateY(-1px);
}

.recap-controls button:disabled[b-oi85ka8z17] {
    border-color: rgba(215, 224, 220, 0.96);
    background: rgba(255, 255, 255, 0.94);
    color: #aeb7b2;
    opacity: 1;
    cursor: default;
}

.recap-player-prompt-error[b-oi85ka8z17] {
    grid-column: 1 / -1;
    margin: -0.08rem 0 0;
    color: #b44747;
    font-size: 0.7rem;
    font-weight: 750;
    line-height: 1.35;
}

.recap-controls button[b-oi85ka8z17]  .action-icon {
    width: 1.2rem;
    height: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.recap-controls > span[b-oi85ka8z17] {
    height: var(--recap-control-height);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.7rem;
    overflow: hidden;
    border: 1px solid rgba(215, 224, 220, 0.92);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.9);
    color: #66736d;
    box-shadow: 0 8px 22px rgba(36, 49, 44, 0.09);
    backdrop-filter: blur(14px);
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    text-align: center;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.recap-loading-screen[b-oi85ka8z17] {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.75rem;
    padding: 2rem;
    background:
        radial-gradient(circle at 50% 46%, rgba(30, 138, 99, 0.12), transparent 24rem),
        #eef2f3;
    color: #1f2a25;
    text-align: center;
}

.recap-loading-brand[b-oi85ka8z17] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.55rem;
}

.recap-loading-brand strong[b-oi85ka8z17] {
    font-size: clamp(1.9rem, 6vw, 3rem);
    font-weight: 950;
    letter-spacing: -0.055em;
}

.recap-loading-brand span[b-oi85ka8z17] {
    color: #1e8a63;
    font-size: clamp(0.78rem, 2vw, 1rem);
    font-weight: 950;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.recap-loading-screen > p[b-oi85ka8z17] {
    margin: 0;
    color: #66736d;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.recap-state[b-oi85ka8z17] {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    padding: 2rem;
    background:
        radial-gradient(circle at 50% 42%, rgba(30, 138, 99, 0.12), transparent 28rem),
        #eef2f3;
    text-align: center;
}

.recap-state h1[b-oi85ka8z17] {
    margin: 0;
    color: #1f2a25;
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.recap-state p[b-oi85ka8z17] {
    margin: 0.45rem 0 0;
    color: #66736d;
    font-size: 0.9rem;
}

.recap-state-pulse[b-oi85ka8z17] {
    width: 3.6rem;
    height: 3.6rem;
    display: grid;
    place-items: center;
    border: 1px solid #9fcfba;
    border-radius: 8px;
    background: #e8f6ee;
    color: #176d50;
    font-size: 1.2rem;
    font-weight: 950;
}

.recap-state-pulse[b-oi85ka8z17] {
    box-shadow: 0 0 0 0 rgba(30, 138, 99, 0.24);
    animation: recap-pulse-b-oi85ka8z17 1.7s ease-out infinite;
}

.recap-state-link[b-oi85ka8z17] {
    margin-top: 1.2rem;
    padding: 0.65rem 0.95rem;
    border-radius: 7px;
    background: #1e8a63;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    text-decoration: none;
}

@keyframes recap-card-enter-forward-b-oi85ka8z17 {
    from {
        opacity: 0;
        transform: translateX(2.5rem) scale(0.992);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

@keyframes recap-card-enter-backward-b-oi85ka8z17 {
    from {
        opacity: 0;
        transform: translateX(-2.5rem) scale(0.992);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

@keyframes recap-card-exit-forward-b-oi85ka8z17 {
    to {
        opacity: 0;
        transform: translateX(-2rem) scale(0.992);
    }
}

@keyframes recap-card-exit-backward-b-oi85ka8z17 {
    to {
        opacity: 0;
        transform: translateX(2rem) scale(0.992);
    }
}

@keyframes recap-pulse-b-oi85ka8z17 {
    70% {
        box-shadow: 0 0 0 1.1rem rgba(30, 138, 99, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(30, 138, 99, 0);
    }
}

@media (max-width: 700px) {
    .recap-page[b-oi85ka8z17] {
        min-height: 500px;
    }

    .recap-toolbar[b-oi85ka8z17] {
        padding: 0.75rem;
    }

    .recap-story[b-oi85ka8z17] {
        bottom: max(0.72rem, env(safe-area-inset-bottom));
        width: calc(100% - 1rem);
    }

    .recap-progress[b-oi85ka8z17] {
        gap: 0.18rem;
        margin-top: 0.45rem;
    }

    .recap-card[b-oi85ka8z17] {
        min-height: 184px;
        padding: 1rem 1.05rem 0.92rem;
        border-radius: 9px;
    }

    .recap-card-primary[b-oi85ka8z17] {
        font-size: clamp(2.05rem, 12vw, 3.25rem);
    }

    .recap-card > p[b-oi85ka8z17] {
        font-size: 0.79rem;
        line-height: 1.42;
    }

    .recap-player-prompt[b-oi85ka8z17] {
        grid-template-columns: 1fr;
    }

    .recap-player-prompt button[b-oi85ka8z17] {
        width: 100%;
    }

    .recap-controls[b-oi85ka8z17] {
        margin-top: 0.45rem;
    }
}

@media (max-height: 690px) {
    .recap-card[b-oi85ka8z17] {
        min-height: 170px;
        padding-top: 0.95rem;
        padding-bottom: 0.85rem;
    }

    .recap-card-primary[b-oi85ka8z17] {
        font-size: clamp(2rem, 6.4vw, 3.2rem);
    }

    .recap-card > p[b-oi85ka8z17] {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .recap-controls[b-oi85ka8z17] {
        --recap-control-height: 2.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .recap-card[b-oi85ka8z17],
    .recap-card.is-entering-forward[b-oi85ka8z17],
    .recap-card.is-entering-backward[b-oi85ka8z17],
    .recap-card.is-exiting-forward[b-oi85ka8z17],
    .recap-card.is-exiting-backward[b-oi85ka8z17],
    .recap-state-pulse[b-oi85ka8z17] {
        animation: none;
    }

    .recap-controls button[b-oi85ka8z17],
    .recap-progress button span[b-oi85ka8z17] {
        transition: none;
    }
}
