@import"https://fonts.googleapis.com/css2?family=ZCOOL+XiaoWei&family=ZCOOL+KuaiLe&family=Noto+Sans+SC:wght@300;400;500;700&display=swap";:root{color-scheme:light;--bg: #f4efe7;--bg-deep: #efe5d7;--ink: #1f1c18;--ink-soft: #544a3d;--accent: #d2642a;--accent-2: #2a6f6b;--card: #fff9f2;--line: rgba(31, 28, 24, .12);--shadow: 0 18px 50px rgba(31, 28, 24, .12)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#f8f1e7,#f1e6d8 35%,#efe0cf 60%,#f5ede3);min-height:100vh}a{color:inherit}.layout{min-height:100vh;display:flex;flex-direction:column}.layout__content{flex:1}.app{position:relative}.bg-veil{position:fixed;top:-20%;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 10%,rgba(210,100,42,.15),transparent 55%),radial-gradient(circle at 15% 70%,rgba(42,111,107,.18),transparent 60%),linear-gradient(140deg,rgba(255,255,255,.85) 10%,rgba(244,239,231,.2) 60%,transparent 100%);pointer-events:none;z-index:-1}.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;padding:64px 8vw 32px}.hero__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--accent-2);font-weight:500}.hero__title{font-family:ZCOOL XiaoWei,Noto Sans SC,serif;font-size:clamp(2.6rem,3.2vw,4.2rem);margin:18px 0 12px}.hero__subtitle{font-size:1.1rem;color:var(--ink-soft);max-width:520px;line-height:1.7}.hero__actions{margin-top:28px;display:grid;gap:18px}.search{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 16px;box-shadow:var(--shadow)}.search input{flex:1;border:none;background:transparent;font-size:1rem;outline:none}.search__count{font-size:.85rem;color:var(--accent-2);font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:10px}.legend__item{padding:6px 12px;border-radius:999px;font-size:.78rem;border:1px dashed var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:transform .2s ease,background .2s ease}.legend__item:hover{transform:translateY(-1px)}.legend__item.is-active{background:var(--accent-2);color:#fff;border-color:transparent}.hero__panel{display:flex;align-items:flex-start}.panel{background:var(--card);border-radius:24px;padding:28px;border:1px solid var(--line);box-shadow:var(--shadow)}.panel h2{font-family:ZCOOL KuaiLe,cursive;font-size:1.4rem;margin-bottom:16px}.panel ol{display:grid;gap:12px;padding-left:18px;color:var(--ink-soft);line-height:1.6}.panel__tip{margin-top:16px;font-weight:600;color:var(--accent)}.toc{display:flex;gap:12px;flex-wrap:wrap;padding:24px 8vw 8px}.toc__link{padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;background:#fff9;font:inherit;cursor:pointer;transition:transform .2s ease,background .2s ease}.toc__link:hover{transform:translateY(-2px);background:#fff}.content{padding:24px 8vw 64px;display:grid;gap:42px}.section{display:grid;gap:16px;animation:fadeInUp .6s ease both}.section__header{display:flex;flex-direction:column;gap:6px}.section__title{font-size:1.6rem;font-family:ZCOOL XiaoWei,serif}.section__desc{color:var(--ink-soft)}.group{background:#ffffffa6;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:16px;box-shadow:0 12px 30px #1f1c180f;animation:fadeInUp .6s ease both}.group__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.group__title{font-size:1.1rem;font-weight:600;color:var(--accent-2)}.group__toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:.8rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{background:var(--card);border-radius:16px;padding:16px;border:1px solid var(--line);display:grid;gap:10px;min-height:150px;transition:transform .2s ease,box-shadow .2s ease;animation:fadeInUp .6s ease both}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #1f1c181f}.card__title{font-size:1.05rem;font-weight:600}.card__desc{color:var(--ink-soft);line-height:1.5;font-size:.92rem}.card__tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:.72rem;padding:4px 10px;border-radius:999px;background:#d2642a1f;color:var(--accent);border:none;cursor:pointer}.card__link{font-size:.85rem}.card__link a{text-decoration:none;color:var(--accent-2);font-weight:600}.empty{background:#ffffffb3;border:1px dashed var(--line);padding:28px;border-radius:20px;display:grid;gap:8px;text-align:center;color:var(--ink-soft)}.footer{padding:20px 8vw 36px;color:var(--ink-soft);text-align:center;border-top:1px solid var(--line);background:#fff6;font-size:.85rem;letter-spacing:.04em}@media (max-width: 960px){.hero{grid-template-columns:1fr}.hero__panel{justify-content:flex-start}}@media (max-width: 600px){.hero{padding:48px 6vw 24px}.toc{padding:16px 6vw 4px}.content{padding:16px 6vw 48px}.group__header{flex-direction:column;align-items:flex-start}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.bplus{min-height:100vh;color:var(--ink)}.bplus__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding:64px 8vw 32px}.bplus__hero h1{font-family:ZCOOL XiaoWei,Noto Sans SC,serif;font-size:clamp(2.4rem,3.2vw,3.8rem);margin:16px 0 12px}.bplus__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--accent-2);font-weight:500}.bplus__subtitle{max-width:520px;color:var(--ink-soft);line-height:1.7}.bplus__actions{margin-top:20px;display:flex;align-items:center;gap:16px}.bplus__back{color:var(--accent-2);text-decoration:none;font-weight:600}.bplus__info{display:grid;gap:16px}.bplus__card{background:#fffc;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 30px #1f1c180f}.bplus__card h3{margin-bottom:8px;color:var(--accent-2)}.bplus__card p{color:var(--ink-soft);line-height:1.6}.bplus__stage{padding:16px 8vw 64px;display:grid;gap:20px}.bplus__legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-soft);font-size:.9rem}.legend__dot,.legend__line{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--accent);margin-right:6px}.legend__line{width:24px;border-radius:999px;background:linear-gradient(90deg,#2a6f6b66,#2a6f6b)}.bplus__tree{background:#ffffffbf;border-radius:24px;padding:28px 20px;border:1px solid var(--line);display:grid;gap:18px;position:relative;overflow:hidden}.level{display:flex;justify-content:center;gap:24px;position:relative}.level--2:before,.level--3:before{content:"";position:absolute;top:-16px;left:12%;right:12%;height:1px;background:#1f1c181a}.node{min-width:110px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:600;text-align:center;animation:nodeIn .6s ease both;position:relative}.node--internal{background:#d2642a14}.node--leaf{background:#2a6f6b1f}.node--leaf:after{content:"";position:absolute;right:-18px;top:50%;transform:translateY(-50%);width:16px;height:2px;background:#2a6f6b99}.node--leaf:last-child:after{display:none}.node--highlight{animation:nodeIn .6s ease both,pulse 2.4s ease var(--highlight-delay, .4s) infinite}.bplus__flow{display:grid;gap:10px;background:#fffc;border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--ink-soft)}.flow__step{position:relative;padding-left:22px}.flow__step:before{content:"";position:absolute;left:0;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent)}@keyframes nodeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #d2642a59}50%{box-shadow:0 0 22px #d2642a66}to{box-shadow:0 0 #d2642a33}}@media (max-width: 980px){.bplus__hero{grid-template-columns:1fr}}@media (max-width: 700px){.level{flex-wrap:wrap}.node--leaf:after{display:none}}.bplus__button{border:none;background:var(--accent);color:#fff;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:600}.bplus__ghost{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:500}.bplus__timeline{display:flex;flex-wrap:wrap;gap:12px}.timeline__step{border:1px solid var(--line);background:#fffc;padding:8px 14px;border-radius:999px;cursor:pointer;font-size:.85rem;transition:transform .2s ease,background .2s ease}.timeline__step:hover{transform:translateY(-2px)}.timeline__step.is-active{background:var(--accent);color:#fff;border-color:transparent}.bplus__step{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;background:#ffffffd9;border-radius:20px;padding:20px;border:1px solid var(--line)}.bplus__step h2{font-size:1.4rem;margin-bottom:8px}.bplus__step p{color:var(--ink-soft);line-height:1.6}.bplus__step ul{list-style:none;display:grid;gap:10px;color:var(--ink-soft)}.bplus__step li{position:relative;padding-left:20px}.bplus__step li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.bplus__tree{position:relative}.bplus__promote{position:absolute;top:14px;right:18px;background:#d2642a1f;color:var(--accent);padding:6px 12px;border-radius:999px;font-weight:600;font-size:.8rem;border:1px dashed rgba(210,100,42,.4);animation:fadeInUp .6s ease both}.node--overflow{border-color:var(--accent);background:#d2642a2e;animation:nodeIn .6s ease both,shake 1.2s ease .3s both}.node--new{border-style:dashed;box-shadow:0 0 0 2px #2a6f6b33 inset}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}to{transform:translate(0)}}@media (max-width: 900px){.bplus__step{grid-template-columns:1fr}}.topic{min-height:100vh;padding-bottom:40px}.topic__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding:64px 8vw 32px}.topic__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--accent-2);font-weight:500}.topic__subtitle{color:var(--ink-soft);line-height:1.7;max-width:520px}.topic__actions{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topic__primary{border:none;background:var(--accent);color:#fff;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:600}.topic__back{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid var(--line);color:var(--accent-2);text-decoration:none;font-weight:600;background:transparent}.topic__panel{display:grid;gap:16px}.topic__card{background:#ffffffd9;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 30px #1f1c180f}.topic__card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #d2642a1f inset}.topic__big{font-size:2rem;font-weight:700;margin-top:6px}.topic__stage{padding:16px 8vw 48px;display:grid;gap:18px}.topic__timeline{display:flex;flex-wrap:wrap;gap:12px}.topic__flow{display:grid;gap:10px;background:#fffc;border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--ink-soft)}.state-machine{position:relative;background:#ffffffbf;border-radius:24px;border:1px solid var(--line);padding:40px 30px;min-height:260px}.state-node{position:absolute;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:600;color:var(--ink);box-shadow:0 10px 24px #1f1c1814;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.state-node.is-active{border-color:var(--accent);box-shadow:0 0 0 4px #d2642a1f inset;transform:translateY(-4px)}.state-node--new{top:20px;left:10%}.state-node--ready{top:120px;left:6%}.state-node--running{top:120px;left:42%}.state-node--blocked{top:120px;right:16%}.state-node--terminated{top:20px;right:12%}.state-link{position:absolute;font-size:.75rem;color:var(--ink-soft);background:#ffffffe6;padding:4px 8px;border-radius:999px;border:1px dashed transparent}.state-link.is-active{border-color:var(--accent);color:var(--accent)}.state-link--new-ready{top:70px;left:17%}.state-link--ready-running{top:160px;left:28%}.state-link--running-blocked{top:160px;right:26%}.state-link--blocked-ready{top:190px;left:48%}.state-link--running-terminated{top:70px;right:24%}.state-token{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #d2642a26;animation:tokenPulse 2s ease infinite;transition:top .8s ease,left .8s ease}@keyframes tokenPulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.sync-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.sync-card{background:#fffc;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:12px;min-height:210px;transition:transform .3s ease,border-color .3s ease}.sync-card.is-active{border-color:var(--accent);transform:translateY(-4px)}.sync-queue{display:grid;gap:6px}.thread{background:#2a6f6b26;border-radius:999px;padding:6px 10px;font-size:.85rem}.thread--run{background:#d2642a33;animation:slide 1.6s ease infinite}@keyframes slide{0%{transform:translate(0)}50%{transform:translate(10px)}to{transform:translate(0)}}.sync-spin{display:flex;align-items:center;gap:10px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(210,100,42,.2);border-top-color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sync-cond{display:flex;align-items:center;gap:10px}.sleeping,.running,.signal{padding:6px 10px;border-radius:8px;font-size:.8rem}.sleeping{background:#1f1c1814}.signal{background:#d2642a33;animation:pulse 1.8s ease infinite}.running{background:#2a6f6b33}.vm-diagram{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;position:relative;background:#fffc;border-radius:20px;border:1px solid var(--line);padding:20px;align-items:center}.vm-node{text-align:center;padding:12px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:600;transition:transform .3s ease,border-color .3s ease}.vm-node.is-active{border-color:var(--accent);transform:translateY(-4px)}.vm-arrows{position:absolute;top:50%;left:10%;right:10%;height:2px;background:linear-gradient(90deg,#1f1c181a,#2a6f6b99)}.vm-fault{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);background:#d2642a33;color:var(--accent);padding:6px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);opacity:.2;transition:opacity .3s ease}.vm-fault.is-active{opacity:1}.memory-diagram{display:flex;gap:6px;background:#fffc;border-radius:18px;border:1px solid var(--line);padding:16px;min-height:90px}.memory-block{border-radius:12px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;transition:transform .3s ease,border-color .3s ease}.memory-block.is-active{border-color:var(--accent);transform:translateY(-4px)}.memory-block.is-free{background:#2a6f6b1f}.memory-block.is-used{background:#1f1c1814}.memory-block.is-obj{background:#d2642a33}@media (max-width: 960px){.topic__hero{grid-template-columns:1fr}.state-machine{min-height:320px}.vm-diagram{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vm-arrows{display:none}}@media (max-width: 640px){.state-token{display:none}.state-node--running,.state-node--blocked,.state-node--ready{position:static}.state-machine{display:grid;gap:12px}.state-link{display:none}}.top-nav{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4efe7cc;border-bottom:1px solid var(--line);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.top-nav.is-scrolled{background:#f4efe78c;border-bottom-color:#1f1c1814;box-shadow:0 10px 24px #1f1c1814}.top-nav__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 8vw}.top-nav__logo{font-family:ZCOOL XiaoWei,serif;font-size:1.2rem;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:10px}.top-nav__logo img{width:36px;height:36px;border-radius:12px;box-shadow:0 10px 24px #1f1c181f}.top-nav__menu{display:flex;align-items:center;gap:18px;flex:1}.top-nav__link{text-decoration:none;color:var(--ink-soft);font-weight:600}.top-nav__modules{display:flex;align-items:center;gap:12px;margin-left:auto}.top-nav__module{position:relative}.top-nav__trigger{background:transparent;border:none;font:inherit;color:var(--ink);cursor:pointer;padding:8px 10px;border-radius:999px;transition:background .2s ease}.top-nav__trigger:hover,.top-nav__module.is-open .top-nav__trigger{background:#fffc}.top-nav__dropdown{position:absolute;top:52px;left:50%;transform:translate(-50%);min-width:240px;background:#fffffff2;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:14px 16px;display:none;width:min(360px,90vw)}.top-nav__module.align-left .top-nav__dropdown{left:0;right:auto;transform:none}.top-nav__module.align-right .top-nav__dropdown{left:auto;right:0;transform:none}.top-nav__module.is-open .top-nav__dropdown{display:block}.dropdown__header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--line);margin-bottom:10px}.dropdown__title{font-weight:700}.dropdown__desc{font-size:.85rem;color:var(--ink-soft)}.dropdown__cta{text-decoration:none;color:var(--accent-2);font-weight:600}.dropdown__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px}.dropdown__group-title{font-size:.85rem;font-weight:600;color:var(--accent);margin-bottom:4px}.dropdown__items{display:grid;gap:6px}.nav-item__link{text-decoration:none;color:var(--ink);font-size:.85rem}.nav-item__disabled{font-size:.85rem;color:#1f1c1866}.top-nav__toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer}.landing{padding:64px 8vw 80px;display:grid;gap:60px}.landing__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:center}.landing__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--accent-2);font-weight:500}.landing h1{font-family:ZCOOL XiaoWei,serif;font-size:clamp(2.6rem,3.4vw,4rem);margin:16px 0 12px}.landing__subtitle{color:var(--ink-soft);line-height:1.7;max-width:520px}.landing__actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.landing__primary{background:var(--accent);color:#fff;text-decoration:none;padding:10px 18px;border-radius:999px;font-weight:600}.landing__ghost{border:1px solid var(--line);color:var(--ink);text-decoration:none;padding:10px 18px;border-radius:999px;background:transparent;font:inherit;cursor:pointer}.landing__visual{position:relative;min-height:280px}.orbital{width:220px;height:220px;border-radius:50%;background:#fffc;border:1px solid var(--line);display:grid;place-items:center;position:relative;margin:0 auto}.orbital__core{width:80px;height:80px;border-radius:24px;background:#d2642a33;display:grid;place-items:center;font-weight:700;font-size:1.5rem;color:var(--accent)}.orbital__ring{position:absolute;width:160px;height:160px;border-radius:50%;border:1px dashed rgba(42,111,107,.4);animation:orbit 12s linear infinite}.orbital__ring--inner{width:120px;height:120px;animation-duration:8s}.orbital__dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent-2)}.orbital__dot--a{top:12px;left:50%}.orbital__dot--b{bottom:20px;left:20px}.orbital__dot--c{right:20px;top:50px}.floating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:28px}.floating-grid span{background:#fffc;border:1px solid var(--line);padding:6px 10px;border-radius:12px;text-align:center;font-size:.85rem;animation:float 3s ease-in-out infinite;animation-delay:var(--delay, 0s)}.landing__mission{display:grid;gap:24px;background:#fffc;border-radius:24px;padding:28px;border:1px solid var(--line)}.mission__text h2{font-size:1.6rem}.mission__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.mission__card{border-radius:16px;padding:16px;border:1px solid var(--line);background:#fff}.mission__card h3{color:var(--accent-2);margin-bottom:6px}.landing__cta{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:24px;padding:24px 28px;background:#ffffffe6;border:1px solid var(--line)}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@media (max-width: 980px){.top-nav__menu{position:fixed;inset:70px 16px auto 16px;flex-direction:column;align-items:flex-start;padding:16px;background:#fffffff5;border:1px solid var(--line);border-radius:18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:all .2s ease}.top-nav__menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.top-nav__modules{width:100%;flex-direction:column;align-items:stretch}.top-nav__dropdown{position:static;width:100%;margin-top:8px;transform:none;left:auto;right:auto;min-width:unset}.top-nav__toggle{display:inline-flex}.landing__hero{grid-template-columns:1fr}.landing__cta{flex-direction:column;align-items:flex-start}}@media (max-width: 700px){.top-nav__bar{padding:12px 6vw}.landing{padding:48px 6vw 64px}.landing__visual{min-height:220px}}.topic-shell{min-height:100vh;padding-bottom:40px}.topic-shell__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding:64px 8vw 32px}.topic-shell__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--accent-2);font-weight:500}.topic-shell__subtitle{color:var(--ink-soft);line-height:1.7;max-width:540px}.topic-shell__actions{margin-top:18px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.topic-shell__primary{border:none;background:var(--accent);color:#fff;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:600}.topic-shell__ghost{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:500}.topic-shell__back{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid var(--line);color:var(--accent-2);text-decoration:none;font-weight:600;background:transparent}.topic-shell__panel{display:grid;gap:16px}.topic-shell__card{background:#ffffffd9;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 30px #1f1c180f}.topic-shell__stage{padding:16px 8vw 48px;display:grid;gap:18px}.topic-shell__timeline{display:flex;flex-wrap:wrap;gap:12px}.topic-shell__step{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;background:#ffffffd9;border-radius:20px;padding:20px;border:1px solid var(--line)}.topic-shell__step h2{font-size:1.4rem;margin-bottom:8px}.topic-shell__step p{color:var(--ink-soft);line-height:1.6}.topic-shell__step ul{list-style:none;display:grid;gap:10px;color:var(--ink-soft)}.topic-shell__step li{position:relative;padding-left:20px}.topic-shell__step li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.topic-shell__diagram{background:#fffc;border-radius:24px;border:1px solid var(--line);padding:24px;min-height:220px}.topic-shell__flow{display:grid;gap:10px;background:#fffc;border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--ink-soft)}.tls-diagram .tls-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.tls-node{background:#fff;border-radius:14px;border:1px solid var(--line);padding:10px 12px;font-weight:600;text-align:center}.tls-messages{position:absolute;top:10px;left:0;right:0;display:grid;gap:12px;padding:0 12%}.tls-message{max-width:220px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.85rem;opacity:.4;transition:opacity .3s ease,transform .3s ease,background .3s ease}.tls-message--client{justify-self:start}.tls-message--server{justify-self:end}.tls-message.is-active{opacity:1;background:#d2642a26;transform:translateY(-2px)}.tls-seq{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.tls-seq__timeline{display:grid;gap:12px}.tls-header{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.tls-header__lane{text-align:center;font-weight:600;color:var(--ink-soft)}.tls-header__line{width:2px;height:24px;justify-self:center;background:linear-gradient(180deg,#2a6f6b33,#2a6f6b80);border-radius:999px}.tls-body{display:grid;gap:10px}.tls-row{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:12px}.tls-line{width:2px;height:100%;justify-self:center;background:#2a6f6b33;border-radius:999px}.tls-bubble{max-width:230px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.85rem;opacity:.6;transition:opacity .3s ease,transform .3s ease,background .3s ease}.tls-bubble--client{justify-self:end}.tls-bubble--server{justify-self:start}.tls-bubble.is-active{opacity:1;background:#d2642a26;transform:translateY(-2px)}.tls-channel{justify-self:center;padding:4px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f;font-size:.8rem}.tls-principles{display:grid;gap:12px}.principle-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;display:grid;gap:8px;transition:border-color .3s ease,transform .3s ease}.principle-card.is-active{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 0 0 3px #d2642a1f inset}.cert-chain,.verify-badges,.key-flow,.secure-badges{display:flex;flex-wrap:wrap;gap:6px}.cert-chain span,.verify-badges span,.key-flow span,.secure-badges span{padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:#2a6f6b1f;font-size:.72rem}@media (max-width: 960px){.tls-seq{grid-template-columns:1fr}}@media (max-width: 640px){.tls-row,.tls-header{grid-template-columns:1fr 12px 1fr;gap:8px}.tls-bubble{max-width:170px;font-size:.78rem}}.tcp-diagram .tcp-seq{display:grid;gap:16px}.tcp-diagram{width:min(100%,720px);margin:0 auto}.tcp-header{display:grid;grid-template-columns:minmax(0,max-content) 180px minmax(0,max-content);justify-content:center;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.tcp-header__lane{font-weight:600;color:var(--ink-soft);text-align:center}.tcp-header__line{width:2px;height:24px;justify-self:center;background:linear-gradient(180deg,#12121233,#12121280);border-radius:999px}.tcp-body{display:grid;gap:12px}.tcp-row{display:grid;grid-template-columns:minmax(0,max-content) 180px minmax(0,max-content);justify-content:center;align-items:center;gap:12px;--tcp-gap: 12px;--tcp-color: rgba(18, 18, 18, .7)}.tcp-row.is-active{--tcp-color: rgba(212, 60, 47, .9)}.tcp-connector{position:relative;height:2px;width:100%;justify-self:center;background:var(--tcp-color);border-radius:999px}.tcp-arrow{position:absolute;top:50%;right:-6px;transform:translateY(-50%);width:0;height:0;border-left:6px solid var(--tcp-color);border-top:4px solid transparent;border-bottom:4px solid transparent}.tcp-row[data-dir=to-client] .tcp-arrow{right:auto;left:-6px;transform:translateY(-50%) rotate(180deg)}.tcp-row.is-active .tcp-connector{height:3px;box-shadow:0 0 10px #d43c2f59}.tcp-bubble{max-width:220px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.85rem;opacity:.6;position:relative;transition:opacity .3s ease,transform .3s ease,background .3s ease}.tcp-bubble--client{justify-self:end}.tcp-bubble--server{justify-self:start}.tcp-bubble--client:after,.tcp-bubble--server:before{content:"";position:absolute;top:50%;width:var(--tcp-gap);height:2px;background:var(--tcp-color);transform:translateY(-50%)}.tcp-bubble--client:after{right:calc(-1 * var(--tcp-gap))}.tcp-bubble--server:before{left:calc(-1 * var(--tcp-gap))}.tcp-bubble.is-active{opacity:1;background:#d43c2f1f;border-color:#d43c2f66;transform:translateY(-2px)}.tcp-spacer{display:block}.cwnd-diagram .cwnd-chart{display:grid;gap:12px}.cwnd-chart{display:grid;grid-template-columns:repeat(10,1fr);align-items:end;gap:6px;min-height:180px;position:relative}.cwnd-bar{background:#2a6f6b33;border-radius:8px 8px 4px 4px;transition:opacity .3s ease,background .3s ease}.cwnd-chart.phase--slow-start .bar--slow-start,.cwnd-chart.phase--avoid .bar--avoid,.cwnd-chart.phase--fast .bar--fast,.cwnd-chart.phase--recovery .bar--recovery{background:#d2642a59}.cwnd-chart .cwnd-labels{position:absolute;bottom:-28px;left:0;right:0;display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-soft)}.http-diagram .http-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.http-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;transition:transform .3s ease,border-color .3s ease}.http-card.is-active{border-color:var(--accent);transform:translateY(-4px)}.http-streams{display:flex;gap:6px;margin-top:12px}.http-streams span{flex:1;height:6px;border-radius:999px;background:#2a6f6b33;animation:flow 1.8s ease infinite}.http-card.is-active .http-streams span{background:#d2642a66}.http-diagram .http-evo{display:grid;gap:18px}.http-evo__rails{display:grid;grid-template-columns:1fr 1fr;gap:16px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.http-evo__lane{text-align:center}.http-evo__panel{display:none}.http-evo.mode--http1 .http-evo__panel.http1,.http-evo.mode--http2 .http-evo__panel.http2,.http-evo.mode--http3 .http-evo__panel.http3{display:block}.http1-conn,.http2-conn,.http3-conn{border-radius:18px;border:1px solid var(--line);background:#fff;padding:16px;display:grid;gap:12px}.http1-tag,.http2-tag,.http3-tag{font-weight:700;color:var(--accent)}.http1-queue{display:grid;gap:8px}.http1-req{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#2a6f6b1f;font-size:.85rem;width:fit-content;animation:httpPulse 1.8s ease infinite}.http1-req:nth-child(2){animation-delay:.3s}.http1-req--blocked{background:#d2642a2e;border-color:#d2642a59;position:relative;overflow:hidden}.http1-req--blocked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);animation:shimmer 2s ease infinite}.http1-note,.http2-note,.http3-note{color:var(--ink-soft);font-size:.85rem}.http2-lanes{display:grid;gap:10px}.http2-lane{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.http2-lane .frame{height:10px;border-radius:999px;background:#2a6f6b33;animation:frameFlow 1.6s ease infinite}.http2-lane.lane--a .frame{background:#d2642a59}.http2-lane.lane--b .frame{background:#2a6f6b59;animation-delay:.2s}.http2-lane.lane--c .frame{background:#1f1c1840;animation-delay:.4s}.http3-handshake{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--accent-2)}.http3-handshake__dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #d2642a2e;animation:pulse 1.6s ease infinite}.http3-streams{display:grid;gap:8px}.http3-stream{display:flex;gap:8px}.http3-stream span{flex:1;height:10px;border-radius:999px;background:#2a6f6b40;animation:quicFlow 1.6s ease infinite}.http3-stream.stream--fast span{background:#d2642a4d}.http3-loss{justify-self:end;padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);font-size:.75rem;animation:httpPulse 1.6s ease infinite}@keyframes httpPulse{0%{transform:translateY(0);opacity:.7}50%{transform:translateY(-2px);opacity:1}to{transform:translateY(0);opacity:.7}}@keyframes shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes frameFlow{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes quicFlow{0%{transform:translate(0)}50%{transform:translate(6px)}to{transform:translate(0)}}@media (max-width: 900px){.http2-lane{grid-template-columns:repeat(4,1fr)}}@media (max-width: 640px){.http-evo__rails{font-size:.68rem;letter-spacing:.08em}.http1-req{font-size:.78rem}.http3-loss{font-size:.68rem}}.redis-types__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.redis-type-card{border-radius:16px;border:1px solid var(--line);padding:16px;background:#fff;display:grid;gap:8px;transition:transform .3s ease,border-color .3s ease}.redis-type-card.is-active{border-color:var(--accent);transform:translateY(-4px)}.redis-type-bar{height:8px;border-radius:999px;background:#2a6f6b33}.redis-type-bar.bar--string{background:#d2642a4d}.redis-type-bar.bar--hash{background:#2a6f6b59}.redis-type-bar.bar--list{background:#1f1c1840}.redis-type-bar.bar--set{background:#d2642a33}.redis-type-bar.bar--zset{background:#2a6f6b33}.redis-persist__stage{display:grid;gap:16px}.redis-persist__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:stretch}.persist-card{border-radius:16px;border:1px solid var(--line);padding:16px;background:#fff;display:grid;gap:10px;min-height:210px;transition:transform .3s ease,border-color .3s ease,opacity .3s ease,box-shadow .3s ease}.persist-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.persist-card__header h3{font-size:1rem}.persist-tag{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#1f1c1814;color:var(--ink-soft)}.persist-tag.tag--rdb{background:#2a6f6b26;color:var(--accent-2)}.persist-tag.tag--aof{background:#d2642a26;color:var(--accent)}.persist-tag.tag--live{background:#1f1c1814;color:var(--ink-soft)}.redis-persist__stage.mode--rdb .persist-card,.redis-persist__stage.mode--aof .persist-card{opacity:.45;transform:translateY(0)}.redis-persist__stage.mode--rdb .persist-master,.redis-persist__stage.mode--rdb .persist-fork,.redis-persist__stage.mode--rdb .persist-rdb,.redis-persist__stage.mode--rdb .persist-disk-card{opacity:1;border-color:#2a6f6b8c;box-shadow:0 12px 30px #2a6f6b26;transform:translateY(-4px)}.redis-persist__stage.mode--aof .persist-master,.redis-persist__stage.mode--aof .persist-aof,.redis-persist__stage.mode--aof .persist-disk-card{opacity:1;border-color:#d2642a80;box-shadow:0 12px 30px #d2642a29;transform:translateY(-4px)}.persist-label{font-size:.7rem;color:var(--ink-soft)}.persist-chip-row{display:flex;flex-wrap:wrap;gap:6px}.persist-chip-row span{font-size:.68rem;padding:4px 8px;border-radius:999px;background:#2a6f6b29;color:var(--ink-soft);animation:queuePop 1.8s ease infinite}.persist-chip-row span:nth-child(2){animation-delay:.4s}.persist-chip-row span:nth-child(3){animation-delay:.8s}.persist-chip-row span:nth-child(4){animation-delay:1.2s}.redis-persist__stage.mode--rdb .persist-aof .persist-chip-row span{animation-play-state:paused}.persist-steps{display:grid;gap:4px;font-size:.7rem;color:var(--ink-soft)}.sigchld{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;color:var(--accent)}.sigchld-dot{width:8px;height:8px;border-radius:50%;background:#d2642ab3;opacity:.3}.redis-persist__stage.mode--rdb .sigchld-dot{opacity:1;animation:sigchldPulse 3s ease infinite;animation-delay:1.6s}.persist-traffic{position:relative;height:8px;width:90px;border-radius:999px;background:#2a6f6b1f;overflow:hidden}.persist-traffic span{position:absolute;top:50%;left:-20%;width:10px;height:6px;border-radius:999px;background:#2a6f6b8c;transform:translateY(-50%);animation:trafficFlow 2.6s linear infinite}.persist-traffic span:nth-child(2){animation-delay:.8s}.persist-traffic span:nth-child(3){animation-delay:1.6s}.persist-master .persist-chip-row span{background:#2a6f6b2e}.persist-aof .persist-chip-row span{background:#d2642a33}.persist-memory{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.persist-memory span{height:16px;border-radius:6px;background:#2a6f6b2e}.persist-memory span.is-dirty{background:#d2642a59}.redis-persist__stage.mode--rdb .persist-memory span.is-dirty{animation:dirtyPulse 2.1s ease infinite}.persist-write{display:grid;gap:6px}.persist-dirty{display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--accent)}.dirty-dot{width:8px;height:8px;border-radius:50%;background:#d2642ab3}.redis-persist__stage.mode--rdb .dirty-dot{animation:dirtyPulse 2s ease infinite}.fork-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:center}.fork-node{padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;background:#2a6f6b14}.fork-node--child{background:#d2642a1a;border-color:#d2642a4d}.fork-lines{position:relative;height:12px;grid-column:1 / -1}.fork-lines:before{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:#2a6f6b40}.fork-pulse{position:absolute;top:50%;left:-10%;width:16px;height:6px;border-radius:999px;transform:translateY(-50%);background:#d2642a99;opacity:0}.redis-persist__stage.mode--rdb .fork-pulse{opacity:1;animation:forkFlow 2.4s ease infinite}.fork-split{position:relative;height:12px}.split-dot{position:absolute;top:50%;width:10px;height:6px;border-radius:999px;transform:translateY(-50%);background:#d2642a99;opacity:0}.redis-persist__stage.mode--rdb .split-dot{opacity:1}.split-dot--left{left:50%;animation:splitLeft 2.8s ease infinite}.split-dot--right{left:50%;animation:splitRight 2.8s ease infinite}.cow-pages{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.cow-pages span{height:12px;border-radius:4px;background:#2a6f6b2e}.cow-pages span.is-copy{background:#d2642a59}.redis-persist__stage.mode--rdb .cow-pages span.is-copy{animation:dirtyPulse 1.8s ease infinite}.cow-legend{display:flex;gap:10px;font-size:.62rem;color:var(--ink-soft)}.legend-item{display:flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px;background:#2a6f6b2e}.legend-swatch.swatch--copy{background:#d2642a59}.persist-disk{position:relative;height:60px;display:grid;place-items:center}.disk-platter{width:60px;height:60px;border-radius:50%;border:2px dashed rgba(42,111,107,.4);animation:spin 6s linear infinite}.disk-arm{position:absolute;width:34px;height:4px;background:#d2642a99;border-radius:999px}.disk-files{display:grid;gap:6px}.disk-file{padding:6px 8px;border-radius:10px;border:1px solid var(--line);font-size:.7rem;background:#1f1c180a}.disk-file--rdb{background:#2a6f6b1f}.disk-file--aof{background:#d2642a1f}.disk-file--temp{border-style:dashed;background:#2a6f6b14}.redis-persist__stage.mode--rdb .disk-file--rdb{border-color:#2a6f6b99;animation:filePulse 2.2s ease infinite}.redis-persist__stage.mode--aof .disk-file--aof{border-color:#d2642a99;animation:filePulse 1.8s ease infinite}.redis-persist__stage.mode--rdb .disk-file--temp{border-color:#2a6f6b99;animation:swapPulse 2.4s ease infinite}.rename-flow{position:relative;height:8px;border-radius:999px;background:#2a6f6b1f;overflow:hidden;opacity:.3}.rename-dot{position:absolute;top:50%;left:-20%;width:12px;height:6px;border-radius:999px;transform:translateY(-50%);background:#2a6f6ba6;opacity:0}.redis-persist__stage.mode--rdb .rename-dot{opacity:1;animation:renameMove 2.6s ease infinite}.redis-persist__stage.mode--rdb .rename-flow{opacity:1}.redis-persist__stage.mode--aof .rename-flow,.redis-persist__stage.mode--aof .fsync-rdb{display:none}.fsync-rdb{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;color:var(--accent-2)}.fsync-rdb span:first-child{width:10px;height:10px;border-radius:50%;background:#2a6f6b99;opacity:.3}.redis-persist__stage.mode--rdb .fsync-rdb span:first-child{opacity:1;animation:fsyncPulse 2.6s ease infinite}.aof-buffer,.fsync-panel,.aof-append{display:grid;gap:6px}.append-line{position:relative;height:8px;border-radius:999px;background:#d2642a29;overflow:hidden}.append-line span{position:absolute;top:50%;left:-20%;width:10px;height:6px;border-radius:999px;transform:translateY(-50%);background:#d2642a99;opacity:0}.redis-persist__stage.mode--aof .append-line span{opacity:1;animation:appendMove 2.2s linear infinite}.append-line span:nth-child(2){animation-delay:.6s}.append-line span:nth-child(3){animation-delay:1.2s}.fsync-options{display:flex;flex-wrap:wrap;gap:6px}.fsync-option{font-size:.65rem;padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:#1f1c180a;color:var(--ink-soft)}.fsync-option.is-active{border-color:#d2642a99;color:var(--accent);background:#d2642a14}.fsync-bar{position:relative;height:6px;border-radius:999px;background:#d2642a24;overflow:hidden}.fsync-bar span{position:absolute;top:0;left:-30%;width:20%;height:100%;border-radius:999px;background:#d2642a8c;opacity:0}.redis-persist__stage.mode--aof .fsync-bar span{opacity:1;animation:streamMove 2.4s linear infinite}.fsync-clock{position:relative;width:26px;height:26px;border-radius:50%;border:2px solid rgba(210,100,42,.35);display:grid;place-items:center;opacity:.35}.clock-hand{width:2px;height:8px;background:#d2642ab3;border-radius:999px;transform-origin:bottom center}.redis-persist__stage.mode--aof .clock-hand{animation:clockTick 2s linear infinite}.redis-persist__stage.mode--aof .fsync-clock{opacity:1}.persist-streams{display:grid;gap:10px}.persist-stream{display:none;gap:6px}.redis-persist__stage.mode--rdb .stream--rdb,.redis-persist__stage.mode--aof .stream--aof{display:grid}.persist-rdb{gap:10px}.db-stack{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:hidden}.db-stack span{font-size:.68rem;padding:4px 6px;border-radius:10px;border:1px solid var(--line);background:#2a6f6b1f;text-align:center}.scan-line{position:absolute;left:4%;right:4%;height:10px;border-radius:999px;background:#d2642a4d;opacity:0;pointer-events:none;padding:0;border:none;font-size:0}.redis-persist__stage.mode--rdb .scan-line{opacity:1;animation:scanSweep 3.6s ease infinite}.keyspace,.persist-binary{display:grid;gap:6px}.type-row,.binary-row{display:flex;flex-wrap:wrap;gap:6px}.type-row span,.binary-row span{font-size:.65rem;padding:4px 8px;border-radius:999px;background:#2a6f6b29;color:var(--ink-soft);animation:typePulse 3.6s ease infinite}.redis-persist__stage.mode--aof .type-row span,.redis-persist__stage.mode--aof .binary-row span{animation-play-state:paused}.type-row span:nth-child(2),.binary-row span:nth-child(2){animation-delay:.4s}.type-row span:nth-child(3),.binary-row span:nth-child(3){animation-delay:.8s}.type-row span:nth-child(4),.binary-row span:nth-child(4){animation-delay:1.2s}.type-row span:nth-child(5),.binary-row span:nth-child(5){animation-delay:1.6s}.type-row span:nth-child(6){animation-delay:2s}.binary-progress{position:relative;height:6px;border-radius:999px;background:#2a6f6b24;overflow:hidden}.binary-progress span{position:absolute;top:0;left:-25%;width:22%;height:100%;border-radius:999px;background:#2a6f6b99;opacity:0}.redis-persist__stage.mode--rdb .binary-progress span{opacity:1;animation:streamMove 2.8s linear infinite}@media (max-width: 780px){.persist-card{min-height:auto}}.redis-repl__stage{display:grid;gap:16px;min-height:220px}.repl-scene{display:grid;gap:12px;align-items:center;padding:16px;border-radius:18px;border:1px solid var(--line);background:#ffffffe6}.repl-scene--failover{grid-template-columns:1fr}.repl-scene--full,.repl-scene--incr{position:relative}.failover-interaction{display:grid;gap:12px}.failover-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:.72rem;color:var(--ink-soft)}.failover-legend span{padding:4px 8px;border-radius:999px;border:1px dashed rgba(42,111,107,.3);background:#ffffffe6}.failover-canvas{position:relative;min-height:300px;border-radius:18px;border:1px solid var(--line);background:#ffffffe6;overflow:hidden;padding:16px}.failover-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.fo-line{stroke:#2a6f6b59;stroke-width:1.6;stroke-dasharray:5 7;animation:lineFlow 2.6s linear infinite}.fo-line--alert{stroke:#d2642a99;animation-duration:1.8s}.fo-line--select{stroke:#2a6f6b99;stroke-width:2.4;stroke-dasharray:8 10;animation-duration:1.4s}.failover-sentinel{position:absolute;left:10%;top:50%;transform:translate(-50%,-50%);width:min(200px,40vw);height:min(200px,40vw);display:grid;place-items:center}.sentinel-cluster{position:relative;width:100%;height:100%}.sentinel-node{position:absolute;width:46px;height:46px;border-radius:50%;border:1px solid rgba(42,111,107,.4);background:#fff;color:var(--ink);font-size:.7rem;display:grid;place-items:center;font-weight:600;z-index:2}.sentinel-node.leader{left:60%;top:50%;transform:translate(-50%,-50%);background:#2a6f6be6;color:#fff;border-color:#2a6f6be6;box-shadow:0 0 0 6px #2a6f6b1f;animation:leaderPulse 3.2s ease infinite}.sentinel-node.leader:after{content:"";position:absolute;top:-8px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid rgba(210,100,42,.9)}.sentinel-badge{position:absolute;left:50%;transform:translate(-50%,-100%);padding:2px 6px;border-radius:999px;font-size:.55rem;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;white-space:nowrap}.badge-candidate{top:-12px;animation:candidatePhase 3.2s ease infinite}.badge-leader{top:-28px;border-color:#d2642a99;background:#d2642ab3;animation:leaderPhase 3.2s ease infinite}.badge-lock{top:-12px;border-color:#2a6f6b40;background:#2a6f6b26;color:#2a6f6be6}.badge-voted{top:-28px;border-color:#d2642a99;background:#d2642ab3;animation:votedPhase 3.2s ease infinite;opacity:0}.sentinel-epoch{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);font-size:.55rem;color:#fffc;letter-spacing:.02em;animation:epochTick 3.2s ease infinite}.sentinel-node.s2{left:20%;top:20%;transform:translate(-50%,-50%)}.sentinel-node.s3{left:20%;top:80%;transform:translate(-50%,-50%)}.vote-line{position:absolute;height:2px;background:#2a6f6b4d;transform-origin:left center;z-index:1}.vote-line.line-2{left:20%;top:20%;width:50%;transform:rotate(36deg)}.vote-line.line-3{left:20%;top:80%;width:50%;transform:rotate(-36deg)}.vote-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#d2642ab3;z-index:3}.vote-dot.dot-self{left:60%;top:50%;transform:translate(-50%,-50%);background:#2a6f6be6;animation:selfVote 3.2s ease infinite}.vote-dot.dot-2{animation:voteToLeader2 3.2s ease infinite}.vote-dot.dot-3{animation:voteToLeader3 3.2s ease infinite;animation-delay:.4s}.vote-meter{position:absolute;left:60%;bottom:-8px;transform:translate(-50%);display:flex;gap:6px;z-index:4}.vote-chip{width:8px;height:8px;border-radius:50%;border:1px solid rgba(42,111,107,.3);background:#fff;animation:voteFill 3.2s ease infinite}.vote-chip:nth-child(2){animation-delay:.5s}.vote-chip--idle{animation:none;opacity:.3}.vote-count{font-size:.6rem;color:#2a6f6be6;margin-left:4px;align-self:center}.vote-quorum{font-size:.55rem;color:#2a6f6bb3;padding:2px 6px;border-radius:999px;border:1px dashed rgba(42,111,107,.3);background:#fff}.epoch-meter{position:absolute;left:20%;top:50%;transform:translate(-50%,-50%);display:grid;gap:2px;font-size:.6rem;color:var(--ink-soft)}.epoch-old,.epoch-new{padding:2px 6px;border-radius:999px;border:1px dashed rgba(42,111,107,.3);background:#fff}.epoch-old{animation:epochOld 3.2s ease infinite}.epoch-new{animation:epochNew 3.2s ease infinite;opacity:0}.leader-halo{position:absolute;left:60%;top:50%;width:70px;height:70px;border-radius:50%;transform:translate(-50%,-50%);border:1px dashed rgba(210,100,42,.5);animation:haloPulse 3.2s ease infinite;z-index:0}.failover-nodes{position:absolute;right:6%;top:12%;bottom:12%;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.criteria-legend{display:flex;gap:6px;justify-content:flex-end;font-size:.6rem;color:var(--ink-soft)}.criteria-legend span{padding:2px 6px;border-radius:999px;border:1px dashed rgba(42,111,107,.3);background:#fff}.failover-node{padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:8px;justify-content:space-between;min-width:150px;flex-wrap:wrap}.failover-node.master.down{opacity:.6;border-color:#d2642a66;animation:shake 1.2s ease infinite}.failover-node.replica.picked{border-color:var(--accent);box-shadow:0 0 0 3px #d2642a1f;animation:pulse 2s ease infinite}.node-badge{padding:2px 6px;border-radius:999px;font-size:.65rem;border:1px solid rgba(42,111,107,.2);background:#2a6f6b14;color:var(--ink-soft)}.badge-warn{border-color:#d2642a66;color:var(--accent)}.badge-master{border-color:#2a6f6b66;color:var(--accent-2)}.node-metrics{display:flex;gap:6px;flex-wrap:wrap;font-size:.6rem}.metric{position:relative;padding:2px 6px;border-radius:999px;border:1px solid rgba(42,111,107,.2);background:#2a6f6b14;color:var(--ink-soft)}.metric:after{content:"";position:absolute;left:4px;right:4px;bottom:-3px;height:2px;border-radius:999px;background:#2a6f6b33;overflow:hidden}.metric:before{content:"";position:absolute;left:4px;bottom:-3px;height:2px;width:var(--fill, 40%);border-radius:999px;background:#2a6f6b99;z-index:1}.metric.best{border-color:#d2642a80;color:var(--accent);background:#d2642a1f}.metric.best:before{background:#d2642acc}.failover-actions{position:absolute;left:18%;bottom:10%;display:flex;gap:8px;flex-wrap:wrap;font-size:.7rem}.failover-actions span{padding:4px 8px;border-radius:999px;border:1px dashed rgba(42,111,107,.3);background:#fff;color:var(--ink-soft)}.repl-full-handshake{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.repl-msg{flex:1;min-width:200px;border-radius:14px;border:1px solid var(--line);padding:10px 12px;background:#fffffff2;display:grid;gap:6px;animation:stepPulse 6s ease infinite}.repl-msg--from-replica{background:#2a6f6b14}.repl-msg--from-master{background:#d2642a14;animation-delay:.8s}.msg-title{font-size:.72rem;color:var(--ink-soft)}.msg-body{font-weight:600;font-size:.85rem}.repl-node{padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:600}.repl-node.master{border-color:var(--accent)}.repl-badge{padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f;font-size:.75rem}.repl-link{height:2px;background:#2a6f6b4d;position:relative}.repl-link:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(42,111,107,.4);border-top:4px solid transparent;border-bottom:4px solid transparent}.repl-replicas{display:grid;gap:8px}.repl-full-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr);gap:16px;align-items:start}.repl-full-col{display:grid;gap:10px}.repl-incr-handshake{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.repl-incr-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr);gap:16px;align-items:start}.repl-incr-col{display:grid;gap:10px}.repl-decision{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#2a6f6b14;display:grid;gap:6px;font-size:.75rem;color:var(--ink-soft)}.decision-title{font-weight:600;color:var(--ink)}.decision-item{padding:4px 8px;border-radius:999px;border:1px dashed rgba(42,111,107,.3);background:#ffffffe6}.repl-incr-middle{display:grid;gap:12px}.backlog-range{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--ink-soft)}.range-bar{position:relative;flex:1;height:6px;border-radius:999px;background:#2a6f6b29;overflow:hidden}.range-dot{position:absolute;top:50%;left:20%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:#d2642ab3;animation:rangeMove 2.4s ease infinite}.repl-live-stream{display:grid;gap:6px}.live-label{font-size:.72rem;color:var(--ink-soft)}.repl-cow{border:1px dashed rgba(210,100,42,.4);border-radius:14px;padding:10px 12px;background:#d2642a14;display:grid;gap:6px}.cow-chip{font-size:.72rem;color:var(--accent);font-weight:600}.cow-line{height:2px;border-radius:999px;background:#d2642a4d;position:relative;overflow:hidden}.cow-line:after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:#d2642ab3;animation:forkFlow 2.2s ease infinite}.cow-note{font-size:.72rem;color:var(--ink-soft)}.repl-backlog-ring{position:relative;border-radius:16px;border:1px solid var(--line);padding:12px;background:#fffffff2;min-height:110px;display:grid;place-items:center;gap:6px}.ring-title{position:absolute;top:8px;left:10px;font-size:.7rem;color:var(--ink-soft)}.ring-core{width:56px;height:56px;border-radius:50%;border:2px dashed rgba(42,111,107,.4);animation:ringSpin 6s linear infinite}.ring-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#d2642ab3;animation:ringOrbit 2.6s linear infinite}.ring-dot.dot-a{animation-delay:0s}.ring-dot.dot-b{animation-delay:.8s;background:#2a6f6b99}.ring-dot.dot-c{animation-delay:1.6s;background:#d2642a80}.ring-label{font-size:.72rem;color:var(--ink-soft)}.repl-client{display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:.72rem}.client-node{padding:4px 8px;border-radius:999px;border:1px dashed var(--line);background:#2a6f6b14;font-weight:600;color:var(--ink)}.client-arrow{width:44px;height:2px;background:#2a6f6b66;position:relative;animation:clientPulse 1.6s ease infinite}.client-arrow:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(42,111,107,.4);border-top:4px solid transparent;border-bottom:4px solid transparent}.repl-fork{display:grid;gap:6px;padding:10px 12px;border-radius:14px;border:1px dashed rgba(42,111,107,.3);background:#2a6f6b0f}.fork-chip{font-size:.72rem;color:var(--accent);font-weight:600}.fork-line{height:2px;border-radius:999px;background:#2a6f6b4d;position:relative;overflow:hidden}.fork-line:after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:#d2642a99;animation:forkFlow 2s ease infinite}.fork-node{font-size:.75rem;font-weight:600;color:var(--ink)}.repl-write-queue{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#d2642a14;display:grid;gap:6px}.queue-title{font-size:.72rem;color:var(--ink-soft)}.queue-chips{display:flex;flex-wrap:wrap;gap:6px}.queue-chips span{padding:3px 8px;border-radius:999px;border:1px solid rgba(210,100,42,.3);background:#fff;font-size:.7rem;animation:queuePop 2.4s ease infinite}.queue-chips span:nth-child(2){animation-delay:.4s}.queue-chips span:nth-child(3){animation-delay:.8s}.queue-chips span:nth-child(4){animation-delay:1.2s}.repl-full-middle{display:grid;gap:12px;align-items:center}.repl-stream{display:grid;gap:6px}.stream-label{font-size:.72rem;color:var(--ink-soft)}.stream-line{position:relative;height:8px;border-radius:999px;background:#2a6f6b29;overflow:hidden}.stream-line span{position:absolute;top:50%;left:-20%;width:16px;height:8px;border-radius:999px;transform:translateY(-50%);background:#d2642a99;animation:streamMove 2.6s linear infinite;animation-delay:var(--delay)}.rdb-stream .stream-line span{background:#2a6f6b99}.cmd-stream .stream-line span{animation-duration:2s;animation-delay:calc(var(--delay) + 1.6s)}.repl-backlog{display:grid;gap:6px}.repl-backlog .buffer-bar span{animation:backlogPulse 1.8s ease infinite;animation-delay:var(--delay)}.buffer-offset{font-size:.7rem;color:var(--accent)}.repl-load-card,.repl-apply-card{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#2a6f6b14;display:grid;gap:6px}.repl-apply-card{background:#d2642a14}.repl-load-card h4,.repl-apply-card h4{font-size:.82rem}.repl-load-card p,.repl-apply-card p{font-size:.72rem;color:var(--ink-soft)}.load-bar,.apply-bar{height:6px;border-radius:999px;background:#2a6f6b29;position:relative;overflow:hidden}.apply-bar{background:#d2642a29}.load-bar span,.apply-bar span{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#d2642a33,#d2642a99);transform:translate(-60%);animation:loadSweep 2.8s ease infinite}.apply-bar span{background:linear-gradient(90deg,#2a6f6b33,#2a6f6b99);animation-delay:.6s}.repl-ready{justify-self:start;padding:6px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f;font-size:.75rem}.repl-full-notes{display:flex;flex-wrap:wrap;gap:8px}.repl-full-notes span{padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffffe6;font-size:.7rem;color:var(--ink-soft);animation:noteGlow 2.4s ease infinite}.repl-full-notes span:nth-child(2){animation-delay:.4s}.repl-full-notes span:nth-child(3){animation-delay:.8s}.repl-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.repl-col{display:grid;gap:10px}.repl-col--replica .repl-node{justify-self:start}.repl-step-card{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#2a6f6b14}.repl-step-card h4{font-size:.85rem;margin-bottom:4px}.repl-step-card p{font-size:.75rem;color:var(--ink-soft)}.repl-link-row{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--ink-soft)}.repl-links{display:grid;gap:8px}.link-label{min-width:90px;font-weight:600;color:var(--ink-soft)}.repl-pipe{display:flex;gap:6px;justify-self:center}.pipe-seg{width:24px;height:8px;border-radius:999px;background:#2a6f6b33;animation:frameFlow 1.6s ease infinite}.repl-buffer,.repl-snapshot{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 12px;display:grid;gap:6px}.repl-buffer,.repl-snapshot{min-width:160px}.buffer-title,.snapshot-title{font-size:.8rem;color:var(--ink-soft)}.buffer-bar{display:flex;gap:6px}.buffer-bar span{flex:1;height:8px;border-radius:999px;background:#d2642a40}.snapshot-blocks{display:flex;gap:6px}.snapshot-blocks span{width:16px;height:16px;border-radius:6px;background:#2a6f6b33}.snapshot-meta{font-size:.72rem;color:var(--ink-soft)}.repl-progress{display:flex;align-items:center;gap:10px}.progress-label{font-size:.75rem;color:var(--ink-soft)}.progress-bar{flex:1;height:6px;border-radius:999px;background:#2a6f6b1f;position:relative;overflow:hidden}.progress-bar span{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#d2642a33,#d2642a99);transform:translate(-60%);animation:progressMove 2.4s ease infinite}.repl-snapshot.snapshot-card{background:#fffffff2}.snapshot-blocks span{animation:snapshotPulse 1.8s ease infinite}.snapshot-blocks span:nth-child(2){animation-delay:.4s}.snapshot-blocks span:nth-child(3){animation-delay:.8s}.repl-psync{grid-column:1 / -1;display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap}.repl-psync span{padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:#d2642a1f;font-size:.7rem;color:var(--accent)}@keyframes progressMove{0%{transform:translate(-80%)}50%{transform:translate(0)}to{transform:translate(80%)}}@keyframes clientPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes forkFlow{0%{left:-30%}to{left:100%}}@keyframes queuePop{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(-2px);opacity:1}}@keyframes streamMove{0%{left:-20%}to{left:120%}}@keyframes backlogPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes loadSweep{0%{transform:translate(-80%)}50%{transform:translate(0)}to{transform:translate(80%)}}@keyframes dirtyPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes filePulse{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(-2px);opacity:1}}@keyframes swapPulse{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-2px);opacity:1}}@keyframes trafficFlow{0%{left:-20%;opacity:0}30%{opacity:1}to{left:120%;opacity:0}}@keyframes splitLeft{0%{transform:translate(-50%,-50%);opacity:0}40%{opacity:1}to{transform:translate(-120%,-50%);opacity:0}}@keyframes splitRight{0%{transform:translate(-50%,-50%);opacity:0}40%{opacity:1}to{transform:translate(120%,-50%);opacity:0}}@keyframes scanSweep{0%{top:-10%;opacity:0}10%{opacity:1}60%{opacity:1}to{top:110%;opacity:0}}@keyframes typePulse{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes renameMove{0%{left:-20%;opacity:0}20%{opacity:1}to{left:120%;opacity:0}}@keyframes appendMove{0%{left:-20%;opacity:0}30%{opacity:1}to{left:120%;opacity:0}}@keyframes clockTick{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sigchldPulse{0%,70%{transform:scale(1);opacity:.4}80%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.6}}@keyframes fsyncPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:1}}@keyframes stepPulse{0%,to{border-color:var(--line);transform:translateY(0)}50%{border-color:#d2642a66;transform:translateY(-2px)}}@keyframes ringSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ringOrbit{0%{transform:translateY(-28px)}25%{transform:translate(24px)}50%{transform:translateY(28px)}75%{transform:translate(-24px)}to{transform:translateY(-28px)}}@keyframes rangeMove{0%{left:10%}50%{left:70%}to{left:30%}}@keyframes umlFlow{0%{transform:translateY(0);opacity:.4}50%{opacity:1}to{transform:translateY(26px);opacity:.4}}@keyframes lineFlow{0%{stroke-dashoffset:24;opacity:.5}50%{opacity:1}to{stroke-dashoffset:0;opacity:.5}}@keyframes leaderPulse{0%,50%{box-shadow:0 0 0 3px #2a6f6b14}70%,to{box-shadow:0 0 0 10px #2a6f6b33}}@keyframes voteToLeader2{0%{left:20%;top:20%;opacity:0}20%{opacity:1}80%{left:60%;top:50%;opacity:1}to{left:60%;top:50%;opacity:0}}@keyframes voteFill{0%,45%{background:#fff;border-color:#2a6f6b33;transform:scale(.9)}65%,to{background:#d2642ab3;border-color:#d2642a99;transform:scale(1)}}@keyframes voteToLeader3{0%{left:20%;top:80%;opacity:0}20%{opacity:1}80%{left:60%;top:50%;opacity:1}to{left:60%;top:50%;opacity:0}}@keyframes selfVote{0%,25%{transform:translate(-50%,-50%) scale(.6);opacity:.2}40%{transform:translate(-50%,-50%) scale(1);opacity:1}70%,to{transform:translate(-50%,-50%) scale(.8);opacity:.2}}@keyframes candidatePhase{0%,55%{opacity:1;transform:translate(-50%,-100%) scale(1)}70%,to{opacity:0;transform:translate(-50%,-100%) scale(.9)}}@keyframes votedPhase{0%,45%{opacity:0}60%,to{opacity:1}}@keyframes leaderPhase{0%,55%{opacity:0;transform:translate(-50%,-100%) scale(.9)}70%,to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes epochTick{0%,55%{opacity:.4}70%,to{opacity:1}}@keyframes epochOld{0%,55%{opacity:1;transform:translateY(0)}70%,to{opacity:0;transform:translateY(-4px)}}@keyframes epochNew{0%,55%{opacity:0;transform:translateY(4px)}70%,to{opacity:1;transform:translateY(0)}}@keyframes haloPulse{0%,55%{opacity:0;transform:translate(-50%,-50%) scale(.9)}70%,to{opacity:.7;transform:translate(-50%,-50%) scale(1.05)}}@keyframes noteGlow{0%,to{border-color:var(--line);color:var(--ink-soft)}50%{border-color:#d2642a66;color:var(--accent)}}@keyframes snapshotPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.sentinel-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:grid;gap:6px;min-width:160px}.repl-sentinel{justify-self:start}.sentinel-title{font-weight:600}.sentinel-list{display:flex;gap:6px;flex-wrap:wrap}.sentinel-list span{padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:#2a6f6b1f;font-size:.72rem}.failover-track{display:flex;align-items:center;gap:10px;position:relative}.repl-failover{justify-self:center}.track-node{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.75rem}.track-node.old{opacity:.6}.track-node.new{border-color:var(--accent);background:#d2642a1f}.track-arrow{width:40px;height:2px;background:#2a6f6b66;position:relative}.track-arrow:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(42,111,107,.4);border-top:4px solid transparent;border-bottom:4px solid transparent}.failover-reconfig{display:flex;align-items:center;gap:8px;position:relative}.reconfig-node{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.75rem}.reconfig-arrow{flex:1;height:2px;background:#2a6f6b66;position:relative;overflow:hidden}.reconfig-arrow:after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:#d2642a99;animation:forkFlow 2.4s ease infinite}.repl-flow-label{grid-column:1 / -1;justify-self:start;padding:6px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f}.redis-repl__stage.mode--failover .track-node.old{animation:shake 1.2s ease infinite}.redis-cluster__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;align-items:end}.cluster-node{padding:14px;border-radius:14px;border:1px solid var(--line);background:#fff;text-align:center;font-weight:600}.cluster-slot{text-align:center;font-size:.8rem;color:var(--ink-soft)}.cluster-move{position:absolute;top:20px;left:50%;transform:translate(-50%);padding:6px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);opacity:0}.redis-cluster__grid.mode--migrate .cluster-move{opacity:1;animation:shimmer 2s ease infinite}.redis-evict__grid{display:grid;gap:12px;position:relative}.evict-sample{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#ffffffe6;border:1px solid var(--line);border-radius:16px;padding:14px 16px}.evict-sample h3{font-size:1rem;margin-bottom:4px}.evict-sample p{color:var(--ink-soft);font-size:.85rem}.evict-legend{display:flex;flex-wrap:wrap;gap:8px}.legend-item{border:1px dashed var(--line);border-radius:999px;padding:4px 10px;font-size:.75rem;color:var(--ink-soft)}.evict-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.evict-card{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;display:grid;gap:10px;transition:transform .3s ease,border-color .3s ease}.evict-card.is-evict{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 0 0 3px #d2642a1f inset}.evict-card .evict-key{font-weight:600;font-size:.9rem}.evict-meta{font-size:.75rem;color:var(--ink-soft)}.evict-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{border-radius:999px;padding:4px 10px;font-size:.72rem;border:1px solid var(--line);background:#2a6f6b1f;color:var(--ink)}.badge--ttl{background:#d2642a1f}.badge--freq{background:#2a6f6b26}.badge.is-hot{border-color:var(--accent);color:var(--accent)}.redis-evict__grid.mode--ttl .badge--ttl.is-hot,.redis-evict__grid.mode--lfu .badge--freq.is-hot{animation:httpPulse 1.6s ease infinite}.redis-evict__grid.mode--lru .evict-card{opacity:.8}.redis-evict__grid.mode--lru .evict-card.is-evict{opacity:1}.evict-marker{justify-self:end;padding:6px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f;animation:httpPulse 1.6s ease infinite}.evict-code{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.code-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;display:grid;gap:10px}.code-card__header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.code-card__header h3{font-size:.95rem}.code-card__header span{font-size:.75rem;color:var(--ink-soft)}.code-block{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.45;background:#1f1c180f;padding:10px;border-radius:12px;overflow:auto;max-height:360px}.code-block code{white-space:pre}.mq-kafka__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;align-items:start}.mq-broker{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;text-align:center;font-weight:600}.mq-partitions{grid-column:span 3;display:flex;gap:8px;margin-top:6px}.mq-partitions .partition{flex:1;height:10px;border-radius:999px;background:#2a6f6b40;animation:frameFlow 1.6s ease infinite}.mq-replicas{grid-column:span 3;display:flex;gap:10px}.mq-replicas .replica{flex:1;height:8px;border-radius:999px;background:#d2642a4d;animation:httpPulse 1.8s ease infinite}.mq-acks{position:absolute;top:8px;right:12px;padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f}.mq-kafka__grid.mode--replica .mq-replicas .replica,.mq-kafka__grid.mode--ack .mq-acks{opacity:1}.kafka-diagram{display:grid;gap:16px}.kafka-top{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;align-items:center}.kafka-node{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;display:grid;gap:6px;text-align:center;font-weight:600}.node-pill{justify-self:center;padding:4px 10px;border-radius:999px;font-size:.72rem;color:var(--accent);background:#d2642a1f}.kafka-topic{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px 16px;display:grid;gap:10px;text-align:center}.topic-title{font-weight:700}.topic-partitions{display:flex;justify-content:center;gap:10px}.partition-card{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#2a6f6b1f;font-size:.8rem;transition:transform .3s ease,border-color .3s ease}.partition-card.leader{border-color:var(--accent);background:#d2642a2e}.topic-hint{font-size:.8rem;color:var(--ink-soft)}.kafka-arrows{display:flex;justify-content:space-between;align-items:center;padding:0 8%}.arrow{height:2px;width:140px;background:linear-gradient(90deg,#2a6f6b33,#2a6f6b99);position:relative;opacity:.5}.arrow:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(42,111,107,.6);border-top:4px solid transparent;border-bottom:4px solid transparent}.kafka-diagram.mode--partition .arrow{opacity:1;animation:flow 1.8s ease infinite}.kafka-brokers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.broker-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;display:grid;gap:10px;position:relative}.broker-title{font-weight:600}.broker-log{display:grid;gap:6px}.log-seg{border-radius:10px;padding:6px 10px;font-size:.75rem;background:#2a6f6b1f;border:1px solid transparent}.log-seg.leader{border-color:var(--accent);background:#d2642a33}.log-seg.follower{border-style:dashed;border-color:#2a6f6b66}.isr-badge{position:absolute;top:8px;right:8px;padding:4px 8px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);font-size:.7rem;color:var(--accent);background:#d2642a1f;opacity:.4}.kafka-diagram.mode--replica .isr-badge{opacity:1}.kafka-replication{display:flex;justify-content:center;gap:24px}.replication-line{width:100px;height:2px;background:#2a6f6b33;position:relative;opacity:.3}.replication-line:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(42,111,107,.4);border-top:4px solid transparent;border-bottom:4px solid transparent}.kafka-diagram.mode--replica .replication-line{opacity:1;background:#2a6f6b80;animation:frameFlow 1.6s ease infinite}.kafka-acks{display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.ack-card{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.8rem;opacity:.6}.kafka-diagram.mode--ack .ack-card{opacity:1;border-color:var(--accent)}.ack-flow{position:absolute;bottom:-6px;width:160px;height:2px;background:#d2642a80;opacity:0}.kafka-diagram.mode--ack .ack-flow{opacity:1;animation:shimmer 2s ease infinite}@media (max-width: 960px){.kafka-top{grid-template-columns:1fr}.kafka-arrows{display:none}}.mq-consume__grid{display:grid;gap:12px;align-items:center;text-align:center}.consume-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.mq-topic{font-weight:600;color:var(--accent)}.mq-part-list{display:flex;justify-content:center;gap:8px}.mq-part-list span{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.8rem}.mq-consume__diagram{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;display:grid;gap:14px;position:relative}.mq-group{display:flex;justify-content:center;gap:12px}.mq-group .consumer{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#2a6f6b1f;font-weight:600}.mq-group .consumer.ghost{opacity:.4}.assignments{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.assign-card{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:6px;background:#2a6f6b14}.assign-card.ghost{opacity:.4}.assign-card h4{font-size:.85rem}.assign-list{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.assign-list span{padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.72rem}.rebalance-indicator{position:absolute;top:10px;right:12px;padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f;opacity:0;transition:opacity .3s ease}.mq-consume__grid.mode--rebalance .rebalance-indicator{opacity:1;animation:httpPulse 1.6s ease infinite}.offset-timeline{display:grid;gap:8px;text-align:left}.offset-row{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:center}.offset-label{font-size:.75rem;color:var(--ink-soft)}.offset-track{height:8px;border-radius:999px;background:#2a6f6b1f;position:relative}.offset-dot{position:absolute;top:-4px;width:14px;height:14px;border-radius:50%;background:#2a6f6b59;left:20%}.offset-dot.active{left:60%;background:#d2642a99;box-shadow:0 0 0 6px #d2642a1f}.mq-consume__grid.mode--offset .offset-dot.active{animation:httpPulse 1.6s ease infinite}.mq-offset{justify-self:center;padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f}.mq-rocket__grid{position:relative;min-height:220px}.rocket-node{position:absolute;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:600}.rocket-node.nameserver{top:10px;left:50%;transform:translate(-50%);border-color:var(--accent)}.rocket-node.broker{top:80px;left:50%;transform:translate(-50%)}.rocket-node.producer{bottom:20px;left:18%}.rocket-node.consumer{bottom:20px;right:18%}.rocket-line{position:absolute;width:2px;background:#2a6f6b66}.rocket-line.line--a{top:40px;bottom:80px;left:35%}.rocket-line.line--b{top:40px;bottom:80px;right:35%}.mq-feature__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.feature-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;display:grid;gap:10px}.feature-line{display:flex;gap:6px}.feature-line span{flex:1;height:8px;border-radius:999px;background:#2a6f6b40;animation:frameFlow 1.6s ease infinite}.feature-clock{font-size:1.4rem;animation:spin 6s linear infinite}.feature-tx{display:flex;gap:8px}.feature-tx span{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#d2642a1f;font-size:.75rem}.ai-agent__loop{position:relative;min-height:200px}.agent-node{position:absolute;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:600}.agent-node.plan{top:20px;left:50%;transform:translate(-50%)}.agent-node.act{bottom:20px;left:18%}.agent-node.reflect{bottom:20px;right:18%}.agent-arrow{position:absolute;width:120px;height:2px;background:#2a6f6b4d}.agent-arrow.arrow-pa{top:70px;left:26%}.agent-arrow.arrow-ar{bottom:60px;left:38%}.agent-arrow.arrow-rp{top:70px;right:26%}.agent-memory{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:6px 12px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);background:#d2642a1f;color:var(--accent)}.ai-mcp__grid{display:grid;gap:14px;position:relative;grid-template-columns:minmax(0,1fr) minmax(0,.5fr)}.mcp-flow{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr) minmax(0,.85fr);align-items:center;gap:12px}.mcp-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;text-align:center;font-weight:600;box-shadow:0 10px 26px #1f1c1814}.mcp-card.mcp-llm{background:#d2642a1f;color:var(--accent)}.mcp-card.mcp-host{background:#2a6f6b1f;color:var(--accent-2)}.mcp-card.mcp-client{border-style:dashed}.mcp-card.mcp-user{background:#ffffffb3;color:var(--ink-soft)}.mcp-card.mcp-server{background:#2a6f6b14}.mcp-bridge{position:relative;height:44px;border-radius:999px;border:1px dashed rgba(42,111,107,.35);background:#ffffffb3;display:grid;place-items:center;overflow:hidden}.mcp-bridge:before{content:"";position:absolute;inset:50% 12px auto 12px;height:2px;background:linear-gradient(90deg,#2a6f6b00,#2a6f6b8c,#2a6f6b00)}.mcp-transport{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border-radius:999px;border:1px dashed rgba(31,28,24,.2);padding:8px 14px;background:#ffffffb3;position:relative;overflow:hidden}.transport-label{font-size:.75rem;color:var(--ink-soft);font-weight:600}.transport-pills{display:flex;gap:8px;flex-wrap:wrap}.transport-pill{padding:4px 10px;border-radius:999px;border:1px solid rgba(42,111,107,.35);font-size:.72rem;font-weight:600;color:var(--accent-2);background:#2a6f6b14}.transport-wave{position:relative;width:64px;height:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.transport-wave span{border-radius:999px;background:linear-gradient(90deg,#d2642a33,#d2642acc);animation:transportPulse 2s ease-in-out infinite}.transport-wave span:last-child{animation-delay:.6s}.bridge-label{font-size:.75rem;color:var(--ink-soft);z-index:1}.mcp-chip{position:absolute;top:6px;left:10px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:600;background:#fff;border:1px solid rgba(210,100,42,.4);color:var(--accent);opacity:0}.mcp-chip.chip-notify,.mcp-chip.chip-list-changed,.mcp-chip.chip-elicitation{border-color:#2a6f6b73;color:var(--accent-2)}.mcp-chip.chip-result{border-color:#1f1c1840;color:var(--ink)}.mcp-stack{display:grid;gap:8px}.mcp-pill{border-radius:12px;border:1px solid var(--line);padding:8px 10px;text-align:center;font-size:.82rem;background:#fff}.mcp-pill.resources{border-color:#2a6f6b59;color:var(--accent-2)}.mcp-pill.prompts{border-color:#d2642a59;color:var(--accent)}.mcp-pill.tools{border-color:#1f1c1840}.mcp-capabilities{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.mcp-cap{padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;background:#ffffffb3;color:var(--ink-soft)}.mcp-seq{display:grid;gap:12px}.mcp-seq__header{display:grid;grid-template-columns:var(--cols);align-items:center;gap:8px}.mcp-lifeline{border-radius:14px;border:1px solid var(--line);background:#fff;padding:10px;text-align:center;display:grid;gap:6px;box-shadow:0 10px 22px #1f1c180f}.mcp-lifeline--user{background:#fffc;color:var(--ink-soft)}.mcp-lifeline--model{background:#d2642a1f;color:var(--ink)}.mcp-lifeline--host{background:#2a6f6b1a}.mcp-lifeline--server{background:#fffffff2}.mcp-lifeline.is-active{border-color:var(--accent);box-shadow:0 12px 26px #d2642a29}.mcp-lifeline__title{font-weight:700}.mcp-lifeline__meta{font-size:.75rem;color:var(--ink-soft);line-height:1.4}.mcp-lifeline__tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.mcp-lifeline__tags span{padding:3px 8px;border-radius:999px;border:1px solid rgba(42,111,107,.3);font-size:.7rem;color:var(--accent-2);background:#2a6f6b14}.mcp-seq__body{position:relative;display:grid;gap:12px;padding:12px 0 4px}.mcp-seq__lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mcp-seq__lines span{position:absolute;top:0;bottom:0;width:2px;background:#1f1c1814;left:var(--x);transform:translate(-50%)}.mcp-row{position:relative;min-height:36px}.mcp-line{position:relative;height:2px;background:#2a6f6b47;border-radius:999px;position:absolute;left:var(--start);width:calc(var(--end) - var(--start));top:18px}.mcp-line:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(42,111,107,.5);border-top:4px solid transparent;border-bottom:4px solid transparent}.mcp-line.is-reverse:after{right:auto;left:-6px;border-left:none;border-right:6px solid rgba(42,111,107,.5)}.mcp-line:before{content:"";position:absolute;top:50%;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent);transform:translateY(-50%);opacity:0}.mcp-row.is-active .mcp-line{background:#d2642a8c}.mcp-row.is-active .mcp-line:before{opacity:1;animation:mcpTravel 2.2s linear infinite}.mcp-row.is-active .mcp-line.is-reverse:before{animation:mcpTravelReverse 2.2s linear infinite}.mcp-label{position:absolute;left:var(--mid);transform:translate(-50%);top:-4px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffffe6;font-size:.75rem;color:var(--ink-soft);z-index:1}.mcp-row.is-active .mcp-label{border-color:#d2642a80;color:var(--ink);box-shadow:0 10px 22px #d2642a26}.mcp-seq__aside{display:grid;gap:12px}.mcp-note{border-radius:16px;border:1px solid var(--line);background:#ffffffe6;padding:12px 14px;display:grid;gap:8px;box-shadow:0 10px 24px #1f1c1814}.mcp-note h4{font-size:.9rem}.mcp-note p{font-size:.8rem;color:var(--ink-soft);line-height:1.5}.mcp-note pre{margin:0;padding:10px;border-radius:12px;background:#2a6f6b14;font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.45;white-space:pre-wrap}.mcp-note.is-active{border-color:var(--accent);box-shadow:0 14px 26px #d2642a2e}.ai-mcp__grid.mode--init .mcp-capabilities{animation:mvccGlow 2.4s ease-in-out infinite}.ai-mcp__grid.mode--discover .mcp-pill{animation:mcpPulse 2s ease-in-out infinite}.ai-mcp__grid.mode--invoke .mcp-pill.tools{border-color:var(--accent);box-shadow:0 12px 24px #d2642a29}@keyframes mcpTravel{0%{left:0%;opacity:0}20%{opacity:1}to{left:calc(100% - 10px);opacity:0}}@keyframes mcpTravelReverse{0%{left:calc(100% - 10px);opacity:0}20%{opacity:1}to{left:0%;opacity:0}}.ai-mcp__grid.mode--init .chip-init,.ai-mcp__grid.mode--init .chip-initialized,.ai-mcp__grid.mode--discover .chip-list,.ai-mcp__grid.mode--discover .chip-list-changed,.ai-mcp__grid.mode--invoke .chip-read,.ai-mcp__grid.mode--invoke .chip-call,.ai-mcp__grid.mode--invoke .chip-result,.ai-mcp__grid.mode--sampling .chip-sampling,.ai-mcp__grid.mode--sampling .chip-elicitation,.ai-mcp__grid.mode--sampling .chip-approval,.ai-mcp__grid.mode--notify .chip-notify{opacity:1}.ai-mcp__grid.mode--init .chip-init,.ai-mcp__grid.mode--discover .chip-list,.ai-mcp__grid.mode--invoke .chip-call,.ai-mcp__grid.mode--invoke .chip-read,.ai-mcp__grid.mode--sampling .chip-sampling,.ai-mcp__grid.mode--sampling .chip-elicitation,.ai-mcp__grid.mode--notify .chip-notify{animation:mcpSlide 2.8s linear infinite}.ai-mcp__grid.mode--init .chip-initialized,.ai-mcp__grid.mode--discover .chip-list-changed,.ai-mcp__grid.mode--invoke .chip-result{animation:mcpSlideBack 2.8s linear infinite}.ai-mcp__grid.mode--sampling .chip-approval{animation:mcpSlide 2.4s linear infinite}.ai-mcp__grid.mode--init .chip-initialized{animation-delay:.6s}.ai-mcp__grid.mode--discover .chip-list-changed{animation-delay:.8s}.ai-mcp__grid.mode--invoke .chip-result{animation-delay:.9s}.ai-mcp__grid.mode--invoke .chip-read{animation-delay:.3s}.ai-mcp__grid.mode--sampling .chip-sampling{animation-delay:.2s}.ai-mcp__grid.mode--sampling .chip-elicitation{animation-delay:.4s}.ai-mcp__grid.mode--notify .chip-notify{animation-delay:.5s}@keyframes mcpSlide{0%{transform:translate(0);opacity:0}15%{opacity:1}85%{transform:translate(calc(100% - 120px));opacity:1}to{opacity:0}}@keyframes mcpSlideBack{0%{transform:translate(calc(100% - 120px));opacity:0}15%{opacity:1}85%{transform:translate(0);opacity:1}to{opacity:0}}@keyframes mcpPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes transportPulse{0%,to{opacity:.35;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}@media (max-width: 960px){.mcp-flow{grid-template-columns:1fr;gap:10px}.mcp-bridge{height:36px}.mcp-transport{grid-template-columns:1fr;justify-items:start}.mcp-capabilities{justify-content:flex-start}.ai-mcp__grid,.ai-skill__grid{grid-template-columns:1fr}}.ai-fncall__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative}.fncall-node{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;text-align:center;font-weight:600}.fncall-params,.fncall-result{grid-column:span 2;border:1px solid var(--line);border-radius:12px;background:#2a6f6b14;padding:10px;font-family:\"JetBrains Mono\",\"SFMono-Regular\",Menlo,Monaco,Consolas,monospace;font-size:.75rem}.fncall-arrow{position:absolute;width:120px;height:2px;background:#d2642a66}.fncall-arrow.arrow-1{top:46px;left:22%}.fncall-arrow.arrow-2{top:110px;right:22%}.ai-a2a__grid{position:relative;min-height:220px}.a2a-node{position:absolute;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:600}.a2a-node.hub{top:20px;left:50%;transform:translate(-50%);border-color:var(--accent)}.a2a-node.agent-a{bottom:20px;left:15%}.a2a-node.agent-b{bottom:20px;right:15%}.a2a-node.agent-c{bottom:20px;left:50%;transform:translate(-50%)}.a2a-line{position:absolute;height:2px;background:#2a6f6b4d}.a2a-line.line-ab{top:70px;left:25%;right:25%}.a2a-line.line-ac{top:110px;left:32%;right:32%}.a2a-line.line-bc{top:110px;left:18%;right:18%}.ai-skill__grid{display:grid;gap:14px;position:relative;grid-template-columns:minmax(0,1fr) minmax(0,.55fr)}.ai-skill .mcp-lifeline__title{font-size:.85rem}.ai-skill .mcp-lifeline__meta{font-size:.72rem}.mcp-lifeline--builder{background:#fffc;color:var(--ink-soft)}.mcp-lifeline--registry{background:#2a6f6b1f}.mcp-lifeline--agent{background:#d2642a1f;color:var(--ink)}.mcp-lifeline--runtime{background:#2a6f6b14}@media (max-width: 900px){.ai-agent__loop{min-height:240px}.ai-skill__grid{grid-template-columns:1fr;row-gap:16px}}@media (max-width: 900px){.redis-repl__stage{min-height:260px}.repl-scene--full,.repl-scene--incr,.repl-scene--failover{grid-template-columns:1fr}.repl-link,.repl-pipe{display:none}.repl-columns{grid-template-columns:1fr}.repl-link-row{display:none}.repl-full-grid{grid-template-columns:1fr}.repl-full-middle{display:none}.repl-incr-grid{grid-template-columns:1fr}.repl-incr-middle{display:none}.failover-canvas{min-height:0;padding:16px}.failover-lines{display:none}.failover-sentinel{position:static;transform:none;margin:0 auto}.failover-nodes{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center}.failover-actions{position:static;justify-content:center}}@keyframes flow{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.acid-diagram .acid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.acid-card{border-radius:16px;border:1px solid var(--line);padding:16px;background:#fff;transition:transform .3s ease,border-color .3s ease}.acid-card.is-active{border-color:var(--accent);transform:translateY(-4px)}.isolation-diagram .isolation-table{display:grid;gap:8px}.isolation-row{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}.isolation-row.is-active{border-color:var(--accent);box-shadow:0 0 0 3px #d2642a1f inset}.isolation-row.is-header{background:#2a6f6b1a;font-weight:600}.isolation-row span.ok{color:var(--accent-2);font-weight:600}.isolation-row span.warn{color:var(--accent)}.sql-diagram .sql-pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px}.sql-node{border-radius:14px;border:1px solid var(--line);padding:14px;text-align:center;background:#fff;transition:transform .3s ease,border-color .3s ease}.sql-node.is-active{border-color:var(--accent);transform:translateY(-4px)}.mvcc-diagram .mvcc-board{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:stretch}.mvcc-left,.mvcc-right{display:grid;gap:12px}.mvcc-versions{position:relative;display:grid;gap:10px;padding-left:18px}.mvcc-chain-line{position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:#2a6f6b33}.mvcc-chain-dot{position:absolute;left:2px;width:10px;height:10px;border-radius:50%;background:var(--accent-2);animation:mvccFlow 2.4s linear infinite}.mvcc-version{border-radius:14px;border:1px solid var(--line);background:#fff;padding:10px 12px;display:grid;gap:6px;transition:transform .3s ease,border-color .3s ease,opacity .3s ease;box-shadow:0 10px 30px #1f1c1814}.mvcc-version .version-tag{font-weight:700;color:var(--accent);font-size:.8rem}.mvcc-version .version-body{display:grid;gap:4px;font-size:.8rem;color:var(--ink-soft)}.mvcc-version .meta{color:var(--accent-2);font-size:.75rem}.mvcc-version.is-visible{border-color:var(--accent-2);transform:translate(6px);background:#2a6f6b14}.mvcc-version.is-hidden{opacity:.45}.mvcc-version.is-new{border-color:var(--accent);transform:translate(6px) scale(1.02);box-shadow:0 16px 32px #d2642a33}.mvcc-version.is-purged{opacity:.25;text-decoration:line-through}.mvcc-undo{position:relative;border-radius:14px;border:1px dashed rgba(42,111,107,.4);padding:12px;background:#2a6f6b0f;display:grid;gap:8px}.mvcc-undo .undo-title{font-weight:600;color:var(--accent-2)}.mvcc-undo .undo-body{display:grid;gap:4px;font-size:.8rem;color:var(--ink-soft)}.mvcc-undo-arrow{position:absolute;top:-10px;left:18px;right:18px;height:2px;background:linear-gradient(90deg,#d2642a00,#d2642acc,#d2642a00);animation:mvccPulse 2s ease-in-out infinite}.mvcc-sql{border-radius:16px;border:1px solid var(--line);background:linear-gradient(140deg,#fffffff5,#f4efe7b3);padding:12px 14px;display:grid;gap:8px;box-shadow:0 12px 26px #1f1c1814}.mvcc-code{margin:0;font-family:ZCOOL XiaoWei,Noto Sans SC,serif;font-size:.86rem;line-height:1.5;color:var(--ink);background:#2a6f6b14;border-radius:10px;padding:8px 10px;white-space:normal}.mvcc-readview,.mvcc-rules,.mvcc-purge{border-radius:16px;border:1px solid var(--line);background:#fff;padding:12px 14px;display:grid;gap:10px;box-shadow:0 12px 28px #1f1c1814}.mvcc-card-title{font-weight:700;font-size:.9rem;color:var(--ink)}.mvcc-readview-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.8rem;color:var(--ink-soft)}.mvcc-active-list{display:flex;flex-wrap:wrap;gap:6px}.mvcc-badge{padding:4px 8px;border-radius:999px;background:#d2642a1f;color:var(--accent);font-size:.75rem;font-weight:600}.mvcc-rules{background:linear-gradient(120deg,#fffffff2,#f4efe799)}.mvcc-rule{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--ink-soft)}.mvcc-rule strong{color:var(--ink);font-weight:600}.mvcc-readview.is-active,.mvcc-rules.is-active,.mvcc-purge.is-active{border-color:var(--accent);box-shadow:0 16px 32px #d2642a2e}.mvcc-board.mode--readview .mvcc-readview{animation:mvccGlow 2.4s ease-in-out infinite}.mvcc-board.mode--version .mvcc-version .meta{color:var(--accent);font-weight:600}.mvcc-board.mode--undo .mvcc-undo{border-color:var(--accent)}.mvcc-board.mode--purge .mvcc-purge{animation:mvccPulse 2.2s ease-in-out infinite}@keyframes mvccFlow{0%{top:8px;opacity:0}20%{opacity:1}to{top:calc(100% - 18px);opacity:0}}@keyframes mvccPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes mvccGlow{0%,to{box-shadow:0 0 #d2642a00}50%{box-shadow:0 0 0 8px #d2642a26}}@media (max-width: 960px){.mvcc-diagram .mvcc-board{grid-template-columns:1fr}}.jvm-diagram .jvm-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.jvm-block{border-radius:16px;border:1px solid var(--line);padding:20px;background:#fff;text-align:center;font-weight:600;transition:border-color .3s ease,transform .3s ease}.jvm-layout.focus--heap .jvm-block--heap,.jvm-layout.focus--stack .jvm-block--stack,.jvm-layout.focus--meta .jvm-block--meta,.jvm-layout.focus--gc .jvm-gc{border-color:var(--accent);transform:translateY(-4px)}.jvm-gc{grid-column:span 3;background:#d2642a26;border-radius:12px;padding:10px;text-align:center;margin-top:12px}.collections-diagram .collections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.collections-card{border-radius:16px;border:1px solid var(--line);padding:16px;background:#fff;display:grid;gap:10px;transition:transform .3s ease,border-color .3s ease}.collections-card.is-active{border-color:var(--accent);transform:translateY(-4px)}.bucket{display:grid;gap:6px}.bucket__slot{display:block;height:8px;background:#2a6f6b33;border-radius:999px}.lock{border-radius:999px;background:#d2642a33;padding:6px 10px;font-size:.8rem;text-align:center}.segments{display:flex;gap:6px}.segments span{flex:1;height:10px;background:#2a6f6b33;border-radius:999px}.ratelimit-diagram .ratelimit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.ratelimit-grid .bucket{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;min-height:160px;position:relative}.bucket__label{font-weight:600;margin-bottom:8px}.tokens span{display:inline-block;width:12px;height:12px;border-radius:50%;background:#2a6f6b99;margin-right:6px;animation:drop 1.6s ease infinite}.tokens span:nth-child(2){animation-delay:.2s}.tokens span:nth-child(3){animation-delay:.4s}.tokens span:nth-child(4){animation-delay:.6s}.drop{width:6px;height:40px;background:#d2642a99;border-radius:999px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);animation:leak 1.6s ease infinite}.window-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.window-bars span{height:40px;background:#2a6f6b4d;border-radius:8px;animation:pulse 2s ease infinite}.ratelimit-grid.focus--token .token-bucket,.ratelimit-grid.focus--leaky .leaky-bucket,.ratelimit-grid.focus--window .window-bucket{border-color:var(--accent)}@keyframes drop{0%{transform:translateY(0);opacity:.5}50%{transform:translateY(8px);opacity:1}to{transform:translateY(0);opacity:.5}}@keyframes leak{0%{height:8px}50%{height:40px}to{height:8px}}.cache-diagram .cache-flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center}.cache-node{border-radius:16px;border:1px solid var(--line);background:#fff;padding:18px;text-align:center;font-weight:600}.cache-arrow{position:absolute;height:2px;background:#2a6f6b66;top:50%;left:18%;right:18%;opacity:.2}.cache-flow.focus--read .arrow-read,.cache-flow.focus--write .arrow-write,.cache-flow.focus--double .arrow-double{opacity:1;background:#d2642a99}.cache-arrow.arrow-read{transform:translateY(-16px)}.cache-arrow.arrow-write{transform:translateY(16px)}.cache-arrow.arrow-double{transform:translateY(0)}.struct-diagram .struct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.struct-card{border-radius:16px;border:1px solid var(--line);padding:16px;background:#fff;display:grid;gap:12px;transition:transform .3s ease,border-color .3s ease}.struct-card.is-active{border-color:var(--accent);transform:translateY(-4px)}.stack,.queue,.heap{display:grid;gap:6px}.stack span,.queue span,.heap span{height:12px;border-radius:8px;background:#2a6f6b40}.graph-diagram .graph-board{position:relative;min-height:220px}.graph-node{position:absolute;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-weight:600;transition:border-color .3s ease,transform .3s ease}.graph-board.mode--bfs .node--a,.graph-board.mode--bfs .node--b,.graph-board.mode--bfs .node--c{border-color:var(--accent)}.graph-board.mode--dfs .node--a,.graph-board.mode--dfs .node--d,.graph-board.mode--dfs .node--e{border-color:var(--accent-2)}.graph-board.mode--shortest .node--a,.graph-board.mode--shortest .node--c,.graph-board.mode--shortest .node--e{border-color:var(--accent);transform:translateY(-4px)}.node--a{top:20px;left:20px}.node--b{top:20px;right:20px}.node--c{top:90px;left:80px}.node--d{bottom:20px;left:40px}.node--e{bottom:20px;right:40px}.graph-edge{position:absolute;height:2px;background:#2a6f6b4d}.edge-ab{top:40px;left:60px;right:60px}.edge-ac{top:70px;left:60px;width:60px;transform:rotate(45deg)}.edge-bd{top:70px;right:80px;width:70px;transform:rotate(135deg)}.edge-ce{top:120px;left:120px;width:90px;transform:rotate(20deg)}.edge-de{bottom:40px;left:80px;width:120px;transform:rotate(0)}.pointer-diagram .pointer-board{position:relative}.pointer-array{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.pointer-cell{border:1px solid var(--line);border-radius:12px;padding:12px 8px;background:#fff;text-align:center}.cell-index{font-size:.7rem;color:var(--ink-soft)}.pointer-marker{position:absolute;top:-16px;width:26px;height:26px;border-radius:50%;background:#d2642acc;color:#fff;display:grid;place-items:center;font-weight:700;transition:transform .6s ease}.pointer-left{transform:translate(calc(var(--left) * 52px))}.pointer-right{transform:translate(calc(var(--right) * 52px));background:#2a6f6bcc}.dp-diagram .dp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;position:relative}.dp-cell{border:1px solid var(--line);border-radius:8px;height:42px;background:#fff}.dp-grid.mode--transition .dp-cell:nth-child(7),.dp-grid.mode--transition .dp-cell:nth-child(13),.dp-grid.mode--transition .dp-cell:nth-child(19){background:#d2642a33}.dp-grid.mode--fill .dp-cell:nth-child(-n+15){background:#2a6f6b33}.dp-path{position:absolute;top:12px;left:12px;width:80%;height:80%;border:2px dashed rgba(210,100,42,.4);border-radius:16px;opacity:.3}@media (max-width: 960px){.topic-shell__hero,.topic-shell__step{grid-template-columns:1fr}.tcp-row,.tcp-header{grid-template-columns:1fr 120px 1fr}.tcp-bubble{max-width:180px;font-size:.8rem}}@media (max-width: 640px){.tcp-row,.tcp-header{grid-template-columns:1fr 90px 1fr;gap:8px}.tcp-row{--tcp-gap: 8px}.tcp-bubble{max-width:150px;padding:6px 10px;font-size:.78rem}.tcp-arrow{border-left-width:5px;border-top-width:3px;border-bottom-width:3px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
