/* 社区 · cm-composer：照「安可集-零件表/社区-定稿.html」逐条搬的样式和动效（11-05 晚，分路改，覆盖 community.css）。 */
/* A 路：发帖框、发帖浮层（提及 / 话题 / 表情 / 关联作品）、上传、出错、没登录、右栏、左导航。数值照定稿原样，类名加 v3-cmc- 前缀。 */

/* ================= 发帖框（定稿 .composer / #composer .composer） ================= */
.v3-cmc{display:block}
.v3-cm-composer:focus-within{border-color:transparent;background:linear-gradient(var(--v3-paper),var(--v3-paper)) padding-box,linear-gradient(120deg,#4DAFFE 0%,#B6DBFE 45%,#DCEFFF 70%,#7EC2FD 100%) border-box;box-shadow:0 0 0 4px rgba(77,175,254,.1)}
/* 输入框跟着字数变高（定稿 textarea{field-sizing:content}），滚动条不显示 */
.v3-cm-cta{min-width:0}
.v3-cm-cta textarea{field-sizing:content;scrollbar-width:none;resize:none!important}
.v3-cm-cta textarea::-webkit-scrollbar{display:none}
/* 工具键：按下（表情 / 关联作品浮层开着）不另外上色，只有悬停底色（定稿 .composer .tool） */
.v3-cm-composer .v3-cm-tool[aria-pressed="true"]{background:none;color:inherit}
.v3-cm-composer .v3-cm-tool:hover{background:var(--v3-sheet);color:var(--v3-ink)}
/* 发布：定稿 .btn.primary.sm（32 高、左右 12、1px 透明边）；没内容时禁用（浅蓝底、灰字） */
.v3-cm-composer .v3-cm-bar .v3-cm-primary,.v3-cmc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid transparent;border-radius:6px;background:var(--v3-action);color:#fff!important;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.v3-cm-composer .v3-cm-bar .v3-cm-primary:hover,.v3-cmc-btn:hover{background:var(--v3-action-hover)}
.v3-cm-composer .v3-cm-bar .v3-cm-primary:active,.v3-cmc-btn:active{background:var(--v3-action-press)}
.v3-cm-composer .v3-cm-bar .v3-cm-primary:disabled{background:var(--v3-sheet);color:var(--v3-smoke)!important;border-color:transparent;cursor:not-allowed}
/* 光沿发帖框画一圈后的余晖（定稿 #composer .composer.handoff） */
.v3-cm-composer.v3-cmp-composer-handoff{animation:handoff 1.3s ease-out}

/* ================= 没登录（定稿 guestComposer：.cmini.cguest） ================= */
.v3-cm-cmini.v3-cm-cguest{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:8px;padding:10px 10px 10px 12px;border:1px solid transparent;border-radius:var(--v3-radius-lg);color:var(--v3-ink);font-size:inherit;cursor:default}
.v3-cm-cguest .v3-cm-ph{flex:1;min-width:0;color:var(--v3-stone);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ================= 图片 / 视频（上传 A：圆环） ================= */
.v3-cmc-pv{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}
.v3-cmc-mt{position:relative;width:96px;height:96px;border-radius:var(--v3-radius-md);overflow:hidden;background:var(--v3-sheet);flex:none;transition:opacity .15s}
.v3-cmc-pv.is-v .v3-cmc-mt{width:200px;height:112px}
.v3-cmc-mt img,.v3-cmc-mt video{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;max-width:none}
.v3-cmc-mt[draggable="true"]{cursor:grab}
.v3-cmc-mx{font-size:12px;line-height:20px;text-align:center;position:absolute;top:4px;right:4px;z-index:2;display:block;width:20px;height:20px;padding:0;border:0;border-radius:6px;background:rgba(31,42,55,.55);color:#fff;cursor:pointer}
.v3-cmc-mx:hover{background:rgba(31,42,55,.75)}
.v3-cmc-mx .v3-ic{width:10px;height:10px}
.v3-cmc-mx .v3-cm-glyph{font-size:12px}
.v3-cmc-vtag{position:absolute;left:6px;bottom:6px;background:rgba(31,42,55,.6);color:#fff;font-size:11px;border-radius:4px;padding:0 6px;line-height:18px;font-variant-numeric:tabular-nums}
.v3-cmc-mt.is-up img,.v3-cmc-mt.is-up video{filter:brightness(.6)}
.v3-cmc-ring{position:absolute;inset:0;display:grid;place-items:center}
.v3-cmc-ring svg{width:40px;height:40px;transform:rotate(-90deg)}
.v3-cmc-ring circle{fill:none;stroke:rgba(255,255,255,.32);stroke-width:3}
.v3-cmc-ring circle.is-v{stroke:#fff;stroke-dasharray:94.25;stroke-linecap:round;transition:stroke-dashoffset .25s}
.v3-cmc-ring em{position:absolute;font-style:normal;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}
.v3-cmc-merr{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(255,255,255,.9);font-size:12px}
.v3-cmc-merr b{color:var(--v3-danger);font-weight:500}
.v3-cmc-merr button{height:24px;padding:0 10px;border:1px solid var(--v3-line-strong);border-radius:6px;background:var(--v3-paper);color:var(--v3-ink);font-size:12px;cursor:pointer}
.v3-cmc-merr button:hover{border-color:var(--v3-action);color:var(--v3-action)}

/* ================= 文件超限 A：框里一行 ================= */
.v3-cmc-err{grid-column:2;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--v3-danger);animation:v3-cmc-cerrin .2s ease-out}
.v3-cmc-err .v3-ic{color:var(--v3-danger)}
.v3-cmc-err button{display:block;text-align:center;font-size:14px;line-height:22.4px;margin-left:auto;width:22px;height:22px;padding:0 6px;border:0;border-radius:5px;background:none;color:var(--v3-smoke);cursor:pointer}
.v3-cmc-err button:hover{background:var(--v3-sheet)}
.v3-cmc-err button .v3-ic{width:14px;height:14px;color:inherit}
.v3-cmc-err .v3-cm-glyph,.v3-cm-lwk .v3-cm-wx .v3-cm-glyph{font-size:14px}
/* 关联作品小卡片上的「移除」：定稿是 14px 的 ×，这里用 close 图标按同样大小画（不用字符图标） */
.v3-cm-lwk .v3-cm-wx .v3-ic{width:14px;height:14px}
@keyframes v3-cmc-cerrin{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* ================= 弹层 A：浮层（实心白 + 柔和阴影） ================= */
.v3-cmc-pop{position:fixed;z-index:85;box-sizing:border-box;width:260px;overflow:auto;scrollbar-width:none;padding:6px;border:1px solid var(--v3-line);border-radius:var(--v3-radius-md);background:var(--v3-paper);box-shadow:var(--v3-float);color:var(--v3-ink);font-family:var(--v3-font);font-size:14px;line-height:1.6;text-align:left;animation:v3-cmc-cpopin .14s ease-out}
.v3-cmc-pop::-webkit-scrollbar{display:none}
.v3-cmc-pop *{box-sizing:border-box}
:where(.v3-cmc-pop) :where(button){font:inherit;color:inherit}
.v3-cmc-pop.is-emoji{width:336px}
.v3-cmc-pop.is-work{width:392px}
/* 定稿里全局 .work（作品卡）也落到了这个浮层上：竖排、间距 9px、手形光标——照搬 */
.v3-cmc-pop.is-work{display:flex;flex-direction:column;gap:9px;cursor:pointer}
@keyframes v3-cmc-cpopin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* 提及 / 话题联想 */
.v3-cmc-plist{display:grid;gap:1px;max-height:288px;overflow:auto;padding:3px;margin:-3px;scrollbar-width:none}
.v3-cmc-prow{display:flex;align-items:center;gap:8px;width:100%;height:38px;padding:0 8px;border:0;background:none;border-radius:6px;cursor:pointer;font-size:14px;color:var(--v3-ink);text-align:left}
.v3-cmc-av{display:block;width:24px;height:24px;flex:none;border-radius:6px;object-fit:cover}
.v3-cmc-av.is-i{display:grid;place-items:center;background:var(--v3-tint);color:var(--v3-action);font-size:11px;font-weight:600}
.v3-cmc-prow b{min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-cmc-prow small{color:var(--v3-smoke);font-size:12px;white-space:nowrap}
.v3-cmc-prow .v3-cmc-tn{margin-left:auto}
.v3-cmc-ph2{width:24px;flex:none;text-align:center;color:var(--v3-action);font-weight:600}
.v3-cmc-prow.is-on,.v3-cmc-prow:hover{background:var(--v3-tint)}
.v3-cmc-pz{padding:10px 8px;color:var(--v3-smoke);font-size:13px}
/* 表情：分类 + 8 列 */
.v3-cmc-etabs{display:flex;align-items:center;gap:16px;margin-bottom:6px;padding:0 8px;border-bottom:1px solid var(--v3-line)}
.v3-cmc-etabs button[role=tab]{position:relative;height:34px;padding:0;border:0;background:none;color:var(--v3-stone);font-size:13px;cursor:pointer}
.v3-cmc-etabs button[role=tab]:hover{color:var(--v3-ink)}
.v3-cmc-etabs button[aria-selected=true]{color:var(--v3-ink);font-weight:500}
.v3-cmc-etabs button[aria-selected=true]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--v3-action)}
.v3-cmc-egrid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:196px;overflow:auto;padding:3px;margin:-3px;scrollbar-width:none}
.v3-cmc-egrid button{height:36px;padding:0;border:0;background:none;border-radius:6px;font-size:20px;line-height:36px;cursor:pointer}
.v3-cmc-egrid button:hover{background:var(--v3-sheet-hover)}
/* 关联作品 A：列表 */
.v3-cmc-wph{display:flex;align-items:center;gap:8px;padding:4px 8px 8px}
.v3-cmc-wph b{font-size:14px;font-weight:600}
.v3-cmc-wph small{color:var(--v3-smoke);font-size:12px;font-variant-numeric:tabular-nums}
.v3-cmc-wlist{display:grid;gap:2px;max-height:320px;overflow:auto;padding:3px;margin:-3px;scrollbar-width:none}
.v3-cmc-wrow{display:grid;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;background:none;border-radius:var(--v3-radius-md);cursor:pointer;text-align:left;color:var(--v3-ink)}
.v3-cmc-wrow img,.v3-cmc-wcv{display:block;width:40px;height:40px;border-radius:6px;object-fit:cover;max-width:none}
.v3-cmc-wcv{background:var(--v3-sheet)}
.v3-cmc-wt{display:grid;gap:2px;min-width:0}
.v3-cmc-wt b{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-cmc-wt small{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--v3-smoke)}
.v3-cmc-knot{width:14px;height:10px;flex:none;color:var(--v3-smoke)}
.v3-cmc-wp{font-size:13px;color:var(--v3-stone);font-variant-numeric:tabular-nums}
.v3-cmc-wrow:hover{background:var(--v3-sheet)}
.v3-cmc-wrow.is-on{background:var(--v3-tint)}
.v3-cmc-wck{display:grid;place-items:center;width:18px;height:18px;flex:none;border:1.5px solid var(--v3-line-strong);border-radius:50%;background:var(--v3-paper)}
.is-on .v3-cmc-wck{background:var(--v3-action);border-color:var(--v3-action)}
.is-on .v3-cmc-wck::after{content:'';width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.v3-cmc-wrow[disabled]{opacity:.4;cursor:not-allowed}
.v3-cmc-wpf{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px;padding:8px 8px 2px;border-top:1px solid var(--v3-line)}
.v3-cmc-wpf small{margin-right:auto;font-size:12px;color:var(--v3-warning)}
.v3-cmc-wpz{padding:28px 8px 22px;text-align:center}
.v3-cmc-wpz p{margin:0 0 6px;color:var(--v3-smoke);font-size:13px}
.v3-cmc-link{color:var(--v3-action);font-size:14px;font-weight:500;text-decoration:none}
.v3-cmc-link:hover{color:var(--v3-action-hover)}
@media (prefers-reduced-motion:reduce){.v3-cmc-pop,.v3-cmc-err,.v3-cm-composer.v3-cmp-composer-handoff{animation:none;opacity:1}}

/* ================= 右栏（定稿 #sboxA .csw 下 20px；#rMine 下 24px；社区共创右边是灰色「↗」13px） ================= */
.v3-cm-rail{display:block}
.v3-cm-rmine{margin:0 0 24px}
.v3-cm-tarr{font-style:normal;color:var(--v3-smoke);font-size:13px;line-height:1.6}
.v3-cm-tarr{display:inline-flex;align-items:center}  /* 定稿是文字「↗」；仓库不许字符图标，用同样大小、同样灰的线条箭头 */
.v3-cm-topics a:hover .v3-cm-tarr,.v3-cm-topics button:hover .v3-cm-tarr{color:var(--v3-action)}
/* 右栏悬停（定稿：分身行只有名字变蓝、状态仍是灰；已暂停的分身名字不变色；社区约定 / 帮助与反馈仍是灰色） */
.v3-cm-rmr:hover small{color:var(--v3-smoke)}
.v3-cm-rmr.is-off:hover b{color:inherit}
.v3-cm-rfoot a:hover{color:var(--v3-stone)}
