@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&family=Cormorant+Garamond:ital,wght@0,500;1,400&display=swap";:root{--bg: #070a12;--ink: #eaf0ff;--ink-2: rgb(var(--ink-rgb) / .65);--ink-3: rgb(var(--ink-rgb) / .42);--ink-4: rgb(var(--ink-rgb) / .22);--line: rgb(var(--ink-rgb) / .08);--glass: rgb(var(--panel-rgb) / .72);--mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--serif: "Cormorant Garamond", Georgia, serif;--sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=light]{--bg: #f2ebdd;--ink: #2a2116;--ink-rgb: 42 33 22;--ink-2: rgb(42 33 22 / .74);--ink-3: rgb(42 33 22 / .54);--ink-4: rgb(42 33 22 / .34);--line: rgb(42 33 22 / .13);--glass: rgb(251 247 239 / .92);--panel-rgb: 250 245 235;--shadow-rgb: 90 64 30;--tint: #1a140c;--dot-ink: #fffaf0;color-scheme:light}:root[data-theme=light] .detail{background:rgb(var(--panel-rgb) / .95)}:root[data-theme=light] .nebula{opacity:.2;mix-blend-mode:multiply}:root[data-theme=light] .chip-dot{background:var(--c)}:root[data-theme=light] .chip{box-shadow:0 1px 3px rgb(var(--shadow-rgb) / .08)}:root[data-theme=light] .map-wrap iframe{filter:sepia(.25) saturate(.85)}:root[data-theme=light] .axis-shimmer:after{background:linear-gradient(90deg,transparent,rgb(255 250 235 / .9),transparent)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);transition:background .4s}body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-user-select:none;user-select:none}.app.is-dragging,.app.is-dragging *{cursor:grabbing!important}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.nebula{position:absolute;left:15%;right:15%;bottom:10%;height:55%;border-radius:50%;filter:blur(140px);opacity:.16;pointer-events:none;transition:background 1.6s ease}.stage{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none;overflow:hidden}.era-column{position:absolute;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--c) 9%,transparent),transparent 70%);border-left:1px solid color-mix(in srgb,var(--c) 12%,transparent)}.cursor-line{position:absolute;width:1px;pointer-events:none;background:linear-gradient(transparent,rgb(var(--ink-rgb) / .16) 40%,rgb(var(--ink-rgb) / .28))}.connector{position:absolute;width:1px;pointer-events:none;opacity:.8}.span-bar{position:absolute;height:2px;border-radius:2px;pointer-events:none;opacity:.7}.chip{position:absolute;height:24px;display:flex;align-items:center;gap:6px;padding:0 10px 0 2px;border-radius:12px;white-space:nowrap;cursor:pointer;background:rgb(var(--panel-rgb) / .62);border:1px solid color-mix(in srgb,var(--c) 28%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:top .35s cubic-bezier(.23,1,.32,1),background .2s,border-color .2s,box-shadow .2s;animation:chipIn .5s cubic-bezier(.23,1,.32,1) both}.chip-dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:9px;color:var(--dot-ink);background:var(--g);transition:background .2s,box-shadow .2s}.chip-dot svg{display:block}.chip-title{font-size:12px;font-weight:500;color:var(--ink-2);letter-spacing:.005em}.chip.tier-1{height:28px;border-radius:14px;border-color:color-mix(in srgb,var(--c) 50%,transparent)}.chip.tier-1 .chip-dot{width:22px;height:22px;background:var(--c)}.chip.tier-1 .chip-title{font-size:13px;font-weight:600;color:var(--ink)}.chip:hover,.chip.active{background:color-mix(in srgb,var(--c) 18%,rgb(var(--panel-rgb) / .9));border-color:var(--c);box-shadow:0 0 24px var(--s)}.chip:hover .chip-dot,.chip.active .chip-dot{background:var(--c);box-shadow:0 0 12px var(--g)}.chip:hover .chip-title,.chip.active .chip-title{color:var(--ink)}.chip.selected{box-shadow:0 0 0 1px var(--c),0 0 32px var(--g)}@keyframes chipIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}.axis{position:absolute;height:2px;transform:translateY(-1px);box-shadow:0 0 18px #8b5cf640;pointer-events:none}.axis-shimmer{position:absolute;left:0;right:0;height:4px;overflow:hidden;pointer-events:none}.axis-shimmer:after{content:"";position:absolute;width:260px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:shimmer 9s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-300px)}to{transform:translate(100vw)}}.dot{position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:width .2s,height .2s}.dot.active{width:12px;height:12px}.dot.minor{width:4px;height:4px}.tick{position:absolute;width:1px;pointer-events:none}.tick.minor{height:5px;background:var(--ink-4)}.tick.major{height:10px;background:var(--ink-3)}.tick.major span{position:absolute;top:13px;left:0;transform:translate(-50%);font:500 10px var(--mono);letter-spacing:.08em;color:var(--ink-3);white-space:nowrap}.track-bar{position:absolute;display:flex;align-items:center;overflow:hidden;border-radius:4px;text-align:left;background:color-mix(in srgb,var(--c) 16%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);transition:background .2s}.track-bar span{padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-bar:hover{background:color-mix(in srgb,var(--c) 32%,transparent)}.era-bar span{font-size:10.5px;font-weight:500;color:color-mix(in srgb,var(--c) 70%,var(--tint));letter-spacing:.02em}.empire-bar span,.person-bar span{font-size:9.5px;color:var(--ink-3)}.person-bar{border-radius:8px;border-style:dashed}.track-label{position:absolute;left:12px;font:500 8px var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-4);pointer-events:none;z-index:2}.header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 32px 0;background:linear-gradient(180deg,rgb(var(--panel-rgb) / .96),rgb(var(--panel-rgb) / .7) 70%,transparent);pointer-events:none}.header>*{pointer-events:auto}.brand h1{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.brand p{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-2)}.controls{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;max-width:560px}.search{position:relative;width:100%}.search input{width:100%;height:36px;padding:0 44px 0 16px;border-radius:18px;background:rgb(var(--ink-rgb) / .05);border:1px solid var(--line);color:var(--ink);font:13px var(--sans);outline:none;transition:border-color .2s,background .2s}.search input::placeholder{color:var(--ink-4)}.search input:focus{border-color:rgb(var(--ink-rgb) / .25);background:rgb(var(--ink-rgb) / .08)}.search-count{position:absolute;right:14px;top:10px;font:11px var(--mono);color:var(--ink-3)}.results{position:absolute;top:42px;left:0;right:0;padding:6px;border-radius:14px;background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--line);box-shadow:0 20px 50px rgb(var(--shadow-rgb) / .5);animation:fadeUp .15s ease-out}.results button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;font-size:13px;text-align:left;color:var(--ink-2)}.results button:hover{background:rgb(var(--ink-rgb) / .06);color:var(--ink)}.results-year{font:10px var(--mono);color:var(--ink-3);min-width:92px}.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.filter{display:flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:12px;font-size:11px;color:var(--ink-4);border:1px solid var(--line);transition:all .2s}.filter span{font-size:9px}.filter.on{color:var(--ink-2);background:rgb(var(--ink-rgb) / .06);border-color:rgb(var(--ink-rgb) / .14)}.readout{text-align:right;min-width:200px}.readout-label{font:500 9px var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-4);margin-bottom:4px}.readout-year{font:300 28px var(--mono);color:var(--ink);letter-spacing:.01em;font-variant-numeric:tabular-nums}.readout-ctx{font-size:11px;color:var(--ink-3);margin-top:4px;min-height:14px}.minimap-wrap{position:absolute;top:100px;left:32px;right:32px;z-index:20}.minimap{position:relative;height:20px;border-radius:5px;overflow:hidden;cursor:pointer;background:rgb(var(--ink-rgb) / .03);border:1px solid var(--line);touch-action:none}.minimap-era{position:absolute;top:0;bottom:0;opacity:.6}.minimap-tick{position:absolute;top:25%;height:50%;width:1px}.minimap-window{position:absolute;top:0;bottom:0;border-radius:4px;pointer-events:none;border:1px solid rgb(var(--ink-rgb) / .55);background:rgb(var(--ink-rgb) / .07);box-shadow:0 0 12px rgb(var(--ink-rgb) / .15)}.hidden-note{position:absolute;white-space:nowrap;left:50%;transform:translate(-50%);z-index:15;font:10px var(--mono);letter-spacing:.08em;color:var(--ink-3);padding:4px 12px;border-radius:12px;border:1px dashed var(--line);background:rgb(var(--panel-rgb) / .6)}.hidden-note:hover{color:var(--ink);border-color:rgb(var(--ink-rgb) / .25)}.preview{position:absolute;z-index:30;width:320px;padding:14px 18px;border-radius:12px;pointer-events:none;background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);box-shadow:0 12px 40px rgb(var(--shadow-rgb) / .45),0 0 30px var(--s);animation:fadeUp .15s ease-out}.preview.has-image{padding-top:0;overflow:hidden}.preview-img{display:block;width:calc(100% + 36px);height:150px;margin:0 -18px 12px;object-fit:cover;object-position:50% 25%;background:rgb(var(--ink-rgb) / .05)}.preview-meta{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.preview-title{font-size:16px;font-weight:500;margin-bottom:4px}.preview-short{font-size:12.5px;color:var(--ink-2);line-height:1.5}.preview-hint{margin-top:10px;font-size:10px;color:var(--ink-4);letter-spacing:.06em}.era-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--c, var(--era));box-shadow:0 0 8px var(--c, var(--era))}@keyframes fadeUp{0%{opacity:0;margin-top:6px}to{opacity:1;margin-top:0}}.footer{position:absolute;left:0;right:0;bottom:0;height:44px;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 24px;pointer-events:none}.footer>*{pointer-events:auto}.hints{display:flex;gap:18px;font-size:10px;color:var(--ink-4)}.hints b{font:500 9px var(--mono);letter-spacing:.12em;color:var(--ink-3);margin-right:4px}.zoom-controls{display:flex;align-items:center;gap:6px}.pill{height:26px;padding:0 12px;border-radius:13px;font:500 10px var(--mono);letter-spacing:.06em;color:var(--ink-3);border:1px solid var(--line);background:rgb(var(--panel-rgb) / .6);transition:all .2s}.pill:hover{color:var(--ink)}.pill.on{color:var(--ink);border-color:rgb(var(--ink-rgb) / .22);background:rgb(var(--ink-rgb) / .07)}.icon-btn{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:var(--ink-3);border:1px solid var(--line);background:rgb(var(--panel-rgb) / .6);transition:all .2s}.icon-btn:hover:not(:disabled){color:var(--ink);border-color:rgb(var(--ink-rgb) / .25)}.icon-btn svg{display:block}.icon-btn:disabled{opacity:.3;cursor:default}.detail{position:absolute;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:40;display:flex;flex-direction:column;-webkit-user-select:text;user-select:text;background:rgb(var(--panel-rgb) / .86);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border-left:1px solid color-mix(in srgb,var(--era) 30%,transparent);box-shadow:-30px 0 80px rgb(var(--shadow-rgb) / .5),inset 1px 0 40px -20px var(--era-glow);animation:drawerIn .4s cubic-bezier(.23,1,.32,1)}@keyframes drawerIn{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.detail-bar{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--line)}.detail-count{font:10px var(--mono);color:var(--ink-3);letter-spacing:.08em}.detail-scroll{flex:1;overflow-y:auto;padding:26px 30px 40px}.hero{margin:-26px -30px 22px;position:relative;background:rgb(var(--ink-rgb) / .04)}.hero img{display:block;width:100%;height:240px;object-fit:cover;object-position:50% 25%}.hero figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 6px;font-size:9.5px;color:#fffc;background:linear-gradient(transparent,#0009);text-align:right}.hero figcaption a{color:inherit}.detail-meta{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.detail-meta .sep{color:var(--ink-4)}.detail h2{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.12;margin-bottom:10px}.detail-short{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-2);margin-bottom:16px}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.type-badge,.badge{font-size:10.5px;padding:3px 10px;border-radius:10px;border:1px solid var(--line);color:var(--ink-2)}.type-badge{border-color:color-mix(in srgb,var(--era) 40%,transparent);background:color-mix(in srgb,var(--era) 12%,transparent)}.detail-body p{font-size:14px;line-height:1.8;color:var(--ink-2);font-weight:300;margin-bottom:14px}.detail section{margin-top:26px}.detail h3{font:500 9px var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px}.refs{list-style:none;display:flex;flex-direction:column;gap:6px}.ref{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border-radius:8px;background:rgb(var(--ink-rgb) / .03);border:1px solid var(--line);font:12px var(--mono);color:var(--ink-2)}.ref a{color:color-mix(in srgb,var(--era) 60%,var(--tint));text-decoration:none}.ref a:hover{text-decoration:underline}.ref-kind{font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);min-width:78px}.map-wrap{position:relative;height:190px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.map-wrap iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) saturate(.5) brightness(.9)}.map-wrap a{position:absolute;right:8px;bottom:8px;font-size:10px;padding:3px 8px;border-radius:8px;background:rgb(var(--panel-rgb) / .8);color:var(--ink-2);text-decoration:none}.ctx-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ctx-pill{font-size:11px;padding:3px 10px;border-radius:10px;color:var(--ink-2);background:color-mix(in srgb,var(--c, #8892b0) 16%,transparent);border:1px solid color-mix(in srgb,var(--c, #8892b0) 35%,transparent)}.ctx-pill.person{border-style:dashed}.ctx-pill.linked{color:var(--ink);border-style:solid;border-color:var(--era)}.related{display:flex;flex-direction:column;gap:4px}.related-item{display:flex;gap:12px;align-items:center;text-align:left;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--ink-2);transition:background .2s}.related-item:hover{background:rgb(var(--ink-rgb) / .05);color:var(--ink)}.related-thumb{width:34px;height:34px;flex:none;border-radius:6px;object-fit:cover;background:rgb(var(--ink-rgb) / .06)}.related-year{font:10px var(--mono);color:var(--c);min-width:86px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font:11px var(--mono);color:var(--ink-3);padding:3px 8px;border-radius:6px;background:rgb(var(--ink-rgb) / .04)}.tag:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .09)}.quote{margin:6px 0 4px;padding:16px 18px;border-radius:10px;background:color-mix(in srgb,var(--era) 8%,transparent);border:1px solid color-mix(in srgb,var(--era) 22%,transparent)}.quote blockquote{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.45;color:var(--ink)}.quote blockquote:before{content:"“"}.quote blockquote:after{content:"”"}.quote figcaption{margin-top:8px;font:10.5px var(--mono);letter-spacing:.04em;color:var(--ink-3)}.quote figcaption a{color:inherit;text-decoration:none}.quote figcaption a:hover{color:var(--ink);text-decoration:underline}.debate .detail-body p{font-size:13.5px}.detail-path{color:var(--ink-2)}.teachings{list-style:none;display:flex;flex-direction:column;gap:8px}.teachings li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}.teachings li:before{content:"";position:absolute;left:2px;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--era)}.works{list-style:none;display:flex;flex-direction:column;gap:6px}.works li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 12px;border-radius:8px;border:1px solid var(--line);background:rgb(var(--ink-rgb) / .03)}.work-title{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink)}.work-year{font:10px var(--mono);color:var(--ink-3);align-self:center}.work-note{grid-column:1 / -1;font-size:12px;color:var(--ink-3);line-height:1.5}button.ctx-pill{cursor:pointer;transition:background .2s,color .2s}button.ctx-pill:hover{color:var(--ink);background:color-mix(in srgb,var(--era, #8892b0) 22%,transparent)}.father-bar{border-style:solid}.father-bar span{color:color-mix(in srgb,var(--c) 75%,var(--tint))}.results-icon{color:var(--ink-3);flex:none}.paths-menu{position:relative}.paths-menu .pill{display:flex;align-items:center;gap:5px}.paths-pop{position:absolute;right:0;bottom:34px;width:320px;max-height:60vh;overflow-y:auto;padding:6px;border-radius:14px;background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--line);box-shadow:0 20px 50px rgb(var(--shadow-rgb) / .4);animation:fadeUp .15s ease-out}.paths-pop button{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border-radius:9px;text-align:left}.paths-pop button:hover{background:rgb(var(--ink-rgb) / .06)}.paths-pop b{font-size:13px;font-weight:600;color:var(--ink)}.paths-pop span{font-size:11.5px;line-height:1.45;color:var(--ink-3)}.paths-pop em{font:normal 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.path-banner{position:absolute;z-index:25;transform:translate(-50%);width:min(560px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);box-shadow:0 10px 30px rgb(var(--shadow-rgb) / .3);animation:fadeUp .2s ease-out}.path-text{flex:1;min-width:0}.path-title{font:500 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}.detail-body .loading{color:var(--ink-4);font-style:italic}.path-note.inline{margin-bottom:16px;padding:10px 12px;border-radius:8px;background:rgb(var(--ink-rgb) / .05)}.path-note{font-size:12.5px;line-height:1.45;color:var(--ink-2)}@media (max-width: 900px){.brand p,.hints{display:none}.header{padding:14px 16px 0;gap:10px 12px;flex-wrap:wrap}.brand{flex:1;min-width:0}.brand h1{margin:8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readout-label{display:none}.readout{min-width:0}.readout-year{font-size:20px}.controls{order:3;flex-basis:100%;max-width:none;min-width:0;gap:8px}.filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;width:100%;scrollbar-width:none}.filter{flex:none}.minimap-wrap{left:16px;right:16px}.context-toggle{display:none}.hero img{height:150px}.detail{top:55%;width:100%;border-left:0;border-top:1px solid color-mix(in srgb,var(--era) 30%,transparent);border-radius:18px 18px 0 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
