:root{--cjk:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "WenQuanYi Micro Hei", "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, "Noto Sans Mono CJK SC", monospace;--brand:#3370ff;--border:#e5e6eb;--muted:#646a73}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--cjk);color:#1f2329;background:#f5f6f7;flex-direction:column;display:flex}.topbar{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.brand{font-size:16px;font-weight:600}.brand .sub{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.agent-link{color:var(--brand);background:#f0f4ff;border:1px solid #c9d8ff;border-radius:10px;margin-left:10px;padding:2px 8px;font-size:12px;font-weight:500;text-decoration:none}.agent-link:hover{background:#e1eaff}.controls{flex-wrap:wrap;gap:12px;display:flex}.controls label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}select,button{font:inherit;border:1px solid var(--border);color:#1f2329;cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;font-size:13px}button:hover{border-color:var(--brand);color:var(--brand)}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover{color:#fff;background:#2b5fd9}button:disabled{opacity:.5;cursor:not-allowed}.layout{flex:1;grid-template-columns:minmax(320px,1fr) minmax(0,1.6fr);gap:12px;min-height:0;padding:12px;display:grid}.pane{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.pane-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.hint,.size{color:var(--muted);font-size:12px;font-weight:400}.actions{flex-wrap:wrap;gap:6px;display:flex}.badge{color:var(--brand);background:#e8f0ff;border-radius:10px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.badge.fallback{color:#c25e00;background:#fff3e0}textarea{resize:none;font-family:var(--mono);-moz-tab-size:2;tab-size:2;border:0;outline:none;flex:1;padding:12px;font-size:13px;line-height:1.6}.stage-wrap{background:repeating-conic-gradient(#f7f8fa 0% 25%,#fff 0% 50%) 0 0/16px 16px;flex:1;padding:16px;overflow:auto}.stage{justify-content:center;width:820px;max-width:100%;margin:0 auto;display:flex}.stage svg{max-width:100%;height:auto;display:block}.error{color:#d83931;font-family:var(--mono);white-space:pre-wrap;background:#fff0f0;border-radius:6px;max-height:140px;margin:10px 12px 0;padding:8px 12px;font-size:12px;overflow:auto}.error.warn{color:#b25e00;background:#fff7e6}.wide-hint{color:#2b5cb8;background:#eef4ff;border-radius:6px;margin:8px 12px 0;padding:6px 12px;font-size:12px;line-height:1.5}.wide-hint:before{content:"💡 "}.foot{color:var(--muted);border-top:1px solid var(--border);padding:6px 12px;font-size:12px}.toast{color:#fff;z-index:10;background:#1f2329eb;border-radius:8px;padding:8px 16px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@media (max-width:860px){.layout{grid-template-rows:40vh auto;grid-template-columns:1fr}}
