@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #0a0c10;--surface: #111318;--surface2: #181c23;--surface3: #1e232d;--border: #2a2f3d;--border2: #343b4d;--text: #e2e8f0;--text-2: #94a3b8;--text-3: #4b5563;--accent: #6366f1;--accent-dim: rgba(99,102,241,.15);--accent-glow: rgba(99,102,241,.08);--add-bg: rgba(34,197,94,.08);--add-bg2: rgba(34,197,94,.18);--add-text: #4ade80;--add-num: rgba(34,197,94,.6);--rm-bg: rgba(239,68,68,.08);--rm-bg2: rgba(239,68,68,.18);--rm-text: #f87171;--rm-num: rgba(239,68,68,.6);--mono: "JetBrains Mono", "Fira Code", monospace;--sans: "Inter", -apple-system, sans-serif;--ease: cubic-bezier(.4,0,.2,1);--r: 10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#4b5563}.wrap{max-width:1440px;margin:0 auto;padding:0 1.5rem}.header{position:sticky;top:0;z-index:100;height:58px;background:#0a0c10e0;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1.5rem;gap:1rem}.header-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;text-decoration:none}.brand-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #6366f166;flex-shrink:0}.brand-name{font-size:1rem;font-weight:800;background:linear-gradient(135deg,#c7d2fe,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.header-center{flex:1}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}button{cursor:pointer;font-family:var(--sans)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:7px;font-size:.8125rem;font-weight:500;border:1px solid var(--border);background:var(--surface2);color:var(--text-2);transition:all .15s var(--ease);white-space:nowrap}.btn:hover{border-color:var(--border2);color:var(--text);background:var(--surface3)}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#6366f1,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 0 #6366f14d}.btn-primary:hover{filter:brightness(1.1);background:linear-gradient(135deg,#6366f1,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 16px #6366f14d}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface2);border-color:var(--border);color:var(--text)}.btn-danger{color:#f87171}.btn-danger:hover{background:#ef444414;border-color:#ef444440;color:#f87171}.btn-sm{padding:3px 9px;font-size:.75rem;gap:4px;border-radius:6px}.btn-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text-2);transition:all .15s var(--ease)}.btn-icon:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}.seg{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px}.seg .btn{border:none;background:transparent;color:var(--text-3);font-size:.8rem;padding:4px 12px;border-radius:6px}.seg .btn:hover{background:var(--surface3);color:var(--text-2)}.seg .btn.active{background:var(--surface3);color:var(--text);box-shadow:0 1px 4px #0006}.main{padding:1.5rem 0 4rem}.input-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}@media(max-width:768px){.input-section{grid-template-columns:1fr}}.input-panel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:border-color .15s var(--ease)}.input-panel:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-panel.drag-over{border-color:var(--accent);background:var(--accent-dim)}.input-panel-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface2);gap:8px}.input-panel-label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.label-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.label-dot.rm{background:#f87171;box-shadow:0 0 6px #f8717180}.label-dot.add{background:#4ade80;box-shadow:0 0 6px #4ade8080}.input-file{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:var(--mono);font-size:.75rem;color:var(--text-2);padding:0}.input-file::placeholder{color:var(--text-3)}.input-actions{display:flex;gap:4px;flex-shrink:0}.input-panel textarea{flex:1;min-height:240px;background:transparent;border:none;outline:none;resize:none;padding:12px 14px;font-family:var(--mono);font-size:.8125rem;line-height:1.7;color:var(--text);tab-size:2}.input-panel textarea::placeholder{color:var(--text-3)}.input-footer{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;border-top:1px solid var(--border);background:var(--surface2)}.input-meta{font-size:.7rem;color:var(--text-3);font-family:var(--mono)}.drag-hint{pointer-events:none;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#6366f112;opacity:0;transition:opacity .15s;border-radius:var(--r);z-index:5;font-size:.875rem;color:var(--accent)}.input-panel.drag-over .drag-hint{opacity:1}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1rem;flex-wrap:wrap}.stats-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stat-chip{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;font-family:var(--mono);padding:3px 10px;border-radius:99px;border:1px solid}.stat-chip.add{color:var(--add-text);background:var(--add-bg);border-color:#4ade8033}.stat-chip.rm{color:var(--rm-text);background:var(--rm-bg);border-color:#f8717133}.stat-chip.info{color:var(--text-2);background:var(--surface2);border-color:var(--border)}.diff-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:0 8px 32px #0006}.diff-card-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface2);border-bottom:1px solid var(--border)}.diff-card-title{font-size:.8rem;font-weight:600;color:var(--text-2);display:flex;align-items:center;gap:10px}.change-bar{display:flex;height:4px;border-radius:99px;overflow:hidden;width:80px;background:var(--surface3)}.change-bar-add{background:#4ade80;transition:width .3s var(--ease)}.change-bar-rm{background:#f87171;transition:width .3s var(--ease)}.diff-wrap{overflow-x:auto}.diff-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.8rem;line-height:1.6;table-layout:fixed}.diff-row{border:none}.diff-row:hover>*{background:#ffffff04!important}.diff-num{width:48px;padding:1px 10px 1px 0;text-align:right;color:var(--text-3);-webkit-user-select:none;user-select:none;font-size:.72rem;border-right:1px solid var(--border);vertical-align:top}.diff-content{padding:1px 14px;white-space:pre-wrap;word-break:break-all;vertical-align:top}.line-prefix{display:inline-block;width:18px;-webkit-user-select:none;user-select:none;opacity:.45}.du-added{background:var(--add-bg)}.du-added .diff-num{color:var(--add-num);background:#22c55e0f}.du-removed{background:var(--rm-bg)}.du-removed .diff-num{color:var(--rm-num);background:#ef44440f}td.ds-added{background:var(--add-bg)}td.ds-added .diff-num{color:var(--add-num);background:#22c55e0f}td.ds-removed{background:var(--rm-bg)}td.ds-removed .diff-num{color:var(--rm-num);background:#ef44440f}td.ds-empty{background:#00000026}td.ds-divider{width:1px;padding:0;background:var(--border)}.hl-add{background:var(--add-bg2);border-radius:2px}.hl-rm{background:var(--rm-bg2);border-radius:2px}.diff-skip-row td{text-align:center;padding:5px;color:var(--text-3);font-size:.72rem;background:var(--surface2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.diff-skip-row td:hover{background:var(--surface3);color:var(--text-2)}.empty-diff{padding:4rem 2rem;text-align:center;color:var(--text-3)}.empty-diff svg{margin-bottom:12px;opacity:.3}.empty-diff p{font-size:.875rem}.shared-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;background:var(--accent-dim);border:1px solid rgba(99,102,241,.3);font-size:.72rem;font-weight:600;color:#a5b4fc;font-family:var(--mono)}.api-docs{border-top:1px solid var(--border);padding:2.5rem 0}.api-docs-title{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:6px}.api-docs-desc{font-size:.825rem;color:var(--text-2);margin-bottom:1.5rem}.api-doc-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:1rem}.api-doc-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.api-doc-method{font-family:var(--mono);font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:5px;letter-spacing:.04em}.api-doc-method.post{color:var(--add-text);background:var(--add-bg);border:1px solid rgba(74,222,128,.25)}.api-doc-method.get{color:#93c5fd;background:#3b82f61a;border:1px solid rgba(59,130,246,.25)}.api-doc-path{font-family:var(--mono);font-size:.85rem;color:var(--text)}.api-doc-text{font-size:.8rem;color:var(--text-2);margin-bottom:10px}.api-doc-code{font-family:var(--mono);font-size:.75rem;line-height:1.7;color:var(--text-2);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:12px 14px;overflow-x:auto;white-space:pre}.api-doc-note{font-size:.75rem;color:var(--text-3)}.footer{text-align:center;padding:3rem 0;color:var(--text-3);font-size:.8rem;border-top:1px solid var(--border)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.fade-in{animation:fade-in .2s var(--ease)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
