/* Forum attachments follow each message and use their own compact gallery. */
.forum-attachments{display:block;min-width:0;margin:16px 0 22px}
.forum-attachments h4{margin:0 0 10px;font-size:.83rem;color:#d6ca8b}
.forum-attachment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;align-items:start}
.forum-attachment-item,.forum-attachment-link{min-width:0;margin:0;border:1px solid #505348;border-radius:10px;background:#20211e;overflow:hidden}
.forum-attachment-item{display:flex;flex-direction:column}
.forum-attachment-thumb{display:block;width:100%;padding:0;border:0;background:#10110f;cursor:zoom-in}
.forum-attachment-thumb[hidden]{display:none!important}
.forum-attachment-thumb img,.forum-attachment-item>video{display:block;width:100%;height:clamp(150px,17vw,240px);max-height:none;object-fit:contain;background:#10110f}
.forum-attachment-thumb:focus-visible{outline:2px solid #ffe057;outline-offset:-3px}
.forum-attachment-icon{display:flex;align-items:center;justify-content:center;height:110px;font-size:1.2rem;font-weight:700;color:#e1d28c;background:#2b2c25}
.forum-attachment-item figcaption{display:grid;gap:9px;padding:11px 12px;font-size:.8rem;line-height:1.45}
.forum-attachment-name{font-weight:600;overflow-wrap:anywhere}
.forum-attachment-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.forum-attachment-actions a,.forum-media-actions a{color:#f0d772;text-decoration:underline;text-underline-offset:3px}
.forum-attachment-actions :is(button,a):focus-visible,.forum-media-actions :is(button,a):focus-visible{outline:2px solid #ffe057;outline-offset:3px}
.forum-attachment-link{padding:12px;overflow-wrap:anywhere}
.forum-attachment-link iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:6px;margin:0 0 10px}
.forum-attachment-link a{color:#f0d772}
.forum-media-dialog{width:min(1120px,calc(100vw - 28px));max-width:none;height:min(88vh,900px);max-height:none;padding:0;border:1px solid #65685b;border-radius:14px;background:#1b1c18;color:#f0eee6;box-shadow:0 24px 70px #000b;overflow:hidden}
.forum-media-dialog::backdrop{background:#080a08d9}
.forum-media-panel{display:flex;flex-direction:column;min-width:0;height:100%}
.forum-media-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid #4c4e43}
.forum-media-heading h2{min-width:0;flex:1 1 220px;margin:0;font-size:1rem;overflow-wrap:anywhere}
.forum-media-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.82rem}
.forum-media-content{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0;overflow:auto;padding:14px}
.forum-media-content img,.forum-media-content video{display:block;max-width:100%;max-height:100%;object-fit:contain}
.forum-media-content iframe{display:block;width:100%;height:100%;min-height:300px;border:0;background:#fff}
.forum-media-content pre{align-self:stretch;width:100%;margin:0;padding:18px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#11120f;border-radius:8px;color:#ece9df;font-size:.82rem;line-height:1.55}
.forum-media-content p{max-width:52ch;line-height:1.6;text-align:center;color:#d9d6cc}
@media(max-width:600px){.forum-attachment-list{grid-template-columns:minmax(0,1fr)}.forum-attachment-thumb img,.forum-attachment-item>video{height:auto;max-height:260px}.forum-media-dialog{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.forum-media-heading{padding:12px;gap:10px}.forum-media-content{padding:8px}.forum-media-content iframe{min-height:0}}
@media(prefers-reduced-motion:reduce){.forum-media-dialog{scroll-behavior:auto}}

/* Posts, inline media and downloadable documents have distinct hierarchy. */
.forum-topic-page .leadership-forum-message{margin:0 0 24px;padding:22px;border:1px solid color-mix(in srgb,var(--forum-tone,#54e2ca) 32%,#28303b);border-left:4px solid var(--forum-tone,#54e2ca);border-radius:12px;background:#080c11;box-shadow:0 5px 18px #0003}
.forum-topic-page .forum-participants{display:grid;gap:10px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid #354253}
.forum-topic-page .forum-participants h2{margin:0 0 4px}.forum-topic-page .forum-topic-sidebar{min-width:0}
.forum-inline-media{display:block;width:min(100%,850px);margin:18px 0;background:#05080c;border:1px solid #394758;border-radius:10px;overflow:hidden}
.forum-inline-media .forum-attachment-thumb{background:#05080c}
.forum-inline-media .forum-attachment-thumb img,.forum-inline-media>video{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#05080c}
.forum-inline-media figcaption{padding:8px 12px;color:#bac8d7;font-size:.78rem;overflow-wrap:anywhere}
.forum-inline-media figcaption [data-forum-preview-error]{margin-left:10px}
.forum-attachment-list{display:flex;flex-direction:column;gap:8px}
.forum-attachments{border-top:1px solid #344151;padding-top:16px;margin:22px 0 0}
.forum-attachments h4{color:#cbd7e8}
.forum-file-row{display:flex;align-items:center;gap:14px;width:100%;min-width:0;padding:8px 12px 8px 8px;background:#151e29;border:1px solid #35475b;border-radius:8px}
.forum-file-open,.forum-file-link{display:flex;align-items:center;gap:12px;min-width:0;flex:1;text-align:left;background:transparent;border:0;color:#edf5ff;padding:0;cursor:pointer;text-decoration:none}
.forum-file-link{padding:8px;border:1px solid #35475b;border-radius:8px;background:#151e29}
.forum-file-icon{position:relative;display:grid;place-items:center;flex:0 0 72px;width:72px;height:54px;background:#0b1017;border:1px solid #415971;border-radius:6px;overflow:hidden;color:#7ee8d3;font-size:.8rem;font-weight:700}
.forum-file-icon canvas{width:100%;height:100%;object-fit:contain}.forum-file-icon [hidden]{display:none!important}
.forum-file-download{color:#ffe36b;font-size:.8rem;flex:0 0 auto}
.forum-file-open:hover .forum-attachment-name{text-decoration:underline}.forum-file-open:focus-visible{outline:2px solid #71ecdb;outline-offset:4px;border-radius:5px}
.forum-media-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);background:#080c12;border-color:#526780}
.forum-media-heading{background:#151e29}.forum-media-actions button{font-size:1.5rem;line-height:1;min-width:40px;min-height:40px}.forum-cad-preview{max-width:100%;max-height:100%;object-fit:contain}
.forum-rich-editor{display:flex;flex-direction:column;gap:0;min-width:0;width:100%}
.forum-rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border:1px solid #4c6078;border-bottom:0;border-radius:8px 8px 0 0;background:#172230}
.forum-rich-toolbar button{border:1px solid #415873;border-radius:5px;background:#0c141f;color:#e8f3ff;min-width:34px;min-height:34px;padding:5px 9px;cursor:pointer;font-size:.82rem}
.forum-rich-toolbar button:hover,.forum-rich-toolbar button[aria-pressed=true]{background:#233f54;border-color:#7eecdd}.forum-rich-toolbar [data-format=bold]{font-weight:900}.forum-rich-toolbar [data-format=italic]{font-style:italic}.forum-rich-toolbar [data-format=underline]{text-decoration:underline}
.forum-rich-editor>textarea{border-top-left-radius:0;border-top-right-radius:0;resize:vertical}.forum-rich-preview{padding:18px;border:1px solid #4c6078;border-radius:8px;margin-top:12px;background:#080c12;color:#edf3fc;overflow-wrap:anywhere}
.forum-rich-body{min-width:0;overflow-wrap:anywhere;line-height:1.65}.forum-rich-body p{white-space:normal}.forum-rich-body ul,.forum-rich-body ol{padding-left:26px;margin:12px 0}.forum-rich-body li{padding:2px 0}.forum-rich-body u{text-underline-offset:3px}
.forum-code-block{margin:16px 0;border:1px solid #384c65;border-radius:9px;overflow:hidden;background:#050a10}.forum-code-block figcaption{padding:7px 12px;background:#192738;color:#a9c9ee;font:600 .75rem system-ui}.forum-code-block .forum-code{margin:0;border:0;border-radius:0;padding:16px;overflow:auto;white-space:pre;line-height:1.55;background:#050a10;color:#e2edff;tab-size:4}
.forum-syntax-keyword{color:#dc9aff}.forum-syntax-string{color:#9debab}.forum-syntax-comment{color:#92a5b8;font-style:italic}.forum-syntax-number{color:#ffbf77}.forum-syntax-markup{color:#7ce5ed}
.forum-code-dialog{width:min(760px,calc(100vw - 28px));max-height:90dvh;background:#101923;color:#e9f3ff;border:1px solid #557089;border-radius:12px;padding:22px}.forum-code-dialog form,.forum-code-dialog label{display:grid;gap:10px}.forum-code-dialog textarea{font-family:ui-monospace,monospace;tab-size:4}.forum-code-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.forum-code-dialog::backdrop{background:#000b}
@media(max-width:600px){.forum-topic-page .leadership-forum-message{padding:14px;margin-bottom:18px}.forum-media-dialog{width:100vw;height:100dvh;max-height:100dvh}.forum-file-row{gap:8px}.forum-file-icon{flex-basis:52px;width:52px;height:44px}.forum-inline-media .forum-attachment-thumb img,.forum-inline-media>video{max-height:420px}}
.forum-people-combobox{position:relative}.forum-people-combobox>.field{margin-bottom:6px}.forum-people-combobox>.forum-composer-picker{position:absolute;z-index:15;left:0;right:0;top:100%;max-height:310px;overflow:auto;padding:10px;background:#101c29;border:1px solid #6f93b4;border-radius:10px;box-shadow:0 14px 34px #000a}
.forum-people-combobox [hidden]{display:none!important}.forum-people-combobox .forum-composer-choice{padding:10px;border-radius:6px}.forum-people-combobox .forum-composer-choice:hover,.forum-people-combobox .forum-composer-choice:focus-within{background:#243c51}
.forum-composer-chip[data-forum-person-remove]{cursor:pointer}.forum-activity-link{display:inline-flex;align-items:center;border:1px solid #426c94;border-radius:5px;padding:0 6px;background:#122d43;color:#a5dbff;text-decoration:underline;text-underline-offset:3px}.forum-student-mention{color:#96efd8;background:#153c35;border-radius:5px;padding:1px 5px;font-weight:600}
.forum-media-content:has(>.forum-cad-preview){flex-direction:column;gap:10px}.forum-media-content>.forum-cad-preview{min-height:0;flex:1}.forum-media-content>.forum-cad-preview+p{font-size:.78rem;margin:0}
.forum-rich-editor{position:relative}.forum-reference-popover{position:absolute;z-index:25;top:100%;left:0;right:0;max-height:290px;overflow:auto;padding:6px;background:#111f2d;border:1px solid #7096ba;border-radius:10px;box-shadow:0 14px 34px #000a}.forum-reference-popover[hidden]{display:none!important}.forum-reference-option{padding:10px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;color:#eef6ff}.forum-reference-option:hover,.forum-reference-option[aria-selected=true]{background:#28495f;color:#aaf4df}.forum-reference-note,.forum-reference-empty,.forum-reference-error{padding:8px 12px;margin:0;font-size:.75rem;line-height:1.5;color:#c6d6e8}.forum-reference-note{border-top:1px solid #3c566e}.forum-reference-error{color:#ffb8c9}
