:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:"Sora","Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;--bg:#050916;--bg-soft:#0a1228;--card:#0d1732;--card-2:#111f40;--line:#94a3b840;--text:#e8eefc;--muted:#a4b4da;--accent:#38bdf8;--body-bg:radial-gradient(circle at 12% 10%,#38bdf824,transparent 38%),radial-gradient(circle at 82% 24%,#0ea5e91f,transparent 42%),linear-gradient(160deg,#040816 0%,#09122a 52%,#0b1732 100%);--topbar-bg:#080e22d6;--topbar-border:#94a3b847;--panel-bg:#0a1228b3;--panel-border:#94a3b840;--button-bg:linear-gradient(180deg,#1a2b55,#122040);--button-border:#94a3b873;--button-border-hover:#7dd3fc8c;--button-text:#e8eefc;--input-bg:#0d1732;--input-border:#94a3b866;--input-placeholder:#8ba0ce;--search-bg:#070d1ef5;--search-item-hover:#38bdf81f;--switch-bg:#091025bf;--switch-border:#94a3b861;--switch-separator:#94a3b847;--switch-active:linear-gradient(180deg,#1b3263,#16305f);--stage-bg:linear-gradient(160deg,#0d1732e6,#0a132cc7);--stage-border:#94a3b838;--node-bg:linear-gradient(165deg,#122046ed,#0e1934f2);--node-bg-visited:linear-gradient(165deg,#183160ed,#101f42f2);--node-border:#94a3b847;--node-subtitle:#b8c6eb;--modal-bg:linear-gradient(160deg,#07122d,#0d1b3a);--modal-border:#94a3b852;--modal-header-border:#94a3b833}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0}body{color:var(--text);background:var(--body-bg);font-family:Avenir Next,Nunito Sans,Trebuchet MS,sans-serif;transition:background .28s,color .28s}a{color:#7dd3fc}.pageShell{flex-direction:column;min-height:100vh;animation:.62s cubic-bezier(.2,.8,.2,1) both pageFadeIn;display:flex}.topBar{z-index:35;border:1px solid var(--topbar-border);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.95rem;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin:.85rem;padding:.85rem;transition:background-color .25s,border-color .25s;display:flex;position:sticky;top:0}.titleBlock h1{letter-spacing:.01em;font-size:clamp(1rem,1.6vw,1.45rem);font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;margin:0;font-weight:800}.titleBlock p{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.topBarActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.topBar button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:.65rem;padding:.5rem .85rem}.topBar button:hover{border-color:var(--button-border-hover)}.legend{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.8rem;margin:0 .9rem .6rem;padding:.55rem .75rem;display:inline-flex}.legend span{color:#d8e2fb;align-items:center;gap:.4rem;font-size:.84rem;display:inline-flex}.bannerSwitch{border:1px solid var(--switch-border);background:var(--switch-bg);border-radius:.65rem;align-items:stretch;display:flex;overflow:hidden}.bannerSwitch button{color:#d9e6ff;cursor:pointer;background:0 0;border:0;padding:.5rem .7rem;font-size:.82rem}.viewSwitchGroup{align-items:stretch;display:flex}.viewSwitchGroup button{min-width:5.3rem}.viewSwitchGroup button+button{border-left:1px solid var(--switch-separator)}.viewSwitchGroup button.active{background:var(--switch-active);color:var(--button-text)}.zoomGroup{border-left:1px solid var(--switch-separator);display:flex}.zoomGroup button{min-width:2.2rem;padding:.48rem .55rem;font-size:.92rem}.zoomGroup button+button{border-left:1px solid var(--switch-separator)}.zoomGroup button:disabled{opacity:.45;cursor:not-allowed}.zoomGroup .zoomValue{min-width:3.45rem;font-size:.8rem}.dot{border-radius:999px;width:11px;height:11px;display:inline-block}.dot.base{background:#5b6b94}.dot.visited{background:#38bdf8}.dot.read{background:#10b981;border:2px solid #e2e8f0}.searchBox{width:min(28rem,70vw);position:relative}.searchBox input{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);border-radius:.65rem;padding:.58rem .74rem}.searchBox input::placeholder{color:var(--input-placeholder)}.searchResults{z-index:55;border:1px solid var(--input-border);background:var(--search-bg);border-radius:.65rem;max-height:20rem;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + .34rem);left:0;right:0;overflow-y:auto;box-shadow:0 14px 28px #02061773}.searchResults li+li{border-top:1px solid var(--switch-separator)}.searchResults button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;padding:.64rem .74rem}.searchResults button:hover{background:var(--search-item-hover)}.searchResults button strong{display:block}.searchResults button span{color:var(--muted);margin-top:.12rem;font-size:.8rem;display:block}.boardWrap,.diagramWrap{flex:1;min-height:0}.diagramScroller{height:100%;padding:.45rem 1rem 1.5rem;overflow:auto}.diagramCanvas{background:radial-gradient(circle at 14% 16%,#38bdf82e,#0000 32%),radial-gradient(circle at 82% 20%,#2dd4bf1f,#0000 30%),linear-gradient(135deg,#ffffff09 1px,#0000 1px) 0 0/44px 44px,linear-gradient(45deg,#ffffff05 1px,#0000 1px) 22px 22px/44px 44px,linear-gradient(165deg,#070f23,#0a1430 50%,#081027);border:1px solid #4755698c;border-radius:1.2rem;margin:0 auto;animation:.86s cubic-bezier(.2,.8,.2,1) .12s both diagramReveal;position:relative;overflow:hidden;box-shadow:0 22px 50px #02061780,inset 0 1px #ffffff0d}.diagramSvg{pointer-events:none;position:absolute;inset:0}.diagramPath{fill:none;stroke-linecap:round}.diagramPath.backbone{stroke:#749cff94;stroke-width:2.8px}.diagramPath.stageToNode{stroke:#7d9cda6b;stroke-width:1.8px;stroke-dasharray:1 9}.diagramPath.primary{stroke:#6694ffad;stroke-width:2.2px}.diagramPath.selected{stroke:#38bdf8;stroke-width:3.3px;filter:drop-shadow(0 0 8px #38bdf86b)}.diagramStage{color:#fff;letter-spacing:.01em;font-size:.98rem;font-weight:800;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;background:linear-gradient(#1e40afdb,#3b82f6c7);border:1px solid #ffffffa6;border-radius:.9rem;justify-content:center;align-items:center;gap:.55rem;display:inline-flex;position:absolute;box-shadow:0 10px 22px #1e40af38}.stageBadge{text-align:center;background:var(--cluster-color);min-width:2rem;font-size:.75rem;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;border-radius:.46rem;padding:.18rem .35rem;font-weight:800}.diagramNode{isolation:isolate;border:1px solid #94a3b847;border-left:4px solid var(--cluster-color);color:#e8efff;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(16px)saturate(155%);background:linear-gradient(155deg,#ffffff08,#fff0 50%),linear-gradient(165deg,#081021e6,#060c19f7);border-radius:.82rem;flex-direction:column;justify-content:center;gap:.25rem;padding:.65rem .7rem .55rem;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;position:absolute;overflow:hidden;box-shadow:0 14px 34px #02061785,inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0a}.diagramNode:before,.roadNode:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 14% 10%,#ffffff0f,#0000 26%),radial-gradient(circle at 86% 84%,#7dd3fc08,#0000 34%),linear-gradient(145deg,#ffffff08,#fff0 50%);position:absolute;inset:0}.diagramNode>*,.roadNode>*{z-index:1;position:relative}.diagramNode:hover{box-shadow:0 18px 36px #02061799,inset 0 1px 0 #ffffff14,0 0 0 1px color-mix(in srgb,var(--cluster-color)38%,transparent),0 0 24px color-mix(in srgb,var(--cluster-color)28%,transparent);transform:translateY(-1px)scale(1.01)}.diagramNode.selected{z-index:3;outline:3px solid #0ea5e9d1}.diagramNode.visited{background:linear-gradient(165deg,#0e2038f0,#091428fa)}.diagramNode.read{background:linear-gradient(155deg,#ffffff0a,#fff0 48%),linear-gradient(165deg,#0e4835f0,#0a3527fa);border-color:#10b981e0;box-shadow:0 12px 28px #10b98138,inset 0 1px #ffffff1a}.diagramNodeTitle{font-size:.98rem;font-weight:750;line-height:1.2;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif}.diagramNodeMeta{color:#9eb4dc;opacity:.95;font-size:.74rem}.diagramTick{color:#fff;background:#0ea5e9;border:1px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;top:-.56rem;right:-.5rem;box-shadow:0 4px 10px #0ea5e959}.diagramTick.read{background:#16a34a}.boardScroller{height:100%;padding:.4rem .9rem 1.1rem;overflow:auto}.boardInner{max-width:1280px;margin:0 auto;padding:.1rem .2rem 1.6rem;position:relative}.boardLinks{pointer-events:none;z-index:0;position:absolute;inset:0}.boardPath{stroke:#93c5fd40;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-dasharray:5 5}.boardPath.emphasized{stroke:#38bdf8e0;stroke-width:2.5px;stroke-dasharray:none}.boardStages{z-index:1;flex-direction:column;gap:1rem;display:flex;position:relative}.stageSection{--cluster-color:var(--accent);border:1px solid var(--stage-border);border-left:3px solid var(--cluster-color);background:radial-gradient(circle at 12% 8%,#38bdf814,#0000 34%),radial-gradient(circle at 96% 92%,#3b82f60f,#0000 34%),linear-gradient(165deg,#070e1fe6,#050b19f5);border-radius:1rem;padding:.8rem;box-shadow:inset 0 1px #ffffff08}.stageHeader{align-items:center;gap:.75rem;margin-bottom:.72rem;display:flex}.stageNumber{text-align:center;color:#081122;background:var(--cluster-color);letter-spacing:.04em;border-radius:.5rem;min-width:2.35rem;padding:.32rem .45rem;font-weight:700}.stageHeader h2{font-size:1rem;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;margin:0;font-weight:800}.stageHeader p{color:var(--muted);font-size:.81rem;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;margin:.16rem 0 0;font-weight:600}.stageGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;display:grid}.roadNode{isolation:isolate;border:1px solid var(--node-border);border-left:3px solid var(--cluster-color);text-align:left;width:100%;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(16px)saturate(155%);background:linear-gradient(155deg,#ffffff08,#fff0 50%),linear-gradient(165deg,#081021e0,#060c19f5);border-radius:.78rem;flex-direction:column;gap:.32rem;padding:.62rem .66rem;transition:transform .13s,border-color .13s,box-shadow .13s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 26px #0206175c,inset 0 1px #ffffff14,inset 0 0 0 1px #ffffff08}.roadNode:hover{border-color:color-mix(in srgb,var(--cluster-color)52%,#7dd3fc8c);box-shadow:0 15px 30px #02061770,0 0 0 1px color-mix(in srgb,var(--cluster-color)34%,transparent),0 0 20px color-mix(in srgb,var(--cluster-color)22%,transparent);transform:translateY(-1px)}.roadNode.selected{border-color:#38bdf8eb;box-shadow:0 0 0 1px #38bdf8ad,0 12px 30px #0206176b}.roadNode.visited{background:linear-gradient(155deg,#ffffff08,#fff0 48%),linear-gradient(165deg,#0c1c34d1,#081224f2)}.roadNode.read{background:linear-gradient(155deg,#ffffff0a,#fff0 48%),linear-gradient(165deg,#0e4835eb,#0a3527fa);border-color:#10b981e0;border-right-style:solid;border-right-width:3px;box-shadow:0 10px 24px #10b98133}.nodeTitle{font-size:.94rem;font-weight:700;line-height:1.26;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif}.nodeSubtitle{color:var(--node-subtitle);font-size:.78rem;line-height:1.32;font-family:var(--font-ui),"Avenir Next","Nunito Sans","Trebuchet MS",sans-serif;font-weight:600}.nodeMeta{color:#9eb1de;align-items:center;gap:.34rem;margin-top:.2rem;font-size:.72rem;display:inline-flex}.nodeMeta i{background:var(--cluster-color);border-radius:999px;width:.5rem;height:.5rem}.modalOverlay{z-index:60;background:#020617cc;justify-content:center;align-items:center;padding:1rem;animation:.26s both overlayFadeIn;display:flex;position:fixed;inset:0}.modalCard{border:1px solid var(--modal-border);background:var(--modal-bg);border-radius:1rem;flex-direction:column;width:min(1120px,96vw);height:min(90vh,900px);animation:.32s cubic-bezier(.2,.8,.2,1) both modalRiseIn;display:flex;overflow:hidden}.modalHeader{border-bottom:1px solid var(--modal-header-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.65rem;display:flex}.modalHeader h2{margin:0;font-size:clamp(1.05rem,2vw,1.4rem)}.modalHeader p{color:var(--muted);margin:.35rem 0 0}.modalHeader button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:.6rem;padding:.5rem .85rem}.badges{flex-wrap:wrap;gap:.45rem;margin-top:.46rem;display:flex}.badges span{background:#0f172ab8;border:1px solid #94a3b857;border-radius:.45rem;padding:.3rem .52rem;font-size:.75rem}.modalBody{padding:1.35rem 1.65rem 1.95rem;overflow-y:auto}.mdxContent h2{border-bottom:1px solid #94a3b833;margin-top:1.2rem;margin-bottom:.48rem;padding-bottom:.25rem}.mdxContent ul{padding-left:1.12rem}.mdxContent li{margin-bottom:.34rem}.nodeJump{color:#7dd3fc;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalRiseIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes diagramReveal{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.pageShell,.modalOverlay,.modalCard,.diagramCanvas{animation:none!important}}@media (max-width:960px){.topBar{margin:.65rem;padding:.7rem}.topBarActions,.searchBox{width:100%}.legend{margin:0 .65rem .55rem}.boardScroller{padding:.3rem .65rem .9rem}.bannerSwitch{justify-content:space-between;width:100%}.zoomGroup{border-left:1px solid #94a3b847}.zoomGroup button+button{border-top:0;border-left:1px solid #94a3b847}.stageGrid{grid-template-columns:1fr}.boardLinks{display:none}.diagramScroller{padding:.3rem .65rem 1.1rem}.diagramCanvas{border-radius:.75rem}.modalCard{border-radius:.55rem;width:100%;height:100%}.modalHeader{flex-direction:column;align-items:stretch;padding:1.05rem 1.1rem}.modalBody{padding:1rem 1.1rem 1.35rem}}
