.ct{--ct-panel:#f8f9fb;--ct-card:#fff;--ct-line:#e5e7eb;--ct-line-soft:#eef0f3;--ct-track:#edf0f4;--ct-ink:#111827;--ct-ink-2:#4b5563;--ct-ink-3:#6b7280;--ct-accent:#2563eb;--ct-accent-ink:#1d4ed8;--ct-accent-soft:#2563eb17;--ct-tree:#d6dae1;--ct-same:#1f7a4d;--ct-partial:#8a6a10;--ct-stronger:#c2410c;--ct-weaker:#1d6fb8;--ct-different:#b42318;--ct-unrelated:#6b7280;--ct-origin:#1f7a4d;--ct-warn:#b42318;--ct-mark:#2563eb24}.dark .ct{--ct-panel:#111114;--ct-card:#16161a;--ct-line:#27272a;--ct-line-soft:#1f1f24;--ct-track:#24242a;--ct-ink:#f4f4f5;--ct-ink-2:#b4b4bc;--ct-ink-3:#8b8b95;--ct-accent:#60a5fa;--ct-accent-ink:#93c5fd;--ct-accent-soft:#60a5fa21;--ct-tree:#34343b;--ct-same:#4ade80;--ct-partial:#facc15;--ct-stronger:#fb923c;--ct-weaker:#60a5fa;--ct-different:#f87171;--ct-unrelated:#9ca3af;--ct-origin:#4ade80;--ct-warn:#f87171;--ct-mark:#60a5fa33}.ct .ct-mono{font-family:var(--font-geist-mono),ui-monospace,"SF Mono",Menlo,monospace;font-variant-numeric:tabular-nums}.ct .ct-eyebrow{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-accent-ink);font-size:12px}.ct .ct-card{background:var(--ct-card);border:1px solid var(--ct-line);border-radius:16px}.ct .ct-panel{background:var(--ct-panel)}.ct .ct-muted{color:var(--ct-ink-3)}.ct .ct-soft{color:var(--ct-ink-2)}.ct .ct-link{color:var(--ct-accent-ink);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--ct-accent)40%,transparent);text-decoration-color:color-mix(in srgb,var(--ct-accent)40%,transparent)}.ct .ct-chip{border:1px solid var(--ct-line);background:var(--ct-card);color:var(--ct-ink-2);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.ct .ct-chip:hover{border-color:var(--ct-ink-3)}.ct .ct-chip[aria-pressed=true]{background:var(--ct-ink);color:var(--ct-card);border-color:var(--ct-ink)}.ct .ct-chip:disabled{opacity:.5}.ct .ct-input{background:var(--ct-card);border:1px solid var(--ct-line);width:100%;color:var(--ct-ink);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s}.ct .ct-input:focus{border-color:var(--ct-accent);box-shadow:0 0 0 3px var(--ct-accent-soft)}.ct .ct-seg{border:1px solid var(--ct-line);background:var(--ct-card);border-radius:10px;display:inline-flex;overflow:hidden}.ct .ct-seg button{color:var(--ct-ink-2);padding:7px 14px;font-size:13px}.ct .ct-seg button+button{border-left:1px solid var(--ct-line)}.ct .ct-seg button[aria-pressed=true]{background:var(--ct-ink);color:var(--ct-card)}.ct .ct-btn{border:1px solid var(--ct-line);background:var(--ct-card);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.ct .ct-btn:hover{border-color:var(--ct-ink-3)}.ct .ct-btn:disabled{opacity:.5}.ct .ct-progress{background:var(--ct-track);border-radius:2px;height:2px;overflow:hidden}.ct .ct-progress>b{background:var(--ct-accent);width:30%;height:100%;animation:1.2s ease-in-out infinite ct-slide;display:block}.ct .ct-pill{white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c)12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c)28%,transparent);border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:12px;font-weight:600;line-height:18px;display:inline-flex}.ct .ct-pill>i{background:var(--c);border-radius:50%;flex:none;width:7px;height:7px}.ct .ct-status{color:var(--c);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.ct .ct-tree{border-left:2px solid var(--ct-tree);margin:0 0 0 15px;padding:0 0 0 22px;list-style:none}.ct .ct-tree>li{padding-top:14px;position:relative}.ct .ct-tree>li:before{content:"";background:var(--ct-tree);width:18px;height:2px;position:absolute;top:30px;left:-22px}.ct .ct-tree>li:last-child:after{content:"";background:var(--ct-card);width:2px;position:absolute;top:31px;bottom:0;left:-24px}.ct .ct-edge{min-height:30px;color:var(--ct-ink-3);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:6px;font-size:12px;display:flex}.ct .ct-node{text-align:left;border:1px solid var(--ct-line);background:var(--ct-card);border-radius:12px;gap:4px;width:100%;padding:11px 13px;transition:border-color .15s,box-shadow .15s;display:grid}.ct .ct-node:hover{border-color:var(--ct-ink-3)}.ct .ct-node[aria-current=true]{border-color:var(--ct-accent);box-shadow:0 0 0 3px var(--ct-accent-soft)}.ct .ct-node.enter{animation:.45s cubic-bezier(.2,.7,.2,1) ct-in}.ct .ct-node.pending{border-style:dashed}.ct .ct-clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ct .ct-clamp3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ct .ct-shimmer{background:linear-gradient(90deg,var(--ct-track)25%,var(--ct-line-soft)50%,var(--ct-track)75%);background-size:200% 100%;border-radius:5px;height:10px;animation:1.2s linear infinite ct-shimmer}.ct .ct-root{background:var(--ct-panel);border:1px solid var(--ct-line);border-radius:14px;padding:13px 15px}.ct .ct-quote{border-left:3px solid var(--ct-line);padding:2px 0 2px 12px}.ct .ct-passage mark{background:var(--ct-mark);color:inherit;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--ct-accent)55%,transparent);border-radius:3px;padding:1px 2px}.ct .ct-cite{background:color-mix(in srgb,var(--ct-ink)8%,transparent);color:var(--ct-ink);border-radius:4px;padding:0 3px;font-weight:600}.ct .ct-bars{grid-template-columns:112px minmax(0,1fr) 38px;align-items:center;gap:6px 10px;font-size:12.5px;display:grid}.ct .ct-bars .bar{background:var(--ct-track);border-radius:6px;height:6px;overflow:hidden}.ct .ct-bars .bar>b{background:var(--c);border-radius:6px;height:100%;transition:width .4s cubic-bezier(.2,.7,.2,1);display:block}.ct .ct-sents{overscroll-behavior:contain;max-height:380px;overflow-y:auto}.ct .ct-sent{text-align:left;width:100%;color:var(--ct-ink-2);border-radius:8px;padding:7px 9px;font-size:13.5px;line-height:1.45;display:block}.ct .ct-sent:hover{background:var(--ct-panel);color:var(--ct-ink)}.ct .ct-sent[aria-pressed=true]{background:var(--ct-accent-soft);color:var(--ct-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-accent)45%,transparent)}@keyframes ct-in{0%{opacity:0;transform:translateY(6px)}}@keyframes ct-shimmer{to{background-position:-200% 0}}@keyframes ct-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.ct *,.ct :before,.ct :after{transition:none!important;animation:none!important}}
