:root{color-scheme:dark;--bg:#070911;--ink:#ebecf7;--muted:#9296ab;--line:#2a2b40;--red:#fb5268;--pur:#a88ffc;--gold:#eeb57e;--panel:#10111d;--aside:283px;--detail:410px}*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--pur);outline-offset:2px}button:disabled{opacity:.35;cursor:default}a{color:#a8c6ff;text-decoration:none}a:hover{text-decoration:underline}#graph{position:fixed;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 40%,transparent 34%,rgba(1,2,8,.6) 95%),linear-gradient(90deg,#060810 0,transparent 18%,transparent 84%,#060810 100%)}.topbar{height:75px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;gap:36px;padding:0 26px;background:linear-gradient(180deg,#080a13fa,#080a13e8);border-bottom:1px solid #252637}.brand{flex:0 0 253px;display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;color:inherit;text-align:left}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--red);font-weight:1000;font-stretch:condensed;font-size:28px;letter-spacing:-.16em;padding-right:4px;clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,0 100%);box-shadow:0 0 38px #ed49652b}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font-size:16px;letter-spacing:.14em;white-space:nowrap}.brand-copy em{font-style:normal;color:var(--red)}.brand-copy small{font-size:8px;letter-spacing:.2em;color:#7e8199}.search-box{position:relative;flex:1;max-width:650px;height:42px;display:flex;align-items:center;background:#171827;border:1px solid #34354c;border-radius:10px;box-shadow:0 8px 30px #0003}.search-box:focus-within{border-color:#ab8ff3;box-shadow:0 0 0 4px #a18cff10}.search-box input{background:transparent;border:0;width:100%;height:100%;padding:0 36px 0 43px;min-width:0;color:#f3f3fd;outline:none;font-size:13px}.search-box input::placeholder{color:#85869c}.search-icon{position:absolute;left:16px;font-size:26px;line-height:1;color:#a69be9;pointer-events:none}.search-box kbd{position:absolute;right:12px;font-size:11px;color:#7b7e9c;border:1px solid #45465b;border-radius:4px;padding:2px 6px}.top-actions{display:flex;gap:9px;margin-left:auto}.button{border:1px solid #32364a;background:#181a2a;color:#e9e9f4;padding:10px 14px;border-radius:9px;font-size:12px;white-space:nowrap}.button:hover{background:#24263c;border-color:#4b4d69}.button.primary{background:#e64b63;border-color:#e64b63;color:white;font-weight:750}.button.primary:hover{background:#fa5c71}.button.subdued{background:#131522}.mobile-toggle{display:none}.sidebar{position:fixed;left:0;top:75px;bottom:0;width:var(--aside);z-index:10;background:linear-gradient(180deg,#10111dda,#0e101ae8);border-right:1px solid #252737;backdrop-filter:blur(18px)}.sidebar-scroll{padding:29px 19px 30px 22px;height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#45465f transparent}.eyebrow{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.19em}.sidebar h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:27px;line-height:1.18;margin:13px 0 15px}.sidebar h1 i{color:#bdadfd;font-weight:400}.intro{color:#a0a0b4;font-size:12px;line-height:1.75}.microstats{display:flex;gap:13px;padding-top:13px}.microstats>div{display:flex;flex-direction:column;gap:1px}.microstats b{font-size:21px;font-weight:650;letter-spacing:-.03em}.microstats small{font-size:9px;color:#7d8197;letter-spacing:.07em}.rule{height:1px;background:#303046;margin:24px 0}.sidebar-section{margin-bottom:25px}.section-title{color:#8c8da8;font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:13px}.row-title{display:flex;justify-content:space-between;align-items:center}.inline-action{border:0;background:none;color:#c3aaff;padding:0;font-size:11px}.segmented{display:flex;background:#151624;border:1px solid #2a2d42;padding:3px;border-radius:9px;gap:2px}.segmented button{flex:1;background:none;border:0;color:#9092aa;font-size:11px;padding:9px 3px;border-radius:7px}.segmented button.active{background:#333047;color:#f7f4ff}.trail{display:flex;gap:10px;align-items:center;width:100%;padding:10px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#e9e9f3;text-align:left}.trail:hover{background:#222437;border-color:#34354c}.trail b{font-size:12px;display:block;font-weight:650}.trail small{font-size:10px;display:block;color:#8a8ea6;margin-top:3px}.trail .arrow{margin-left:auto;color:#737891}.trail-orb{width:11px;height:11px;border-radius:50%;flex-shrink:0;box-shadow:0 0 16px currentColor}.trail-orb.violet{background:#ba91ff;color:#ba91ff}.trail-orb.red{background:#fa6375;color:#fa6375}.trail-orb.amber{background:#f0b97a;color:#f0b97a}.trail-orb.blue{background:#6bbaff;color:#6bbaff}.control-label{display:block;color:#72758d;font-size:9px;font-weight:700;letter-spacing:.09em;margin:16px 0 7px}.sidebar select{width:100%;padding:10px 9px;background:#171827;color:#d6d7e7;border:1px solid #323347;border-radius:7px;font-size:11px}.checkboxline{display:flex;align-items:center;gap:10px;margin:15px 0 0;color:#aaacc0;font-size:11px;cursor:pointer}.checkboxline input{accent-color:var(--red);width:14px;height:14px}.path-section p{font-size:11px;color:#898da2;line-height:1.6}#pathResult{font-size:11px;line-height:1.6}.pathstep{color:#dee1ff;border-left:1px solid #5b4d90;padding:4px 0 4px 10px;cursor:pointer}.pathstep:hover{color:#fff;background:#313047}.pathstep small{color:#a68ff1;display:block}.path-actions{margin:9px 0}footer{border-top:1px solid #282a3b;padding:20px 0 10px;color:#666b82;font-size:10px;line-height:1.7}footer span{color:#7c8096}.stage-ui{position:absolute;inset:75px 0 0 var(--aside);pointer-events:none}.stage-ui button,.stage-ui .breadcrumb{pointer-events:auto}.context-title{position:absolute;top:22px;left:26px;display:flex;align-items:center;gap:8px;color:#b8bbd1;letter-spacing:.15em;font-size:10px;font-weight:700}.context-title small{display:block;letter-spacing:0;font-size:11px;font-weight:400;color:#757990;margin-left:8px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#76e2c9;box-shadow:0 0 14px #76e2c9}.breadcrumb{position:absolute;left:26px;top:50px;max-width:55vw;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.breadcrumb button{border:1px solid #313249;border-radius:5px;background:#141625bf;color:#bcc1d8;font-size:10px;padding:5px 7px}.breadcrumb button:hover{color:#fff}.graph-controls{position:absolute;right:25px;bottom:44px;display:flex;flex-direction:column;gap:6px}.graph-controls button{width:37px;height:37px;border:1px solid #3a3c51;background:#171928dd;border-radius:9px;color:#efeff6;font-size:19px}.graph-controls button:hover{background:#303047}.canvas-footer{position:absolute;left:24px;right:100px;bottom:16px;display:flex;gap:16px;align-items:center;color:#8c91a8;font-size:10px;white-space:nowrap}.canvas-footer span:last-child{margin-left:auto}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle}.detail-panel{position:fixed;right:0;top:75px;bottom:0;width:var(--detail);background:#0f111df7;border-left:1px solid #34364a;backdrop-filter:blur(24px);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);z-index:15;display:flex;flex-direction:column;box-shadow:-22px 0 65px #0005}.detail-panel.open{transform:translateX(0)}.panel-top{height:50px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 21px;border-bottom:1px solid #292c3c}.panel-caption{font-size:10px;color:#8289a3;letter-spacing:.15em;font-weight:750}.tiny-ruby{color:var(--red);margin-right:6px}.panel-tools{display:flex;gap:7px}.panel-tools button{border:1px solid #2b2c3f;background:#1b1d30;border-radius:7px;color:#d7d9ea;width:27px;height:27px;font-size:19px}.panel-body{overflow:auto;flex:1;padding:23px 23px 50px;scrollbar-width:thin;scrollbar-color:#414259 transparent}.node-kicker{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:13px}.pill{font-size:10px;letter-spacing:.035em;padding:5px 8px;border:1px solid #48475f;border-radius:5px;color:#c9c7e1;display:inline-flex;align-items:center;gap:5px}.pill.red{color:#f9a4b1;background:#4a1c2c63;border-color:#753c4a}.pill.green{color:#9feac8;border-color:#366b62;background:#16362c4f}.pill.gold{color:#f5d29b;border-color:#716344}.pill.muted{color:#9899b6}.node-heading{font:normal 32px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:3px 0 12px}.node-description{font-size:13px;line-height:1.75;color:#b0b3c7;margin:11px 0 16px}.meta-line{font-size:11px;color:#7c819b;display:flex;flex-wrap:wrap;gap:9px}.meta-line span:not(:last-child)::after{content:'·';margin-left:9px;color:#535972}.panel-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.panel-buttons .button{padding:9px 12px}.tabs{display:flex;gap:15px;border-bottom:1px solid #343549;margin:23px -23px 17px;padding:0 23px;position:sticky;top:-23px;background:#10111df5;z-index:2}.tabs button{border:0;background:none;color:#898da7;padding:13px 0 10px;font-size:11px;border-bottom:2px solid transparent}.tabs button.active{color:white;border-color:var(--red)}.panel-h3{font-size:10px;letter-spacing:.14em;color:#aab0c9;margin:22px 0 12px;font-weight:800}.panel-card{border:1px solid #2b2e42;background:#161825;border-radius:11px;padding:12px 13px;margin:9px 0}.panel-card:hover{border-color:#474962}.panel-card.clickable{cursor:pointer}.panel-card strong{font-size:12px;font-weight:650;line-height:1.4;display:block}.panel-card p{font-size:11px;line-height:1.6;color:#979bb5;margin:6px 0 0}.panel-card .card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.card-mini{font-size:10px;color:#81859f}.card-mini b{color:#b0b5cf}.emblem{width:8px;height:8px;border-radius:50%;flex:none}.cards-list{display:flex;flex-direction:column;gap:7px}.link-row{width:100%;border:1px solid #303247;display:flex;gap:11px;align-items:center;text-align:left;background:#171928;color:#e8e9f2;padding:10px 11px;border-radius:9px}.link-row:hover{background:#25273c;border-color:#56576e}.link-row .sub{display:block;font-size:10px;color:#8589a2;margin-top:3px}.link-row .lead{font-weight:600;line-height:1.4}.link-row .end{margin-left:auto;color:#8888a7;font-size:17px}.mini-icon{font-size:17px;color:#b4a2fa;width:23px;flex:none;text-align:center}.data-note{background:#1b1929;border-left:2px solid #977cdb;border-radius:4px;padding:10px 12px;color:#b0aac9;font-size:11px;line-height:1.6;margin:12px 0}.spoiler-gate{background:#281921;border:1px solid #754457;border-radius:9px;color:#f7bac7;padding:12px 14px;text-align:left;font-size:12px;width:100%;line-height:1.5}.spoiler-gate:hover{background:#36212d}.source-link{display:block;color:#a8bfff;margin:7px 0;font-size:11px;overflow-wrap:anywhere}.source-link::before{content:'↗ ';color:#91a7d3}.fact-group{margin:12px 0}.fact-row{border-bottom:1px solid #2c2c43;padding:10px 0;font-size:11px;line-height:1.55;color:#d0d2e1}.fact-row summary{cursor:pointer;color:#e4e4f5;list-style:none;display:flex;align-items:flex-start;gap:9px}.fact-row summary::before{content:'+';color:#baa5ff;font-size:14px}.fact-row[open] summary::before{content:'−'}.fact-row p{color:#abb0c5;font-size:11px;margin:9px 0}.fact-evidence{font-size:10px;color:#777d96}.empty-note{color:#898ca5;font-size:12px;line-height:1.7}.tooltip{position:fixed;pointer-events:none;z-index:19;background:#181b2aef;border:1px solid #4c506b;border-radius:9px;padding:9px 12px;max-width:260px;box-shadow:0 12px 40px #0009;font-size:11px;line-height:1.6}.tooltip b{color:white;font-size:12px}.tooltip small{color:#a0a5c1}.hidden{display:none!important}.results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#151725;border:1px solid #4a4b66;border-radius:11px;box-shadow:0 20px 55px #0009;overflow:auto;max-height:min(65vh,475px);padding:6px}.result{display:flex;width:100%;align-items:center;gap:11px;text-align:left;background:transparent;border:0;color:#dfe3f4;padding:10px;border-radius:7px}.result:hover,.result.active{background:#343148}.result .result-text{flex:1;min-width:0}.result strong{display:block;font-size:12px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.result small{display:block;color:#868ca5;margin-top:3px;font-size:10px}.result-type{font-size:10px;color:#a99ad8;white-space:nowrap}.result-empty{padding:17px;color:#999bb3;font-size:12px}.toasts{position:fixed;bottom:75px;left:calc(var(--aside) + 25px);z-index:30}.toast{background:#222238;border:1px solid #494966;padding:11px 15px;margin-top:8px;border-radius:8px;box-shadow:0 15px 35px #0006;color:#e7e7f3}.modal{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;background:#030409bd;backdrop-filter:blur(7px)}.modal-content{width:min(520px,100%);max-height:90vh;overflow:auto;border:1px solid #3f4257;border-radius:17px;background:#171925;padding:28px;box-shadow:0 30px 90px #000c;position:relative}.modal-content h2{font:normal 30px Georgia,serif}.modal-content p{font-size:12px;line-height:1.8;color:#b1b5c8}.modal-close{position:absolute;top:12px;right:16px;border:0;background:transparent;color:white;font-size:24px}#aboutCounts{color:#d7bedf;padding:14px 0;font-size:12px}.dossier-footer{margin:27px 0;padding-top:15px;border-top:1px solid #34364d;color:#777d95;font-size:10px;line-height:1.6}.count-tag{color:#b9adea;font-size:10px}.focus-only{color:#999ab5}.section-caption{color:#777f9b;letter-spacing:.08em;font-size:10px;margin:15px 0 8px}
@media(max-width:1150px){:root{--aside:238px;--detail:370px}.brand{flex-basis:214px}.topbar{gap:17px;padding:0 16px}.brand-copy small{font-size:7px}.sidebar-scroll{padding-left:16px;padding-right:14px}.context-title small{display:none}}
@media(max-width:780px){:root{--aside:0px;--detail:100vw}.topbar{height:65px;gap:10px;padding:0 12px}.brand{flex:0 0 auto}.brand-mark{width:35px;height:35px;font-size:24px}.brand-copy{display:none}.search-box{height:40px;min-width:0}.search-box input{font-size:12px;padding-right:15px}.search-box kbd{display:none}.top-actions .button:not(.mobile-toggle){display:none}.mobile-toggle{display:block}.sidebar{top:65px;bottom:0;width:min(300px,88vw);transform:translateX(-110%);transition:transform .25s;box-shadow:16px 0 40px #0007}.sidebar.mobile-open{transform:translateX(0)}.stage-ui{inset:65px 0 0 0}.detail-panel{top:auto;bottom:0;left:0;right:0;height:min(72vh,690px);width:100%;transform:translateY(105%);border-left:0;border-top:1px solid #4c4d67;border-radius:16px 16px 0 0}.detail-panel.open{transform:translateY(0)}.panel-body{padding:15px 18px 42px}.tabs{margin-left:-18px;margin-right:-18px;padding:0 18px;top:-15px}.context-title{left:14px;top:13px}.breadcrumb{left:14px;top:37px}.graph-controls{right:12px;bottom:48px}.canvas-footer{left:13px;bottom:15px;gap:12px}.desktop-only{display:none}.toasts{left:15px;bottom:95px}.node-heading{font-size:27px}}
@media(max-width:400px){.canvas-footer span:nth-child(3){display:none}.search-box input::placeholder{font-size:11px}.brand-mark{width:30px;height:30px}}

/* V3: inspectable official ensemble, usable without following dozens of graph spokes */
.ensemble{margin:17px 0 24px;border:1px solid #454058;background:linear-gradient(135deg,#201b2f,#141727);border-radius:13px;overflow:hidden}
.ensemble summary{font-size:11px;font-weight:780;letter-spacing:.065em;cursor:pointer;padding:15px 13px;color:#f4d1d9;list-style-position:inside;line-height:1.5}
.ensemble summary:hover{background:#35263a}
.ensemble[open] summary{border-bottom:1px solid #474057}
.ensemble >p{margin:9px 13px 12px}
.ensemble-rows{display:flex;flex-direction:column;max-height:390px;overflow:auto;scrollbar-color:#4c405e transparent;scrollbar-width:thin}
.ensemble-row{display:grid;grid-template-columns:1fr 18px 1fr;gap:5px;align-items:center;padding:4px 9px;border-bottom:1px solid #ffffff0a}
.ensemble-row:hover{background:#48345566}
.ensemble-row button{padding:7px 4px;text-align:left;border:0;background:transparent;color:#dbe0f3;font-size:11px;line-height:1.25;cursor:pointer}
.ensemble-row button:last-child{color:#bfb4f2}
.ensemble-row button:hover{text-decoration:underline;color:white}
.ensemble-row .end{color:#7b748f;text-align:center}
.ensemble .data-note{margin:12px 13px}
@media(max-width:780px){.ensemble-row button{font-size:10px}.ensemble-rows{max-height:275px}}

/* V4 — emphasize genuine story paths; the full data remains accessible through All links. */
.reveal-everything{display:flex;width:100%;margin:14px 0 16px;align-items:center;justify-content:space-between;text-align:left;padding:12px 13px;background:linear-gradient(115deg,#392438,#201931);color:#f6daed;border:1px solid #6d4567;border-radius:10px;font-size:12px;cursor:pointer;font-weight:650}
.reveal-everything:hover{background:linear-gradient(115deg,#4b304d,#291e42);border-color:#ad72a3}
.reveal-everything span{font-size:9px;color:#d3aac7;font-weight:500}
.thread-list .link-row{border-left:2px solid #9475b2;margin-bottom:6px;padding-left:11px;border-radius:6px;background:#20203396}
.thread-list .link-row:hover{border-left-color:#e6afbc;background:#352739}
.tabs{gap:1px}.tabs button{font-size:11px;white-space:nowrap;padding:10px 9px}.tabs .count-tag{font-size:9px}
@media(max-width:780px){.tabs{gap:0}.tabs button{font-size:10px;padding:10px 6px}.reveal-everything{font-size:11px}}

/* Path Finder V4.1: persistent route panel above the graph. */
.path-dock{position:absolute;top:96px;left:20px;right:calc(var(--detail) + 22px);max-height:min(36vh,290px);min-width:280px;overflow:auto;pointer-events:auto;background:linear-gradient(125deg,#1b1930f7,#101523f7);border:1px solid #8673c6;border-radius:13px;padding:12px 14px;box-shadow:0 13px 42px #000a;z-index:18;scrollbar-width:thin}
.path-dock-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.path-dock-title{font-weight:800;color:#d6b9ff;font-size:10px;letter-spacing:.13em}.path-close{background:#303045;border:1px solid #504866;border-radius:7px;color:#fff;cursor:pointer;font-size:17px;width:28px;height:26px}.path-dock-summary{font-size:12px;color:#aab0d4;margin:10px 0;line-height:1.6}.path-dock-summary b{color:#fff}.path-dock-hint{color:#9b9ab8;font-size:11px;line-height:1.6}.path-dock-steps{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:5px 0 10px;scrollbar-width:thin}.path-dock-step{display:inline-flex;flex:0 0 auto;gap:7px;align-items:center;max-width:240px;background:#27283e;border:1px solid #57516f;border-radius:8px;color:#ececff;padding:8px 9px;font-size:11px;cursor:pointer}.path-dock-step:hover,.path-dock-step:focus-visible{border-color:#e5c5ff;background:#373250}.path-dock-order{color:#ffe1a4;font-size:10px}.path-dock-link{color:#ffd88b;border:1px solid #65577b;border-radius:8px;cursor:pointer;flex-shrink:0;background:#252236;padding:7px 9px}.path-dock-link:hover{background:#44365f}.path-dock-actions{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap}.path-dock-actions .button,.path-dock-search{font-size:10px;padding:7px 10px}.path-section .pathstep{display:block;background:transparent;text-align:left;border-top:0;border-bottom:0;border-right:0;width:100%;font:inherit}.path-section .pathstep:hover{background:#313047}.path-dock ~ *{pointer-events:auto}
@media(min-width:781px) and (max-width:1100px){.path-dock{right:calc(var(--detail) + 9px);left:8px;min-width:200px}.path-dock-step{max-width:140px}}
@media(max-width:780px){.path-dock{position:fixed;top:78px;left:10px;right:10px;max-height:24vh;min-width:0;padding:9px 11px;z-index:25}.path-dock-summary{margin:5px 0;font-size:11px}.path-dock-steps{padding:3px 0}.path-dock-step{max-width:160px;font-size:10px;padding:6px}.path-dock-actions{gap:5px;margin-top:4px}.path-dock-actions .button{padding:6px;font-size:10px}.path-dock-hint{margin:7px 0}}
/* Keep autocomplete clickable while the route card is on screen. */
.topbar:has(.search-box:focus-within){z-index:40}
