/* Generated by Trae Work — 模块2&3 细化样式（容器隔离，仅 r23- 前缀） */

/* ===== 模块2：发布求助 · 扩展表单 ===== */
.r23-block{margin-top:14px}
.r23-label{font-size:12px;font-weight:800;color:var(--muted);margin:12px 2px 8px;display:flex;align-items:center;gap:8px}
.r23-label .r23-req{color:var(--accent);font-weight:800}
.r23-label .r23-hint{font-weight:400}
#r23Title{width:100%;height:44px;border:1.5px solid var(--rule);border-radius:14px;padding:0 13px;background:var(--bg);outline:none;font-size:14px}
#r23Title:focus{border-color:var(--accent)}
.r23-tags{display:flex;flex-wrap:wrap;gap:8px}
.r23-tag{border:1.5px solid var(--rule);background:var(--bg);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--muted);font-weight:600;transition:.16s}
.r23-tag.on{border-color:var(--accent);background:rgba(244,105,75,.09);color:var(--accent);font-weight:800}
.r23-seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.r23-urg{border:1.5px solid var(--rule);background:var(--bg);border-radius:14px;padding:11px 4px;font-size:13px;font-weight:700;color:var(--muted);text-align:center;transition:.16s;display:flex;flex-direction:column;align-items:center;gap:3px}
.r23-urg .ui{font-size:17px}
.r23-urg.on{color:#fff;font-weight:800;border-color:transparent}
.r23-urg.on[data-u="1"]{background:linear-gradient(135deg,#FFB27A,#F48C4B)}
.r23-urg.on[data-u="2"]{background:linear-gradient(135deg,#FF7A6B,#E8443A);box-shadow:0 5px 16px rgba(232,68,58,.4)}
.r23-urg.on[data-u="3"]{background:linear-gradient(135deg,#F2536B,#D61F3C);box-shadow:0 5px 16px rgba(214,31,60,.45);animation:r23pulse 1.1s infinite}
@keyframes r23pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.r23-loc{display:flex;align-items:center;gap:9px;border:1.5px solid var(--rule);background:var(--bg);border-radius:14px;padding:10px 13px;font-size:13px}
.r23-loc .li{font-size:16px}
.r23-loc input{flex:1;border:none;background:none;outline:none;font-size:13px;min-width:0}
.r23-loc .reloc{color:var(--accent2);font-weight:700;font-size:12px;white-space:nowrap}
.r23-vis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.r23-vis button{border:1.5px solid var(--rule);background:var(--bg);border-radius:13px;padding:10px 4px;font-size:12.5px;font-weight:700;color:var(--muted);transition:.16s}
.r23-vis button.on{border-color:var(--accent2);background:rgba(47,163,147,.1);color:var(--accent2);font-weight:800}
.r23-checks{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.r23-ck{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}
.r23-ck .box{width:19px;height:19px;border-radius:6px;border:1.8px solid var(--muted);flex:none;display:flex;align-items:center;justify-content:center;transition:.15s;font-size:12px;color:#fff}
.r23-ck.on .box{background:var(--accent2);border-color:var(--accent2)}
.r23-ck.on .box::after{content:"✓";font-weight:900}
.r23-ck.on{color:var(--ink);font-weight:600}

/* 图片九宫格选择 */
.r23-pick9{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.r23-pcell{position:relative;aspect-ratio:1;border-radius:13px;overflow:hidden;cursor:pointer;transition:.15s;border:2px solid transparent}
.r23-pcell svg{width:100%;height:100%}
.r23-pcell:active{transform:scale(.94)}
.r23-pcell.sel{border-color:var(--accent);box-shadow:0 0 0 2px rgba(244,105,75,.22)}
.r23-pcell.add{border:2px dashed var(--muted);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--muted);flex-direction:column;gap:3px}
.r23-pcell.add .pl{font-size:23px;line-height:1}
.r23-pcell.add .ps{font-size:10.5px}
.r23-pcell .ord{position:absolute;left:6px;top:5px;background:rgba(0,0,0,.5);color:#fff;font-size:10px;border-radius:99px;padding:1px 6px}
.r23-pcell .rm{position:absolute;right:5px;top:5px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}

/* 视频录制 */
.r23-rec{border-radius:16px;overflow:hidden;background:#1E1A20;padding:20px 16px;text-align:center}
.r23-rec .rview{position:relative;height:168px;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#3A3340,#26212D);display:flex;align-items:center;justify-content:center}
.r23-rec.idle .rview{background:linear-gradient(135deg,#FFE9D9,#FFD6C4)}
.r23-rec .rview svg{position:absolute;inset:0;width:100%;height:100%}
.r23-rec .rph{position:relative;z-index:2;color:#fff;font-size:13.5px;text-shadow:0 1px 6px rgba(0,0,0,.4);max-width:78%}
.r23-rec.idle .rph{color:#8A6347;text-shadow:none}
.r23-rec .rrec{position:absolute;right:10px;top:9px;z-index:3;display:flex;align-items:center;gap:5px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;border-radius:99px;padding:3px 9px 3px 7px}
.r23-rec .rdot{width:8px;height:8px;border-radius:50%;background:#FF4D4D;display:none;animation:r23pulse 1s infinite}
.r23-rec.recording .rdot{display:block}
.r23-rcap{position:absolute;left:10px;top:9px;z-index:3;background:rgba(0,0,0,.5);color:#fff;font-size:12px;border-radius:99px;padding:3px 10px;font-variant-numeric:tabular-nums}
.r23-rprog{height:4px;border-radius:99px;background:rgba(255,255,255,.22);margin:13px 2px 10px;overflow:hidden}
.r23-rprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#FF9A76,#F4694B);border-radius:99px}
.r23-rbtn{margin-top:2px;width:58px;height:58px;border-radius:50%;border:3px solid rgba(255,255,255,.35);background:var(--gradA);color:#fff;font-size:21px;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.r23-rbtn:active{transform:scale(.92)}
.r23-rbtn.stop{background:linear-gradient(135deg,#FF6B6B,#E23A3A)}
.r23-rline{display:flex;justify-content:center;gap:18px;margin-top:12px;font-size:12px;color:rgba(255,255,255,.72)}
.r23-rline b{color:#fff;font-weight:700;font-variant-numeric:tabular-nums}

/* 语音录制 */
.r23-voice{border:1.5px solid var(--rule);border-radius:16px;background:linear-gradient(135deg,rgba(87,199,181,.1),rgba(47,163,147,.06));padding:18px 16px;text-align:center}
.r23-vbtn{width:68px;height:68px;border-radius:50%;background:var(--gradT);color:#fff;font-size:26px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(47,163,147,.4);transition:.15s}
.r23-vbtn:active{transform:scale(.93)}
.r23-vbtn.rec{background:linear-gradient(135deg,#FF7A6B,#E8443A);animation:r23pulse 1.2s infinite}
.r23-vwave{display:flex;align-items:center;justify-content:center;gap:3px;height:52px;margin:12px 0 8px}
.r23-vwave i{width:3.5px;border-radius:99px;background:var(--accent2);height:12%;opacity:.55;transition:height .12s}
.r23-vwave.live i{animation:r23eq .7s ease-in-out infinite alternate}
@keyframes r23eq{from{height:14%}to{height:92%}}
.r23-vtime{font-size:13px;font-weight:800;color:var(--accent2);font-variant-numeric:tabular-nums}
.r23-vtip{font-size:11.5px;color:var(--muted);margin-top:2px}

/* 卡片「查看完整求助」入口 */
.r23-detail-link{width:100%;margin-top:2px;border-top:1px solid var(--rule);padding-top:10px;text-align:left;font-size:13px;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:6px}
.r23-detail-link .ar{margin-left:auto;font-weight:800}
.r23-cmlink{margin:0 2px 10px;width:100%;text-align:left;font-size:13px;font-weight:700;color:var(--accent);padding:6px 2px;display:flex;align-items:center;gap:6px}
.r23-cmlink .ar{margin-left:auto;font-weight:800}
/* 卡片状态角标（审核中 / 已解决）：行内小条，不抢占正文布局 */
.r23-card-status{display:flex;align-items:center;margin:2px 0 6px}
.r23-card-status:empty{display:none}
.r23-card-status .hot-badge{margin:0}

/* 评论楼中楼 */
.r23-replyrow{display:flex;gap:12px;font-size:12px;color:var(--muted);margin:5px 0 0 46px}
.r23-replyrow button{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:3px}
.r23-replyrow button:active{color:var(--accent)}
.r23-sub{margin:7px 0 0 46px;background:var(--bg);border:1px solid var(--rule);border-radius:12px;padding:9px 11px}
.r23-sub .sn{font-size:11.5px;color:var(--muted);font-weight:700}
.r23-sub .st{font-size:13px;margin:2px 0}
.r23-replybox{display:none;margin:8px 0 0 46px;gap:7px}
.r23-replybox.open{display:flex}
.r23-replybox input{flex:1;height:38px;border:1.5px solid var(--rule);border-radius:99px;background:var(--bg);padding:0 14px;font-size:13px;outline:none;min-width:0}
.r23-replybox input:focus{border-color:var(--accent2)}
.r23-replybox .rbtn{flex:none;border-radius:99px;background:var(--gradT);color:#fff;font-size:13px;font-weight:800;padding:0 15px}
.cm-voicebar,.cm-videobar{display:flex;align-items:center;gap:9px;background:var(--bg);border-radius:11px;padding:8px 11px;margin:5px 0;max-width:240px;cursor:pointer}
.cm-voicebar .vb-ic{width:28px;height:28px;border-radius:50%;background:var(--gradT);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.cm-voicebar .vb-wave{display:flex;align-items:center;gap:2px;flex:1;height:24px}
.cm-voicebar .vb-wave i{width:2.5px;background:var(--accent2);border-radius:99px;opacity:.6;height:30%}
.cm-voicebar.playing .vb-wave i{animation:r23eq .6s ease-in-out infinite alternate}
.cm-voicebar .vb-d{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.cm-videobar{gap:10px}
.cm-videobar .vt-ic{font-size:20px}
.cm-videobar .vt-t{font-size:13px;font-weight:700}
.cm-videobar .vt-d{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.cm-videobar.playing{border-color:var(--accent2)}

/* ===== 求助详情页 ===== */
#r23Detail{position:absolute;inset:0;z-index:57;background:var(--bg);transform:translateX(105%);transition:transform .32s cubic-bezier(.3,1,.4,1);display:flex;flex-direction:column}
#r23Detail.open{transform:none}
.r23-dhead{display:flex;align-items:center;gap:10px;padding:calc(16px + env(safe-area-inset-top)) 14px 12px;border-bottom:1px solid var(--rule);background:var(--bg2)}
.r23-dback{width:34px;height:34px;border-radius:12px;background:var(--bg);font-size:19px;display:flex;align-items:center;justify-content:center}
.r23-dbody{flex:1;overflow-y:auto;padding:14px 14px calc(96px + env(safe-area-inset-bottom))}
.r23-dcard{background:var(--bg2);border-radius:18px;box-shadow:0 4px 18px rgba(70,45,30,.07);padding:14px;margin-bottom:12px}
.r23-status{display:flex;align-items:center;gap:9px;border-radius:14px;padding:11px 14px;margin-bottom:12px;font-size:13px;font-weight:700}
.r23-status .si{font-size:17px}
.r23-status.s1{background:rgba(47,163,147,.1);color:var(--accent2)}
.r23-status.s2{background:linear-gradient(135deg,#FFE3D2,#FFD6C4);color:#B25E33}
.r23-status .sx{margin-left:auto;font-size:12px}
.r23-solve{margin-left:auto;border-radius:99px;background:var(--gradA);color:#fff;font-size:12.5px;font-weight:800;padding:7px 14px;box-shadow:0 4px 12px rgba(244,105,75,.35)}
.r23-solve.done{background:var(--gradT);box-shadow:0 4px 12px rgba(47,163,147,.3)}
.r23-dimgs{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.r23-dimgs.one{grid-template-columns:1fr}
.r23-dimgs .di{border-radius:13px;overflow:hidden;cursor:pointer;position:relative}
.r23-dimgs .di svg{width:100%;height:100%;display:block}
.r23-dimgs .di .zi{position:absolute;right:7px;bottom:6px;background:rgba(0,0,0,.5);color:#fff;font-size:10.5px;border-radius:99px;padding:1px 7px}
.r23-dvideo{position:relative;height:230px;border-radius:14px;overflow:hidden;margin-bottom:10px;cursor:pointer}
.r23-dvideo svg{position:absolute;inset:0;width:100%;height:100%}
.r23-dvideo .vply{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.r23-dvideo .vply b{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.88);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.r23-dvideo .vply svg{position:static;width:20px;height:20px;fill:var(--accent);margin-left:3px}
.r23-dvideo .vdur{position:absolute;right:10px;bottom:10px;z-index:2;background:rgba(0,0,0,.55);color:#fff;font-size:11px;border-radius:99px;padding:2px 9px;font-variant-numeric:tabular-nums}
.r23-dvideo .vprog{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--gradA);z-index:3;transition:width .1s linear}
.r23-dvideo.playing .vprog{transition:width 8s linear;width:100%}
.r23-dvoice{display:flex;align-items:center;gap:12px;border-radius:14px;padding:13px 15px;margin-bottom:10px;background:linear-gradient(135deg,rgba(87,199,181,.12),rgba(47,163,147,.06));cursor:pointer}
.r23-dvoice .vic{width:42px;height:42px;border-radius:50%;background:var(--gradT);display:flex;align-items:center;justify-content:center;flex:none}
.r23-dvoice .vic svg{width:16px;height:16px;fill:#fff;margin-left:2px}
.r23-dvoice .vwave{display:flex;align-items:center;gap:3px;flex:1;height:34px}
.r23-dvoice .vwave i{flex:1;width:4px;border-radius:99px;background:var(--accent2);opacity:.55;height:24%}
.r23-dvoice.playing .vwave i{animation:r23eq .65s ease-in-out infinite alternate}
.r23-dvoice .vd{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.r23-author{display:flex;align-items:center;gap:11px;padding:12px 13px}
.r23-author .aa{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none}
.r23-author .aa svg{width:100%;height:100%}
.r23-author .an{font-weight:800;font-size:14px}
.r23-author .as{font-size:11.5px;color:var(--muted)}
.r23-author .fbtn{margin-left:auto;font-size:12px;border:1.5px solid var(--rule);border-radius:99px;padding:6px 13px;color:var(--muted);font-weight:700}
.r23-rosecard h4{font-size:13px;font-weight:800;margin:0 2px 9px;display:flex;align-items:center;gap:7px}
.r23-rosewall{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.r23-rosewall .r{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,#FFE7EE,#FFD8E2);border-radius:99px;padding:6px 12px 6px 8px;font-size:12.5px;font-weight:700;color:#C9486B}
.r23-rosewall .r .ri{width:24px;height:24px;border-radius:50%;background:#fff;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center}
.r23-rosewall .r .ri svg{width:17px;height:17px}
.r23-cmhead{display:flex;align-items:center;margin:2px 4px 10px;font-weight:800;font-size:15px}
.r23-cmhead .n{color:var(--accent)}
.r23-dbottom{position:absolute;left:0;right:0;bottom:0;height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--bg2) 90%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-around;z-index:5}
.r23-db-btn{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);font-weight:600}
.r23-db-btn svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.r23-db-btn.on{color:var(--rose)}
.r23-db-btn.fav.on{color:var(--gold)}
.r23-db-btn.help{background:var(--gradA);color:#fff;border-radius:99px;padding:9px 18px;box-shadow:0 5px 15px rgba(244,105,75,.38)}
.r23-dbody{padding-bottom:calc(90px + env(safe-area-inset-bottom))}

/* 详情内图片大图查看 */
#r23Viewer{position:absolute;inset:0;z-index:66;background:rgba(15,10,8,.86);display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;pointer-events:none;transition:.25s}
#r23Viewer.open{opacity:1;pointer-events:auto}
#r23Viewer .big{max-width:100%;max-height:78%;border-radius:16px;overflow:hidden;transform:scale(.92);transition:.25s}
#r23Viewer.open .big{transform:none}
#r23Viewer .big svg{display:block;width:100%;height:auto}
#r23Viewer .vx{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center}

/* 举报面板 */
#r23Report{position:absolute;left:0;right:0;bottom:0;z-index:60;background:var(--bg2);border-radius:24px 24px 0 0;box-shadow:0 -14px 50px rgba(40,25,15,.28);transform:translateY(105%);transition:transform .32s cubic-bezier(.3,1,.4,1);padding:0 18px calc(18px + env(safe-area-inset-bottom))}
#r23Report.open{transform:none}
.r23-rp-title{font-weight:800;font-size:16px;text-align:center;padding:16px 0 10px}
.r23-rp-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.r23-rp-grid button{border:1.5px solid var(--rule);background:var(--bg);border-radius:13px;padding:12px 8px;font-size:13.5px;font-weight:600;color:var(--muted);transition:.15s}
.r23-rp-grid button.on{border-color:var(--rose);background:rgba(231,93,124,.09);color:var(--rose)}

/* 发布审核全屏流程 */
#r23Review{position:absolute;inset:0;z-index:70;background:linear-gradient(160deg,#FFF3E2,#FFE0CB);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;opacity:0;pointer-events:none;transition:.3s}
#r23Review.open{opacity:1;pointer-events:auto}
.r23-ring{width:92px;height:92px;position:relative}
.r23-ring i{position:absolute;inset:0;border-radius:50%;border:4px solid rgba(244,105,75,.18)}
.r23-ring i::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:4px solid transparent;border-top-color:var(--accent);animation:r23spin .9s linear infinite}
@keyframes r23spin{to{transform:rotate(360deg)}}
.r23-ring .ric{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px}
.r23-rv-title{font-size:19px;font-weight:800}
.r23-rv-steps{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#9A6B58}
.r23-rv-steps .st{display:flex;align-items:center;gap:9px;transition:.3s}
.r23-rv-steps .st .n{width:22px;height:22px;border-radius:50%;background:#fff;color:#B8917C;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;transition:.3s}
.r23-rv-steps .st.done .n{background:var(--accent2);color:#fff}
.r23-rv-steps .st.cur{color:var(--ink);font-weight:800}
.r23-rv-steps .st.done{color:var(--accent2)}
