:root{--bg: #f5f6f7;--surface: #ffffff;--border: #e3e5e8;--text: #1f2328;--muted: #6b7280;--accent: #2f6bff;--accent-text: #ffffff;--danger-bg: #fff2f0;--danger-border: #ffccc7;--danger-text: #a8071a;--radius: 10px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h2{font-size:17px;margin:0 0 8px}.centered{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.page{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-actions{display:flex;gap:8px;align-items:center}.content{width:100%;max-width:1000px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.brand{font-weight:600;font-size:16px;letter-spacing:.2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card.narrow{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.small{font-size:13px}.hint{color:var(--muted);font-size:13px;margin:0}.alert{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:8px;padding:10px 12px;font-size:14px}.button{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px;font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.button:hover:not(:disabled){background:#f0f2f5;text-decoration:none}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button.primary:hover:not(:disabled){background:#245ce0}.button.ghost{background:transparent}.button.block{width:100%;padding:10px 14px}.button.small{padding:4px 10px;font-size:13px}.identity{display:flex;align-items:center;gap:14px}.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#e5e7eb}.avatar.small{width:24px;height:24px}.avatar.placeholder{background:#e5e7eb}.name{font-size:17px;font-weight:600}.table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{color:var(--muted);font-weight:500;font-size:13px;white-space:nowrap}.table td{white-space:nowrap}.table-scroll{overflow-x:auto;margin-top:12px}.table-scroll .table{margin-top:0}.cell-name{display:flex;align-items:center;gap:8px}.tag{font-size:12px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 8px}select{font-family:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}select:disabled{opacity:.6}@media (max-width: 640px){.content{padding:16px}.table th:nth-child(2),.table td:nth-child(2){display:none}}.input{font-family:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);min-width:120px}.input.narrow-input{min-width:72px;width:72px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.row-actions{display:flex;gap:6px}.add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px dashed var(--border)}.source-cell{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.link-button{border:none;background:none;padding:0;font-family:inherit;font-size:12px;color:var(--accent);cursor:pointer}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{opacity:.5;cursor:not-allowed}
