/* ══════════════════════════════════════════════════════════════
   🍊 橘子戏曲家 v0.8 — 工具结果卡片 + 推荐条
   ══════════════════════════════════════════════════════════════ */

/* ===== 工具结果卡片 ===== */
.tool-result-card{padding:16px 20px}
.tool-result-card h3{font-family:var(--font-display);font-size:18px;margin-bottom:16px;color:var(--text)}

/* ===== 诊断评分条 ===== */
.score-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.score-label{width:90px;font-size:13px;font-weight:600;color:var(--text-muted);flex-shrink:0}
.score-bar-track{flex:1;height:8px;border-radius:4px;background:var(--border);overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width .6s var(--ease-smooth)}
.score-value{width:30px;text-align:right;font-size:14px;font-weight:700;color:var(--text)}
.analysis-text{font-size:14px;line-height:1.7;color:var(--text-muted);margin-top:12px}
.suggestions-list{margin-top:12px;padding-left:20px}
.suggestions-list li{font-size:13px;margin-bottom:4px;color:var(--text)}

/* ===== 安全审查 ===== */
.risk-badge{display:inline-block;padding:6px 16px;border-radius:20px;color:#fff;font-weight:700;font-size:14px;margin-bottom:12px}
.safety-flag{padding:10px 14px;margin:8px 0;background:rgba(192,74,58,.04);border-left:3px solid #C04A3A;border-radius:0 6px 6px 0}
.flag-type{font-size:11px;font-weight:700;text-transform:uppercase;color:#C04A3A}
.flag-suggestion{font-size:12px;color:var(--color-success);margin-top:4px}
.no-flags{color:var(--color-success);font-weight:600;font-size:14px}

/* ===== 变体预览 ===== */
.variant-scene{margin:12px 0;padding:10px 14px;background:var(--bg);border-radius:6px}
.variant-scene p{font-size:13px;margin:4px 0;line-height:1.6}

/* ===== 降级 JSON ===== */
.tool-json-fallback{font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-all;max-height:400px;overflow-y:auto;background:var(--bg);padding:12px;border-radius:6px;font-family:monospace}

/* ===== 工具推荐条 ===== */
#tools-recommend{padding:10px 16px;margin:8px 0;background:linear-gradient(135deg,rgba(232,112,58,.06),rgba(212,163,115,.04));border:1px solid rgba(232,112,58,.15);border-radius:10px;animation:recommendPulse 2s ease-in-out 3}
@keyframes recommendPulse{0%,100%{border-color:rgba(232,112,58,.15)}50%{border-color:rgba(232,112,58,.4)}}
.tools-recommend-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.recommend-label{font-size:13px;font-weight:600;color:var(--accent)}
.recommend-tool-btn{padding:4px 12px;border-radius:14px;border:1px solid var(--border);background:var(--panel-bg);font-size:12px;cursor:pointer;transition:all .2s;color:var(--text)}
.recommend-tool-btn:hover{background:var(--color-primary-light);border-color:var(--accent);color:var(--accent)}
.recommend-dismiss{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px}
.recommend-dismiss:hover{color:var(--accent)}

/* ══════════════════════════════════════════════════════════════
   LOGIN / REGISTER MODAL
   ══════════════════════════════════════════════════════════════ */
#login-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:var(--color-bg-overlay,rgba(0,0,0,.6));backdrop-filter:blur(6px);animation:fadeIn .3s ease-out}
#login-card{background:var(--panel-bg);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:400px;width:90%;text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-elevated);animation:slideUp .4s var(--ease-smooth)}
#login-card h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--accent);margin-bottom:var(--space-md)}
#login-card input{display:block;width:100%;padding:10px 14px;margin-bottom:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-sm);font-family:var(--font-ui);transition:border-color .25s,box-shadow .25s}
#login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--color-primary-light)}
#login-card .btn-primary{width:100%;margin-top:var(--space-sm)}
#login-card .btn-sm{margin-top:var(--space-sm);width:100%}
#login-msg{font-size:var(--text-xs);min-height:20px;margin-bottom:4px}
#login-msg.error{color:#C04A3A}
#login-msg.success{color:var(--color-success)}
#login-user-info{text-align:center;padding:var(--space-sm)}
#login-user-info .user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:inline-flex;align-items:center;justify-content:center;font-size:24px;color:#fff;margin-bottom:8px}
#login-user-info .user-name{font-weight:700;font-size:var(--text-base);color:var(--text)}
#login-user-info .user-role{font-size:var(--text-xs);color:var(--text-muted)}

/* register switch */
#btn-register-switch{background:none;border:none;color:var(--accent2);cursor:pointer;font-size:var(--text-xs);margin-top:8px;text-decoration:underline}
#btn-register-switch:hover{color:var(--accent)}