/* COURTREADZ 8.1.159 — iPhone compatibility and panel-boundary containment.
   Loaded last so every authenticated view shares one safe-area-aware mobile
   boundary, including modern iPhone landscape widths above 760 CSS pixels. */

html.app-document{
    width:100%;
    min-width:0;
    max-width:100%;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    overscroll-behavior-x:none;
}


/* COURTREADZ 8.1.188 — one Post/Reply photo-video picker for Admins and Members. */
html.app-document body[data-current-view="book_talk"] #bookTalkMessages .book-talk-feed-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkForm.book-talk-feed-composer:not([hidden]){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 72px 72px!important;
    grid-template-areas:"message attach post"!important;
    align-items:stretch!important;
    gap:7px!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkForm #bookTalkInput{grid-area:message!important}
html.app-document body[data-current-view="book_talk"] #bookTalkForm #bookTalkComposerMedia{grid-area:attach!important}
html.app-document body[data-current-view="book_talk"] #bookTalkForm #bookTalkSend{grid-area:post!important}
.book-talk-composer-media-button,
.book-talk-reply-media-button{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    margin:0!important;
    padding:2px!important;
    border:1px solid var(--theme-border,#ddbfc7)!important;
    background:#fff!important;
    color:var(--theme-deep,#733a49)!important;
    box-shadow:none!important;
    transform:none!important;
}
.book-talk-composer-media-button{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    align-self:center!important;
    border-radius:12px!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkForm #bookTalkSend{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
}
.book-talk-composer-media-button[hidden]{display:none!important}
/* COURTREADZ 8.1.193 — keep the full tripod icon visible inside Reply attachments. */
.book-talk-composer-media-button img,
.book-talk-reply-media-button img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:8px!important;
    pointer-events:none!important;
}
.book-talk-media-ready-dot{
    display:none;
    position:absolute;
    top:3px;
    right:3px;
    width:10px;
    height:10px;
    border:2px solid #fff;
    border-radius:50%;
    background:#25a85a;
    box-shadow:0 1px 5px rgba(0,0,0,.22);
    pointer-events:none;
}
.book-talk-composer-media-button.has-pending,
.book-talk-reply-media-button.has-pending{
    border-color:#25a85a!important;
    box-shadow:0 0 0 2px rgba(37,168,90,.16)!important;
}
.book-talk-composer-media-button.has-pending .book-talk-media-ready-dot,
.book-talk-reply-media-button.has-pending .book-talk-media-ready-dot{display:block!important}
.book-talk-reply-form{
    grid-template-columns:30px minmax(0,1fr) 34px auto!important;
}
.book-talk-reply-media-button{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    border-radius:50%!important;
}
.book-talk-reply-copy .book-talk-media-strip{
    grid-template-columns:minmax(120px,220px)!important;
    padding:5px 0 6px!important;
}
.book-talk-reply-copy .book-talk-media-card{height:120px!important}
.book-talk-media-prompt{
    position:fixed;
    inset:0;
    z-index:2147483646;
    display:grid;
    place-items:center;
    padding:18px;
    background:rgba(37,24,30,.58);
    backdrop-filter:blur(4px);
}
html.app-document body.book-talk-media-prompt-open{overflow:hidden!important}
.book-talk-media-prompt[hidden]{display:none!important}
.book-talk-media-prompt-panel{
    width:min(520px,calc(100vw - 36px));
    overflow:hidden;
    border:1px solid var(--theme-border,#ddbfc7);
    border-radius:20px;
    background:#fff;
    box-shadow:0 26px 86px rgba(35,17,25,.38);
}
.book-talk-media-prompt-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 15px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(135deg,#fff,#fff4f7);
}
.book-talk-media-prompt-head>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.book-talk-media-prompt-head strong{font:800 18px/1.2 Georgia,serif;color:var(--ink)}
.book-talk-media-prompt-head small{font-size:11px;color:var(--muted)}
.book-talk-media-prompt-head>button{
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-radius:10px!important;
    background:var(--theme-soft,#f7e8ec)!important;
    color:var(--theme-deep,#733a49)!important;
    font-size:22px!important;
    line-height:1!important;
}
.book-talk-media-prompt-options{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding:14px;
}
.book-talk-media-prompt-options>button{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:0!important;
    min-height:120px!important;
    padding:12px 8px!important;
    border:1px solid var(--line)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:var(--ink)!important;
    text-align:center!important;
    box-shadow:0 5px 14px rgba(62,28,42,.07)!important;
    transform:none!important;
}
.book-talk-media-prompt-options>button:hover,
.book-talk-media-prompt-options>button:focus{
    border-color:var(--theme-base,#d86d83)!important;
    background:var(--theme-soft,#fff7f9)!important;
    outline:none!important;
}
.book-talk-media-prompt-options>button>span{font-size:28px;line-height:1}
.book-talk-media-prompt-options>button>strong{font-size:12px;line-height:1.2}
.book-talk-media-prompt-options>button>small{font-size:9px;line-height:1.3;color:var(--muted)}
@media(max-width:760px){
    html.app-document body[data-current-view="book_talk"] #bookTalkForm.book-talk-feed-composer:not([hidden]){
        grid-template-columns:minmax(0,1fr) 72px 72px!important;
        grid-template-areas:"message attach post"!important;
        gap:6px!important;
    }
    .book-talk-reply-form{grid-template-columns:26px minmax(0,1fr) 34px auto!important;gap:5px!important}
    .book-talk-media-prompt{align-items:end;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px))}
    .book-talk-media-prompt-panel{width:100%;max-height:calc(100dvh - 20px);border-radius:18px}
    .book-talk-media-prompt-options{grid-template-columns:1fr;gap:7px;padding:10px}
    .book-talk-media-prompt-options>button{
        display:grid!important;
        grid-template-columns:38px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        column-gap:9px!important;
        row-gap:2px!important;
        min-height:64px!important;
        padding:9px 12px!important;
        text-align:left!important;
        justify-items:start!important;
    }
    .book-talk-media-prompt-options>button>span{grid-row:1/3;align-self:center;font-size:25px}
    .book-talk-media-prompt-options>button>strong{align-self:end;font-size:12px}
    .book-talk-media-prompt-options>button>small{align-self:start;font-size:9px}
}

/* COURTREADZ 8.1.254 — keep BOOK MERCH panels at the
   same compact width as the standard COURTREADZ Feed panels. */
@media(min-width:761px){
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed.book-talk-store-feed>.book-talk-feed-column{
        flex:0 1 320px!important;
        width:320px!important;
        max-width:320px!important;
    }
}

/* COURTREADZ 8.1.255 — store media and Buy Now controls remain contained
   by the BOOK MERCH post panel. */
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-store-feed :where(.book-talk-feed-post,.book-talk-media-strip,.book-talk-media-gallery,.book-talk-media-gallery-tile,.book-talk-media-card,.book-sale-card,.book-sale-card-prices,.book-sale-card-actions){
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-store-feed :where(.book-talk-feed-post,.book-talk-media-strip,.book-talk-media-gallery,.book-talk-media-gallery-tile,.book-talk-media-card,.book-sale-card){overflow:hidden!important}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-store-feed :where(.book-talk-media-thumb-image,.book-talk-media-thumb-video,.book-talk-media-card img,.book-talk-media-card video){
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-store-feed .book-sale-card{margin-right:0!important;margin-left:0!important}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-store-feed .book-sale-card-actions>*{
    box-sizing:border-box!important;
    flex:1 1 120px!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-store-feed .book-sale-card-prices>*{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
@media(max-width:380px){
    html.app-document body[data-current-view="book_talk"] #bookTalkForm.book-talk-feed-composer:not([hidden]){
        grid-template-columns:minmax(0,1fr) 66px 66px!important;
        gap:5px!important;
    }
    .book-talk-composer-media-button{width:66px!important;min-width:66px!important;max-width:66px!important}
    html.app-document body[data-current-view="book_talk"] #bookTalkForm #bookTalkSend{width:66px!important;min-width:66px!important;max-width:66px!important}
}

/* COURTREADZ 8.1.181 responsive Live Stream pop-out controls and shells. */
#rtcStreamApp .stream-popout-actions{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    padding:10px 14px!important;
    border-top:1px solid var(--line,#eadde1)!important;
    background:#fff!important;
}
#rtcStreamApp .stream-popout-actions>button{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
    white-space:nowrap!important;
}
#rtcStreamApp .stream-popout-actions>button.is-popped-out,
#rtcStreamApp .stream-popout-actions>button[aria-pressed="true"]{
    border-color:var(--theme,#c95670)!important;
    background:var(--theme-soft,#ffe8ee)!important;
    color:var(--theme-deep,#6f2d41)!important;
}

html.stream-popout-document,
html.stream-popout-document body.stream-popout-page{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#0d0a0d!important;
}
html.stream-popout-document body.stream-popout-page .app-shell{
    position:fixed!important;
    inset:0!important;
    display:block!important;
    width:100vw!important;
    min-width:0!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#0d0a0d!important;
}
html.stream-popout-document body.stream-popout-page .app-shell>.sidebar,
html.stream-popout-document body.stream-popout-page .app-shell>.profile-overlay,
html.stream-popout-document body.stream-popout-page dialog,
html.stream-popout-document body.stream-popout-page .public-profile-overlay{
    display:none!important;
}
html.stream-popout-document body.stream-popout-page .workspace,
html.stream-popout-document body.stream-popout-page .content{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
html.stream-popout-document body.stream-popout-page .content>:not(#rtcStreamApp){
    display:none!important;
}
html.stream-popout-document body.stream-popout-page #rtcStreamApp{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
html.stream-popout-document body.stream-popout-page #rtcStreamApp>.stream-stage-panel{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#0d0a0d!important;
}
html.stream-popout-document body.stream-popout-page #rtcStreamApp>.stream-side{
    display:none!important;
}

html.stream-popout-chat-document body.stream-popout-chat #rtcStreamApp>.stream-stage-panel>:not(#streamChatPanel){
    display:none!important;
}
html.stream-popout-chat-document body.stream-popout-chat #streamChatPanel{
    position:relative!important;
    inset:auto!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
html.stream-popout-chat-document body.stream-popout-chat #streamChatMessages{
    position:relative!important;
    inset:auto!important;
    flex:1 1 0!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
}
html.stream-popout-chat-document body.stream-popout-chat #streamChatForm,
html.stream-popout-chat-document body.stream-popout-chat.stream-chat-mobile-focus #streamChatForm{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    margin:8px 0 0!important;
    padding:0!important;
    z-index:5!important;
}
html.stream-popout-chat-document body.stream-popout-chat.stream-chat-mobile-focus #streamChatPanel{
    position:fixed!important;
    inset:var(--stream-chat-visual-top,0) auto auto var(--stream-chat-visual-left,0)!important;
    width:var(--stream-chat-visual-width,100vw)!important;
    height:var(--stream-chat-visual-height,100dvh)!important;
}

html.stream-popout-video-document body.stream-popout-video #rtcStreamApp>.stream-stage-panel>:not(#rtcVideoFrame){
    display:none!important;
}
html.stream-popout-video-document body.stream-popout-video #rtcVideoFrame{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:grid!important;
    width:100vw!important;
    min-width:0!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
html.stream-popout-video-document body.stream-popout-video #rtcVideoFrame>video{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
}

@media(max-width:560px){
    #rtcStreamApp .stream-popout-actions{
        grid-template-columns:1fr!important;
        padding:9px 10px!important;
    }
    #rtcStreamApp .stream-popout-actions>button{
        min-height:44px!important;
    }
}
html.app-document body,
html.app-document .app-shell,
html.app-document .workspace,
html.app-document .content{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}
html.app-document body{
    width:100%;
    overflow-x:hidden;
}
@supports(overflow:clip){html.app-document body{overflow-x:clip}}
html.app-document img,
html.app-document video,
html.app-document canvas,
html.app-document svg,
html.app-document iframe{
    max-width:100%;
}
html.app-document :where(.panel,.stat,.activity-item,.member-row,.book-card,.announcement-card,.raffle-design-card,.raffle-countdown-card,.private-video-recording-card){
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}
html.app-document :where(h1,h2,h3,h4,p,strong,small,label,span,a,button,code){
    overflow-wrap:anywhere;
}
html.app-document :where(form,fieldset,.field,.form-grid,.panel-head,.topbar,.top-actions,.member-actions){min-width:0;max-width:100%;box-sizing:border-box}
html.app-document :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}
html.app-document input[type="file"]{width:100%;white-space:normal;overflow:hidden}

/* COURTREADZ 8.1.159 — one authoritative boundary between the left panel and
   every right-side workspace. Older rules used a 242px/218px grid track while
   another rule kept the sidebar itself at 252px, allowing it to paint over the
   first part of the right panels. The track and panel now share one width. */
@media(min-width:761px){
    html.app-document{--courthreadz-sidebar-boundary:242px}
    html.app-document body .app-shell,
    html.app-document body .app-shell.admin-raffle-shell,
    html.app-document body .app-shell.member-raffle-shell{
        position:relative!important;
        display:grid!important;
        grid-template-columns:var(--courthreadz-sidebar-boundary) minmax(0,1fr)!important;
        grid-template-rows:auto!important;
        column-gap:0!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        align-items:flex-start!important;
        isolation:isolate!important;
        box-sizing:border-box!important;
        overflow-x:hidden!important;
    }
    html.app-document body .app-shell>aside.sidebar,
    html.app-document body .app-shell>aside.sidebar.sidebar-stable{
        grid-column:1!important;
        grid-row:1!important;
        position:sticky!important;
        inset:auto!important;
        top:0!important;
        left:auto!important;
        right:auto!important;
        flex:none!important;
        width:var(--courthreadz-sidebar-boundary)!important;
        min-width:var(--courthreadz-sidebar-boundary)!important;
        max-width:var(--courthreadz-sidebar-boundary)!important;
        margin:0!important;
        transform:none!important;
        box-sizing:border-box!important;
        overflow-x:hidden!important;
        z-index:2!important;
    }
    html.app-document body .app-shell>.workspace,
    html.app-document body .app-shell>.workspace.stream-workspace,
    html.app-document body .app-shell>.workspace.admin-settings-workspace,
    html.app-document body .app-shell>.workspace.book-talk-workspace,
    html.app-document body .app-shell>.workspace.live-mapping-workspace,
    html.app-document body .app-shell>.workspace.admin-raffle-workspace,
    html.app-document body .app-shell>.workspace.member-raffle-workspace{
        grid-column:2!important;
        grid-row:1!important;
        position:relative!important;
        inset:auto!important;
        left:auto!important;
        right:auto!important;
        flex:1 1 0!important;
        width:auto!important;
        min-width:0!important;
        max-width:100%!important;
        margin:0!important;
        transform:none!important;
        box-sizing:border-box!important;
        overflow-x:hidden!important;
        z-index:1!important;
    }
    html.app-document body .app-shell>.workspace>.content{
        position:relative!important;
        left:auto!important;
        right:auto!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
        transform:none!important;
        box-sizing:border-box!important;
    }
}

@media(min-width:761px) and (max-width:1050px){
    html.app-document{--courthreadz-sidebar-boundary:218px}
}

/* Preserve the carefully stabilized Login card while adding non-positional
   safe-area containment for iPhones and small installed-app windows. */
html.login-document,
html.login-document body,
html.login-document .login-page,
html.login-document .login-stack,
html.login-document .login-panel,
html.login-document .login-box{box-sizing:border-box;max-width:100%}
html.login-document img,
html.login-document video,
html.login-document svg{max-width:100%;height:auto}
@media(max-width:760px){
    html.login-document.login-ios-device body.login-body .login-fitted-group{
        padding-left:max(5px,env(safe-area-inset-left,0px))!important;
        padding-right:max(5px,env(safe-area-inset-right,0px))!important;
        box-sizing:border-box!important;
    }
    html.login-document.login-ios-device .registration-terms-dialog,
    html.login-document.login-ios-device .registration-terms-backdrop{
        padding-top:max(10px,env(safe-area-inset-top,0px))!important;
        padding-right:max(10px,env(safe-area-inset-right,0px))!important;
        padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
        padding-left:max(10px,env(safe-area-inset-left,0px))!important;
        box-sizing:border-box!important;
    }
    html.login-document.login-ios-device .registration-terms-dialog-card{
        width:100%!important;
        max-width:100%!important;
        max-height:calc(100dvh - max(20px,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px)))!important;
    }
}

/* All portrait iPhones, including 320px legacy widths and the 430px Max size. */
@media(max-width:760px){
    html.app-document body{
        width:100%!important;
        min-width:0!important;
        padding:0!important;
    }
    html.app-document body .app-shell{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        min-height:100svh!important;
        overflow:visible!important;
    }
    html.app-document body .app-shell>aside.sidebar,
    html.app-document body.stream-mobile-page .app-shell>aside.sidebar{
        position:relative!important;
        inset:auto!important;
        z-index:170!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        padding-top:calc(8px + env(safe-area-inset-top,0px))!important;
        padding-right:max(9px,env(safe-area-inset-right,0px))!important;
        padding-bottom:8px!important;
        padding-left:max(9px,env(safe-area-inset-left,0px))!important;
        gap:7px!important;
        overflow:visible!important;
        box-sizing:border-box!important;
    }
    html.app-document body .app-shell>aside.sidebar .side-brand{
        display:flex!important;
        align-items:center!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin:0!important;
        box-sizing:border-box!important;
    }
    html.app-document body .app-shell>aside.sidebar .side-brand>div:nth-child(2){
        flex:1 1 auto!important;
        min-width:0!important;
    }
    html.app-document body .app-shell>aside.sidebar .side-brand strong,
    html.app-document body .app-shell>aside.sidebar .side-brand span{
        max-width:100%!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }
    html.app-document body .app-shell>aside.sidebar .member-mobile-menu-toggle{
        display:inline-flex!important;
        flex:0 0 44px!important;
        width:44px!important;
        min-width:44px!important;
        max-width:44px!important;
        height:44px!important;
        min-height:44px!important;
        max-height:44px!important;
        margin-left:auto!important;
        box-sizing:border-box!important;
    }
    html.app-document body .app-shell>aside.sidebar>.nav,
    html.app-document body .app-shell>aside.sidebar>.role-chip,
    html.app-document body .app-shell>aside.sidebar>.sidebar-bottom{display:none!important}
    html.app-document body .app-shell>aside.sidebar .member-mobile-dropdown{
        left:max(9px,env(safe-area-inset-left,0px))!important;
        right:max(9px,env(safe-area-inset-right,0px))!important;
        width:auto!important;
        max-width:none!important;
        box-sizing:border-box!important;
    }
    html.app-document body .app-shell>aside.sidebar .member-mobile-dropdown.is-open{
        max-height:calc(100dvh - 76px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
    }
    html.app-document body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-menu{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
    }
    html.app-document body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-menu>*{
        min-width:0!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }
    html.app-document body .app-shell>.workspace,
    html.app-document body .workspace{
        grid-column:auto!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:calc(100svh - 68px)!important;
        max-height:none!important;
        padding-top:10px!important;
        padding-right:max(10px,env(safe-area-inset-right,0px))!important;
        padding-bottom:max(18px,env(safe-area-inset-bottom,0px))!important;
        padding-left:max(10px,env(safe-area-inset-left,0px))!important;
        overflow-x:hidden!important;
        overflow-y:visible!important;
        box-sizing:border-box!important;
    }
    html.app-document body .workspace>.content,
    html.app-document body .content{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin-inline:0!important;
        box-sizing:border-box!important;
    }
    html.app-document body .topbar{
        position:relative!important;
        top:auto!important;
        display:flex!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        gap:9px!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        padding:11px 12px!important;
        box-sizing:border-box!important;
    }
    html.app-document body .topbar>div:first-child{flex:1 1 170px!important;min-width:0!important}
    html.app-document body .topbar h1{font-size:clamp(20px,6vw,24px)!important;line-height:1.15!important}
    html.app-document body .top-actions{
        display:flex!important;
        flex:1 1 auto!important;
        flex-wrap:wrap!important;
        justify-content:flex-end!important;
        min-width:0!important;
    }
    html.app-document body .top-actions>*{min-width:0!important;max-width:100%!important}
    html.app-document body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){
        width:100%;
        font-size:16px!important;
    }
    html.app-document body :where(.primary,.secondary,.ghost-button,.danger-button,button,[role="button"]){
        min-height:44px;
        max-width:100%;
        white-space:normal;
        overflow-wrap:anywhere;
        line-height:1.2;
        touch-action:manipulation;
        box-sizing:border-box;
    }
    html.app-document body :where(.form-grid,.settings-core-grid,.settings-media-grid,.profile-password-grid,.courthreadz-email-server-grid,.book-vote-admin-grid){
        grid-template-columns:minmax(0,1fr)!important;
    }
    html.app-document body :where(.span-2,.wide){grid-column:auto!important}
    html.app-document body :where(.panel-head,.library-tools,.library-tools-right,.announcements-page-head,.announcement-card-head,.announcement-composer-top,.announcement-composer-actions,.book-talk-head,.book-talk-head-actions,.book-talk-video-top,.book-talk-video-top-actions,.live-map-head,.live-map-panel-head,.live-map-users-head,.live-map-tools,.raffle-created-head,.raffle-current-head,.raffle-entries-head,.private-video-recording-actions,.recording-thumbnail-actions,.recording-thumbnail-actions-right,.settings-save-bar,.subscription-actions){
        flex-wrap:wrap!important;
        min-width:0!important;
        max-width:100%!important;
    }

    /* Dashboard and library. */
    html.app-document body .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
    html.app-document body .dashboard-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
    html.app-document body .activity-item{grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
    html.app-document body .library-tools{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
    html.app-document body .library-panel{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
    html.app-document body .library-tools-right{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important}
    html.app-document body .search-box{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .library-view-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
    html.app-document body .library-view-button{width:100%!important;min-width:0!important}
    html.app-document body .book-grid{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .book-card{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .book-cover{max-width:100%!important}

    /* Live Stream, RTCWebcam, queue and chat. */
    html.app-document body .stream-workspace,
    html.app-document body.stream-mobile-page .stream-workspace{
        height:auto!important;
        min-height:calc(100svh - 68px)!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:visible!important;
    }
    html.app-document body .stream-content,
    html.app-document body .stream-layout,
    html.app-document body .stream-side,
    html.app-document body .stream-chat-panel{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .stream-layout{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .stream-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
    html.app-document body .stream-controls>*{min-width:0!important;max-width:100%!important}
    html.app-document body .stream-start-group,
    html.app-document body .stream-queue-next-combo{display:flex!important;flex-wrap:wrap!important;min-width:0!important;max-width:100%!important}
    html.app-document body .video-frame,
    html.app-document body #rtcVideoFrame{box-sizing:border-box!important}
    html.app-document body .stream-queue-mobile-host,
    html.app-document body .stream-queue-actions,
    html.app-document body .stream-queue-chat-card{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
    html.app-document body .stream-queue-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
    html.app-document body .stream-chat-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;width:100%!important}
    html.app-document body .stream-chat-form input{min-width:0!important}
    html.app-document body .stream-chat-messages{min-width:0!important;max-width:100%!important;overflow-x:hidden!important}

    /* Book Club Talk and Announcements. */
    html.app-document body .book-talk-workspace,
    html.app-document body .book-talk-content,
    html.app-document body .book-talk-layout{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        max-height:none!important;
        overflow-x:hidden!important;
    }
    html.app-document body .book-talk-layout{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .book-talk-feed-composer,
    html.app-document body .book-talk-feed-controls,
    html.app-document body .book-talk-form{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .book-talk-form{grid-template-columns:minmax(0,1fr) auto!important}
    html.app-document body .book-talk-category-strip,
    html.app-document body .book-talk-book-picker-list,
    html.app-document body .book-talk-emoji-grid{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
    html.app-document body .book-talk-video-grid{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .book-talk-video-tile{min-width:0!important;max-width:100%!important;aspect-ratio:16/9!important}
    html.app-document body .announcements-layout{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important}
    html.app-document body .announcement-composer,
    html.app-document body .announcements-panel,
    html.app-document body .announcement-card{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .announcement-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    html.app-document body .announcement-meta{display:flex!important;flex-wrap:wrap!important;min-width:0!important}

    /* Raffles and live mapping. */
    html.app-document body[data-current-view="raffle"] .workspace,
    html.app-document body[data-current-view="raffle"] .content,
    html.app-document body[data-current-view="raffle"] .raffle-page{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        overflow-x:hidden!important;
    }
    html.app-document body[data-current-view="raffle"] .raffle-page{padding-bottom:max(18px,env(safe-area-inset-bottom,0px))!important}
    html.app-document body[data-current-view="raffle"] .raffle-page-admin-stack>.raffle-design-create-card,
    html.app-document body[data-current-view="raffle"] .raffle-page-admin-stack>.raffle-admin-active-shell,
    html.app-document body[data-current-view="raffle"] .raffle-page-admin-stack>.raffle-created-section,
    html.app-document body[data-current-view="raffle"] [data-admin-raffle-panel]{
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin-inline:0!important;
        box-sizing:border-box!important;
    }
    html.app-document body .raffle-live-layout,
    html.app-document body .raffle-main-column,
    html.app-document body .raffle-side-panel,
    html.app-document body .raffle-current-card{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .raffle-countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
    html.app-document body .raffle-admin-controls,
    html.app-document body .raffle-admin-secondary-actions,
    html.app-document body .raffle-create-actions,
    html.app-document body .raffle-member-action{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important}
    html.app-document body .live-map-layout,
    html.app-document body .live-map-stats,
    html.app-document body .live-map-database-gauges{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}
    html.app-document body .live-map-shell,
    html.app-document body .live-map-panel,
    html.app-document body .live-map-database-panel,
    html.app-document body .live-map-user-list{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .live-map-tools{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}

    /* Admin Members, subscription, profile, settings and recordings. */
    html.app-document body[data-current-view="members"] .members-grid,
    html.app-document body[data-current-view="members"] .member-row,
    html.app-document body[data-current-view="members"] .member-actions{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body[data-current-view="members"] .member-actions>*{grid-column:auto!important;width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body[data-current-view="members"] .account-type-control,
    html.app-document body[data-current-view="members"] .password-reset-form{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .subscription-page,
    html.app-document body .subscription-status-panel,
    html.app-document body .subscription-credit-card,
    html.app-document body .profile-page,
    html.app-document body .profile-card,
    html.app-document body .settings-grid,
    html.app-document body .private-video-recordings-page,
    html.app-document body .private-video-recordings-panel{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document body .subscription-page,
    html.app-document body .profile-page,
    html.app-document body .settings-grid,
    html.app-document body .private-video-recordings-grid{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .subscription-detail-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:3px!important}
    html.app-document body .profile-card{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .profile-image-preview{justify-self:center!important;max-width:100%!important}
    html.app-document body .settings-subscription-box,
    html.app-document body .settings-subscription-original-head,
    html.app-document body .subscription-settings-row,
    html.app-document body .stripe-admin-credentials{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important}
    html.app-document body .private-video-recording-card{grid-template-columns:minmax(0,1fr)!important}

    /* Every overlay stays inside the visual viewport and iPhone safe areas. */
    html.app-document body :where(.modal,.reader-dialog,.recordings-dialog,.private-video-recording-dialog,.public-profile-overlay,.subscription-cancel-confirm-backdrop,.announcement-media-viewer,.book-talk-media-viewer,.rtc-guest-dialog){
        box-sizing:border-box!important;
        width:100%!important;
        max-width:100%!important;
        height:100dvh!important;
        max-height:100dvh!important;
        padding-top:max(8px,env(safe-area-inset-top,0px))!important;
        padding-right:max(8px,env(safe-area-inset-right,0px))!important;
        padding-bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
        padding-left:max(8px,env(safe-area-inset-left,0px))!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }
    html.app-document body :where(.reader-shell,.recordings-modal,.private-video-recording-dialog-card,.public-profile-modal,.subscription-cancel-confirm-card,.announcement-media-viewer-panel,.book-talk-media-viewer-panel,.rtc-guest-dialog-card){
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        max-height:calc(100dvh - max(16px,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px)))!important;
        margin:auto!important;
        box-sizing:border-box!important;
    }
    html.app-document body .modal-body,
    html.app-document body .recordings-modal-body,
    html.app-document body .registration-terms-scroll{min-width:0!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
    html.app-document body .reader-controls{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:5px!important;padding-bottom:max(7px,env(safe-area-inset-bottom,0px))!important}
    html.app-document body .reader-counter{min-width:0!important;max-width:100%!important}
}

@media(max-width:360px){
    html.app-document body .workspace{padding-right:max(7px,env(safe-area-inset-right,0px))!important;padding-left:max(7px,env(safe-area-inset-left,0px))!important}
    html.app-document body .panel{padding:12px!important;border-radius:14px!important}
    html.app-document body .stats{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .stream-controls,
    html.app-document body .stream-queue-actions,
    html.app-document body .announcement-media-grid,
    html.app-document body .live-map-layout,
    html.app-document body .live-map-stats,
    html.app-document body .live-map-database-gauges{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .stream-chat-form,
    html.app-document body .book-talk-form{grid-template-columns:minmax(0,1fr)!important}
    html.app-document body .stream-chat-form button,
    html.app-document body .book-talk-form button{width:100%!important}
    html.app-document body .top-actions{justify-content:stretch!important;width:100%!important}
    html.app-document body .top-actions>*{flex:1 1 100%!important;width:100%!important}
    html.app-document body .reader-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    html.app-document body .reader-counter{grid-column:1/-1!important;grid-row:1!important}
}

/* Newer iPhones are 844–932 CSS pixels wide in landscape. Keep the compact
   header there instead of reactivating the 252px desktop sidebar. */
@media(orientation:landscape) and (max-width:960px) and (max-height:500px){
    html.app-document.ios-device{
        overflow-x:hidden!important;
        overflow-y:auto!important;
        scrollbar-gutter:auto!important;
    }
    html.app-document.ios-device body{width:100%!important;overflow-x:hidden!important}
    html.app-document.ios-device body .app-shell{
        display:block!important;
        grid-template-columns:none!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:100svh!important;
        overflow:visible!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar,
    html.app-document.ios-device body.stream-mobile-page .app-shell>aside.sidebar{
        grid-column:auto!important;
        position:relative!important;
        inset:auto!important;
        z-index:170!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        padding-top:calc(5px + env(safe-area-inset-top,0px))!important;
        padding-right:max(10px,env(safe-area-inset-right,0px))!important;
        padding-bottom:5px!important;
        padding-left:max(10px,env(safe-area-inset-left,0px))!important;
        gap:4px!important;
        overflow:visible!important;
        scrollbar-gutter:auto!important;
        box-sizing:border-box!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar .side-brand{
        display:flex!important;
        align-items:center!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        min-height:46px!important;
        padding-block:2px!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar .side-brand .brand-mark{width:38px!important;height:38px!important;min-width:38px!important}
    html.app-document.ios-device body .app-shell>aside.sidebar .side-brand>div:nth-child(2){flex:1 1 auto!important;min-width:0!important}
    html.app-document.ios-device body .app-shell>aside.sidebar .side-brand strong,
    html.app-document.ios-device body .app-shell>aside.sidebar .side-brand span{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
    html.app-document.ios-device body .app-shell>aside.sidebar>.nav,
    html.app-document.ios-device body .app-shell>aside.sidebar>.role-chip,
    html.app-document.ios-device body .app-shell>aside.sidebar>.sidebar-bottom{display:none!important}
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-menu-toggle{
        display:inline-flex!important;
        flex:0 0 44px!important;
        align-items:center!important;
        justify-content:center!important;
        flex-direction:column!important;
        gap:4px!important;
        width:44px!important;
        min-width:44px!important;
        max-width:44px!important;
        height:44px!important;
        min-height:44px!important;
        max-height:44px!important;
        margin-left:auto!important;
        padding:9px!important;
        border:1px solid rgba(255,255,255,.28)!important;
        border-radius:11px!important;
        background:rgba(255,255,255,.12)!important;
        box-sizing:border-box!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-menu-toggle span{display:block!important;width:21px!important;height:2px!important;min-height:2px!important;border-radius:999px!important;background:#fff!important}
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown{
        display:none!important;
        position:absolute!important;
        z-index:190!important;
        top:calc(100% - 2px)!important;
        left:max(10px,env(safe-area-inset-left,0px))!important;
        right:max(10px,env(safe-area-inset-right,0px))!important;
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        margin:0!important;
        padding:8px!important;
        border:1px solid rgba(255,255,255,.22)!important;
        background:linear-gradient(180deg,var(--theme-sidebar,#a95167),var(--theme-sidebar-soft,#8f4056))!important;
        box-shadow:0 12px 28px rgba(65,23,35,.24)!important;
        border-radius:0 0 14px 14px!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown.is-open{
        display:block!important;
        max-height:calc(100dvh - 60px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-menu,
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-menu.has-subscribe,
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-menu.has-vids{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:6px!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        padding:0!important;
    }
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-menu>a,
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-recordings-toggle,
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-logout-form,
    html.app-document.ios-device body .app-shell>aside.sidebar .member-mobile-dropdown .mobile-logout-form button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        min-height:44px!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:8px!important;
        border:1px solid rgba(255,255,255,.18)!important;
        border-radius:10px!important;
        background:rgba(255,255,255,.11)!important;
        color:#fff!important;
        white-space:normal!important;
        box-sizing:border-box!important;
    }
    html.app-document.ios-device body .app-shell>.workspace,
    html.app-document.ios-device body .workspace{
        grid-column:auto!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:calc(100svh - 56px)!important;
        max-height:none!important;
        padding-top:8px!important;
        padding-right:max(10px,env(safe-area-inset-right,0px))!important;
        padding-bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
        padding-left:max(10px,env(safe-area-inset-left,0px))!important;
        overflow-x:hidden!important;
        overflow-y:visible!important;
        box-sizing:border-box!important;
    }
    html.app-document.ios-device body .content{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
    html.app-document.ios-device body .topbar{
        position:relative!important;
        top:auto!important;
        display:flex!important;
        flex-wrap:wrap!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        padding:9px 12px!important;
        gap:8px!important;
        box-sizing:border-box!important;
    }
    html.app-document.ios-device body .topbar>div:first-child{flex:1 1 190px!important;min-width:0!important}
    html.app-document.ios-device body .top-actions,
    html.app-document.ios-device body :where(.panel-head,.library-tools,.library-tools-right,.announcement-card-head,.announcement-composer-actions,.book-talk-head,.book-talk-head-actions,.live-map-head,.live-map-panel-head,.live-map-users-head,.live-map-tools,.raffle-created-head,.raffle-current-head,.raffle-entries-head,.subscription-actions){
        display:flex!important;
        flex-wrap:wrap!important;
        min-width:0!important;
        max-width:100%!important;
    }
    html.app-document.ios-device body :where(.panel,.stat,.activity-item,.member-row,.book-card,.announcement-card,.raffle-design-card,.raffle-countdown-card,.private-video-recording-card){width:auto;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
    html.app-document.ios-device body :where(form,fieldset,.field,.form-grid,.member-actions){min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
    html.app-document.ios-device body :where(.primary,.secondary,.ghost-button,.danger-button,button,[role="button"]){min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
    html.app-document.ios-device body .stream-layout,
    html.app-document.ios-device body .book-talk-layout,
    html.app-document.ios-device body .announcements-layout,
    html.app-document.ios-device body .dashboard-grid,
    html.app-document.ios-device body .members-grid,
    html.app-document.ios-device body .settings-grid,
    html.app-document.ios-device body .subscription-page,
    html.app-document.ios-device body .profile-page{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document.ios-device body .library-tools{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
    html.app-document.ios-device body .library-tools-right{display:flex!important;width:100%!important}
    html.app-document.ios-device body .search-box{flex:1 1 220px!important;width:auto!important;min-width:0!important;max-width:100%!important}
    html.app-document.ios-device body .stream-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
    html.app-document.ios-device body .stream-controls>*{min-width:0!important;max-width:100%!important}
    html.app-document.ios-device body .stream-chat-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%!important;min-width:0!important}
    html.app-document.ios-device body .announcement-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    html.app-document.ios-device body[data-current-view="raffle"] .workspace,
    html.app-document.ios-device body[data-current-view="raffle"] .content,
    html.app-document.ios-device body[data-current-view="raffle"] .raffle-page,
    html.app-document.ios-device body[data-current-view="raffle"] .raffle-page-admin-stack>*{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}
    html.app-document.ios-device body .raffle-countdown-grid,
    html.app-document.ios-device body .live-map-stats,
    html.app-document.ios-device body .live-map-database-gauges{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}
    html.app-document.ios-device body[data-current-view="members"] .member-row,
    html.app-document.ios-device body[data-current-view="members"] .member-actions{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document.ios-device body .settings-grid,
    html.app-document.ios-device body .subscription-page,
    html.app-document.ios-device body .profile-page,
    html.app-document.ios-device body .private-video-recordings-grid{width:100%!important;min-width:0!important;max-width:100%!important}
    html.app-document.ios-device body .video-frame,
    html.app-document.ios-device body #rtcVideoFrame{
        width:min(100%,760px)!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:calc(100dvh - 88px)!important;
        aspect-ratio:16/9!important;
        margin-inline:auto!important;
        transform:none!important;
    }
    html.app-document.ios-device body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){font-size:16px!important;max-width:100%!important;box-sizing:border-box!important}
    html.app-document.ios-device body :where(.modal,.reader-dialog,.recordings-dialog,.private-video-recording-dialog,.public-profile-overlay,.subscription-cancel-confirm-backdrop,.announcement-media-viewer,.book-talk-media-viewer,.rtc-guest-dialog){
        width:100%!important;
        height:100dvh!important;
        max-height:100dvh!important;
        padding-top:max(6px,env(safe-area-inset-top,0px))!important;
        padding-right:max(8px,env(safe-area-inset-right,0px))!important;
        padding-bottom:max(6px,env(safe-area-inset-bottom,0px))!important;
        padding-left:max(8px,env(safe-area-inset-left,0px))!important;
        overflow:auto!important;
        box-sizing:border-box!important;
    }
}

/* Mobile Admin Broadcast: keep Stream Chat inside the visible viewport and
   reserve its bottom row for the message field and Send button. */
@media(max-width:760px){
    html.app-document body.stream-mobile-page.admin-broadcast-page{
        width:100%!important;
        height:100dvh!important;
        min-height:100dvh!important;
        max-height:100dvh!important;
        overflow:hidden!important;
        overscroll-behavior:none!important;
    }
    html.app-document body.stream-mobile-page.admin-broadcast-page .app-shell{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        height:100dvh!important;
        min-height:0!important;
        max-height:100dvh!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page.admin-broadcast-page .app-shell>aside.sidebar{
        position:relative!important;
        flex:0 0 auto!important;
    }
    html.app-document body.stream-mobile-page.admin-broadcast-page .app-shell>.stream-workspace{
        display:flex!important;
        flex:1 1 0!important;
        width:100%!important;
        height:0!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page.admin-broadcast-page .stream-content,
    html.app-document body.stream-mobile-page.admin-broadcast-page #rtcStreamApp,
    html.app-document body.stream-mobile-page.admin-broadcast-page #rtcStreamApp>.admin-viewer-panel{
        display:flex!important;
        flex:1 1 0!important;
        flex-direction:column!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] .stream-title-editor,
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] .video-frame,
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] .broadcast-controls-tab{
        flex:0 0 auto!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] .video-frame{
        flex:0 1 auto!important;
        height:clamp(112px,23dvh,190px)!important;
        min-height:112px!important;
        max-height:190px!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] .broadcast-controls-tab[open] .broadcast-controls-panel{
        max-height:min(25dvh,180px)!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatPanel{
        position:relative!important;
        display:grid!important;
        grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
        flex:1 1 0!important;
        width:100%!important;
        height:auto!important;
        min-height:calc(122px + env(safe-area-inset-bottom,0px))!important;
        max-height:none!important;
        margin-top:auto!important;
        padding:0!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatPanel>.stream-chat-head{
        grid-row:1!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatPanel>.stream-book-vote{
        grid-row:2!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatMessages{
        grid-row:3!important;
        width:100%!important;
        height:auto!important;
        min-height:56px!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatFeedback{
        grid-row:4!important;
        flex:0 0 auto!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatForm{
        position:relative!important;
        inset:auto!important;
        bottom:auto!important;
        grid-row:5!important;
        align-self:end!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 74px!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        border-top:1px solid var(--stream-chatbox-border,#ead8dd)!important;
        background:var(--stream-chatbox-color,#fff)!important;
        z-index:20!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatInput,
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatSend{
        height:50px!important;
        min-height:50px!important;
        margin:0!important;
        border-radius:0!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatSend{
        width:74px!important;
        min-width:74px!important;
    }
}

@media(max-width:430px){
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatForm{
        grid-template-columns:minmax(0,1fr) 68px!important;
    }
    html.app-document body.stream-mobile-page #rtcStreamApp[data-role="admin"] #streamChatSend{
        width:68px!important;
        min-width:68px!important;
    }
}

/* Member Live Stream: the player and queue must leave a real, visible region
   for Stream Chat rather than allowing the chat flex item to collapse. */
@media(min-width:761px){
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatPanel{
        display:flex!important;
        flex:1 1 220px!important;
        flex-direction:column!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        height:auto!important;
        min-height:220px!important;
        max-height:none!important;
        margin:0!important;
        overflow:hidden!important;
        pointer-events:auto!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatMessages{
        display:block!important;
        flex:1 1 0!important;
        visibility:visible!important;
        opacity:1!important;
        min-height:120px!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatForm{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        flex:0 0 auto!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        min-height:50px!important;
        pointer-events:auto!important;
    }
}

@media(max-width:760px){
    html.app-document body.stream-mobile-page.member-live-stream-page{
        width:100%!important;
        height:100dvh!important;
        min-height:100dvh!important;
        max-height:100dvh!important;
        overflow:hidden!important;
        overscroll-behavior:none!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page .app-shell{
        display:flex!important;
        flex-direction:column!important;
        width:100%!important;
        height:100dvh!important;
        min-height:0!important;
        max-height:100dvh!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page .app-shell>aside.sidebar{
        position:relative!important;
        flex:0 0 auto!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page .app-shell>.stream-workspace{
        display:flex!important;
        flex:1 1 0!important;
        width:100%!important;
        height:0!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page .stream-content,
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp,
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp>.member-viewer-panel{
        display:flex!important;
        flex:1 1 0!important;
        flex-direction:column!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] .video-frame{
        flex:0 1 auto!important;
        width:100%!important;
        height:clamp(112px,23dvh,190px)!important;
        min-height:112px!important;
        max-height:190px!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #streamQueueMobileHost{
        flex:0 0 auto!important;
        width:100%!important;
        max-height:min(22dvh,150px)!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatPanel{
        position:relative!important;
        display:grid!important;
        grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
        flex:1 1 0!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        height:auto!important;
        min-height:calc(150px + env(safe-area-inset-bottom,0px))!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        pointer-events:auto!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatPanel>.stream-chat-head{
        grid-row:1!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatPanel>.stream-book-vote{
        grid-row:2!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatMessages{
        display:block!important;
        grid-row:3!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        height:auto!important;
        min-height:64px!important;
        max-height:none!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatFeedback{
        grid-row:4!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatForm{
        position:relative!important;
        inset:auto!important;
        grid-row:5!important;
        align-self:end!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 74px!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        min-width:0!important;
        min-height:50px!important;
        margin:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important;
        background:var(--stream-chatbox-color,#fff)!important;
        pointer-events:auto!important;
        z-index:20!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatInput,
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatSend{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        height:50px!important;
        min-height:50px!important;
        margin:0!important;
        border-radius:0!important;
        pointer-events:auto!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatSend{
        width:74px!important;
        min-width:74px!important;
    }
}

@media(max-width:430px){
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatForm{
        grid-template-columns:minmax(0,1fr) 68px!important;
    }
    html.app-document body.stream-mobile-page.member-live-stream-page #rtcStreamApp[data-role="member"] #streamChatSend{
        width:68px!important;
        min-width:68px!important;
    }
}

/* When an Admin or Member focuses the Live Stream message field, use the
   browser's current Visual Viewport rather than the page bottom. This keeps
   the complete ChatBox and composer above mobile on-screen keypads. */
@media(max-width:960px), (hover:none) and (pointer:coarse){
    html.app-document body.stream-mobile-page.admin-broadcast-page.stream-chat-mobile-focus #streamChatPanel,
    html.app-document body.stream-mobile-page.member-live-stream-page.stream-chat-mobile-focus #streamChatPanel{
        position:fixed!important;
        top:var(--stream-chat-visual-top,0px)!important;
        right:auto!important;
        bottom:auto!important;
        left:var(--stream-chat-visual-left,0px)!important;
        display:grid!important;
        grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
        width:var(--stream-chat-visual-width,100vw)!important;
        min-width:0!important;
        max-width:none!important;
        height:var(--stream-chat-visual-height,100dvh)!important;
        min-height:0!important;
        max-height:var(--stream-chat-visual-height,100dvh)!important;
        margin:0!important;
        padding:max(4px,env(safe-area-inset-top,0px)) 0 var(--stream-chat-composer-height,50px)!important;
        border:0!important;
        border-radius:0!important;
        background:var(--stream-chatbox-color,#fff)!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
        z-index:2147483000!important;
        transform:none!important;
    }
    html.app-document body.stream-mobile-page.admin-broadcast-page.stream-chat-mobile-focus #streamChatMessages,
    html.app-document body.stream-mobile-page.member-live-stream-page.stream-chat-mobile-focus #streamChatMessages{
        min-height:0!important;
        padding-bottom:10px!important;
        scroll-padding-bottom:10px!important;
    }
    html.app-document body.stream-mobile-page.admin-broadcast-page.stream-chat-mobile-focus #streamChatForm,
    html.app-document body.stream-mobile-page.member-live-stream-page.stream-chat-mobile-focus #streamChatForm{
        position:fixed!important;
        top:var(--stream-chat-composer-top,calc(100dvh - 50px))!important;
        right:auto!important;
        bottom:auto!important;
        left:var(--stream-chat-visual-left,0px)!important;
        grid-row:5!important;
        align-self:end!important;
        width:var(--stream-chat-visual-width,100vw)!important;
        min-width:0!important;
        max-width:none!important;
        height:var(--stream-chat-composer-height,50px)!important;
        min-height:var(--stream-chat-composer-height,50px)!important;
        max-height:var(--stream-chat-composer-height,50px)!important;
        margin:0!important;
        padding-bottom:0!important;
        border-top:1px solid var(--stream-chatbox-border,#ead8dd)!important;
        background:var(--stream-chatbox-color,#fff)!important;
        box-sizing:border-box!important;
        box-shadow:0 -6px 18px rgba(70,40,49,.12)!important;
        overflow:hidden!important;
        z-index:2147483001!important;
        transform:translate3d(0,var(--stream-chat-composer-shift,0px),0)!important;
        will-change:top,transform!important;
    }
}

/* Mobile Member Live Stream Queue: keep the queue as a visible, button-only,
   edge-to-edge action area without changing the desktop queue layout. */
@media(max-width:760px){
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] .stream-queue-chat-card{
    position:relative!important;
    z-index:30!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    overflow:visible!important;
    pointer-events:auto!important;
    box-sizing:border-box!important;
}
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] .stream-queue-chat-card[hidden]{
    display:none!important;
}
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] .stream-queue-chat-copy{
    display:none!important;
}
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] .stream-queue-actions{
    position:relative!important;
    z-index:31!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    pointer-events:auto!important;
    box-sizing:border-box!important;
}
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] .stream-queue-chat-card.has-visible-leave .stream-queue-actions{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:7px!important;
    padding:0 7px 0 0!important;
}
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] #streamQueueJoin{
    position:relative!important;
    z-index:32!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:48px!important;
    margin:0!important;
    padding:10px 14px!important;
    border-radius:0!important;
    white-space:normal!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
    box-sizing:border-box!important;
}
html.app-document body.member-live-stream-page #rtcStreamApp[data-role="member"] #streamQueueLeave{
    position:relative!important;
    z-index:32!important;
    width:auto!important;
    min-height:48px!important;
    margin:0!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
}
}

/* Admin Broadcast and Member Live Stream: closed-by-default RTCWebcam controls.
   The two size buttons resize the player in 50px steps without changing the
   video aspect handling or allowing surrounding controls to overlap it. */
html.app-document body #rtcStreamApp .rtc-size-controls-tab{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-top:1px solid var(--line,#eadde1)!important;
    border-bottom:1px solid var(--line,#eadde1)!important;
    border-radius:0!important;
    background:#fff!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
html.app-document body #rtcStreamApp .rtc-size-controls-tab > summary{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    padding:10px 14px!important;
    border:0!important;
    list-style:none!important;
    background:#fff!important;
    color:var(--ink,#352a2e)!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
    text-align:center!important;
    cursor:pointer!important;
    user-select:none!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    box-sizing:border-box!important;
}
html.app-document body #rtcStreamApp .rtc-size-controls-tab > summary::-webkit-details-marker{
    display:none!important;
}
html.app-document body #rtcStreamApp .rtc-size-controls-tab .broadcast-controls-collapse{
    display:none!important;
}
html.app-document body #rtcStreamApp .rtc-size-controls-tab[open] .broadcast-controls-expand{
    display:none!important;
}
html.app-document body #rtcStreamApp .rtc-size-controls-tab[open] .broadcast-controls-collapse{
    display:inline!important;
}
html.app-document body #rtcStreamApp .rtc-size-controls-tab > .broadcast-controls-panel{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-top:1px solid var(--line,#eadde1)!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
html.app-document body #rtcStreamApp .rtc-webcam-size-control{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:10px 14px!important;
    border:0!important;
    border-bottom:1px solid var(--line,#eadde1)!important;
    background:#fff!important;
    color:var(--ink,#352a2e)!important;
    box-sizing:border-box!important;
}
html.app-document body #rtcStreamApp[data-role="member"] .rtc-webcam-size-control{
    border-bottom:0!important;
}
html.app-document body #rtcStreamApp .rtc-webcam-size-control > strong{
    min-width:0!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1.25!important;
}
html.app-document body #rtcStreamApp .rtc-webcam-size-actions{
    display:grid!important;
    grid-template-columns:46px minmax(82px,auto) 46px!important;
    align-items:center!important;
    gap:7px!important;
    flex:0 0 auto!important;
    min-width:0!important;
}
html.app-document body #rtcStreamApp .rtc-webcam-size-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--theme-deep,#733a49)!important;
    border-radius:10px!important;
    background:var(--theme-deep,#733a49)!important;
    color:#fff!important;
    font-size:23px!important;
    font-weight:950!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
}
html.app-document body #rtcStreamApp .rtc-webcam-size-button:hover:not(:disabled),
html.app-document body #rtcStreamApp .rtc-webcam-size-button:focus-visible{
    background:color-mix(in srgb,var(--theme-deep,#733a49) 88%,#000)!important;
    color:#fff!important;
}
html.app-document body #rtcStreamApp .rtc-webcam-size-button:disabled{
    opacity:.42!important;
    cursor:not-allowed!important;
}
html.app-document body #rtcStreamApp #rtcWebcamSizeValue{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:82px!important;
    min-height:42px!important;
    margin:0!important;
    padding:7px 9px!important;
    border:1px solid var(--line,#eadde1)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--theme-deep,#733a49)!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    box-sizing:border-box!important;
}

@media(max-width:760px){
    html.app-document body #rtcStreamApp .rtc-size-controls-tab > summary{
        min-height:44px!important;
        padding:9px 12px!important;
    }
    html.app-document body #rtcStreamApp .rtc-webcam-size-control{
        padding:8px 10px!important;
    }
    html.app-document body #rtcStreamApp .rtc-webcam-size-actions{
        grid-template-columns:42px minmax(76px,auto) 42px!important;
        gap:6px!important;
    }
    html.app-document body #rtcStreamApp .rtc-webcam-size-button{
        width:42px!important;
        min-width:42px!important;
        max-width:42px!important;
        height:40px!important;
        min-height:40px!important;
        max-height:40px!important;
    }
    html.app-document body:not(.stream-chat-mobile-focus) #rtcStreamApp.rtc-webcam-size-custom > .stream-stage-panel{
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
    }
    html.app-document body:not(.stream-chat-mobile-focus) #rtcStreamApp.rtc-webcam-size-custom #streamChatPanel{
        flex:0 0 clamp(260px,45dvh,420px)!important;
        height:clamp(260px,45dvh,420px)!important;
        min-height:260px!important;
        max-height:420px!important;
    }
}

@media(max-width:390px){
    html.app-document body #rtcStreamApp .rtc-webcam-size-control{
        align-items:stretch!important;
        flex-direction:column!important;
        gap:7px!important;
    }
    html.app-document body #rtcStreamApp .rtc-webcam-size-actions{
        grid-template-columns:42px minmax(0,1fr) 42px!important;
        width:100%!important;
    }
}

@media(prefers-reduced-motion:reduce){
    html.app-document *,
    html.app-document *::before,
    html.app-document *::after{scroll-behavior:auto!important}
}

/* Final pop-out guard: this stays after every iPhone keypad and RTC size rule. */
html.app-document.stream-popout-document body.stream-popout-page .app-shell,
html.app-document.stream-popout-document body.stream-popout-page .workspace,
html.app-document.stream-popout-document body.stream-popout-page .content,
html.app-document.stream-popout-document body.stream-popout-page #rtcStreamApp,
html.app-document.stream-popout-document body.stream-popout-page #rtcStreamApp>.stream-stage-panel{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
html.app-document.stream-popout-document body.stream-popout-page .app-shell{
    position:fixed!important;
    inset:var(--stream-popout-top,0) auto auto var(--stream-popout-left,0)!important;
    width:var(--stream-popout-width,100%)!important;
    height:var(--stream-popout-height,100%)!important;
}
html.app-document.stream-popout-document body.stream-popout-page .workspace,
html.app-document.stream-popout-document body.stream-popout-page .content,
html.app-document.stream-popout-document body.stream-popout-page #rtcStreamApp,
html.app-document.stream-popout-document body.stream-popout-page #rtcStreamApp>.stream-stage-panel{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
}
html.app-document.stream-popout-document body.stream-popout-page .app-shell>.sidebar,
html.app-document.stream-popout-document body.stream-popout-page #rtcStreamApp>.stream-side{
    display:none!important;
}
html.app-document.stream-popout-chat-document body.stream-popout-chat #rtcStreamApp>.stream-stage-panel>:not(#streamChatPanel){
    display:none!important;
}
html.app-document.stream-popout-chat-document body.stream-popout-chat #streamChatPanel,
html.app-document.stream-popout-chat-document body.stream-popout-chat.stream-chat-mobile-focus #streamChatPanel{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
}
html.app-document.stream-popout-chat-document body.stream-popout-chat #streamChatMessages{
    flex:1 1 0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
}
html.app-document.stream-popout-chat-document body.stream-popout-chat #streamChatForm,
html.app-document.stream-popout-chat-document body.stream-popout-chat.stream-chat-mobile-focus #streamChatForm{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    width:100%!important;
    margin:8px 0 0!important;
}
html.app-document.stream-popout-video-document body.stream-popout-video #rtcStreamApp>.stream-stage-panel>:not(#rtcVideoFrame){
    display:none!important;
}
html.app-document.stream-popout-video-document body.stream-popout-video #rtcVideoFrame,
html.app-document.stream-popout-video-document body.stream-popout-video #rtcStreamApp.rtc-webcam-size-custom #rtcVideoFrame{
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
}

/* The RTC pop-out always occupies the full responsive page, never a half-width
   stream column inherited from the normal Admin or Member layout. */
html.app-document.stream-popout-video-document body.stream-popout-page.stream-popout-video #rtcStreamApp #rtcVideoFrame,
html.app-document.stream-popout-video-document body.stream-popout-page.stream-popout-video #rtcStreamApp.rtc-webcam-size-custom #rtcVideoFrame{
    position:absolute!important;
    inset:0!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
}
html.app-document.stream-popout-video-document body.stream-popout-page.stream-popout-video #rtcStreamApp #rtcVideoFrame:not(.rtc-host-split-active):not(.recording-playback)>video#rtcVideo{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
    border:0!important;
    border-radius:0!important;
}

/* COURTREADZ 8.1.184 — Member Live Stream pop-out. The Member player has
   normal-page height and aspect-ratio rules that must never constrain the RTC
   frame after it is moved into its dedicated pop-out window. */
html.app-document.stream-popout-video-document.stream-popout-member-video-document,
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page .app-shell{
    position:fixed!important;
    inset:var(--stream-popout-top,0) auto auto var(--stream-popout-left,0)!important;
    width:var(--stream-popout-width,100vw)!important;
    min-width:var(--stream-popout-width,100vw)!important;
    max-width:var(--stream-popout-width,100vw)!important;
    height:var(--stream-popout-height,100dvh)!important;
    min-height:var(--stream-popout-height,100dvh)!important;
    max-height:var(--stream-popout-height,100dvh)!important;
}
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page .workspace,
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page .content,
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only,
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only>.member-viewer-panel{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only>.member-viewer-panel>:not(#rtcVideoFrame){
    display:none!important;
}
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer,
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only.rtc-webcam-size-custom>.member-viewer-panel>#rtcVideoFrame.viewer{
    position:absolute!important;
    inset:0!important;
    box-sizing:border-box!important;
    display:grid!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer::before,
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer::after{
    content:none!important;
    display:none!important;
}
html.app-document.stream-popout-video-document.stream-popout-member-video-document body.stream-popout-member-video-page #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer:not(.recording-playback)>video#rtcVideo{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
}

/* Server-rendered Member role fallback: applies before JavaScript marks the
   document and remains active if a browser restores the pop-out from cache. */
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video .app-shell,
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video .workspace,
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video .content,
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video #rtcStreamApp.member-stream-only,
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video #rtcStreamApp.member-stream-only>.member-viewer-panel,
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer{
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    aspect-ratio:auto!important;
}
html.app-document.stream-popout-video-document body.stream-mobile-page.member-live-stream-page.stream-popout-page.stream-popout-video #rtcStreamApp.member-stream-only>.member-viewer-panel>#rtcVideoFrame.viewer:not(.recording-playback)>video#rtcVideo{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
}

/* COURTREADZ 8.1.186 — Mobile Book Club Feed repaint and flicker guard. */
@media(max-width:760px){
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel[data-members-drawer-ready="0"]{
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
        transition:none!important;
        will-change:auto!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel[data-members-drawer-ready="1"]{
        visibility:visible!important;
        opacity:1!important;
        will-change:auto!important;
        transition:transform .22s cubic-bezier(.22,.78,.2,1)!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel,
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel.mobile-members-open{
        box-shadow:-10px 18px 42px rgba(65,25,40,.26)!important;
        backface-visibility:visible!important;
        -webkit-backface-visibility:visible!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel .book-talk-members-drawer-body,
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel .book-talk-members-search,
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel .book-talk-members-scroll,
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-post,
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages .book-talk-category-card{
        animation:none!important;
        transition:none!important;
        will-change:auto!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-post,
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages .book-talk-category-card{
        contain:layout style!important;
    }
    html.app-document body[data-current-view="book_talk"] .book-talk-account-type-badge.is-owner,
    html.app-document body[data-current-view="book_talk"] .book-talk-member.owner-account::before,
    html.app-document body[data-current-view="book_talk"] .book-talk-member.has-unread .book-talk-member-copy strong{
        animation:none!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed,
    html.app-document body[data-current-view="book_talk"] #bookTalkMembersPanel .book-talk-members-scroll{
        scroll-behavior:auto!important;
        overflow-anchor:none!important;
        -webkit-overflow-scrolling:touch!important;
    }
}

/* COURTREADZ 8.1.198 — final Feed composer lock: complete tripod camera icon beside Post. */
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp #bookTalkForm.book-talk-form.book-talk-feed-composer:not([hidden]){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 72px 72px!important;
    grid-template-areas:"message attach post"!important;
    align-items:stretch!important;
    gap:6px!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp #bookTalkInput{
    grid-area:message!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    align-self:stretch!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp #bookTalkComposerMedia{
    grid-area:attach!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    align-self:stretch!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp #bookTalkComposerMedia>img{
    display:block!important;
    width:32px!important;
    max-width:32px!important;
    height:40px!important;
    max-height:40px!important;
    margin:auto!important;
    object-fit:contain!important;
    object-position:center!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp #bookTalkSend{
    grid-area:post!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    align-self:stretch!important;
}

/* COURTREADZ 8.1.205 — Facebook-style Feed galleries with automatic sizing. */
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-strip{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 0!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:4 / 3!important;
    gap:3px!important;
    overflow:hidden!important;
    border:1px solid var(--theme-border,#ddbfc7)!important;
    border-radius:12px!important;
    background:#171417!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-1{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    aspect-ratio:16 / 10!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:minmax(0,1fr)!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-3{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-3 .book-talk-media-gallery-tile:first-child{
    grid-row:1 / span 2!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-tile{
    position:relative!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#171417!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-card{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#171417!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-thumb-image,
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-thumb-video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    background:#171417!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-1 .book-talk-media-thumb-image,
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-1 .book-talk-media-thumb-video{
    object-fit:contain!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-more{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:0!important;
    transform:none!important;

    position:absolute!important;
    inset:0!important;
    z-index:4!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(15,13,15,.58)!important;
    color:#fff!important;
    font-size:clamp(28px,7vw,48px)!important;
    font-weight:800!important;
    line-height:1!important;
    text-shadow:0 2px 12px rgba(0,0,0,.65)!important;
    pointer-events:none!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery .book-talk-media-corner-remove{
    z-index:8!important;
}
.book-talk-media-viewer-gallery-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin-right:auto!important;
}
.book-talk-media-viewer-gallery-controls:has(>button[hidden]){display:none!important}
#bookTalkMediaCounter{
    min-width:58px!important;
    color:var(--ink,#3f2931)!important;
    font-size:12px!important;
    font-weight:900!important;
    text-align:center!important;
    font-variant-numeric:tabular-nums!important;
}
@media(max-width:760px){
    html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery{
        aspect-ratio:1 / 1!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-1{
        aspect-ratio:4 / 3!important;
    }
    .book-talk-media-viewer-gallery-controls{
        order:-2!important;
        width:100%!important;
        margin:0!important;
    }
}

/* COURTREADZ 8.1.206 — full-page mobile media and a vertical all-items viewer. */
html.app-document body.book-talk-mobile-media-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single,
html.app-document body .book-talk-media-viewer.is-mobile-gallery{
    inset:0!important;
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:0!important;
    overflow:hidden!important;
    background:#111!important;
    backdrop-filter:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single[hidden],
html.app-document body .book-talk-media-viewer.is-mobile-gallery[hidden]{display:none!important}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-panel,
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-panel{
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#111!important;
    box-shadow:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-close,
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-close{
    display:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-body,
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-body{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    background:#111!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-body{
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-body>img,
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-body>video{
    display:block!important;
    width:auto!important;
    max-width:100vw!important;
    height:auto!important;
    max-height:100%!important;
    margin:auto!important;
    object-fit:contain!important;
    background:#111!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-body>video{
    width:100%!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-body{
    display:block!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
}
.book-talk-media-viewer-mobile-gallery[hidden]{display:none!important}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-gallery{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-height:100%!important;
    gap:4px!important;
    padding:0 0 6px!important;
    background:#111!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    background:#111!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item img,
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item video{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    background:#111!important;
}
html.app-document body .book-talk-media-viewer video{cursor:pointer!important}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-actions,
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-actions{
    display:flex!important;
    flex:0 0 auto!important;
    width:100%!important;
    padding:8px max(10px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    background:#fff!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-single .book-talk-media-viewer-actions>:not(#bookTalkMediaViewerDone),
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-actions>:not(#bookTalkMediaViewerDone){display:none!important}
html.app-document body .book-talk-media-viewer.is-mobile-single #bookTalkMediaViewerDone,
html.app-document body .book-talk-media-viewer.is-mobile-gallery #bookTalkMediaViewerDone{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
}

/* COURTREADZ 8.1.210 — lightweight thumbnails and static video previews. */
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery{
    contain:layout paint style!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-gallery-tile{
    contain:layout paint!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-thumb-image:not(.is-ready),
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-thumb-video:not(.is-ready){
    opacity:0!important;
}
html.app-document body[data-current-view="book_talk"] #bookClubTalkApp .book-talk-media-thumb-video-static{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    background:
        radial-gradient(circle at 50% 50%,rgba(255,255,255,.14) 0 14%,transparent 15%),
        linear-gradient(145deg,#2c2228,#120f11)!important;
    pointer-events:none!important;
}
html.app-document body .announcement-video-thumb-static{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    background:
        radial-gradient(circle at 50% 50%,rgba(255,255,255,.13) 0 14%,transparent 15%),
        linear-gradient(145deg,#2c2228,#120f11)!important;
    pointer-events:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    height:clamp(260px,72vh,720px)!important;
    height:clamp(260px,72dvh,720px)!important;
    min-height:clamp(260px,72vh,720px)!important;
    min-height:clamp(260px,72dvh,720px)!important;
    max-height:clamp(260px,72vh,720px)!important;
    max-height:clamp(260px,72dvh,720px)!important;
    contain:layout paint style!important;
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item img,
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item video{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    object-fit:contain!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-video-placeholder{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    z-index:3!important;
    display:grid!important;
    place-items:center!important;
    width:64px!important;
    height:64px!important;
    transform:translate(-50%,-50%)!important;
    border-radius:50%!important;
    background:rgba(0,0,0,.72)!important;
    color:#fff!important;
    font-size:28px!important;
    padding-left:4px!important;
    pointer-events:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item.is-video-loaded .book-talk-media-viewer-video-placeholder{
    display:none!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item:not(.is-media-ready)::after{
    content:"Loading…";
    position:absolute!important;
    color:#f6edf0!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
}
html.app-document body .book-talk-media-viewer.is-mobile-gallery .book-talk-media-viewer-mobile-item.has-media-error::after{
    content:"Media could not load";
}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-post{
    content-visibility:visible!important;
    contain:layout paint style!important;
    contain-intrinsic-size:none!important;
}

/* COURTREADZ 8.1.249 — compact ordered Feed layout with tighter row spacing.
   Fixed-width panels span the full right workspace without stretching. */
@media(min-width:761px){
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed,
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed.book-talk-masonry-ready{
        display:flex!important;
        flex-flow:row wrap!important;
        align-content:flex-start!important;
        align-items:flex-start!important;
        justify-content:space-between!important;
        box-sizing:border-box!important;
        width:100%!important;
        max-width:none!important;
        column-gap:3px!important;
        row-gap:1px!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-post,
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed.book-talk-masonry-ready>.book-talk-feed-post{
        position:relative!important;
        inset:auto!important;
        box-sizing:border-box!important;
        display:flex!important;
        flex:0 1 320px!important;
        flex-direction:column!important;
        order:0!important;
        width:320px!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        align-self:flex-start!important;
        grid-row:auto!important;
        float:none!important;
        clear:none!important;
        transform:none!important;
        overflow:hidden!important;
        contain:paint style!important;
        content-visibility:visible!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages>.book-talk-category-hub{
        display:flex!important;
        flex-flow:row wrap!important;
        align-items:stretch!important;
        align-content:flex-start!important;
        justify-content:space-between!important;
        box-sizing:border-box!important;
        width:100%!important;
        max-width:none!important;
        column-gap:3px!important;
        row-gap:1px!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages>.book-talk-category-hub>.book-talk-category-card{
        position:relative!important;
        inset:auto!important;
        box-sizing:border-box!important;
        flex:0 1 220px!important;
        order:0!important;
        width:220px!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        margin:0!important;
        align-self:stretch!important;
        float:none!important;
        clear:none!important;
        transform:none!important;
        overflow:hidden!important;
    }
}
@media(max-width:760px){
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed{
        display:flex!important;
        flex-flow:column nowrap!important;
        align-items:stretch!important;
        align-content:flex-start!important;
        justify-content:space-between!important;
        column-gap:3px!important;
        row-gap:1px!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-post{
        position:relative!important;
        inset:auto!important;
        box-sizing:border-box!important;
        flex:0 0 auto!important;
        order:0!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        float:none!important;
        clear:none!important;
        transform:none!important;
        overflow:hidden!important;
        contain:paint style!important;
    }
}

/* COURTREADZ 8.1.253 — opened-category post panels fill the Feed workspace
   as one compact group, with a consistent 10px gap in both directions. */
@media(min-width:761px){
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed{
        box-sizing:border-box!important;
        display:flex!important;
        flex-flow:row wrap!important;
        align-items:flex-start!important;
        align-content:flex-start!important;
        justify-content:flex-start!important;
        width:100%!important;
        max-width:none!important;
        column-gap:10px!important;
        row-gap:0!important;
        padding-right:0!important;
        padding-left:0!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-column{
        box-sizing:border-box!important;
        display:flex!important;
        flex:1 1 320px!important;
        flex-direction:column!important;
        align-items:stretch!important;
        align-self:flex-start!important;
        width:auto!important;
        min-width:0!important;
        max-width:100%!important;
        gap:10px!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-post,
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-column>.book-talk-feed-post{
        position:relative!important;
        inset:auto!important;
        box-sizing:border-box!important;
        display:flex!important;
        flex:0 0 auto!important;
        flex-direction:column!important;
        order:0!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        align-self:stretch!important;
        float:none!important;
        clear:none!important;
        transform:none!important;
        overflow:hidden!important;
        contain:paint style!important;
        content-visibility:visible!important;
    }
    /* COURTREADZ 8.1.252 — keep category selector cards compact. */
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages>.book-talk-category-hub{
        box-sizing:border-box!important;
        display:flex!important;
        flex-flow:row wrap!important;
        align-items:stretch!important;
        align-content:flex-start!important;
        justify-content:flex-start!important;
        width:100%!important;
        max-width:none!important;
        column-gap:3px!important;
        row-gap:1px!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages>.book-talk-category-hub>.book-talk-category-card{
        box-sizing:border-box!important;
        flex:0 1 220px!important;
        width:220px!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        margin:0!important;
        align-self:stretch!important;
    }
}
@media(max-width:760px){
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-column{
        display:contents!important;
    }
    html.app-document body[data-current-view="book_talk"] #bookTalkMessages.book-talk-feed>.book-talk-feed-column>.book-talk-feed-post{
        position:relative!important;
        box-sizing:border-box!important;
        display:flex!important;
        flex:0 0 auto!important;
        flex-direction:column!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        margin:0!important;
    }
}

/* COURTREADZ 8.1.256 — keep Feed images, videos and Buy Now content 3px
   inside the post panel, including iPhone and other narrow mobile layouts. */
html.app-document body[data-current-view="book_talk"] #bookTalkMessages .book-talk-feed-post > .book-talk-media-strip,
html.app-document body[data-current-view="book_talk"] #bookTalkMessages .book-talk-feed-post > .book-sale-card{
    box-sizing:border-box!important;
    width:calc(100% - 6px)!important;
    min-width:0!important;
    max-width:calc(100% - 6px)!important;
    margin:3px!important;
}
html.app-document body[data-current-view="book_talk"] #bookTalkMessages .book-talk-feed-post > .book-talk-media-strip{
    padding:0!important;
}

/* COURTREADZ 8.1.260 — iPhone and narrow mobile authentication modes use one
   measured top anchor without forcing Sign In and Register to equal heights. */
@media(max-width:760px){
html.login-document.login-mobile-device.login-position-measured:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page .login-fitted-group,
html.login-document.login-mobile-device.login-position-measured:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page[data-auth-mode="login"] .login-fitted-group,
html.login-document.login-mobile-device.login-position-measured:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page[data-auth-mode="register"] .login-fitted-group,
html.login-document.login-mobile-device.login-position-measured:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page[data-auth-mode="password_reset"] .login-fitted-group{
    top:var(--login-mobile-stable-top,var(--login-group-top,max(5px,env(safe-area-inset-top,0px))))!important;
    bottom:auto!important;
    transform:translate3d(0,0,0)!important;
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
}
}

/* COURTREADZ 8.1.268 — iPhone authentication keeps one fixed card height for
   Sign In, one for Register and one for Password Reset. Native keypad/browser
   viewport updates may move the viewing surface but cannot resize the card. */
@media(max-width:760px){
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-sizes-locked[data-auth-mode="login"]{--login-mobile-active-panel-height:var(--login-mobile-signin-panel-height)}
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-sizes-locked[data-auth-mode="register"]{--login-mobile-active-panel-height:var(--login-mobile-register-panel-height)}
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-sizes-locked[data-auth-mode="password_reset"]{--login-mobile-active-panel-height:var(--login-mobile-password-reset-panel-height)}
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-sizes-locked .login-fitted-group>.login-panel,
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-sizes-locked .login-fitted-group>.login-panel>.login-box{
    box-sizing:border-box!important;
    height:var(--login-mobile-active-panel-height)!important;
    min-height:var(--login-mobile-active-panel-height)!important;
    max-height:var(--login-mobile-active-panel-height)!important;
    transition:none!important;
    animation:none!important;
}
html.login-document.login-mobile-device:not(.login-keyboard-open) body.login-body .login-page.login-mobile-mode-sizes-locked .login-fitted-group>.login-panel,
html.login-document.login-mobile-device:not(.login-keyboard-open) body.login-body .login-page.login-mobile-mode-sizes-locked .login-fitted-group>.login-panel>.login-box{
    overflow:visible!important;
}
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-size-measuring .login-fitted-group>.login-panel,
html.login-document.login-mobile-device body.login-body .login-page.login-mobile-mode-size-measuring .login-fitted-group>.login-panel>.login-box{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
}
}

/* COURTREADZ 8.1.270 — iPhone keeps the existing page and fixed mode sizes;
   only the complete compact card translates to reveal the selected input. */
@media(max-width:760px){
html.login-document.login-mobile-device body.login-body .login-page .login-fitted-group>.login-panel>.login-box{padding:0 16px 10px!important}
html.login-document.login-mobile-device body.login-body .login-page .login-panel-logo{padding:1px 0 0!important}
html.login-document.login-mobile-device body.login-body .login-page .auth-tabs{margin-bottom:7px!important}
html.login-document.login-mobile-device body.login-body .login-page .field{margin-bottom:6px!important}
html.login-document.login-mobile-device body.login-body .login-page .field input{min-height:38px!important;padding-top:7px!important;padding-bottom:7px!important}
html.login-document.login-mobile-device:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page[data-auth-mode] .login-fitted-group,
html.login-document.login-mobile-device.login-position-measured:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page[data-auth-mode] .login-fitted-group{position:fixed!important;top:max(5px,env(safe-area-inset-top,0px))!important;bottom:auto!important;transform:translate3d(0,0,0)!important;transform-origin:center top!important;transition:none!important}
html.login-document.login-mobile-device.login-position-measured.login-mobile-input-lift-active:not(.login-keyboard-open):not(.login-panel-returning) body.login-body .login-page[data-auth-mode] .login-fitted-group{transform:translate3d(0,var(--login-mobile-input-lift,0px),0)!important;transition:transform 180ms cubic-bezier(.22,.74,.24,1)!important;will-change:transform!important}
}

/* COURTREADZ 8.3.334 — the gallery is vertical content, not a horizontal tab strip.
   Two IDs intentionally outrank the later mobile :is(#bookTalkCategories,...)
   rule in merch-full-bleed.css. Keep scrolling on the viewer body: a nested
   overflow-x:auto / overflow-y:hidden box captures mobile touch gestures. */
html.app-document body #bookTalkMediaViewer.is-mobile-gallery #bookTalkMediaViewerGallery{
    overflow:visible!important;
    touch-action:pan-y!important;
    overscroll-behavior:auto!important;
}

/* 8.3.348 — account +N galleries match the public book-width viewer. */
html.app-document body #bookTalkMediaViewer.is-mobile-gallery{display:grid!important;place-items:center!important;background:rgba(8,7,11,.76)!important;padding:10px!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-panel{position:relative!important;display:flex!important;flex-direction:column!important;width:var(--account-gallery-width,min(480px,100vw))!important;min-width:0!important;max-width:100%!important;height:min(90dvh,900px)!important;min-height:0!important;max-height:calc(100dvh - 32px)!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:hidden!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-body{display:block!important;flex:1 1 0!important;padding:0!important;background:transparent!important;overflow-x:hidden!important;overflow-y:scroll!important;scrollbar-gutter:stable!important;scrollbar-width:thin!important;scrollbar-color:#a97888 #eee4e8!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-body::-webkit-scrollbar{display:block!important;width:10px!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-body::-webkit-scrollbar-track{background:#eee4e8!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-body::-webkit-scrollbar-thumb{background:#a97888!important;border:2px solid #eee4e8!important;border-radius:8px!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery #bookTalkMediaViewerGallery{min-height:0!important;gap:16px!important;padding:0!important;background:transparent!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-mobile-item{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;background:transparent!important;contain:none!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-mobile-item:not(.is-media-ready){min-height:70dvh!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-mobile-item img,
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-mobile-item video{display:block!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:70dvh!important;margin:0 auto!important;object-fit:contain!important;background:transparent!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-actions{display:none!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery #bookTalkMediaViewerClose{display:grid!important;position:absolute!important;top:max(8px,env(safe-area-inset-top,0px))!important;right:18px!important;z-index:10!important;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid rgba(111,79,88,.16)!important;border-radius:10px!important;background:linear-gradient(180deg,#fff,#fbf4f6)!important;color:#684a53!important;font:700 20px/1 Arial,Helvetica,sans-serif!important;box-shadow:0 3px 9px rgba(86,48,59,.08)!important}
@media(max-width:760px){
html.app-document body #bookTalkMediaViewer.is-mobile-gallery{padding:0!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-panel{height:100dvh!important;max-height:100dvh!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery #bookTalkMediaViewerGallery{gap:8px!important}
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-mobile-item img,
html.app-document body #bookTalkMediaViewer.is-mobile-gallery .book-talk-media-viewer-mobile-item video{max-height:76dvh!important}
}

/* 8.3.351 — Private Chat rows need their actual heights immediately. Public
   Feed cards use deferred rendering, but placeholder chat-row heights move the
   latest message and the reader's scroll anchor after every refresh. */
html.app-document body #bookTalkMessages.is-private-conversation .book-talk-message{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
}

/* 8.3.350 — book review reference layout. Font is bundled for consistent script lettering. */
@font-face{font-family:CourtreadzReviewScript;src:url('fonts/DancingScript.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
html body #courtreadzReviewDialog{--review-pink:#c91464;--review-muted:#a43c78;box-sizing:border-box;container-type:inline-size;width:min(860px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;margin:auto;border:5px solid #edbfd8;border-radius:32px;background:#fff;color:#16101e;box-shadow:0 0 0 2px #fff6fb inset,0 24px 90px #34172866;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
#courtreadzReviewDialog::backdrop{background:#28172d99;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#courtreadzReviewDialog .review-detail-panel{position:relative;display:flex;flex-direction:column;max-height:calc(100dvh - 34px);min-height:0}
#courtreadzReviewDialog button{box-sizing:border-box;cursor:pointer;transform:none!important;text-transform:none!important;letter-spacing:normal!important}
#courtreadzReviewDialog button:focus-visible{outline:3px solid #aa1c5e;outline-offset:3px}
#courtreadzReviewDialog .review-detail-close{position:absolute;right:clamp(10px,1.8cqw,16px);top:clamp(10px,1.8cqw,16px);z-index:2;display:grid;place-items:center;width:clamp(40px,7.5cqw,64px)!important;height:clamp(40px,7.5cqw,64px)!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fcf0f6!important;color:var(--review-pink)!important;box-shadow:none!important}
#courtreadzReviewDialog .review-detail-close svg{display:block;width:55%;height:55%;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
#courtreadzReviewDialog .review-detail-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:clamp(14px,4.1cqw,36px) clamp(12px,3.4cqw,30px) 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#dfadc8 transparent}
#courtreadzReviewDialog .review-detail-heading{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:clamp(14px,4cqw,34px);align-items:start;padding:0 5px}
#courtreadzReviewDialog .review-detail-cover{display:grid;place-items:center;min-width:0;font-size:70px}
#courtreadzReviewDialog .review-detail-cover img{display:block;width:100%;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 8px 22px #85345414}
#courtreadzReviewDialog .review-detail-meta{min-width:0;padding:0;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start}
#courtreadzReviewDialog .review-detail-number{display:inline-grid;place-items:center;box-sizing:border-box;flex:none;width:clamp(34px,8.5cqw,74px);height:clamp(34px,8.5cqw,74px);padding:0;border-radius:50%;background:#d40b65;color:#fff;font-size:clamp(19px,4.4cqw,38px);font-weight:800;line-height:1}
#courtreadzReviewDialog h2{margin:clamp(12px,2cqw,18px) 0 clamp(10px,2cqw,18px);padding:0;font:bold clamp(23px,6.4cqw,54px)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#120c20;word-break:normal;overflow-wrap:break-word}
#courtreadzReviewDialog .review-detail-author{margin:0 0 clamp(12px,2.8cqw,24px);color:var(--review-muted);font-size:clamp(18px,4.8cqw,41px);font-weight:600;line-height:1.18;overflow-wrap:break-word}
#courtreadzReviewDialog .review-detail-stars{display:flex;align-items:center;gap:clamp(4px,1.1cqw,10px);color:#ca0d62;margin:0 0 clamp(14px,3.6cqw,31px);max-width:100%}
#courtreadzReviewDialog .review-detail-stars svg{display:block;flex:0 1 auto;width:clamp(22px,5.9cqw,51px);height:clamp(22px,5.9cqw,51px);fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
#courtreadzReviewDialog .review-detail-stars svg.is-filled{fill:currentColor}
#courtreadzReviewDialog .review-detail-stars>span{font-size:clamp(15px,2.8cqw,24px)}
#courtreadzReviewDialog .review-detail-genre{display:flex;align-items:center;justify-content:center;gap:clamp(7px,1.6cqw,14px);box-sizing:border-box;max-width:100%;margin:auto 0 0;padding:clamp(8px,1.8cqw,16px) clamp(9px,3.2cqw,28px);border:2px solid #dfb2ca;border-radius:50px;color:var(--review-muted);font-weight:700;font-size:clamp(12px,2.9cqw,25px);line-height:1.2;overflow-wrap:break-word}
#courtreadzReviewDialog .review-detail-genre svg{width:clamp(22px,4cqw,34px);height:clamp(22px,4cqw,34px);flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#courtreadzReviewDialog .review-detail-text{margin-top:clamp(18px,4cqw,35px);padding:clamp(16px,2.8cqw,24px) clamp(16px,5.7cqw,49px) clamp(16px,2cqw,22px);border-radius:28px;background:#fcf5f9}
#courtreadzReviewDialog .review-detail-text h3{display:flex;align-items:center;gap:clamp(9px,1.6cqw,14px);margin:0 0 clamp(10px,1.5cqw,16px);color:#c02a69;font:600 clamp(32px,6.6cqw,57px)/1.15 CourtreadzReviewScript,'Segoe Script','Brush Script MT',cursive}
#courtreadzReviewDialog .review-detail-quote{display:block;flex:none;height:.82em;overflow:hidden;font:bold 1.75em/1 Georgia,serif;transform:translateY(.03em)}
#courtreadzReviewDialog .review-detail-text p{margin:0;font-size:clamp(17px,3.95cqw,34px);line-height:1.45;font-weight:400;letter-spacing:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#191424}
#courtreadzReviewDialog .review-detail-footer{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(5px,1.5cqw,13px);margin:0 clamp(12px,3.4cqw,30px) clamp(12px,2.3cqw,20px);padding:clamp(10px,1.5cqw,14px) clamp(10px,3cqw,26px);border:1px solid #edcfdf;border-radius:28px;background:linear-gradient(110deg,#fff9fc,#fff5fa);color:#b51b61}
#courtreadzReviewDialog .review-detail-heart{display:grid;place-items:center;flex:none;border:0!important;border-right:1px solid #d6a4bd!important;border-radius:0!important;background:transparent!important;color:#c70b60!important;padding:0 clamp(8px,3.8cqw,33px) 0 0!important;min-height:44px!important;min-width:0!important;box-shadow:none!important}
#courtreadzReviewDialog .review-detail-heart svg{display:block;width:clamp(29px,6.6cqw,57px);height:clamp(29px,6.6cqw,57px);fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#courtreadzReviewDialog .review-detail-heart.is-selected svg{fill:currentColor}
#courtreadzReviewDialog .review-detail-social-icons{position:relative;display:flex;align-items:center;flex:0 0 clamp(42px,11.3cqw,98px);height:clamp(34px,6.7cqw,58px);margin-left:clamp(0px,1.2cqw,10px)}
#courtreadzReviewDialog .review-detail-social-heart{display:block;color:#ce0961;width:65%;transform:rotate(-9deg)}
#courtreadzReviewDialog .review-detail-social-heart svg{display:block;width:100%;height:auto;fill:currentColor;stroke:currentColor;stroke-width:2}
#courtreadzReviewDialog .review-detail-social-heart::before{content:'✦';position:absolute;left:-6px;top:-5px;font:15px Arial;color:#db3a85}
#courtreadzReviewDialog .review-detail-social-face{position:absolute;right:0;top:50%;transform:translateY(-48%);width:clamp(26px,5cqw,43px);height:clamp(26px,5cqw,43px);line-height:1}
#courtreadzReviewDialog .review-detail-social-face svg{display:block;width:100%;height:100%}
#courtreadzReviewDialog .review-detail-count{display:block;flex:1 1 0;min-width:0;color:#b41c62;line-height:1.15}
#courtreadzReviewDialog .review-detail-count strong{display:block;font-size:clamp(13px,2.8cqw,24px);font-weight:750}
#courtreadzReviewDialog .review-detail-count small{display:block;margin-top:2px;font-size:clamp(11px,2.25cqw,19px);color:#9e4b75}
#courtreadzReviewDialog .review-detail-react{display:flex;align-items:center;gap:6px;flex:none;border:0!important;border-radius:0!important;background:transparent!important;color:#bd2068!important;font:600 clamp(22px,4cqw,35px)/1 CourtreadzReviewScript,'Segoe Script',cursive!important;min-height:44px!important;min-width:0!important;padding:0!important;box-shadow:none!important;white-space:nowrap!important}
#courtreadzReviewDialog .review-detail-react svg{width:clamp(20px,4cqw,34px);height:24px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#courtreadzReviewDialog .review-detail-choices{display:flex;gap:8px;width:100%;flex-wrap:wrap;padding-top:6px}
#courtreadzReviewDialog .review-detail-choices[hidden]{display:none!important}
#courtreadzReviewDialog .review-detail-choices button{min-height:44px;min-width:44px;padding:6px 12px;border:1px solid #ebc3d8;border-radius:12px;background:white;color:#a82261;font-size:20px}
#courtreadzReviewDialog .review-detail-choices [aria-pressed="true"]{box-shadow:inset 0 0 0 2px #c70b60}
#courtreadzReviewDialog .review-detail-error:empty{display:none}
#courtreadzReviewDialog .review-detail-error{width:100%;font-size:14px;color:#9c213e}
html body .book-talk-private-review-card[data-profile-review-index]{cursor:pointer}
html body .book-talk-private-review-card[data-profile-review-index]:focus-visible{outline:3px solid #c70b60;outline-offset:2px}
@media(max-width:600px){
html body #courtreadzReviewDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 20px);border-width:3px;border-radius:20px}
#courtreadzReviewDialog .review-detail-panel{max-height:calc(100dvh - 26px)}
#courtreadzReviewDialog .review-detail-scroll{padding-top:18px}
#courtreadzReviewDialog .review-detail-heading{gap:14px;padding:0}
#courtreadzReviewDialog .review-detail-text{border-radius:20px}
#courtreadzReviewDialog .review-detail-footer{margin-bottom:max(12px,env(safe-area-inset-bottom,0px));border-radius:20px}
}


/* 8.3.363: root the mobile Stream Chat composer outside clipped video panels.
   JS measures the actual bottom taskbar and keyboard edge, including iOS offsets. */
html.app-document body.stream-mobile-composer-active > #streamMobileComposerDock{
    position:fixed!important;
    top:var(--stream-chat-composer-top,calc(100dvh - 114px))!important;
    right:auto!important;bottom:auto!important;
    left:var(--stream-chat-visual-left,0px)!important;
    z-index:2147481900!important;
    display:flex!important;flex-direction:column!important;
    box-sizing:border-box!important;
    width:var(--stream-chat-visual-width,100vw)!important;
    min-width:0!important;max-width:none!important;
    height:auto!important;min-height:54px!important;max-height:none!important;
    margin:0!important;padding:0!important;
    border:0!important;border-top:1px solid var(--stream-chatbox-border,#ead8dd)!important;
    border-radius:0!important;
    background:var(--stream-chatbox-color,#fff)!important;
    color:var(--stream-chatbox-text,#482432)!important;
    box-shadow:0 -3px 12px rgba(70,40,49,.10)!important;
    visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    overflow:visible!important;transform:none!important;filter:none!important;
    contain:none!important;isolation:isolate!important;
}
html.app-document body.stream-mobile-composer-active > #streamMobileComposerDock > #streamChatForm{
    position:relative!important;inset:auto!important;transform:none!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) 64px!important;
    align-items:center!important;gap:6px!important;
    box-sizing:border-box!important;flex:0 0 auto!important;
    width:100%!important;min-width:0!important;max-width:none!important;
    height:auto!important;min-height:54px!important;max-height:none!important;
    margin:0!important;
    padding:5px max(6px,env(safe-area-inset-right,0px)) 5px max(6px,env(safe-area-inset-left,0px))!important;
    border:0!important;border-radius:0!important;
    background:var(--stream-chatbox-color,#fff)!important;
    visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    overflow:visible!important;
}
html.app-document body.stream-mobile-composer-active #streamMobileComposerDock :is(#streamChatInput,#streamChatSend){
    position:relative!important;inset:auto!important;
    display:block!important;box-sizing:border-box!important;
    width:100%!important;min-width:0!important;max-width:none!important;
    height:44px!important;min-height:44px!important;max-height:44px!important;
    margin:0!important;padding:8px 10px!important;
    border:1px solid var(--stream-chatbox-border,#ead8dd)!important;
    border-radius:9px!important;font-size:16px!important;line-height:1.25!important;
    visibility:visible!important;pointer-events:auto!important;transform:none!important;
    touch-action:manipulation!important;
}
html.app-document body.stream-mobile-composer-active #streamMobileComposerDock #streamChatInput{
    background:var(--stream-chatbox-input,#fff)!important;color:var(--stream-chatbox-text,#482432)!important;
}
html.app-document body.stream-mobile-composer-active #streamMobileComposerDock #streamChatSend{
    background:var(--stream-chatbox-button,#bb4169)!important;color:var(--stream-chatbox-button-text,#fff)!important;
    font-size:14px!important;font-weight:700!important;white-space:nowrap!important;
}
html.app-document body.stream-mobile-composer-active #streamMobileComposerDock :is(#streamChatInput,#streamChatSend):disabled{opacity:.6!important}
html.app-document body.stream-mobile-composer-active #streamMobileComposerDock #streamChatFeedback{
    display:block!important;flex:0 0 auto!important;box-sizing:border-box!important;
    width:100%!important;min-height:0!important;max-height:64px!important;
    margin:0!important;padding:4px 8px 0!important;overflow:auto!important;
    font-size:12px!important;line-height:1.35!important;
}
html.app-document body.stream-mobile-composer-active #streamMobileComposerDock #streamChatFeedback:empty{display:none!important}
html.app-document body.stream-mobile-composer-active #streamChatPanel > .stream-mobile-composer-space{
    display:block!important;grid-row:5!important;flex:0 0 calc(var(--stream-chat-composer-height,55px) + var(--stream-chat-bottom-clearance,60px))!important;
    height:calc(var(--stream-chat-composer-height,55px) + var(--stream-chat-bottom-clearance,60px))!important;min-height:calc(var(--stream-chat-composer-height,55px) + var(--stream-chat-bottom-clearance,60px))!important;
    pointer-events:none!important;
}
html.app-document body.stream-mobile-composer-active.stream-chat-mobile-focus #streamChatPanel > .stream-mobile-composer-space{display:none!important}
html.app-document body.stream-mobile-page.stream-mobile-composer-active.stream-chat-mobile-focus #rtcStreamApp[data-role] #streamChatPanel{
    position:fixed!important;
    top:var(--stream-chat-visual-top,0px)!important;right:auto!important;bottom:auto!important;left:var(--stream-chat-visual-left,0px)!important;
    display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;
    width:var(--stream-chat-visual-width,100vw)!important;min-width:0!important;max-width:none!important;
    height:var(--stream-chat-visual-height,100dvh)!important;min-height:0!important;max-height:var(--stream-chat-visual-height,100dvh)!important;
    margin:0!important;padding:4px 0 var(--stream-chat-composer-height,55px)!important;
    box-sizing:border-box!important;border:0!important;border-radius:0!important;
    overflow:hidden!important;transform:none!important;z-index:2147481800!important;
}
html.app-document body.stream-mobile-page.stream-mobile-composer-active.stream-chat-mobile-focus #rtcStreamApp[data-role] #streamChatMessages{
    min-height:0!important;height:auto!important;max-height:none!important;
}
html.app-document body.stream-mobile-composer-active:not(.stream-chat-mobile-focus) #rtcStreamApp > .stream-stage-panel{
    overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
    scroll-padding-bottom:var(--stream-chat-composer-height,55px)!important;
}
