/* Suggestion workspace: calm, compact, shared by inbox and game notes. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.inbox-shell { max-width:78rem; width:calc(100% - 3rem); padding:2rem 0 3rem; }
.inbox-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:2.25rem 0 1.5rem; }
.inbox-heading h1 { font-size:clamp(1.7rem,3vw,2.35rem); letter-spacing:-.035em; margin:.25rem 0 .5rem; line-height:1.15; }
.inbox-heading p { margin:0; }
.inbox-heading .eyebrow { font-size:.67rem; letter-spacing:.16em; margin-bottom:.65rem; }
.mail-tabs { display:flex; align-items:center; gap:1.6rem; border-bottom:1px solid #283244; }
.mail-tabs a { padding:.85rem .15rem; border-bottom:2px solid transparent; color:#94a3b8; font-size:.9rem; font-weight:650; }
.mail-tabs a.active { border-color:#80e1ef; color:#9becf5; }
.mail-tabs .quiet-tab { margin-left:auto; }
.mail-filters { display:flex; align-items:center; gap:.6rem; margin:1rem 0; }
.mail-filters .search-control { flex:1; }
.mail-filters .text-input,.mail-filters .select-input { padding:.7rem .85rem; min-height:2.7rem; margin:0; border-radius:.65rem; font-size:.9rem; }
.mail-filters .select-input { width:auto; min-width:10rem; }
.bulk-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:.7rem 0; min-height:2.5rem; color:#a8b7ca; font-size:.82rem; }
.select-page { display:flex; align-items:center; gap:.65rem; }
.bulk-actions { display:flex; gap:.5rem; }
.bulk-actions button { padding:.4rem .7rem; font-size:.8rem; }
input[type=checkbox], input[type=radio] { accent-color:#80e1ef; width:1rem; height:1rem; flex-shrink:0; }
.mail-workspace { display:grid; grid-template-columns:minmax(17rem, .85fr) minmax(0,1.4fr); border:1px solid #2b3445; border-radius:1rem; background:#101827; overflow:hidden; min-height:34rem; }
.mail-list { border-right:1px solid #2b3445; background:#0c1320; min-width:0; }
.mail-row { display:flex; gap:.75rem; align-items:center; padding:0 .9rem; border-bottom:1px solid #202b3b; border-left:3px solid transparent; transition:background .15s; }
.mail-row:hover { background:#152334; }
.mail-row.selected { background:#152a38; border-left-color:#80e1ef; }
.mail-row-link { display:block; padding:1rem 0; min-width:0; flex:1; }
.mail-row-meta { display:flex; justify-content:space-between; gap:.8rem; font-size:.72rem; color:#9badc3; margin-bottom:.35rem; }
.mail-row-meta time { white-space:nowrap; }
.mail-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.92rem; line-height:1.5; overflow-wrap:anywhere; }
.mail-row-flags { display:flex; flex-wrap:wrap; gap:.6rem; font-size:.7rem; color:#8ab5c5; margin-top:.35rem; }
.mail-row-flags:empty { display:none; }
.attention-text { color:#f0c68e; font-size:.85rem; }
.mail-reader { min-width:0; }
.reader-toolbar { min-height:4.5rem; padding:1rem 1.3rem; border-bottom:1px solid #283244; display:flex; justify-content:space-between; align-items:center; gap:.6rem; }
.reader-actions { display:flex; gap:.5rem; align-items:center; }
.reader-toolbar .ghost-button,.small-button { padding:.5rem .75rem; border-radius:.55rem; font-size:.8rem; min-height:2.25rem; }
.reader-stepper { display:flex; gap:.3rem; }
.reader-stepper a { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:.5rem; color:#a2b3c8; }
.reader-stepper a:hover { background:#253144; color:white; }
.reader-content { padding:2rem; }
.reader-content h2 { font-size:1.4rem; margin:.5rem 0; letter-spacing:-.025em; }
.reader-content .eyebrow { font-size:.7rem; }
.message-body { white-space:pre-wrap; overflow-wrap:anywhere; font-size:1rem; line-height:1.85; margin:2rem 0; }
.reader-content .edit-details { margin-top:3rem; color:#a9b7ca; font-size:.85rem; }
.reader-content textarea { min-height:9rem; width:100%; }
.mail-empty { padding:4rem 1.5rem; text-align:center; color:#91a1b8; }
.mail-empty h2 { color:#cdd8e6; font-size:1.05rem; }
.mail-empty p { font-size:.88rem; line-height:1.6; }
.empty-symbol { font-size:1.8rem; color:#80e1ef; }
.inbox-pager { display:flex; justify-content:space-between; align-items:center; gap:.3rem; padding:1rem .65rem; font-size:.75rem; color:#94a3b8; }
.inbox-pager .ghost-button { padding:.45rem .6rem; font-size:.75rem; }
.more-menu { position:relative; }
.more-menu > summary { list-style:none; cursor:pointer; min-width:2.5rem; text-align:center; }
.more-menu > summary::-webkit-details-marker { display:none; }
.menu-panel { position:absolute; right:0; top:calc(100% + .4rem); min-width:13rem; padding:.4rem; background:#202c3e; border:1px solid #41516a; border-radius:.7rem; box-shadow:0 12px 32px #0007; z-index:20; }
.menu-panel .ghost-button,.menu-panel .danger-button { display:block; width:100%; text-align:left; border:0; background:transparent; padding:.75rem; border-radius:.4rem; white-space:nowrap; font-size:.85rem; }
.menu-panel button:hover,.menu-panel a:hover { background:#314057; }
.mobile-back { display:none; }
.back-link { display:inline-block; color:#9bb3c9; font-size:.85rem; margin-top:2rem; }
.tidy-games { overflow:visible; background:#101827; border-color:#2b3445; border-radius:1rem; }
.tidy-games .admin-row { padding:1rem; gap:1rem; }
.tidy-games .admin-row:first-child { border-radius:1rem 1rem 0 0; }
.tidy-games .admin-row:last-child { border-bottom:0; }
.tidy-games .game-open { padding:.35rem; gap:1rem; }
.tidy-games .game-thumb { width:5rem; height:3.5rem; border-radius:.5rem; object-fit:cover; flex-shrink:0; }
.tidy-games .count-badge { font-size:1rem; min-width:2.5rem; height:2.5rem; padding:.4rem; border-radius:.65rem; }
.tidy-games .game-copy { min-width:0; }
.tidy-games h2 { font-size:1.05rem; margin:0 0 .25rem; }
.tidy-games .meta { font-size:.76rem; line-height:1.5; }
.game-note-preview { margin:.35rem 0 0; font-size:.82rem; color:#c3cede; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.new-count { color:#8fe5ed; }
.activity-notice { display:block; padding:.8rem 1rem; border:1px solid #3b4d60; background:#162331; border-radius:.65rem; font-size:.82rem; margin-bottom:1rem; color:#bdcfe0; }
.activity-table-wrap { overflow-x:auto; }
.activity-table { border-collapse:collapse; width:100%; margin:1.5rem 0; font-size:.9rem; background:#101827; }
.activity-table th,.activity-table td { padding:.9rem 1rem; border-bottom:1px solid #293447; text-align:left; }
.activity-table thead { color:#86dfea; }
.activity-table tbody th { font-weight:400; }
.activity-total { color:#86dfea; }
.activity-settings { margin:2rem 0; }
.limits-list { display:grid; grid-template-columns:1fr 1fr; gap:1rem; font-size:.9rem; color:#aebdd0; }
.limits-list dd { margin:0; }
/* Public composer */
.suggest-compose { width:min(100% - 2rem,34rem); padding:2.75rem 0; }
.compose-heading { text-align:left; margin-bottom:1.5rem; }
.compose-heading h1 { font-size:clamp(1.8rem,5vw,2.4rem); letter-spacing:-.04em; margin:.5rem 0; }
.compose-heading .eyebrow { font-size:.68rem; }
.compose-heading .muted { font-size:.9rem; line-height:1.6; }
.compose-card { background:#111b2b; border:1px solid #2d394d; border-radius:1.1rem; padding:1.5rem; box-shadow:0 18px 70px #0002; }
.compose-category { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; padding-bottom:1.2rem; border-bottom:1px solid #29364a; }
.compose-card label { font-size:.88rem; font-weight:550; }
.compose-category .select-input { width:10rem; margin:0; padding:.6rem .7rem; font-size:.85rem; border-radius:.6rem; }
.compose-card .text-input { padding:.85rem; width:100%; font-size:1rem; border-radius:.65rem; margin-top:.55rem; background:#0c1422; }
.compose-card .text-input:focus { border-color:#80e1ef; outline:2px solid #80e1ef33; outline-offset:2px; }
.compose-card textarea { resize:vertical; min-height:6rem; }
.compose-card .field-help { min-height:0; margin:.5rem 0; font-size:.78rem; }
.compose-card .field-help:empty { display:none; }
.compose-results { padding:0; margin:.75rem 0 0; border:0; min-width:0; }
.compose-result-list { max-height:12rem; overflow-y:auto; border:1px solid #344156; border-radius:.65rem; }
.compose-result { display:flex; align-items:center; padding:.65rem; gap:.6rem; cursor:pointer; border-bottom:1px solid #29364a; }
.compose-result:last-child { border-bottom:0; }
.compose-result:hover,.compose-result:has(input:checked) { background:#1e3545; }
.compose-result img { object-fit:cover; border-radius:.3rem; }
.compose-result small { display:block; color:#91a3b8; font-size:.7rem; margin-top:.2rem; }
.compose-results.has-selection .compose-result:not(:has(input:checked)) { display:none; }
.compose-results .change-game-button { display:none; }
.compose-results.has-selection .change-game-button { display:block; }
.text-button { border:0; background:none; color:#87ddeb; font-size:.8rem; padding:.5rem 0; cursor:pointer; }
.manual-game-toggle { display:flex; align-items:center; gap:.5rem; margin-top:1rem; color:#9eaec4; font-size:.78rem!important; }
.compose-note { margin-top:1.2rem; }
.compose-note summary { cursor:pointer; font-size:.85rem; color:#b9c9da; }
.compose-text,.manual-label { display:none; }
.compose-card:not(:has(#category option[value=game]:checked)) .compose-game { display:none; }
.compose-card:not(:has(#category option[value=game]:checked)) .compose-text { display:block; }
.compose-card:has(#category option[value=game]:checked):has(#manualGame:checked) .compose-text { display:block; margin-top:1rem; }
.compose-card:has(#category option[value=game]:checked):has(#manualGame:checked) .manual-label { display:inline; }
.compose-card:has(#category option[value=game]:checked):has(#manualGame:checked) .general-label,.compose-card:has(#manualGame:checked) .compose-note { display:none; }
.compose-card:has(#manualGame:checked) .compose-results { display:none; }
.compose-card .turnstile-box { min-height:0; margin-top:.75rem; }
.compose-feedback { color:#a1ecdc; font-size:.88rem; line-height:1.5; margin:.8rem 0; }
.compose-feedback:empty { display:none; }
.compose-feedback.is-error { color:#f5b8b8; }
.compose-send { display:flex; justify-content:space-between; width:100%; padding:.9rem 1rem; border-radius:.65rem; margin-top:1.25rem; min-height:3rem; }
.compose-footnote { text-align:center; font-size:.72rem; color:#90a0b6; margin:1rem 0 0; }
[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline:2px solid #80e1ef; outline-offset:3px; }
@media(min-width:761px) { .mail-list { max-height:calc(100svh - 18rem); min-height:28rem; overflow-y:auto; } .mail-reader { max-height:calc(100svh - 18rem); min-height:28rem; overflow-y:auto; } .reader-toolbar { position:sticky; top:0; background:#101827; z-index:5; } }
@media(max-width:760px) {
    .inbox-shell { width:calc(100% - 1.5rem); padding:1rem 0 2rem; }
    .admin-toolbar { align-items:flex-start; gap:.75rem; }
    .admin-nav { flex-wrap:wrap; gap:.65rem 1rem; }
    .admin-nav a { font-size:.78rem; }
    .admin-toolbar > form .ghost-button { font-size:.75rem; white-space:nowrap; padding:.5rem; }
    .inbox-heading { margin:1.7rem 0 1rem; }
    .inbox-heading > .muted { display:none; }
    .mail-filters { flex-wrap:wrap; }
    .mail-filters .search-control { flex-basis:100%; }
    .mail-filters .select-input { min-width:0; }
    .mail-workspace { display:block; min-height:20rem; }
    .mail-list { border:0; }
    .mail-reader { display:none; }
    .mail-workspace.reader-open .mail-reader { display:block; }
    .mail-workspace.reader-open .mail-list { display:none; }
    .mobile-back { display:inline-block; }
    .reader-toolbar { padding:.75rem; flex-wrap:wrap; }
    .reader-content { padding:1.4rem; }
    .tidy-games .admin-row { display:flex; flex-direction:row; flex-wrap:wrap; padding:.7rem; gap:.4rem; }
    .tidy-games .game-open { flex-wrap:nowrap; flex-basis:75%; gap:.6rem; }
    .tidy-games .game-open .game-copy { flex-basis:auto; flex:1; }
    .tidy-games .game-thumb { width:3.4rem; height:2.5rem; }
    .tidy-games .row-actions { margin-left:auto; }
    .tidy-games .row-actions button,.tidy-games summary { font-size:.75rem; padding:.5rem .7rem; }
    .tidy-games .count-badge { min-width:2rem; height:2rem; font-size:.85rem; }
    .suggest-compose { padding:1.5rem 0; }
    .compose-card { padding:1.1rem; }
    .compose-heading { margin-bottom:1.1rem; }
    .compose-heading .muted { font-size:.83rem; }
    .limits-list { grid-template-columns:1fr; gap:.5rem; }
    .limits-list dd { margin-bottom:1rem; }
}
@media(prefers-reduced-motion:reduce) { .mail-row { transition:none; } }

/* Keep the content, rather than the page chrome, in the foreground. */
.inbox-shell .admin-toolbar { margin-bottom:0; padding-bottom:.8rem; }
.inbox-shell .admin-nav a { background:transparent; font-size:.82rem; padding:.5rem .6rem; font-weight:600; }
.inbox-shell .inbox-heading { margin:1.5rem 0 1rem; }
.inbox-shell .inbox-heading h1 { margin-bottom:.2rem; }
.inbox-shell .small-button { margin-top:0; }
@media(min-width:761px) {
    .mail-workspace { min-height:0; height:max(24rem, calc(100svh - 25rem)); }
    .mail-list,.mail-reader { min-height:0; max-height:100%; }
    .mail-list .inbox-pager { position:sticky; bottom:0; background:#0c1320; border-top:1px solid #283244; }
}
/* Consistent admin navigation and controls across all admin pages. */
.admin-page .page-shell { max-width:78rem; width:calc(100% - 3rem); padding:2rem 0 3rem; }
.admin-page .admin-toolbar { margin-bottom:1.5rem; padding-bottom:.8rem; }
.admin-page .admin-nav a { background:transparent; font-size:.82rem; padding:.5rem .6rem; font-weight:600; }
.admin-page .page-heading { margin:1.5rem 0; }
.admin-page .page-heading h1 { font-size:clamp(1.7rem,3vw,2.35rem); letter-spacing:-.035em; line-height:1.15; }
.admin-page .page-heading .muted { font-size:.95rem; }
.admin-page .page-heading .eyebrow { font-size:.67rem; letter-spacing:.16em; }
.admin-page .panel { background:#101827; border-color:#2b3445; border-radius:1rem; }
.admin-page .text-input,.admin-page .select-input { border-radius:.65rem; }
.admin-page .tab-row { gap:1.6rem; border-bottom:1px solid #283244; }
.admin-page .tab-row .tab-button { background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; padding:.85rem .15rem; color:#94a3b8; font-size:.9rem; font-weight:650; }
.admin-page .tab-row .tab-button.active { border-bottom-color:#80e1ef; color:#9becf5; }
.admin-page .stacked-form > button { justify-self:start; width:auto; border-radius:.65rem; }
.admin-page .admin-toolbar { flex-direction:row; }
.admin-page .row-actions { width:auto; flex-wrap:wrap; }
.admin-page .row-actions button { width:auto; }
.tidy-games .row-actions { display:flex; align-items:center; gap:.5rem; max-width:55%; }
.tidy-games .row-actions > form { margin:0; }
.tidy-games .row-actions button { min-height:2.5rem; }
.action-menu { position:relative; }
.action-menu .menu-toggle { display:grid; place-items:center; width:2.5rem; height:2.5rem; min-width:0; padding:0; line-height:1; border-radius:.6rem; }
.compact-star { width:2.5rem; height:2.5rem; padding:0!important; background:transparent; border-color:transparent; font-size:1.25rem; font-weight:400; }
.mail-row > form { flex:0 0 auto; }
.edit-toggle { margin-top:2rem; font-weight:600; }
.edit-panel { margin-top:1rem; }
.reader-content h2:focus { outline:none; }
.compose-heading { text-align:center; }
.compose-card .compose-note { display:none; }
.compose-card:has(input[name=gameId]:checked):not(:has(#manualGame:checked)) .compose-note { display:block; }
.compose-card:has(#manualGame:checked) .catalog-search { display:none; }
.manual-mode-label { display:none; }
.compose-card:has(#manualGame:checked) .manual-mode-label { display:inline; }
.compose-card:has(#manualGame:checked) .catalog-mode-label { display:none; }
.manual-game-toggle { position:relative; display:inline-flex; cursor:pointer; min-height:2.5rem; padding:.5rem .65rem; border:1px solid #3a4a60; border-radius:.6rem; color:#bce7ee; }
.manual-game-toggle input { position:absolute; width:1px; height:1px; opacity:0; }
.manual-game-toggle:has(input:focus-visible) { outline:2px solid #80e1ef; outline-offset:3px; }
@media(min-width:761px) { .mail-workspace { height:max(24rem, calc(100svh - 30rem)); } }
@media(max-width:760px) {
    .admin-page .page-shell { width:calc(100% - 1.5rem); padding:1rem 0 2rem; }
    .admin-page .admin-toolbar { gap:.5rem; }
    .admin-page .admin-nav { flex:1; }
    .admin-page .admin-nav a { font-size:.78rem; padding:.4rem; }
    .admin-page .row-actions { gap:.4rem; }
    .tidy-games .game-open { flex-basis:100%; }
    .tidy-games .row-actions { margin:.4rem 0 0 0; }
    .mail-row { gap:.4rem; padding:0 .6rem; }
    .mail-row-link { padding:.85rem 0; }
    .reader-actions { flex-wrap:wrap; }
    .mail-filters .search-control { flex-basis:auto; min-width:0; }
}
@media(max-width:1000px) {
    .tidy-games .admin-row { flex-wrap:wrap; }
    .tidy-games .game-open { flex-basis:100%; }
    .tidy-games .row-actions { max-width:none; margin:.4rem 0 0; }
}
