/* Board-specific refinement; preserve global blue-grey tokens and typography. */
.board-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.board-list-card{padding:18px 0}
.board-list-card h2{margin:0 0 8px;font-size:20px;line-height:1.5}
.thread-byline{margin-bottom:8px;min-height:26px}
.thread-byline .identity-avatar{width:26px;height:26px}
.board-list-card .thread-excerpt{margin:0 0 10px;line-height:1.65;-webkit-line-clamp:1}
.thread-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.thread-reply-count{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:var(--muted-foreground);font-size:12px}
.thread-tags{margin-left:auto;justify-content:flex-end;gap:6px}
.thread-tags .badge{font-size:11px;padding:3px 8px;line-height:1.5}
.reply-compose{margin-top:28px;padding:0;border:0;background:none}
.reply-compose h2{margin:0 0 18px;font-size:23px}
.reply-compose>form{gap:18px}
.reply-compose>form>.button{justify-self:start;width:auto;min-width:120px}
.board-editor-field:has([data-milkdown-source][hidden])>label{position:absolute;width:1px;height:1px;overflow:hidden}
.editor-toolbar{border:0;border-radius:var(--radius);margin:0 0 12px;padding:6px 8px;gap:4px;align-items:center}
.editor-toolbar .button{min-height:36px;font-size:13px}
.milkdown-host{border:1px solid var(--input);border-radius:var(--radius)}
.milkdown-host .ProseMirror{min-height:190px;padding:16px;line-height:1.8}
.milkdown-host:focus-within{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 12%,transparent)}
.board-emoji-dialog{margin:auto;width:min(376px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);box-shadow:0 12px 40px #0002;overflow:auto}
.board-emoji-dialog::backdrop{background:rgb(0 0 0 / .18)}
.board-emoji-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}
.board-emoji-heading h2{font:600 15px var(--font-sans);margin:0}
.board-emoji-heading button{min-width:36px;min-height:36px}
.board-emoji-dialog .emoji-loading{padding:20px;font-size:14px}
.board-emoji-basic{padding:12px}
.board-emoji-basic-filters{display:flex;gap:8px}
.board-emoji-basic-filters input{min-width:0;width:100%;flex:1}
.board-emoji-basic-filters select{width:110px;min-width:0;font-size:13px}
.board-emoji-basic-status{font-size:12px;color:var(--muted-foreground);margin:10px 0}
.board-emoji-basic-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;max-height:320px;overflow:auto}
.board-emoji-basic-grid button{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:24px;line-height:1;min-width:0;min-height:38px;padding:4px;border:0;border-radius:6px;background:transparent;color:var(--foreground);cursor:pointer}
.board-emoji-basic-grid button:hover{background:var(--muted)}
.board-emoji-basic-grid button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.board-emoji-dialog emoji-picker{width:100%;height:min(410px,calc(100dvh - 108px));--num-columns:8;--emoji-size:1.375rem;--emoji-padding:.4rem;--border-size:0;--background:var(--card);--border-color:var(--border);--input-border-color:var(--input);--input-font-color:var(--foreground);--input-placeholder-color:var(--muted-foreground);--category-font-color:var(--foreground);--indicator-color:var(--primary);--outline-color:var(--primary);--button-hover-background:var(--muted);--button-active-background:var(--secondary);font-family:var(--font-sans)}
@media(max-width:760px){.board-list-card{padding:16px 0}.board-list-card h2{font-size:18px}.thread-footer{gap:8px;align-items:flex-start}.thread-tags{gap:4px}.thread-byline{gap:7px}.reply-compose h2{font-size:21px}.editor-toolbar .button{min-height:44px;padding:7px 9px}.milkdown-host .ProseMirror{padding:12px;min-height:170px}}

/* Public BB chrome: reserve the classic scrollbar gutter on short pages too.
   The admin shell remains independent. Fallback supports older browsers. */
html.gevery-board-public{overflow-y:scroll}
@supports(scrollbar-gutter:stable){html.gevery-board-public{overflow-y:auto;scrollbar-gutter:stable}}
.gevery-board-public body{display:flex;flex-direction:column;min-height:100vh}
.gevery-board-public .global-header{flex:none}
.gevery-board-public .board-layout{width:100%;flex:1 0 auto}
.gevery-board-public .board-footer{box-sizing:border-box;width:min(85rem,calc(100% - 4.5rem));margin-inline:auto;min-height:76px;padding:23px 0 30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;color:var(--muted-foreground);font:400 12px/1.5 var(--font-sans);letter-spacing:.05em;flex:none}
.gevery-board-public .board-footer p{margin:0}
@media(max-width:820px){.gevery-board-public .board-footer{width:calc(100% - 2rem)}}
@media(max-width:600px){.gevery-board-public .board-footer{width:calc(100% - 24px)}}
@media(max-width:480px){.gevery-board-public .board-footer{display:block;line-height:1.8}}
