:root{--bg:#f4f5f0;--surface:#fff;--line:#d5d7c9;--text:#1f2a2a;--muted:#5a6363;--accent:#0a7f6f;--neg:#a34141}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 5% 10%, #dff3e7 0%, transparent 35%), radial-gradient(circle at 95% 90%, #e7eef8 0%, transparent 35%), var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main{max-width:860px;margin:0 auto;padding:16px}header{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}header h1{margin:0}.messages{gap:12px;margin-top:14px;display:grid}.message{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.message.user{border-left:5px solid #2f5aa8}.message.assistant{border-left:5px solid var(--accent)}.panel{border:1px solid var(--line);background:#fafcfa;border-radius:10px;padding:10px}.panel h3{margin:0 0 8px}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.error{color:#bf2020}.stack{gap:10px;display:grid}.loading-panel{animation:1.6s ease-in-out infinite pulse}.bar-row{grid-template-columns:140px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.bar-label{color:var(--muted);font-size:12px}.bar{color:#fff;border-radius:8px;min-width:28px;padding:4px 8px;font-size:12px}.bar-pos{background:var(--accent)}.bar-neg{background:var(--neg)}form{grid-template-columns:1fr auto;gap:8px;margin-top:14px;display:grid}input,button{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:14px}button{color:#fff;background:#173f3a;border-color:#173f3a}.prompt-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.prompt-chip{color:#173f3a;cursor:pointer;background:#eef6f3;border-color:#c8ddd6;padding:8px 10px;font-size:13px}.table-badge{color:#173f3a;background:#eef6f3;border-radius:999px;padding:4px 8px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-top:1px solid var(--line);text-align:left;padding:10px 8px;font-size:13px}th.numeric,td.numeric{text-align:right}pre{white-space:pre-wrap;background:#f2f4f2;border-radius:8px;max-height:200px;padding:8px;overflow:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.72}}@media (max-width:640px){.bar-row,form{grid-template-columns:1fr}}
