/* RDM Community forum. Builds on site.css (colours, buttons, fields). */
.cm-bar{background:var(--mist);border-bottom:1px solid var(--line);font-size:14.5px}
.cm-bar .wrap{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;min-height:50px;padding-top:6px;padding-bottom:6px}
.cm-bar nav{display:flex;gap:4px 16px;flex-wrap:wrap;align-items:center}
.cm-bar nav a{color:var(--ink);font-weight:700;text-decoration:none}
.cm-bar nav a:hover,.cm-bar nav a[aria-current]{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.cm-bar .cm-gap{flex:1}
.cm-bar form{display:flex;align-items:center}
.cm-bar input[type=search]{font:inherit;font-size:14.5px;padding:7px 10px;border:2px solid var(--line);background:#fff;width:190px;max-width:42vw}
.cm-bar input[type=search]:focus{outline:none;border-color:var(--navy)}
.cm-who{display:flex;align-items:center;gap:10px;color:var(--muted)}
.cm-who a{color:var(--navy);font-weight:700}
.cm-who button{font:inherit;font-size:14px;background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;padding:0}

.cm-head{padding:clamp(34px,5vw,64px) 0 clamp(18px,2.5vw,28px)}
.cm-head .eyebrow{font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin:0 0 10px}
.cm-head .lede{margin-top:12px}
.cm-head .btns{margin-top:22px}
.cm-crumbs{margin-bottom:14px}

.cm-msg{padding:16px 18px;background:var(--mist);border-left:4px solid var(--navy);margin:0 0 22px;font-size:15.5px}
.cm-msg.err{border-left-color:var(--red);background:#FDF0F0}
.cm-msg.ok{border-left-color:#1E8A5F;background:#EEF8F3}
.cm-loading{color:var(--muted);padding:30px 0}

/* section tables */
.cm-sec{margin-bottom:34px}
.cm-sec h2{font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.06em;background:var(--ink);color:#fff;padding:11px 16px;margin:0}
.cm-rows{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-top:0}
.cm-rows>li{display:grid;grid-template-columns:minmax(0,1fr) 120px 200px;gap:16px;align-items:center;padding:14px 16px;border-top:1px solid var(--line);background:#fff}
.cm-rows>li:first-child{border-top:0}
.cm-rows>li:nth-child(even){background:#FAFBFD}
.cm-rows a.cm-t{font-weight:800;color:var(--ink);text-decoration:none;font-size:16.5px}
.cm-rows a.cm-t:hover{color:var(--navy);text-decoration:underline}
.cm-rows .cm-d{color:var(--muted);font-size:14.5px;margin-top:3px}
.cm-rows .cm-n{font-size:13.5px;color:var(--muted);text-align:right;line-height:1.4}
.cm-rows .cm-n b{color:var(--ink);font-size:15px}
.cm-rows .cm-last{font-size:13.5px;color:var(--muted);line-height:1.4;min-width:0}
.cm-rows .cm-last a{color:var(--navy);font-weight:700}
.cm-rows .cm-last span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;margin-right:6px;vertical-align:2px;background:var(--mist);color:var(--ink)}
.cm-tag.pin{background:var(--ink);color:#fff}
.cm-tag.build{background:var(--blue);color:#fff}
.cm-tag.lock{background:#FDF0F0;color:#B5121A}
.cm-tag.car{background:#FCD84C;color:#111}
.cm-empty{padding:26px 16px;text-align:center;color:var(--muted);border:1px solid var(--line);border-top:0;background:#fff}

.cm-pager{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0}
.cm-pager a,.cm-pager span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:2px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700;padding:0 10px}
.cm-pager span.on{background:var(--ink);border-color:var(--ink);color:#fff}
.cm-pager a:hover{border-color:var(--navy);color:var(--navy)}

.cm-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,3vw,40px);align-items:start}
.cm-side .cm-box{border:1px solid var(--line);background:#fff;margin-bottom:22px}
.cm-side h3{font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:.06em;padding:11px 14px;margin:0;border-bottom:3px solid var(--blue)}
.cm-side ul{list-style:none;margin:0;padding:0}
.cm-side li{padding:11px 14px;border-top:1px solid var(--line);font-size:14.5px}
.cm-side li:first-child{border-top:0}
.cm-side li a{font-weight:700;color:var(--ink);text-decoration:none}
.cm-side li a:hover{color:var(--navy);text-decoration:underline}
.cm-side li small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.cm-side .cm-box p{padding:12px 14px;margin:0;font-size:14.5px}

/* thread */
.cm-thread-head h1{font-size:clamp(26px,3.6vw,44px)}
.cm-thread-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;color:var(--muted);font-size:14.5px;margin-top:12px}
.cm-modbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:10px 12px;background:#FFF8E6;border:1px solid #F0D58A;font-size:14px;align-items:center}
.cm-modbar b{margin-right:4px}
.cm-mini{font:inherit;font-size:13.5px;font-weight:700;background:#fff;border:1.5px solid var(--line);color:var(--ink);padding:5px 10px;cursor:pointer}
.cm-mini:hover{border-color:var(--navy);color:var(--navy)}
.cm-mini.danger{color:#B5121A}
.cm-mini.danger:hover{border-color:#B5121A}

.cm-posts{list-style:none;margin:0;padding:0}
.cm-post{display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid var(--line);background:#fff;margin-bottom:16px;scroll-margin-top:110px}
.cm-post.first{border-top:4px solid var(--navy)}
.cm-post.rdm{border-left:4px solid var(--red)}
.cm-author{background:var(--mist);padding:16px;font-size:13.5px;color:var(--muted);border-right:1px solid var(--line)}
.cm-av{width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;font-stretch:115%;margin-bottom:10px;text-transform:uppercase}
.cm-author a.cm-un{display:block;font-weight:800;color:var(--ink);font-size:15.5px;text-decoration:none;word-break:break-word}
.cm-author a.cm-un:hover{color:var(--navy);text-decoration:underline}
.cm-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;margin:4px 4px 0 0}
.cm-badge.rdm{background:var(--red);color:#fff}
.cm-badge.mod{background:var(--ink);color:#fff}
.cm-author .cm-car{display:block;margin-top:8px;color:var(--ink);font-weight:600}
.cm-author dl{margin:8px 0 0}
.cm-author dt{display:inline}
.cm-author dd{display:inline;margin:0}
.cm-pbody{padding:16px 20px 12px;min-width:0;display:flex;flex-direction:column}
.cm-ptop{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}
.cm-ptop a{color:var(--muted)}
.cm-text{font-size:16.5px;line-height:1.65;overflow-wrap:anywhere}
.cm-text p{margin:0 0 .85em}
.cm-text p:last-child{margin-bottom:0}
.cm-text a{color:var(--navy)}
.cm-text blockquote{margin:0 0 .85em;padding:10px 14px;background:var(--mist);border-left:4px solid var(--line);font-size:15px;color:var(--muted)}
.cm-text blockquote b{color:var(--ink)}
.cm-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:14px}
.cm-imgs.one{grid-template-columns:minmax(0,520px)}
.cm-imgs.one img{max-height:460px;object-fit:cover}
.cm-imgs button{padding:0;border:0;background:var(--mist);cursor:zoom-in;display:block;aspect-ratio:4/3;overflow:hidden}
.cm-imgs.one button{aspect-ratio:auto}
.cm-imgs img{width:100%;height:100%;object-fit:cover;display:block}
.cm-edited{font-size:12.5px;color:var(--muted);margin-top:10px;font-style:italic}
.cm-pacts{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:auto;padding-top:14px;font-size:13.5px}
.cm-pacts button{font:inherit;font-size:13.5px;background:none;border:0;padding:0;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cm-pacts button:hover{color:var(--navy)}
.cm-pacts button.danger:hover{color:#B5121A}

/* composer */
.cm-compose{border:2px solid var(--ink);background:#fff;padding:20px;margin-top:22px}
.cm-compose h2{font-size:20px;margin:0 0 12px}
.cm-compose textarea{width:100%;font:inherit;font-size:16px;line-height:1.55;padding:12px 14px;border:2px solid var(--line);min-height:150px;resize:vertical}
.cm-compose textarea:focus,.cm-compose input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,173,238,.25)}
.cm-tools{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:14px}
.cm-file{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:var(--navy);cursor:pointer;border:2px dashed var(--line);padding:9px 14px}
.cm-file:hover{border-color:var(--navy)}
.cm-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cm-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cm-thumbs figure{position:relative;margin:0;width:92px;height:72px;background:var(--mist)}
.cm-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.cm-thumbs figure.busy::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6) linear-gradient(90deg,transparent,rgba(0,173,238,.35),transparent) 0 0/200% 100%;animation:cmBusy 1s linear infinite}
@keyframes cmBusy{to{background-position:-200% 0}}
.cm-thumbs button{position:absolute;top:2px;right:2px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(22,26,77,.85);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.cm-hint{font-size:13.5px;color:var(--muted)}

.cm-form{display:grid;gap:18px;max-width:720px}
.cm-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cm-check{display:flex;gap:10px;align-items:flex-start;font-size:15.5px}
.cm-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--navy);flex:none}
.cm-tabs{display:flex;gap:0;margin-bottom:22px;border-bottom:2px solid var(--line)}
.cm-tabs button{font:inherit;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.03em;background:none;border:0;padding:12px 18px;margin-bottom:-2px;border-bottom:3px solid transparent;cursor:pointer;color:var(--muted)}
.cm-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue)}
.cm-auth{max-width:520px}
.cm-link{font:inherit;background:none;border:0;padding:0;color:var(--navy);text-decoration:underline;cursor:pointer;font-size:15px}

/* profile */
.cm-prof{display:flex;gap:20px;align-items:center}
.cm-prof .cm-av{width:84px;height:84px;font-size:34px;margin:0}
.cm-facts{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:15px;margin-top:8px}
.cm-facts b{color:var(--ink)}

/* lightbox */
.cm-lb{border:0;padding:0;background:transparent;max-width:96vw;max-height:94vh;margin:auto}
.cm-lb::backdrop{background:rgba(10,12,30,.9)}
.cm-lb img{max-width:96vw;max-height:88vh;display:block;margin:0 auto}
.cm-lb .bar{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.cm-lb button{font:inherit;font-weight:800;background:#fff;border:0;padding:8px 14px;cursor:pointer}

.cm-rules{max-width:780px}
.cm-rules h2{margin:30px 0 10px}
.cm-rules ol,.cm-rules ul{padding-left:22px}
.cm-rules li{margin:6px 0}

@media(max-width:900px){
  .cm-cols{grid-template-columns:1fr}
  .cm-rows>li{grid-template-columns:minmax(0,1fr) 90px}
  .cm-rows .cm-last{display:none}
}
@media(max-width:640px){
  .cm-rows>li{grid-template-columns:1fr;gap:6px}
  .cm-rows .cm-n{text-align:left}
  .cm-rows .cm-n br{display:none}
  .cm-post{grid-template-columns:1fr}
  .cm-author{border-right:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:12px 14px}
  .cm-author .cm-av{width:36px;height:36px;font-size:15px;margin:0}
  .cm-author .cm-car{margin-top:0;flex-basis:100%}
  .cm-author dl{display:none}
  .cm-pbody{padding:14px}
  .cm-form .row2{grid-template-columns:1fr}
  .cm-bar form{flex:1 1 100%}
  .cm-bar input[type=search]{width:100%;max-width:none}
  .cm-who{flex:1 1 100%;flex-wrap:wrap;gap:4px 10px;font-size:13.5px}
  .cm-imgs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cm-imgs.one{grid-template-columns:1fr}
}

/* ---- tidy-up ---- */
.cm-head{padding:clamp(26px,3.5vw,44px) 0 clamp(16px,2vw,24px)}
.cm-head .h1{font-size:clamp(28px,3.6vw,48px)}
.cm-head.cm-home .h1{font-size:clamp(38px,5.4vw,72px)}
.cm-thread-head h1{font-size:clamp(26px,3.2vw,42px)}
.cm-ttags{margin-bottom:10px}
.cm-n span{display:block}
.cm-n b{color:var(--ink)}
.cm-rows .cm-last span a{color:var(--ink);font-weight:700;text-decoration:none}
.cm-rows .cm-last span a:hover{color:var(--navy);text-decoration:underline}
.cm-pacts{align-items:center;gap:6px}
.cm-pacts button{font-size:13px;font-weight:700;text-decoration:none;color:var(--ink);background:var(--mist);padding:6px 11px;border-radius:2px}
.cm-pacts button:hover{background:#E2E5EF;color:var(--navy)}
.cm-pacts button.quiet{background:none;color:var(--muted);font-weight:600}
.cm-pacts button.quiet:hover{color:#B5121A;background:none}
.cm-pacts button.danger{background:none;color:var(--muted);font-weight:600}
.cm-pacts button.danger:hover{color:#B5121A;background:#FDF0F0}
.cm-pmod{margin-left:auto}
.cm-pmod button.danger{color:#B5121A;border:1.5px solid #F2C4C6;background:#fff}
.cm-ptop time{font-weight:600;color:var(--ink)}
.cm-post{box-shadow:0 1px 0 rgba(22,26,77,.04)}
/* dialog */
.cm-ask{border:0;padding:0;width:min(460px,calc(100% - 32px));margin:auto;position:fixed;inset:0;height:fit-content;max-height:calc(100vh - 32px);overflow:auto;border-top:6px solid var(--navy);box-shadow:0 24px 60px rgba(0,0,0,.35);color:var(--ink)}
.cm-ask::backdrop{background:rgba(22,26,77,.55)}
.cm-ask form{padding:24px 24px 20px;display:grid;gap:14px}
.cm-ask h2{font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:21px;line-height:1.1;margin:0}
.cm-ask p{margin:0;color:var(--muted);font-size:15.5px}
.cm-ask textarea{min-height:90px}
.cm-ask-acts{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:4px}
.btn--danger::before{background:#C8161E}
.btn--danger:hover::before{background:#A31218}
/* toast */
.cm-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;transition:.25s;background:var(--ink);color:#fff;padding:12px 18px;font-weight:700;font-size:15px;z-index:200;max-width:calc(100% - 32px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cm-toast.on{opacity:1;transform:translate(-50%,0)}
.cm-toast.bad{background:#B5121A}
@media(max-width:900px){
  .cm-cols{display:flex;flex-direction:column}
  .cm-side{order:-1;display:grid;gap:0;width:100%}
  .cm-cols>div{width:100%}
  .cm-side .cm-box{margin-bottom:16px}
  .cm-side .cm-stats{display:none}
  .cm-side li:nth-child(n+5){display:none}
}
@media(max-width:640px){
  .cm-hide-m{display:none}
  .cm-bar nav{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:16px;scrollbar-width:none;margin:0 -16px;padding:2px 16px}
  .cm-bar nav::-webkit-scrollbar{display:none}
  .cm-bar .wrap{gap:8px;padding-top:8px;padding-bottom:8px}
  .cm-n span{display:inline}
  .cm-n span+span::before{content:" · ";color:var(--muted)}
  .cm-head.cm-home .h1{font-size:40px}
  .cm-head .btns{gap:10px}
  .cm-pmod{margin-left:0}
}

/* ---- new since last visit ---- */
.cm-tag.new{background:#1E8A5F;color:#fff}
.cm-rows>li.is-new{background:#F3FAF6}
.cm-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#1E8A5F;margin-right:8px;vertical-align:2px}
.cm-readall{text-align:right;margin:-6px 0 10px;font-size:14px}
.cm-readall .cm-link{font-size:14px}
.cm-newline{list-style:none;display:flex;align-items:center;gap:12px;margin:6px 0 16px;color:#1E8A5F;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;scroll-margin-top:110px}
.cm-newline::before,.cm-newline::after{content:"";flex:1;height:2px;background:#1E8A5F;opacity:.5}
.cm-post.unread .cm-ptop time::after{content:"New";display:inline-block;margin-left:8px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#1E8A5F;color:#fff;padding:1px 6px;vertical-align:1px}
/* ---- formatting ---- */
.cm-fmt{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border:2px solid var(--line);border-bottom:0;background:var(--mist);padding:5px 6px}
.cm-fmt button{font:inherit;font-size:14px;font-weight:700;min-width:36px;height:32px;padding:0 10px;background:#fff;border:1px solid var(--line);color:var(--ink);cursor:pointer}
.cm-fmt button:hover{border-color:var(--navy);color:var(--navy)}
.cm-fmt-hint{margin-left:auto;font-size:12.5px;color:var(--muted);padding-right:4px}
.cm-fmt+textarea,.cm-compose .cm-fmt+textarea{border-top-width:2px}
.cm-text ul,.cm-text ol{margin:0 0 .85em;padding-left:1.4em}
.cm-text li{margin:.2em 0}
.cm-text strong{font-weight:800}
/* ---- avatars, former members ---- */
.cm-av.has-img{background:var(--mist);overflow:hidden;padding:0}
.cm-av.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.cm-gone{color:var(--muted);font-style:italic}
.cm-author .cm-gone{font-weight:700;font-size:15px;display:block}
.cm-avset{display:flex;gap:18px;align-items:center;padding-bottom:6px}
.cm-avset .cm-av{width:72px;height:72px;font-size:30px;margin:0}
/* ---- danger zone ---- */
.cm-danger{margin-top:26px;padding:18px 20px;border:2px solid #F2C4C6;background:#FFF8F8}
.cm-danger h2{margin:0 0 6px;font-size:18px}
.cm-danger p{margin:0 0 12px;font-size:15px;color:var(--muted)}
@media(max-width:640px){.cm-fmt-hint{display:none}}

/* likes */
.cm-pacts .cm-like{display:inline-flex;align-items:center;gap:5px;background:var(--mist);color:var(--ink);text-decoration:none;font-weight:700;padding:6px 11px;border-radius:2px}
.cm-pacts .cm-like .cm-like-ic{font-size:15px;line-height:1;color:#9AA0B4;transition:transform .15s}
.cm-pacts .cm-like:hover{background:#FDF0F0;color:#B5121A}
.cm-pacts .cm-like:hover .cm-like-ic{color:#E3121B}
.cm-pacts .cm-like.on{background:#FDF0F0;color:#B5121A}
.cm-pacts .cm-like.on .cm-like-ic{color:#E3121B;transform:scale(1.15)}
.cm-pacts .cm-like[disabled]{cursor:default;opacity:.7;background:var(--mist);color:var(--muted)}
.cm-pacts .cm-like[disabled]:hover{background:var(--mist);color:var(--muted)}
.cm-pacts .cm-like[disabled]:hover .cm-like-ic{color:#9AA0B4}
