*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f3f1fa;--bg-panel: #ffffff;--bg-card: #ffffff;--bg-hover: #ece8f6;--bg-input: #f9f7fd;--border: #e2ddf0;--border-3d: #d1cae5;--text: #2d2a3a;--text-secondary: #6b6580;--text-muted: #a39eb8;--primary: #0ea5e9;--primary-hover: #0284c7;--primary-soft: #38bdf8;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #f59e0b;--info: #3b82f6;--radius: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 8px 32px rgba(0,0,0,.1), 0 3px 6px rgba(0,0,0,.05);--shadow-glow: 0 4px 16px rgba(14,165,233,.18), 0 1px 4px rgba(14,165,233,.1);--bounce: cubic-bezier(.34, 1.56, .64, 1);--bg-dots: radial-gradient(circle, #d1cae5 1px, transparent 1px)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);background-image:var(--bg-dots);background-size:24px 24px;color:var(--text);min-height:100vh;line-height:1.6;-webkit-user-select:none;user-select:none}#root{min-height:100vh}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;outline:none}input,textarea,select{font-family:inherit;font-size:inherit;outline:none;border:2px solid var(--border);-webkit-user-select:text;user-select:text;background:var(--bg-input);color:var(--text);border-radius:var(--radius);padding:10px 14px;transition:all .2s var(--bounce);box-shadow:inset 0 1px 3px #0000000f}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:inset 0 1px 3px #0000000a,0 0 0 3px #0ea5e91f}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-color:var(--border) transparent}.conv-list-scroll::-webkit-scrollbar{height:4px}.conv-list-scroll::-webkit-scrollbar-thumb{border-radius:2px}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary);font-size:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;transition:all .15s var(--bounce);box-shadow:0 2px #0000001a}.btn:active{transform:translateY(2px);box-shadow:0 1px #00000014}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 3px #0000001a}.btn-primary:active{transform:translateY(2px);box-shadow:0 1px #00000014}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.btn-ghost:hover{background:var(--bg-hover);color:var(--text);box-shadow:none}.btn-ghost:active{transform:none;box-shadow:none}.btn-sm{padding:6px 12px;font-size:13px;box-shadow:0 2px #0000001a}.btn-xs{padding:3px 8px;font-size:12px;box-shadow:0 1px #0000001a}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.modal-content{background:var(--bg-panel);border:2px solid var(--border-3d);border-radius:var(--radius-xl);padding:24px;min-width:400px;max-width:560px;box-shadow:var(--shadow-lg)}.modal-content h3{margin-bottom:16px;font-size:18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius);font-size:14px;animation:slideIn .2s ease;box-shadow:var(--shadow)}.toast-success{background:#065f46;color:#d1fae5}.toast-error{background:#7f1d1d;color:#fecaca}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounceDot{0%{transform:translateY(0);opacity:.4}to{transform:translateY(-6px);opacity:1}}.priority-high{border-left:3px solid var(--danger)}.priority-medium{border-left:3px solid var(--warning)}.priority-low{border-left:3px solid var(--info)}.priority-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.priority-dot-high{background:var(--danger)}.priority-dot-medium{background:var(--warning)}.priority-dot-low{background:var(--info)}.status-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:600;box-shadow:0 1px #00000014}.status-未开始{background:#f1f5f9;color:#64748b}.status-进行中{background:#eff6ff;color:#3b82f6}.status-已完成{background:#f0fdf4;color:#16a34a}.status-已删除{background:#fef2f2;color:#ef4444;text-decoration:line-through}.card-3d{transition:transform .2s var(--bounce),box-shadow .2s var(--bounce);box-shadow:var(--shadow-sm)}.card-3d:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.markdown-body p{margin-bottom:6px}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{font-weight:700;color:var(--text)}.markdown-body em{font-style:italic}.markdown-body code{background:#0ea5e926;color:var(--primary);padding:1px 6px;border-radius:4px;font-size:13px}.markdown-body pre{background:var(--bg);padding:10px 14px;border-radius:var(--radius);overflow-x:auto;margin:6px 0}.markdown-body pre code{background:none;padding:0;color:var(--text)}.markdown-body ul,.markdown-body ol{padding-left:20px;margin:4px 0}.markdown-body li{margin-bottom:2px}.markdown-body a{color:var(--primary);text-decoration:underline}.markdown-body table{width:100%;table-layout:fixed;border-collapse:collapse;margin:8px 0;font-size:13px;border-radius:var(--radius);overflow:hidden}.markdown-body th{background:var(--bg);color:var(--text);font-weight:600;padding:10px 12px;text-align:left;border-bottom:2px solid var(--border)}.markdown-body td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.markdown-body tr:last-child td{border-bottom:none}.markdown-body tr:nth-child(2n) td{background:#00000005}.markdown-body tr:hover td{background:#0ea5e90f}
