.rich-body{min-height:250px;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #c8d3cc;border-radius:10px;padding:16px;background:#fff;line-height:1.8;font-size:16px;outline:none}
.rich-body:focus{border-color:#2f4a3a;box-shadow:0 0 0 2px #2f4a3a22}
.rich-body.is-dragging,.file-drop-zone.is-dragging{background:#edf5ee;border-color:#2f4a3a;box-shadow:0 0 0 3px #2f4a3a33}
.body-image{margin:16px 0;white-space:normal;break-inside:avoid}.body-image img{display:block;max-width:100%;max-height:720px;height:auto;border-radius:8px}.body-image button{font-size:13px;margin-top:6px}
.body-video{margin:20px 0;max-width:100%;white-space:normal;break-inside:avoid}.body-video video{display:block;width:100%;max-height:75vh;min-height:160px;border-radius:8px;background:#111;object-fit:contain}.body-video-caption{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:8px;color:#57636d;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.body-video-caption>span{min-width:0}.body-video button{min-height:36px;margin-top:5px;padding:7px 11px;border:1px solid #cbd4da;border-radius:7px;background:#fff;color:#263b50;font:inherit;font-size:13px;cursor:pointer}.body-video button[hidden]{display:none}.body-video button:focus-visible{outline:3px solid #ad3f69;outline-offset:2px}
.editor-file-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:none}
.file-drop-zone{border:2px dashed #8caa98;border-radius:10px;padding:24px 14px;text-align:center;cursor:pointer;background:#f7faf8;line-height:1.6}
.file-drop-zone:focus-visible{outline:3px solid #2f4a3a;outline-offset:2px}.file-drop-zone[aria-disabled=true]{cursor:wait;opacity:.7}
.editor-file-list{padding:0;list-style:none}.editor-file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e4e9e5}.editor-file-list span{overflow-wrap:anywhere;min-width:0;font-size:14px}.editor-file-list button{flex:none;font-size:13px}
.post-body,.editor-preview{overflow-wrap:anywhere;white-space:pre-wrap}
.member-classification{display:grid;gap:8px}.member-classification label{font-size:13px;display:flex;gap:6px;align-items:center}
.editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:10px 0}
.editor-toolbar button,.editor-link-panel button{min-height:40px;border:1px solid #ddd8e0;background:#fff;color:#33313d;border-radius:7px;padding:8px 13px;font:inherit;font-size:14px;cursor:pointer}
.editor-toolbar button:hover,.editor-link-panel button:hover{border-color:#ad3f69;background:#fff4f8;color:#96335c}
.editor-toolbar button:focus-visible,.editor-link-panel input:focus-visible,.editor-link-panel button:focus-visible{outline:3px solid #ad3f69;outline-offset:2px}
.editor-toolbar button:disabled{opacity:.5;cursor:wait}
.editor-link-panel{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:14px;margin-bottom:12px;border:1px solid #eddce4;border-radius:8px;background:#fff7fa}
.editor-link-panel[hidden]{display:none}
.editor-link-panel label{flex:1;min-width:160px;font-size:14px;color:#4b4250}
.editor-link-panel input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #d9c9d2;border-radius:6px;background:#fff;font:inherit}
.body-link{color:#9e2f5b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.body-link:focus-visible{outline:2px solid #ad3f69;outline-offset:3px}
.board-extra-filters{display:flex;flex-wrap:wrap;gap:12px 22px;margin:22px 0;color:#55505d;font-size:14px}
.board-extra-filters label{display:flex;align-items:center;gap:10px}
.board-extra-filters select{max-width:100%;min-height:40px;padding:7px 30px 7px 10px;border:1px solid #ded9e3;border-radius:7px;background:#fff;font:inherit;color:#292633}
.post-label,.research-group-label{display:inline-block;vertical-align:middle;margin:0 7px 4px 0;padding:3px 8px;border-radius:5px;background:#f3f1f5;color:#61556b;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0}
.post-label[data-label=notice],.post-label[data-label=open],.post-label[data-label=extra]{color:#a12f5e;background:#fff0f6}
.post-label[data-label=closed],.post-label[data-label=ended]{background:#f0f1f3;color:#71747b}
.research-group-label{background:#f1f5f8;color:#476174}
.post-tags{display:flex;flex-wrap:wrap;gap:6px 10px;margin:10px 0;color:#8a4770;font-size:13px;line-height:1.6;font-weight:400}
.post-meta+.post-tags{margin:0 0 24px}
.post-title-cell>.post-tags{margin:4px 0 0}
.board-data-row[hidden]{display:none!important}
@media(max-width:600px){.editor-toolbar{gap:6px}.editor-toolbar button{padding:7px 10px;font-size:13px}.board-extra-filters{gap:10px}.board-extra-filters label{flex:1;min-width:140px;flex-wrap:wrap}.board-extra-filters select{width:100%}}
.discovery-article{padding:24px 0;max-width:1100px;margin:auto}
.discovery-article h1{font-size:clamp(26px,3vw,42px);line-height:1.4;word-break:keep-all}
.discovery-article .post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.discovery-grid article{border:1px solid #dfe3eb;border-radius:16px;padding:24px}
.discovery-grid h2{font-size:22px;line-height:1.5}
.discovery-grid h2 a:hover{text-decoration:underline}
.post-tags a{border:1px solid #f1dce6;border-radius:20px;background:#fff7fa;padding:4px 10px;color:#a23767;text-decoration:none}
.post-tags a:hover,.post-tags a:focus-visible{background:#f8e8ef;text-decoration:underline}
@media(max-width:600px){.discovery-grid{grid-template-columns:1fr}.discovery-grid article{padding:20px}}
.library-metadata{margin:22px 0;display:grid;gap:18px}
.library-fieldset{margin:0;padding:16px 18px;border:1px solid #dfe3eb;border-radius:12px;min-width:0}
.library-fieldset legend{font-weight:700;padding:0 8px;color:#17253c}
.library-options{display:flex;flex-wrap:wrap;gap:10px 18px}
.library-options label{display:inline-flex;align-items:center;gap:7px;line-height:1.6;cursor:pointer}
.library-options input{accent-color:#af416f;width:17px;height:17px}
.library-filters{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.library-filters label{display:flex;align-items:center;gap:8px;color:#354b63}
.library-filters select{border:1px solid #cdd5e0;border-radius:8px;padding:9px 12px;background:white;max-width:100%;font:inherit;color:inherit}
.library-facets{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;color:#50657b;font-size:12px;font-weight:400}
.library-facet{padding:3px 8px;background:#f1f4f7;border-radius:5px}
@media(max-width:600px){.library-filters{flex-direction:column}.library-filters select{flex:1;min-width:0}.library-options{gap:12px}}
.library-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.library-sections>a{display:flex;flex-direction:column;align-items:flex-start;padding:30px 26px;border:1px solid #dfe3eb;border-radius:16px;background:#f8f9fb;color:#17253c;text-decoration:none;min-width:0}
.library-sections h3{font-size:24px;margin:18px 0 14px;word-break:keep-all}
.library-sections p{font-size:14px;line-height:1.9;color:#5b6d81;word-break:keep-all;margin:0 0 28px}
.library-section-open{margin-top:auto;font-size:14px;font-weight:700;color:#a23767}
.library-sections>a:hover,.library-sections>a:focus-visible{border-color:#cb789c;background:#fff8fb}
.library-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
.library-section-nav a{padding:9px 15px;border:1px solid #dfe3eb;border-radius:24px;font-size:14px;text-decoration:none;color:#40536b}
.library-section-nav a[aria-current="page"]{background:#17253c;color:#fff;border-color:#17253c}
@media(max-width:800px){.library-sections{grid-template-columns:1fr}.library-sections>a{padding:24px}.library-sections p{margin-bottom:18px}}
