.tc{--paper:#f5f2ea;--paper-2:#efe9dd;--ink:#24211b;--ink-soft:#6a6357;--ink-faint:#a79e8d;--rule:#e2dccd;--rule-strong:#d3cbb8;--user-bg:#e8e2d3;--d1:#2f7d6b;--d2:#b07d2e;--d3:#a94f5e;--d4:#5568a3;--d5:#7a5ea8;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif;--font-read:var(--font-ui);--font-mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--col-min:340px;--lane-max:760px;background:var(--paper);height:100dvh;color:var(--ink);font-family:var(--font-ui);flex-direction:column;display:flex;overflow:hidden}.tc *,.tc :before,.tc :after{box-sizing:border-box}.tc .topbar{border-bottom:1px solid var(--rule-strong);background:linear-gradient(180deg, #faf8f2, var(--paper));flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:10px 16px;display:flex}.tc .brand{align-items:baseline;gap:10px;display:flex}.tc .brand .mark{font-family:var(--font-read);letter-spacing:.5px;font-size:20px;font-weight:600}.tc .brand .mark em{color:var(--d1);font-style:italic}.tc .spacer{flex:1}.tc .seg{border:1px solid var(--rule-strong);background:#fff;border-radius:8px;display:inline-flex;overflow:hidden}.tc .seg button{cursor:pointer;font-family:var(--font-mono);color:var(--ink-soft);border:none;border-right:1px solid var(--rule);background:#fff;padding:6px 10px;font-size:12px}.tc .seg button:last-child{border-right:none}.tc .seg button:hover{background:var(--paper-2)}.tc .seg button.on{background:color-mix(in srgb, var(--d1) 12%, #fff);color:var(--d1);font-weight:700}.tc .tbtn{font-family:var(--font-mono);color:var(--ink-soft);cursor:pointer;border:1px solid var(--rule-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;display:inline-flex}.tc .tbtn:hover{border-color:var(--d1);color:var(--d1)}.tc .tbtn[disabled]{opacity:.4;cursor:default;pointer-events:none}.tc .tbtn .cnt{color:#fff;background:var(--d2);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.tc .kbd{font-family:var(--font-mono);color:var(--ink-soft);border:1px solid var(--rule-strong);background:#fff;border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:10px}.tc .cols{flex:1;display:flex;overflow-x:auto}.tc .column{min-width:var(--col-min);border-right:1px solid var(--rule);background:var(--paper);flex-direction:column;flex:1 1 0;height:100%;display:flex;position:relative}.tc .column.branch{background:linear-gradient(180deg, #faf8f2 0, var(--paper) 130px)}.tc .column.branch:before{content:"";background:var(--accent);z-index:1;width:3px;position:absolute;top:0;bottom:0;left:0}.tc .column:last-child{border-right:none}.tc .lane{width:100%;max-width:var(--lane-max);min-width:0;margin-inline:auto}.tc .lane.pad{max-width:calc(var(--lane-max) + 36px);padding-inline:18px}.tc .column.flash{animation:.9s tc-flash}@keyframes tc-flash{0%{background:color-mix(in srgb, var(--accent) 14%, var(--paper))}to{}}.tc .col-resizer{z-index:3;cursor:col-resize;touch-action:none;outline:none;flex:none;width:9px;margin:0 -4.5px;position:relative}.tc .col-resizer:before{content:"";background:var(--rule);width:1px;transition:left .12s,width .12s,background .12s;position:absolute;top:0;bottom:0;left:4px}.tc .col-resizer:hover:before,.tc .col-resizer.active:before,.tc .col-resizer:focus-visible:before{background:var(--d1);width:3px;left:3px}.tc .cols .column:has(+.col-resizer){border-right-color:#0000}.tc .cols.easing .column{transition:width .32s cubic-bezier(.32,.72,0,1),flex-basis .32s cubic-bezier(.32,.72,0,1)}.tc .col-head{border-bottom:1px solid var(--rule);background:#fff5;flex:none;padding:12px 18px}.tc .crumb{font-family:var(--font-mono);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:9px;font-size:11px;display:flex}.tc .crumb .seg2{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:2px 7px}.tc .crumb .seg2:hover{border-color:var(--rule-strong);color:var(--ink);background:#fff}.tc .crumb .chev{color:var(--ink-faint)}.tc .crumb .here{color:var(--accent);cursor:default;background:color-mix(in srgb, var(--accent) 9%, transparent);border-radius:6px;padding:2px 7px;font-weight:700}.tc .ctitle-row{align-items:center;gap:9px;display:flex}.tc .anchor-tag{font-family:var(--font-mono);color:var(--ink-soft);border:1px solid var(--rule-strong);border-radius:5px;flex:none;padding:2px 6px;font-size:10px}.tc .depth-badge{font-family:var(--font-mono);letter-spacing:.5px;color:var(--accent);border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:5px;flex:none;padding:2px 6px;font-size:10px;font-weight:700}.tc .ctitle{font-family:var(--font-read);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.tc .col-sub{color:var(--ink-faint);margin-top:2px;font-size:12px}.tc .cactions{flex:none;gap:5px;display:flex}.tc .cbtn{cursor:pointer;border:1px solid var(--rule-strong);color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:7px;padding:4px 9px;font-size:12px;line-height:1}.tc .cbtn:hover{border-color:var(--accent,var(--d1));color:var(--accent,var(--d1))}.tc .focus-banner{background:color-mix(in srgb, var(--accent) 8%, var(--paper));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--rule));border-radius:9px;align-items:flex-start;gap:9px;margin:12px 0 0;padding:10px 12px;display:flex}.tc .focus-banner .fn{font-family:var(--font-mono);color:#fff;background:var(--accent);border-radius:5px;flex:none;margin-top:1px;padding:2px 6px;font-size:11px;font-weight:700}.tc .focus-banner .ft{min-width:0;font-size:13px;line-height:1.5}.tc .focus-banner .ft .lbl{color:var(--ink-soft);font-size:11px;font-family:var(--font-mono);margin-bottom:2px;display:block}.tc .focus-banner .ft q{font-family:var(--font-read);color:var(--ink);quotes:"「" "」"}.tc details.inherited{border:1px dashed var(--rule-strong);background:#fff6;border-radius:9px;margin:12px 0 0}.tc details.inherited>summary{cursor:pointer;font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:7px;padding:9px 12px;font-size:11px;list-style:none;display:flex}.tc details.inherited>summary::-webkit-details-marker{display:none}.tc details.inherited>summary .tw{transition:transform .2s}.tc details.inherited[open]>summary .tw{transform:rotate(90deg)}.tc .inherited-body{border-top:1px dashed var(--rule);padding:2px 12px 12px}.tc .inh-msg{color:var(--ink-faint);margin:8px 0;font-size:12.5px;line-height:1.55}.tc .inh-msg .who{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faint);margin-right:6px;font-size:10px}.tc .msg-scroll-root{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.tc .msg-list{flex:1;min-height:0;padding:16px 18px 8px;overflow-y:auto}.tc .scroll-end-btn{z-index:2;border:1px solid var(--rule-strong);background:var(--paper);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;opacity:1;border-radius:999px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:14px;right:16px;transform:translateY(0);box-shadow:0 4px 14px -6px #1e1a1459}.tc .scroll-end-btn:hover{border-color:var(--d1);color:var(--d1);background:#fff}.tc .scroll-end-btn[data-active=false]{opacity:0;pointer-events:none;transform:translateY(6px)}.tc .hint{border:1px solid var(--rule-strong);color:var(--ink-soft);background:#fff;border-radius:9px;align-items:flex-start;gap:9px;margin:0 0 15px;padding:11px 13px;font-size:12.5px;line-height:1.55;display:flex}.tc .hint b{color:var(--ink)}.tc .hint ul{flex:1;margin:0;padding-left:16px;list-style:outside}.tc .hint li{margin:3px 0}.tc .hint li::marker{color:var(--ink-faint)}.tc .hint .close{cursor:pointer;color:var(--ink-faint);flex:none;margin-left:auto}.tc .hint svg{flex:none;margin-top:1px}.tc .message{max-width:100%;margin:0 0 20px}.tc .message .who{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px;font-size:10px}.tc .message.user{flex-direction:column;align-items:flex-end;display:flex}.tc .message.user .bubble{background:var(--user-bg);white-space:pre-wrap;border-radius:13px 13px 3px;max-width:84%;padding:9px 13px;font-size:14px;line-height:1.55}.tc .message.assistant .bubble{font-family:var(--font-read);color:var(--ink);font-size:15px;line-height:1.72}.tc .message.assistant .bubble p{margin:0 0 12px}.tc .message.assistant .bubble p:last-child{margin-bottom:0}.tc .anchored{border-bottom:2px solid color-mix(in srgb, var(--fc) 55%, transparent);background:color-mix(in srgb, var(--fc) 9%, transparent);cursor:pointer;border-radius:2px;padding:0 1px}.tc sup.fnote{font-family:var(--font-mono);color:#fff;cursor:pointer;background:var(--fc);vertical-align:super;-webkit-user-select:none;user-select:none;border-radius:4px;margin:0 1px 0 2px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1}.tc sup.fnote:hover{filter:brightness(1.1)}.tc .fc-1{--fc:var(--d1)}.tc .fc-2{--fc:var(--d2)}.tc .fc-3{--fc:var(--d3)}.tc .fc-4{--fc:var(--d4)}.tc .fc-5{--fc:var(--d5)}.tc .acard{border:1px solid var(--rule-strong);border-left:3px solid var(--fc,#8a8377);cursor:pointer;width:100%;max-width:430px;font-family:var(--font-ui);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;margin:10px 0 4px;padding:10px 12px;display:flex}.tc .acard:hover{border-color:var(--fc,#8a8377);box-shadow:0 4px 14px -6px #1e1a1440}.tc .acard .ic{background:color-mix(in srgb, var(--fc,#8a8377) 10%, #fff);width:30px;height:30px;color:var(--fc,#8a8377);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.tc .acard .t{flex:1;min-width:0}.tc .acard .t .n{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.tc .acard .t .k{font-family:var(--font-mono);color:var(--ink-faint);margin-top:2px;font-size:10px}.tc .acard .go{font-family:var(--font-mono);color:var(--ink-faint);flex:none;font-size:10px}.tc .acard:hover .go{color:var(--fc,#8a8377)}.tc .composer{border-top:1px solid var(--rule);background:#fff6;flex:none;padding:12px 16px 14px}.tc .composer .box{border:1px solid var(--rule-strong);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.tc .composer.branch .box:focus-within{border-color:var(--accent)}.tc .composer textarea{resize:none;font-family:var(--font-ui);color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-height:20px;max-height:120px;font-size:14px;line-height:1.5}.tc .send{cursor:pointer;color:#fff;background:var(--accent,#3a3733);border:none;border-radius:9px;flex:none;align-self:flex-end;padding:7px 13px;font-size:13px;font-weight:600}.tc .sel-bubble{z-index:60;color:#fff;animation:.14s tc-pop;position:fixed}@keyframes tc-pop{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1}}.tc .sel-bubble .sb-shape{z-index:0;pointer-events:none;filter:drop-shadow(0 8px 18px #1e1a1473);width:100%;position:absolute;left:0}.tc .sel-bubble .sb-shape svg{width:100%;height:auto}.tc .sel-bubble .sb-content{z-index:1;padding:8px 9px 9px;position:relative}.tc .sel-bubble .lbl{color:#c9c2b4;font-size:11px;font-family:var(--font-mono);margin-bottom:6px;position:relative}.tc .sel-bubble .quote{font-family:var(--font-read);color:#f3efe6;max-height:52px;margin-bottom:9px;font-size:13px;line-height:1.45;position:relative;overflow:hidden}.tc .sel-bubble .ask{margin:0 0 9px;position:relative}.tc .sel-bubble .ask textarea{box-sizing:border-box;resize:none;color:#f3efe6;width:100%;font-family:var(--font-ui);background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;min-height:30px;max-height:68px;padding:6px 8px;font-size:12.5px;line-height:1.45;display:block;overflow-y:auto}.tc .sel-bubble .ask textarea::placeholder{color:#a9a294}.tc .sel-bubble .ask textarea:focus{outline-offset:0;background:#ffffff24;outline:2px solid #ffffff40;transition:all .3s}.tc .sel-bubble button{cursor:pointer;background:var(--d1);color:#fff;width:100%;font-size:13px;font-weight:600;font-family:var(--font-ui);border:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px;display:flex;position:relative}.tc .sel-bubble button:hover{filter:brightness(1.08)}.tc .sel-bubble .slotmap{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;flex-wrap:wrap;align-items:center;gap:18px 5px;margin:0 0 9px;padding:7px 7px 19px;display:flex;position:relative}.tc .sel-bubble .smcell{cursor:pointer;background:#ffffff29;border:1px solid #fff6;border-radius:4px;flex:none;width:24px;height:16px;position:relative}.tc .sel-bubble .smcell:hover{background:#ffffff47}.tc .sel-bubble .smcell:focus-visible{outline-offset:1px;outline:1.5px solid #fff}.tc .sel-bubble .smcell.main{cursor:default;background:#ffffff0d;border-style:double;border-color:#ffffff38;width:20px}.tc .sel-bubble .smcell.main:hover{background:#ffffff0d}.tc .sel-bubble .smcell.folded{cursor:default;width:8px}.tc .sel-bubble .smcell.src{border-color:#ffffffd9}.tc .sel-bubble .smcell.will-replace{border-color:color-mix(in srgb, var(--d3) 55%, #fff);background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--d3) 72%, transparent) 0 3px, color-mix(in srgb, var(--d3) 26%, transparent) 3px 6px)}.tc .sel-bubble .smcell.will-fold{border-color:color-mix(in srgb, var(--d2) 65%, #fff);background:color-mix(in srgb, var(--d2) 48%, transparent)}.tc .sel-bubble .smcell.ov{outline-offset:1px;outline:2px solid #fff}.tc .sel-bubble .smcell.ghost{color:#eae4d6;text-align:center;cursor:default;background:0 0;border:1.5px dashed #ffffff8c;font-size:12px;line-height:13px}.tc .sel-bubble .smcell .cap{font-style:normal;font-family:var(--font-mono);white-space:nowrap;color:#d8d2c4;font-size:9px;line-height:1;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}.tc .sel-bubble .smcell.will-replace .cap{color:color-mix(in srgb, var(--d3) 45%, #fff)}.tc .sel-bubble .smcell.will-fold .cap{color:color-mix(in srgb, var(--d2) 55%, #fff)}.tc .swx-scrim{z-index:72;background:#1e1a142e;transition:opacity .15s;animation:.15s tc-fade-in;position:fixed;inset:0}.tc .swx-scrim.clear{background:0 0}.tc .swx-scrim[data-ending-style],.tc .swx-scrim.closing{opacity:0}@keyframes tc-fade-in{0%{opacity:0}}.tc .swx{z-index:74;background:var(--paper);border:1px solid var(--rule-strong);border-radius:13px;flex-direction:column;transition:opacity .15s,transform .15s;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 60px -18px #1e1a1473}.tc .swx.local,.tc .swx.subtree{animation:.15s tc-pop}.tc .swx.closing{opacity:0;transform:translateY(4px)scale(.97)}.tc .swx.global{animation:.15s tc-pop-center}.tc .swx.global[data-ending-style]{opacity:0;transform:translate(-50%)translateY(6px)scale(.97)}@keyframes tc-pop-center{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.97)}to{opacity:1;transform:translate(-50%)}}.tc .swx[data-closed],.tc .swx.closing,.tc .swx-scrim[data-closed],.tc .swx-scrim.closing{pointer-events:none}.tc .swx.global{width:min(500px,94vw);max-height:min(560px,78vh);top:68px;left:50%;transform:translate(-50%)}.tc .swx.local{width:min(330px,92vw);max-height:420px}.tc .swx-search{border-bottom:1px solid var(--rule);flex:none;align-items:center;gap:8px;padding:11px 13px;display:flex}.tc .swx-search svg{color:var(--ink-faint);flex:none}.tc .swx-search input{min-width:0;font-family:var(--font-ui);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:14px}.tc .swx-search input::placeholder{color:var(--ink-faint)}.tc .swx-hd{font-family:var(--font-mono);letter-spacing:.5px;color:var(--ink-faint);flex:none;padding:10px 13px 0;font-size:10px}.tc .swx-recent{border-bottom:1px dashed var(--rule);flex-wrap:wrap;flex:none;gap:6px;padding:8px 13px 10px;display:flex}.tc .swx-chip{border:1px solid var(--rule-strong);cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:6px;max-width:190px;padding:4px 10px;font-size:12px;display:inline-flex}.tc .swx-chip:hover{border-color:var(--dc,#8a8377);color:var(--ink)}.tc .swx-chip .dot{background:var(--dc,#8a8377);border-radius:50%;flex:none;width:7px;height:7px}.tc .swx-chip .tt{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tc .swx-list{flex:1;padding:8px;overflow-y:auto}.tc .swx-row{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 9px;display:flex}.tc .swx-row.hi{background:var(--paper-2)}.tc .swx-row .dot{background:var(--dc,#8a8377);border-radius:50%;flex:none;width:9px;height:9px}.tc .swx-row .n{font-family:var(--font-mono);color:#fff;background:var(--dc,#8a8377);border-radius:5px;flex:none;padding:1px 5px;font-size:10px;font-weight:700}.tc .swx-row .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.tc .swx-row .t.main{font-family:var(--font-read);font-weight:600}.tc .swx-row .anch{max-width:34%;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:11px;overflow:hidden}.tc .swx-row .st{font-family:var(--font-mono);color:var(--dc,#8a8377);border:1px solid color-mix(in srgb, var(--dc,#8a8377) 45%, transparent);background:color-mix(in srgb, var(--dc,#8a8377) 8%, transparent);border-radius:5px;flex:none;padding:1px 6px;font-size:10px}.tc .swx-empty{text-align:center;color:var(--ink-faint);padding:20px;font-size:12.5px}.tc .swx-foot{border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-faint);flex:none;gap:14px;padding:8px 13px;font-size:10px;display:flex}.tc .art-drawer{z-index:65;background:var(--paper);border-left:1px solid var(--rule-strong);flex-direction:column;width:min(max(50vw,420px),92vw);transition:transform .34s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(103%);box-shadow:-18px 0 44px -18px #1e1a1459}.tc .art-drawer.open{transform:translate(0)}.tc .art-head{border-bottom:1px solid var(--rule);background:#fff5;flex:none;align-items:center;gap:10px;padding:13px 16px;display:flex}.tc .art-head h3{font-family:var(--font-read);flex:1;align-items:baseline;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.tc .art-x{cursor:pointer;color:var(--ink-soft);border:1px solid var(--rule-strong);background:#fff;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;line-height:1;display:flex}.tc .art-x:hover{color:var(--ink);border-color:var(--ink-faint)}.tc .art-tabs{border-bottom:1px solid var(--rule);background:#fff5;flex:none;gap:6px;padding:10px 12px;display:flex;overflow-x:auto}.tc .art-tab{border:1px solid var(--rule-strong);cursor:pointer;white-space:nowrap;color:var(--ink-soft);font-size:12px;font-family:var(--font-ui);background:#fff;border-radius:8px;align-items:center;gap:7px;padding:6px 10px;display:inline-flex}.tc .art-tab .dot{background:var(--dc,#8a8377);border-radius:50%;flex:none;width:8px;height:8px}.tc .art-tab.on{border-color:var(--dc,#8a8377);color:var(--ink);background:color-mix(in srgb, var(--dc,#8a8377) 8%, #fff)}.tc .art-body{flex:1;padding:16px;overflow-y:auto}.tc .art-code{font-family:var(--font-mono);color:#f0ead8;white-space:pre;background:#2b2820;border-radius:10px;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.65;overflow-x:auto}.tc .art-note{font-family:var(--font-read);color:var(--ink);font-size:14.5px;line-height:1.85}.tc .art-note p{white-space:pre-wrap;margin:0 0 13px}.tc .art-src{border-top:1px solid var(--rule);color:var(--ink-soft);background:#fff6;flex:none;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.tc .art-src .dot{background:var(--dc,#8a8377);border-radius:50%;flex:none;width:8px;height:8px}.tc .art-src .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tc .art-src .loc{cursor:pointer;border:1px solid var(--rule-strong);color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:7px;padding:4px 9px;font-size:12px}.tc .art-src .loc:hover{border-color:var(--dc,#8a8377);color:var(--dc,#8a8377)}.tc .art-empty{text-align:center;color:var(--ink-faint);margin:auto;padding:30px;font-size:13px}.tc .toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:80;border-radius:10px;align-items:center;gap:12px;max-width:min(560px,92vw);padding:10px 14px;font-size:13px;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 10px 30px -10px #0006}.tc .toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.tc .toast .undo{cursor:pointer;color:#fff;font-size:12px;font-family:var(--font-ui);background:#ffffff1a;border:1px solid #ffffff59;border-radius:7px;flex:none;padding:3px 10px}.tc .toast .undo:hover{background:#fff3}.tc .col-strip{border:none;border-right:1px solid var(--rule);background:linear-gradient(180deg, #faf8f2, var(--paper));cursor:pointer;width:30px;font-family:var(--font-ui);flex-direction:column;flex:none;align-items:center;gap:9px;padding:12px 0 10px;display:flex;position:relative}.tc .col-strip:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.tc .col-strip:hover{background:var(--paper-2)}.tc .col-strip .fn{font-family:var(--font-mono);color:#fff;background:var(--accent);border-radius:4px;flex:none;padding:2px 4px;font-size:10px;font-weight:700}.tc .col-strip .vt{writing-mode:vertical-rl;text-orientation:sideways;text-align:center;min-height:0;font-family:var(--font-read);letter-spacing:2px;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;flex:auto;align-self:center;font-size:12px;overflow:hidden}.tc .col-strip:hover .vt{color:var(--ink)}.tc .cbtn.tree{align-items:center;gap:4px;display:inline-flex}.tc .cbtn.tree .n{font-family:var(--font-mono);font-size:10px;font-weight:700;line-height:1}.tc .swx.subtree{width:min(340px,92vw);max-height:400px}.tc .swx-title{border-bottom:1px solid var(--rule);font-family:var(--font-read);color:var(--ink);flex:none;align-items:center;gap:8px;padding:11px 13px;font-size:13.5px;font-weight:600;display:flex}.tc .swx-title svg{color:var(--ink-faint);flex:none}.tc .canvas-wrap{flex:1;width:100%;min-height:0;position:relative}.tc .boot-loading,.tc .canvas-loading{color:var(--ink-faint);font-family:var(--font-mono);flex:1;justify-content:center;align-items:center;font-size:12px;display:flex}.tc .canvas-wrap .react-flow{background:var(--paper);--xy-background-pattern-color-default:var(--rule-strong);--xy-edge-stroke-default:var(--rule-strong);--xy-edge-stroke-selected-default:var(--ink-soft);--xy-minimap-background-color-default:#fbf9f2;--xy-minimap-node-background-color-default:#e6dfd0;--xy-controls-button-background-color-default:#fff;--xy-controls-button-background-color-hover-default:var(--paper-2);--xy-controls-button-border-color-default:var(--rule);--xy-controls-button-color-default:var(--ink-soft);--xy-attribution-background-color-default:#fff8}.tc .canvas-wrap .react-flow__minimap{border:1px solid var(--rule-strong);border-radius:9px;overflow:hidden}.tc .canvas-wrap .react-flow__minimap-node{fill:var(--fc,#8a8377);stroke:none}.tc .canvas-wrap .react-flow__controls{border:1px solid var(--rule-strong);border-radius:9px;overflow:hidden;box-shadow:0 4px 14px -9px #1e1a144d}.tc .canvas-wrap .react-flow__attribution{color:var(--ink-faint);font-size:9px}.tc .canvas-card{border:1px solid var(--rule-strong);border-left:3px solid var(--accent,#8a8377);width:280px;font-family:var(--font-ui);cursor:grab;background:#fff;border-radius:10px;padding:11px 13px;position:relative;box-shadow:0 4px 14px -9px #1e1a1438}.tc .react-flow__node.dragging .canvas-card{cursor:grabbing}.tc .react-flow__node.selected .canvas-card{border-color:var(--accent,#8a8377);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,#8a8377) 30%, transparent), 0 8px 20px -10px #1e1a1459}.tc .canvas-card .react-flow__handle{opacity:0;pointer-events:none}.tc .canvas-card .chead{align-items:center;gap:7px;min-height:20px;margin-bottom:6px;display:flex}.tc .canvas-card .fn{font-family:var(--font-mono);color:#fff;background:var(--accent,#8a8377);border-radius:4px;flex:none;padding:2px 5px;font-size:10px;font-weight:700;line-height:1.2}.tc .canvas-card .ttl{font-family:var(--font-read);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14.5px;font-weight:600;line-height:1.35;overflow:hidden}.tc .canvas-card .sub{color:var(--ink-faint);margin-bottom:4px;font-size:11.5px;line-height:1.5}.tc .canvas-card .anch{font-family:var(--font-read);color:var(--ink-soft);background:color-mix(in srgb, var(--accent,#8a8377) 7%, transparent);-webkit-line-clamp:2;border-radius:5px;-webkit-box-orient:vertical;margin-bottom:6px;padding:3px 6px;font-size:11.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.tc .canvas-card .sum{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:8px;font-size:12px;line-height:1.58;display:-webkit-box;overflow:hidden}.tc .canvas-card .meta{font-family:var(--font-mono);color:var(--ink-faint);align-items:center;gap:10px;font-size:10px;display:flex}.tc .canvas-card .meta .am{align-items:center;gap:5px;display:inline-flex}.tc .canvas-card .meta .dot{border-radius:50%;flex:none;width:7px;height:7px}.tc .canvas-panel{align-items:center;gap:9px;display:flex}.tc .canvas-panel .cbtn{box-shadow:0 3px 10px -6px #1e1a1459}.tc .canvas-panel .canvas-tip{font-family:var(--font-mono);color:var(--ink-soft);border:1px solid var(--rule);background:#fffc;border-radius:7px;padding:5px 9px;font-size:11px}.tc .canvas-expand{border:1px solid var(--accent,#8a8377);cursor:default;text-align:left;-webkit-user-select:text;user-select:text;background:#fffffff5;border-left-width:3px;border-radius:10px;flex-direction:column;width:340px;display:flex;position:absolute;top:calc(100% + 9px);left:-3px;box-shadow:0 16px 38px -12px #1e1a146b}.tc .canvas-expand .msg-list.mini{flex:none;max-height:360px;padding:11px 12px 2px;overflow-y:auto}.tc .canvas-expand .message{margin:0 0 12px}.tc .canvas-expand .message.user .bubble{padding:6px 10px;font-size:12.5px;line-height:1.5}.tc .canvas-expand .message.assistant .bubble{font-size:12.5px;line-height:1.62}.tc .canvas-expand .md-body h1{font-size:15px}.tc .canvas-expand .md-body h2{font-size:14px}.tc .canvas-expand .md-body h3,.tc .canvas-expand .md-body h4{font-size:13px}.tc .canvas-expand .msg-error{font-size:11.5px}.tc .canvas-expand .cv-composer{border-top:1px solid var(--rule);align-items:flex-end;gap:6px;padding:8px 10px 9px;display:flex}.tc .canvas-expand .cv-composer textarea{border:1px solid var(--rule-strong);color:var(--ink);resize:none;font-family:var(--font-ui);background:#fff;border-radius:8px;flex:1;min-height:28px;max-height:68px;padding:5px 8px;font-size:12.5px;line-height:1.45}.tc .canvas-expand .cv-composer textarea:focus{border-color:var(--accent,var(--d1));outline:none}.tc .canvas-expand .cv-composer textarea::placeholder{color:var(--ink-faint)}.tc .canvas-expand .cv-send{cursor:pointer;color:#fff;background:var(--accent,#3a3733);border:none;border-radius:8px;flex:none;padding:6px 11px;font-size:12px;font-weight:600}.tc .canvas-expand .cv-send.stop{background:var(--ink-soft)}.tc .seg button.mode{align-items:center;gap:5px;display:inline-flex}.tc ::-webkit-scrollbar{width:9px;height:9px}.tc ::-webkit-scrollbar-thumb{background:var(--rule-strong);border-radius:6px}@media (prefers-reduced-motion:reduce){.tc *,.tc :before,.tc :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tc .typing{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.tc .typing i{background:var(--ink-faint);border-radius:50%;width:6px;height:6px;font-style:normal;animation:1.1s ease-in-out infinite tc-typing-bounce}.tc .typing i:nth-child(2){animation-delay:.15s}.tc .typing i:nth-child(3){animation-delay:.3s}@keyframes tc-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.tc .caret{vertical-align:text-bottom;background:var(--ink-soft);width:2px;height:1em;margin-left:1px;animation:1s step-end infinite tc-caret-blink;display:inline-block}@keyframes tc-caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.tc .msg-error{color:#a8443a;background:#fbeae7;border:1px solid #e3b3ac;border-radius:8px;align-items:center;gap:10px;margin-top:6px;padding:7px 11px;font-size:12.5px;line-height:1.5;display:flex}.tc .msg-error .retry{color:#a8443a;cursor:pointer;background:#fff;border:1px solid #d98f85;border-radius:6px;flex:none;padding:3px 9px;font-size:12px}.tc .msg-error .retry:hover{background:#fbeae7}.tc .send.stop{color:#a8443a;background:#fff;border:1px solid #d98f85;padding:6px 12px}.tc .send.stop:hover{background:#fbeae7}.tc .md-body{font-family:var(--font-read);color:var(--ink);font-size:15px;line-height:1.72}.tc .md-body>:first-child{margin-top:0}.tc .md-body>:last-child{margin-bottom:0}.tc .md-body p{margin:0 0 12px}.tc .md-body h1,.tc .md-body h2,.tc .md-body h3,.tc .md-body h4{font-family:var(--font-ui);color:var(--ink);margin:20px 0 9px;font-weight:700;line-height:1.35}.tc .md-body h1{border-bottom:1px solid var(--rule);padding-bottom:5px;font-size:20px}.tc .md-body h2{font-size:17px}.tc .md-body h3{font-size:15.5px}.tc .md-body h4{color:var(--ink-soft);font-size:14px}.tc .md-body ul,.tc .md-body ol{margin:0 0 12px;padding-left:22px}.tc .md-body ul{list-style:outside}.tc .md-body ol{list-style:decimal}.tc .md-body ul ul{list-style:circle}.tc .md-body li{margin:3px 0}.tc .md-body li::marker{color:var(--ink-faint)}.tc .md-body blockquote{border-left:3px solid var(--rule-strong);color:var(--ink-soft);margin:0 0 12px;padding:2px 0 2px 13px}.tc .md-body a{color:var(--d1);text-underline-offset:2px;text-decoration:underline}.tc .md-body hr{border:none;border-top:1px solid var(--rule);margin:18px 0}.tc .md-body strong{color:var(--ink);font-weight:700}.tc .md-body em{font-style:italic}.tc .md-body .md-inline-code{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:1px 5px;font-size:.85em}.tc .md-body table{border-collapse:collapse;width:100%;font-size:13.5px;font-family:var(--font-ui);margin:0 0 12px}.tc .md-body th,.tc .md-body td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:6px 10px}.tc .md-body th{background:var(--paper-2);color:var(--ink);font-weight:600}.tc .md-body .md-code{border:1px solid var(--rule-strong);background:#2b2822;border-radius:8px;margin:0 0 12px;overflow:hidden}.tc .md-body .md-code-head{font-family:var(--font-mono);background:#35312a;border-bottom:1px solid #453f36;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.tc .md-body .md-code-head .lang{letter-spacing:.5px;text-transform:lowercase;color:#b8ad98;font-size:10.5px}.tc .md-body .md-code-head .copy{color:#b8ad98;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:inline-flex}.tc .md-body .md-code-head .copy:hover{color:#f0e9d8;background:#ffffff14}.tc .md-body .md-code pre{margin:0;padding:11px 13px;overflow-x:auto}.tc .md-body .md-code code{font-family:var(--font-mono);color:#ece3d1;white-space:pre;font-size:12.5px;line-height:1.6}.tc .md-body [data-text-anchor-mark]{cursor:pointer;border-bottom:2px solid color-mix(in srgb, var(--fc,var(--d1)) 55%, transparent);border-radius:2px;padding:0 1px}.tc .md-body sup.fn-mark{font-family:var(--font-mono);color:#fff;cursor:pointer;background:var(--fc,var(--d1));vertical-align:super;-webkit-user-select:none;user-select:none;border-radius:4px;margin:0 1px 0 2px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1}.tc .md-body sup.fn-mark:hover{filter:brightness(1.1)}.tc .swx.tlx{width:min(460px,94vw)}.tc .swx-title .kbd{margin-left:auto}.tc .tlx-row{gap:8px}.tc .tlx-row:hover{background:var(--paper-2)}.tc .tlx-row.cur{background:color-mix(in srgb, var(--d1,#b07d2e) 9%, transparent)}.tc .tlx-row.cur .dot{background:var(--d1,#b07d2e)}.tc .tlx-row .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.tc .tlx-meta{flex:none;align-items:center;gap:8px;display:inline-flex}.tc .tlx-badge{font-family:var(--font-mono);color:var(--ink-soft);border:1px solid var(--rule-strong);background:var(--paper-2);border-radius:5px;padding:1px 6px;font-size:10px}.tc .tlx-time{font-family:var(--font-mono);color:var(--ink-faint);font-size:10.5px}.tc .tlx-unsaved{color:#b07d2e;background:#b07d2e14;border-color:#b07d2e73}.tc .tlx-acts{flex:none;align-items:center;gap:4px;display:none}.tc .tlx-row:hover .tlx-acts{display:inline-flex}.tc .tlx-acts:has(.confirm){display:inline-flex}.tc .tlx-row:hover:has(.tlx-acts) .tlx-meta{display:none}.tc .tlx-act{border:1px solid var(--rule-strong);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:inline-flex}.tc .tlx-act:hover{color:var(--ink);border-color:var(--ink-faint)}.tc .tlx-act.danger:hover{color:#b03a2e;border-color:#b03a2e80}.tc .tlx-act.danger.confirm{color:#fff;background:#b03a2e;border-color:#b03a2e;font-weight:600}.tc .tlx-act.danger.confirm:hover{filter:brightness(1.08)}.tc .tlx-act:disabled{opacity:.5;cursor:default}.tc .tlx-edit{border:1px solid var(--d1,#b07d2e);min-width:0;font-family:var(--font-ui);color:var(--ink);background:#fff;border-radius:6px;outline:none;flex:1;padding:3px 7px;font-size:13px}.tc .tbtn.help{color:var(--ink-soft);padding:5px 7px;line-height:0}.tc .tbtn.help:hover{color:var(--ink)}.tc .sel-bubble .place-hint{color:#d8d2c4;white-space:nowrap;text-overflow:ellipsis;margin:6px 2px 0;font-size:10px;line-height:1.4;overflow:hidden}.tc .message.user .msg-quote{border-left:2px solid color-mix(in srgb, var(--ink) 35%, transparent);background:color-mix(in srgb, var(--ink) 6%, transparent);color:color-mix(in srgb, var(--ink) 72%, transparent);-webkit-line-clamp:2;border-radius:4px;-webkit-box-orient:vertical;margin:0 0 6px;padding:3px 8px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}
