/* ══════════════════════════════════════════
   学员真实反馈 · feedback.html / 首页反馈入口
   依赖 common.css 中的设计变量
   ══════════════════════════════════════════ */

.fb-wrap{max-width:1200px;margin:0 auto;padding:0 var(--gut);}

/* ── 反馈墙 ── */
.fb-wall{background:var(--canvas);padding:80px 0;}
.fb-wall .sec-title{color:var(--ink);}
.fb-wall .rv.anim,.fb-post .rv.anim{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.fb-wall .rv.anim.in,.fb-post .rv.anim.in{opacity:1;transform:none;}

.fb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.fb-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.fb-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(42,26,16,.08);}

.fb-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.fb-avatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--canvas-2);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;font-family:var(--display),"Songti SC","STSong",serif;}
.fb-who{min-width:0;}
.fb-name{font-size:16px;font-weight:700;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fb-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.fb-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--canvas-2);font-size:11px;color:var(--muted);letter-spacing:.05em;}
.fb-tag:empty{display:none;}
.fb-tag-accent{background:rgba(196,69,44,.1);color:var(--accent);font-weight:700;}

.fb-meta{font-size:12px;color:var(--muted);margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.fb-text{font-size:14px;line-height:1.9;color:var(--ink);margin-bottom:16px;white-space:pre-wrap;word-break:break-word;}

.fb-pics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.fb-pic{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--canvas-2);border-radius:2px;}
.fb-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease);}
.fb-pic:hover img{transform:scale(1.06);}

.fb-reply{margin-top:16px;padding:14px 16px;background:var(--canvas);border-left:3px solid var(--accent);border-radius:0 2px 2px 0;font-size:13.5px;line-height:1.8;color:var(--ink);}
.fb-reply-tag{display:block;font-size:11px;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:4px;}

.fb-empty{text-align:center;color:var(--muted);font-size:14px;padding:48px 0;}

/* ── 提交区 ── */
.fb-post{background:var(--world);color:var(--canvas);padding:80px 0;}
.fb-post .sec-title{color:var(--canvas);}
.fb-post .sec-sub{color:rgba(244,238,227,.6);}
.fb-panel{background:#fff;border-radius:4px;padding:clamp(24px,4vw,48px);margin-top:48px;color:var(--ink);}

.fb-tip{background:rgba(196,69,44,.08);border-left:3px solid var(--accent);color:var(--accent-deep);font-size:13.5px;padding:12px 16px;margin-bottom:24px;display:none;}

.fb-row{margin-bottom:24px;}
.fb-label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px;letter-spacing:.05em;}
.fb-label i{color:var(--accent);font-style:normal;margin-left:2px;}
.fb-opt{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px;}

.fb-panel input[type=text],
.fb-panel input[type=tel],
.fb-panel input[type=date],
.fb-panel select,
.fb-panel textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:2px;padding:12px 14px;font-size:14px;color:var(--ink);background:#fff;font-family:inherit;transition:border-color .3s;}
.fb-panel textarea{line-height:1.8;}
.fb-panel input:focus,
.fb-panel select:focus,
.fb-panel textarea:focus{border-color:var(--accent);}
.fb-panel input:disabled{background:var(--canvas);color:var(--muted);}

.fb-nick{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.fb-nick input[type=text]{flex:1;min-width:200px;}
.fb-anon{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;user-select:none;}
.fb-anon input{width:16px;height:16px;accent-color:var(--accent);}

.fb-city{display:flex;gap:12px;flex-wrap:wrap;}
.fb-city select{flex:1;min-width:220px;}
.fb-city-other{flex:1;min-width:180px;}

.fb-chips{display:flex;gap:10px;flex-wrap:wrap;}
.fb-chip{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 20px;border-radius:999px;font-size:13.5px;cursor:pointer;transition:all .3s var(--ease);}
.fb-chip:hover{border-color:var(--accent);color:var(--accent);}
.fb-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;}

.fb-count{text-align:right;font-size:12px;color:var(--muted);margin-top:6px;}
.fb-hint{font-size:12.5px;color:var(--muted);line-height:1.7;margin:-4px 0 12px;}

.fb-up{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;}
.fb-thumbs{display:flex;gap:12px;flex-wrap:wrap;}
.fb-thumb{position:relative;width:96px;height:96px;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--canvas);}
.fb-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.fb-del{position:absolute;top:2px;right:2px;width:22px;height:22px;line-height:20px;text-align:center;background:rgba(42,26,16,.65);color:#fff;border:none;border-radius:50%;font-size:15px;cursor:pointer;}
.fb-del:hover{background:var(--accent);}
.fb-loading{display:flex;align-items:center;justify-content:center;}
.fb-spin{width:26px;height:26px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:fbspin .8s linear infinite;}
@keyframes fbspin{to{transform:rotate(360deg)}}

.fb-pick{width:96px;height:96px;border:1px dashed var(--line);background:var(--canvas);color:var(--muted);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:12px;cursor:pointer;transition:all .3s var(--ease);}
.fb-pick:hover{border-color:var(--accent);color:var(--accent);background:#fff;}

.fb-code{display:flex;gap:12px;align-items:center;}
.fb-code input{flex:1;max-width:220px;}
.fb-code img{height:44px;border:1px solid var(--line);border-radius:2px;cursor:pointer;}

.fb-submit{width:100%;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:2px;font-size:15px;font-weight:700;cursor:pointer;transition:background .3s var(--ease);letter-spacing:.05em;}
.fb-submit:hover{background:var(--accent-deep);}
.fb-submit:disabled{background:var(--muted);cursor:not-allowed;}
.fb-note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.7;}

/* ── 提示弹窗 ── */
.fb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .22s var(--ease),visibility .22s;}
.fb-modal.on{opacity:1;visibility:visible;}
.fb-modal-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(42,26,16,.55);}
.fb-modal-box{position:relative;width:100%;max-width:380px;background:#fff;border-radius:6px;padding:32px 28px 24px;text-align:center;box-shadow:0 24px 60px rgba(42,26,16,.28);transform:translateY(14px) scale(.97);transition:transform .3s var(--ease);}
.fb-modal.on .fb-modal-box{transform:none;}
.fb-modal-icon{width:52px;height:52px;line-height:52px;margin:0 auto 16px;border-radius:50%;font-size:26px;font-weight:700;background:rgba(196,69,44,.1);color:var(--accent);}
.fb-modal-box.is-ok .fb-modal-icon{background:rgba(47,125,79,.12);color:#2f7d4f;}
.fb-modal-title{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:10px;}
.fb-modal-text{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px;word-break:break-word;}
.fb-modal-btn{display:block;width:100%;padding:13px;border:none;border-radius:2px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;font-family:inherit;letter-spacing:.05em;cursor:pointer;transition:background .3s var(--ease);}
.fb-modal-btn:hover{background:var(--accent-deep);}
.fb-modal-box.is-ok .fb-modal-btn{background:#2f7d4f;}
.fb-modal-box.is-ok .fb-modal-btn:hover{background:#256540;}
body.fb-modal-open{overflow:hidden;}

/* ── 首页反馈入口 ── */
.fb-mini{background:var(--canvas-2);padding:80px 0;}
.fb-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;}
.fb-mini-more{display:block;text-align:center;margin-top:40px;}
.fb-mini-more a{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border:1px solid var(--ink);border-radius:999px;font-size:14px;font-weight:700;color:var(--ink);transition:all .3s var(--ease);}
.fb-mini-more a:hover{background:var(--ink);color:var(--canvas);}

/* ── 响应式 ── */
@media (max-width:1024px){
  .fb-grid{grid-template-columns:repeat(2,1fr);}
  .fb-mini-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .fb-wall,.fb-post,.fb-mini{padding:56px 0;}
  .fb-grid{grid-template-columns:1fr;margin-top:36px;}
  .fb-mini-grid{grid-template-columns:1fr;}
  .fb-panel{padding:24px 18px;}
  .fb-pick,.fb-thumb{width:80px;height:80px;}
}
