:root{--bg-window:#e7ddc9;--bg-canvas:#faf6ec;--bg-paper-deep:#efe7d6;--bg-subtle:#785a3212;--bg-panel:#785a320d;--bg-hover:#785a321a;--line-1:#785a3229;--line-2:#785a3247;--line-3:#785a326b;--line-ink:#2f2a22;--ink-1:#2f2a22;--ink-2:#5c5346;--ink-3:#8a7f6e;--ink-4:#b3a791;--ink-cool:#8a7f6e;--ink-on-dark:#ece3d0;--mark:#a8823f;--mark-soft:#a8823f24;--diff-ins-bg:#e6ecd7;--diff-ins-ink:#3a4e1d;--diff-ins-bd:#c2cfa4;--diff-del-bg:#f1dfd7;--diff-del-ink:#6b2d1a;--diff-del-bd:#d7b6a4;--sel-bg:#f1e4a8;--ink-surface:#1a1410;--ink-surface-2:#221c15;--shadow-1:0 1px 2px #3226120f;--shadow-2:0 6px 20px #3226121a, 0 1px 3px #3226120f;--shadow-3:0 24px 60px #32261233, 0 4px 12px #32261214;--font-display:"EB Garamond", "Newsreader", "Source Serif Pro", "Charter", Georgia, serif;--font-sans:"Noto Sans SC", "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--font-zh-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "宋体", serif;--r-sm:0;--r:0;--r-lg:0;--r-pill:999px}
*{box-sizing:border-box}html,body{background:var(--bg-window);color:var(--ink-1);margin:0;padding:0}body{font-family:var(--font-zh-serif);-webkit-font-smoothing:antialiased;font-size:13.5px;line-height:1.6}.font-mono{font-family:var(--font-mono)}
.wf-btn{border:1px solid var(--line-2);background:var(--bg-canvas);color:var(--ink-2);font-family:var(--font-zh-serif);cursor:pointer;white-space:nowrap;border-radius:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;line-height:1.3;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.wf-btn:hover{background:var(--bg-hover);color:var(--ink-1);border-color:var(--line-3)}.wf-btn.primary{background:var(--ink-1);color:var(--ink-on-dark);border-color:var(--ink-1);font-weight:600}.wf-btn.primary:hover{background:var(--ink-surface);border-color:var(--ink-surface)}.wf-btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.wf-btn.ghost:hover{background:var(--bg-hover);color:var(--ink-1)}.wf-btn.small{padding:3px 10px;font-size:11px}.wf-btn.lg{padding:10px 22px;font-size:13.5px}.wf-btn.icon{padding:6px 8px}.wf-btn.square{border-radius:0}.wf-btn.disabled,.wf-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.wf-region{border:1px solid var(--line-1);background:var(--bg-canvas);box-shadow:var(--shadow-1);border-radius:0;padding:14px 16px;position:relative}.wf-region.thick{border-color:var(--line-2);box-shadow:var(--shadow-2)}.wf-region.dashed{border-style:dashed;border-color:var(--line-2);box-shadow:none;background:0 0}.wf-region.subtle{background:var(--bg-subtle);box-shadow:none}.wf-region.ghost{border:1px dashed var(--line-2);color:var(--ink-3);box-shadow:none;background:0 0}.wf-region-label{font-family:var(--font-zh-serif);color:var(--ink-3);letter-spacing:.02em;margin-bottom:10px;font-size:12px;font-style:italic;font-weight:500}.wf-chip{font-family:var(--font-zh-serif);color:var(--ink-2);background:var(--bg-subtle);border:1px solid var(--line-1);border-radius:var(--r-pill);align-items:center;gap:6px;margin:2px;padding:3px 11px;font-size:11.5px;font-weight:500;line-height:1.4;display:inline-flex}.wf-chip.solid{background:var(--ink-1);color:var(--ink-on-dark);border-color:var(--ink-1)}.wf-chip.dashed{background:0 0;border-style:dashed}.wf-chip.mono{font-family:var(--font-mono);font-size:10.5px}.wf-chip .x{color:var(--ink-3);cursor:pointer;margin-left:2px;font-size:12px;line-height:1}.wf-chip .x:hover{color:var(--ink-1)}.wf-chip .dot{background:var(--ink-2);border-radius:50%;width:5px;height:5px}.wf-msg{border:1px solid var(--line-1);background:var(--bg-canvas);box-shadow:var(--shadow-1);border-radius:6px;margin:8px 0;padding:12px 14px;font-size:13px;line-height:1.6}.wf-msg.user{background:var(--bg-subtle)}.wf-msg.agent{background:var(--bg-canvas)}.wf-msg.tool{font-family:var(--font-mono);color:var(--ink-2);border:1px solid var(--line-1);background:var(--bg-subtle);cursor:pointer;border-radius:var(--r-pill);box-shadow:none;align-items:center;gap:8px;width:fit-content;margin:6px 0;padding:6px 12px;font-size:11.5px;display:flex}.wf-msg.tool:hover{background:var(--bg-hover);color:var(--ink-1)}.wf-msg.tool .caret{color:var(--ink-3);font-size:9px;display:inline-block}.wf-doc{color:var(--ink-1);font-size:14.5px;line-height:1.85;font-family:var(--font-zh-serif)}.wf-doc h1{font-family:var(--font-zh-serif);letter-spacing:.012em;margin:16px 0 10px;font-size:26px;font-weight:600}.wf-doc h2{font-family:var(--font-zh-serif);letter-spacing:.01em;margin:22px 0 8px;font-size:20px;font-weight:600}.wf-doc h3{color:var(--ink-2);margin:14px 0 4px;font-size:17px;font-weight:600}.wf-doc h4{color:var(--ink-2);margin:12px 0 4px;font-size:15.5px;font-weight:600}.wf-doc h5{color:var(--ink-3);margin:10px 0 4px;font-size:14.8px;font-weight:600}.wf-doc h6{color:var(--ink-3);letter-spacing:.02em;margin:10px 0 4px;font-size:14.5px;font-weight:600}.wf-doc p{margin:8px 0}.wf-doc table{border-collapse:collapse;border:1px solid var(--line-2);border-radius:0;margin:10px 0;font-size:12.5px;overflow:hidden}.wf-doc th,.wf-doc td{border-bottom:1px solid var(--line-1);border-right:1px solid var(--line-1);text-align:left;padding:7px 12px}.wf-doc th{background:var(--bg-subtle);color:var(--ink-2);letter-spacing:.02em;font-size:11.5px;font-weight:600}.wf-doc th:last-child,.wf-doc td:last-child{border-right:none}.wf-doc tr:last-child td{border-bottom:none}.wf-patch-ins{color:inherit;background:linear-gradient(#0000 50%,#4ab46438 50%);border-bottom:none;border-radius:0;padding:0 2px}.wf-sel{background:var(--sel-bg);cursor:pointer;border-radius:0;padding:0 3px}.wf-modal{z-index:60;justify-content:center;align-items:center;padding:40px;display:none;position:absolute;inset:0}.wf-modal.open{display:flex}.wf-modal .card{background:var(--bg-canvas);border:1px solid var(--line-2);width:580px;max-width:94%;max-height:88%;box-shadow:var(--shadow-3);border-radius:0;flex-direction:column;display:flex;overflow:hidden}.wf-modal .card>.head{border-bottom:1px solid var(--line-1);font-family:var(--font-zh-serif);letter-spacing:.012em;background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:18px 24px;font-size:18px;font-weight:600;display:flex}.wf-modal .card>.body{flex:auto;padding:20px 24px;overflow-y:auto}.wf-modal .body::-webkit-scrollbar{width:10px;height:10px}.wf-modal .body::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:2px solid #0000;border-radius:0}.wf-input{border:1px solid var(--line-2);background:var(--bg-canvas);box-shadow:var(--shadow-1);border-radius:0;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.wf-input:focus-within{border-color:var(--ink-2);box-shadow:0 0 0 3px #1f2a3112}.wf-input textarea,.wf-input input[type=text]{resize:none;width:100%;font-family:var(--font-zh-serif);color:var(--ink-1);background:0 0;border:none;outline:none;font-size:13.5px}.wf-input textarea::placeholder,.wf-input input::placeholder{color:var(--ink-4)}.wf-floaty{background:var(--bg-canvas);border:1px solid var(--line-2);box-shadow:var(--shadow-2);z-index:30;border-radius:0;min-width:280px;max-height:320px;padding:6px 0;position:absolute;overflow-y:auto}
