.cp-compose{border:1px solid var(--line);border-radius:10px;padding:22px;margin:28px 0;background:var(--soft)}
.cp-compose legend{padding:0 8px;font-weight:600}.cp-kind-grid{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px}.cp-kind-grid label{display:flex;align-items:center;gap:8px;margin:0}.cp-kind-grid input{width:auto;margin:0}
.cp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0}.cp-gallery figure{margin:0;min-width:0}.cp-gallery a{display:block;overflow:hidden;border-radius:10px;background:var(--soft);aspect-ratio:4/3}.cp-gallery img{width:100%;height:100%;object-fit:cover}.cp-gallery figcaption{font-size:12px;color:var(--muted);padding:8px 2px 0}
.cp-question-state,.cp-reply-tools,.cp-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cp-question-state{padding:14px 18px;border:1px solid var(--line);border-radius:8px;margin:24px 0}.cp-reply-tools{justify-content:flex-start;font-size:12px;color:var(--muted);margin-top:10px}.cp-reply-tools form{margin:0}.cp-reply-anchor{position:relative;top:-110px}.cp-accepted{color:#17804a;background:#dff5e8}
.cp-poll{border:1px solid var(--line);border-radius:12px;padding:24px;margin:28px 0;background:var(--surface)}.cp-poll h3{margin:0}.cp-section-head>span{font-size:12px;color:var(--muted)}.cp-poll-form{display:grid;gap:12px;margin-top:22px}.cp-poll-form label{display:flex;align-items:center;gap:10px;margin:0;padding:11px 12px;background:var(--soft);border-radius:7px}.cp-poll-form input{width:auto;margin:0}.cp-poll-results{display:grid;gap:15px;margin-top:22px}.cp-poll-results div>span{display:flex;justify-content:space-between;gap:16px;font-size:13px}.cp-poll-results progress{display:block;width:100%;height:8px;margin-top:7px;accent-color:var(--accent)}
.cp-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:38px}.cp-card-grid .panel{margin:0}.cp-card-grid h2{font-size:20px;margin:14px 0 10px}.cp-card-grid h3{overflow-wrap:anywhere}.cp-card-grid p{color:var(--muted)}.cp-card-grid small{color:var(--muted)}.cp-stack{display:grid;gap:16px}.cp-stack .panel{margin:0}.cp-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:28px}.cp-meta-grid>div{background:var(--surface);padding:20px}.cp-meta-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.cp-meta-grid strong{font-size:14px;overflow-wrap:anywhere}.cp-form{max-width:860px}.cp-event-copy{font-size:16px}.cp-admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.cp-admin-row p{font-size:12px;color:var(--muted);margin:4px 0 0}
.cp-lightbox{border:0;border-radius:12px;padding:0;background:#090a0d;color:#fff;max-width:min(94vw,1200px);max-height:94vh}.cp-lightbox::backdrop{background:#000c}.cp-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.cp-lightbox button{position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:#000a;color:#fff;font-size:24px}.cp-image-caption{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;margin-top:10px}.cp-image-caption span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-replying{font-size:12px;color:var(--muted)}
@media(max-width:850px){.cp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cp-card-grid,.cp-meta-grid,.cp-gallery{grid-template-columns:1fr}.cp-kind-grid{flex-direction:column}.cp-image-caption{grid-template-columns:1fr}.cp-poll,.cp-compose{padding:18px}}
@media(prefers-reduced-motion:reduce){.cp-gallery img{transition:none}}

/* Keep a long category strip inside its column instead of widening the page. */
.forum-layout>section,.forum-layout>aside{min-width:0}
.forum-layout .toolbar,.forum-layout .tabs{min-width:0;max-width:100%}
.forum-layout .tabs{overflow-x:auto}
.forum-layout .post-excerpt,.forum-layout .post-summary p{overflow-wrap:anywhere}
@media(max-width:760px){.forum-layout{grid-template-columns:minmax(0,1fr)}}
