.search-input-wrap[data-v-4bbb1408]{position:relative;width:100%}.search-input-row[data-v-4bbb1408]{position:relative;display:flex;align-items:center}.search-input-row input[data-v-4bbb1408]{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);padding:var(--sp-sm) 32px var(--sp-sm) 12px;font-size:13px;font-family:inherit;transition:border-color var(--dur-micro) ease-out}.variant-hero .search-input-row[data-v-4bbb1408]{position:relative}.variant-hero .search-input-row input[data-v-4bbb1408]{padding:16px 44px 16px 52px;font-size:20px;font-weight:500;letter-spacing:-.01em;border-radius:9999px;border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,#ffffff1f,#fff0 45%),#ffffff8c;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:0 1px #ffffffb3 inset,0 0 0 .5px #0000000a,0 8px 28px #0000001f,0 2px 6px #0000000f;color:var(--text);transition:box-shadow .2s ease,border-color .2s ease}.variant-hero .search-input-row input[data-v-4bbb1408]::placeholder{color:#3c3c438c;font-weight:500}.variant-hero .search-input-row input[data-v-4bbb1408]:focus{border-color:#ffffff8c;box-shadow:0 1px #fffc inset,0 0 0 .5px #0000000a,0 10px 36px #00000029,0 2px 8px #00000014}.search-input-leading-icon[data-v-4bbb1408]{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#3c3c438c;pointer-events:none;z-index:1}[data-theme=dark] .variant-hero .search-input-row input[data-v-4bbb1408]{border-color:#ffffff1a;background:linear-gradient(180deg,#ffffff0f,#fff0 45%),#1e1e1ea6;box-shadow:0 1px #ffffff14 inset,0 0 0 .5px #ffffff0a,0 8px 28px #00000080,0 2px 6px #0000004d}[data-theme=dark] .variant-hero .search-input-row input[data-v-4bbb1408]::placeholder{color:#ebebf566}[data-theme=dark] .search-input-leading-icon[data-v-4bbb1408]{color:#ebebf580}.variant-compact .search-input-row input[data-v-4bbb1408]{padding:6px 28px 6px 10px;font-size:12px}.search-input-row input[data-v-4bbb1408]::placeholder{color:var(--text-muted)}.search-input-row input[data-v-4bbb1408]:focus{outline:none;border-color:var(--accent)}.search-input-spinner[data-v-4bbb1408]{position:absolute;right:32px;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:search-spin-4bbb1408 .7s linear infinite;pointer-events:none}@keyframes search-spin-4bbb1408{to{transform:rotate(360deg)}}.search-input-clear[data-v-4bbb1408]{position:absolute;right:8px;background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;border-radius:var(--radius-sm)}.search-input-clear[data-v-4bbb1408]:hover{color:var(--text);background:var(--surface-3, var(--surface-2))}.search-dropdown-section-label[data-v-4bbb1408]{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:var(--sp-sm) 12px 4px}.search-dropdown-hint[data-v-4bbb1408]{padding:var(--sp-sm) 12px;font-size:12px;color:var(--text-muted);text-align:center}.search-result.active[data-v-4bbb1408]{background:var(--surface-2)}[data-v-4bbb1408] .search-result mark{background:transparent;color:inherit;font-weight:600;padding:0}@media(max-width:768px){.search-input-row input[data-v-4bbb1408]{font-size:16px;padding:12px 40px 12px 14px}}.spotlight-backdrop[data-v-3210bc4f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000002e;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);z-index:9999;display:flex;justify-content:center;align-items:flex-start;padding-top:15vh}.spotlight-panel[data-v-3210bc4f]{width:min(640px,90vw);background:transparent;border:none;box-shadow:none;padding:0}.spotlight-panel[data-v-3210bc4f] .search-dropdown{margin-top:12px;border-radius:14px;border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,#ffffff1a,#fff0 30%),#ffffffb8;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:0 1px #ffffffb3 inset,0 0 0 .5px #0000000a,0 16px 40px #0000002e;position:static;left:auto;right:auto;top:auto;overflow:hidden}[data-theme=dark] .spotlight-backdrop[data-v-3210bc4f]{background:#00000059}[data-theme=dark] .spotlight-panel[data-v-3210bc4f] .search-dropdown{border-color:#ffffff1a;background:linear-gradient(180deg,#ffffff0d,#fff0 30%),#1e1e1eb8;box-shadow:0 1px #ffffff14 inset,0 0 0 .5px #ffffff0a,0 16px 40px #0009}.spotlight-hint[data-v-3210bc4f]{display:flex;justify-content:center;gap:20px;padding:12px 0 4px;font-size:11px;color:#ffffffbf;font-family:var(--font-mono, monospace);text-shadow:0 1px 2px rgba(0,0,0,.3)}.spotlight-fade-enter-active[data-v-3210bc4f],.spotlight-fade-leave-active[data-v-3210bc4f]{transition:opacity .12s ease-out}.spotlight-fade-enter-active .spotlight-panel[data-v-3210bc4f],.spotlight-fade-leave-active .spotlight-panel[data-v-3210bc4f]{transition:transform .16s cubic-bezier(.22,1,.36,1),opacity .12s ease-out}.spotlight-fade-enter-from[data-v-3210bc4f],.spotlight-fade-leave-to[data-v-3210bc4f]{opacity:0}.spotlight-fade-enter-from .spotlight-panel[data-v-3210bc4f],.spotlight-fade-leave-to .spotlight-panel[data-v-3210bc4f]{transform:translateY(-8px) scale(.98);opacity:0}@media(max-width:640px){.spotlight-backdrop[data-v-3210bc4f]{padding-top:8vh}.spotlight-panel[data-v-3210bc4f]{width:94vw}}.chat-surface-swap-enter-active{transition:opacity .22s ease-out,transform .26s cubic-bezier(.22,1,.36,1)}.chat-surface-swap-leave-active{transition:opacity .14s ease-in,transform .14s ease-in}.chat-surface-swap-enter-from{opacity:0;transform:translateY(12px) scale(.98)}.chat-surface-swap-leave-to{opacity:0;transform:translateY(4px) scale(.98)}@keyframes chat-shimmer-once{0%{opacity:0;transform:translateY(4px);box-shadow:0 0 #6366f166}50%{box-shadow:0 0 0 8px #6366f10d}to{opacity:1;transform:translateY(0);box-shadow:0 0 0 0 transparent}}.chat-overlay{position:fixed;left:50%;bottom:24px;width:540px;max-width:calc(100vw - 32px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:9000;pointer-events:none;transition:transform .34s cubic-bezier(.34,1.2,.4,1),gap .26s cubic-bezier(.22,1,.36,1)}.chat-overlay.is-active{transform:translate(-50%,-72px)}.chat-overlay.has-conversation{gap:0}.chat-overlay>*{pointer-events:auto}.conv-card{width:540px;max-width:calc(100vw - 32px);min-height:220px;max-height:min(460px,55vh);background:#ffffff73;backdrop-filter:blur(44px) saturate(210%);-webkit-backdrop-filter:blur(44px) saturate(210%);border:1px solid rgba(17,24,39,.1);border-radius:var(--glass-radius);box-shadow:0 1px #ffffffb3 inset,0 0 0 .5px #1118270a,0 6px 14px #11182712,0 32px 64px -16px #11182742;padding:0;display:flex;flex-direction:column;overflow:hidden;transition:max-height .24s cubic-bezier(.22,1,.36,1),min-height .24s cubic-bezier(.22,1,.36,1)}[data-theme=dark] .conv-card{background:#181b226b;border-color:#ffffff24;box-shadow:0 1px #ffffff0f inset,0 0 0 .5px #ffffff0f,0 6px 14px #00000073,0 32px 64px -16px #000c}.conv-card.size-small{max-height:320px}.conv-card.size-medium{max-height:460px}.conv-card.size-large{max-height:min(640px,75vh)}.conv-card.is-combined{min-height:260px}.conv-card.is-combined.size-small{max-height:280px}.conv-card.is-combined.size-medium{max-height:380px}.conv-card.is-combined.size-large{max-height:min(500px,60vh)}.conv-input{flex-shrink:0;display:flex;align-items:flex-start;gap:8px;padding:10px 12px 12px 14px;border-top:1px solid rgba(17,24,39,.08)}[data-theme=dark] .conv-input{border-top-color:#ffffff0f}.conv-header{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.04);gap:12px}[data-theme=dark] .conv-header{border-bottom-color:#ffffff0f}.conv-brand{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-faint);display:flex;align-items:center;gap:6px;flex-shrink:0}.conv-brand .spark{color:var(--accent);font-size:13px;line-height:1}.conv-meta{font-size:11px;color:var(--text-faint);flex:1}.conv-actions{display:flex;gap:4px}.conv-icon-btn{width:24px;height:24px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;border-radius:4px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.conv-icon-btn:hover{background:#0000000a;color:var(--text-muted)}[data-theme=dark] .conv-icon-btn:hover{background:#ffffff0f}.conv-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.conv-scroll{flex:1;overflow-y:auto;padding:14px 18px 12px;min-height:0;scroll-behavior:smooth}.msg-row{margin:8px 0}.msg-user{display:flex;justify-content:flex-end}.msg-user .bubble{background:var(--accent-soft);color:var(--text);font-size:14px;padding:8px 12px;border-radius:12px 12px 4px;max-width:80%;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.msg-status{font-size:12px;color:var(--text-muted);font-style:italic;padding:4px 0 4px 4px;display:flex;align-items:center;gap:6px}.msg-status .pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:chat-pulse 1.2s ease-in-out infinite;flex-shrink:0}.msg-status.is-done .pulse{background:var(--success);animation:none}.msg-status.is-done{color:var(--success);font-style:normal}@keyframes chat-pulse{0%,to{opacity:.4}50%{opacity:1}}.msg-nikos{font-size:14px;color:var(--text);padding:4px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.msg-nikos .cite{color:var(--link);font-size:12px;margin-left:4px;text-decoration:none}.msg-nikos .cite:hover{text-decoration:underline}.entity-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 8px 1px 3px;margin:0 1px;border:1px solid var(--border);border-radius:9999px;background:#ffffffa6;color:var(--text);font-size:13px;line-height:1.3;text-decoration:none;cursor:pointer;transition:background 80ms ease-out,border-color 80ms ease-out;vertical-align:baseline;white-space:nowrap}[data-theme=dark] .entity-chip{background:#ffffff0d}.entity-chip:hover{border-color:var(--accent);background:#6366f10f;color:var(--accent-hover)}[data-theme=dark] .entity-chip:hover{background:#818cf81a}.entity-chip-avatar{width:16px;height:16px;border-radius:50%;background:#3b82f6;color:#fff;font-size:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.entity-chip-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.entity-chip-name{font-weight:500}.disambig{margin:8px 0;padding:10px;background:#6366f10a;border:1px solid rgba(99,102,241,.12);border-radius:8px}[data-theme=dark] .disambig{background:#818cf80f;border-color:#818cf82e}.disambig-label{font-size:12px;color:var(--text-muted);margin-bottom:6px}.disambig-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:1px solid var(--border);border-radius:9999px;font-size:12px;background:#fff9;color:var(--text);cursor:pointer;transition:all 80ms ease-out;font-family:inherit}[data-theme=dark] .chip{background:#ffffff0a}.chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.is-resolved{border-color:var(--success);color:var(--success);background:#10b98114;cursor:default}.chip-avatar{width:16px;height:16px;border-radius:50%;background:#3b82f6;color:#fff;font-size:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.chip-meta{color:var(--text-faint);font-size:11px;margin-left:4px}.chip-key{color:var(--text-faint);font-size:10px;margin-left:4px;font-family:ui-monospace,SF Mono,monospace}.chip-new{padding:4px 10px;border-style:dashed;color:var(--accent-hover)}.followup{margin:10px 0 4px;padding:10px 12px;background:linear-gradient(135deg,#6366f10f,#6366f105);border:1px solid rgba(99,102,241,.16);border-left:3px solid var(--accent);border-radius:8px;font-size:14px;color:var(--text);font-style:italic;display:flex;align-items:center;gap:8px}[data-theme=dark] .followup{background:linear-gradient(135deg,#818cf814,#818cf805);border-color:#818cf838;border-left-color:var(--accent)}.followup .spark{color:var(--accent);font-style:normal;font-size:13px}.followup{animation:chat-shimmer-once .6s ease-out}@media(prefers-reduced-motion:reduce){.msg-status .pulse{display:none}.msg-status:not(.is-done):before{content:"…";color:var(--text-muted);margin-right:6px;font-style:normal}.followup{animation:none}.chat-card-enter-active,.chat-card-leave-active{transition:opacity .12s linear}.chat-card-enter-from,.chat-card-leave-to{transform:none}.conv-card{transition:none}}.msg-error{margin:8px 0;padding:8px 12px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.msg-error .msg-error-actions{display:inline-flex;gap:6px;margin-left:auto}.msg-error-btn{padding:4px 10px;border-radius:6px;border:1px solid currentColor;background:transparent;color:inherit;font-size:12px;font-family:inherit;cursor:pointer}.msg-error-btn:hover{background:#0000000a}[data-theme=dark] .msg-error-btn:hover{background:#ffffff0f}.msg-error.variant-timeout{background:#f59e0b0f;border-left:3px solid var(--warning);color:var(--warning)}.msg-error.variant-network{background:#ef44440f;border-left:3px solid var(--error);color:var(--error)}.msg-error.variant-agent{background:var(--surface-3);border-left:3px solid var(--text-muted);color:var(--text-muted)}.pill{max-width:calc(100vw - 32px);background:#ffffff73;backdrop-filter:blur(44px) saturate(210%);-webkit-backdrop-filter:blur(44px) saturate(210%);border:1px solid rgba(17,24,39,.1);box-shadow:0 1px #ffffffb3 inset,0 0 0 .5px #1118270a,0 4px 10px #1118270f,0 24px 48px -12px #11182738;position:relative;transition:width .32s cubic-bezier(.34,1.2,.4,1),min-height .26s cubic-bezier(.34,1.1,.5,1),border-radius .22s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.34,1.2,.4,1),box-shadow .26s ease-out}[data-theme=dark] .pill{background:#181b226b;border-color:#ffffff24;box-shadow:0 1px #ffffff0f inset,0 0 0 .5px #ffffff0a,0 4px 10px #00000059,0 24px 48px -12px #000000b3}.pill.is-disabled{opacity:.85}.pill.is-capsule{width:180px;min-height:36px;border-radius:9999px;padding:0;cursor:pointer;transform:translateY(0)}.pill.is-capsule:hover{transform:translateY(-2px);border-color:#6366f159;box-shadow:0 1px #ffffffe6 inset,0 0 0 .5px #6366f124,0 6px 14px #6366f126,0 26px 52px -12px #11182747}[data-theme=dark] .pill.is-capsule:hover{border-color:#818cf859;box-shadow:0 1px #ffffff14 inset,0 0 0 .5px #818cf838,0 6px 14px #818cf82e,0 26px 52px -12px #000000b3}.pill-capsule{all:unset;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:36px;padding:0 14px;font-size:13px;color:var(--text-muted);cursor:pointer;border-radius:9999px;transition:opacity .18s ease-out}.pill.is-expanded .pill-capsule{opacity:0;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden}.pill.is-capsule .pill-form{opacity:0;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.pill-form{display:flex;align-items:flex-start;width:100%;gap:8px;transition:opacity .18s ease-out}.pill-capsule:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pill-capsule-spark{color:var(--accent);font-size:13px;line-height:1}.pill-capsule-label{color:var(--text);font-weight:500}.pill-capsule-kbd{font-family:ui-monospace,SF Mono,monospace;font-size:10px;color:var(--text-muted);background:#0000000a;border:1px solid rgba(0,0,0,.06);border-radius:4px;padding:1px 5px;line-height:1;letter-spacing:.02em}[data-theme=dark] .pill-capsule-kbd{background:#ffffff0f;border-color:#ffffff14}.pill.is-expanded{width:540px;min-height:48px;border-radius:var(--pill-radius);padding:8px 6px 8px 12px;box-shadow:0 1px #ffffffe6 inset,0 0 0 .5px #6366f11a,0 10px 22px #6366f114,0 38px 72px -16px #11182761;animation:pill-expand-pulse .42s cubic-bezier(.22,1,.36,1)}.pill.is-joined.is-expanded{border-top-left-radius:0;border-top-right-radius:0;border-top:none;box-shadow:0 10px 22px #6366f10f,0 38px 72px -16px #11182761}[data-theme=dark] .pill.is-joined.is-expanded{box-shadow:0 10px 22px #00000059,0 38px 72px -16px #000000b3}[data-theme=dark] .pill.is-expanded{box-shadow:0 1px #ffffff1a inset,0 0 0 .5px #818cf82e,0 6px 16px #818cf81f,0 30px 60px -16px #000000bf}@keyframes pill-expand-pulse{0%{box-shadow:0 1px #ffffffe6 inset,0 0 #6366f159,0 6px 16px #6366f114,0 30px 60px -16px #11182759}40%{box-shadow:0 1px #ffffffe6 inset,0 0 0 6px #6366f114,0 6px 16px #6366f124,0 30px 60px -16px #11182759}to{box-shadow:0 1px #ffffffe6 inset,0 0 #6366f100,0 6px 16px #6366f114,0 30px 60px -16px #11182759}}.ctx-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 4px;background:var(--accent-soft);color:var(--accent-hover);border-radius:9999px;font-size:12px;font-weight:500;flex-shrink:0;margin-top:4px}.ctx-chip .ctx-avatar{width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.ctx-chip .ctx-x{font-size:12px;opacity:.6;cursor:pointer;padding:0 4px;margin-left:2px;border:none;background:transparent;color:inherit;line-height:1}.ctx-chip .ctx-x:hover{opacity:1}.ctx-chip .ctx-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.pill-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:14px;color:var(--text);font-family:inherit;resize:none;field-sizing:content;min-height:22px;max-height:120px;padding:6px 0;line-height:1.4;overflow-y:auto}.pill-input::placeholder{color:var(--text-faint)}.pill-input:disabled{cursor:not-allowed}.pill-hint{font-size:11px;color:var(--text-faint);padding:8px 8px 0 0;align-self:flex-start;-webkit-user-select:none;user-select:none}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:10001;display:flex;align-items:center;justify-content:center}.chat-confirm-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;max-width:420px;width:90vw;box-shadow:var(--shadow-lg)}.chat-confirm-panel h3{margin:0 0 8px;font-size:16px;font-weight:600}.chat-confirm-panel p{margin:0 0 16px;font-size:13px;color:var(--text-muted)}.chat-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.chat-confirm-actions button{padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer}.chat-confirm-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}@media(max-width:640px){.chat-overlay{left:0;right:0;bottom:0;transform:none;padding:0;gap:0;align-items:stretch}.conv-card{width:100%;max-width:none;border-radius:16px 16px 0 0}.pill{width:100%;max-width:none;border-radius:0}@media(pointer:coarse){.chip{min-height:44px;padding:8px 12px}}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FFFFFF;--surface: #FFFFFF;--surface-2: #F9FAFB;--surface-3: #F3F4F6;--text: #111827;--text-muted: #6B7280;--text-faint: #9CA3AF;--accent: #6366F1;--accent-hover: #4F46E5;--accent-soft: #EEF2FF;--accent-softer: #F5F3FF;--link: #0EA5E9;--link-hover: #0284C7;--border: #E5E7EB;--border-light: #F3F4F6;--sidebar-bg: #15171A;--sidebar-text: #D1D5DB;--sidebar-muted: #9CA3AF;--sidebar-active: rgba(99, 102, 241, .08);--sidebar-hover: rgba(255, 255, 255, .04);--success: #10B981;--warning: #F59E0B;--error: #EF4444;--info: #3B82F6;--tag-bg: #F3F4F6;--tag-text: #374151;--tag-border: #E5E7EB;--row-hover: #F8FAFC;--row-alt: #FAFBFC;--badge-person-bg: #EEF2FF;--badge-person-text: #4338CA;--badge-topic-bg: #DBEAFE;--badge-topic-text: #1D4ED8;--badge-source-bg: #FEF3C7;--badge-source-text: #92400E;--sp-2xs: 2px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-2xl: 48px;--sp-3xl: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 9999px;--dur-micro: 80ms;--dur-short: .15s;--dur-medium: .25s;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 4px rgba(0, 0, 0, .03);--shadow-md: 0 2px 4px rgba(0, 0, 0, .05), 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .08);--shadow-sidebar: 1px 0 4px rgba(0, 0, 0, .1);--glass-bg: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, 0) 30%), rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .4);--glass-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 0 0 .5px rgba(0, 0, 0, .04), 0 16px 40px rgba(0, 0, 0, .18);--glass-blur: blur(30px) saturate(180%);--glass-radius: 14px;--pill-radius: 24px}[data-theme=dark]{--bg: #0F1115;--surface: #1A1C22;--surface-2: #16181D;--surface-3: #22252B;--text: #F0F0F5;--text-muted: #8B8D97;--text-faint: #5A5F66;--accent: #818CF8;--accent-hover: #6366F1;--accent-soft: #1E1B4B;--accent-softer: #1E1B4B;--link: #4AADA6;--link-hover: #5BBFB8;--border: #2A2D35;--border-light: #22252B;--sidebar-bg: #0C0E11;--sidebar-text: #D1D5DB;--sidebar-muted: #8B8D97;--sidebar-active: rgba(99, 102, 241, .12);--sidebar-hover: rgba(255, 255, 255, .04);--success: #34D399;--warning: #FBBF24;--error: #F87171;--info: #60A5FA;--tag-bg: #2A2D35;--tag-text: #D1D5DB;--tag-border: #374151;--row-hover: #22252B;--row-alt: #16181D;--badge-person-bg: #1E1B4B;--badge-person-text: #A5B4FC;--badge-topic-bg: #172554;--badge-topic-text: #93C5FD;--badge-source-bg: #451A03;--badge-source-text: #FCD34D;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 2px 6px rgba(0, 0, 0, .15);--shadow-md: 0 2px 4px rgba(0, 0, 0, .25), 0 4px 12px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);--shadow-sidebar: 1px 0 8px rgba(0, 0, 0, .4);--glass-bg: linear-gradient(180deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, 0) 30%), rgba(30, 30, 30, .72);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 0 0 .5px rgba(255, 255, 255, .04), 0 16px 40px rgba(0, 0, 0, .6)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mono{font-family:ui-monospace,SF Mono,monospace;font-variant-numeric:tabular-nums}.code{font-family:ui-monospace,SF Mono,monospace}.app-shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.app-shell>main{background:var(--bg)}.sidebar{width:220px;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;box-shadow:var(--shadow-sidebar)}.sidebar-header{padding:var(--sp-lg) var(--sp-md) var(--sp-md)}.sidebar-logo{font-size:17px;font-weight:700;color:#fff;letter-spacing:-.3px}.sidebar-search{padding:0 var(--sp-sm) var(--sp-sm)}.sidebar-search input{width:100%;background:var(--sidebar-hover);border:1px solid transparent;border-radius:var(--radius-md);padding:var(--sp-sm) var(--sp-sm);color:var(--sidebar-text);font-size:13px;outline:none;transition:border-color var(--dur-short) ease-out}.sidebar-search input::placeholder{color:var(--sidebar-muted)}.sidebar-search input:focus{border-color:var(--accent)}.sidebar-nav{list-style:none;padding:0 var(--sp-sm);flex:1;overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--sidebar-muted);padding:var(--sp-md) 12px var(--sp-xs);list-style:none}.sidebar-section-label:first-child{padding-top:var(--sp-sm)}.sidebar-nav li a{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) 12px;border-radius:var(--radius-md);color:var(--sidebar-muted);text-decoration:none;font-size:13px;font-weight:400;transition:background var(--dur-micro) ease-out,color var(--dur-micro) ease-out;border-left:3px solid transparent}.nav-icon{width:18px;text-align:center;font-size:14px;flex-shrink:0;opacity:.6}.sidebar-nav li a.active .nav-icon{opacity:1}.sidebar-nav li a:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.sidebar-nav li a.active{background:var(--sidebar-active);color:var(--sidebar-text);border-left-color:transparent;position:relative}.sidebar-footer{padding:var(--sp-sm);display:flex;align-items:center;gap:var(--sp-sm);border-top:1px solid var(--sidebar-hover)}.sidebar-logout{background:none;border:none;color:var(--sidebar-muted);font-size:12px;cursor:pointer;padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);transition:color var(--dur-micro) ease-out}.sidebar-logout:hover{color:var(--sidebar-text)}main{flex:1;min-height:100vh}main.has-sidebar{margin-left:220px}.page{padding:var(--sp-xl)}.page.page-narrow{max-width:1200px}.page-title{font-size:24px;font-weight:700;line-height:1.2;margin-bottom:var(--sp-lg)}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-faint);margin-bottom:var(--sp-sm);display:flex;align-items:center;gap:var(--sp-sm)}.section-label:after{content:"";flex:1;height:1px;background:var(--border-light)}.mono-data{font-size:12px;font-weight:400;color:var(--text-faint);font-variant-numeric:tabular-nums}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-md);margin-bottom:var(--sp-xl)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-md) var(--sp-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-short) ease-out,transform var(--dur-short) ease-out}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-faint);margin-bottom:var(--sp-xs)}.stat-value{font-size:28px;font-weight:700;line-height:1.2;color:var(--text)}.dashboard-sections{display:flex;flex-direction:column;gap:var(--sp-xl)}.dashboard-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-lg);box-shadow:var(--shadow-sm)}.dashboard-list{list-style:none}.dashboard-list li{display:flex;justify-content:space-between;align-items:baseline;padding:var(--sp-sm) var(--sp-sm);margin:0 calc(-1 * var(--sp-sm));border-bottom:1px solid var(--border-light);border-radius:var(--radius-sm);transition:background var(--dur-micro) ease-out}.dashboard-list li:hover{background:var(--surface-2)}.dashboard-list li:last-child{border-bottom:none}.nudge-widget-item{flex-direction:column;align-items:flex-start;gap:var(--sp-2xs)}.nudge-widget-row{display:flex;align-items:baseline;gap:var(--sp-sm)}.nudge-widget-kind{font-size:10px;font-weight:500;letter-spacing:1px;color:var(--accent)}.nudge-widget-why{font-size:12px;font-style:italic}.nudge-widget-desc{color:var(--text);text-decoration:none;transition:color var(--dur-micro) ease-out}.nudge-widget-desc:hover{color:var(--accent)}.nudge-widget-actions{display:flex;gap:var(--sp-xs);margin-top:var(--sp-2xs)}.nudge-widget-status{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.nudge-handled{opacity:.5}.dashboard-link{display:inline-block;margin-top:var(--sp-md);font-size:12px;font-weight:500;transition:color var(--dur-micro) ease-out}.dashboard-link:hover{color:var(--accent)!important}a,.entity-link{color:var(--link, var(--accent));text-decoration:none;transition:color var(--dur-micro) ease-out}a:hover,.entity-link:hover{color:var(--link-hover, var(--accent-hover))}.entry-link{color:var(--text);font-size:14px}.entry-link:hover{color:var(--accent)}.type-pills{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.type-pill{font-size:13px;padding:var(--sp-xs) 12px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent)}.type-pill strong{font-weight:600;margin-left:var(--sp-xs)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{text-align:center;width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-2xl) var(--sp-xl);box-shadow:var(--shadow-lg)}.login-title{font-size:32px;font-weight:700;line-height:1.1;margin-bottom:var(--sp-xs);color:var(--text)}.login-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:var(--sp-xl)}.login-form{display:flex;flex-direction:column;gap:12px}.login-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:14px;outline:none;transition:border-color var(--dur-short) ease-out}.login-input:focus{border-color:var(--accent)}.login-input::placeholder{color:var(--text-faint)}.login-button,.btn{padding:10px var(--sp-md);border:none;border-radius:var(--radius-md);background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--dur-short) ease-out}.login-button:hover,.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-sm)}.login-button:active,.btn:active{transform:translateY(1px);box-shadow:none}.login-button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--error);font-size:13px}.dark-mode-toggle{background:none;border:1px solid var(--sidebar-hover);color:var(--sidebar-muted);font-size:16px;line-height:1;padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-micro) ease-out,border-color var(--dur-micro) ease-out;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.dark-mode-toggle:hover{color:var(--sidebar-text);border-color:var(--sidebar-muted)}.theme-icon{display:inline-block}.alert{padding:12px var(--sp-md);border-radius:var(--radius-md);font-size:14px;border-left:3px solid}.alert-success{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}.alert-warning{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--surface))}.alert-error{border-color:var(--error);background:color-mix(in srgb,var(--error) 10%,var(--surface));color:var(--error)}.alert-info{border-color:var(--info);background:color-mix(in srgb,var(--info) 10%,var(--surface))}.datagrid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.datagrid-toolbar{padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border-light)}.datagrid-table{width:100%;border-collapse:collapse;table-layout:fixed}.datagrid-table th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);text-align:left;padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border);background:var(--surface-2);-webkit-user-select:none;user-select:none}.datagrid-table th.sortable{cursor:pointer}.datagrid-table th.sortable:hover{color:var(--text-muted)}.sort-arrow{margin-left:var(--sp-xs)}.datagrid-table td{padding:10px var(--sp-md);border-bottom:1px solid var(--border-light);font-size:14px;vertical-align:baseline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.datagrid-table tbody tr:last-child td{border-bottom:none}.datagrid-table tbody tr.clickable{cursor:pointer;transition:background var(--dur-micro) ease-out}.datagrid-table tbody tr.clickable:hover{background:var(--row-hover, var(--surface-2))}.datagrid-table tbody tr.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.datagrid-empty{text-align:center;color:var(--text-muted);padding:var(--sp-2xl) var(--sp-xl)!important;font-size:14px}.datagrid-pagination{display:flex;align-items:center;justify-content:center;gap:var(--sp-md);padding:12px;border-top:1px solid var(--border-light)}.datagrid-pagination button{background:none;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-xs) 12px;font-size:13px;color:var(--text);cursor:pointer;transition:background var(--dur-micro) ease-out}.datagrid-pagination button:hover:not(:disabled){background:var(--surface-2)}.datagrid-pagination button:disabled{opacity:.4;cursor:not-allowed}.filter-pills{display:flex;gap:var(--sp-sm)}.filter-pill{font-size:13px;font-weight:400;padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--dur-micro) ease-out}.filter-pill:hover{background:var(--surface-2);color:var(--text)}.filter-pill.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:500;box-shadow:var(--shadow-sm)}.tag-filter-select{font-size:13px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer}.bulk-action-bar{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--accent-softer);border:1px solid var(--accent-soft);border-radius:var(--radius-md);margin-top:var(--sp-sm)}.bulk-count{font-size:13px;font-weight:500;color:var(--accent)}.btn-sm{font-size:12px;padding:4px 10px}.entity-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-full);text-transform:capitalize;letter-spacing:.3px}.badge-person{background:var(--badge-person-bg);color:var(--badge-person-text)}.badge-topic{background:var(--badge-topic-bg);color:var(--badge-topic-text)}.badge-source{background:var(--badge-source-bg);color:var(--badge-source-text)}.badge-company,.badge-place,.badge-project,.badge-event{background:var(--accent-soft);color:var(--accent)}.entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-lg)}.back-link{font-size:13px;color:var(--text-muted)}.back-link:hover{color:var(--accent)}.entry-meta{display:flex;gap:var(--sp-md)}.entry-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-lg);margin-bottom:var(--sp-lg);font-size:15px;line-height:1.7;white-space:pre-wrap;box-shadow:var(--shadow-sm)}.entry-section{margin-bottom:var(--sp-lg)}.entity-pills{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.entity-pill-link{display:inline-flex;align-items:center;gap:var(--sp-xs);padding:var(--sp-xs) 10px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);text-decoration:none;transition:border-color var(--dur-micro) ease-out}.entity-pill-link:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px);transition:all var(--dur-short) ease-out}.entity-pill-name{font-size:13px;color:var(--text)}.follow-up-list{list-style:none}.follow-up-list li{display:flex;gap:var(--sp-md);align-items:baseline;padding:var(--sp-sm) 0;border-bottom:1px solid var(--border-light)}.follow-up-list li:last-child{border-bottom:none}.follow-up-list li.done{opacity:.5;text-decoration:line-through}.grid-entity-name{font-size:13px;font-weight:600;color:var(--text)}.caption{font-size:12px}.kit-cell{display:flex;align-items:center;gap:var(--sp-sm)}.kit-badge{font-size:12px;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.kit-badge.overdue{background:color-mix(in srgb,var(--error) 15%,var(--surface));color:var(--error)}.kit-overdue-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--error);margin-left:var(--sp-xs);vertical-align:middle}.kit-edit-btn{background:none;border:none;color:var(--text-faint);font-size:12px;cursor:pointer;padding:0}.kit-edit-btn:hover{color:var(--accent)}.kit-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);padding:var(--sp-lg);max-width:360px;width:100%;box-shadow:var(--shadow-lg)}.kit-dialog::backdrop{background:#00000080}.kit-dialog h3{font-size:20px;font-weight:600;margin-bottom:var(--sp-md)}.kit-dialog label{display:block;margin-bottom:var(--sp-md)}.kit-dialog input{margin-top:var(--sp-sm);width:100%}.kit-dialog-actions{display:flex;gap:var(--sp-sm);justify-content:flex-end}.btn-secondary{padding:8px var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--text);font-size:14px;cursor:pointer;transition:background var(--dur-micro) ease-out}.btn-secondary:hover{background:var(--surface-2)}.entity-detail-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--border);padding:var(--sp-md) var(--sp-xl) var(--sp-md);margin:calc(-1 * var(--sp-xl)) calc(-1 * var(--sp-xl)) 0}.header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-top:var(--sp-sm)}.header-left{display:flex;align-items:center;gap:var(--sp-md);flex:1;min-width:0}.header-avatar{flex-shrink:0;align-self:center}.header-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.title-row{display:flex;align-items:baseline;gap:var(--sp-md);flex-wrap:wrap}.title-row .entity-aliases-row{margin-top:0}.entity-avatar{width:52px;height:52px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0}.header-kit-badge{font-size:11px}.entity-detail-title{display:flex;align-items:center;gap:14px}.entity-name{font-size:24px;font-weight:700;line-height:1.2}.person-subtitle .role{font-weight:600;color:var(--text)}.person-subtitle .location{color:var(--text-muted)}.non-person-summary{margin-left:var(--sp-sm);color:var(--text-muted);font-style:italic}.entity-detail-body{display:flex;align-items:stretch;margin:0 calc(-1 * var(--sp-xl));overflow-x:hidden}.entity-wiki-column{flex:0 0 62%;padding:var(--sp-lg) var(--sp-xl);min-width:0}.entity-meta-sidebar{flex:0 0 38%;background:var(--surface-2);border-left:1px solid var(--border);padding:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-lg);overflow:hidden}.wiki-prose-container{padding-top:var(--sp-xs)}.wiki-stale-indicator{background:color-mix(in srgb,var(--warning) 10%,var(--surface));border:1px solid var(--warning);border-radius:var(--radius-sm);padding:var(--sp-xs) var(--sp-sm);margin-bottom:var(--sp-md);display:inline-block}.section-label-row{display:flex;align-items:center;gap:var(--sp-sm)}.regen-button{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color var(--dur-short) ease-out,border-color var(--dur-short) ease-out}.regen-button:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.regen-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.regen-button:disabled{cursor:wait;opacity:.5}.regen-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:regen-spin .8s linear infinite}@keyframes regen-spin{to{transform:rotate(360deg)}}.wiki-content{font-size:15px;font-weight:400;line-height:1.7;color:var(--text)}.wiki-content p{margin-bottom:var(--sp-md)}.wiki-content p:last-child{margin-bottom:0}.wiki-content ul,.wiki-content ol{padding-left:var(--sp-lg);margin-bottom:var(--sp-md)}.wiki-content li{margin-bottom:var(--sp-xs)}.citation-link{font-size:12px;font-variant-numeric:tabular-nums;color:var(--link, var(--accent));text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--dur-micro) ease-out}.citation-link:hover{border-bottom-color:var(--accent)}.wiki-generated-at{margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--border-light)}.wiki-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-xl)}.meta-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-md);box-shadow:var(--shadow-sm)}.alias-list{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.alias-tag{font-size:13px;padding:1px 8px;border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-muted)}.alias-tag-editable{cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:background var(--dur-micro) ease-out}.alias-tag-editable:hover{background:var(--surface-3)}.alias-delete-btn{background:none;border:none;color:var(--text-faint);font-size:14px;line-height:1;padding:0;cursor:pointer;opacity:0;transition:opacity var(--dur-micro) ease-out,color var(--dur-micro) ease-out}.alias-tag-editable:hover .alias-delete-btn{opacity:1}.alias-delete-btn:hover{color:var(--error)}.alias-edit-wrapper{display:inline-flex;align-items:center;gap:var(--sp-xs)}.entity-tags-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-xs);margin-top:4px}.tag-chip{font-size:12px;font-weight:500;padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-full);background:var(--tag-bg);color:var(--tag-text);border:1px solid var(--tag-border);display:inline-flex;align-items:center;gap:4px;transition:background var(--dur-micro) ease-out}.tag-chip:hover{background:var(--surface-2)}.tag-delete-btn{background:none;border:none;color:var(--accent);font-size:14px;line-height:1;padding:0;cursor:pointer;opacity:0;transition:opacity var(--dur-micro) ease-out,color var(--dur-micro) ease-out}.tag-chip:hover .tag-delete-btn{opacity:1}.tag-delete-btn:hover{color:var(--error)}.tag-add-btn{font-size:12px;font-weight:500;color:var(--text-faint);background:none;border:1px dashed var(--border);border-radius:var(--radius-full);padding:2px 10px;cursor:pointer;transition:color var(--dur-micro) ease-out,border-color var(--dur-micro) ease-out}.tag-add-btn:hover{color:var(--accent);border-color:var(--accent)}.tag-inline-input{font-size:12px;padding:2px 8px;border:1px solid var(--accent);border-radius:var(--radius-full);background:var(--surface);color:var(--text);outline:none;width:120px}.co-entity-list{list-style:none}.co-entity-list li{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) 0}.entity-section{padding:var(--sp-md) var(--sp-lg);margin-top:var(--sp-md)}.entity-section+.entity-section{border-top:1px solid var(--border-light);padding-top:var(--sp-lg)}.recent-entries-list{list-style:none}.recent-entry-item{border-bottom:1px solid var(--border-light)}.recent-entry-item:last-child{border-bottom:none}.recent-entry-link{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-md);padding:var(--sp-sm) 0;text-decoration:none;color:var(--text)}.recent-entry-link:hover{color:var(--accent)}.recent-entry-content{flex:1;font-size:14px;line-height:1.5}.recent-entry-meta{display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0}.entry-source-badge{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;padding:var(--sp-2xs) var(--sp-sm);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-faint)}.entry-ref-link{color:var(--text-faint);text-decoration:none}.entry-ref-link:hover{color:var(--accent)}.text-error{color:var(--error)}.text-accent{color:var(--accent)}.connections-list{list-style:none}.connections-list li{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) 0}.connection-relation{min-width:80px;color:var(--text-faint)}.list-memberships-list{list-style:none}.list-memberships-list li{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) 0}.list-item-status{padding:1px 6px;border-radius:var(--radius-sm);font-size:10px;text-transform:uppercase}.list-item-status.status-active{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)}.list-item-status.status-done{background:color-mix(in srgb,var(--success) 15%,var(--surface));color:var(--success)}.sidebar-connections-list{display:flex;flex-direction:column;gap:var(--sp-sm)}.sidebar-connection-row{display:flex;align-items:center;gap:var(--sp-sm)}.sidebar-connection-row.connection-derived{opacity:.7;font-style:italic}.connection-avatar-sm{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}.sidebar-connection-info{display:flex;flex-direction:column;min-width:0}.sidebar-connection-info .connection-entity-link{font-size:13px;line-height:1.3}.sidebar-connection-info .connection-label{font-size:11px}.structured-data-list{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-xs) var(--sp-md)}.structured-data-label{font-size:13px;font-weight:500;color:var(--text-muted)}.structured-data-value{color:var(--text)}.person-sidebar{gap:0!important}.sidebar-section{padding:var(--sp-md)}.person-sidebar .sidebar-section+.sidebar-section{border-top:1px solid var(--border-light)}.sidebar-section-header{cursor:default;display:flex;align-items:center;justify-content:space-between}.accordion-chevron{display:none;font-size:12px;color:var(--text-faint);transition:transform var(--dur-short) ease-out}.accordion-chevron.open{transform:rotate(90deg)}.sidebar-empty{font-size:13px}.person-subtitle{font-size:15px;color:var(--text-muted);margin-top:0;display:flex;align-items:center;gap:var(--sp-xs);flex-wrap:wrap}.person-subtitle-editable .subtitle-segment{display:inline-flex;align-items:center;gap:4px}.person-subtitle-editable .subtitle-value{cursor:text;border-radius:var(--radius-sm, 4px);padding:1px 4px;margin:0 -4px;transition:background var(--dur-short) ease-out}.person-subtitle-editable .subtitle-value:hover,.person-subtitle-editable .subtitle-value:focus-visible{background:var(--surface-2);outline:none}.person-subtitle-editable .subtitle-value:hover{background:var(--surface-2)}.person-subtitle-editable .subtitle-segment.is-empty .subtitle-value{color:var(--text-faint);font-style:italic;font-weight:400}.person-subtitle-editable .role-segment:not(.is-empty) .subtitle-value,.person-subtitle-editable .company-segment:not(.is-empty) .subtitle-value{color:var(--text);font-weight:600}.person-subtitle-editable .location-segment:not(.is-empty) .subtitle-value{color:var(--text-muted)}.person-subtitle-editable .subtitle-bridge{color:var(--text-faint);-webkit-user-select:none;user-select:none;font-style:italic;margin:0 2px}.person-subtitle-editable .subtitle-sep{color:var(--text-faint);-webkit-user-select:none;user-select:none}.person-subtitle-editable .inline-edit-input{font-size:15px;min-width:120px}.entity-aliases-row{display:flex;align-items:center;gap:var(--sp-xs);margin-top:4px}.alias-label{font-size:12px;font-style:italic}.alias-add-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-faint);font-size:14px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;transition:all var(--dur-micro) ease-out}.alias-add-btn:hover{border-color:var(--accent);color:var(--accent)}.alias-inline-input{font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2px 8px;width:100px}.alias-inline-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.archive-banner{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-sm) var(--sp-md);margin-top:var(--sp-sm);font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:var(--sp-md)}.archive-unarchive-btn{background:none;border:none;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:0}.archive-unarchive-btn:hover{text-decoration:underline}.star-toggle{background:none;border:none;cursor:pointer;color:var(--text-faint);padding:4px;display:flex;align-items:center;min-width:44px;min-height:44px;justify-content:center;border-radius:var(--radius-sm);transition:color var(--dur-micro) ease-out}.star-toggle.starred,.star-toggle:hover{color:var(--warning)}.star-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.star-toggle-cell{background:none;border:none;cursor:pointer;color:var(--text-faint);padding:2px;display:flex;align-items:center}.star-toggle-cell.starred,.star-toggle-cell:hover{color:var(--warning)}.overflow-menu-wrapper{position:relative}.overflow-menu-btn{background:none;border:none;font-size:18px;color:var(--text-faint);cursor:pointer;padding:4px 8px;letter-spacing:2px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--dur-micro) ease-out}.overflow-menu-btn:hover{color:var(--text)}.overflow-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overflow-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:10;min-width:180px}.overflow-menu button{width:100%;text-align:left;background:none;border:none;padding:var(--sp-sm) var(--sp-md);font-size:14px;color:var(--text);cursor:pointer}.overflow-menu button:hover{background:var(--surface-2)}.inline-edit-input{font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-xs) var(--sp-sm);width:100%}.entity-name-input{font-size:24px;font-weight:700;line-height:1.2;width:auto;min-width:200px}.name-pencil{min-width:auto;min-height:auto;margin-left:4px}.inline-edit-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.geocode-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle;flex-shrink:0}.geocode-dot-ok{background:#10b981}.geocode-dot-missing{background:#f59e0b}.geocode-dot-pending{background:#f59e0b;animation:geocode-dot-pulse 1.2s ease-in-out infinite}@keyframes geocode-dot-pulse{0%,to{opacity:.35}50%{opacity:1}}.pencil-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:var(--sp-xs);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity var(--dur-micro) ease-out,color var(--dur-micro) ease-out;pointer-events:none}.pencil-btn.pencil-visible{opacity:1;pointer-events:auto}.pencil-btn:hover{color:var(--accent)}.pencil-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1;pointer-events:auto}.details-list{display:flex;flex-direction:column;gap:0}.detail-row{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) 0}.detail-label{font-size:13px;font-weight:500;color:var(--text-muted);min-width:72px;flex-shrink:0}.detail-value{display:flex;align-items:center;gap:var(--sp-xs);flex:1;font-size:14px;min-width:0}.contact-list{list-style:none;margin:0;padding:0}.contact-row{display:flex;flex-direction:column;padding:var(--sp-sm) 0;font-size:14px}.contact-row-main{display:flex;align-items:center;gap:var(--sp-sm)}.contact-row-main .contact-value{flex:1;min-width:0}.contact-type-label{font-size:12px;font-weight:500;text-transform:capitalize;color:var(--text-muted);min-width:52px;flex-shrink:0}.contact-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-row-meta{display:flex;gap:var(--sp-sm);padding-left:64px;margin-top:0;line-height:1}.contact-label{font-size:11px}.contact-source{font-size:11px;font-style:italic}.delete-row-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:16px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity var(--dur-micro) ease-out}.contact-row:hover .delete-row-btn,.contact-row-main:hover .delete-row-btn,.date-row:hover .delete-row-btn{opacity:1}.delete-row-btn:hover{color:var(--error)}.dates-list{list-style:none;margin:0;padding:0}.date-row{display:flex;align-items:center;gap:var(--sp-sm);padding:6px 0;font-size:14px}.date-type-label{font-size:12px;font-weight:500;text-transform:capitalize;color:var(--text-muted);min-width:72px}.date-value{flex:none}.inline-form{display:flex;flex-wrap:wrap;gap:var(--sp-sm);padding:var(--sp-sm) 0;align-items:center}.inline-select{font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px}.inline-input{font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px;flex:1;min-width:80px}.inline-input:focus,.inline-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.inline-input-sm{max-width:80px;flex:0 0 auto}.inline-input-xs{max-width:56px;flex:0 0 auto}.inline-save-btn{background:none;border:none;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px}.inline-save-btn:hover{text-decoration:underline}.inline-cancel-btn{background:none;border:none;color:var(--text-faint);font-size:13px;cursor:pointer;padding:4px 8px}.inline-cancel-btn:hover{color:var(--text-muted)}.add-link{background:none;border:none;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:var(--sp-xs) 0;min-height:44px;display:inline-flex;align-items:center}.add-link:hover{text-decoration:underline}.person-notes-section{margin-top:var(--sp-lg)}.notes-empty .add-link{color:var(--text-muted);font-weight:400}.notes-textarea{width:100%;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:var(--sp-sm);resize:vertical;min-height:80px}.notes-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.notes-status{font-size:12px;margin-top:4px}.wiki-empty-warm{font-style:italic}.provenance-badge{display:inline-flex;align-items:center;font-size:12px;color:var(--text-muted);cursor:pointer;position:relative;min-width:20px;min-height:20px;justify-content:center}.provenance-badge:focus{outline:2px solid var(--accent);border-radius:2px}.provenance-popover{position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:var(--sp-sm);font-size:12px;color:var(--text);white-space:nowrap;z-index:20;box-shadow:var(--shadow-md);max-width:280px;white-space:normal}.provenance-source{margin-bottom:4px}.provenance-entry-link{color:var(--accent);text-decoration:none;font-size:11px}.provenance-entry-link:hover{text-decoration:underline}.people-toolbar{display:flex;gap:var(--sp-sm)}.toolbar-toggle{font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 12px;cursor:pointer;color:var(--text-muted);transition:all var(--dur-micro) ease-out}.toolbar-toggle.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.toolbar-toggle:hover{border-color:var(--accent)}.archived-name{text-decoration:line-through;color:var(--text-muted)}.birthday-item{display:flex;align-items:baseline;gap:var(--sp-sm)}.birthday-date,.birthday-age{font-size:12px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-lg)}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-2xl) var(--sp-xl);text-align:center;box-shadow:var(--shadow-sm)}.list-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-md)}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-short) ease-out,border-color var(--dur-short) ease-out,transform var(--dur-short) ease-out}.list-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.list-card-name{font-size:18px;font-weight:600;line-height:1.3;color:var(--text);margin-bottom:var(--sp-xs)}.list-card-desc{font-size:13px;color:var(--text-muted);margin-bottom:var(--sp-sm)}.list-card-counts{display:flex;gap:var(--sp-md)}.create-list-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);padding:var(--sp-lg);max-width:400px;width:100%;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;box-shadow:var(--shadow-lg)}.create-list-dialog:not([open]){display:none}.create-list-dialog h3{font-size:20px;font-weight:600;margin-bottom:var(--sp-md)}.create-list-dialog label{display:block;margin-bottom:var(--sp-md)}.create-list-dialog input{margin-top:var(--sp-sm)}.dialog-actions{display:flex;gap:var(--sp-sm);justify-content:flex-end;margin-top:var(--sp-md)}.add-item-form{display:flex;gap:var(--sp-sm);margin-bottom:var(--sp-lg)}.add-item-input{flex:1}.list-items-section{margin-bottom:var(--sp-lg)}.list-items{list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--sp-sm);box-shadow:var(--shadow-sm)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border-light);transition:background var(--dur-micro) ease-out}.list-item:hover{background:var(--surface-2)}.list-item:last-child{border-bottom:none}.list-item-check{display:flex;align-items:center;gap:var(--sp-sm);cursor:pointer}.list-item-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.list-item-name{font-size:14px;color:var(--text)}.list-item-name.done-text{text-decoration:line-through;color:var(--text-faint)}.list-item-meta{display:flex;align-items:center;gap:var(--sp-sm)}.list-item.done{opacity:.6}.btn-danger{color:var(--error);border-color:var(--error)}.btn-danger:hover{background:color-mix(in srgb,var(--error) 10%,var(--surface))}.followup-group{margin-bottom:var(--sp-lg)}.followup-overdue .section-label{color:var(--error)}.followup-list{list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--sp-sm);box-shadow:var(--shadow-sm)}.followup-item{display:flex;align-items:flex-start;justify-content:space-between;padding:10px var(--sp-md);border-bottom:1px solid var(--border-light);gap:var(--sp-md);transition:background var(--dur-micro) ease-out}.followup-item:hover{background:var(--surface-2)}.followup-item:last-child{border-bottom:none}.followup-check{display:flex;align-items:flex-start;gap:var(--sp-sm);cursor:pointer;flex:1;min-width:0}.followup-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin-top:2px;flex-shrink:0}.followup-desc{font-size:14px;color:var(--text)}.followup-meta{display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0}.followup-entry-link{color:var(--accent)!important}.followup-entry-preview{font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-search{position:relative}.search-dropdown{position:absolute;top:100%;left:12px;right:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:200;margin-top:var(--sp-xs);overflow:hidden;box-shadow:var(--shadow-lg)}.search-result{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-sm);padding:var(--sp-sm) 12px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border-light);transition:background var(--dur-micro) ease-out}.search-result:last-child{border-bottom:none}.search-result:hover{background:var(--surface-2)}.search-result-text{font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-dropdown-footer{padding:var(--sp-sm) 12px;text-align:center;border-top:1px solid var(--border-light);cursor:pointer;font-size:12px}.search-dropdown-footer:hover{background:var(--surface-2)}.sidebar-close-btn{display:none;background:none;border:none;color:var(--sidebar-muted);font-size:18px;cursor:pointer;padding:0}.sidebar-close-btn:hover{color:var(--sidebar-text)}.search-form{display:flex;gap:var(--sp-sm);margin-bottom:var(--sp-lg)}.search-page-input{flex:1}.search-count{margin-bottom:var(--sp-md);font-size:13px}.grid-search-wrapper{position:relative;display:flex;align-items:center}.grid-search-wrapper .search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.grid-search-input{width:280px;padding:7px 12px 7px 32px;font-size:13px;border:1px solid transparent;border-radius:var(--radius-full);background:var(--surface-3, var(--surface-2));color:var(--text);outline:none;font-family:inherit;transition:border-color var(--dur-micro) ease-out}.grid-search-input:focus{border-color:var(--border)}.grid-search-input::placeholder{color:var(--text-muted)}.search-results{display:flex;flex-direction:column;gap:var(--sp-sm)}.search-result-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-md);text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-short) ease-out,border-color var(--dur-short) ease-out,transform var(--dur-short) ease-out}.search-result-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.search-result-content{font-size:14px;line-height:1.5;margin-bottom:var(--sp-sm)}.search-result-meta{display:flex;gap:var(--sp-md)}.hamburger-btn{display:none;position:fixed;top:12px;left:12px;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:40px;height:40px;font-size:20px;color:var(--text);cursor:pointer;align-items:center;justify-content:center}.sidebar-overlay{display:none}.page-fade-enter-active{transition:opacity .15s ease-out}.page-fade-leave-active{transition:opacity .1s ease-in}.page-fade-enter-from,.page-fade-leave-to{opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page{animation:fadeIn var(--dur-medium) ease-out}.stat-card{animation:fadeInUp .3s ease-out both}.stat-grid .stat-card:nth-child(1){animation-delay:0ms}.stat-grid .stat-card:nth-child(2){animation-delay:50ms}.stat-grid .stat-card:nth-child(3){animation-delay:.1s}.stat-grid .stat-card:nth-child(4){animation-delay:.15s}.dashboard-section{animation:fadeInUp .3s ease-out both}.dashboard-sections .dashboard-section:nth-child(1){animation-delay:.1s}.dashboard-sections .dashboard-section:nth-child(2){animation-delay:.2s}.dashboard-sections .dashboard-section:nth-child(3){animation-delay:.3s}.dashboard-sections .dashboard-section:nth-child(4){animation-delay:.4s}.list-card{animation:fadeInUp .3s ease-out both}.list-cards .list-card:nth-child(1){animation-delay:0ms}.list-cards .list-card:nth-child(2){animation-delay:50ms}.list-cards .list-card:nth-child(3){animation-delay:.1s}.list-cards .list-card:nth-child(4){animation-delay:.15s}.list-cards .list-card:nth-child(5){animation-delay:.2s}.list-cards .list-card:nth-child(6){animation-delay:.25s}.list-cards .list-card:nth-child(7){animation-delay:.3s}.list-cards .list-card:nth-child(8){animation-delay:.35s}.entity-detail-header{animation:fadeInUp .3s ease-out}.wiki-prose-container{animation:fadeInUp .3s ease-out .1s both}.meta-section{animation:fadeInUp .3s ease-out both}.entity-meta-sidebar .meta-section:nth-child(1){animation-delay:.1s}.entity-meta-sidebar .meta-section:nth-child(2){animation-delay:.15s}.entity-meta-sidebar .meta-section:nth-child(3){animation-delay:.2s}.entity-meta-sidebar .meta-section:nth-child(4){animation-delay:.25s}.entity-meta-sidebar .meta-section:nth-child(5){animation-delay:.3s}.datagrid{animation:fadeInUp .3s ease-out 50ms both}.followup-group{animation:fadeInUp .3s ease-out both}.login-card{animation:fadeInUp .4s ease-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:var(--sp-sm)}.skeleton-text-sm{height:10px;margin-bottom:var(--sp-xs);width:60%}.skeleton-heading{height:28px;width:40%;margin-bottom:var(--sp-lg)}.skeleton-card{height:80px;border-radius:var(--radius-md)}.skeleton-row{height:40px;margin-bottom:1px}.sidebar-nav li a.active{position:relative}.sidebar-nav li a.active:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:3px;background:var(--accent);border-radius:0 2px 2px 0;box-shadow:0 0 8px color-mix(in srgb,var(--accent) 40%,transparent)}.list-card-progress{margin-top:var(--sp-sm);height:3px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.list-card-progress-bar{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .5s ease-out}@media(max-width:768px){.stat-grid{grid-template-columns:repeat(2,1fr)}.entry-header{flex-direction:column;gap:var(--sp-sm)}.entity-detail-body{flex-direction:column}.entity-wiki-column,.entity-meta-sidebar{flex:1 1 auto!important}.entity-meta-sidebar{border-left:none;border-top:1px solid var(--border)}.accordion-chevron{display:inline-block}.sidebar-section-header{cursor:pointer;min-height:44px}.sidebar-section-body.collapsed{display:none}.pencil-btn,.delete-row-btn{opacity:1}.list-cards{grid-template-columns:1fr}.followup-item{flex-direction:column;gap:var(--sp-sm)}.followup-meta{padding-left:24px}.hamburger-btn{display:flex}.hamburger-btn.hidden{display:none}.sidebar{transform:translate(-100%);z-index:100;transition:transform var(--dur-medium) ease-in-out}.sidebar.open{transform:translate(0)}.sidebar-close-btn{display:block}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:90}main.has-sidebar{margin-left:0}.page{padding-top:56px}.search-form{flex-direction:column}.page-header{flex-direction:column;gap:var(--sp-sm)}}.map-dot-wrapper{background:transparent!important;border:none!important;display:flex;align-items:center;justify-content:center}.map-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg);box-shadow:var(--shadow-sm);transition:transform var(--dur-short) ease-out,background var(--dur-short) ease-out}.map-dot[data-recency=recent]{background:var(--accent)}.map-dot[data-recency=warm]{background:var(--text-muted)}.map-dot[data-recency=stale]{background:var(--text-faint)}.map-dot-wrapper:hover .map-dot{transform:scale(1.6)}.map-cluster-marker-wrapper{background:transparent!important;border:none!important}.map-cluster-marker{width:36px;height:36px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;box-shadow:var(--shadow-sm)}.city-search-bar{position:absolute;top:var(--sp-md);left:var(--sp-md);z-index:40;width:280px;max-width:calc(100% - var(--sp-md) * 2);display:flex;flex-direction:column;gap:4px}.city-search-input{width:100%;padding:10px 14px;border-radius:var(--radius-xl, 999px);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;box-shadow:0 2px 8px #00000024,var(--shadow-sm);transition:border-color var(--dur-short) ease-out,box-shadow var(--dur-short) ease-out}.city-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.city-search-input::placeholder{color:var(--text-faint)}.city-search-hint{font-size:12px;color:var(--text);background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:4px 10px;border-radius:var(--radius-md, 8px);width:fit-content;max-width:100%}.city-search-hint.is-error{color:var(--danger, #d64545)}.nearby-radar-panel{position:fixed;top:0;right:0;bottom:0;width:340px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-md);transform:translate(100%);transition:transform var(--dur-medium, .22s) ease-out;z-index:50;display:flex;flex-direction:column;padding:var(--sp-lg) var(--sp-md) var(--sp-md)}.nearby-radar-panel.open{transform:translate(0)}.nearby-radar-drag-handle{display:none}.nearby-radar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.nearby-radar-eyebrow{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.nearby-radar-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.3;word-break:break-word}.nearby-radar-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:var(--radius-sm, 4px)}.nearby-radar-close:hover{background:var(--surface-2);color:var(--text)}.nearby-radar-empty{color:var(--text-muted);font-size:14px;line-height:1.5;padding:var(--sp-md) 0}.nearby-radar-error{padding:var(--sp-md) 0;display:flex;flex-direction:column;gap:var(--sp-xs);font-size:14px;line-height:1.5}.nearby-radar-error-title{color:var(--text);font-weight:600}.nearby-radar-retry{align-self:flex-start;margin-top:var(--sp-sm)}.nearby-radar-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.nearby-radar-item{border-bottom:1px solid var(--border)}.nearby-radar-link{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);padding:12px 4px;color:var(--text);text-decoration:none;transition:background var(--dur-short) ease-out}.nearby-radar-link:hover{background:var(--surface-2)}.nearby-radar-name{font-weight:500}.nearby-radar-meta{font-size:12px;white-space:nowrap}@media(max-width:768px){.map-dot{width:14px;height:14px}.map-cluster-marker{width:44px;height:44px;font-size:13px}.city-search-bar{width:100%}.nearby-radar-panel{top:auto;right:0;left:0;bottom:0;width:100%;height:70vh;border-left:none;border-top:1px solid var(--border);transform:translateY(100%);border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;padding-bottom:calc(env(safe-area-inset-bottom) + var(--sp-md))}.nearby-radar-panel.open{transform:translateY(0)}.nearby-radar-drag-handle{display:block;width:36px;height:4px;background:var(--border);border-radius:2px;margin:4px auto var(--sp-md)}}.leaflet-container{background:var(--surface-2)!important;font-family:inherit}[data-theme=dark] .leaflet-control-zoom a{background-color:var(--surface);color:var(--text);border-bottom-color:var(--border)}[data-theme=dark] .leaflet-control-attribution{background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text-muted)}[data-theme=dark] .leaflet-control-attribution a{color:var(--text)}.graph-page{position:relative;width:100%;height:100dvh;padding-bottom:env(safe-area-inset-bottom);overflow:hidden;display:flex;flex-direction:column}.graph-page-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted)}.graph-page .empty-state{margin:var(--sp-xl) auto;max-width:560px}.graph-toolbar{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.graph-toolbar-stats{display:flex;gap:4px;align-items:baseline;font-size:12px;color:var(--text-muted)}.graph-type-filter{display:flex;flex-wrap:wrap;gap:6px;flex:1}.graph-type-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-xl, 999px);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12px;cursor:pointer;transition:background var(--dur-short) ease-out,color var(--dur-short) ease-out,border-color var(--dur-short) ease-out}.graph-type-pill:hover{background:var(--surface-2)}.graph-type-pill.is-active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text);border-color:var(--accent)}.graph-type-pill-count{font-size:11px;color:var(--text-faint)}.graph-type-pill.is-active .graph-type-pill-count{color:var(--text-muted)}.entity-graph{position:relative;flex:1;min-height:0;background:var(--surface-2)}.entity-graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.entity-graph-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-sm);text-align:center;padding:var(--sp-lg);background:var(--surface);z-index:20}.entity-graph-tooltip{position:absolute;z-index:10;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md, 6px);padding:6px 10px;box-shadow:var(--shadow-md);font-size:12px;max-width:240px}.entity-graph-tooltip-name{font-weight:600;color:var(--text)}.entity-graph-tooltip-meta{color:var(--text-muted);font-size:11px;margin-top:2px}@media(max-width:768px){.graph-toolbar{flex-direction:column;align-items:stretch}.graph-type-filter{order:2}}.entity-graph-regions{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.cluster-legend-panel{position:fixed;top:0;right:0;bottom:0;width:340px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-md);transform:translate(100%);transition:transform var(--dur-medium, .22s) ease-out;z-index:50;display:flex;flex-direction:column;padding:var(--sp-lg) var(--sp-md) var(--sp-md)}.cluster-legend-panel.open{transform:translate(0)}.cluster-legend-drag-handle{display:none}.cluster-legend-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.cluster-legend-eyebrow{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.cluster-legend-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.3}.cluster-legend-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:var(--radius-sm, 4px)}.cluster-legend-close:hover{background:var(--surface-2);color:var(--text)}.cluster-legend-empty{color:var(--text-muted);font-size:14px;line-height:1.5;padding:var(--sp-md) 0}.cluster-legend-empty a{color:var(--accent);text-decoration:none}.cluster-legend-empty a:hover{text-decoration:underline}.cluster-legend-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.cluster-legend-item{border-bottom:1px solid var(--border);padding:8px 0}.cluster-legend-button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;color:var(--text);padding:4px;border-radius:var(--radius-sm, 4px);cursor:pointer;text-align:left}.cluster-legend-button:hover{background:var(--surface-2)}.cluster-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 8px}.cluster-legend-name{font-weight:500;flex:1;word-break:break-word}.cluster-legend-item.is-fallback .cluster-legend-name{font-style:italic}.cluster-legend-count{font-size:12px;color:var(--text-faint)}.cluster-legend-summary{margin:4px 4px 0 20px;font-size:12px;color:var(--text-muted);line-height:1.4}.cluster-legend-item.is-pinned{background:color-mix(in srgb,var(--accent) 8%,transparent)}.cluster-legend-item.is-pinned .cluster-legend-name{color:var(--accent)}@media(max-width:768px){.cluster-legend-panel{top:auto;right:0;left:0;bottom:0;width:100%;height:70vh;border-left:none;border-top:1px solid var(--border);transform:translateY(100%);border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;padding-bottom:calc(env(safe-area-inset-bottom) + var(--sp-md))}.cluster-legend-panel.open{transform:translateY(0)}.cluster-legend-drag-handle{display:block;width:36px;height:4px;background:var(--border);border-radius:2px;margin:4px auto var(--sp-md)}.cluster-legend-button{min-height:44px}}.cluster-legend-recency{margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--border)}.cluster-legend-recency-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.cluster-legend-recency-ramp{display:flex;gap:8px;align-items:center;margin-bottom:4px}.recency-dot{width:10px;height:10px;border-radius:50%}.recency-dot-recent{background:var(--accent)}.recency-dot-warm{background:var(--text-muted)}.recency-dot-stale{background:var(--text-faint)}.cluster-legend-recency-ticks{display:flex;justify-content:space-between;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums;padding-right:2px}.cluster-legend-recency-ticks>span:first-child{margin-left:-2px}.time-scrubber{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--surface);border-bottom:1px solid var(--border)}.time-scrubber-play{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:11px;line-height:1;transition:background var(--dur-short) ease-out,color var(--dur-short) ease-out}.time-scrubber-play:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.time-scrubber-play:disabled{opacity:.4;cursor:not-allowed}.time-scrubber-track-wrap{flex:1;display:flex;align-items:center}.time-scrubber-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent;cursor:pointer;margin:0}.time-scrubber-input:focus{outline:none}.time-scrubber-input::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border)}.time-scrubber-input::-moz-range-track{height:4px;border-radius:2px;background:var(--border)}.time-scrubber-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:var(--shadow-sm);margin-top:-6px;cursor:pointer}.time-scrubber-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:var(--shadow-sm);cursor:pointer}.time-scrubber-input:disabled{opacity:.4;cursor:not-allowed}.time-scrubber-badge{font-size:12px;color:var(--text-muted);background:transparent;border:none;padding:4px 6px;border-radius:var(--radius-sm, 4px);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}.time-scrubber-badge:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.time-scrubber-badge:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.time-scrubber-input::-webkit-slider-thumb{width:28px;height:28px;margin-top:-12px}.time-scrubber-input::-moz-range-thumb{width:28px;height:28px}.time-scrubber-play{width:44px;height:44px}.time-scrubber-badge{min-height:44px;display:inline-flex;align-items:center}}
