/* Community feed */
.cm-wrap{padding-bottom:60px}
.cm-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start;margin-top:8px}
.cm-main{min-width:0;max-width:720px;width:100%}
.cm-side{position:sticky;top:84px;display:grid;gap:16px;min-width:0}.cm-box h2{font-size:1.5rem;margin:0 0 6px}.cm-box h3{margin:8px 0 6px}.cm-box p{margin:0 0 12px;color:var(--soft)}.cm-box .sc-list{grid-template-columns:1fr}
.cm-box .sc-person{padding:10px 12px}.cm-box .pf-av.sm{width:40px;height:40px;font-size:1.1rem}
.cm-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;scrollbar-width:none}.cm-tabs::-webkit-scrollbar{display:none}
.cm-tabs button{flex:none;font:500 .85rem var(--sans);padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--soft);cursor:pointer;transition:.2s}
.cm-tabs button:hover{border-color:var(--or);color:var(--ink)}.cm-tabs button.on{background:var(--or);border-color:var(--or);color:#fff}
.cm-post{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg,16px);padding:22px 24px;margin-bottom:16px;overflow:hidden;animation:cmIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*50ms);transition:border-color .25s}
.cm-post:hover{border-color:color-mix(in srgb,var(--or) 35%,var(--line))}
@keyframes cmIn{from{opacity:0;transform:translateY(10px)}}
.cm-who{display:flex;gap:12px;align-items:center;margin:0 0 14px}
.cm-av{flex:none;display:block;width:48px;height:48px;line-height:0;text-decoration:none}
.cm-av .pf-av,.cm-av .pf-av.sm{width:48px;height:48px;margin:0;display:grid;place-items:center;overflow:hidden;flex:none;line-height:1}.cm-av .pf-av img{width:100%;height:100%;object-fit:cover;display:block}
.cm-meta{min-width:0;line-height:1.3}.cm-name{color:var(--ink);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.cm-name:hover{color:var(--or-text)}
.cm-you{font:500 .66rem var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--or-text);border:1px solid var(--or);border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:2px}
.cm-sub{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:.8rem;color:var(--muted);margin-top:2px}.cm-sub a{color:inherit;text-decoration:none}.cm-sub a:hover{color:var(--or-text);text-decoration:underline}
.cm-type{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.cm-title{font-size:1.6rem;line-height:1.2;margin:0 0 8px;overflow-wrap:anywhere}
.cm-body{position:relative}.cm-text{margin:0;font-size:1.02rem;line-height:1.65;color:var(--ink);overflow:hidden;transition:max-height .35s ease}.cm-text p{margin:0 0 1em;overflow-wrap:anywhere}.cm-text p:last-child{margin:0}
.cm-body.clamp .cm-text::after{content:"";position:absolute;left:0;right:0;bottom:34px;height:90px;background:linear-gradient(transparent,var(--card));pointer-events:none}
.cm-tog{display:inline-block;margin-top:10px;background:none;border:0;padding:0;color:var(--or-text);font:500 .9rem var(--sans);cursor:pointer}.cm-tog:hover{text-decoration:underline}
.cm-th{margin-top:16px;max-width:none!important}.cm-th.n1{grid-template-columns:1fr!important}.cm-th.n1 .th{aspect-ratio:auto;max-height:520px}.cm-th.n1 img,.cm-th.n1 video{height:auto;max-height:520px;object-fit:contain;background:var(--elev)}
.cm-th.n2,.cm-th.n3,.cm-th.n4{grid-template-columns:repeat(2,1fr)!important}.cm-th.n3 .th:first-child{grid-column:1/-1;aspect-ratio:16/9}
.cm-post .pl{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.cm-post .pl h4{margin:0 0 12px;font:600 1rem var(--sans)}
.cm-end{text-align:center;margin-top:8px}
.cm-sk{height:180px;border-radius:16px;margin-bottom:16px;background:linear-gradient(90deg,var(--card),var(--elev),var(--card)) 0 0/200% 100%;animation:cmSk 1.4s linear infinite}@keyframes cmSk{to{background-position:-200% 0}}
@media(max-width:900px){.cm-grid{grid-template-columns:1fr}.cm-side{position:static;order:2}.cm-main{max-width:none}}
@media(max-width:560px){.cm-post{padding:18px 16px;border-radius:14px}.cm-title{font-size:1.35rem}.cm-th{grid-template-columns:repeat(2,1fr)!important}}
@media(prefers-reduced-motion:reduce){.cm-post,.cm-sk{animation:none}.cm-text{transition:none}}

/* Quick entrance */
@keyframes cmUp{from{opacity:0;transform:translateY(10px)}}
.cm-banner h1,.cm-banner p{animation:cmUp .4s var(--ease) backwards}.cm-banner p{animation-delay:.06s}
.cm-side>*{animation:cmUp .35s .12s var(--ease) backwards}.cm-side>:nth-child(2){animation-delay:.18s}.cm-side>:nth-child(3){animation-delay:.24s}
.cm-post{animation:cmUp .35s var(--ease) backwards}.cm-post:nth-child(2){animation-delay:.05s}.cm-post:nth-child(3){animation-delay:.1s}.cm-post:nth-child(4){animation-delay:.15s}
@media(prefers-reduced-motion:reduce){.cm-banner h1,.cm-banner p,.cm-side>*,.cm-post{animation:none}}

/* Exact publish time on hover (device time zone); not a link */
.cm-time{position:relative;cursor:default;outline:0}
.cm-time::after{content:attr(data-full);position:absolute;left:0;top:calc(100% + 6px);z-index:5;white-space:nowrap;padding:7px 11px;border-radius:10px;background:var(--ink);color:var(--on-ink);font:500 .78rem var(--sans);box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s,transform .2s var(--ease)}
.cm-time:hover::after,.cm-time:focus::after{opacity:1;transform:none;transition-delay:.12s}
@media(prefers-reduced-motion:reduce){.cm-time::after{transition:none}}

.cm-hrow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.cm-hrow h1{margin:0!important}
.cm-langbtn{display:inline-flex;align-items:center;gap:8px;font:500 .88rem var(--sans);padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:border-color .2s,transform .2s}
.cm-langbtn:hover{border-color:var(--or);transform:translateY(-1px)}.cm-langbtn:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.cm-langbtn b{font-weight:600;font-size:.72rem;background:var(--or);color:#fff;border-radius:999px;padding:1px 8px}
.cm-lm{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(20,20,20,.38);backdrop-filter:blur(3px);animation:lmFade .25s ease both}
.cm-lm.out{animation:lmFade .2s ease reverse both}
.cm-lp{width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.18);animation:lmPop .35s cubic-bezier(.2,.9,.25,1.1) both}
.cm-lm.out .cm-lp{animation:lmPop .2s ease reverse both}
.cm-lp h2{margin:0 0 4px;font-size:1.7rem}.cm-lp>p{margin:0 0 18px;color:var(--soft);font-size:.93rem}
.cm-lg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cm-lg button{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,transform .15s;animation:lmIn .4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*22ms)}
.cm-lg button:hover{border-color:var(--or)}.cm-lg button:active{transform:scale(.98)}.cm-lg button:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.cm-lg button[aria-pressed=true]{border-color:var(--or);background:color-mix(in srgb,var(--or) 10%,transparent)}
.cm-lg i{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:grid;place-items:center;transition:.2s}
.cm-lg i svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .25s ease .05s}
.cm-lg [aria-pressed=true] i{background:var(--or);border-color:var(--or)}.cm-lg [aria-pressed=true] i svg{stroke-dashoffset:0}
.cm-lg span{display:block;line-height:1.25;min-width:0}.cm-lg b{display:block;font-weight:600;font-size:.95rem}.cm-lg small{color:var(--soft);font-size:.74rem}
.cm-lf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;flex-wrap:wrap}
.cm-lf .lk{background:none;border:0;color:var(--soft);font:500 .85rem var(--sans);cursor:pointer;padding:6px 2px;text-decoration:underline;text-underline-offset:3px}.cm-lf .lk:hover{color:var(--ink)}
.cm-lf .acts{display:flex;gap:8px;margin-left:auto}.cm-lf .btn[disabled]{opacity:.45;cursor:not-allowed}
.cm-lnote{margin:12px 0 0;font-size:.78rem;color:var(--soft)}
@keyframes lmFade{from{opacity:0}}@keyframes lmPop{from{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes lmIn{from{opacity:0;transform:translateY(6px)}}
@media(max-width:520px){.cm-lg{grid-template-columns:1fr}.cm-lp{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){.cm-lm,.cm-lp,.cm-lg button{animation:none!important}}
.cm-lg .all{grid-column:1/-1}
/* compact, squarer language popup */
.cm-lp{width:min(580px,100%);padding:22px 24px 18px}
.cm-lp h2{font-size:1.5rem}.cm-lp>p{margin-bottom:14px}
.cm-lg{grid-template-columns:repeat(3,1fr);gap:7px}
.cm-lg button{padding:9px 10px;gap:9px;border-radius:11px}
.cm-lg b{font-size:.9rem}.cm-lg small{font-size:.7rem}
.cm-lnote{margin-top:10px}.cm-lf{margin-top:14px;position:sticky;bottom:-18px;background:var(--card);padding:8px 0 2px}
@media(max-width:560px){.cm-lg{grid-template-columns:1fr 1fr}.cm-lp{padding:18px 16px 14px}}
@media(max-height:620px){.cm-lnote{display:none}}

/* fix: global `header{sticky pill}` rule was leaking onto the post header (.cm-who) */
.cm-post .cm-who{position:static;top:auto;z-index:auto;width:auto;margin:0 0 14px;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding-right:40px}
/* report "..." button: top-right corner of the post card */
.cm-post{position:relative}
.cm-post>.md-dots{position:absolute;top:10px;right:10px;margin:0;z-index:2}

/* feed sorting */
.cm-sort{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.cm-sort-l{font:500 .85rem var(--sans);color:var(--muted)}
.cm-seg{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--card);max-width:100%}
.cm-seg button{font:500 .86rem var(--sans);padding:7px 15px;border:0;border-radius:999px;background:none;color:var(--soft);cursor:pointer;white-space:nowrap;transition:background .25s,color .25s}
.cm-seg button:hover{color:var(--ink)}
.cm-seg button[aria-pressed=true]{background:var(--or);color:#fff}
.cm-seg button:focus-visible{outline:2px solid var(--or);outline-offset:2px}
@media(max-width:560px){.cm-seg button{padding:7px 11px;font-size:.82rem}}
