/* forum.coreinto.com: a warm, conversational forum. */
body.site-community { background: #f6f7f4; }
.chead { background: #fff; border-bottom: 1px solid #e6e8e1; position: sticky; top: 0; z-index: 40; }
.chead-in { display: flex; align-items: center; gap: 1.4rem; min-height: 64px; }
.ctag { margin-left: .3rem; padding: .15rem .55rem; border-radius: 0; background: #fff1dc; color: #9a5a00; font-size: .76rem; font-weight: 700; }
.chead .logo-word { font-size: 1.2rem; }
.cnav { display: flex; gap: .2rem; }
.cnav a { display: inline-flex; gap: .4rem; align-items: center; padding: .5rem .8rem; border-radius: 0; color: var(--text); font-weight: 600; font-size: .92rem; }
.cnav a:hover { background: #f1f2ed; text-decoration: none; }
.cnav a[aria-current] { background: var(--ink); color: #fff; }
.csearch { flex: 1; max-width: 300px; margin-left: auto; }
.csearch input { border-radius: 0; padding: .5rem 1rem; background: #f6f7f4; }
.cuser { display: flex; gap: .8rem; align-items: center; font-weight: 600; font-size: .92rem; }
.cme { display: inline-flex; gap: .45rem; align-items: center; color: var(--ink); }
.cme .avatar { width: 28px; height: 28px; font-size: .8rem; }
.cmain { padding: 2rem 0 4rem; }

.chero { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 2.2rem 2.4rem; border-radius: 0; background: linear-gradient(120deg, #133b62 0%, #1a6f86 55%, #22a99c 100%); color: #d9ecf0; margin-bottom: 2rem; flex-wrap: wrap; }
.chero h1 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.chero .lead { color: #cde4ea; margin: 0; }
.cstats { display: grid; grid-template-columns: repeat(4, auto); gap: 1.6rem; margin: 0; }
.cstats dt { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #a6d6d6; }
.cstats dd { margin: 0; font-size: 1.7rem; font-weight: 800; color: #fff; }

.cgrid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 2rem; align-items: start; }
.cgrid > div > h2, .cgrid h2.h3 { margin-top: 1.8rem; }
.cgrid > div > h2:first-child { margin-top: 0; }
.ccats { display: grid; gap: .6rem; }
.ccat { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.2rem; background: #fff; border: 1px solid #e6e8e1; border-radius: 0; color: inherit; transition: border-color .15s, transform .15s; }
.ccat:hover { text-decoration: none; border-color: #bfe6e1; transform: translateX(3px); }
.ccat-ic { width: 44px; height: 44px; border-radius: 0; display: grid; place-items: center; background: #fff1dc; color: #a25f00; flex: none; }
.ccat-txt strong { display: block; color: var(--ink); }
.ccat-txt small { color: var(--muted); }
.ccat-n { text-align: right; font-size: .78rem; color: var(--muted); display: flex; flex-direction: column; }
.ccat-n strong { font-size: 1.2rem; color: var(--ink); }
.ccat-head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.4rem; }
.ccat-head h1 { margin: 0; font-size: 1.9rem; }
.ccat-head p { margin: 0; }
.ccat-head .btn { margin-left: auto; }

.tlist { list-style: none; padding: 0; margin: 0; background: #fff; border: 1px solid #e6e8e1; border-radius: 0; overflow: hidden; }
.trow { display: flex; gap: .9rem; align-items: center; padding: .9rem 1.2rem; border-bottom: 1px solid #eef0ea; }
.trow:last-child { border-bottom: 0; }
.trow.pinned { background: #fffaf1; }
.tmain { flex: 1; min-width: 0; }
.ttitle { display: block; color: var(--ink); font-weight: 650; }
.tmeta { display: flex; flex-wrap: wrap; gap: .25rem; align-items: center; }
.tstat { text-align: center; min-width: 54px; color: var(--muted); font-size: .74rem; display: flex; flex-direction: column; }
.tstat strong { font-size: 1.05rem; color: var(--ink); }

.cside { display: grid; gap: 1rem; position: sticky; top: 84px; }
.cbox { background: #fff; border: 1px solid #e6e8e1; border-radius: 0; padding: 1.1rem 1.2rem; }
.cbox h2 { margin-bottom: .6rem; }
.cbox-join { background: linear-gradient(180deg, #fff, #f2fbfa); border-color: #cfeae6; }
.cbox-soft { background: #fff7ea; border-color: #f4e2c2; }
.clinks { list-style: none; padding: 0; margin: 0; }
.clinks a { display: flex; gap: .5rem; align-items: center; padding: .35rem 0; color: var(--text); font-size: .92rem; }
.clist { padding-left: 1.1rem; margin: 0 0 .6rem; }

.thead h1 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.posts { display: grid; gap: 1rem; }
.cpost { background: #fff; border: 1px solid #e6e8e1; border-radius: 0; padding: 1.2rem 1.4rem; }
.cpost.by-staff { border-left: 4px solid var(--teal-2); }
.cpost.is-answer { border: 2px solid var(--ok); box-shadow: 0 6px 22px rgba(19, 138, 91, .12); }
.cpost.pending { opacity: .75; border-style: dashed; }
.cpost-head { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; margin-bottom: .8rem; }
.cpost-author { font-weight: 700; color: var(--ink); }
.answer-flag { margin-left: auto; display: inline-flex; gap: .3rem; align-items: center; color: var(--ok); font-weight: 700; font-size: .86rem; }
.cpost-body { font-size: 1rem; }
.cpost-foot { display: flex; gap: 1rem; align-items: center; justify-content: flex-end; margin-top: .6rem; }
.report summary { cursor: pointer; list-style: none; }
.report form { display: flex; gap: .4rem; margin-top: .4rem; }
.report input { padding: .4rem .6rem; font-size: .86rem; }
.reply { margin-top: 2rem; }
.reply textarea { min-height: 170px; margin-bottom: .6rem; }
.cform h1 { margin-top: 1rem; }
.auth { display: grid; place-items: center; padding: 2rem 0; }
.auth-card { width: min(440px, 100%); padding: 2rem; }
.auth-card h1 { font-size: 1.7rem; display: flex; gap: .5rem; align-items: center; }

.ihero { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.ihero h1 { margin-bottom: .3rem; }
.ihero .lead { margin: 0; }
.iroad { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-bottom: 1.4rem; }
.iroad-col { background: #fff; border: 1px solid #e6e8e1; border-radius: 0; padding: .9rem 1.1rem; color: inherit; border-top: 4px solid var(--line-2); }
.iroad-col:hover, .iroad-col.on { text-decoration: none; box-shadow: var(--shadow); }
.iroad-col strong { display: block; font-size: 1.6rem; color: var(--ink); }
.iroad-col span { font-size: .86rem; color: var(--muted); font-weight: 600; }
.iroad-col.istate-open { border-top-color: #6c8bd8; }
.iroad-col.istate-planned { border-top-color: #e2a33c; }
.iroad-col.istate-building { border-top-color: var(--teal-2); }
.iroad-col.istate-released { border-top-color: var(--ok); }
.ifilter { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.ifilter select, .ifilter input { width: auto; flex: 1 1 160px; padding: .5rem .7rem; }
.ilist { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .7rem; }
.iitem { display: flex; gap: 1rem; background: #fff; border: 1px solid #e6e8e1; border-radius: 0; padding: 1rem 1.2rem; }
.itext { flex: 1; min-width: 0; }
.itext p { margin: .25rem 0; }
.ititle { font-weight: 700; color: var(--ink); font-size: 1.05rem; }
.vote { margin: 0; }
.vote-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 58px; min-height: 64px; border: 1px solid var(--line-2); border-radius: 0; background: #fff; color: var(--muted); cursor: pointer; font: inherit; padding: .4rem; }
.vote-btn strong { color: var(--ink); font-size: 1.1rem; }
.vote-btn:hover { border-color: var(--teal); color: var(--teal); text-decoration: none; }
.vote-btn.on { background: var(--teal-soft); border-color: var(--teal-2); color: var(--teal); }
.vote-lg { width: 76px; min-height: 90px; }
.vote-lg small { font-size: .72rem; }
.istate { display: inline-block; padding: .15rem .6rem; border-radius: 0; font-size: .74rem; font-weight: 700; background: #eef0ea; color: var(--muted); }
.istate-open { background: #e8eefc; color: #3a5bb5; }
.istate-planned { background: #fff1dc; color: #9a5a00; }
.istate-building { background: var(--teal-soft); color: #0b5f59; }
.istate-released { background: var(--ok-soft); color: var(--ok); }
.istate-declined { background: var(--bad-soft); color: var(--bad); }
.ilist-mini li { display: flex; gap: .8rem; align-items: center; background: #fff; border: 1px solid #e6e8e1; border-radius: 0; padding: .6rem .9rem; }
.ilist-mini a { flex: 1; color: var(--ink); font-weight: 600; }
.vote-n { min-width: 2.4rem; text-align: center; font-weight: 800; color: var(--teal); }
.idea-head { display: flex; gap: 1.2rem; align-items: flex-start; margin-bottom: 1.2rem; }
.idea-head h1 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-bottom: .4rem; }
.staff-note { margin: 1.5rem 0; padding: 1.1rem 1.3rem; border-radius: 0; background: var(--teal-soft); border: 1px solid #bfe6e1; }
.staff-note strong { display: flex; gap: .4rem; align-items: center; color: #0b5f59; margin-bottom: .4rem; }
.icomments { margin-top: 2rem; }
.icomment { background: #fff; border: 1px solid #e6e8e1; border-radius: 0; padding: .9rem 1.1rem; margin-bottom: .6rem; }
.icomment.by-staff { border-left: 4px solid var(--teal-2); }
.icomments form { margin-top: 1rem; }
.prof { display: flex; gap: 1rem; align-items: center; margin-bottom: 2rem; }
.prof h1 { margin: 0; }
.site-community .faq-block { margin-top: 2rem; }

@media (max-width: 980px) {
  .cgrid { grid-template-columns: 1fr; }
  .cside { position: static; }
  .chead-in { flex-wrap: wrap; padding: .6rem 0; gap: .6rem 1rem; }
  .csearch { order: 5; max-width: none; flex-basis: 100%; }
  .cstats { grid-template-columns: repeat(2, auto); }
  .iroad { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) { .cnav a { padding: .4rem .55rem; font-size: .85rem; } .cnav .ico { display: none; } .chero { padding: 1.6rem; } .ccat { grid-template-columns: auto 1fr; } .ccat-n { display: none; } }
