/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-11f1nez9rm] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-11f1nez9rm] {
    flex: 1;
}

.sidebar[b-11f1nez9rm] {
    /* The solid colour under the gradient is the fallback if the gradient doesn't paint,
       and it's the one value a contrast checker could sample if it were able to look here
       at all. (It isn't — .sidebar is sticky, and axe won't compute a background under a
       sticky ancestor. tools/A11yAudit measures this chrome by hand instead.) */
    background-color: var(--ti-sidebar-top);
    background-image: linear-gradient(180deg, var(--ti-sidebar-top) 0%, var(--ti-sidebar-bottom) 100%);
}

.top-row[b-11f1nez9rm] {
    background-color: var(--ti-surface);
    border-bottom: 1px solid var(--ti-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-11f1nez9rm]  a, .top-row[b-11f1nez9rm]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-11f1nez9rm]  a:hover, .top-row[b-11f1nez9rm]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-11f1nez9rm]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-11f1nez9rm] {
        justify-content: space-between;
    }

    .top-row[b-11f1nez9rm]  a, .top-row[b-11f1nez9rm]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-11f1nez9rm] {
        flex-direction: row;
    }

    .sidebar[b-11f1nez9rm] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-11f1nez9rm] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-11f1nez9rm]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-11f1nez9rm], article[b-11f1nez9rm] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-11f1nez9rm] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-11f1nez9rm] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-yrz6x7u9dx] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    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.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

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

.top-row[b-yrz6x7u9dx] {
    min-height: 3.5rem;
    /* Was rgba(0,0,0,0.4) over the sidebar's gradient — identical on screen, but two
       layers a contrast checker has to composite (a translucency over a gradient) instead
       of one value it can read. This is the same colour, stated opaquely.

       It does NOT make axe able to judge the sidebar: axe refuses to compute a background
       under any position:sticky ancestor, because a sticky element can slide over content
       whose colour it can't know, and .sidebar is sticky. That's why the brand text is a
       permanent baselined "violation" (measured 1.04:1 against the page background it is
       nowhere near). tools/A11yAudit checks that text by hand instead — see the sidebar
       contrast test there. This declaration stands on its own merits; it isn't the fix. */
    background-color: var(--ti-sidebar-topbar);
}

.navbar-brand[b-yrz6x7u9dx] {
    font-size: 1.1rem;
}

.bi[b-yrz6x7u9dx] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-yrz6x7u9dx] {
    background-image: 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-list-nested-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-yrz6x7u9dx] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-yrz6x7u9dx] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-yrz6x7u9dx] {
        padding-bottom: 1rem;
    }

    .nav-item[b-yrz6x7u9dx]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-yrz6x7u9dx]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-yrz6x7u9dx]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

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

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

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

    .nav-scrollable[b-yrz6x7u9dx] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

.bi-chat-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2.678 11.894a1 1 0 0 1 .287.801 11 11 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8 8 0 0 0 8 14c3.996 0 7-2.807 7-6s-3.004-6-7-6-7 2.808-7 6c0 1.468.617 2.83 1.678 3.894m-.493 3.905a22 22 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a10 10 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105'/%3E%3C/svg%3E");
}

.bi-calendar-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E");
}

.bi-file-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.414A2 2 0 0 0 13.414 3L11 .586A2 2 0 0 0 9.586 0zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3M5 7a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 5 7m0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E");
}

.bi-tags-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M3 2v4.586l7 7L14.586 9l-7-7zM2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586z M5.5 5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1m0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3'/%3E%3C/svg%3E");
}

.bi-map-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M15.817.113A.5.5 0 0 1 16 .5v14a.5.5 0 0 1-.402.49l-5 1a.5.5 0 0 1-.196 0L5.5 15.01l-4.902.98A.5.5 0 0 1 0 15.5v-14a.5.5 0 0 1 .402-.49l5-1a.5.5 0 0 1 .196 0L10.5.99l4.902-.98a.5.5 0 0 1 .415.103M10 1.91l-4-.8v12.98l4 .8zm1 12.98 4-.8V1.11l-4 .8zm-6-.8V1.11l-4 .8v12.98z'/%3E%3C/svg%3E");
}

.bi-folder-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a2 2 0 0 1 .342-1.31zM2.19 4a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91h10.348a1 1 0 0 0 .995-.91l.637-7A1 1 0 0 0 13.81 4z'/%3E%3C/svg%3E");
}

.bi-bell-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2M8 1.918l-.797.161A4 4 0 0 0 4 6c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C12.134 8.197 12 6.628 12 6a4 4 0 0 0-3.203-3.92zM14.22 12c.223.447.481.801.78 1H1c.299-.199.557-.553.78-1C2.68 10.2 3 6.88 3 6c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0A5 5 0 0 1 13 6c0 .88.32 4.2 1.22 6'/%3E%3C/svg%3E");
}

.bi-bar-chart-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 11H2v3h2zm5-4H7v7h2zm5-5v12h-2V2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
}

.bi-book-nav-menu[b-yrz6x7u9dx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783'/%3E%3C/svg%3E");
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-xv0dpeygd8],
.components-reconnect-repeated-attempt-visible[b-xv0dpeygd8],
.components-reconnect-failed-visible[b-xv0dpeygd8],
.components-pause-visible[b-xv0dpeygd8],
.components-resume-failed-visible[b-xv0dpeygd8],
.components-rejoining-animation[b-xv0dpeygd8] {
    display: none;
}

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


#components-reconnect-modal[b-xv0dpeygd8] {
    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-xv0dpeygd8 0.5s both;
    &[open]

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

}

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

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

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

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

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

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

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

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

@keyframes components-rejoining-animation-b-xv0dpeygd8 {
    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/Ask.razor.rz.scp.css */
/* Ask fills the screen so its fine print can sit at the foot of the page rather than
   immediately under the composer. */

.ask-page[b-j0brq1oxns] {
    display: flex;
    flex-direction: column;

    /* Enough to reach the bottom of the viewport on a short conversation, and no constraint at
       all on a long one — min-height, so the column grows past this the moment the thread does.

       The subtraction is the shell around this page: the 3.5rem top row, the article's own
       vertical padding, and the site footer. It is an approximation on purpose. Getting it
       exactly right needs the layout to be a height-constrained flex column all the way down,
       which would change every page to fix the spacing on one; overshooting here costs a little
       scroll before the footer, undershooting costs a small gap. Both are cheaper than that.

       dvh, not vh: on mobile browsers vh is the height WITHOUT the collapsing address bar, so
       vh-based layouts overshoot by ~60-100px exactly where the fine print lands. */
    min-height: calc(100dvh - 14rem);
}

/* The whole point: everything above keeps its natural position, and this drops to the bottom. */
.ask-fineprint[b-j0brq1oxns] {
    margin-top: auto;
    padding-top: 1.5rem;
    margin-bottom: 0;
}
/* /Components/Pages/EntityView.razor.rz.scp.css */
/* The topic timeline.
   A dated rail rather than a list of rows: the point of the page is "how long has this been
   going on", so the reader should be able to see the shape of the history without reading it. */

.ti-timeline[b-4mh540rbw1] {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Date column, then the rail, then the entries. The date is a real column so the eye can scan
   dates alone; it was an inline width plus a matching margin-left on everything beneath, which
   is the same layout expressed twice and drifts apart the moment either changes. */
.ti-day[b-4mh540rbw1] {
    display: grid;
    grid-template-columns: 8.5rem 1fr;
    column-gap: 0;
}

.ti-date[b-4mh540rbw1] {
    color: var(--ti-muted);
    font-size: 0.9rem;
    padding-top: 0.15rem;
    /* The date belongs to the whole day's entries, so it stays put while they scroll past. */
    position: sticky;
    top: 0.5rem;
    align-self: start;
}

.ti-entries[b-4mh540rbw1] {
    border-left: 2px solid var(--ti-border);
    padding: 0 0 1.4rem 1.25rem;
}
.ti-day:last-child .ti-entries[b-4mh540rbw1] { padding-bottom: 0; }

.ti-event[b-4mh540rbw1] {
    position: relative;
    padding-bottom: 0.9rem;
}
.ti-event:last-child[b-4mh540rbw1] { padding-bottom: 0; }

/* The marker on the rail. One per record, so a day with three records reads as three things
   that happened that day rather than as one block of text. */
.ti-event[b-4mh540rbw1]::before {
    content: "";
    position: absolute;
    left: calc(-1.25rem - 6px);
    top: 0.45rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--ti-surface);
    border: 2px solid var(--ti-border);
}

.ti-head[b-4mh540rbw1] {
    display: flex;
    flex-wrap: wrap;      /* long titles wrap instead of pushing the page sideways */
    align-items: baseline;
    gap: 0.4rem;
    margin-bottom: 0.15rem;
}
.ti-title[b-4mh540rbw1] {
    font-weight: 600;
    /* Wrap inside the word if a filename-shaped title has no spaces — the previous row was a
       nowrap flex line, which is how a long title turned into horizontal page scroll. */
    overflow-wrap: anywhere;
}
.ti-head .badge[b-4mh540rbw1] {
    font-weight: 500;
    font-size: 0.72rem;
    /* Baseline-aligned badges next to a link sat low; nudge them onto the title's line. */
    position: relative;
    top: -0.05em;
}

/* The topic-relevant passage. Quiet: it supports the title, it isn't the headline. */
.ti-quote[b-4mh540rbw1] {
    margin: 0.35rem 0 0.3rem;
    padding-left: 0.75rem;
    border-left: 3px solid color-mix(in srgb, var(--ti-accent) 45%, transparent);
    font-style: italic;
    color: var(--ti-text);
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}
.ti-quote-note[b-4mh540rbw1] {
    display: block;
    font-style: normal;
    font-size: 0.78rem;
    color: var(--ti-muted);
    margin-top: 0.1rem;
}

.ti-gist[b-4mh540rbw1] {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    color: var(--ti-muted);
    max-width: 75ch;      /* summaries are prose; full width is unreadable on a wide screen */
    overflow-wrap: anywhere;
}

/* Phones: 8.5rem of date beside a wrapped sentence leaves neither enough room. The date moves
   above its entries and the rail carries the continuity instead. */
@media (max-width: 575.98px) {
    .ti-day[b-4mh540rbw1] {
        grid-template-columns: 1fr;
    }
    .ti-date[b-4mh540rbw1] {
        position: static;
        font-weight: 600;
        color: var(--ti-text);
        margin-bottom: 0.3rem;
    }
    .ti-entries[b-4mh540rbw1] {
        border-left: 2px solid var(--ti-border);
        padding-left: 0.9rem;
    }
    .ti-event[b-4mh540rbw1]::before { left: calc(-0.9rem - 6px); }
}
