:root{--bg: #0a0b0d;--panel: #0e0f12;--raise: #141519;--raise-2: #1a1c21;--line: rgba(255, 255, 255, .07);--line-2: rgba(255, 255, 255, .13);--text: #ececf1;--text-2: #b3b6bf;--muted: #7b7f8a;--faint: #50545e;--accent: #8b93ff;--accent-ink: #0a0b0d;--accent-soft: rgba(139, 147, 255, .13);--accent-glow: rgba(139, 147, 255, .35);--pass: #5fd49a;--fail: #ff6b6b;--unk: #f2c14e;--sans: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--r: 12px;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f6f6f4;--panel: #ffffff;--raise: #ffffff;--raise-2: #f1f1ee;--line: rgba(10, 11, 13, .08);--line-2: rgba(10, 11, 13, .15);--text: #0c0d10;--text-2: #3a3e46;--muted: #6a6e78;--faint: #a3a6ad;--accent: #4f46e5;--accent-ink: #ffffff;--accent-soft: rgba(79, 70, 229, .09);--accent-glow: rgba(79, 70, 229, .25);--pass: #16a34a;--fail: #dc2626;--unk: #b7791f;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:400 14px/1.55 var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}.mono{font-family:var(--mono);font-feature-settings:"tnum";letter-spacing:0}.muted{color:var(--muted)}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.label{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}kbd{font:500 10.5px/1 var(--mono);padding:3px 5px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;color:var(--muted)}.app{display:flex;min-height:100vh}.main{flex:1;min-width:0}.rail{position:sticky;top:0;height:100vh;width:68px;flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 0;border-right:1px solid var(--line);background:var(--panel);z-index:20}.rail-mark{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px}.rail-mark img{width:26px;height:26px;border-radius:7px}.rail-btn{position:relative;width:60px;display:grid;justify-items:center;gap:4px;padding:9px 0 7px;border-radius:10px;color:var(--muted);font-size:10.5px;line-height:1.15;text-align:center;transition:color .15s,background .15s}.rail-btn:hover,.rail-btn.on{color:var(--text);background:var(--raise-2)}.rail-btn.on:before{content:"";position:absolute;left:-4px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}.rail-me{position:relative}.avatar.lg{width:34px;height:34px;font-size:11.5px;cursor:pointer}.rail-menu{position:absolute;left:44px;bottom:0;min-width:190px;display:grid;gap:4px;padding:12px;border-radius:12px;border:1px solid var(--line-2);background:var(--raise);box-shadow:0 12px 40px #00000059;animation:rise .2s var(--ease)}.rail-menu .btn{justify-self:start;margin:6px 0 0 -10px}@media(max-width:760px){.app{flex-direction:column}.rail{position:sticky;flex-direction:row;width:100%;height:56px;padding:0 8px;border-right:0;border-bottom:1px solid var(--line);gap:0;justify-content:space-between}.rail-mark{margin:0}.rail .spacer{display:none}.rail-btn{width:auto;flex:1;padding:6px 0;font-size:9.5px}.rail-btn.on:before{left:20%;right:20%;top:auto;bottom:-4px;width:auto;height:2px}.rail-menu{left:auto;right:0;bottom:auto;top:44px}}.avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--mono);background:var(--raise-2);border:1px solid var(--line-2);color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 14px;border-radius:9px;font-weight:500;border:1px solid var(--line-2);background:var(--raise);transition:transform .12s var(--ease),background .15s,border-color .15s,opacity .15s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--faint)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 0 0 1px var(--accent),0 6px 24px -8px var(--accent-glow)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{border-color:transparent;background:none;color:var(--muted)}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--raise-2)}.btn.sm{height:28px;padding:0 10px;font-size:13px;border-radius:8px}.btn.lg{height:42px;padding:0 18px;font-size:15px;border-radius:11px}.btn kbd{border-color:currentColor;color:inherit;opacity:.6}.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 11px;border-radius:999px;border:1px solid var(--line-2);color:var(--text-2);font-size:13px;text-align:left;transition:all .15s var(--ease)}.chip:hover:not(:disabled){color:var(--text);border-color:var(--faint)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.tag{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:6px;font:500 11px/1 var(--mono);letter-spacing:.02em;background:var(--raise-2);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.tag.accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.tag.pass{color:var(--pass)}.tag.fail{color:var(--fail)}.tag.unk{color:var(--unk)}.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--raise-2);border:1px solid var(--line)}.seg button{height:26px;padding:0 11px;border-radius:7px;color:var(--muted);font-size:13px;transition:all .15s var(--ease)}.seg button.on{background:var(--raise);color:var(--text);box-shadow:0 1px 0 var(--line-2),0 1px 8px #00000026}.field{width:100%;border:1px solid var(--line-2);background:var(--raise);border-radius:10px;padding:10px 12px;outline:none;resize:none;transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field::placeholder{color:var(--faint)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.faint{color:var(--faint)}.fine{color:var(--faint);font-size:12.5px;margin-top:14px}.error{color:var(--fail)}.hint{color:var(--muted);font-size:13px;margin:0 0 14px;max-width:70ch}.linkish{color:var(--muted)}.linkish:hover{color:var(--text)}.x{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:6px;color:var(--faint);font-size:16px;line-height:1}.x:hover{color:var(--fail);background:var(--raise-2)}.btn.danger{color:var(--fail)}.btn.danger:hover:not(:disabled){border-color:var(--fail)}.field.sm{padding:6px 10px;border-radius:8px;font-size:13px}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;background-size:4px 4px;background-repeat:no-repeat}.seg.wrap{flex-wrap:wrap}.av{flex:none;display:inline-grid;place-items:center;object-fit:cover;font-family:var(--mono);font-weight:600;color:var(--text-2);background:var(--raise-2);border:1px solid var(--line-2)}.av-person{border-radius:50%}.rail-id{display:grid;place-items:center;padding:4px;border-radius:10px}.rail-id:hover{background:var(--raise-2)}.rail-menu b{font-weight:600;padding:2px 4px 6px}.menu-item{display:block;text-align:left;padding:7px 8px;border-radius:8px;color:var(--text-2);font-size:13px}.menu-item:hover{background:var(--raise-2);color:var(--text)}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:grid;gap:8px;z-index:60}.toast{padding:10px 16px;border-radius:10px;background:var(--text);color:var(--bg);font-weight:500;font-size:13px;animation:rise .3s var(--ease);box-shadow:0 10px 30px #0000004d}.page{max-width:1080px;margin:0 auto;padding:28px clamp(16px,3.5vw,44px) 90px;animation:rise .35s var(--ease) both}.page.narrow{max-width:720px}.page.wide{max-width:1240px}.page-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.page-head h1{font-size:26px}.count{font-size:14px;color:var(--muted);font-weight:500;margin-left:4px;vertical-align:3px}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-size:12.5px;color:var(--muted);margin-bottom:16px}.crumbs a:hover{color:var(--text)}.crumbs .sep{margin:0 7px;color:var(--faint)}.crumbs .here{color:var(--text-2)}.card{border:1px solid var(--line);background:var(--raise);border-radius:var(--r);padding:20px;display:grid;gap:12px;margin-bottom:14px}.card h2{font-size:16px}.card.first{padding:32px;margin-top:8vh}.card.first h1{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.035em}.first-actions{display:flex;flex-wrap:wrap;gap:10px}.empty{padding:30px 4px}.more{margin:14px auto 0;display:flex}.nudges{display:grid;gap:8px;margin-bottom:16px}.nudge{display:block;padding:11px 14px;border-radius:10px;background:var(--accent-soft);color:var(--text-2);font-size:13.5px;transition:filter .15s}.nudge:hover{filter:brightness(1.15);color:var(--text)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.toolbar .search{flex:1;font-size:15px;padding:11px 14px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.chip .x{margin-right:-6px;width:18px;height:18px;font-size:14px}.chip.ghost{border-style:dashed;color:var(--muted)}.chips.ideas{margin-top:-4px}.inline-add .field{width:220px}.people{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.person-row{display:grid;grid-template-columns:36px 1fr auto 110px;align-items:center;gap:14px;padding:10px 6px;border-bottom:1px solid var(--line);border-radius:8px;transition:background .12s}.person-row.static{grid-template-columns:36px 1fr auto}a.person-row:hover{background:var(--raise)}.pr-main{min-width:0}.pr-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-also{color:var(--muted);font-weight:400}.pr-sub{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-roles{display:flex;gap:4px;justify-content:flex-end}.pr-last{color:var(--muted);font-size:12px;text-align:right}@media(max-width:640px){.person-row{grid-template-columns:36px 1fr 74px}.pr-roles{display:none}}.add-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.add-grid label,.edit label{display:grid;gap:6px}@media(max-width:640px){.add-grid{grid-template-columns:1fr}}.person-head{display:flex;gap:18px;align-items:center;margin-bottom:20px}.ph-main{flex:1;min-width:0}.ph-main h1{font-size:30px;letter-spacing:-.035em}.aka{color:var(--text-2);font-size:13.5px;margin-top:4px}.aka b{font-weight:500}.ph-meta{color:var(--muted);font-size:13px;margin-top:4px}.ph-last{text-align:right;display:grid;gap:6px}.ph-last b{font-weight:500}.person-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start}.person-grid .col{display:grid;gap:18px}@media(max-width:900px){.person-grid{grid-template-columns:1fr}.person-head{flex-wrap:wrap}.ph-last{text-align:left}}.section{border:1px solid var(--line);background:var(--raise);border-radius:var(--r);padding:16px 18px;display:grid;gap:10px}.section-head{display:flex;align-items:center}.section-head h2{font-size:15px}.section .hint{margin:-4px 0 2px;font-size:12.5px}.kv{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.narrow-in{width:170px}.talk-form{display:grid;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}.talks,.links{list-style:none;margin:0;padding:0;display:grid;gap:2px}.talks li,.links li{display:flex;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:13.5px}.talks li:last-child,.links li:last-child{border-bottom:0}.t-when{color:var(--muted);font-size:12px;width:92px;flex:none}.t-sum{flex:1;min-width:0}.links a{font-weight:500}.links a:hover{color:var(--accent)}.link-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-form .field{width:auto}.picker{position:relative}.picker .field{width:220px}.picker-list{position:absolute;z-index:10;top:calc(100% + 4px);left:0;min-width:260px;list-style:none;margin:0;padding:4px;border-radius:10px;border:1px solid var(--line-2);background:var(--raise);box-shadow:0 12px 40px #0000004d}.picker-list button{display:block;width:100%;text-align:left;padding:7px 9px;border-radius:7px;font-size:13px}.picker-list button:hover{background:var(--raise-2)}.channels{margin:0;display:grid;gap:8px}.channels>div{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13.5px}.channels dt{color:var(--muted);text-transform:capitalize}.channels dd{margin:0;overflow-wrap:anywhere}.channels a:hover{color:var(--accent)}.note{white-space:pre-wrap;color:var(--text-2);font-size:13.5px;margin:6px 0 0;padding-top:10px;border-top:1px solid var(--line)}.edit{display:grid;gap:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.list-edit{display:grid;gap:6px}.list-edit .row .field:first-child{flex:1}.label-in{width:110px!important}.list-edit .btn{justify-self:start}.source.lit{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.drop{border-style:dashed;border-color:var(--line-2)}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.card .btn{justify-self:start}.where summary{cursor:pointer;font-weight:500}.where dl{margin:8px 0 0;display:grid;gap:8px}.where dl>div{display:grid;grid-template-columns:90px 1fr;gap:10px;font-size:13px}.where dt{color:var(--muted)}.where dd{margin:0}.stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.stats>*{display:grid;gap:2px;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--raise);text-align:left;min-width:120px}.stats b{font-size:20px;font-weight:600}.stats span{color:var(--muted);font-size:12px}.stats button.on{border-color:var(--accent);background:var(--accent-soft)}.stats .bad b{color:var(--fail)}.table-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:auto;max-height:60vh}table.preview{width:100%;border-collapse:collapse;font-size:13px}.preview th{position:sticky;top:0;background:var(--panel);text-align:left;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.preview td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.preview tr.skipped td{opacity:.4}.apply-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;padding:14px 0;background:linear-gradient(transparent,var(--bg) 30%)}.dupes{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}@media(max-width:900px){.dupes{grid-template-columns:1fr}.dupe-list{max-height:260px}}.dupe-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:70vh;overflow:auto}.dupe-row{width:100%;display:grid;gap:3px;justify-items:start;padding:10px 12px;border-radius:10px;border:1px solid transparent;text-align:left}.dupe-row:hover{background:var(--raise)}.dupe-row.on{background:var(--raise);border-color:var(--line-2)}.dr-names{font-weight:500}.dr-why{font-size:12px}.compare{position:sticky;top:20px}.evidence{display:flex;flex-wrap:wrap;gap:6px}.verdict{padding:12px 14px;border-radius:10px;background:var(--raise-2)}.verdict p{margin:6px 0 0;color:var(--text-2)}.verdict.v-same{box-shadow:inset 3px 0 0 var(--pass)}.verdict.v-different{box-shadow:inset 3px 0 0 var(--fail)}.verdict.v-unsure{box-shadow:inset 3px 0 0 var(--unk)}.sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side{display:grid;gap:4px;align-content:start;padding:14px;border-radius:10px;border:1px solid var(--line);font-size:13.5px;overflow-wrap:anywhere}.side-name{font-size:16px;font-weight:600;margin-bottom:4px}.side-name:hover{color:var(--accent)}.shared{color:var(--pass)}.merge-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px}.merge-bar select{width:auto}.map{padding:8px}.map svg{width:100%;height:auto;display:block}.edge{stroke:var(--line-2);stroke-width:1.5}.edge-label{fill:var(--accent);font:500 11px var(--mono);text-anchor:middle}.arrowhead{fill:var(--faint)}.node{cursor:pointer;transition:opacity .15s}.node circle{fill:var(--raise-2);stroke:var(--accent);stroke-width:1.5}.node:hover circle,.node:focus circle{fill:var(--accent)}.node text{fill:var(--text-2);font-size:12px}.prose h2{font-size:16px;margin:22px 0 6px}.prose p{color:var(--text-2);max-width:66ch}.steps{margin:0;display:grid;gap:6px}.steps>div{display:grid;grid-template-columns:70px 1fr;gap:10px;font-size:13.5px}.steps dt{color:var(--text-2);font-weight:500}.steps dd{margin:0;color:var(--muted)}
