:root{--bg: #f2f1ef;--surface: #ffffff;--surface-alt: #f8f7f5;--border: #deded8;--border-light: #ebebе6;--text: #2a2a28;--text-dim: #888884;--accent: #4a6741;--accent-hover: #3d5636;--stop: #963529;--stop-hover: #7c2b22;--radius: 3px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}#toolbar{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}#toolbar button{padding:4px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:12px;letter-spacing:.3px;transition:background .12s}#toolbar button:hover{background:var(--accent-hover)}#toolbar button:active{opacity:.85}#btn-stop{background:var(--stop)}#btn-stop:hover{background:var(--stop-hover)}#btn-clear{background:transparent;color:var(--text-dim);border:1px solid var(--border)}#btn-clear:hover{background:var(--surface-alt);color:var(--text)}#btn-home{padding:4px 12px;background:transparent;color:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.5px;text-decoration:none;transition:color .12s;margin-right:4px}#btn-home:hover{color:var(--accent-hover)}#btn-docs{padding:4px 14px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:12px;letter-spacing:.3px;text-decoration:none;transition:background .12s,color .12s}#btn-docs:hover{background:var(--surface-alt);color:var(--text)}#status{margin-left:10px;font-size:12px;color:var(--text-dim)}#workspace{display:flex;flex:1;overflow:hidden}.divider{flex-shrink:0;position:relative;background:transparent;transition:background .15s}.divider:hover,.divider:active{background:#4a674114}.divider:after{content:"";position:absolute;background:var(--border)}.divider-col{width:5px;cursor:col-resize}.divider-col:after{top:0;bottom:0;left:2px;width:1px}.divider-row{height:5px;cursor:row-resize}.divider-row:after{left:0;right:0;top:2px;height:1px}#left-panel{display:flex;flex-direction:column;width:50%;overflow:hidden}#editor-container{flex:1;overflow:auto;min-height:0}#editor-container .cm-editor{height:100%}#output-panel{height:220px;display:flex;flex-direction:column;background:var(--surface-alt);font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:13px;line-height:1.6;flex-shrink:0;border-top:1px solid var(--border)}#output-scroll{flex:1;overflow-y:auto;padding:8px 14px;white-space:pre-wrap;min-height:0}#repl-input-row{display:flex;align-items:center;gap:6px;padding:4px 10px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.repl-prompt{color:#3a5980;font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:13px;-webkit-user-select:none;user-select:none}#repl-input{flex:1;border:none;outline:none;background:transparent;font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:13px;color:var(--text);caret-color:var(--accent)}#repl-input::placeholder{color:var(--text-dim)}#repl-input:disabled{opacity:.4;cursor:not-allowed}.output-line{color:var(--text);white-space:pre-wrap;line-height:1.6}.output-line.error{color:#963529}.output-line.warning{color:#7a5c00}.output-error{color:#aa3830;white-space:pre-wrap;line-height:1.6}.output-code{color:#3a5980;white-space:pre-wrap;line-height:1.6}#right-panel{display:flex;flex-direction:column;flex:1;overflow:hidden}#figure-panel{flex:1;overflow-y:auto;padding:8px;min-height:0;background:var(--surface)}#var-panel{height:180px;overflow-y:auto;flex-shrink:0;background:var(--surface)}#var-panel-title{padding:4px 10px;background:var(--surface-alt);font-size:11px;color:var(--text-dim);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.6px}#var-table{width:100%;border-collapse:collapse;font-size:12px;font-family:JetBrains Mono,Consolas,Menlo,monospace}#var-table th,#var-table td{padding:3px 10px;text-align:left;border-bottom:1px solid var(--border-light)}#var-table th{background:var(--surface-alt);color:var(--text-dim);font-weight:400}#var-table tr:hover td{background:#f0efe9}
