/* 教练「修改建议」面板（2026-10-08）。类名一律 ct- 前缀，颜色沿用全站变量。 */
.ct-fab{position:absolute;top:58px;right:24px;z-index:6;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px solid #f0c9c3;border-radius:999px;background:#fff;color:var(--red,#d93a2b);font:inherit;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #d93a2b14}
.ct-fab:hover{background:#fff5f3}
.ct-fab-dot{width:7px;height:7px;border-radius:50%;background:var(--red,#d93a2b)}
.ct-fab[hidden]{display:none}
.ct-fab.ct-in-top{position:absolute;top:50%;right:54px;transform:translateY(-50%);height:30px;min-height:0;min-width:0;padding:0 9px;gap:5px;font-size:12px;box-shadow:none;white-space:nowrap}
.ct-fab.ct-in-top .ct-fab-dot{width:6px;height:6px}
.ct-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:60;background:#fff;border-left:1px solid var(--line,#e5e7eb);box-shadow:-12px 0 40px #0000001a;display:flex;flex-direction:column}
.ct-panel[hidden]{display:none}
.ct-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:14px 16px 12px;box-sizing:border-box;gap:10px;font-size:14px;color:var(--ink,#1f2329)}
.ct-head{display:flex;align-items:flex-start;gap:10px}
.ct-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.ct-title strong{font-size:16px}
.ct-status{font-size:12px;color:var(--ink-3,#8a9099);line-height:1.5}
.ct-x{flex:none;width:36px;height:36px;border:0;border-radius:8px;background:transparent;font-size:22px;line-height:1;color:var(--ink-3,#8a9099);cursor:pointer}
.ct-x:hover{background:var(--hover,#f3f4f6)}
.ct-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ct-switch{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2,#4b5563);margin-right:auto;cursor:pointer}
.ct-switch input{width:16px;height:16px;accent-color:var(--red,#d93a2b)}
.ct-btn{height:34px;padding:0 12px;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff;font:inherit;font-size:13px;color:var(--ink,#1f2329);cursor:pointer}
.ct-btn:disabled{opacity:.45;cursor:not-allowed}
.ct-primary{background:var(--red,#d93a2b);border-color:var(--red,#d93a2b);color:#fff}
.ct-primary:hover:not(:disabled){background:var(--red-dark,#b92f22)}
.ct-link{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--ink-3,#8a9099);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:flex-start}
.ct-warn{margin:0;font-size:12px;line-height:1.6;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px}
.ct-note{margin:0;font-size:12px;line-height:1.6;color:var(--ink-2,#4b5563);background:#f6f7f9;border-radius:8px;padding:8px 10px}
.ct-full{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ct-full .ct-link{color:#b45309;font-weight:600}
.ct-rules-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ct-rules-head .ct-hint{margin:0}
.ct-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line,#e5e7eb)}
.ct-tab{padding:8px 10px;border:0;border-bottom:2px solid transparent;background:none;font:inherit;font-size:13px;color:var(--ink-2,#4b5563);cursor:pointer}
.ct-tab.on{color:var(--red,#d93a2b);border-bottom-color:var(--red,#d93a2b);font-weight:600}
.ct-chatwrap{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}
.ct-chat{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px}
.ct-empty{color:var(--ink-3,#8a9099);font-size:13px;line-height:1.7}
.ct-empty p{margin:0 0 4px}
.ct-eg{color:var(--ink-2,#4b5563)}
.ct-hint{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--ink-3,#8a9099)}
.ct-msg{display:flex;flex-direction:column;gap:6px;max-width:92%}
.ct-user{align-self:flex-end}
.ct-user .ct-text{background:#fdf0ee;color:#5b2a24;border-radius:12px 12px 2px 12px;padding:8px 12px;white-space:pre-wrap;line-height:1.6}
.ct-assistant .ct-text{background:var(--hover,#f6f7f9);border-radius:12px 12px 12px 2px;padding:8px 12px;white-space:pre-wrap;line-height:1.6}
.ct-typing{color:var(--ink-3,#8a9099)}
.ct-changes{display:flex;flex-direction:column;gap:6px}
.ct-undone{opacity:.5}
.ct-change{border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:8px 10px;background:#fff;display:flex;flex-direction:column;gap:4px}
.ct-chip{align-self:flex-start;font-size:11px;padding:2px 7px;border-radius:999px;background:#f3f4f6;color:var(--ink-2,#4b5563)}
.ct-add .ct-chip{background:#ecfdf3;color:#067647}.ct-remove .ct-chip{background:#fef3f2;color:#b42318}.ct-update .ct-chip{background:#eff8ff;color:#175cd3}
.ct-before{margin:0;font-size:13px;line-height:1.6;color:var(--ink-3,#8a9099);text-decoration:line-through}
.ct-after{margin:0;font-size:13px;line-height:1.6}
.ct-composer{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px}
.ct-input{width:100%;box-sizing:border-box;border:0;outline:none;resize:none;font:inherit;font-size:14px;line-height:1.6;color:var(--ink,#1f2329);background:transparent}
.ct-composer-bar{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.ct-attach{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2,#4b5563);margin-right:auto;cursor:pointer}
.ct-attach input{accent-color:var(--red,#d93a2b)}
.ct-rules{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}
.ct-rule h4{margin:0 0 4px;font-size:13px}
.ct-rule ul{margin:0;padding-left:18px;line-height:1.7;font-size:13px}
.ct-history{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}
.ct-ver{border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.ct-ver>div{display:flex;align-items:center;gap:8px}
.ct-ver p{margin:0;font-size:13px;color:var(--ink-2,#4b5563)}
.ct-current{border-color:#f0c9c3;background:#fffaf9}
.ct-meta{font-size:12px;color:var(--ink-3,#8a9099)}
.ct-preview{border:1px solid #f0c9c3;background:#fffaf9;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;max-height:60%;overflow-y:auto}
.ct-preview .ct-input{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:6px 8px}
.ct-preview>*{flex-shrink:0}
.ct-preview>.ct-btn{align-self:flex-start}
.ct-preview-head{display:flex;align-items:center;justify-content:space-between}
.ct-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ct-col{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:8px;min-width:0}
.ct-col h4{margin:0 0 6px;font-size:12px;color:var(--ink-3,#8a9099)}
.ct-answer{white-space:pre-wrap;font-size:13px;line-height:1.6;max-height:320px;overflow-y:auto}
@media(min-width:701px){.ct-panel{width:clamp(340px,42vw,440px)}}
@media(min-width:1100px){body.ct-open .main{margin-right:clamp(340px,42vw,440px)}}
@media(max-width:700px){
  .ct-fab:not(.ct-in-top){top:auto;bottom:calc(150px + env(safe-area-inset-bottom));right:14px;height:40px}
  .ct-panel{width:100%;border-left:0}
  .ct-inner{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
  .ct-btn{height:40px}
  .ct-cols{grid-template-columns:1fr}
  .ct-input{font-size:16px}
}
