/* ============================================================
   Page-specific styles
   ============================================================ */

/* ── Dashboard rows ── */
.dash-row{display:grid;gap:1rem;margin-bottom:1rem;align-items:stretch;}
.dash-row.cols-4{grid-template-columns:repeat(4,1fr);}
.dash-row.cols-2{grid-template-columns:1fr 1fr;}

/* ── 集中度超阈（表格仓位%列） ── */
.conc-over{color:var(--red) !important;font-weight:700;white-space:nowrap;}
.conc-tag{font-size:9px;font-weight:600;color:var(--red);margin-top:1px;}

/* ── 决策标签 chip ── */
.tag-chip-wrap{display:flex;flex-wrap:wrap;gap:.3rem;min-height:28px;}
.tag-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem .55rem;border-radius:14px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--s2);color:var(--text);transition:all .15s;user-select:none;white-space:nowrap;}
.tag-chip:hover{border-color:var(--accent);background:var(--accent-glow);}
.tag-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);}
.tag-chip .tag-window{font-size:9px;opacity:.7;margin-left:2px;}

/* 静态 chip（表格/stats 用，不可点） */
.tag-chip-static{display:inline-block;padding:.1rem .4rem;border-radius:10px;font-size:10px;font-weight:500;border:1px solid var(--border);background:var(--s2);color:var(--muted);}
.tag-chip-static.bg-pos{background:var(--green-dim);color:var(--green);border-color:rgba(95,173,126,.3);}
.tag-chip-static.bg-neg{background:var(--red-dim);color:var(--red);border-color:rgba(217,95,95,.3);}

/* ── 扫描条件 chip ── */
.cond-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;border-radius:14px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--s1);color:var(--muted2);transition:all .15s;user-select:none;white-space:nowrap;}
.cond-toggle input[type=checkbox]{width:12px;height:12px;cursor:pointer;accent-color:var(--accent);margin:0;}
.cond-toggle.active{border-color:var(--accent);background:var(--green-dim);color:var(--text);}
.cond-input{width:45px;padding:0 .2rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:inherit;font-size:11px;text-align:center;outline:none;}
.cond-input:focus{border-bottom-color:var(--accent);}

/* ── 周报一句话 ── */
.one-liner{font-size:14px;line-height:1.8;color:var(--text);padding:.5rem 0;}

/* ── 今日必看提醒 ── */
.alert-card{border:1px solid var(--red-dim);background:rgba(217,95,95,.05);}
.alert-list{display:flex;flex-direction:column;gap:4px;}
.alert-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:6px;font-size:12.5px;}
.alert-critical{background:var(--red-dim);color:var(--red);border:1px solid rgba(217,95,95,.3);}
.alert-warning{background:var(--yellow-dim);color:var(--yellow);border:1px solid rgba(200,160,48,.3);}
.alert-info{background:var(--green-dim);color:var(--green);border:1px solid rgba(95,173,126,.2);}

/* ── 分析工具面板 ── */
.tool-section-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:.6rem;display:flex;align-items:center;gap:.3rem;}
.input-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;}
.input-row .form-label{min-width:55px;font-size:11px;color:var(--muted2);text-transform:uppercase;font-weight:500;}
.input-row input,.input-row select{flex:1;padding:.4rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--s2);color:var(--text);font-size:13px;outline:none;transition:border .15s;}
.input-row input:focus,.input-row select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);}
.tool-result-box{padding:.6rem;border-radius:8px;background:var(--s2);font-size:13px;line-height:1.7;}
.tool-result-box .result-main{font-size:18px;font-weight:700;margin:.2rem 0;}
.tool-result-box .result-sub{font-size:11px;color:var(--muted2);}
.scenario-bar{display:flex;align-items:center;gap:.4rem;margin-bottom:3px;font-size:12px;}
.scenario-bar .bar-track{flex:1;height:8px;background:var(--s3);border-radius:4px;overflow:hidden;}
.scenario-bar .bar-fill{height:100%;border-radius:4px;transition:width .4s var(--ease);}
.scenario-bar .bar-label{min-width:55px;color:var(--muted2);}
.scenario-bar .bar-num{min-width:65px;text-align:right;font-variant-numeric:tabular-nums;}
/* ── AI 分析面板 ── */
.badge{display:inline-block;padding:.2rem .55rem;border-radius:12px;font-size:11px;font-weight:500;}

/* ── K 线图周期按钮 ── */
.sa-period.active{background:var(--accent) !important;color:#fff !important;border-color:var(--accent) !important;}
.sa-period{font-size:10px !important;padding:.15rem .4rem !important;}

/* ── 投资子导航 ── */
.nav-sub{display:flex;flex-direction:column;margin:.15rem 0 .15rem 1.2rem;border-left:2px solid var(--border);padding-left:.2rem;}
.nav-sub-item{font-size:11.5px;padding:.25rem .5rem;border-radius:6px;cursor:pointer;color:var(--muted2);transition:all .15s;white-space:nowrap;}
.nav-sub-item:hover{background:var(--s2);color:var(--text);}
.nav-sub-item.active{background:var(--accent-glow);color:var(--accent);font-weight:600;}
.nav-arrow{margin-left:auto;font-size:10px;transition:transform .2s;display:inline-block;}
.nav-arrow.open{transform:rotate(90deg);}

/* ── P0-6: Decision History ── */
.decision-card{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;margin-bottom:.4rem;background:var(--s1);font-size:12px;}
.decision-accepted{border-left:3px solid var(--green);}
.decision-modified{border-left:3px solid var(--blue);}
.decision-rejected{border-left:3px solid var(--muted2);opacity:.7;}
.decision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem;}
.decision-type{font-weight:600;font-size:11px;}
.decision-date{font-size:10px;color:var(--muted2);}
.decision-title{font-size:12px;color:var(--text);line-height:1.4;}
.decision-original{font-size:10.5px;color:var(--muted);margin-top:2px;}
.decision-action-ref{font-size:10.5px;color:var(--accent);margin-top:2px;}

/* ── Brain Suggestions ── */
.suggestion-card{border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:.5rem;background:var(--s1);}
.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;gap:.5rem;flex-wrap:wrap;}
.suggestion-urgency{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap;}
.urgency-now{background:var(--red-dim);color:var(--red);}
.urgency-attention{background:var(--yellow-dim);color:var(--yellow);}
.suggestion-confidence{font-size:10px;color:var(--muted2);white-space:nowrap;}
.suggestion-source{font-size:10px;color:var(--muted2);background:var(--s2);padding:1px 6px;border-radius:8px;white-space:nowrap;}
.suggestion-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:.4rem;}
.suggestion-reason{font-size:11.5px;color:var(--muted);line-height:1.5;margin-bottom:.5rem;}
.suggestion-actions{display:flex;gap:.4rem;margin-top:.5rem;}
/* ── Evidence ── */
.suggestion-evidence{margin-bottom:.4rem;padding:.4rem .5rem;background:var(--s2);border-radius:6px;border-left:3px solid var(--accent);}
.suggestion-evidence .evidence-label{font-size:10px;font-weight:600;color:var(--accent);display:block;margin-bottom:2px;}
.suggestion-evidence .evidence-value{font-size:11.5px;color:var(--text);display:block;line-height:1.4;}
.suggestion-evidence .evidence-detail{font-size:10.5px;color:var(--muted);display:block;margin-top:2px;}
/* ── Reasoning ── */
.suggestion-reasoning{margin-bottom:.4rem;padding:.4rem .5rem;background:var(--s2);border-radius:6px;border-left:3px solid var(--blue);}
.suggestion-reasoning .reasoning-label{font-size:10px;font-weight:600;color:var(--blue);display:block;margin-bottom:2px;}
.suggestion-reasoning .reasoning-why{font-size:11.5px;color:var(--text);display:block;line-height:1.4;}
.suggestion-reasoning .reasoning-text{font-size:11px;color:var(--muted);display:block;margin-top:2px;line-height:1.4;}

/* ── AI Console ── */
.ai-layout{display:flex;flex-direction:column;height:100vh;background:var(--s1);}
.ai-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--s1);flex-shrink:0;}
.ai-header-left{display:flex;align-items:center;gap:.75rem;}
.ai-back{font-size:1.25rem;color:var(--muted);text-decoration:none;padding:.25rem .5rem;border-radius:6px;transition:background .15s;}
.ai-back:hover{background:var(--s2);color:var(--text);}
.ai-title{font-size:1.1rem;font-weight:600;margin:0;color:var(--text);}
.ai-header-right{display:flex;align-items:center;gap:.75rem;}
.ai-model-selector{display:flex;align-items:center;gap:.5rem;}
.ai-model-select{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--s2);color:var(--text);font-size:12px;max-width:200px;}
.ai-model-select option:disabled{color:var(--muted2);}
.ai-model-status{font-size:11px;font-weight:500;}
.ai-model-status.ready{color:var(--green);}
.ai-mode-bar{display:flex;gap:.5rem;padding:.6rem 1.25rem;border-bottom:1px solid var(--border);background:var(--s1);flex-shrink:0;overflow-x:auto;}
.ai-mode-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border);background:var(--s2);color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;}
.ai-mode-btn:hover{border-color:var(--accent);color:var(--text);}
.ai-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.ai-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;}
.ai-welcome{text-align:center;padding:3rem 1rem;color:var(--muted);}
.ai-welcome-icon{font-size:3rem;margin-bottom:.75rem;}
.ai-welcome h2{font-size:1.25rem;color:var(--text);margin-bottom:.5rem;}
.ai-mode-help{list-style:none;padding:0;margin:1.5rem auto;max-width:360px;text-align:left;}
.ai-mode-help li{padding:.35rem 0;font-size:13px;}
.ai-message{display:flex;}
.ai-message-user{justify-content:flex-end;}
.ai-message-assistant{justify-content:flex-start;}
.ai-bubble{max-width:75%;padding:.6rem .85rem;border-radius:10px;font-size:13.5px;line-height:1.6;word-wrap:break-word;}
.ai-message-user .ai-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:3px;}
.ai-message-assistant .ai-bubble{background:var(--s2);color:var(--text);border-bottom-left-radius:3px;border:1px solid var(--border);}
.ai-bubble p{margin:0 0 .5rem;}
.ai-bubble p:last-child{margin-bottom:0;}
.ai-bubble ul,.ai-bubble ol{padding-left:1.25rem;margin:.35rem 0;}
.ai-bubble code{background:var(--s3);padding:.15rem .35rem;border-radius:4px;font-size:12px;font-family:monospace;}
.ai-bubble pre{background:var(--s3);padding:.6rem .8rem;border-radius:6px;overflow-x:auto;margin:.5rem 0;}
.ai-bubble pre code{background:none;padding:0;}
.ai-bubble h2,.ai-bubble h3{font-size:14px;margin:.5rem 0 .25rem;}
.ai-bubble strong{font-weight:600;}
.ai-streaming-cursor{display:inline-block;color:var(--accent);animation:ai-blink 1s infinite;}
@keyframes ai-blink{0%,50%{opacity:1;}51%,100%{opacity:0;}}
.ai-input-area{border-top:1px solid var(--border);padding:.75rem 1.25rem;background:var(--s1);flex-shrink:0;}
.ai-input-row{display:flex;gap:.5rem;align-items:flex-end;}
.ai-input{flex:1;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--s2);color:var(--text);font-size:13.5px;line-height:1.5;resize:none;max-height:120px;font-family:inherit;}
.ai-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);}
.ai-send-btn{width:36px;height:36px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;}
.ai-send-btn:hover:not(:disabled){opacity:.9;}
.ai-send-btn:disabled{opacity:.5;cursor:not-allowed;}
.ai-send-btn.streaming{background:var(--red);}
.ai-send-icon{line-height:1;}
.ai-input-hint{margin-top:.35rem;min-height:18px;}
.ai-context-status{font-size:11px;font-weight:500;}
.ai-context-status.success{color:var(--green);}
.ai-context-status.warning{color:var(--yellow);}
.ai-error{padding:.5rem .75rem;border-radius:6px;background:var(--red-dim);color:var(--red);font-size:12.5px;border:1px solid var(--red);}

/* ── Project Control (Human Cockpit) ── */
.pc-sec{margin-bottom:1.6rem;}
.pc-sec-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:.6rem;}
.pc-sec-sub{font-size:11.5px;font-weight:400;color:var(--muted2);margin-left:.5rem;}
.pc-intent-text{font-size:13.5px;line-height:1.7;color:var(--text);max-width:72ch;}
.pc-state-row{display:flex;flex-wrap:wrap;gap:1.75rem;padding:.85rem 1rem;background:var(--accent-dim);border:1px solid var(--border);border-radius:var(--radius);}
.pc-state-cell{display:flex;flex-direction:column;gap:.15rem;}
.pc-state-num{font-size:20px;font-weight:600;line-height:1;color:var(--text);}
.pc-state-label{font-size:11.5px;color:var(--muted);}
.pc-state-cell.warn .pc-state-num{color:var(--red);}
.pc-state-cell.attention .pc-state-num{color:var(--yellow);}
.pc-plan-group{margin-bottom:1rem;}
.pc-plan-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted2);margin-bottom:.35rem;padding-bottom:.25rem;border-bottom:1px solid var(--border);}
.pc-plan-item{display:flex;align-items:baseline;gap:.6rem;padding:.42rem 0;border-bottom:1px solid var(--border);font-size:13px;}
.pc-plan-item:last-child{border-bottom:none;}
.pc-plan-dot{font-size:9px;line-height:1;flex:none;transform:translateY(-1px);}
.pc-plan-dot.done{color:var(--green);}
.pc-plan-dot.local{color:var(--blue,#4a9);}
.pc-plan-dot.pending{color:var(--yellow);}
.pc-plan-dot.none{color:var(--muted);}
.pc-plan-dot.blocked{color:var(--red);}
.pc-plan-name{color:var(--text);flex:1;min-width:0;}
.pc-plan-name .pc-plan-scope{color:var(--muted2);font-size:11.5px;margin-left:.4rem;}
.pc-plan-status{font-size:11px;color:var(--muted);flex:none;}
.pc-plan-item.forgotten .pc-plan-name::after{content:"⚠ 可能被遗忘";color:var(--red);font-size:10.5px;margin-left:.5rem;}
.pc-att-item{display:flex;gap:.65rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.5;}
.pc-att-item:last-child{border-bottom:none;}
.pc-att-tag{flex:none;font-size:10.5px;font-weight:600;padding:.1rem .45rem;border-radius:5px;height:fit-content;margin-top:.1rem;}
.pc-att-tag.decision{background:var(--red-dim);color:var(--red);}
.pc-att-tag.drift{background:var(--red-dim);color:var(--red);}
.pc-att-tag.forgotten{background:var(--red-dim);color:var(--red);}
.pc-att-tag.verify{background:var(--accent-dim);color:var(--accent);}
.pc-att-tag.progress{background:var(--green-dim,#e8f5e9);color:var(--green);}
.pc-att-body{color:var(--text);}
.pc-att-body .pc-att-why{color:var(--muted);font-size:12px;}
.pc-decide-item{padding:.55rem 0;border-bottom:1px solid var(--border);}
.pc-decide-item:last-child{border-bottom:none;}
.pc-decide-title{font-size:13.5px;font-weight:600;color:var(--text);}
.pc-decide-why{font-size:12px;color:var(--muted);margin-top:.15rem;line-height:1.55;}
.pc-decide-empty{font-size:13px;color:var(--muted);padding:.4rem 0;}
.pc-change-item{display:flex;gap:.75rem;padding:.42rem 0;border-bottom:1px solid var(--border);font-size:12.5px;line-height:1.55;}
.pc-change-item:last-child{border-bottom:none;}
.pc-change-date{flex:none;font-family:var(--mono);font-size:11px;color:var(--muted2);min-width:78px;}
.pc-change-text{color:var(--text);}
.pc-details-toggle{font-size:12.5px;color:var(--muted);cursor:pointer;padding:.6rem .9rem;background:var(--bg2,#f6f6f4);border:1px solid var(--border);border-radius:var(--radius);user-select:none;}
.pc-details-toggle:hover{color:var(--text);}
.pc-details-arrow{float:right;font-size:11px;}
.pc-drift-open{border-left:3px solid var(--red);}
.pc-drift-resolved{opacity:.6;}
.pc-reality-row{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;font-size:12px;border-bottom:1px solid var(--border);}
.pc-reality-row:last-child{border-bottom:none;}
.pc-next-group{margin-bottom:.6rem;}
.pc-next-item{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:12px;}
.pc-next-id{font-family:var(--mono);font-size:10px;color:var(--muted);min-width:40px;}
.boundary-item{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:12px;}
.boundary-item:last-child{border-bottom:none;}
.boundary-id{font-family:var(--mono);font-size:10px;color:var(--accent);font-weight:600;}
.pc-conflict-item{padding:.45rem 0;border-bottom:1px solid var(--border);font-size:12.5px;line-height:1.55;color:var(--text);}
.pc-conflict-item:last-child{border-bottom:none;}

/* ── Phase 4-B.5/C: Cognitive Feedback Card ── */
.cognitive-pending-line{padding:.5rem .75rem;background:var(--accent-dim);border-radius:6px;margin-bottom:.6rem;font-size:13px;font-weight:500;color:var(--accent);}
.cognitive-pending-line.muted{background:var(--s2);color:var(--muted);font-weight:400;}
.cognitive-pending-num{font-size:18px;font-weight:700;margin-right:.25rem;}
.cognitive-section{margin-top:.5rem;}
.cognitive-section-title{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:600;margin-bottom:.4rem;letter-spacing:.3px;}
.cognitive-item{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border);}
.cognitive-item:last-child{border-bottom:none;}
.cognitive-item-main{flex:1;min-width:0;}
.cognitive-item-title{font-size:12.5px;color:var(--text);line-height:1.5;word-break:break-word;}
.cognitive-item-meta{display:flex;align-items:center;gap:.4rem;margin-top:.2rem;font-size:11px;}
.cognitive-domain{color:var(--muted2);font-weight:500;}
/* Phase 4-C: Signal summary */
.cognitive-signal-summary{padding:.5rem .75rem;background:var(--s2);border-radius:6px;margin-bottom:.6rem;font-size:12.5px;color:var(--text);}
.cognitive-signal-summary.muted{color:var(--muted);}
.cognitive-signal-icon{margin-right:.3rem;}
.cognitive-signal-status{font-size:11px;color:var(--muted);margin-top:.2rem;}

/* Phase 4-C.1-B: Brain Cognitive Process */
.bc-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);}
.bc-section:first-child{margin-top:0;padding-top:0;border-top:none;}
.bc-section-title{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:.5rem;}
.bc-signal-item{padding:.5rem 0;border-bottom:1px solid var(--border);}
.bc-signal-item:last-child{border-bottom:none;}
.bc-signal-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:12px;}
.bc-signal-type{font-weight:600;color:var(--text);}
.bc-signal-domain{color:var(--muted2);}
.bc-signal-status{margin-left:auto;font-size:10px;color:var(--muted);}
.bc-signal-changed{font-size:12.5px;color:var(--text);line-height:1.5;}
.bc-signal-why{font-size:11px;color:var(--muted);margin-top:.2rem;}
.bc-signal-time{font-size:10px;color:var(--muted2);margin-top:.2rem;}
.bc-rec-item{padding:.4rem 0;border-bottom:1px solid var(--border);}
.bc-rec-item:last-child{border-bottom:none;}
.bc-rec-attention{font-size:11px;font-weight:500;margin-bottom:.2rem;}
.bc-rec-text{font-size:12px;color:var(--text);line-height:1.5;}
.bc-output-item{padding:.4rem 0;border-bottom:1px solid var(--border);}
.bc-output-item:last-child{border-bottom:none;}
.bc-output-insight{font-size:12.5px;color:var(--text);font-weight:500;}
.bc-output-list{margin-top:.25rem;}
.bc-output-bullet{font-size:11.5px;color:var(--muted);line-height:1.5;}
.bc-output-degraded{font-size:11px;color:var(--yellow,#d4a017);margin-top:.4rem;padding:.3rem .5rem;background:color-mix(in srgb,var(--yellow,#d4a017) 8%,transparent);border-radius:4px;}

/* ═══════════════════════════════════════════════════════════
   P1-1: Evolution Interactive UI — Simulation
   ═══════════════════════════════════════════════════════════ */

/* Current Reality summary */
.evo-reality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-bottom:.5rem;}
.evo-reality-item{padding:.5rem .65rem;background:var(--s2);border-radius:6px;border:1px solid var(--border);}
.evo-reality-label{font-size:10px;color:var(--muted2);text-transform:uppercase;letter-spacing:.03em;}
.evo-reality-value{font-size:14px;font-weight:600;color:var(--text);margin-top:2px;}
.evo-reality-source{font-size:9px;color:var(--muted2);margin-top:2px;}

/* Provenance badges */
.prov-badge{display:inline-block;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:600;letter-spacing:.03em;cursor:help;}
.prov-fact{background:var(--blue-dim);color:var(--blue);}
.prov-assumption{background:var(--yellow-dim);color:var(--yellow);}
.prov-calc{background:var(--purple-dim);color:var(--purple);}

/* Simulation form */
.sim-form{padding:.75rem;background:var(--s2);border-radius:8px;border:1px solid var(--border);margin-bottom:.75rem;}
.sim-form-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.sim-hypothesis{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--s1);color:var(--text);font-size:12px;resize:vertical;box-sizing:border-box;}
.sim-scenario-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem;}
.sim-scenario-chip{padding:.3rem .65rem;border-radius:12px;border:1px solid var(--border);background:var(--s1);color:var(--muted);font-size:11px;cursor:pointer;transition:all .15s;}
.sim-scenario-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
.sim-assumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.sim-assumption-item{display:flex;flex-direction:column;gap:2px;}
.sim-assumption-label{font-size:10px;color:var(--muted2);text-transform:uppercase;}
.sim-assumption-input{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--s1);color:var(--text);font-size:12px;}
.sim-assumption-hint{font-size:9px;color:var(--muted2);}

/* Simulation result */
.sim-result{margin-top:.75rem;padding:.75rem;background:var(--s1);border-radius:8px;border:1px solid var(--accent-dim);}
.sim-result-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;}
.sim-result-title{font-size:13px;font-weight:600;color:var(--text);}
.sim-result-summary{font-size:11px;color:var(--muted);margin-bottom:.6rem;line-height:1.5;padding:.5rem;background:var(--s2);border-radius:6px;}
.sim-section{margin-bottom:.6rem;}
.sim-section-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem;}
.sim-metric-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px solid var(--border);}
.sim-metric-row:last-child{border-bottom:none;}
.sim-metric-label{font-size:12px;color:var(--text);}
.sim-metric-value{font-size:12px;font-weight:600;color:var(--text);}
.sim-metric-value.good{color:var(--green);}
.sim-metric-value.warn{color:var(--yellow);}
.sim-metric-value.bad{color:var(--red);}
.sim-metric-value.unknown{color:var(--orange);font-weight:500;font-size:11px;}
.sim-metric-prov{margin-left:auto;font-size:9px;}
.sim-timeline{position:relative;padding-left:12px;}
.sim-timeline::before{content:'';position:absolute;left:3px;top:4px;bottom:4px;width:2px;background:var(--border);}
.sim-timeline-item{position:relative;padding:.3rem 0;font-size:11px;}
.sim-timeline-item::before{content:'';position:absolute;left:-12px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.sim-timeline-date{color:var(--muted2);font-weight:600;}
.sim-timeline-event{color:var(--text);}
.sim-disclaimer{margin-top:.6rem;padding:.4rem .5rem;font-size:10px;color:var(--muted2);background:var(--s2);border-radius:4px;border-left:2px solid var(--yellow);}
.sim-error{padding:.5rem;background:var(--red-dim);border-radius:6px;color:var(--red);font-size:11px;margin-top:.5rem;}
.sim-degraded{padding:.5rem;background:var(--yellow-dim);border-radius:6px;color:var(--yellow);font-size:11px;margin-bottom:.5rem;}

/* ═══════════════════════════════════════════════════════════════════
   P1-2: Multi-Scenario Comparison
   ═══════════════════════════════════════════════════════════════════ */

.sim-scenario-chip.multi { transition: all .15s; }
.sim-scenario-chip.multi.active { border-color: var(--accent); color: var(--accent); background: var(--accent-dim); }

.sim-comparison { margin-top: 12px; padding: 12px; background: var(--s1); border-radius: 8px; border: 1px solid var(--accent-dim); }
.sim-comparison-header { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.sim-comparison-title { font-size: 13px; font-weight: 600; color: var(--text); }

.sim-compare-table { display: flex; flex-direction: column; gap: 2px; }
.sim-compare-row { display: flex; align-items: center; padding: 6px 8px; border-radius: 4px; font-size: 12px; }
.sim-compare-row.sim-compare-header { background: var(--s2); font-weight: 600; font-size: 11px; color: var(--muted); }
.sim-compare-cell { flex: 1; text-align: center; }
.sim-compare-cell.sim-compare-label { flex: 0 0 100px; text-align: left; color: var(--text); font-weight: 500; }
.sim-compare-cell.sim-compare-val { font-size: 11px; }
.sim-compare-cell .good { color: var(--green); }
.sim-compare-cell .bad { color: var(--red); }
.sim-compare-cell .warn { color: var(--yellow); }

/* ── Scenario Interpretation ── */
.sim-interpretation { margin-top: 12px; padding: 12px; background: var(--s1); border-radius: 8px; border: 1px solid var(--accent-dim); }
.sim-interpretation-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.sim-interpretation-body { font-size: 12px; color: var(--text); line-height: 1.6; }
.interp-summary { padding: 8px; background: var(--s2); border-radius: 6px; margin-bottom: 8px; color: var(--text); }
.interp-item { padding: 8px 0; border-top: 1px solid var(--border); }
.interp-item:first-child { border-top: none; }
.interp-item-header { font-size: 12px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.interp-future-state { color: var(--text); margin-bottom: 6px; }
.interp-diff { color: var(--muted); font-size: 11px; margin-bottom: 6px; padding-left: 8px; border-left: 2px solid var(--accent-dim); }
.interp-section-title { font-size: 11px; color: var(--muted); margin: 6px 0 4px; font-weight: 500; }
.interp-impact-item { font-size: 11px; padding: 2px 0; }
.interp-fi { font-size: 11px; padding: 4px 0; }
.interp-cred { font-size: 9px; padding: 1px 4px; border-radius: 3px; margin-left: 4px; }
.interp-cred.cred-fact { background: var(--green-dim); color: var(--green); }
.interp-cred.cred-calculated { background: var(--blue-dim); color: var(--blue); }
.interp-cred.cred-inference { background: var(--yellow-dim); color: var(--yellow); }
.interp-cred.cred-hypothesis { background: var(--orange-dim); color: var(--orange); }
.interp-disclaimer { font-size: 10px; color: var(--muted2); margin-top: 8px; padding-top: 6px; border-top: 1px dashed var(--border); }
.btn-interp-reload { background: var(--s2); border: 1px solid var(--border); border-radius: 4px; cursor: pointer; color: var(--text); margin-left: auto; }
.btn-interp-reload:hover { border-color: var(--accent); color: var(--accent); }

/* ── System PI — Interactive Architecture Map ── */
.spi-summary{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap;}
.spi-stat{display:flex;flex-direction:column;align-items:center;padding:.6rem 1rem;background:var(--s2);border-radius:8px;min-width:80px;}
.spi-stat-num{font-size:20px;font-weight:700;color:var(--text);}
.spi-stat-label{font-size:10px;color:var(--muted);margin-top:2px;}
.spi-ts{font-size:12px !important;}
.spi-loading{display:flex;align-items:center;justify-content:center;padding:3rem;}
.spi-body{display:flex;gap:1rem;min-height:500px;position:relative;}
.spi-graph-wrap{flex:1;position:relative;min-width:0;}
.spi-graph{width:100%;height:550px;background:var(--s1);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.spi-graph-controls{position:absolute;bottom:12px;right:12px;display:flex;gap:4px;z-index:5;}
.spi-ctrl-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--s2);color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.spi-ctrl-btn:hover{border-color:var(--accent);background:var(--accent-glow);}
.spi-graph-hint{position:absolute;top:8px;left:12px;font-size:10px;color:var(--muted2);background:rgba(0,0,0,.4);padding:2px 8px;border-radius:4px;pointer-events:none;}
.spi-detail-panel{width:340px;flex-shrink:0;background:var(--s2);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-y:auto;max-height:600px;flex-direction:column;}
.spi-detail-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;flex-wrap:wrap;}
.spi-detail-name{font-size:15px;font-weight:700;color:var(--text);flex:1;}
.spi-detail-close{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;}
.spi-detail-close:hover{border-color:var(--red);color:var(--red);}
.spi-detail-desc{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:.8rem;}
.spi-detail-state{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px dashed var(--border);}
.spi-state-chip{font-size:11px;padding:.25rem .5rem;border-radius:10px;background:var(--s1);color:var(--text);border:1px solid var(--border);}
.spi-state-key{font-weight:600;color:var(--accent);}
.spi-detail-section{margin-top:.8rem;}
.spi-detail-section-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem;}
.spi-detail-components{display:flex;flex-wrap:wrap;gap:.3rem;}
.spi-comp-chip{font-size:10px;padding:.2rem .5rem;border-radius:10px;background:var(--s1);color:var(--muted2);border:1px solid var(--border);}
.spi-rel-row{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:6px;font-size:11px;cursor:pointer;transition:background .15s;flex-wrap:wrap;}
.spi-rel-row:hover{background:var(--s1);}
.spi-rel-to,.spi-rel-from{font-weight:600;color:var(--accent);font-size:11px;}
.spi-rel-kind{font-size:10px;font-weight:600;}
.spi-rel-desc{color:var(--muted2);font-size:10.5px;flex-basis:100%;padding-left:.2rem;}
.spi-detail-source{font-size:10.5px;color:var(--muted2);padding:.4rem .5rem;background:var(--s1);border-radius:4px;line-height:1.5;}
.spi-rel-detail{display:flex;flex-direction:column;gap:.6rem;}
.spi-rel-detail-path{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem;background:var(--s1);border-radius:6px;}
.spi-rel-node{font-weight:600;color:var(--accent);cursor:pointer;font-size:12px;padding:.2rem .4rem;border-radius:4px;}
.spi-rel-node:hover{background:var(--accent-glow);}
.spi-rel-arrow{font-size:11px;font-weight:600;}
.spi-all-list{display:flex;flex-direction:column;gap:.4rem;}
.spi-all-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer;transition:background .15s;flex-wrap:wrap;}
.spi-all-item:hover{background:var(--s1);}
.spi-all-name{font-weight:600;color:var(--text);font-size:12px;}
.spi-all-desc{font-size:10.5px;color:var(--muted2);flex-basis:100%;}
@media(max-width:900px){
    .spi-body{flex-direction:column;}
    .spi-detail-panel{width:100%;max-height:400px;}
    .spi-graph{height:400px;}
}
