@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)}.cny-theme{--bg: #fdf5f0;--bg-deep: #f8ebe0;--ink: #2b1810;--ink-soft: #6b4a3a;--accent: #c41a1a;--accent-2: #b8860b;--card: #fffaf5;--line: rgba(180, 40, 40, .12);--shadow: 0 18px 50px rgba(120, 20, 20, .1)}.spring-theme{color-scheme:light;--bg: #eff7ef;--bg-deep: #e2f1e4;--ink: #162015;--ink-soft: #3c553a;--accent: #2f8a3b;--accent-2: #1f6d68;--card: #fbfff9;--line: rgba(18, 32, 21, .12);--shadow: 0 18px 50px rgba(18, 32, 21, .1)}*{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}html.cny-theme body{background:radial-gradient(circle at top left,#fef2ea,#fce8da 35%,#f8ddd0 60%,#fdf0e8)}html.spring-theme body{background:radial-gradient(circle at 18% 18%,rgba(47,138,59,.14),transparent 55%),radial-gradient(circle at 78% 72%,rgba(31,109,104,.16),transparent 58%),radial-gradient(circle at 50% 110%,rgba(255,255,255,.9),transparent 55%),linear-gradient(160deg,#f3fbf2,#e6f3e8 40%,#eaf4f0)}a{color:inherit}img{max-width:100%;height:auto}svg{max-width:100%}.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__split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}.topic-shell__principles{background:#ffffffd9;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:16px}.principles__header{display:grid;gap:6px}.principles__header h3{font-size:1.1rem;margin:0}.principles__header p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:.86rem}.principles__grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.principles__card{background:#ffffffe6;border:1px solid rgba(31,28,24,.12);border-radius:16px;padding:14px;display:grid;gap:8px;box-shadow:0 10px 20px #1f1c180f}.principles__card h4{margin:0;font-size:.95rem}.principles__meta{margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.5}.principles__list{list-style:none;display:grid;gap:6px;margin:0;padding:0;color:var(--ink-soft);font-size:.82rem}.principles__list li{position:relative;padding-left:16px}.principles__list li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.topic-shell__flow{display:grid;gap:10px;background:#fffc;border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--ink-soft)}@media (max-width: 980px){.topic-shell__split{grid-template-columns:1fr}}@media (max-width: 960px){.topic-shell__hero,.topic-shell__step{grid-template-columns:1fr}}@media (max-width: 720px){.topic-shell__hero{padding:48px 6vw 24px;gap:24px}.topic-shell__stage{padding:12px 6vw 36px}.topic-shell__panel{gap:12px}.topic-shell__card{padding:14px}.topic-shell__actions{gap:10px}.topic-shell__primary,.topic-shell__ghost,.topic-shell__back{padding:8px 14px;font-size:.88rem}.topic-shell__timeline{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.timeline__step{white-space:nowrap;font-size:.78rem;padding:6px 12px;scroll-snap-align:start}.topic-shell__step{padding:16px;gap:12px}.topic-shell__step h2{font-size:1.2rem}.topic-shell__diagram{padding:16px;border-radius:18px;min-height:200px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.topic-shell__principles{padding:16px}.principles__grid{grid-template-columns:1fr}}@media (max-width: 480px){.topic-shell__subtitle{font-size:.95rem}.topic-shell__step p,.topic-shell__step li{font-size:.9rem}}.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}.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}.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;overflow-x:clip}.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 span{line-height:1;display:inline-flex;align-items:center}.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);max-width:calc(100vw - 32px);overflow-y:auto;max-height:calc(100vh - 100px)}.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}@media (max-width: 980px){.top-nav{overflow-x:visible}.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: 720px){.top-nav__bar{padding:12px 6vw;gap:12px;flex-wrap:wrap}.top-nav__logo{font-size:1rem}.top-nav__logo img{width:30px;height:30px;border-radius:10px}.top-nav__menu{inset:64px 12px auto 12px;max-height:calc(100vh - 90px);overflow-y:auto}.top-nav__dropdown{max-height:60vh;overflow-y:auto}.top-nav__toggle{padding:6px 10px}.footer{padding:16px 6vw 32px}}.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)}.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}.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}.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}@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-a2a .mcp-row.is-active .mcp-line{background:#d2642a80}.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}@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}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}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}}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}to{transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@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 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 appendMove{0%{left:-20%;opacity:0}30%{opacity:1}to{left:120%;opacity:0}}@keyframes flow{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes mvccGlow{0%,to{box-shadow:0 0 #d2642a00}50%{box-shadow:0 0 0 8px #d2642a26}}.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}.dirty-dot{width:8px;height:8px;border-radius:50%;background:#d2642ab3}.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}.clock-hand{width:2px;height:8px;background:#d2642ab3;border-radius:999px;transform-origin:bottom 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}.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}.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}.badge-warn{border-color:#d2642a66;color:var(--accent)}.badge-master{border-color:#2a6f6b66;color:var(--accent-2)}.msg-title{font-size:.72rem;color:var(--ink-soft)}.msg-body{font-weight:600;font-size:.85rem}.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}.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}.live-label{font-size:.72rem;color:var(--ink-soft)}.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}.buffer-offset{font-size:.7rem;color:var(--accent)}.link-label{min-width:90px;font-weight:600;color:var(--ink-soft)}.pipe-seg{width:24px;height:8px;border-radius:999px;background:#2a6f6b33;animation:frameFlow 1.6s ease infinite}.buffer-title,.buffer-bar{display:flex;gap:6px}.buffer-bar span{flex:1;height:8px;border-radius:999px;background:#d2642a40}.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}.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}.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}.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)}.mq-broker{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;text-align:center;font-weight:600}.mq-replicas{grid-column:span 3;display:flex;gap:10px}.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}.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}.kafka-topic{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px 16px;display:grid;gap:10px;text-align:center}.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-brokers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kafka-replication{display:flex;justify-content:center;gap:24px}.kafka-acks{display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.consume-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.mq-topic{font-weight:600;color:var(--accent)}.mq-group{display:flex;justify-content:center;gap:12px}.mq-offset{justify-self:center;padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);background:#d2642a1f}.delay-bucket{position:absolute;left:50%;top:2px;transform:translate(-50%);display:grid;gap:4px;justify-items:center;z-index:4}.delay-countdown{padding:2px 8px;border-radius:999px;font-size:.66rem;border:1px solid rgba(210,100,42,.3);background:#d2642a1f;color:var(--ink)}.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}.lock{border-radius:999px;background:#d2642a33;padding:6px 10px;font-size:.8rem;text-align:center}.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}.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)}.cell-index{font-size:.7rem;color:var(--ink-soft)}@keyframes progressMove{0%{transform:translate(-80%)}50%{transform:translate(0)}to{transform:translate(80%)}}@keyframes clientPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes rangeMove{0%{left:10%}50%{left:70%}to{left:30%}}@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 haloPulse{0%,55%{opacity:0;transform:translate(-50%,-50%) scale(.9)}70%,to{opacity:.7;transform:translate(-50%,-50%) scale(1.05)}}@keyframes transportPulse{0%,to{opacity:.35;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}@keyframes leak{0%{height:8px}50%{height:40px}to{height:8px}}.hero{display:grid;grid-template-columns: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}.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}.map-pagination{display:flex;align-items:center;justify-content:center;padding:8px 8vw 48px}.map-pagination__button{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#ffffffb3;cursor:pointer;font:inherit;color:var(--ink);transition:transform .2s ease,background .2s ease}.map-pagination__button:hover:not(:disabled){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)}@media (max-width: 960px){.hero{grid-template-columns:1fr}}@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}}.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)}.landing{padding:64px 8vw 80px;display:grid;gap:60px}.landing__brand{display:flex;align-items:center;gap:12px}.landing__brand-mark{width:56px;height:56px;border-radius:18px;box-shadow:0 16px 30px #1f1c1824;background:#ffffffbf}.landing__brand-tagline{margin-top:6px;color:var(--ink-soft);font-size:.92rem;letter-spacing:.02em}.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__fun{display:inline-block;margin-left:12px;font-family:ZCOOL KuaiLe,ZCOOL XiaoWei,serif;color:var(--accent);letter-spacing:.06em;transform:rotate(-2deg)}.landing__subtitle{color:var(--ink-soft);line-height:1.7;max-width:520px}.landing__stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.landing-stat{border:1px solid var(--line);background:#ffffffb3;padding:8px 12px;border-radius:999px;color:var(--ink-soft);font-size:.86rem}.landing-stat b{color:var(--ink);margin-right:6px}.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:320px}.hero-map{position:relative;height:360px;border-radius:28px;border:1px solid var(--line);background:radial-gradient(circle at 30% 18%,rgba(210,100,42,.12),transparent 55%),radial-gradient(circle at 70% 82%,rgba(42,111,107,.14),transparent 55%),#ffffffb3;overflow:hidden;box-shadow:var(--shadow)}.hero-map__backdrop{position:absolute;top:12%;right:18%;bottom:12%;left:18%;border-radius:32px;background:linear-gradient(135deg,#d2642a14,#2a6f6b1f);filter:blur(12px);opacity:.7}.hero-map__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(31,28,24,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(31,28,24,.06) 1px,transparent 1px);background-size:40px 40px;opacity:.5;-webkit-mask-image:radial-gradient(circle at 50% 50%,black 40%,transparent 80%);mask-image:radial-gradient(circle at 50% 50%,black 40%,transparent 80%)}.hero-map__arc{position:absolute;left:50%;top:50%;width:300px;height:300px;border-radius:50%;border:1px solid rgba(42,111,107,.25);border-left-color:transparent;border-bottom-color:transparent;--rotate: 12deg;transform:translate(-50%,-50%) rotate(var(--rotate));animation:arcSpin 20s linear infinite;z-index:1}.hero-map__arc--b{width:220px;height:220px;border-color:#d2642a47;border-right-color:transparent;border-top-color:transparent;--rotate: -8deg;animation-direction:reverse;animation-duration:14s}.hero-map__arc--c{width:160px;height:160px;border-color:#2a6f6b26;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;--rotate: 30deg;animation-duration:10s}.hero-map__pulse{position:absolute;left:50%;top:50%;width:200px;height:200px;border-radius:50%;border:1px solid rgba(210,100,42,.2);transform:translate(-50%,-50%);animation:pulse 4.5s ease-in-out infinite;z-index:1}.hero-map__pulse--b{width:260px;height:260px;border-color:#2a6f6b26;animation:pulse 6s ease-in-out infinite;animation-delay:1.5s}.hero-map__radar{position:absolute;left:50%;top:50%;width:300px;height:300px;transform:translate(-50%,-50%);border-radius:50%;z-index:2;overflow:hidden;pointer-events:none}.hero-map__radar:before{content:"";position:absolute;left:50%;top:50%;width:50%;height:50%;transform-origin:0 0;background:conic-gradient(from 0deg,transparent 0deg,rgba(210,100,42,.12) 30deg,transparent 60deg);animation:radarSweep 6s linear infinite}.hero-map__orbit-dots{position:absolute;left:50%;top:50%;width:0;height:0;z-index:2;pointer-events:none}.orbit-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 8px #2a6f6b99}.orbit-dot--1{animation:orbitMove1 20s linear infinite}.orbit-dot--2{width:5px;height:5px;background:var(--accent);box-shadow:0 0 8px #d2642a99;animation:orbitMove2 14s linear infinite}.orbit-dot--3{width:4px;height:4px;animation:orbitMove3 10s linear infinite}.hero-map__links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.hero-map__link-line{stroke:#d2642a1a;stroke-width:.3;stroke-dasharray:2 3;animation:linkPulse 4s ease-in-out infinite}.hero-map__link-line:nth-child(odd){animation-delay:.5s;stroke:#2a6f6b14}.hero-map__core-glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:36px;background:radial-gradient(circle,rgba(210,100,42,.1) 0%,rgba(42,111,107,.08) 40%,transparent 70%);animation:coreGlow 4s ease-in-out infinite;pointer-events:none}.hero-map__sat-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-2);margin-right:6px;animation:satDotBlink 3s ease-in-out infinite;box-shadow:0 0 6px #2a6f6b80}.hero-map__satellite:nth-child(odd) .hero-map__sat-dot{background:var(--accent);box-shadow:0 0 6px #d2642a80;animation-delay:.4s}.hero-map__scanline{position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(210,100,42,.3) 30%,rgba(210,100,42,.5) 50%,rgba(210,100,42,.3) 70%,transparent 100%);z-index:5;pointer-events:none;animation:scanlineMove 8s ease-in-out infinite}.hero-map__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:26px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(31,28,24,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;z-index:3;box-shadow:0 14px 30px #1f1c1826;overflow:hidden}.hero-map__badge{font-family:ZCOOL XiaoWei,serif;font-size:1.2rem;color:var(--accent);letter-spacing:.08em}.hero-map__metric{font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.16em}.hero-map__streams{position:absolute;top:12%;right:10%;bottom:12%;left:10%;display:grid;z-index:2}.hero-map__stream{position:absolute;left:var(--x);top:0;width:2px;height:100%;background:linear-gradient(180deg,#2a6f6b14,#2a6f6b59,#d2642a33);border-radius:999px}.hero-map__stream:after{content:"";position:absolute;left:50%;top:8%;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#d2642ae6,#d2642a1a 70%);transform:translate(-50%,-50%);animation:streamPulse 4.6s ease-in-out infinite;animation-delay:var(--delay, 0s);box-shadow:0 0 12px #d2642a66}.hero-map__satellites{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4}.hero-map__satellite{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);padding:6px 12px;border-radius:999px;border:1px solid rgba(31,28,24,.14);background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.72rem;color:var(--ink);box-shadow:0 10px 20px #1f1c1814;animation:satelliteFloat 5.4s ease-in-out infinite;animation-delay:var(--delay, 0s);display:flex;align-items:center;transition:box-shadow .3s ease,border-color .3s ease}.hero-map__satellite:hover{border-color:var(--accent);box-shadow:0 10px 24px #1f1c181f}.hero-map__legend{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:18px;padding:8px 14px;border-radius:999px;border:1px solid rgba(31,28,24,.14);background:#ffffffeb;font-size:.7rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.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}.landing__routes{display:grid;gap:20px}.routes__header h2{font-size:1.6rem;margin:0}.routes__header p{margin-top:8px;color:var(--ink-soft);line-height:1.6}.routes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.route-card{border-radius:20px;border:1px solid var(--line);background:#ffffffd9;box-shadow:0 18px 40px #1f1c1814;overflow:hidden;position:relative}.route-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 0%,rgba(42,111,107,.16),transparent 55%),radial-gradient(circle at 84% 100%,rgba(210,100,42,.14),transparent 60%);opacity:.55;pointer-events:none}.route-card__head{padding:18px 18px 10px;position:relative;z-index:1}.route-card__head h3{margin:0;font-size:1.08rem}.route-card__head p{margin-top:6px;color:var(--ink-soft);line-height:1.6;font-size:.88rem}.route-card__links{display:grid;gap:10px;padding:0 18px 18px;position:relative;z-index:1}.route-link{text-decoration:none;border-radius:16px;border:1px solid rgba(31,28,24,.12);background:#ffffffeb;padding:12px;display:grid;gap:4px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.route-link:hover{transform:translateY(-2px);border-color:#d2642a42;box-shadow:0 14px 26px #1f1c181a}.route-link__title{font-weight:700}.route-link__desc{color:var(--ink-soft);font-size:.82rem;line-height:1.55}@media (max-width: 960px){.landing__hero{grid-template-columns:1fr}}@media (max-width: 720px){.landing{padding:48px 6vw 64px;gap:40px}.landing__visual{min-height:260px}.hero-map{height:280px;border-radius:22px}.hero-map__arc{width:240px;height:240px}.hero-map__arc--b{width:180px;height:180px}.hero-map__arc--c{width:130px;height:130px}.hero-map__pulse{width:160px;height:160px}.hero-map__pulse--b{width:210px;height:210px}.hero-map__radar{width:240px;height:240px}.hero-map__core{width:140px;height:140px;border-radius:20px}.hero-map__badge{font-size:1rem}.hero-map__metric{font-size:.65rem}.hero-map__satellite{font-size:.62rem;padding:4px 10px}.hero-map__legend{gap:12px;padding:6px 12px;font-size:.6rem}.landing__actions{gap:10px}.landing__primary,.landing__ghost{padding:8px 14px;font-size:.9rem}.landing__mission{padding:20px}.landing__brand-mark{width:48px;height:48px;border-radius:16px}.landing__stats{gap:10px}}@media (max-width: 480px){.hero-map{height:240px}.hero-map__arc{width:200px;height:200px}.hero-map__arc--b{width:150px;height:150px}.hero-map__arc--c{width:110px;height:110px}.hero-map__pulse{width:140px;height:140px}.hero-map__pulse--b{width:180px;height:180px}.hero-map__radar{width:200px;height:200px}.hero-map__core{width:120px;height:120px}.hero-map__satellite{font-size:.58rem}}.mission__card{border-radius:16px;padding:16px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.mission__card:before{content:"";position:absolute;top:-30px;right:-30px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(210,100,42,.1),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.mission__card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #1f1c181a;border-color:#d2642a40}.mission__card:hover:before{opacity:1}.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)}.landing__cta .landing__ghost{display:inline-flex;margin-top:12px}@keyframes arcSpin{0%{transform:translate(-50%,-50%) rotate(var(--rotate))}to{transform:translate(-50%,-50%) rotate(calc(var(--rotate) + 360deg))}}@keyframes pulse{0%{opacity:.4;transform:translate(-50%,-50%) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.02)}to{opacity:.4;transform:translate(-50%,-50%) scale(.92)}}@keyframes streamPulse{0%{top:8%;opacity:.2}50%{opacity:1}to{top:92%;opacity:.2}}@keyframes satelliteFloat{0%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}to{transform:translate(-50%,-50%) translateY(0)}}@keyframes radarSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitMove1{0%{transform:rotate(0) translate(150px) rotate(0)}to{transform:rotate(360deg) translate(150px) rotate(-360deg)}}@keyframes orbitMove2{0%{transform:rotate(0) translate(110px) rotate(0)}to{transform:rotate(-360deg) translate(110px) rotate(360deg)}}@keyframes orbitMove3{0%{transform:rotate(0) translate(80px) rotate(0)}to{transform:rotate(360deg) translate(80px) rotate(-360deg)}}@keyframes linkPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes coreGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes satDotBlink{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes scanlineMove{0%{top:-2px;opacity:0}5%{opacity:1}95%{opacity:1}to{top:100%;opacity: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}.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)}@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}.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}@media (max-width: 900px){.bplus__step{grid-template-columns:1fr}}.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)}.node-metrics{display:flex;gap:6px;flex-wrap:wrap;font-size:.6rem}.node-pill{justify-self:center;padding:4px 10px;border-radius:999px;font-size:.72rem;color:var(--accent);background:#d2642a1f}.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}@keyframes nodeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.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__ghost{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 16px;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)}.os-principles{display:grid;gap:12px}.os-principles__card{background:#ffffffe6;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:10px;box-shadow:0 10px 24px #1f1c180f}.os-principles__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--accent-2);font-weight:600}.os-principles__title{font-size:1rem;font-weight:700;margin:0}.os-principles__desc{margin:0;font-size:.88rem;line-height:1.6;color:var(--ink-soft)}.os-principles__list{display:grid;gap:8px}.os-principles__item{padding:8px 10px;border-radius:12px;background:#1f1c180a;border:1px dashed rgba(31,28,24,.12);display:grid;gap:4px;font-size:.78rem;color:var(--ink-soft)}.os-principles__item strong{font-size:.78rem;color:var(--ink)}.os-principles__example{display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#1f1c180a;border:1px dashed rgba(31,28,24,.12);font-size:.78rem;color:var(--ink-soft);font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.os-principles__example span{display:block}@media (max-width: 960px){.topic__hero{grid-template-columns:1fr}.state-machine{min-height:320px}}.topic-title{font-weight:700}.topic-partitions{display:flex;justify-content:center;gap:10px}.topic-hint{font-size:.8rem;color:var(--ink-soft)}.topic-shell__diagram.mq-rocket{padding:22px;min-height:380px;background:#fff9;border-color:#1f1c1814}.sync-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr);gap:20px;align-items:start}.topic--sync{min-height:auto;padding-bottom:24px}.topic--sync .topic__stage{padding-bottom:24px}.sync-diagram{background:#ffffffeb;border:1px solid var(--line);border-radius:22px;padding:20px;display:grid;gap:16px;box-shadow:0 12px 30px #1f1c180f}.sync-resources{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.sync-resource{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:6px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.sync-resource.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #d2642a1f inset;transform:translateY(-2px)}.sync-resource.is-locked{border-color:var(--accent-2);box-shadow:0 0 0 2px #2a6f6b1f inset}.sync-resource__title{font-weight:600}.sync-resource__meta{font-size:.82rem;color:var(--ink-soft)}.sync-resource__badge{justify-self:start;font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:999px;background:#d2642a29;color:var(--accent)}.sync-signal{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 8px;border-radius:999px;background:#1f1c1814;color:var(--ink-soft)}.sync-signal.is-on{background:#d2642a33;color:var(--accent);animation:pulse 1.6s ease infinite}.sync-lanes{display:grid;gap:10px}.sync-thread{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:10px;transition:transform .3s ease,opacity .3s ease,border-color .3s ease}.sync-thread.is-running{border-color:var(--accent);box-shadow:0 0 0 2px #d2642a1f inset;transform:translateY(-2px)}.sync-thread.is-spinning{border-color:#d2642a80;background:#d2642a14}.sync-thread.is-blocked,.sync-thread.is-sleeping{opacity:.5}.sync-thread.is-ready{opacity:.75}.sync-thread__header{display:flex;align-items:center;gap:8px}.sync-thread__label{font-weight:700}.sync-thread__pulse{width:10px;height:10px;border-radius:999px;background:#1f1c181f}.sync-thread.is-running .sync-thread__pulse{background:var(--accent);animation:pulse 1.6s ease infinite}.sync-thread.is-spinning .sync-thread__pulse{border:2px solid rgba(210,100,42,.35);border-top-color:var(--accent);background:transparent;animation:spin .9s linear infinite}.sync-thread__status{margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:4px 8px;border-radius:999px;background:#1f1c1814;color:var(--ink-soft)}.sync-thread__status.is-running{background:#d2642a33;color:var(--accent)}.sync-thread__status.is-spinning{background:#d2642a26;color:var(--accent)}.sync-thread__status.is-blocked,.sync-thread__status.is-sleeping{background:#1f1c1814;color:var(--ink-soft)}.sync-thread__status.is-ready{background:#2a6f6b26;color:var(--accent-2)}.sync-thread__tags{display:flex;flex-wrap:wrap;gap:6px}.sync-tag{padding:4px 8px;border-radius:999px;font-size:.72rem;background:#1f1c180f;border:1px dashed rgba(31,28,24,.12);color:var(--ink-soft)}.sync-tag--lock{background:#2a6f6b29;color:var(--accent-2);border-color:#2a6f6b33}.sync-tag--run{background:#d2642a29;color:var(--accent);border-color:#d2642a33}.sync-tag--wait{background:#1f1c1814}.sync-tag--spin{background:#d2642a24;color:var(--accent)}.sync-tag--signal{background:#d2642a33;color:var(--accent)}.sync-tag--idle{background:#2a6f6b1f;color:var(--accent-2)}.sync-queues{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.sync-queue-box{border:1px dashed var(--line);border-radius:14px;padding:10px 12px;display:grid;gap:8px;background:#fffc}.sync-queue-box.is-active{border-color:#d2642a66}.sync-queue-list{display:flex;flex-wrap:wrap;gap:8px}.sync-chip{padding:4px 10px;border-radius:999px;font-size:.75rem;background:#1f1c180f;border:1px solid rgba(31,28,24,.1);color:var(--ink-soft)}.sync-empty{font-size:.75rem;color:var(--ink-soft)}.sync-cpu{display:grid;gap:8px;border:1px dashed var(--line);border-radius:14px;padding:12px;background:#fffc}.sync-cpu__bar{height:8px;background:#1f1c1814;border-radius:999px;overflow:hidden}.sync-cpu__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#d2642a66,#d2642ae6);transition:width .6s ease}.sync-diagram[data-mode=spin] .sync-cpu__bar span{animation:frameFlow 1.4s ease infinite}.sync-event{font-size:.82rem;color:var(--accent);background:#d2642a1f;border:1px dashed rgba(210,100,42,.4);border-radius:999px;padding:6px 12px;opacity:.5;transition:opacity .3s ease,transform .3s ease}.sync-event.is-on{opacity:1;transform:translateY(-2px)}.sync-detail{display:grid;gap:12px}.sync-detail__card{background:#ffffffe0;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:8px;box-shadow:0 10px 24px #1f1c180f}.sync-detail__title{font-weight:700;font-size:1rem}.sync-detail__summary{color:var(--ink-soft);line-height:1.6;font-size:.9rem}.sync-mode{justify-self:start;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#1f1c1814;color:var(--ink-soft)}.sync-mode--mutex{background:#2a6f6b29;color:var(--accent-2)}.sync-mode--spin{background:#d2642a29;color:var(--accent)}.sync-mode--cond{background:#1f1c181a;color:var(--ink)}.sync-step__title{font-size:1.35rem;font-weight:700;margin-top:6px}.sync-detail__section{background:#ffffffe0;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:8px;box-shadow:0 10px 24px #1f1c180a}.sync-detail__section h4{font-size:.85rem;color:var(--ink);margin:0}.sync-detail__lines{display:grid;gap:8px;font-size:.82rem;color:var(--ink-soft)}.sync-detail__lines span{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#1f1c180a;border:1px dashed rgba(31,28,24,.08);font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.sync-detail__lines span:before{content:"";width:6px;height:6px;border-radius:999px;background:#d2642ab3;box-shadow:0 0 6px #d2642a66;flex:0 0 auto}.sync-principles{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.sync-principles .os-principles__card{height:100%}@media (max-width: 900px){.sync-stage,.sync-resources,.sync-queues{grid-template-columns:minmax(0,1fr)}}.state-machine{position:relative;background:#fff;border-radius:24px;border:1px solid var(--line);padding:40px 30px;min-height:260px;overflow:hidden}.process-stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:18px;align-items:start}.process-principles{align-self:stretch}.state-node{--state-color: 31, 28, 24;position:absolute;background:rgba(var(--state-color),.08);border:1px solid rgba(var(--state-color),.25);border-radius:999px;padding:10px 18px;font-weight:600;color:var(--ink);box-shadow:0 8px 18px #1f1c180f;transform:translate(-50%,-50%);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;z-index:2}.state-node.is-active{border-color:rgb(var(--state-color));box-shadow:0 0 0 4px rgba(var(--state-color),.18) inset;transform:translate(-50%,-50%) translateY(-3px)}.state-node.is-from{box-shadow:0 0 0 3px rgba(var(--state-color),.14) inset}.state-node.is-to{background:rgba(var(--state-color),.16)}.state-node.is-dim{opacity:.45}.state-node--new{--state-color: 82, 126, 236}.state-node--ready{--state-color: 56, 143, 92}.state-node--running{--state-color: 210, 100, 42}.state-node--blocked{--state-color: 214, 141, 52}.state-node--terminated{--state-color: 198, 66, 66}.state-token{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #d2642a1f;animation:tokenPulse 2s ease infinite;transform:translate(-50%,-50%);transition:top .8s ease,left .8s ease;z-index:3}.state-links{display:none}.state-connector{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4;color:var(--accent)}.state-connector__path{stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:butt;stroke-linejoin:round}.state-connector__label{fill:#1f1c18b3;font-size:.62rem;font-weight:600;letter-spacing:.02em}.state-connector__label.is-horizontal{dominant-baseline:middle;paint-order:stroke;stroke:#ffffffe6;stroke-width:2.2px}.state-connector__label textPath{dominant-baseline:middle;paint-order:stroke;stroke:#ffffffe6;stroke-width:2.2px}.process-step__title{font-size:1.35rem;font-weight:700;margin-top:6px;margin-bottom:4px}@media (max-width: 640px){.state-token{display:none}.state-node{position:static;transform:none}.state-node.is-active{transform:none}.state-machine{display:grid;gap:12px}.state-connector,.state-connector__label{display:none}}@media (max-width: 900px){.process-stage{grid-template-columns:minmax(0,1fr)}}@keyframes tokenPulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}to{transform:translate(-50%,-50%) scale(1)}}.vm-diagram{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(0,auto);gap:18px;position:relative;background:#ffffffeb;border-radius:22px;border:1px solid var(--line);padding:26px;align-items:start;overflow:hidden}.vm-stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:18px;align-items:start}.vm-aside{display:grid;gap:16px}.vm-card{border-radius:14px;border:1px solid rgba(31,28,24,.12);padding:16px 18px;background:#ffffffe6;display:grid;gap:6px;position:relative;z-index:2}.vm-entity{transition:opacity .35s ease,transform .35s ease,filter .35s ease,box-shadow .35s ease,border-color .35s ease}.vm-diagram.has-focus .vm-entity{opacity:.25;transform:translateY(0) scale(.98);filter:grayscale(.08)}.vm-diagram.has-focus .vm-entity.is-active{opacity:1;transform:translateY(-6px) scale(1);filter:none;z-index:3}.vm-virt{grid-column:1 / span 4;grid-row:1}.vm-phys{grid-column:9 / span 4;grid-row:1}.vm-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0}.vm-note{margin:0;font-size:.76rem;color:var(--ink-soft)}.vm-bits{display:grid;grid-template-columns:2fr 1fr;gap:6px}.vm-bit{border-radius:10px;border:1px solid rgba(31,28,24,.12);padding:8px 10px;font-size:.8rem;text-align:center;background:#1f1c180a}.vm-bit.bit--vpn,.vm-bit.bit--pfn{background:#d2642a1f;border-color:#d2642a59;color:#a35026;font-weight:600}.vm-node{text-align:center;padding:16px 12px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:.95rem;min-height:68px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;display:grid;gap:4px;position:relative;z-index:2}.vm-node small{font-size:.72rem;color:var(--ink-soft);font-weight:500}.vm-node.cpu{grid-column:1 / span 2;grid-row:2}.vm-node.tlb{grid-column:3 / span 2;grid-row:2}.vm-node.pt{grid-column:1 / span 2;grid-row:3}.vm-node.ram{grid-column:8 / span 5;grid-row:2}.vm-node.disk{grid-column:8 / span 2;grid-row:4}.vm-node.is-active{border-color:#d2642a99;box-shadow:0 18px 32px #d2642a2e;transform:translateY(-2px)}.vm-table{border-radius:14px;border:1px solid rgba(31,28,24,.12);padding:14px;background:#ffffffe6;display:grid;gap:6px;position:relative;z-index:2}.vm-tlb{grid-column:5 / span 3;grid-row:2}.vm-pt{grid-column:3 / span 5;grid-row:3}.vm-table-title{font-size:.8rem;font-weight:600;color:var(--ink)}.vm-table-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:.76rem;color:var(--ink-soft)}.vm-table-row span{padding:6px 8px;border-radius:8px;background:#1f1c180a;text-align:center}.vm-table-row.header span{background:#1f1c1814;color:var(--ink);font-weight:600}.vm-frames{border-radius:14px;border:1px solid rgba(31,28,24,.12);padding:14px;background:#ffffffe6;display:grid;gap:6px;position:relative;z-index:2}.vm-ram{grid-column:8 / span 5;grid-row:3}.vm-disk{grid-column:10 / span 3;grid-row:4}.vm-frames-title{font-size:.8rem;font-weight:600;color:var(--ink)}.vm-frame{padding:8px 10px;border-radius:10px;background:#1f1c180a;font-size:.76rem;color:var(--ink-soft)}.vm-status{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:999px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .2s ease}.vm-status--hit{background:#2a6f6b2e;color:#2b5955}.vm-status--miss,.vm-status--fault{background:#d2642a29;color:#a35026}.vm-status--pte{background:#2a6f6b2e;color:#2b5955}.vm-diagram.mode--cpu .vm-tlb .row--hit,.vm-diagram.mode--tlb-miss .vm-tlb .row--miss{color:#a35026}.vm-diagram.mode--page-hit .vm-pt .row--pte-hit,.vm-diagram.mode--page-fault .vm-pt .row--pte-fault,.vm-diagram.mode--page-hit .vm-ram .row--frame-hit,.vm-diagram.mode--page-fault .vm-ram .row--frame-load,.vm-diagram.mode--page-fault .vm-disk .row--disk-hot{color:#a35026;font-weight:600}.vm-diagram.mode--cpu .vm-status--hit,.vm-diagram.mode--tlb-miss .vm-status--miss,.vm-diagram.mode--page-fault .vm-status--fault,.vm-diagram.mode--page-hit .vm-status--pte{opacity:1}.vm-fault{position:absolute;bottom:18px;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;z-index:2}.vm-fault.is-active{opacity:1}.vm-example{background:#ffffffe0;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:10px;box-shadow:0 10px 24px #1f1c180f}.vm-example__title{font-size:.92rem;font-weight:600;color:var(--ink)}.vm-example__lines{display:grid;gap:8px;font-size:.84rem;color:var(--ink-soft)}.vm-example__lines span{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#1f1c180a;border:1px dashed rgba(31,28,24,.08);font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.vm-example__lines span:before{content:"";width:6px;height:6px;border-radius:999px;background:#d2642ab3;box-shadow:0 0 6px #d2642a66;flex:0 0 auto}@media (max-width: 900px){.vm-stage{grid-template-columns:minmax(0,1fr)}.vm-diagram{grid-template-columns:repeat(6,minmax(0,1fr))}.vm-virt,.vm-phys,.vm-tlb,.vm-pt,.vm-ram,.vm-disk{grid-column:1 / -1}.vm-node.cpu,.vm-node.tlb,.vm-node.pt,.vm-node.ram,.vm-node.disk{grid-column:span 3}}.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}.mem-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:20px;align-items:start}.mem-diagram{background:#ffffffeb;border:1px solid var(--line);border-radius:22px;padding:18px;display:grid;gap:14px;box-shadow:0 12px 30px #1f1c180f}.mem-address{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.mem-address__block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:grid;gap:6px}.mem-address__value{font-size:.82rem;font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--ink);background:#1f1c180a;border-radius:10px;padding:6px 8px}.mem-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.mem-table{background:#ffffffdb;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px}.mem-table__title{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--ink-soft)}.mem-entry{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;font-size:.78rem;border:1px dashed rgba(31,28,24,.16);border-radius:12px;padding:6px 8px;background:#1f1c1808;color:var(--ink-soft);transition:transform .3s ease,border-color .3s ease,background .3s ease}.mem-entry.is-active{border-color:#d2642a80;background:#d2642a1f;color:var(--ink);transform:translateY(-2px)}.mem-entry.is-hit{box-shadow:0 0 0 2px #d2642a1f inset}.mem-entry.is-miss{border-color:#d2642a99;color:var(--accent)}.mem-entry--wide{grid-column:1 / -1}.mem-diagram[data-step=seg-check] .mem-table--segment .mem-entry.is-active,.mem-diagram[data-step=page-split] .mem-table--page .mem-entry.is-active,.mem-diagram[data-step=tlb-hit] .mem-table--tlb .mem-entry.is-active,.mem-diagram[data-step=tlb-miss] .mem-table--tlb .mem-entry.is-active,.mem-diagram[data-step=swap-in] .mem-table--page .mem-entry.is-active,.mem-diagram[data-step=tlb-hit] .mem-frame.is-active,.mem-diagram[data-step=swap-in] .mem-frame.is-active{animation:pulse 1.6s ease infinite}.mem-frames{background:#ffffffdb;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:10px}.mem-frames__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.mem-frame{border:1px solid var(--line);border-radius:14px;padding:10px;display:grid;gap:6px;font-size:.78rem;background:#fff;transition:transform .3s ease,border-color .3s ease,background .3s ease}.mem-frame--hot{background:#d2642a1f}.mem-frame--warm{background:#2a6f6b1f}.mem-frame--cold{background:#1f1c180f}.mem-frame.is-active{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 0 0 2px #d2642a1f inset}.mem-frame.is-victim{border-color:#d2642ab3;background:#d2642a2e;animation:pulse 1.6s ease infinite}.mem-frame.is-dirty span:last-child{color:var(--accent);font-weight:600}.mem-lru{background:#ffffffdb;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px}.mem-lru__list{display:flex;flex-wrap:wrap;gap:8px}.mem-lru__item{padding:4px 10px;border-radius:999px;font-size:.75rem;background:#1f1c180f;border:1px dashed rgba(31,28,24,.16);color:var(--ink-soft)}.mem-lru__item.is-victim{background:#d2642a33;color:var(--accent);border-color:#d2642a80;animation:pulse 1.6s ease infinite}.mem-swap{background:#ffffffdb;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px}.mem-swap__value{font-size:.82rem;color:var(--ink-soft)}.mem-cost{background:#ffffffdb;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px}.mem-cost__bar{height:8px;border-radius:999px;background:#1f1c1814;overflow:hidden}.mem-cost__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#d2642a66,#d2642ae6);transition:width .6s ease}.mem-cost__label{font-size:.78rem;color:var(--ink-soft)}.mem-diagram[data-step=tlb-miss] .mem-cost__bar span,.mem-diagram[data-step=reclaim] .mem-cost__bar span{animation:frameFlow 1.4s ease infinite}.mem-event{background:#d2642a24;border:1px dashed rgba(210,100,42,.4);border-radius:999px;padding:8px 14px;color:var(--accent);font-size:.82rem}.mem-detail{display:grid;gap:12px}.mem-detail__card{background:#ffffffe0;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:8px;box-shadow:0 10px 24px #1f1c180f}.mem-detail__title{font-weight:700;font-size:1rem}.mem-detail__summary{color:var(--ink-soft);line-height:1.6;font-size:.9rem}.mem-step__title{font-size:1.35rem;font-weight:700;margin-top:6px;margin-bottom:4px}.mem-detail__section{background:#ffffffe0;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:8px;box-shadow:0 10px 24px #1f1c180a}.mem-detail__section h4{font-size:.85rem;margin:0}.mem-detail__lines{display:grid;gap:8px;font-size:.82rem;color:var(--ink-soft)}.mem-detail__lines span{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#1f1c180a;border:1px dashed rgba(31,28,24,.08);font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mem-detail__lines span:before{content:"";width:6px;height:6px;border-radius:999px;background:#d2642ab3;box-shadow:0 0 6px #d2642a66;flex:0 0 auto}@media (max-width: 900px){.mem-stage{grid-template-columns:minmax(0,1fr)}}.jvm-diagram{width:min(100%,780px);margin:0 auto}.jvm-scene{display:flex;flex-direction:column;gap:10px}.jvm-svg{width:100%;height:auto;display:block}.jvm-progress{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.jvm-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2a6f6bcc,#4c78a8cc,#8c50b4b3,#d2642acc);transition:width .5s ease}.jvm-heading{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft, #555);font-family:system-ui,sans-serif}.jvm-sub-heading{text-anchor:middle;font-size:10px;fill:#0000004d;font-family:system-ui,sans-serif}.jvm-group-label{text-anchor:middle;font-size:10px;font-weight:500;fill:#0000004d;letter-spacing:.06em}.jvm-ov-box{fill:#ffffffd9;stroke:var(--box-c);stroke-width:1;stroke-opacity:.3;animation:jvmBoxPulse 3s ease-in-out infinite;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.jvm-ov-name{text-anchor:middle;font-size:12px;font-weight:600}.jvm-ov-sub{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.jvm-ov-hint{font-size:8px;font-family:SF Mono,Fira Code,monospace;fill:#2a6f6b66}.jvm-hint-footer{text-anchor:middle;font-size:9px;fill:#0003}.jvm-region{stroke-width:1}.jvm-region--eden{fill:#2a6f6b08;stroke:#2a6f6b33}.jvm-region--s{fill:#4c78a808;stroke:#4c78a833}.jvm-region--old{fill:#d2642a08;stroke:#d2642a33}.jvm-region-label{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.jvm-size-hint{font-size:9px;fill:#0003;font-family:SF Mono,Fira Code,monospace}.jvm-obj{stroke-width:1}.jvm-obj--eden{fill:#2a6f6b14;stroke:#2a6f6b4d}.jvm-obj--surv{fill:#4c78a814;stroke:#4c78a84d}.jvm-obj--old{fill:#d2642a14;stroke:#d2642a4d}.jvm-obj--new{animation:jvmObjEnter 1.8s ease-in-out infinite}.jvm-obj-text{text-anchor:middle;font-size:10px;font-weight:500;fill:#00000080;font-family:SF Mono,Fira Code,monospace}.jvm-obj-g--active{opacity:1;transition:opacity .4s}.jvm-obj-g--dim{opacity:.35;transition:opacity .4s}.jvm-obj-g--entering{animation:jvmFadeIn .6s ease-out both}.jvm-arrow{stroke-width:1.5;stroke-linecap:round}.jvm-arrow--teal{stroke:#2a6f6b66}.jvm-arrow--orange{stroke:#d2642a66}.jvm-arrow--purple{stroke:#8c50b466}.jvm-arrow-g{animation:jvmFadeIn .5s ease-out both}.jvm-arrow-label{font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace}.jvm-stack-bg{fill:#4c78a805;stroke:#4c78a81f;stroke-width:1}.jvm-stack-label{font-size:9px;fill:#0003;font-family:system-ui,sans-serif}.jvm-frame{fill:#4c78a80d;stroke:#4c78a833;stroke-width:1;transition:fill .3s,stroke .3s}.jvm-frame--top{fill:#4c78a81a;stroke:#4c78a873;animation:jvmFramePulse 2.4s ease-in-out infinite}.jvm-frame-name{font-size:12px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#4c78a8b3}.jvm-frame-vars{text-anchor:end;font-size:10px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.jvm-pop-label{text-anchor:middle;font-size:11px;font-weight:500;fill:#d2642a99}.jvm-meta-loader{fill:#8c50b40d;stroke:#8c50b440;stroke-width:1}.jvm-meta-loader-text{text-anchor:middle;font-size:11px;font-weight:600;fill:#8c50b4b3;font-family:SF Mono,Fira Code,monospace}.jvm-meta-loader-sub{text-anchor:middle;font-size:9px;fill:#8c50b466}.jvm-meta-card{fill:#8c50b40a;stroke:#8c50b426;stroke-width:1;animation:jvmMetaFade 3s ease-in-out infinite;animation-delay:calc(var(--meta-i, 0) * .4s)}.jvm-meta-name{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#8c50b499}.jvm-meta-detail{text-anchor:end;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#0003}.jvm-gc-heap{fill:#00000004;stroke:#0000001a;stroke-width:1}.jvm-gc-heap-label{text-anchor:middle;font-size:10px;font-weight:500;fill:#00000026;font-family:SF Mono,Fira Code,monospace}.jvm-gc-roots-box{fill:#388e3c0f;stroke:#388e3c40;stroke-width:1}.jvm-gc-roots-text{text-anchor:middle;font-size:11px;font-weight:600;fill:#388e3cb3;font-family:SF Mono,Fira Code,monospace}.jvm-gc-root-line{stroke:#388e3c4d;stroke-width:1;animation:jvmGcTrace 2s ease-in-out infinite}.jvm-gc-ref-line{stroke:#388e3c33;stroke-width:1}.jvm-gc-node{stroke-width:1.5;transition:fill .4s,stroke .4s,opacity .6s}.jvm-gc-node--alive{fill:#388e3c12;stroke:#388e3c4d}.jvm-gc-node--dead{fill:#b43c3c0d;stroke:#b43c3c33;stroke-dasharray:4 2}.jvm-gc-node--marking{animation:jvmMarkPulse 1.6s ease-in-out infinite}.jvm-gc-node--swept{opacity:.1}.jvm-gc-label{text-anchor:middle;dominant-baseline:central;font-size:12px;font-weight:600;fill:#0006}.jvm-gc-label--swept{fill:#0000001a;text-decoration:line-through}.jvm-gc-sweep-bar{fill:#d2642a80;animation:jvmSweep 2.5s ease-in-out infinite;transform-origin:left center}.jvm-gc-sweep-text{text-anchor:middle;font-size:10px;fill:#00000040}.jvm-phase-bar{padding:10px 14px;border-radius:12px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fffc;display:flex;align-items:center;gap:10px}.jvm-phase-bar__tag{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0;background:color-mix(in srgb,var(--phase-c) 8%,transparent);color:var(--phase-c)}.jvm-phase-bar__steps{display:flex;flex-wrap:wrap;gap:6px}.jvm-phase-bar__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.jvm-phase-bar__step.is-past{opacity:.55}.jvm-phase-bar__step.is-active{opacity:1;background:color-mix(in srgb,var(--phase-c) 6%,transparent);border-color:color-mix(in srgb,var(--phase-c) 25%,transparent);color:var(--phase-c)}@keyframes jvmBoxPulse{0%,to{stroke-opacity:.3;filter:none}50%{stroke-opacity:.5;filter:drop-shadow(0 0 4px rgba(0,0,0,.04))}}@keyframes jvmObjEnter{0%,to{opacity:.5;filter:none}50%{opacity:1;filter:drop-shadow(0 0 6px rgba(42,111,107,.25))}}@keyframes jvmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes jvmFramePulse{0%,to{stroke:#4c78a84d}50%{stroke:#4c78a8a6;filter:drop-shadow(0 0 5px rgba(76,120,168,.15))}}@keyframes jvmMetaFade{0%,to{opacity:.5}40%,60%{opacity:1;stroke:#8c50b44d}}@keyframes jvmMarkPulse{0%,to{stroke:#388e3c33;fill:#388e3c0a}50%{stroke:#388e3c99;fill:#388e3c24;filter:drop-shadow(0 0 6px rgba(56,142,60,.25))}}@keyframes jvmGcTrace{0%,to{stroke-opacity:.3}50%{stroke-opacity:.7}}@keyframes jvmSweep{0%{transform:scaleX(0)}50%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 640px){.jvm-heading{font-size:11px}.jvm-ov-sub,.jvm-ov-hint,.jvm-hint-footer,.jvm-size-hint,.jvm-frame-vars,.jvm-meta-detail,.jvm-stack-label{display:none}.jvm-phase-bar__step{font-size:9px;padding:2px 7px}}.coll-diagram{width:min(100%,780px);margin:0 auto}.coll-scene{display:grid;gap:14px}.coll-svg{width:100%;height:auto;display:block}.coll-title{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.coll-bucket{fill:#2a6f6b0a;stroke:#2a6f6b33;stroke-width:.8}.coll-bucket-idx{text-anchor:middle;font-size:8.5px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#2a6f6b8c}.coll-node{fill:#4c78a80f;stroke:#4c78a833;stroke-width:.8}.coll-node--new{fill:#d2642a14;stroke:#d2642a66;animation:collNewPulse 1.8s ease-in-out infinite}.coll-node-text{text-anchor:middle;font-size:8px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#00000073}.coll-null{font-size:8px;fill:#00000026;font-style:italic}.coll-chain-arrow{stroke:#00000024;stroke-width:.8}.coll-rehash-box{fill:#d2642a0a;stroke:#d2642a33;stroke-width:.8;stroke-dasharray:5 3}.coll-rehash-text{text-anchor:middle;font-size:10px;font-weight:500;fill:#d2642aa6}.coll-rehash-sub{text-anchor:middle;font-size:8px;fill:#d2642a73;font-family:SF Mono,Fira Code,monospace}.coll-lock{fill:#b43c3c0d;stroke:#b43c3c40;stroke-width:1}.coll-lock-text{text-anchor:middle;font-size:10px;font-weight:600;fill:#b43c3c99}.coll-thread{fill:#2a6f6b0a;stroke:#2a6f6b26;stroke-width:.8}.coll-thread--hold{fill:#2a6f6b1a;stroke:#2a6f6b66}.coll-thread--block{fill:#b43c3c0a;stroke:#b43c3c33;stroke-dasharray:4 2}.coll-thread-text{text-anchor:middle;font-size:9px;font-weight:500;fill:#00000073}.coll-seg{fill:#4c78a808;stroke:#4c78a824;stroke-width:.8}.coll-seg--active{fill:#4c78a80f;stroke:#4c78a859;animation:collSegPulse 2.2s ease-in-out infinite}.coll-seg-label{text-anchor:middle;font-size:9px;font-weight:500;fill:#4c78a88c}.coll-seg-node{fill:#2a6f6b0d;stroke:#2a6f6b2e;stroke-width:.8}.coll-seg-text{text-anchor:middle;font-size:8px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0006}.coll-seg-lock{text-anchor:middle;font-size:9px;fill:#4c78a88c}.coll-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.coll-ds__label{font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.coll-ds--hm .coll-ds__label{background:#d2642a14;color:#d2642abf}.coll-ds--sync .coll-ds__label{background:#b43c3c14;color:#b43c3cbf}.coll-ds--chm .coll-ds__label{background:#4c78a814;color:#4c78a8bf}.coll-ds__items{display:flex;flex-wrap:wrap;gap:6px}.coll-ds__step{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.coll-ds__step--past{opacity:.5}.coll-ds--hm .coll-ds__step--active{opacity:1;background:#d2642a0f;border-color:#d2642a38;color:#d2642acc}.coll-ds--sync .coll-ds__step--active{opacity:1;background:#b43c3c0f;border-color:#b43c3c38;color:#b43c3ccc}.coll-ds--chm .coll-ds__step--active{opacity:1;background:#4c78a80f;border-color:#4c78a838;color:#4c78a8cc}@keyframes collNewPulse{0%,to{stroke:#d2642a4d;fill:#d2642a0f}50%{stroke:#d2642a99;fill:#d2642a1f;filter:drop-shadow(0 0 4px rgba(210,100,42,.15))}}@keyframes collSegPulse{0%,to{stroke:#4c78a833}50%{stroke:#4c78a880;filter:drop-shadow(0 0 4px rgba(76,120,168,.12))}}@media (max-width: 640px){.coll-title{font-size:8px}.coll-node-text{font-size:6.5px}.coll-ds__step{font-size:8.5px;padding:2px 6px}}.rl-diagram{width:min(100%,780px);margin:0 auto}.rl-scene{display:grid;gap:14px}.rl-svg{width:100%;height:auto;display:block}.rl-title{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.rl-phase-label{text-anchor:middle;font-size:9px;font-weight:500;fill:#00000059}.rl-bucket{fill:#2a6f6b08;stroke:#2a6f6b2e;stroke-width:.8}.rl-bucket-label{text-anchor:middle;font-size:8px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#2a6f6b80}.rl-token{fill:#2a6f6b59;stroke:#2a6f6b80;stroke-width:.8;animation:rlTokenPulse 2.2s ease-in-out infinite;animation-delay:calc(var(--tk-i) * .15s)}.rl-rate-label{font-size:9px;font-weight:500;fill:#2a6f6b8c}.rl-rate-label--dim{font-weight:400;fill:#00000047}.rl-water{fill:#4c78a824;stroke:#4c78a840;stroke-width:.8;animation:rlWaterWave 3s ease-in-out infinite}.rl-drip{stroke:#4c78a833;stroke-width:1}.rl-drip-dot{fill:#4c78a873}.rl-threshold{stroke:#b43c3c4d;stroke-width:.8}.rl-threshold-label{font-size:8px;font-weight:500;fill:#b43c3c80}.rl-bar{fill:#2a6f6b12;stroke:#2a6f6b1a;stroke-width:.8}.rl-bar--active{fill:#2a6f6b2e;stroke:#2a6f6b59;animation:rlBarPulse 2.2s ease-in-out infinite}.rl-bar-label{text-anchor:middle;font-size:7.5px;font-weight:500;fill:#00000047}.rl-win-bracket{fill:none;stroke:#d2642a4d;stroke-width:1;stroke-dasharray:5 3}.rl-cb-state{stroke-width:1;transition:fill .3s,stroke .3s}.rl-cb-text{text-anchor:middle;font-size:9.5px;font-weight:500}.rl-cb-arrow{stroke:#00000024;stroke-width:1}.rl-cb-arrow--return{stroke:#388e3c4d;stroke-dasharray:4 3}.rl-cb-return-label{text-anchor:middle;font-size:8px;font-weight:500;fill:#388e3c8c}.rl-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.rl-ds__label{font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.rl-ds--token .rl-ds__label{background:#2a6f6b14;color:#2a6f6bbf}.rl-ds--leaky .rl-ds__label{background:#4c78a814;color:#4c78a8bf}.rl-ds--win .rl-ds__label{background:#d2642a14;color:#d2642abf}.rl-ds--cb .rl-ds__label{background:#b43c3c14;color:#b43c3cbf}.rl-ds__items{display:flex;flex-wrap:wrap;gap:6px}.rl-ds__step{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.rl-ds__step--past{opacity:.5}.rl-ds--token .rl-ds__step--active{opacity:1;background:#2a6f6b0f;border-color:#2a6f6b38;color:#2a6f6bcc}.rl-ds--leaky .rl-ds__step--active{opacity:1;background:#4c78a80f;border-color:#4c78a838;color:#4c78a8cc}.rl-ds--win .rl-ds__step--active{opacity:1;background:#d2642a0f;border-color:#d2642a38;color:#d2642acc}.rl-ds--cb .rl-ds__step--active{opacity:1;background:#b43c3c0f;border-color:#b43c3c38;color:#b43c3ccc}@keyframes rlTokenPulse{0%,to{fill:#2a6f6b4d}50%{fill:#2a6f6b80;filter:drop-shadow(0 0 3px rgba(42,111,107,.2))}}@keyframes rlWaterWave{0%,to{opacity:.8}50%{opacity:1;filter:drop-shadow(0 0 3px rgba(76,120,168,.12))}}@keyframes rlBarPulse{0%,to{fill:#2a6f6b26}50%{fill:#2a6f6b47;filter:drop-shadow(0 0 3px rgba(42,111,107,.12))}}@media (max-width: 640px){.rl-title{font-size:8px}.rl-phase-label{font-size:7px}.rl-ds__step{font-size:8.5px;padding:2px 6px}}.cache-diagram{width:min(100%,780px);margin:0 auto}.cc-scene{display:grid;gap:14px}.cc-svg{width:100%;height:auto;display:block}.cc-title{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.cc-node{stroke-width:1}.cc-node-text{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace}.cc-arrow{stroke-width:1}.cc-arrow--dim{opacity:.35}.cc-arrow-label{text-anchor:middle;font-size:7.5px;font-weight:500;font-family:SF Mono,Fira Code,monospace}.cc-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.cc-ds__label{font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.cc-ds--read .cc-ds__label{background:#2a6f6b14;color:#2a6f6bbf}.cc-ds--write .cc-ds__label{background:#d2642a14;color:#d2642abf}.cc-ds--double .cc-ds__label{background:#8c50b414;color:#8c50b4bf}.cc-ds__items{display:flex;flex-wrap:wrap;gap:6px}.cc-ds__step{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.cc-ds__step--past{opacity:.5}.cc-ds--read .cc-ds__step--active{opacity:1;background:#2a6f6b0f;border-color:#2a6f6b38;color:#2a6f6bcc}.cc-ds--write .cc-ds__step--active{opacity:1;background:#d2642a0f;border-color:#d2642a38;color:#d2642acc}.cc-ds--double .cc-ds__step--active{opacity:1;background:#8c50b40f;border-color:#8c50b438;color:#8c50b4cc}@media (max-width: 640px){.cc-title{font-size:8px}.cc-node-text{font-size:8.5px}.cc-ds__step{font-size:8.5px;padding:2px 6px}}.cl-diagram{width:min(100%,780px);margin:0 auto}.cl-scene{display:grid;gap:14px}.cl-svg{width:100%;height:auto;display:block}.cl-title{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.cl-loader{fill:#ffffffd9;stroke:var(--cl-c);stroke-width:.8;stroke-opacity:.25;transition:stroke-opacity .4s,fill .4s}.cl-loader--found{stroke-opacity:.6;fill:#2a6f6b0a;animation:clFoundPulse 1.8s ease-in-out infinite}.cl-loader__name{text-anchor:middle;font-size:10px;font-weight:500}.cl-loader__sub{text-anchor:middle;font-size:7.5px;fill:#00000040;font-family:SF Mono,Fira Code,monospace}.cl-arrow{stroke:#0000002e;stroke-width:1}.cl-arrow--up{stroke:#2a6f6b59}.cl-arrow--down{stroke:#d2642a59}.cl-arrow-label{font-size:8px;font-weight:500;fill:#00000047}.cl-packet{filter:drop-shadow(0 0 4px currentColor)}.cl-notfound{font-size:13px;fill:#b43c3c73;font-weight:500}.cl-found{font-size:13px;fill:#388e3c99;font-weight:500}.cl-target{text-anchor:middle;font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#2a6f6b8c}.cl-phase{fill:#00000004;stroke:#00000014;stroke-width:.8;transition:fill .3s,stroke .3s}.cl-phase--active{fill:#2a6f6b0f;stroke:var(--cl-pc);stroke-width:1;animation:clPhasePulse 2.2s ease-in-out infinite}.cl-phase--past{fill:#00000005;stroke:#00000024}.cl-phase__label{text-anchor:middle;font-size:8px;font-weight:500;font-family:SF Mono,Fira Code,monospace;transition:fill .3s}.cl-bracket-label{text-anchor:middle;font-size:7.5px;font-weight:500;fill:#4c78a873}.cl-detail__bg{fill:#00000004;stroke:#0000000f;stroke-width:.8}.cl-detail__title{text-anchor:middle;font-size:10px;font-weight:500}.cl-detail__line{text-anchor:middle;font-size:8.5px;font-family:SF Mono,Fira Code,monospace;fill:#0006}.cl-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.cl-ds__label{font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.cl-ds--delegate .cl-ds__label{background:#2a6f6b14;color:#2a6f6bbf}.cl-ds--lifecycle .cl-ds__label{background:#4c78a814;color:#4c78a8bf}.cl-ds__items{display:flex;flex-wrap:wrap;gap:6px}.cl-ds__step{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.cl-ds__step--past{opacity:.5}.cl-ds--delegate .cl-ds__step--active{opacity:1;background:#2a6f6b0f;border-color:#2a6f6b38;color:#2a6f6bcc}.cl-ds--lifecycle .cl-ds__step--active{opacity:1;background:#4c78a80f;border-color:#4c78a838;color:#4c78a8cc}@keyframes clFoundPulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 5px rgba(42,111,107,.2))}}@keyframes clPhasePulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 4px rgba(42,111,107,.15))}}@media (max-width: 640px){.cl-title{font-size:8px}.cl-loader__sub{display:none}.cl-detail__line{font-size:7.5px}.cl-ds__step{font-size:8.5px;padding:2px 6px}}.spring-diagram{width:min(100%,780px);margin:0 auto}.spring-scene{display:flex;flex-direction:column;gap:10px}.spring-svg{width:100%;height:auto;display:block}.spring-progress{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.spring-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2a6f6bcc,#4c78a8cc,#d2642acc);transition:width .5s ease}.spring-heading{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft, #555);font-family:system-ui,sans-serif}.spring-hint{text-anchor:middle;font-size:10px;fill:#00000040}.spring-container{fill:#2a6f6b05;stroke:#2a6f6b2e;stroke-width:1.5;stroke-dasharray:8 4;animation:springContainerPulse 3s ease-in-out infinite}.spring-container-label{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#2a6f6b80}.spring-bean{fill:#ffffffe6;stroke:var(--bean-c);stroke-width:1;stroke-opacity:.35;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.spring-bean-text{text-anchor:middle;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#00000080}.spring-bean-g--visible{opacity:1;transition:opacity .4s}.spring-bean-g--hidden{opacity:.15;transition:opacity .4s}.spring-bean-g--registering{animation:springBeanRegister .6s ease-out both;animation-delay:var(--bean-delay, 0s)}.spring-anno{text-anchor:middle;font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#8c50b480}.spring-di-arrow{animation:springFadeIn .5s ease-out both;animation-delay:var(--di-delay, 0s)}.spring-di-line{stroke:#2a6f6b4d;stroke-width:1.5;stroke-dasharray:6 3}.spring-di-label{text-anchor:middle;font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#2a6f6b80}.spring-scan-box{fill:#4c78a80f;stroke:#4c78a833;stroke-width:1}.spring-scan-text{text-anchor:middle;font-size:9px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#4c78a899}.spring-scan-line{stroke:#4c78a84d;stroke-width:1}.spring-scan-g{animation:springFadeIn .6s ease-out both}.spring-timeline{stroke:#00000014;stroke-width:2}.spring-lc-stage{animation:springFadeIn .5s ease-out both;animation-delay:var(--lc-delay, 0s)}.spring-lc-node{fill:#ffffffe6;stroke:var(--lc-c);stroke-width:1.5;stroke-opacity:.5;animation:springNodePulse 2.5s ease-in-out infinite;animation-delay:var(--lc-delay, 0s)}.spring-lc-num{text-anchor:middle;dominant-baseline:central;font-size:11px;font-weight:700;fill:#00000059}.spring-lc-label{text-anchor:middle;font-size:11px;font-weight:600}.spring-lc-sub{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.spring-lc-arrow{stroke:#0000001a;stroke-width:1.5}.spring-bpp-box{fill:#d2642a0a;stroke:#d2642a2e;stroke-width:1}.spring-bpp-text{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#d2642a99}.spring-bpp-line{stroke:#d2642a33;stroke-width:1}.spring-aop-link{stroke:#00000014;stroke-width:1}.spring-aop-concept{animation:springFadeIn .5s ease-out both;animation-delay:var(--aop-delay, 0s)}.spring-aop-box{fill:#ffffffe6;stroke:var(--aop-c);stroke-width:1;stroke-opacity:.35;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.spring-aop-name{text-anchor:middle;font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.spring-aop-sub{text-anchor:middle;font-size:9px;fill:#0000004d}.spring-aop-hint{text-anchor:middle;font-size:9px;fill:#d2642a80;font-family:SF Mono,Fira Code,monospace}.spring-target-box{fill:#2a6f6b0a;stroke:#2a6f6b33;stroke-width:1}.spring-target-label{text-anchor:middle;font-size:11px;font-weight:600;fill:#2a6f6bb3}.spring-target-sub{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.spring-factory-box{fill:#4c78a80a;stroke:#4c78a833;stroke-width:1;animation:springNodePulse 2.5s ease-in-out infinite}.spring-factory-label{text-anchor:middle;font-size:11px;font-weight:600;fill:#4c78a8b3}.spring-factory-sub{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.spring-proxy-box{fill:#d2642a0a;stroke:#d2642a40;stroke-width:1;animation:springProxyGlow 2s ease-in-out infinite}.spring-proxy-label{text-anchor:middle;font-size:11px;font-weight:600;fill:#d2642ab3}.spring-proxy-sub{text-anchor:middle;font-size:8px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.spring-proxy-arrow{stroke:#00000026;stroke-width:1.5}.spring-jdk-box{fill:#4c78a80d;stroke:#4c78a82e;stroke-width:1}.spring-jdk-text{text-anchor:middle;font-size:10px;font-weight:600;fill:#4c78a8a6;font-family:SF Mono,Fira Code,monospace}.spring-jdk-hint{text-anchor:middle;font-size:8px;fill:#0003}.spring-cglib-box{fill:#d2642a0d;stroke:#d2642a2e;stroke-width:1}.spring-cglib-text{text-anchor:middle;font-size:10px;font-weight:600;fill:#d2642aa6;font-family:SF Mono,Fira Code,monospace}.spring-cglib-hint{text-anchor:middle;font-size:8px;fill:#0003}.spring-cache-row{animation:springFadeIn .5s ease-out both;animation-delay:var(--cache-delay, 0s)}.spring-cache-box{fill:#ffffffe6;stroke:var(--cache-c);stroke-width:1;stroke-opacity:.3;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.spring-cache-label{font-size:12px;font-weight:600}.spring-cache-sub{text-anchor:middle;font-size:10px;font-family:SF Mono,Fira Code,monospace;fill:#00000059}.spring-cache-desc{text-anchor:end;font-size:10px;fill:#00000040}.spring-cache-step{animation:springFadeIn .4s ease-out both;animation-delay:var(--cache-delay, 0s)}.spring-cache-node{fill:#ffffffe6;stroke:var(--cache-c);stroke-width:1.5;stroke-opacity:.5;animation:springNodePulse 2.5s ease-in-out infinite;animation-delay:var(--cache-delay, 0s)}.spring-cache-step-label{text-anchor:middle;font-size:10px;font-weight:600}.spring-cache-step-desc{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.spring-circ-box{stroke-width:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.spring-circ-box--a{fill:#2a6f6b0a;stroke:#2a6f6b40}.spring-circ-box--b{fill:#4c78a80a;stroke:#4c78a840}.spring-circ-name{text-anchor:middle;font-size:12px;font-weight:600}.spring-circ-sub{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.spring-circ-arrow{stroke:#d2642a59;stroke-width:1.5}.spring-circ-arrow--top{animation:springCircPulse 2s ease-in-out infinite}.spring-circ-arrow--bottom{animation:springCircPulse 2s ease-in-out infinite .5s}.spring-circ-dep{text-anchor:middle;font-size:10px;font-weight:500;fill:#d2642a99}.spring-circ-warn{fill:#d2642a0d;stroke:#d2642a33;stroke-width:1}.spring-circ-warn-text{text-anchor:middle;font-size:11px;font-weight:500;fill:#d2642aa6}.spring-chain-box{fill:#00000004;stroke:#00000014;stroke-width:1}.spring-chain-title{text-anchor:middle;font-size:10px;font-weight:500;fill:#00000040;font-family:SF Mono,Fira Code,monospace}.spring-chain-line{stroke:#00000014;stroke-width:2}.spring-advice-g{animation:springFadeIn .4s ease-out both;animation-delay:var(--adv-delay, 0s)}.spring-advice-dot{fill:var(--adv-c);opacity:.6;animation:springDotPulse 2s ease-in-out infinite;animation-delay:var(--adv-delay, 0s)}.spring-advice-bar{fill:#ffffffe6;stroke:var(--adv-c);stroke-width:1;stroke-opacity:.3}.spring-advice-text{text-anchor:middle;font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.spring-advice-conn{stroke:#0000000f;stroke-width:1}.spring-caller-text{text-anchor:middle;font-size:10px;fill:#0000004d}.spring-flow-label{font-size:10px;font-weight:600;fill:#0003}.spring-flow-node{animation:springFadeIn .4s ease-out both;animation-delay:var(--flow-delay, 0s)}.spring-flow-box{fill:#ffffffe6;stroke:var(--flow-c);stroke-width:1;stroke-opacity:.35;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.spring-flow-name{text-anchor:middle;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.spring-flow-sub{text-anchor:middle;font-size:8px;font-family:SF Mono,Fira Code,monospace;fill:#0003}.spring-flow-arrow{stroke:#0000001f;stroke-width:1}.spring-flow-divider{stroke:#0000000f;stroke-width:1}.spring-phase-bar{padding:10px 14px;border-radius:12px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fffc;display:flex;align-items:center;gap:10px}.spring-phase-bar__tag{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0;background:color-mix(in srgb,var(--phase-c) 8%,transparent);color:var(--phase-c)}.spring-phase-bar__steps{display:flex;flex-wrap:wrap;gap:6px}.spring-phase-bar__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.spring-phase-bar__step.is-past{opacity:.55}.spring-phase-bar__step.is-active{opacity:1;background:color-mix(in srgb,var(--phase-c) 6%,transparent);border-color:color-mix(in srgb,var(--phase-c) 25%,transparent);color:var(--phase-c)}@keyframes springContainerPulse{0%,to{stroke-opacity:.18}50%{stroke-opacity:.35;filter:drop-shadow(0 0 6px rgba(42,111,107,.06))}}@keyframes springBeanRegister{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes springFadeIn{0%{opacity:0}to{opacity:1}}@keyframes springNodePulse{0%,to{stroke-opacity:.5;filter:none}50%{stroke-opacity:.8;filter:drop-shadow(0 0 4px rgba(0,0,0,.06))}}@keyframes springProxyGlow{0%,to{stroke-opacity:.25}50%{stroke-opacity:.5;filter:drop-shadow(0 0 6px rgba(210,100,42,.15))}}@keyframes springDotPulse{0%,to{opacity:.4;r:5}50%{opacity:.9;r:7}}@keyframes springCircPulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:.7;filter:drop-shadow(0 0 4px rgba(210,100,42,.15))}}@media (max-width: 640px){.spring-heading{font-size:11px}.spring-anno,.spring-jdk-hint,.spring-cglib-hint,.spring-flow-sub,.spring-bpp-box,.spring-bpp-text,.spring-bpp-line{display:none}.spring-phase-bar__step{font-size:9px;padding:2px 7px}.spring-lc-sub,.spring-caller-text{display:none}}.gmp-diagram{width:min(100%,780px);margin:0 auto}.gmp-scene{display:flex;flex-direction:column;gap:10px}.gmp-svg{width:100%;height:auto;display:block;overflow:visible}.gmp-progress{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.gmp-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2a6f6bcc,#4c78a8cc,#d2642acc);transition:width .5s ease}.gmp-heading{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft)}.gmp-hint{text-anchor:middle;font-size:9px;fill:#00000040}.gmp-label{font-size:10px;font-weight:600}.gmp-empty-text{text-anchor:middle;font-size:10px;fill:#0003;font-style:italic}.gmp-box{fill:#ffffffd9;stroke-width:1.5;stroke-opacity:.3;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.gmp-box--g{stroke:#2a6f6b}.gmp-box--m{stroke:#4c78a8}.gmp-box--p{stroke:#d2642a}.gmp-box--gq{stroke:#8c50b4}.gmp-box__title{font-size:12px;font-weight:700;font-family:SF Mono,Fira Code,monospace}.gmp-box__sub{font-size:9px;fill:#00000059}.gmp-q-text{text-anchor:middle;font-size:10px;font-weight:500;fill:#00000080;font-family:SF Mono,Fira Code,monospace}.gmp-g-enter{opacity:0;animation:gmpSlideIn .4s ease forwards;animation-delay:var(--gmp-d, 0s)}@keyframes gmpSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.gmp-new-g{animation:gmpPulse 2s ease-in-out infinite}@keyframes gmpPulse{0%,to{opacity:.7}50%{opacity:1;filter:drop-shadow(0 0 6px rgba(42,111,107,.3))}}.gmp-running{animation:gmpRunning 2.4s ease-in-out infinite}@keyframes gmpRunning{0%,to{stroke-opacity:.6}50%{stroke-opacity:1;filter:drop-shadow(0 0 8px rgba(42,111,107,.2))}}.gmp-bind-line{animation:gmpBindPulse 2s ease-in-out infinite}@keyframes gmpBindPulse{0%,to{stroke-opacity:.5}50%{stroke-opacity:1}}.gmp-steal-arrow{animation:gmpStealDash 2s linear infinite}@keyframes gmpStealDash{to{stroke-dashoffset:-24}}.gmp-steal-label{animation:gmpPulse 2s ease-in-out infinite}.gmp-handoff-line{animation:gmpStealDash 1.8s linear infinite}.gmp-signal{animation:gmpSignal 1.6s ease-in-out infinite}@keyframes gmpSignal{0%,to{opacity:.6}50%{opacity:1;filter:drop-shadow(0 0 8px rgba(210,100,42,.3))}}@media (max-width: 640px){.gmp-heading{font-size:11px}.gmp-box__sub{display:none}.gmp-hint{font-size:8px}.gmp-label{font-size:9px}}.gogc-diagram{width:min(100%,780px);margin:0 auto}.gogc-scene{display:flex;flex-direction:column;gap:10px}.gogc-svg{width:100%;height:auto;display:block;overflow:visible}.gogc-progress{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.gogc-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2a6f6bcc,#e67e22cc,#2c3e50cc);transition:width .5s ease}.gogc-heading{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft)}.gogc-hint{text-anchor:middle;font-size:9px;fill:#00000040}.gogc-hint-small{text-anchor:middle;font-size:9px;fill:#0000004d}.gogc-label{font-size:10px;font-weight:600}.gogc-section-label{text-anchor:middle;font-size:11px;font-weight:600;fill:var(--ink-soft)}.gogc-heap-label{text-anchor:middle;font-size:10px;font-weight:500;fill:#00000026;font-family:SF Mono,Fira Code,monospace}.gogc-phase-block{opacity:0;animation:gogcFadeIn .4s ease forwards;animation-delay:var(--gogc-d, 0s)}.gogc-phase-label{font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace}.gogc-phase-sub{font-size:9px;fill:#00000059}.gogc-legend-text{font-size:13px;font-weight:700;fill:var(--ink-soft)}.gogc-legend-label{font-size:10px;font-weight:600;fill:var(--ink-soft)}.gogc-legend-desc{font-size:8px;fill:#0000004d}.gogc-node-label{font-size:11px;font-weight:600;fill:#00000080;font-family:SF Mono,Fira Code,monospace}.gogc-node-label--dead{fill:#0003;text-decoration:line-through}.gogc-node--grey{animation:gogcGreyPulse 1.8s ease-in-out infinite}@keyframes gogcGreyPulse{0%,to{stroke-opacity:.6;filter:none}50%{stroke-opacity:1;filter:drop-shadow(0 0 6px rgba(230,126,34,.35))}}.gogc-node--swept{animation:gogcSweptFade 2s ease-in-out infinite}@keyframes gogcSweptFade{0%,to{opacity:.8}50%{opacity:.3}}.gogc-mark-step{opacity:0;animation:gogcFadeIn .5s ease forwards;animation-delay:var(--gogc-d, 0s)}.gogc-mark-desc{font-size:10px;fill:#0006}.gogc-worker-bar{animation:gogcWorkerPulse 2s ease-in-out infinite;animation-delay:var(--gogc-d, 0s)}@keyframes gogcWorkerPulse{0%,to{opacity:.3;width:60px}50%{opacity:.8;width:80px}}.gogc-sweep-bar{fill:#e74c3c66;animation:gogcSweep 2.5s ease-in-out infinite;transform-origin:left center}@keyframes gogcSweep{0%{transform:scaleX(0)}50%{transform:scaleX(1)}to{transform:scaleX(0)}}.gogc-tuning-row{opacity:0;animation:gogcFadeIn .4s ease forwards;animation-delay:var(--gogc-d, 0s)}.gogc-tuning-label{font-size:12px;font-weight:700;font-family:SF Mono,Fira Code,monospace}.gogc-tuning-desc{font-size:9px;fill:#0006}.gogc-tuning-bar{animation:gogcBarGrow .6s ease forwards;animation-delay:var(--gogc-d, 0s);transform-origin:left center}.gogc-tuning-pct{font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace}@keyframes gogcBarGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes gogcFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.gogc-heading{font-size:11px}.gogc-hint{font-size:8px}.gogc-hint-small,.gogc-legend-desc{display:none}.gogc-mark-desc{font-size:9px}.gogc-tuning-desc{display:none}}.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}@media (max-width: 960px){.mvcc-diagram .mvcc-board{grid-template-columns:1fr}}@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}}.dbt-diagram{width:min(100%,780px);margin:0 auto}.dbt-svg-wrap{display:flex;flex-direction:column;gap:12px}.dbt-category-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.dbt-cat-chip{padding:4px 14px;border-radius:999px;font-size:.82rem;font-weight:600;border:1.5px solid var(--cat-color, var(--line));color:var(--cat-color, var(--ink-soft));background:#fff9;transition:all .3s ease;opacity:.5}.dbt-cat-chip.is-active{opacity:1;background:#fffffff2;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.dbt-svg{width:100%;height:auto;overflow:visible}.dbt-svg__th{font-size:11px;font-weight:700;fill:var(--ink-soft);letter-spacing:.03em}.dbt-svg__row{opacity:0;animation:dbtRowIn .4s ease forwards;animation-delay:var(--row-delay, 0s)}@keyframes dbtRowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.dbt-svg__name{font-size:12px;font-weight:700;font-family:SF Mono,Fira Code,monospace}.dbt-svg__cell{font-size:11px;fill:var(--ink)}.dbt-svg__range{font-size:10px;fill:var(--ink-soft)}.dbt-svg__example{font-size:9.5px;fill:var(--ink-soft);font-family:SF Mono,Fira Code,monospace}.dbt-svg__row-line{opacity:0;animation:dbtLineFade .6s ease forwards;animation-delay:var(--row-delay, 0s)}@keyframes dbtLineFade{0%{opacity:0}to{opacity:1}}.dbt-svg__tip{opacity:0;animation:dbtTipIn .5s ease .5s forwards}@keyframes dbtTipIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dbt-svg__tip-text{font-size:10.5px;fill:var(--ink);font-family:SF Mono,Fira Code,monospace}@media (max-width: 640px){.dbt-svg__example{display:none}.dbt-svg__range,.dbt-svg__tip-text{font-size:9px}.dbt-cat-chip{font-size:.75rem;padding:3px 10px}}.tcp-diagram{width:min(100%,780px);margin:0 auto}.tcp-svg-wrap{display:flex;flex-direction:column;gap:8px}.tcp-progress-bar{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.tcp-progress-bar__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2a6f6bcc,#4c78a8cc,#d2642acc);transition:width .5s ease}.tcp-svg{width:100%;height:auto;display:block}.tcp-svg__machine{fill:#ffffffd9;stroke:var(--line, rgba(0, 0, 0, .1));stroke-width:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.06))}.tcp-svg__machine-name{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft, #555)}.tcp-svg__machine-port{text-anchor:middle;font-size:10px;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.tcp-svg__lifeline{stroke:var(--line, rgba(0, 0, 0, .12));stroke-width:1.5;stroke-dasharray:6 4;opacity:.6}.tcp-svg__status{transition:fill .4s ease}.tcp-svg__status--ok{fill:#388e3c;filter:drop-shadow(0 0 4px rgba(56,142,60,.5))}.tcp-svg__status--wait{fill:#b8960a;animation:tcpStatusPulse 1.4s ease-in-out infinite}.tcp-svg__status--warn{fill:#d2822a;animation:tcpStatusPulse 1.4s ease-in-out infinite}.tcp-svg__status--off{fill:#8c8c8c80}.tcp-svg__phase-text{text-anchor:middle;font-size:9px;font-weight:600;letter-spacing:.1em}.tcp-svg__msg{transition:opacity .4s ease}.tcp-svg__msg.is-future{opacity:.35}.tcp-svg__msg.is-past{opacity:.7}.tcp-svg__msg.is-active{opacity:1}.tcp-svg__line{transition:stroke .3s ease,stroke-width .3s ease}.tcp-svg__msg.is-active .tcp-svg__line{filter:drop-shadow(0 0 4px currentColor)}.tcp-svg__packet{filter:drop-shadow(0 0 6px currentColor)}.tcp-svg__label-bg{transition:fill .3s ease,stroke .3s ease}.tcp-svg__msg.is-active .tcp-svg__label-bg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.08))}.tcp-svg__label{text-anchor:middle;font-size:11px;font-weight:600;transition:fill .3s ease}.tcp-svg__sub{text-anchor:middle;font-size:8.5px;font-family:SF Mono,Fira Code,monospace;transition:fill .3s ease}.tcp-svg__state{font-size:8px;font-weight:600;font-family:SF Mono,Fira Code,monospace;letter-spacing:.03em;transition:fill .3s ease,opacity .3s ease}.tcp-svg__state--right{text-anchor:end}.tcp-svg__state--left{text-anchor:start}.tcp-svg__state.is-past{opacity:.45}@keyframes tcpStatusPulse{0%,to{opacity:.6;r:5}50%{opacity:1;r:6}}@media (max-width: 640px){.tcp-svg__state,.tcp-svg__machine-port{display:none}.tcp-svg__sub{font-size:7px}}.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}}.keyspace,.mq-kafka-election .timing-message.label-left .timing-message__label{left:-8px;transform:translate(-100%,-50%)}.mq-kafka-election .timing-message.is-on .timing-message__pulse{opacity:1}.mq-kafka-election .timing-message.is-reverse .timing-message__pulse{animation-name:timingPulseUp}@keyframes timingPulseUp{0%{transform:translateY(calc(var(--msg-height) - 8px));opacity:0}25%{opacity:1}to{transform:translateY(0);opacity:0}}.http-diagram .http-evo{display:grid;gap:16px}.http-evo__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.http-evo__title{font-weight:700;font-size:.9rem;color:var(--ink)}.http-evo__chips{display:flex;flex-wrap:wrap;gap:8px}.http-chip{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.72rem;color:var(--ink-soft);background:#ffffffe6}.http-chip.is-primary{border-color:#d2642a73;color:var(--ink);background:#d2642a1f}.http-seq{display:grid;gap:12px}.http-evo .mcp-lifeline{padding:10px 12px;border-radius:14px;background:#ffffffeb;box-shadow:0 10px 22px #1f1c180d}.http-evo .mcp-lifeline.is-transport{background:#2a6f6b1f}.http-evo .mcp-lifeline__title{font-size:.82rem}.http-evo .mcp-lifeline__meta{font-size:.7rem}.http-evo .mcp-seq__lines span{background:#1f1c1814}.http-evo .mcp-line{background:#1f1c182e}.http-evo .mcp-line:after{border-left-color:#1f1c1873}.http-evo .mcp-line:before{background:var(--accent)}.http-evo .mcp-label{font-size:.74rem;border-color:#1f1c1826;color:var(--ink-soft)}.http-row.is-active .mcp-line{background:#2a6f6b59}.http-row.is-active .mcp-line:before{opacity:1;animation:httpTravel 2.6s linear infinite;animation-delay:var(--delay, 0s)}.http-row.is-active .mcp-line.is-reverse:before{animation:httpTravelReverse 2.6s linear infinite;animation-delay:var(--delay, 0s)}.http-row.stream--a .mcp-line{background:#d2642a59}.http-row.stream--b .mcp-line{background:#2a6f6b59}.http-row.stream--a .mcp-label{border-color:#d2642a66;color:var(--ink)}.http-row.stream--b .mcp-label{border-color:#2a6f6b66;color:var(--ink)}.http-row.is-active.stream--a .mcp-line{background:#d2642a99}.http-row.is-active.stream--b .mcp-line{background:#2a6f6b99}.http-row.is-control .mcp-line{background:#1f1c1838}.http-row.is-control .mcp-label{color:var(--ink-soft)}.http-row.is-blocked .mcp-line,.http-row.is-loss .mcp-line{background:transparent;border-top:2px dashed rgba(210,100,42,.55);height:0}.http-row.is-blocked .mcp-line:after,.http-row.is-loss .mcp-line:after{border-left-color:#d2642a8c}.http-row.is-blocked .mcp-label,.http-row.is-loss .mcp-label{border-color:#d2642a80;color:var(--accent);background:#d2642a14}.http-row.is-loss .mcp-label:before{content:"x";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:6px;border-radius:50%;border:1px solid rgba(210,100,42,.45);color:var(--accent);font-size:.7rem;line-height:1}.http-evo__legend{display:flex;flex-wrap:wrap;gap:8px;font-size:.72rem;color:var(--ink-soft)}.http-legend{border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:#ffffffe6}.http-legend.stream--a{border-color:#d2642a66;color:var(--ink)}.http-legend.stream--b{border-color:#2a6f6b66;color:var(--ink)}.http-legend.control{border-color:#1f1c1840;color:var(--ink-soft)}.http-legend.loss{border-style:dashed;border-color:#d2642a80;color:var(--accent)}@media (max-width: 900px){.http-evo__header{flex-direction:column;align-items:flex-start}.http-evo .mcp-lifeline__title{font-size:.78rem}.http-evo .mcp-lifeline__meta{font-size:.66rem}}@media (max-width: 640px){.http-chip,.http-legend,.http-evo .mcp-label{font-size:.68rem}}@keyframes httpTravel{0%{left:0%;opacity:0}20%{opacity:1}90%{left:calc(100% - 10px);opacity:1}to{opacity:0}}@keyframes httpTravelReverse{0%{left:calc(100% - 10px);opacity:0}20%{opacity:1}90%{left:0%;opacity:1}to{opacity:0}}.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)}.mq-kafka__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;align-items:start}.mq-kafka__grid.mode--replica .mq-replicas .replica,.mq-kafka__grid.mode--ack .mq-acks{opacity:1}.kafka-diagram{display:grid;gap:16px}.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}.kafka-diagram.mode--partition .arrow{opacity:1;animation:flow 1.8s ease infinite}.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}.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-diagram.mode--replica .replication-line{opacity:1;background:#2a6f6b80;animation:frameFlow 1.6s ease infinite}.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}.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}.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}.append-line span:nth-child(2){animation-delay:.6s}.append-line span:nth-child(3){animation-delay:1.2s}.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}.mq-kafka-storage .kafka-store{display:grid;gap:16px}.mq-kafka-storage .kafka-store__nodes{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:16px;align-items:center}.mq-kafka-storage .store-node{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;display:grid;gap:6px;text-align:center;font-weight:600}.mq-kafka-storage .store-node .node-meta{font-size:.72rem;color:var(--ink-soft);font-weight:500}.mq-kafka-storage .kafka-store__pipes{position:relative;height:24px}.mq-kafka-storage .store-line{position:absolute;top:50%;height:2px;background:#1f1c1833;border-radius:999px}.mq-kafka-storage .store-line:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(31,28,24,.45);border-top:4px solid transparent;border-bottom:4px solid transparent}.mq-kafka-storage .store-line:before{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-50%);opacity:0}.mq-kafka-storage .store-line--write{left:8%;right:52%}.mq-kafka-storage .store-line--read{left:52%;right:8%}.mq-kafka-storage .kafka-store__stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mq-kafka-storage .kafka-store__example{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;display:grid;gap:10px}.mq-kafka-storage .example-title{font-weight:600}.mq-kafka-storage .example-rows{display:grid;gap:8px}.mq-kafka-storage .example-row{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;padding:6px 8px;border-radius:12px;border:1px solid rgba(31,28,24,.08);font-size:.78rem;color:var(--ink-soft);background:#1f1c1808}.mq-kafka-storage .example-step{width:20px;height:20px;border-radius:50%;border:1px solid rgba(42,111,107,.35);color:var(--accent-2);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;background:#2a6f6b14}.mq-kafka-storage .example-arrow{color:var(--ink-soft);justify-self:end}.mq-kafka-storage .store-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;display:grid;gap:10px;position:relative;min-height:120px}.mq-kafka-storage .card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600}.mq-kafka-storage .card-tag{padding:2px 8px;border-radius:999px;border:1px solid rgba(42,111,107,.35);font-size:.7rem;color:var(--accent-2);background:#2a6f6b14}.mq-kafka-storage .log-segments{display:grid;gap:6px}.mq-kafka-storage .log-seg{border-radius:999px;border:1px solid var(--line);padding:4px 10px;font-size:.72rem;color:var(--ink-soft);background:#2a6f6b1a}.mq-kafka-storage .log-seg.is-active{border-color:var(--accent);background:#d2642a2e;color:var(--ink)}.mq-kafka-storage .log-append{display:flex;gap:6px}.mq-kafka-storage .append-dot{width:8px;height:8px;border-radius:50%;background:#2a6f6b4d;opacity:.6}.mq-kafka-storage .index-note{font-size:.68rem;color:var(--ink-soft);opacity:.6}.mq-kafka-storage .index-table{display:grid;gap:6px}.mq-kafka-storage .index-row--header{font-weight:600;font-size:.68rem;color:var(--ink-soft);background:#2a6f6b0f;border-color:#2a6f6b26}.mq-kafka-storage .index-row{display:flex;justify-content:space-between;padding:4px 8px;border-radius:10px;border:1px solid rgba(31,28,24,.08);font-size:.72rem;color:var(--ink-soft);background:#1f1c1808}.mq-kafka-storage .cache-flow{display:flex;align-items:center;justify-content:space-between;gap:10px}.mq-kafka-storage .cache-block{padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;background:#ffffffe6;color:var(--ink-soft)}.mq-kafka-storage .cache-line{position:relative;flex:1;height:2px;background:#2a6f6b4d;border-radius:999px}.mq-kafka-storage .cache-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}.mq-kafka-storage .cache-line:before{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-50%);opacity:0}.mq-kafka-storage .cache-note{font-size:.72rem;color:var(--ink-soft)}.mq-kafka-storage .batch-box{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.mq-kafka-storage .batch-msg{padding:4px 8px;border-radius:10px;border:1px solid rgba(210,100,42,.35);background:#d2642a1f;font-size:.7rem;color:var(--ink)}.mq-kafka-storage .batch-chip{justify-self:start;width:fit-content;padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);color:var(--accent);font-size:.7rem;background:#d2642a1a}.mq-kafka-storage .kafka-store.mode--append .log-card,.mq-kafka-storage .kafka-store.mode--segment .log-card,.mq-kafka-storage .kafka-store.mode--segment .index-card,.mq-kafka-storage .kafka-store.mode--cache .cache-card,.mq-kafka-storage .kafka-store.mode--batch .batch-card{border-color:var(--accent);box-shadow:0 12px 24px #d2642a1f}.mq-kafka-storage .kafka-store.mode--append .append-dot{background:#d2642a66;animation:httpPulse 1.6s ease infinite}.mq-kafka-storage .kafka-store.mode--segment .index-row{animation:flow 1.6s ease infinite}.mq-kafka-storage .kafka-store.mode--cache .cache-line:before{opacity:1;animation:kafkaStream 2.4s linear infinite}.mq-kafka-storage .kafka-store.mode--batch .batch-msg{animation:frameFlow 1.6s ease infinite}.mq-kafka-storage .kafka-store.mode--read .example-row,.mq-kafka-storage .kafka-store.mode--index .example-row,.mq-kafka-storage .kafka-store.mode--scan .example-row{transition:border-color .3s,background .3s,box-shadow .3s}.mq-kafka-storage .example-row.is-highlight{animation:kafkaExample 2.4s ease infinite}.mq-kafka-storage .kafka-store.mode--read .kafka-store__example,.mq-kafka-storage .kafka-store.mode--index .kafka-store__example,.mq-kafka-storage .kafka-store.mode--scan .kafka-store__example,.mq-kafka-storage .kafka-store.mode--index .index-card{border-color:var(--accent);box-shadow:0 12px 24px #d2642a1f}.mq-kafka-storage .kafka-store.mode--index .index-row{animation:flow 1.6s ease infinite}.mq-kafka-storage .kafka-store.mode--scan .log-card{border-color:var(--accent);box-shadow:0 12px 24px #d2642a1f}.mq-kafka-storage .kafka-store.mode--scan .cache-card{border-color:#2a6f6b80;box-shadow:0 12px 24px #2a6f6b1a}.mq-kafka-storage .kafka-store.mode--scan .log-seg.is-active{animation:kafkaExample 2.4s ease infinite}.mq-kafka-storage .kafka-store.mode--scan .cache-line:before{opacity:1;animation:kafkaStream 2.4s linear infinite}.mq-kafka-storage .kafka-store.mode--read .store-line--read,.mq-kafka-storage .kafka-store.mode--index .store-line--read,.mq-kafka-storage .kafka-store.mode--scan .store-line--read{background:#2a6f6b80}.mq-kafka-storage .kafka-store.mode--read .store-line--read:before,.mq-kafka-storage .kafka-store.mode--index .store-line--read:before,.mq-kafka-storage .kafka-store.mode--scan .store-line--read:before{opacity:1;animation:kafkaStream 2.4s linear infinite}.mq-kafka-storage .kafka-store.mode--append .store-line--write,.mq-kafka-storage .kafka-store.mode--batch .store-line--write{background:#d2642a80}.mq-kafka-storage .kafka-store.mode--cache .store-line--read{background:#2a6f6b80}.mq-kafka-storage .kafka-store.mode--append .store-line--write:before,.mq-kafka-storage .kafka-store.mode--batch .store-line--write:before,.mq-kafka-storage .kafka-store.mode--cache .store-line--read:before{opacity:1;animation:kafkaStream 2.4s linear infinite}@media (max-width: 960px){.kafka-top{grid-template-columns:1fr}.kafka-arrows{display:none}.mq-kafka-storage .kafka-store__nodes{grid-template-columns:1fr}.mq-kafka-storage .kafka-store__pipes{display:none}.mq-kafka-storage .kafka-store__stack{grid-template-columns:1fr}.mq-kafka-storage .example-row{grid-template-columns:20px minmax(0,1fr)}.mq-kafka-storage .example-arrow{justify-self:start}}.mq-rocket .rocket-mechanism.mode--store .store-item.index .index-bars span{animation:frameFlow 1.4s ease infinite}@keyframes kafkaStream{0%{left:0%;opacity:0}20%{opacity:1}90%{left:calc(100% - 8px);opacity:1}to{opacity:0}}@keyframes kafkaExample{0%,to{border-color:#1f1c1814;color:var(--ink-soft);box-shadow:none}50%{border-color:#d2642a73;color:var(--ink);box-shadow:0 10px 18px #d2642a1f;background:#d2642a14}}.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-consume__grid{display:grid;gap:12px;align-items:center;text-align:center}.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}.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-kafka-election .kafka-election{display:grid;gap:16px}.mq-kafka-election .kafka-election__scene{position:relative;min-height:360px;perspective:1200px}.mq-kafka-election .kafka-election__stage{position:relative;display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:auto auto;grid-template-areas:"controllers metadata client" "brokers metadata client";gap:16px;align-items:center;transform-style:preserve-3d}.mq-kafka-election .election-section.brokers{grid-area:brokers}.mq-kafka-election .election-section{position:relative;padding:10px;border-radius:18px;overflow:visible}.mq-kafka-election .election-section.is-focus{border:1px solid rgba(210,100,42,.4);background:#d2642a14;box-shadow:0 12px 24px #d2642a1f}.mq-kafka-election .election-metadata{grid-area:metadata;display:grid;place-items:center;transform:translateZ(20px);position:relative;overflow:visible}.mq-kafka-election .election-client{grid-area:client;display:grid;gap:6px;place-items:center;transform:translateZ(16px);position:relative}.mq-kafka-election .election-label{font-size:.8rem;color:var(--ink-soft);font-weight:600;margin-bottom:8px}.mq-kafka-election .election-nodes{display:flex;gap:12px;flex-wrap:wrap}.mq-kafka-election .election-node{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;display:grid;gap:6px;text-align:center;font-weight:600;min-width:86px;position:relative;transform-style:preserve-3d;transform:translateZ(18px) rotateX(6deg) rotateY(-6deg);box-shadow:0 10px 22px #1f1c1814}.mq-kafka-election .election-node:before{content:"";position:absolute;top:6px;right:-6px;bottom:-6px;left:6px;border-radius:inherit;background:#1f1c180f;transform:translateZ(-14px)}.mq-kafka-election .election-node .node-meta{font-size:.7rem;color:var(--ink-soft);font-weight:500}.mq-kafka-election .election-badge{margin-top:8px;display:inline-flex;padding:4px 10px;border-radius:999px;border:1px solid rgba(42,111,107,.35);font-size:.72rem;color:var(--accent-2);background:#2a6f6b14}.mq-kafka-election .broker.is-leader{border-color:var(--accent)}.mq-kafka-election .broker.is-candidate{border-color:#2a6f6b73}.mq-kafka-election .broker.is-chosen{box-shadow:0 12px 24px #d2642a33}.mq-kafka-election .broker.is-down{opacity:.45;filter:grayscale(.8);transform:translateZ(6px) rotateX(6deg) rotateY(-6deg)}.mq-kafka-election .broker.is-follower{border-style:dashed;border-color:#1f1c1840}.mq-kafka-election .kafka-election.mode--detect .broker.is-down{border-color:#d2642a66;box-shadow:0 12px 22px #d2642a1f}.mq-kafka-election .kafka-election.mode--leader .broker.is-leader{box-shadow:0 12px 24px #d2642a2e}.mq-kafka-election .node-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.mq-kafka-election .node-tags span{padding:2px 8px;border-radius:999px;border:1px solid rgba(42,111,107,.3);font-size:.66rem;color:var(--accent-2);background:#2a6f6b14}.mq-kafka-election .partition-chip{margin-top:8px;display:inline-flex;padding:4px 10px;border-radius:999px;border:1px solid rgba(210,100,42,.35);color:var(--accent);font-size:.72rem;background:#d2642a1f}.mq-kafka-election .election-note{margin-top:6px;font-size:.72rem;color:var(--ink-soft);padding:4px 10px;border-radius:999px;border:1px dashed rgba(210,100,42,.4);background:#d2642a14;width:fit-content}.mq-kafka-election .leader-logic{margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#ffffffeb;display:grid;gap:6px}.mq-kafka-election .logic-title{font-weight:600;font-size:.8rem}.mq-kafka-election .logic-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.76rem;color:var(--ink-soft)}.mq-kafka-election .logic-chip{padding:2px 8px;border-radius:999px;border:1px solid rgba(31,28,24,.15);font-size:.66rem;color:var(--ink-soft);background:#1f1c180a}.mq-kafka-election .logic-chip.warn{border-color:#d2642a66;color:var(--accent);background:#d2642a1a}.mq-kafka-election .kafka-election__legend{display:flex;flex-wrap:wrap;gap:8px}.mq-kafka-election .kafka-election__hint{border:1px solid var(--line);border-radius:16px;padding:10px 14px;background:#ffffffeb;display:grid;gap:4px;width:fit-content}.mq-kafka-election .hint-title{font-weight:600}.mq-kafka-election .hint-desc{font-size:.78rem;color:var(--ink-soft)}.mq-kafka-election .kraft-election{display:grid;gap:16px}.mq-kafka-election .kraft-election__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.mq-kafka-election .kraft-election__title{font-weight:700;font-size:.95rem}.mq-kafka-election .kraft-timing{--lane-label-width: 180px;display:grid;gap:16px}.mq-kafka-election .timing-axis{display:grid;grid-template-columns:var(--lane-label-width) 1fr;gap:12px;align-items:center}.mq-kafka-election .timing-stage{position:relative;border-radius:20px;border:1px solid var(--line);padding:18px 16px 20px;background:#fffffff2;display:grid;gap:16px}.mq-kafka-election .timing-rows{display:grid;gap:12px;position:relative;z-index:1}.mq-kafka-election .timing-row{display:grid;grid-template-columns:var(--lane-label-width) 1fr;gap:12px;align-items:center;transition:transform .3s ease}.mq-kafka-election .timing-row.is-hidden{opacity:0;visibility:hidden;transform:translateY(18px)}.mq-kafka-election .timing-track-area{position:absolute;top:16px;bottom:16px;left:calc(var(--lane-label-width) + 12px);right:16px;pointer-events:none}.mq-kafka-election .timing-messages{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.mq-kafka-election .timing-message{position:absolute;left:var(--msg-x);top:var(--msg-top);height:var(--msg-height);width:0;opacity:0;transform:translate(-1px);transition:opacity .2s ease}.mq-kafka-election .timing-message:before{content:"";position:absolute;left:-1px;top:0;width:2px;height:100%;background:#1f1c184d;border-radius:999px}.mq-kafka-election .timing-message:after{content:"";position:absolute;left:-4px;bottom:-6px;border-top:6px solid rgba(31,28,24,.35);border-left:5px solid transparent;border-right:5px solid transparent}.mq-kafka-election .timing-message.is-reverse:after{top:-6px;bottom:auto;transform:rotate(180deg)}.mq-kafka-election .timing-message.is-on{opacity:1}.mq-kafka-election .timing-message__label{position:absolute;left:10px;top:50%;transform:translateY(-50%);padding:2px 8px;border-radius:999px;border:1px solid rgba(31,28,24,.2);background:#fffffff5;font-size:.68rem;color:var(--ink-soft);white-space:nowrap}.mq-kafka-election .timing-message__pulse{position:absolute;left:-4px;top:0;width:8px;height:8px;border-radius:50%;background:#2a6f6bb3;opacity:0;animation:timingPulse 1.6s ease infinite}.mq-kafka-election .kraft-term{min-width:220px}.mq-kafka-election .term-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:#ffffffeb}.mq-kafka-election .term-dot{text-align:center;font-size:.68rem;color:var(--ink-soft)}.mq-kafka-election .term-dot.is-active{color:var(--ink);font-weight:600}.mq-kafka-election .term-marker{position:absolute;left:var(--term-left);top:-6px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #d2642a2e;transform:translate(-50%)}.mq-kafka-election .term-caption{margin-top:6px;font-size:.72rem;color:var(--ink-soft);text-align:right}.mq-kafka-election .kraft-election__stage{position:relative;border-radius:20px;border:1px solid var(--line);padding:20px 16px 16px;background:#fffffff2;display:grid;gap:16px}.mq-kafka-election .kraft-nodes-wrap{position:relative;padding:20px 12px;border-radius:16px;border:1px solid rgba(31,28,24,.08);background:#1f1c1805}.mq-kafka-election .kraft-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.mq-kafka-election .kraft-line{position:absolute;top:var(--line-y);left:var(--line-left);width:var(--line-width);opacity:.25;transform:translateY(-50%);transition:opacity .2s ease}.mq-kafka-election .kraft-line__bar{position:relative;height:2px;background:#1f1c1833;border-radius:999px}.mq-kafka-election .kraft-line__bar:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid rgba(31,28,24,.4);border-top:4px solid transparent;border-bottom:4px solid transparent}.mq-kafka-election .kraft-line__bar:before{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-50%);opacity:0}.mq-kafka-election .kraft-line__bar.is-reverse:after{right:auto;left:-6px;border-left:none;border-right:6px solid rgba(31,28,24,.4)}.mq-kafka-election .kraft-line__bar.is-reverse:before{left:auto;right:0}.mq-kafka-election .kraft-line.is-on .kraft-line__bar:before{opacity:1;animation:kafkaSignal 2.2s linear infinite}.mq-kafka-election .kraft-line.is-on{opacity:1}.mq-kafka-election .kraft-line__label{position:absolute;left:var(--label-left, 50%);top:var(--label-top, -18px);transform:translate(-50%);padding:2px 8px;border-radius:999px;border:1px solid rgba(31,28,24,.15);background:#fffffff2;font-size:.68rem;color:var(--ink-soft);opacity:0;box-shadow:0 4px 10px #1f1c1814}.mq-kafka-election .kraft-line.is-on .kraft-line__label{opacity:1}.mq-kafka-election .line--vote .kraft-line__bar{background:#2a6f6b59}.mq-kafka-election .line--vote .kraft-line__label{border-color:#2a6f6b40;color:var(--accent-2)}.mq-kafka-election .line--heartbeat .kraft-line__bar{background:#d2642a66}.mq-kafka-election .kraft-nodes{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center}.mq-kafka-election .kraft-node{border:1px solid var(--line);border-radius:16px;padding:14px 12px;background:#fff;text-align:center;display:grid;gap:6px;position:relative;transform:translateY(0);transition:transform .4s ease}.mq-kafka-election .kraft-node .node-title{font-weight:700}.mq-kafka-election .kraft-node .node-status{font-size:.78rem;color:var(--ink-soft)}.mq-kafka-election .node-info{display:grid;gap:4px;font-size:.68rem;color:var(--ink-soft)}.mq-kafka-election .node-info span{padding:2px 6px;border-radius:999px;border:1px solid rgba(31,28,24,.12);background:#ffffffe6}.mq-kafka-election .node-info.is-election span{border-color:#2a6f6b33;background:#2a6f6b0f;color:var(--ink)}.mq-kafka-election .chip-vote.is-active{border-color:#2a6f6b66;background:#2a6f6b24;color:var(--accent-2)}.mq-kafka-election .chip-heart.is-warn{border-color:#d2642a66;background:#d2642a1f;color:var(--accent)}.mq-kafka-election .kraft-node.candidate .node-status{color:var(--accent-2);font-weight:600}.mq-kafka-election .kraft-node.leader .node-status{color:var(--accent);font-weight:600}.mq-kafka-election .kraft-node.down .node-status{color:#1f1c1880}.mq-kafka-election .kraft-node.follower{border-color:#1f1c1833}.mq-kafka-election .kraft-node.candidate{border-color:#2a6f6b80;box-shadow:0 10px 22px #2a6f6b1f}.mq-kafka-election .kraft-node.leader{border-color:var(--accent);box-shadow:0 12px 24px #d2642a2e}.mq-kafka-election .kraft-node.down{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(28px)}.mq-kafka-election .timeout-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:20px;border:2px dashed rgba(210,100,42,.5);animation:rotate 2.4s linear infinite}.mq-kafka-election .vote-badge{position:absolute;top:-10px;right:12px;padding:2px 8px;border-radius:999px;border:1px solid rgba(42,111,107,.4);background:#2a6f6b1f;font-size:.68rem;color:var(--accent-2)}.mq-kafka-election .kraft-votes{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fffffff2;display:grid;gap:6px;width:min(320px,100%);justify-self:start;z-index:2}.mq-kafka-election .votes-title{font-weight:600;font-size:.78rem}.mq-kafka-election .votes-count{font-size:1.1rem;font-weight:700}.mq-kafka-election .votes-bar{height:6px;border-radius:999px;background:#1f1c1814;overflow:hidden}.mq-kafka-election .votes-bar span{display:block;height:100%;background:#2a6f6b80;transition:width .4s ease}.mq-kafka-election .votes-note{font-size:.72rem;color:var(--ink-soft)}.mq-kafka-election .kraft-legend{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 960px){.mq-kafka-election .kraft-nodes{grid-template-columns:1fr}.mq-kafka-election .kraft-election__stage{padding-top:60px}.mq-kafka-election .kraft-lines{display:none}.mq-kafka-election .kraft-votes{justify-self:start}}@keyframes kafkaFlowX{0%{left:0%;opacity:0}20%{opacity:1}90%{left:calc(100% - 8px);opacity:1}to{opacity:0}}@keyframes kafkaFlowY{0%{top:0%;opacity:0}20%{opacity:1}90%{top:calc(100% - 8px);opacity:1}to{opacity:0}}@keyframes kafkaFlowXReverse{0%{right:0%;opacity:0}20%{opacity:1}90%{right:calc(100% - 8px);opacity:1}to{opacity:0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes timingPulse{0%{transform:translateY(0);opacity:0}25%{opacity:1}to{transform:translateY(calc(var(--msg-height) - 8px));opacity:0}}@keyframes kafkaFloat3d{0%,to{transform:translateZ(18px) rotateX(6deg) rotateY(-6deg)}50%{transform:translateZ(26px) rotateX(8deg) rotateY(-10deg)}}@keyframes kafkaPulse3d{0%,to{transform:translateZ(0)}50%{transform:translateZ(10px)}}.mq-kafka-election .section-flow{position:absolute;opacity:0;pointer-events:none;background:#1f1c1833;border-radius:999px;z-index:2}.mq-kafka-election .section-flow:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:0}.mq-kafka-election .section-flow:after{content:"";position:absolute;border-left:6px solid rgba(31,28,24,.4);border-top:4px solid transparent;border-bottom:4px solid transparent}.mq-kafka-election .section-flow.is-on{opacity:1}.mq-kafka-election .section-flow.is-on:before{opacity:1}.mq-kafka-election .section-flow.flow-right{right:-56px;top:50%;width:56px;height:2px;transform:translateY(-50%)}.mq-kafka-election .section-flow.flow-right--from-left{left:-56px;right:auto}.mq-kafka-election .section-flow.flow-right:before{top:50%;left:0;transform:translateY(-50%)}.mq-kafka-election .section-flow.flow-right:after{right:-6px;top:50%;transform:translateY(-50%)}.mq-kafka-election .section-flow.flow-down{bottom:-48px;left:50%;width:2px;height:48px;transform:translate(-50%)}.mq-kafka-election .section-flow.flow-down:before{left:50%;top:0;transform:translate(-50%)}.mq-kafka-election .section-flow.flow-down:after{top:auto;bottom:-6px;left:50%;transform:translate(-50%) rotate(90deg)}.mq-kafka-election .section-flow.flow-up{top:-48px;left:50%;width:2px;height:48px;transform:translate(-50%)}.mq-kafka-election .section-flow.flow-left{left:-56px;top:50%;width:56px;height:2px;transform:translateY(-50%)}.mq-kafka-election .section-flow.flow-left--from-right{right:-56px;left:auto;top:58%}.mq-kafka-election .section-flow.flow-left:before{top:50%;right:0;transform:translateY(-50%)}.mq-kafka-election .section-flow.flow-left:after{left:-6px;top:50%;transform:translateY(-50%) rotate(180deg)}.mq-kafka-election .section-flow.flow-up:before{left:50%;bottom:0;transform:translate(-50%)}.mq-kafka-election .section-flow.flow-up:after{top:-6px;left:50%;transform:translate(-50%) rotate(-90deg)}.mq-kafka-election .section-flow.is-dashed{background:transparent;border-left:2px dashed rgba(210,100,42,.55);border-radius:0}.mq-kafka-election .section-flow.is-dashed:after{border-left-color:#d2642a8c}.mq-kafka-election .section-flow.is-on.flow-right:before{animation:kafkaFlowX 2.2s linear infinite}.mq-kafka-election .section-flow.is-on.flow-down:before,.mq-kafka-election .section-flow.is-on.flow-up:before{animation:kafkaFlowY 2.2s linear infinite}.mq-kafka-election .section-flow.is-on.flow-left:before{animation:kafkaFlowXReverse 2.2s linear infinite}.mq-kafka-election .flow-tag{position:absolute;padding:2px 8px;border-radius:999px;border:1px solid rgba(31,28,24,.15);font-size:.68rem;color:var(--ink-soft);background:#fffffff2;opacity:0;pointer-events:none;white-space:nowrap;z-index:2}.mq-kafka-election .flow-tag.is-on{opacity:1}.mq-kafka-election .legend-chip{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.72rem;color:var(--ink-soft);background:#ffffffe6}.mq-kafka-election .legend-chip.dashed{border-style:dashed;border-color:#d2642a66;color:var(--accent)}.mq-kafka-election .msg--vote:before{background:#2a6f6b8c}.mq-kafka-election .msg--vote .timing-message__label{border-color:#2a6f6b4d;color:var(--accent-2)}.mq-kafka-election .msg--vote .timing-message__pulse{background:#2a6f6bb3}.mq-kafka-election .msg--heartbeat:before{background:#d2642a99}.mq-kafka-election .msg--heartbeat .timing-message__label{border-color:#d2642a66;color:var(--accent)}.mq-kafka-election .msg--heartbeat .timing-message__pulse{background:#d2642ab3}.mq-kafka-election .legend-chip{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.72rem;color:var(--ink-soft);background:#fffffff2}.mq-kafka-election .legend-chip.leader{border-color:#d2642a66;color:var(--accent)}.mq-kafka-election .legend-chip.candidate{border-color:#2a6f6b66;color:var(--accent-2)}.mq-kafka-election .legend-chip.down{border-style:dashed;border-color:#1f1c184d}@media (max-width: 960px){.mq-kafka-election .kafka-election__stage{grid-template-columns:1fr;grid-template-areas:"controllers" "metadata" "brokers" "client"}.mq-kafka-election .section-flow{display:none}}.mq-kafka-election .election-section.controllers{grid-area:controllers}.mq-kafka-election .election-metadata.is-focus .metadata-stack{box-shadow:0 14px 26px #d2642a29}.mq-kafka-election .election-node.controller.is-leader{border-color:var(--accent);box-shadow:0 12px 24px #d2642a29}.mq-kafka-election .election-node.controller.is-voting{animation:kafkaFloat3d 3s ease-in-out infinite}.mq-kafka-election .election-metadata.is-active .metadata-stack{animation:kafkaPulse3d 2.4s ease-in-out infinite}.mq-kafka-election .metadata-stack{position:relative;width:120px;height:120px;transform-style:preserve-3d;z-index:1}.mq-kafka-election .metadata-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;border:1px solid rgba(31,28,24,.15);background:#ffffffeb}.mq-kafka-election .metadata-layer.layer-1{transform:translateZ(0)}.mq-kafka-election .metadata-layer.layer-2{transform:translateZ(-8px);background:#2a6f6b0d}.mq-kafka-election .metadata-layer.layer-3{transform:translateZ(-16px);background:#1f1c180a}.mq-kafka-election .metadata-layer.layer-4{transform:translateZ(-24px);background:#1f1c1808}.mq-kafka-election .metadata-title{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:600;font-size:.68rem;color:var(--ink-soft);text-align:center;padding:10px 8px;line-height:1.2;overflow-wrap:anywhere;word-break:break-all}.mq-kafka-election .metadata-rows{position:absolute;left:12px;right:12px;bottom:10px;display:grid;gap:4px;font-size:.62rem;color:var(--ink-soft)}.mq-kafka-election .metadata-rows span{padding:2px 6px;border-radius:999px;border:1px solid rgba(31,28,24,.12);background:#ffffffd9;text-align:center}.mq-kafka-election .client-node{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;font-weight:600;transform:translateZ(10px) rotateX(6deg);box-shadow:0 10px 22px #1f1c1814}.mq-kafka-election .client-hint{font-size:.72rem;color:var(--ink-soft)}.mq-kafka-election .election-client.is-active .client-node{border-color:var(--accent);box-shadow:0 12px 24px #d2642a29}.mq-kafka-election .node-tags .tag-chosen{border-color:#d2642a80;color:var(--accent);background:#d2642a1f}.mq-kafka-election .node-tags .tag-candidate{border-color:#2a6f6b73;color:var(--accent-2);background:#2a6f6b1f}.mq-kafka-election .replica-log{display:flex;gap:4px;justify-content:center}.mq-kafka-election .replica-log span{width:12px;height:6px;border-radius:999px;background:#2a6f6b40}.mq-kafka-election .broker.is-leader .replica-log span{background:#d2642a66}.mq-kafka-election .tag-right{left:calc(100% + 28px);top:50%;transform:translate(-50%,-150%)}.mq-kafka-election .tag-right--meta,.mq-kafka-election .tag-right--client{left:-28px;top:50%;transform:translate(-50%,-170%)}.mq-kafka-election .tag-down{left:50%;top:calc(100% + 16px);transform:translate(-50%)}.mq-kafka-election .tag-up{left:50%;top:-16px;transform:translate(-50%,-100%)}.mq-kafka-election .tag-left{left:calc(0% - 28px);top:50%;transform:translate(-50%,-100%)}.mq-kafka-election .tag-left--broker{left:calc(100% + 28px);top:58%;transform:translate(-50%,-160%)}.mq-kafka-election .axis-label{font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.mq-kafka-election .axis-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.mq-kafka-election .axis-step{font-size:.7rem;padding:6px 8px;text-align:center;border-radius:10px;border:1px solid var(--line);background:#ffffffeb;color:var(--ink-soft)}.mq-kafka-election .axis-step.is-active{border-color:#2a6f6b66;color:var(--accent-2);background:#2a6f6b1f;font-weight:600}.mq-kafka-election .lane-meta{border:1px solid var(--line);border-radius:14px;padding:10px;background:#1f1c1805;display:grid;gap:6px}.mq-kafka-election .lane-title{font-weight:700;font-size:.9rem}.mq-kafka-election .lane-role{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.mq-kafka-election .lane-chips{display:grid;gap:4px;font-size:.66rem;color:var(--ink-soft)}.mq-kafka-election .lane-chips span{padding:2px 6px;border-radius:999px;border:1px solid rgba(31,28,24,.12);background:#ffffffe6}.mq-kafka-election .lane-chips.is-election span{border-color:#2a6f6b33;background:#2a6f6b0f;color:var(--ink)}.mq-kafka-election .lane-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:stretch}.mq-kafka-election .lane-cell{border:1px solid rgba(31,28,24,.12);border-radius:12px;padding:8px 6px;background:#ffffffeb;display:grid;gap:4px;text-align:center;min-height:54px}.mq-kafka-election .lane-cell .cell-title{font-weight:600;font-size:.72rem}.mq-kafka-election .lane-cell .cell-note{font-size:.65rem;color:var(--ink-soft)}.mq-kafka-election .lane-cell.follower{border-color:#1f1c182e}.mq-kafka-election .lane-cell.candidate{border-color:#2a6f6b73;background:#2a6f6b14}.mq-kafka-election .lane-cell.leader{border-color:#d2642a8c;background:#d2642a14}.mq-kafka-election .lane-cell.down{border-style:dashed;border-color:#1f1c1833;color:#1f1c1899}.mq-kafka-election .lane-cell.is-active{box-shadow:0 10px 18px #1f1c181f;transform:translateY(-2px)}@media (max-width: 960px){.mq-kafka-election .kraft-timing{--lane-label-width: 140px}.mq-kafka-election .axis-step{font-size:.62rem}.mq-kafka-election .lane-track{gap:6px}.mq-kafka-election .lane-cell{min-height:62px}}.mq-rocket .rocket-mechanism{position:relative;min-height:340px;overflow:hidden}.mq-rocket .rocket-beams{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.mq-rocket .rocket-tracks{position:absolute;top:6%;right:8%;bottom:10%;left:8%;width:84%;height:84%;opacity:.7}.mq-rocket .rocket-track{fill:none;stroke:#2a6f6b47;stroke-width:1.2;stroke-linecap:round}.mq-rocket .rocket-beam{position:absolute;width:10px;height:10px;border-radius:50%;background:#d2642abf;box-shadow:0 0 0 6px #d2642a1f;opacity:0;transform:translate(-50%,-50%) scale(.6)}.mq-rocket .rocket-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:minmax(72px,20%) minmax(180px,50%) minmax(72px,30%);gap:14px;align-items:center;height:100%;z-index:2}.mq-rocket .rocket-card{position:relative;padding:10px 12px;border-radius:14px;border:1px solid rgba(31,28,24,.12);background:#ffffffeb;display:grid;gap:6px;box-shadow:0 8px 18px #1f1c1814;width:100%;max-width:var(--rocket-card-size, 240px);justify-self:center}.mq-rocket .rocket-card .card-title{font-weight:600;font-size:.9rem}.mq-rocket .rocket-card .card-meta{font-size:.68rem;color:var(--ink-soft)}.mq-rocket .rocket-card .card-row{display:flex;gap:6px;flex-wrap:wrap}.mq-rocket .rocket-card .card-row span{font-size:.66rem;padding:2px 6px;border-radius:999px;background:#2a6f6b1f;color:var(--ink-soft)}.mq-rocket .rocket-card.nameserver{grid-column:2;grid-row:1;border-color:#2a6f6b47}.mq-rocket .rocket-card.broker{grid-column:2;grid-row:2 / span 2;--rocket-card-size: 360px;border-color:#d2642a80;background:#fffcf6fa;box-shadow:0 18px 40px #d2642a2e}.mq-rocket .rocket-card.producer{grid-column:1;grid-row:2;justify-self:end}.mq-rocket .rocket-card.retry{grid-column:1;grid-row:3;justify-self:end}.mq-rocket .rocket-card.consumer{grid-column:3;grid-row:2;justify-self:start}.mq-rocket .role.master{background:#d2642a26;color:var(--accent)}.mq-rocket .role.slave{background:#2a6f6b1f;color:var(--accent-2)}.mq-rocket .store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mq-rocket .store-item{border-radius:10px;border:1px dashed rgba(31,28,24,.12);padding:6px;display:grid;gap:6px;background:#fffc}.mq-rocket .store-title{font-size:.68rem;color:var(--ink-soft)}.mq-rocket .store-track{position:relative;height:6px;border-radius:999px;background:#2a6f6b1f;overflow:hidden}.mq-rocket .track-dot{position:absolute;top:-2px;width:10px;height:10px;border-radius:50%;background:#d2642aa6;left:-20%}.mq-rocket .queue-dots{display:flex;gap:4px}.mq-rocket .queue-dots span{width:8px;height:8px;border-radius:50%;background:#2a6f6b4d}.mq-rocket .index-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.mq-rocket .index-bars span{height:6px;border-radius:999px;background:#2a6f6b33}.mq-rocket .rocket-offset{grid-column:3;grid-row:3;justify-self:start;align-self:center;display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--ink-soft);opacity:0}.mq-rocket .rocket-offset__dot{width:10px;height:10px;border-radius:50%;background:#d2642a99;animation:pulse 1.6s ease infinite}.mq-rocket .rocket-lines{position:absolute;top:14%;right:18%;bottom:16%;left:18%;z-index:1;pointer-events:none;opacity:.9}.mq-rocket .rocket-flow{fill:none;stroke:#2a6f6b33;color:#2a6f6b4d;stroke-width:1.1;stroke-linecap:round;stroke-dasharray:5 8;stroke-dashoffset:0;opacity:.18}.mq-rocket .rocket-card{z-index:2}.mq-rocket .rocket-mechanism.mode--route .rocket-card.nameserver,.mq-rocket .rocket-mechanism.mode--route .rocket-card.broker,.mq-rocket .rocket-mechanism.mode--store .rocket-card.producer,.mq-rocket .rocket-mechanism.mode--store .rocket-card.broker,.mq-rocket .rocket-mechanism.mode--consume .rocket-card.consumer,.mq-rocket .rocket-mechanism.mode--consume .rocket-card.broker,.mq-rocket .rocket-mechanism.mode--retry .rocket-card.retry{border-color:#d2642a99;box-shadow:0 14px 26px #d2642a29;background:#fff8f0f2}.mq-rocket .rocket-mechanism.mode--route .track-route,.mq-rocket .rocket-mechanism.mode--route .track-query-left,.mq-rocket .rocket-mechanism.mode--route .track-query-right,.mq-rocket .rocket-mechanism.mode--store .track-produce,.mq-rocket .rocket-mechanism.mode--consume .track-consume,.mq-rocket .rocket-mechanism.mode--retry .track-retry{stroke:#d2642ab3;stroke-dasharray:5 7;animation:rocketDash 1.6s linear infinite}.mq-rocket .rocket-mechanism.mode--route .beam-route,.mq-rocket .rocket-mechanism.mode--route .beam-query-left,.mq-rocket .rocket-mechanism.mode--route .beam-query-right{opacity:1}.mq-rocket .rocket-mechanism.mode--route .beam-route{animation:rocketRoute 1.8s ease-in-out infinite}.mq-rocket .rocket-mechanism.mode--route .beam-query-left{animation:rocketQueryLeft 1.8s ease-in-out infinite}.mq-rocket .rocket-mechanism.mode--route .beam-query-right{animation:rocketQueryRight 1.8s ease-in-out infinite;animation-delay:.2s}.mq-rocket .rocket-mechanism.mode--store .beam-produce{animation:rocketProduce 1.6s ease-in-out infinite;opacity:1}.mq-rocket .rocket-mechanism.mode--consume .beam-consume{animation:rocketConsume 1.6s ease-in-out infinite;opacity:1}.mq-rocket .rocket-mechanism.mode--retry .beam-retry{animation:rocketRetry 1.8s ease-in-out infinite;opacity:1}.mq-rocket .rocket-mechanism.mode--store .store-item.commitlog .track-dot{animation:appendMove 1.4s ease infinite}.mq-rocket .rocket-mechanism.mode--consume .store-item.queue .queue-dots span{animation:queuePop 1.2s ease infinite}.mq-rocket .rocket-mechanism.mode--consume .rocket-offset{opacity:1}.mq-rocket .rocket-mechanism.mode--retry .rocket-card.retry{border-style:dashed}@media (max-width: 900px){.topic-shell__diagram.mq-rocket{padding:18px;min-height:420px}.mq-rocket .rocket-mechanism{min-height:380px}.mq-rocket .rocket-grid{gap:10px}.mq-rocket .rocket-card{max-width:210px}.mq-rocket .rocket-card.broker{--rocket-card-size: 320px}}@keyframes rocketDash{to{stroke-dashoffset:-28}}@keyframes rocketRoute{0%{left:50%;top:20%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:50%;top:44%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes rocketProduce{0%{left:26%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:50%;top:58%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes rocketQueryLeft{0%{left:26%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:50%;top:20%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes rocketQueryRight{0%{left:74%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:50%;top:20%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes rocketConsume{0%{left:50%;top:58%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:74%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes rocketRetry{0%{left:74%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:26%;top:82%;opacity:0;transform:translate(-50%,-50%) scale(1)}}.mq-rocket-features .rocket-features{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:16px;min-height:380px}.rocket-features__left{display:grid;gap:14px}.rocket-features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.feature-node{border-radius:16px;border:1px solid var(--line);background:#ffffffeb;padding:12px 14px;display:grid;gap:4px;text-align:center;box-shadow:0 12px 26px #1f1c1814}.feature-node__title{font-weight:600}.feature-node__meta{font-size:.75rem;color:var(--ink-soft)}.feature-lanes{display:grid;gap:12px}.feature-lane{border-radius:16px;border:1px solid var(--line);background:#fff;padding:12px 14px;display:grid;gap:8px;position:relative;overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease,opacity .35s ease}.feature-lane__header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.9rem}.feature-lane__tag{padding:4px 8px;border-radius:999px;font-size:.7rem;color:var(--accent-2);background:#2a6f6b1f;border:1px solid rgba(42,111,107,.2)}.feature-lane__track{position:relative;height:56px}.lane-transaction .feature-lane__track{height:68px}.feature-lane__pipe{position:absolute;left:8%;right:8%;top:50%;height:10px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,#d2642a1f,#2a6f6b2e);box-shadow:inset 0 0 0 1px #1f1c1814;opacity:.5}.feature-lane__node{position:absolute;top:50%;transform:translate(-50%,-50%);padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.68rem;color:var(--ink-soft);box-shadow:0 6px 14px #1f1c1814;z-index:2}.feature-lane__node.is-left{left:10%}.feature-lane__node.is-mid{left:50%}.feature-lane__node.is-right{left:90%}.feature-lane__meta{font-size:.75rem;color:var(--ink-soft)}.feature-token{position:absolute;top:50%;transform:translate(-50%,-50%);padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:600;white-space:nowrap;z-index:3;animation-play-state:paused}.lane-order .feature-token{background:#2a6f6b2e;border:1px solid rgba(42,111,107,.45);color:var(--ink);animation:mqFeatureOrder 3.6s ease infinite}.lane-order .token-1{animation-delay:0s}.lane-order .token-2{animation-delay:.9s}.lane-order .token-3{animation-delay:1.8s}.feature-queue{position:absolute;left:50%;top:6px;transform:translate(-50%);display:grid;gap:4px;z-index:1}.feature-queue span{width:38px;height:6px;border-radius:999px;background:#2a6f6b33;animation:mqFeatureQueue 2.4s ease infinite;animation-play-state:paused}.feature-queue span:nth-child(2){animation-delay:.6s}.feature-queue span:nth-child(3){animation-delay:1.2s}.lane-delay .feature-token{background:#d2642a2e;border:1px solid rgba(210,100,42,.45);color:var(--ink);animation:mqFeatureDelay 3.8s ease infinite}.delay-wheel{width:30px;height:30px;border-radius:50%;border:2px solid rgba(210,100,42,.5);position:relative;animation:spin 6s linear infinite;animation-play-state:paused}.delay-wheel:after{content:"";position:absolute;width:2px;height:10px;background:#d2642acc;top:6px;left:50%;transform:translate(-50%)}.lane-transaction .feature-token{animation-play-state:paused}.lane-transaction .token-half{left:50%;top:84%;background:#b94a3b2e;border:1px solid rgba(185,74,59,.45);animation:mqFeatureHalf 2.6s ease infinite}.lane-transaction .token-commit{background:#2a6f6b2e;border:1px solid rgba(42,111,107,.45);animation:mqFeatureCommit 3.2s ease infinite;animation-delay:.9s}.feature-check{position:absolute;top:22%;left:50%;width:10px;height:10px;border-radius:50%;background:#2a6f6bcc;box-shadow:0 0 0 4px #2a6f6b26;animation:mqFeatureCheck 3.2s ease infinite;animation-play-state:paused}.feature-tx__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:.68rem;color:var(--ink-soft)}.feature-tx__steps span{padding:4px 6px;border-radius:999px;border:1px solid rgba(185,74,59,.2);background:#b94a3b14;text-align:center}.feature-example{border-radius:18px;border:1px solid var(--line);background:#ffffffeb;padding:16px;display:grid;gap:10px;align-content:start;box-shadow:0 14px 26px #1f1c1814}.feature-example__eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-2)}.feature-example__title{font-weight:600}.feature-example__list{list-style:none;display:grid;gap:6px;font-size:.82rem;color:var(--ink-soft)}.feature-example__list li{position:relative;padding-left:12px}.feature-example__list li:before{content:"-";position:absolute;left:0;color:var(--accent)}.feature-example__tags{display:flex;flex-wrap:wrap;gap:6px}.feature-example__tags span{padding:4px 8px;border-radius:999px;font-size:.7rem;border:1px solid rgba(31,28,24,.12);background:#ffffffd9;color:var(--ink-soft)}.rocket-features.mode--order{--feature-accent: var(--accent-2);--feature-soft: rgba(42, 111, 107, .14)}.rocket-features.mode--delay{--feature-accent: var(--accent);--feature-soft: rgba(210, 100, 42, .14)}.rocket-features.mode--transaction{--feature-accent: #b94a3b;--feature-soft: rgba(185, 74, 59, .14)}.rocket-features .feature-lane{opacity:.35}.rocket-features.mode--order .lane-order,.rocket-features.mode--delay .lane-delay,.rocket-features.mode--transaction .lane-transaction{opacity:1;border-color:var(--feature-accent);box-shadow:0 14px 24px #1f1c181f;transform:translateY(-2px)}.rocket-features.mode--order .lane-order .feature-lane__tag,.rocket-features.mode--delay .lane-delay .feature-lane__tag,.rocket-features.mode--transaction .lane-transaction .feature-lane__tag{color:var(--feature-accent);background:var(--feature-soft);border-color:#1f1c181f}.rocket-features.mode--order .lane-order .feature-token,.rocket-features.mode--order .lane-order .feature-queue span,.rocket-features.mode--delay .lane-delay .feature-token,.rocket-features.mode--delay .lane-delay .delay-wheel,.rocket-features.mode--transaction .lane-transaction .feature-token,.rocket-features.mode--transaction .lane-transaction .feature-check{animation-play-state:running}.rocket-features .feature-example{border-color:var(--feature-accent);box-shadow:0 18px 30px #1f1c181f}.rocket-features .feature-example__tags span{border-color:var(--feature-accent);color:var(--feature-accent);background:var(--feature-soft)}@media (max-width: 980px){.mq-rocket-features .rocket-features{grid-template-columns:1fr}.rocket-features__grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@keyframes mqFeatureOrder{0%{left:12%;opacity:0}15%{opacity:1}70%{left:88%;opacity:1}to{left:88%;opacity:0}}@keyframes mqFeatureQueue{0%{opacity:.3;transform:scaleX(.9)}50%{opacity:1;transform:scaleX(1)}to{opacity:.4;transform:scaleX(.92)}}@keyframes mqFeatureDelay{0%{left:12%;opacity:0}18%{opacity:1}45%{left:50%}72%{left:50%}to{left:88%;opacity:0}}@keyframes mqFeatureHalf{0%{opacity:.4;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:.45;transform:translate(-50%,-50%) scale(.97)}}@keyframes mqFeatureCommit{0%{left:50%;opacity:0}30%{opacity:1}70%{left:88%;opacity:1}to{left:88%;opacity:0}}@keyframes mqFeatureCheck{0%{left:50%;opacity:0}25%{opacity:1}65%{left:12%;opacity:1}to{left:12%;opacity:0}}.legend-item{display:flex;align-items:center;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)}.cmd-stream .stream-line span{animation-duration:2s;animation-delay:calc(var(--delay) + 1.6s)}.legend-item{border:1px dashed var(--line);border-radius:999px;padding:4px 10px;font-size:.75rem;color:var(--ink-soft)}.redis-types__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.redis-types__stack{display:grid;gap:16px}.redis-impl{position:relative;border-radius:18px;border:1px solid var(--line);background:#ffffffe0;padding:16px;overflow:visible}.redis-impl-card{position:relative;padding:16px;display:none;gap:14px;opacity:0;transform:translateY(6px)}.redis-impl.stage--string .impl--string,.redis-impl.stage--hash .impl--hash,.redis-impl.stage--list .impl--list,.redis-impl.stage--set .impl--set,.redis-impl.stage--zset .impl--zset{display:grid;opacity:1;transform:translateY(0);animation:implFade .35s ease}.impl-head{display:flex;align-items:flex-start;gap:12px}.impl-head h3{margin:0;font-size:1.05rem}.impl-head p{margin:4px 0 0;color:var(--ink-soft);font-size:.85rem}.impl-tag{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid rgba(210,100,42,.35);color:#b0582c;background:#d2642a14}.impl-grid{display:grid;gap:14px;align-items:center}.impl-grid--string,.impl-grid--hash,.impl-grid--set,.impl-grid--zset{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.impl-grid--list{grid-template-columns:1fr}.impl-box{border-radius:14px;border:1px solid rgba(31,28,24,.12);padding:12px;background:#ffffffe6;display:grid;gap:10px}.impl-title{font-size:.78rem;font-weight:600;color:var(--ink)}.impl-bytes{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.impl-bytes span{height:14px;border-radius:6px;background:#1f1c1814}.impl-scan{position:absolute;top:-2px;bottom:-2px;width:28px;border-radius:10px;background:linear-gradient(90deg,#d2642a0d,#d2642a8c);animation:implScan 2.6s ease-in-out infinite}.impl-chips{display:flex;gap:6px;flex-wrap:wrap}.impl-chips span{padding:4px 8px;border-radius:10px;border:1px solid rgba(210,100,42,.3);background:#d2642a1f;font-size:.72rem;animation:implChip 2.4s ease-in-out infinite}.impl-chips span:nth-child(2){animation-delay:.4s}.impl-chips span:nth-child(3){animation-delay:.8s}.impl-rows{display:grid;gap:6px}.impl-rows span{height:10px;border-radius:6px;background:#1f1c1814}.impl-pairs{display:grid;gap:6px}.impl-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:.72rem}.impl-key,.impl-val{padding:4px 8px;border-radius:8px;border:1px solid rgba(31,28,24,.12);background:#1f1c180a;text-align:center}.impl-val{background:#2a6f6b1f;color:#2b5955;font-weight:600}.impl-switch{display:grid;gap:8px;justify-items:center}.impl-switch-label{font-size:.7rem;color:var(--ink-soft)}.impl-switch-line{position:relative;width:90px;height:6px;border-radius:999px;background:#2a6f6b2e;overflow:hidden}.impl-switch-line:after{content:"";position:absolute;right:-4px;top:-4px;width:14px;height:14px;border-radius:4px;background:#2a6f6b73;transform:rotate(45deg)}.impl-switch-line:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(210,100,42,.5),transparent);animation:implPulse 2s ease-in-out infinite}.impl-buckets{display:grid;gap:6px}.bucket-row{display:flex;align-items:center;gap:8px}.bucket-index{width:20px;height:20px;border-radius:6px;background:#2a6f6b1a;color:#2a6f6bcc;font-size:.68rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;display:grid;place-items:center;flex-shrink:0}.bucket-chain{display:flex;align-items:center;gap:4px;flex:1;min-height:24px}.bucket-item{display:flex;align-items:center;gap:4px}.bucket-node{padding:3px 8px;border-radius:8px;border:1px solid rgba(42,111,107,.25);background:#2a6f6b0f;font-size:.7rem;font-family:SF Mono,Fira Code,monospace;color:#2a6f6bd9;white-space:nowrap}.bucket-arrow{display:inline-block;width:16px;height:2px;background:#00000026;position:relative;flex-shrink:0}.bucket-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:5px;height:5px;border-right:1.5px solid rgba(0,0,0,.25);border-top:1.5px solid rgba(0,0,0,.25);transform:translateY(-50%) rotate(45deg)}.bucket-empty{font-size:.68rem;color:#00000040;font-style:italic}.impl-nodes{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.ql-node{display:grid;grid-template-columns:minmax(48px,.9fr) minmax(120px,2fr) minmax(48px,.9fr);gap:6px;padding:6px;border-radius:10px;border:1px dashed rgba(31,28,24,.16);background:#1f1c180a;position:relative;flex:1;min-width:220px}.ql-node:not(:last-child):after{content:"";position:absolute;right:-16px;top:50%;width:16px;height:2px;background:#1f1c1838;transform:translateY(-50%)}.ql-node:not(:last-child):before{content:"";position:absolute;right:-18px;top:50%;width:6px;height:6px;border-right:2px solid rgba(31,28,24,.32);border-top:2px solid rgba(31,28,24,.32);transform:translateY(-50%) rotate(45deg)}.ql-meta{grid-column:1 / -1;font-size:.68rem;color:var(--ink-soft)}.ql-slot{display:grid;place-items:center;font-size:.65rem;color:var(--ink-soft);border-radius:8px;border:1px solid rgba(31,28,24,.12);background:#fff9}.ql-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:center;padding:4px;border-radius:8px;border:1px solid rgba(31,28,24,.1);background:#ffffffd9}.ql-values span{height:8px;border-radius:6px;background:#1f1c1829}.impl-track{position:relative;height:30px;margin-top:6px}.impl-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#1f1c181f}.impl-track-label{position:absolute;top:0;font-size:.7rem;color:var(--ink-soft)}.impl-track-label.left{left:0}.impl-track-label.right{right:0}.impl-packet{position:absolute;top:50%;left:0;width:26px;height:12px;border-radius:6px;background:linear-gradient(90deg,#d2642ad9,#d2642a73);border:1px solid rgba(210,100,42,.6);transform:translate(-50%,-50%);animation:implPacket 2.4s ease-in-out infinite}.impl-array{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.impl-array span{text-align:center;padding:4px 0;border-radius:8px;border:1px solid rgba(31,28,24,.12);font-size:.72rem;background:#1f1c180a}.impl-ops{display:grid;gap:8px}.op-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--ink);opacity:.8;animation:opRow 2.8s ease-in-out infinite}.impl-ops .op-row:nth-child(2){animation-delay:.6s}.op-chip{padding:4px 10px;border-radius:999px;border:1px solid rgba(31,28,24,.12);background:#1f1c180a;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.7rem}.op-chip.is-hot{border-color:#d2642a66;background:#d2642a1f;animation:opGlow 2.2s ease-in-out infinite}.op-arrow{position:relative;width:28px;height:2px;background:#1f1c1833}.op-arrow:after{content:"";position:absolute;right:-2px;top:50%;width:8px;height:8px;border-right:2px solid rgba(31,28,24,.35);border-top:2px solid rgba(31,28,24,.35);transform:translateY(-50%) rotate(45deg)}.op-result{padding:4px 10px;border-radius:999px;background:#2a6f6b24;color:#2b5955;font-weight:600;font-size:.7rem;animation:opGlow 2.2s ease-in-out infinite}.impl-uniq{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--ink-soft)}.impl-uniq-dot{width:10px;height:10px;border-radius:50%;background:#d2642ab3;box-shadow:0 0 0 6px #d2642a1f;animation:implUniq 1.6s ease-in-out infinite}.impl-skip{position:relative;display:grid;gap:12px}.skip-level{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:center}.skip-node{min-width:56px;height:14px;border-radius:6px;border:1px solid rgba(31,28,24,.12);background:#1f1c180f;font-size:.6rem;display:grid;place-items:center;color:var(--ink-soft);position:relative}.skip-node:nth-child(1){grid-column:1}.skip-node:nth-child(2){grid-column:2}.skip-node:nth-child(3){grid-column:4}.skip-node:nth-child(4){grid-column:5}.skip-node:nth-child(5){grid-column:6}.skip-level.level-3 .skip-node{height:10px}.skip-level.level-2 .skip-node{height:12px}.skip-level.level-1 .skip-node{height:14px}.skip-hint{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--ink-soft)}.skip-target{padding:4px 10px;border-radius:999px;border:1px solid rgba(210,100,42,.35);background:#d2642a1f;color:#b0582c;font-weight:600}.skip-node.head{background:#1f1c181f;color:var(--ink);font-weight:600}.skip-node.drop:after{content:"";position:absolute;left:50%;bottom:-14px;width:2px;height:14px;background:#1f1c1838;transform:translate(-50%)}.skip-node.drop:before{content:"";position:absolute;left:50%;bottom:-18px;width:6px;height:6px;border-right:2px solid rgba(31,28,24,.35);border-bottom:2px solid rgba(31,28,24,.35);transform:translate(-50%) rotate(45deg)}.skip-node.path-1,.skip-node.path-2,.skip-node.path-3,.skip-node.path-4{border-color:#d2642a80;background:#d2642a1f;color:#9f4f25;animation:skipPulse 3s ease-in-out infinite}.skip-node.path-2{animation-delay:.4s}.skip-node.path-3{animation-delay:.8s}.skip-node.path-4{animation-delay:1.2s}.skip-node.target{background:#2a6f6b29;border-color:#2a6f6b73;color:#2b5955;font-weight:600}.skip-cursor{position:absolute;left:calc(8.5% - 12px);top:20%;width:24px;height:10px;border-radius:6px;background:linear-gradient(90deg,#d2642ad9,#d2642a73);border:1px solid rgba(210,100,42,.6);animation:skipMove 2.8s ease-in-out infinite}.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-example{font-size:.78rem;color:#6c6c6c}.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}.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}.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}@keyframes implScan{0%{left:0;opacity:0}20%{opacity:1}80%{left:calc(100% - 28px);opacity:1}to{left:calc(100% - 28px);opacity:0}}@keyframes implChip{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes implPulse{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes implPacket{0%{left:0;opacity:0}20%{opacity:1}70%{left:100%;opacity:1}to{left:100%;opacity:0}}@keyframes implUniq{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1);opacity:1}}@keyframes skipMove{0%{left:calc(8.5% - 12px);top:20%;opacity:0}20%{opacity:1}45%{left:calc(58% - 12px);top:20%;opacity:1}60%{left:calc(58% - 12px);top:52%;opacity:1}78%{left:calc(91% - 12px);top:84%;opacity:1}to{left:calc(91% - 12px);top:84%;opacity:0}}@keyframes skipPulse{0%,to{box-shadow:0 0 #d2642a2e}50%{box-shadow:0 0 0 6px #d2642a1f}}@keyframes implFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes opRow{0%{opacity:0;transform:translate(-6px)}18%{opacity:.9;transform:translate(0)}78%{opacity:.9}to{opacity:0;transform:translate(6px)}}@keyframes opGlow{0%,to{box-shadow:0 0 #d2642a29}50%{box-shadow:0 0 0 6px #d2642a1f}}@keyframes typePulse{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.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)}.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)}.redis-persist__stage.mode--rdb .dirty-dot{animation:dirtyPulse 2s ease infinite}.redis-persist__stage.mode--rdb .fork-pulse{opacity:1;animation:forkFlow 2.4s ease infinite}.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}.redis-persist__stage.mode--rdb .cow-pages span.is-copy{animation:dirtyPulse 1.8s ease infinite}.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}.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}.redis-persist__stage.mode--aof .append-line span{opacity:1;animation:appendMove 2.2s linear infinite}.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}.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}.redis-persist__stage.mode--rdb .scan-line{opacity:1;animation:scanSweep 3.6s ease infinite}.persist-binary{display:grid;gap:6px}.redis-persist__stage.mode--aof .type-row span,.redis-persist__stage.mode--aof .binary-row span{animation-play-state:paused}.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}}.rdb-stream .stream-line span{background:#2a6f6b99}@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 renameMove{0%{left:-20%;opacity:0}20%{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}}.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}.fork-split{position:relative;height:12px}.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}.cow-legend{display:flex;gap:10px;font-size:.62rem;color:var(--ink-soft)}.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}.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}.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}.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)}.repl-incr-middle{display:grid;gap:12px}.backlog-range{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--ink-soft)}.repl-live-stream{display:grid;gap:6px}.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}.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}.repl-full-middle{display:grid;gap:12px;align-items:center}.repl-stream,.repl-backlog{display:grid;gap:6px}.repl-backlog .buffer-bar span{animation:backlogPulse 1.8s ease infinite;animation-delay:var(--delay)}.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}.repl-pipe{display:flex;gap:6px;justify-self:center}.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}.snapshot-title{font-size:.8rem;color:var(--ink-soft)}.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}.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)}.repl-sentinel{justify-self:start}.repl-failover{justify-self:center}.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}.mq-replicas .replica{flex:1;height:8px;border-radius:999px;background:#d2642a4d;animation:httpPulse 1.8s ease infinite}.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}@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 backlogPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes loadSweep{0%{transform:translate(-80%)}50%{transform:translate(0)}to{transform:translate(80%)}}@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 lineFlow{0%{stroke-dashoffset:24;opacity:.5}50%{opacity:1}to{stroke-dashoffset:0;opacity:.5}}@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-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}.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}.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}.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}.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}.sentinel-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:grid;gap:6px;min-width:160px}.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}@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 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)}}.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}.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}.failover-nodes{position:absolute;right:6%;top:12%;bottom:12%;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.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}.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)}.failover-track{display:flex;align-items:center;gap:10px;position:relative}.failover-reconfig{display:flex;align-items:center;gap:8px;position:relative}.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}.legend-swatch{width:10px;height:10px;border-radius:3px;background:#2a6f6b2e}.legend-swatch.swatch--copy{background:#d2642a59}.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}.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}.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}.ai-a2a__grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);align-items:start}.ai-a2a .mcp-lifeline--user{background:#ffffffe0;color:var(--ink-soft)}.ai-a2a .mcp-lifeline--coord{background:#d2642a1f}.ai-a2a .mcp-lifeline--directory{background:#2a6f6b1f}.ai-a2a .mcp-lifeline--flight,.ai-a2a .mcp-lifeline--hotel{background:#fffffff2}.ai-a2a .mcp-lifeline__title{font-size:.88rem}.a2a-status{justify-self:center;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffffe0;font-size:.7rem;color:var(--ink-soft)}.a2a-status--muted{border-color:#1f1c181f;color:var(--ink-soft)}.a2a-status--info{border-color:#2a6f6b66;background:#2a6f6b1a;color:var(--accent-2)}.a2a-status--warn{border-color:#d2642a66;background:#d2642a1f;color:var(--ink)}.a2a-status--danger{border-color:#d24c3c66;background:#d24c3c1f;color:#b84632}.a2a-status--success{border-color:#38a07066;background:#38a0701f;color:#2b7a53}.a2a-status--accent{border-color:#2a6f6b66;background:#2a6f6b14;color:var(--accent-2)}.ai-a2a .a2a-row--stream .mcp-line{background:repeating-linear-gradient(90deg,rgba(42,111,107,.5),rgba(42,111,107,.5) 10px,transparent 10px,transparent 18px)}.ai-a2a .a2a-row--stream.is-active .mcp-line{background:repeating-linear-gradient(90deg,rgba(210,100,42,.7),rgba(210,100,42,.7) 10px,transparent 10px,transparent 18px)}.ai-a2a .a2a-row--input .mcp-line{background:#d24c3c8c}.ai-a2a .a2a-row--artifact .mcp-line{background:#2a6f6b73}.ai-a2a .a2a-row--input.is-active .mcp-line,.ai-a2a .a2a-row--artifact.is-active .mcp-line{background:#d2642a99}.ai-a2a .mcp-label{font-size:.72rem}.a2a-seq__aside .mcp-note{min-height:90px}@media (max-width: 980px){.ai-a2a__grid{grid-template-columns:minmax(0,1fr)}}.ai-agent__arch{position:relative;min-height:280px;overflow:hidden}.agent-arch__grid{position:relative;display:grid;grid-template-areas:". planner ." "user core tools" "memory observe .";grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:minmax(70px,1fr) minmax(110px,1.2fr) minmax(70px,1fr);gap:14px;align-items:center;justify-items:center;height:100%;z-index:2}.agent-module{width:100%;max-width:180px;padding:10px 12px;border-radius:14px;border:1px solid rgba(31,28,24,.12);background:#ffffffeb;box-shadow:0 10px 22px #1f1c1814;display:grid;gap:4px;text-align:center}.agent-module .module-title{font-weight:600}.agent-module .module-meta{font-size:.7rem;color:var(--ink-soft)}.agent-module.core{max-width:220px;border-color:#d2642a80;background:#fffcf6fa;box-shadow:0 18px 36px #d2642a33}.agent-module.planner{grid-area:planner}.agent-module.user{grid-area:user}.agent-module.tools{grid-area:tools}.agent-module.memory{grid-area:memory}.agent-module.observe{grid-area:observe}.agent-module.core{grid-area:core}.agent-arch__lines,.agent-arch__signals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.agent-example{position:absolute;left:22%;top:50%;max-width:220px;padding:10px 12px;border-radius:14px;border:1px dashed rgba(31,28,24,.16);background:#ffffffe0;box-shadow:0 10px 20px #1f1c1814;z-index:2;transform:translate(-50%,-50%);opacity:0}.agent-example__title{font-size:.75rem;font-weight:600;color:var(--ink)}.agent-example__lines{display:grid;gap:4px;margin-top:6px;color:var(--ink-soft);font-size:.7rem}.ai-agent__arch.mode--entry .agent-example{animation:agentExampleEntry 2.6s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--plan .agent-example{animation:agentExamplePlan 2.6s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--act .agent-example{animation:agentExampleAct 2.6s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--memory .agent-example{animation:agentExampleMemory 2.8s ease-in-out infinite;opacity:1}.agent-line{fill:none;stroke:#2a6f6b38;stroke-width:1.2;stroke-linecap:round}.agent-signal{position:absolute;width:22px;height:12px;border-radius:6px;background:linear-gradient(90deg,#d2642ae6,#d2642a8c);border:1px solid rgba(210,100,42,.65);box-shadow:0 0 0 6px #d2642a14;opacity:0;transform:translate(-50%,-50%) scale(.6)}.agent-signal:before,.agent-signal:after{content:"";position:absolute;top:2px;bottom:2px;width:2px;background:#ffffffbf;border-radius:999px}.agent-signal:after{right:4px}.agent-signal:before{left:4px}.ai-agent__arch.mode--entry .agent-module.user,.ai-agent__arch.mode--entry .agent-module.core,.ai-agent__arch.mode--plan .agent-module.planner,.ai-agent__arch.mode--plan .agent-module.core,.ai-agent__arch.mode--act .agent-module.tools,.ai-agent__arch.mode--act .agent-module.core,.ai-agent__arch.mode--memory .agent-module.memory,.ai-agent__arch.mode--memory .agent-module.observe,.ai-agent__arch.mode--memory .agent-module.core{border-color:#d2642a99;box-shadow:0 16px 32px #d2642a29}.ai-agent__arch.mode--entry .line-entry,.ai-agent__arch.mode--plan .line-plan,.ai-agent__arch.mode--act .line-core-tool,.ai-agent__arch.mode--memory .line-core-memory,.ai-agent__arch.mode--memory .line-tool-observe,.ai-agent__arch.mode--memory .line-observe-memory{stroke:#d2642ab3;stroke-dasharray:5 7;animation:agentDash 1.6s linear infinite}.ai-agent__arch.mode--entry .signal-entry{animation:agentSignalEntry 1.6s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--plan .signal-plan{animation:agentSignalPlan 1.6s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--act .signal-tool{animation:agentSignalTool 1.6s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--memory .signal-feedback{animation:agentSignalFeedback 1.8s ease-in-out infinite;opacity:1}.ai-agent__arch.mode--memory .signal-memory{animation:agentSignalMemory 1.8s ease-in-out infinite;opacity:1;animation-delay:.3s}@media (max-width: 900px){.ai-agent__arch{min-height:320px}.agent-arch__grid{grid-template-areas:"user" "planner" "core" "tools" "observe" "memory";grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,minmax(60px,auto))}.agent-module{max-width:240px}.agent-arch__lines,.agent-arch__signals{opacity:.4;display:none}.agent-example{position:static;margin-top:12px;max-width:100%;opacity:1;transform:none}.ai-skill__grid{grid-template-columns:1fr;row-gap:16px}}@keyframes agentExampleEntry{0%{left:26%;top:50%;opacity:0}18%{opacity:1}78%{left:44%;top:50%;opacity:1}to{left:44%;top:50%;opacity:0}}@keyframes agentExamplePlan{0%{left:50%;top:28%;opacity:0}18%{opacity:1}78%{left:50%;top:46%;opacity:1}to{left:50%;top:46%;opacity:0}}@keyframes agentExampleAct{0%{left:56%;top:50%;opacity:0}18%{opacity:1}78%{left:74%;top:50%;opacity:1}to{left:74%;top:50%;opacity:0}}@keyframes agentExampleMemory{0%{left:74%;top:50%;opacity:0}18%{opacity:1}78%{left:28%;top:78%;opacity:1}to{left:28%;top:78%;opacity:0}}@keyframes agentDash{to{stroke-dashoffset:-28}}@keyframes agentSignalEntry{0%{left:26%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:44%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes agentSignalPlan{0%{left:50%;top:28%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:50%;top:46%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes agentSignalTool{0%{left:56%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:74%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes agentSignalFeedback{0%{left:74%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:54%;top:76%;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes agentSignalMemory{0%{left:28%;top:78%;opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1}to{left:44%;top:60%;opacity:0;transform:translate(-50%,-50%) scale(1)}}.react-diagram{width:min(100%,780px);margin:0 auto}.react-scene{display:flex;flex-direction:column;gap:10px}.react-svg{width:100%;height:auto;display:block}.react-progress{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.react-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#4c78a8cc,#d2642acc,#388e3ccc);transition:width .5s ease}.react-heading{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft, #555);font-family:system-ui,sans-serif}.react-hint{text-anchor:middle;font-size:10px;fill:#00000040}.react-llm-box{fill:#d2642a0a;stroke:#d2642a4d;stroke-width:1.5;animation:reactLlmPulse 3s ease-in-out infinite}.react-llm-label{text-anchor:middle;font-size:14px;font-weight:700;fill:#d2642ab3}.react-llm-sub{text-anchor:middle;font-size:9px;fill:#00000040}.react-node{fill:#ffffffe6;stroke-width:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.react-node--thought{stroke:#4c78a84d}.react-node--action{stroke:#d2642a4d}.react-node--obs{stroke:#388e3c4d}.react-node--answer{stroke:#8c50b44d;fill:#8c50b40a}.react-node-label{text-anchor:middle;font-size:12px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.react-arrow{stroke:#4c78a84d;stroke-width:1.5}.react-arrow--return{stroke:#388e3c4d}.react-arrow--answer{stroke:#8c50b44d}.react-loop-arrow{stroke:#00000014;stroke-width:1.5;transition:stroke .4s}.react-loop-arrow--active{stroke:#d2642a66;stroke-dasharray:6 4;animation:reactDash 1.2s linear infinite}.react-loop-box{fill:#ffffffe6;stroke:var(--loop-c);stroke-width:1;stroke-opacity:.3;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04));transition:stroke-opacity .4s,filter .4s}.react-loop-node--active .react-loop-box{stroke-opacity:.7;filter:drop-shadow(0 2px 8px rgba(0,0,0,.08));animation:reactNodePulse 2.5s ease-in-out infinite}.react-loop-node--past .react-loop-box{opacity:.5}.react-loop-label{text-anchor:middle;font-size:12px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.react-loop-sub{text-anchor:middle;font-size:9px;fill:#00000040}.react-center-label{text-anchor:middle;font-size:11px;font-weight:500;fill:#0000001f;font-family:SF Mono,Fira Code,monospace}.react-context-box{fill:#4c78a808;stroke:#4c78a826;stroke-width:1}.react-context-title{text-anchor:middle;font-size:11px;font-weight:600;fill:#4c78a899}.react-context-item{font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.react-context-item--finish{fill:#8c50b499;font-weight:600}.react-answer-box{fill:#8c50b40a;stroke:#8c50b44d;stroke-width:1.5;animation:reactAnswerGlow 2.5s ease-in-out infinite}.react-answer-label{text-anchor:middle;font-size:13px;font-weight:700;fill:#8c50b4b3}.react-answer-sub{text-anchor:middle;font-size:9px;fill:#00000040}.react-col-header{text-anchor:middle;font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.react-round-num{font-size:9px;font-weight:600;fill:#0003}.react-example-row{animation:reactFadeIn .5s ease-out both;animation-delay:var(--ex-delay, 0s)}.react-ex-box{fill:#ffffffe6;stroke-width:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.03))}.react-ex-box--thought{stroke:#4c78a840}.react-ex-box--action{stroke:#d2642a40}.react-ex-box--obs{stroke:#388e3c40}.react-ex-text{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000073}.react-ex-arrow{stroke:#0000001f;stroke-width:1}.react-phase-bar{padding:10px 14px;border-radius:12px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fffc;display:flex;align-items:center;gap:10px}.react-phase-bar__tag{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0;background:color-mix(in srgb,var(--phase-c) 8%,transparent);color:var(--phase-c)}.react-phase-bar__steps{display:flex;flex-wrap:wrap;gap:6px}.react-phase-bar__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.react-phase-bar__step.is-past{opacity:.55}.react-phase-bar__step.is-active{opacity:1;background:color-mix(in srgb,var(--phase-c) 6%,transparent);border-color:color-mix(in srgb,var(--phase-c) 25%,transparent);color:var(--phase-c)}@keyframes reactLlmPulse{0%,to{stroke-opacity:.3}50%{stroke-opacity:.6;filter:drop-shadow(0 0 8px rgba(210,100,42,.1))}}@keyframes reactNodePulse{0%,to{stroke-opacity:.5}50%{stroke-opacity:.9;filter:drop-shadow(0 0 6px rgba(0,0,0,.06))}}@keyframes reactDash{to{stroke-dashoffset:-20}}@keyframes reactFadeIn{0%{opacity:0}to{opacity:1}}@keyframes reactAnswerGlow{0%,to{stroke-opacity:.3}50%{stroke-opacity:.6;filter:drop-shadow(0 0 8px rgba(140,80,180,.12))}}@media (max-width: 640px){.react-heading{font-size:11px}.react-llm-sub,.react-loop-sub{display:none}.react-context-item,.react-ex-text{font-size:8px}.react-round-num,.react-answer-sub{display:none}.react-phase-bar__step{font-size:9px;padding:2px 7px}}.askill-scene{width:min(100%,780px);margin:0 auto}.askill-progress{height:3px;background:var(--line);border-radius:2px;margin-bottom:12px;overflow:hidden}.askill-progress__fill{height:100%;background:var(--accent-2);border-radius:2px;transition:width .4s ease}.askill-svg{width:100%;display:block}.askill-heading{font-size:13px;font-weight:700;fill:var(--ink);text-anchor:middle}.askill-hint{font-size:9px;fill:var(--ink-soft);text-anchor:middle}.askill-center-label{font-size:11px;font-weight:600;fill:var(--ink-soft);text-anchor:middle;opacity:.5}.askill-skill-box{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1.5;opacity:0;animation:askillFadeIn .5s ease forwards;animation-delay:var(--sk-delay, 0s)}.askill-skill-name{font-size:10px;font-weight:600;text-anchor:middle}.askill-skill-sub{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.askill-skill-g{opacity:0;animation:askillFadeIn .5s ease forwards;animation-delay:var(--sk-delay, 0s)}.askill-registry-box{fill:var(--card);stroke:var(--accent-2);stroke-width:1.5;animation:askillPulse 2.5s ease-in-out infinite}.askill-registry-label{font-size:11px;font-weight:600;fill:var(--accent-2);text-anchor:middle}.askill-agent-box{fill:var(--card);stroke:#4c78a8;stroke-width:1.5}.askill-agent-label{font-size:11px;font-weight:600;fill:#4c78a8;text-anchor:middle}.askill-llm-box{fill:var(--card);stroke:#d2642a;stroke-width:1.5}.askill-llm-label{font-size:11px;font-weight:600;fill:#d2642a;text-anchor:middle}.askill-arrow{stroke:var(--ink-soft);stroke-width:1.2;opacity:.5}.askill-arrow--discover{stroke-dasharray:4 3;animation:askillDash 1.5s linear infinite}.askill-manifest-box{fill:var(--bg-deep);stroke:var(--line);stroke-width:1.5}.askill-manifest-title{font-size:12px;font-weight:700;fill:var(--ink);text-anchor:middle}.askill-field-g{opacity:0;animation:askillFadeIn .4s ease forwards;animation-delay:var(--sk-delay, 0s)}.askill-field-row{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1;opacity:.8}.askill-field-key{font-size:10px;font-weight:600;font-family:monospace}.askill-field-val{font-size:9px;fill:var(--ink-soft);font-family:monospace}.askill-feat-g{opacity:0;animation:askillFadeIn .5s ease forwards;animation-delay:var(--sk-delay, 0s)}.askill-feat-box{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1.5}.askill-feat-icon{font-size:12px;font-weight:700;fill:var(--ink);text-anchor:middle}.askill-feat-label{font-size:10px;font-weight:600;text-anchor:middle}.askill-feat-sub{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.askill-invoke-node{opacity:.35;transition:opacity .4s ease}.askill-invoke-node.is-active{opacity:1}.askill-invoke-box{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1.5;transition:stroke-width .3s ease}.askill-invoke-node.is-active .askill-invoke-box{stroke-width:2.5;animation:askillPulse 2s ease-in-out infinite}.askill-invoke-name{font-size:11px;font-weight:600;text-anchor:middle}.askill-invoke-sub{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.askill-invoke-arrow{stroke:var(--accent-2);stroke-width:1.8;stroke-dasharray:6 4;animation:askillDash 1.2s linear infinite}.askill-invoke-arrow--return{stroke:#388e3c}.askill-invoke-label{font-size:9px;fill:var(--ink);text-anchor:middle;font-weight:500}.askill-detail-box{fill:var(--bg-deep);stroke:var(--line);stroke-width:1}.askill-detail-text{font-size:9px;fill:var(--ink-soft);text-anchor:middle}.askill-loop-arrow{stroke:var(--ink-soft);stroke-width:1.5;opacity:.4;stroke-dasharray:6 4;animation:askillDash 1.5s linear infinite}.askill-loop-node{opacity:0;animation:askillFadeIn .5s ease forwards;animation-delay:var(--sk-delay, 0s)}.askill-loop-box{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1.5;animation:askillPulse 2.5s ease-in-out infinite}.askill-loop-label{font-size:10px;font-weight:600;text-anchor:middle}.askill-loop-sub{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.askill-answer-box{fill:var(--card);stroke:#2a6f6b;stroke-width:1.5;animation:askillAnswerGlow 2s ease-in-out infinite}.askill-answer-label{font-size:10px;font-weight:600;fill:#2a6f6b;text-anchor:middle}.askill-arrow--answer{stroke:#2a6f6b;opacity:.5}.askill-ex-task{fill:var(--bg-deep);stroke:var(--accent);stroke-width:1.5}.askill-ex-task-label{font-size:11px;font-weight:600;fill:var(--accent);text-anchor:middle}.askill-ex-row{opacity:0;animation:askillFadeIn .5s ease forwards;animation-delay:var(--sk-delay, 0s)}.askill-ex-step{font-size:9px;font-weight:600;fill:var(--ink-soft)}.askill-ex-box{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1.5}.askill-ex-name{font-size:9px;font-weight:600;text-anchor:middle;font-family:monospace}.askill-ex-desc-box{fill:var(--bg-deep);stroke:var(--line);stroke-width:1}.askill-ex-desc{font-size:9px;fill:var(--ink-soft);text-anchor:middle}.askill-ex-result-box{fill:var(--card);stroke:var(--sk-c, var(--line));stroke-width:1;stroke-dasharray:3 2}.askill-ex-result{font-size:9px;fill:var(--ink);text-anchor:middle;font-weight:500}.askill-phase-bar{display:flex;align-items:center;gap:10px;margin-top:10px;padding:6px 12px;background:var(--bg-deep);border-radius:8px;border:1px solid var(--line)}.askill-phase-bar__tag{font-size:.7rem;font-weight:700;color:var(--phase-c, var(--accent-2));white-space:nowrap}.askill-phase-bar__steps{display:flex;gap:6px;flex-wrap:wrap}.askill-phase-bar__step{font-size:.65rem;padding:2px 8px;border-radius:4px;background:var(--card);color:var(--ink-soft);border:1px solid var(--line);transition:all .3s ease}.askill-phase-bar__step.is-active{background:var(--phase-c, var(--accent-2));color:#fff;border-color:var(--phase-c, var(--accent-2))}.askill-phase-bar__step.is-past{opacity:.5}@keyframes askillFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes askillPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes askillDash{to{stroke-dashoffset:-20}}@keyframes askillAnswerGlow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 4px rgba(42,111,107,.3))}}@media (max-width: 640px){.askill-heading{font-size:11px}.askill-hint{display:none}.askill-field-val{font-size:8px}.askill-invoke-sub,.askill-feat-sub{display:none}.askill-ex-desc,.askill-ex-result{font-size:8px}.askill-phase-bar{padding:4px 8px}.askill-phase-bar__step{font-size:.6rem;padding:1px 6px}}.ai-fncall{width:min(100%,780px);margin:0 auto}.fc-svg-wrap{display:flex;flex-direction:column;gap:8px}.fc-progress-bar{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.fc-progress-bar__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#2a6f6bcc,#d2642acc);transition:width .5s ease}.fc-svg{width:100%;height:auto;display:block}.fc-svg__machine{fill:#ffffffd9;stroke:var(--line, rgba(0, 0, 0, .1));stroke-width:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.06))}.fc-svg__machine-name{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft, #555)}.fc-svg__machine-sub{text-anchor:middle;font-size:9px;fill:#0000004d}.fc-svg__lifeline{stroke:var(--line, rgba(0, 0, 0, .12));stroke-width:1.5;stroke-dasharray:6 4;opacity:.6}.fc-svg__status{transition:fill .4s ease}.fc-svg__status--thinking{fill:#b8960a;animation:fcStatusPulse 1.4s ease-in-out infinite}.fc-svg__status--calling{fill:#2a6f6b;animation:fcStatusPulse 1.4s ease-in-out infinite}.fc-svg__status--generating{fill:#d2642a;animation:fcStatusPulse 1.4s ease-in-out infinite}.fc-svg__status--idle{fill:#8c8c8c80}.fc-svg__phase-text{text-anchor:middle;font-size:9px;font-weight:600;letter-spacing:.1em}.fc-svg__msg{transition:opacity .4s ease}.fc-svg__msg.is-future{opacity:.35}.fc-svg__msg.is-past{opacity:.7}.fc-svg__msg.is-active{opacity:1}.fc-svg__line{transition:stroke .3s ease,stroke-width .3s ease}.fc-svg__msg.is-active .fc-svg__line{filter:drop-shadow(0 0 4px currentColor)}.fc-svg__packet{filter:drop-shadow(0 0 6px currentColor)}.fc-svg__label-bg{transition:fill .3s ease,stroke .3s ease}.fc-svg__msg.is-active .fc-svg__label-bg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.08))}.fc-svg__label{text-anchor:middle;font-size:11px;font-weight:600;transition:fill .3s ease}.fc-svg__sub{text-anchor:middle;font-size:8.5px;font-family:SF Mono,Fira Code,monospace;transition:fill .3s ease}.fc-svg__json-bg{transition:fill .3s ease,stroke .3s ease}.fc-svg__json-text{font-size:8px;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;transition:fill .3s ease}@keyframes fcStatusPulse{0%,to{opacity:.6;r:5}50%{opacity:1;r:6}}@media (max-width: 640px){.fc-svg__machine-sub{display:none}.fc-svg__sub{font-size:7px}.fc-svg__json{display:none}}.ai-mcp__grid{display:grid;gap:14px;position:relative;grid-template-columns:minmax(0,1fr) minmax(0,.5fr)}.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}.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)}}.ai-openclaw__grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,.58fr);align-items:start}.oc-seq-wrap{overflow-x:auto;padding-bottom:6px}.oc-seq-wrap::-webkit-scrollbar{height:10px}.oc-seq-wrap::-webkit-scrollbar-thumb{background:#1f1c181f;border-radius:999px}.ai-openclaw__grid .mcp-seq{min-width:980px}.ai-openclaw__grid .mcp-lifeline--channel{background:#ffffffd1;color:var(--ink-soft)}.ai-openclaw__grid .mcp-lifeline--gateway{background:#2a6f6b1a}.ai-openclaw__grid .mcp-lifeline--context{background:#4c78a81a}.ai-openclaw__grid .mcp-lifeline--loop{background:#d2642a1f;color:var(--ink)}.ai-openclaw__grid .mcp-lifeline--model{background:#d2642a14;color:var(--ink)}.ai-openclaw__grid .mcp-lifeline--exec{background:#388e3c1a}.ai-openclaw__grid .mcp-lifeline--store{background:#4c78a814}.ai-openclaw__grid .mcp-row.is-active .mcp-line{background:#d2642a8c}.ai-openclaw__grid .mcp-row.is-active .mcp-line:after{border-left-color:#d2642aa6}.ai-openclaw__grid .mcp-row.is-active .mcp-line.is-reverse:after{border-right-color:#d2642aa6}.ai-openclaw__grid .mcp-note pre{background:#efe5d78c}.ai-openclaw__grid .mcp-seq__body{padding-top:18px;gap:14px}.ai-openclaw__grid .mcp-row{min-height:76px}.ai-openclaw__grid .mcp-line{top:58px}.ai-openclaw__grid .mcp-label{top:8px;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:calc((var(--end) - var(--start)) - 24px)}@media (max-width: 960px){.ai-openclaw__grid{grid-template-columns:1fr}.ai-openclaw__grid .mcp-seq{min-width:860px}}.rag-diagram{width:min(100%,780px);margin:0 auto}.rag-scene{display:grid;gap:14px}.rag-svg{width:100%;height:auto;display:block}.rag-phase-label{font-size:8px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.rag-node{transition:opacity .4s}.rag-node__box{stroke-width:1;transition:fill .4s,stroke .4s}.rag-node--active .rag-node__box{animation:ragNodePulse 2.4s ease-in-out infinite}.rag-node__label{text-anchor:middle;font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace;transition:fill .4s}.rag-node__sub{text-anchor:middle;font-size:7px;fill:#00000040;font-family:SF Mono,Fira Code,monospace}.rag-shared-label{font-size:7px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#8c50b473}.rag-arrow{stroke-width:1;stroke-linecap:round;fill:none}.rag-arrow--active{stroke-dasharray:5 3;animation:ragDash 1.4s linear infinite}.rag-packet{filter:drop-shadow(0 0 3px currentColor)}.rag-context__box{padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:#ffffffd9;display:grid;gap:8px}.rag-context__tag{font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace}.rag-context__chunks{display:grid;gap:4px}.rag-chunk{font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#00000073;padding:4px 8px;border-radius:6px;border:1px solid rgba(76,120,168,.15);background:#4c78a808;animation:ragChunkFade 2.4s ease-in-out infinite}.rag-chunk:nth-child(2){animation-delay:.3s}.rag-chunk:nth-child(3){animation-delay:.6s}.rag-context__vectors{display:grid;gap:4px}.rag-vec{display:flex;align-items:center;gap:6px;font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#0006}.rag-vec__text{padding:2px 6px;border-radius:4px;background:#8c50b40f;color:#8c50b4b3;font-weight:500}.rag-vec__arrow{color:#0003}.rag-vec__val{color:#00000059}.rag-context__query{display:grid;gap:4px}.rag-query-text{font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#d2642ab3;font-weight:500}.rag-query-vec{font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#00000059}.rag-context__results{display:grid;gap:4px}.rag-result{display:flex;align-items:flex-start;gap:6px;font-size:10px;font-family:SF Mono,Fira Code,monospace;color:#0006;padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;transition:opacity .3s,border-color .3s}.rag-result--top{border-color:#2a6f6b40;background:#2a6f6b08}.rag-result--dim{opacity:.4}.rag-result__score{font-weight:500;color:#2a6f6bb3;flex-shrink:0}.rag-context__prompt{display:grid;gap:3px}.rag-prompt-line{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:4px}.rag-prompt-line--sys{color:#00000059;background:#00000005}.rag-prompt-line--ctx{color:#2a6f6ba6;background:#2a6f6b0a}.rag-prompt-line--q{color:#d2642ab3;background:#d2642a0a}.rag-prompt-line--a{color:#388e3cb3;background:#388e3c0a;animation:ragAnswerPulse 2s ease-in-out infinite}.rag-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.rag-ds__label{font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.rag-ds--chunk .rag-ds__label,.rag-ds--embed .rag-ds__label{background:#4c78a814;color:#4c78a8bf}.rag-ds--query .rag-ds__label{background:#d2642a14;color:#d2642abf}.rag-ds--retrieve .rag-ds__label{background:#2a6f6b14;color:#2a6f6bbf}.rag-ds--rerank .rag-ds__label{background:#d2642a14;color:#d2642abf}.rag-ds--generate .rag-ds__label{background:#b43c3c14;color:#b43c3cbf}.rag-ds__items{display:flex;flex-wrap:wrap;gap:6px}.rag-ds__step{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.rag-ds__step--past{opacity:.5}.rag-ds__step--active{opacity:1;background:#2a6f6b0f;border-color:#2a6f6b38;color:#2a6f6bcc}@keyframes ragNodePulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 4px rgba(0,0,0,.08))}}@keyframes ragDash{to{stroke-dashoffset:-16}}@keyframes ragChunkFade{0%,to{opacity:.6}50%{opacity:1;border-color:#4c78a859}}@keyframes ragAnswerPulse{0%,to{background:#388e3c0a}50%{background:#388e3c1a}}@media (max-width: 640px){.rag-phase-label{font-size:7px}.rag-node__label{font-size:8px}.rag-node__sub{display:none}.rag-chunk,.rag-vec,.rag-result,.rag-prompt-line{font-size:8.5px}.rag-ds__step{font-size:8.5px;padding:2px 6px}.rag-shared-label{display:none}}.magent-diagram{width:min(100%,780px);margin:0 auto}.magent-scene{display:flex;flex-direction:column;gap:10px}.magent-svg{width:100%;height:auto;display:block}.magent-progress{height:3px;border-radius:3px;background:#0000000f;overflow:hidden}.magent-progress__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#4c78a8cc,#d2642acc,#388e3ccc);transition:width .5s ease}.magent-heading{text-anchor:middle;font-size:13px;font-weight:600;fill:var(--ink-soft, #555);font-family:system-ui,sans-serif}.magent-hint{text-anchor:middle;font-size:10px;fill:#00000040}.magent-link{stroke:#4c78a826;stroke-width:1;stroke-dasharray:4 3}.magent-agent-g{animation:magentFadeIn .5s ease-out both;animation-delay:var(--ag-delay, 0s)}.magent-agent-circle{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1.5;stroke-opacity:.4;filter:drop-shadow(0 1px 3px rgba(0,0,0,.05));animation:magentNodePulse 3s ease-in-out infinite;animation-delay:var(--ag-delay, 0s)}.magent-agent-name{text-anchor:middle;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.magent-agent-sub{text-anchor:middle;font-size:9px;fill:#00000040}.magent-orch-box{fill:#d2642a0a;stroke:#d2642a4d;stroke-width:1.5;animation:magentOrchPulse 3s ease-in-out infinite}.magent-orch-label{text-anchor:middle;font-size:13px;font-weight:700;fill:#d2642ab3}.magent-orch-sub{text-anchor:middle;font-size:9px;fill:#00000040}.magent-dispatch-arrow{stroke:#4c78a840;stroke-width:1.5;stroke-dasharray:5 3;animation:magentDash 1.5s linear infinite}.magent-worker-g{animation:magentFadeIn .5s ease-out both;animation-delay:var(--ag-delay, 0s)}.magent-worker-circle{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1.5;stroke-opacity:.4;filter:drop-shadow(0 1px 3px rgba(0,0,0,.05))}.magent-worker-name{text-anchor:middle;font-size:10px;font-weight:600;fill:var(--ink-soft, #555)}.magent-hier-box{fill:#ffffffe6;stroke-width:1.5;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.magent-hier-box--mgr{stroke:#d2642a4d;fill:#d2642a0a}.magent-hier-box--sub{stroke:#4c78a84d;fill:#4c78a80a}.magent-hier-label{text-anchor:middle;font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.magent-hier-line{stroke:#0000001a;stroke-width:1;stroke-dasharray:4 3}.magent-hier-worker{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1;stroke-opacity:.4}.magent-hier-wname{text-anchor:middle;font-size:10px;font-weight:600;fill:var(--ink-soft, #555)}.magent-peer-link{stroke:#00000014;stroke-width:1;stroke-dasharray:4 3}.magent-peer-g{animation:magentFadeIn .5s ease-out both;animation-delay:var(--ag-delay, 0s)}.magent-peer-circle{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1.5;stroke-opacity:.4;filter:drop-shadow(0 1px 3px rgba(0,0,0,.05));animation:magentNodePulse 3s ease-in-out infinite;animation-delay:var(--ag-delay, 0s)}.magent-peer-name{text-anchor:middle;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.magent-center-label{text-anchor:middle;font-size:12px;font-weight:500;fill:#0000001a;font-family:SF Mono,Fira Code,monospace}.magent-bb-box{fill:#4c78a808;stroke:#4c78a833;stroke-width:1.5}.magent-bb-label{text-anchor:middle;font-size:13px;font-weight:700;fill:#4c78a899}.magent-bb-sub{text-anchor:middle;font-size:10px;fill:#4c78a866}.magent-bb-item{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.magent-bb-agent{animation:magentFadeIn .5s ease-out both;animation-delay:var(--ag-delay, 0s)}.magent-bb-circle{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1.5;stroke-opacity:.4;filter:drop-shadow(0 1px 3px rgba(0,0,0,.05))}.magent-bb-name{text-anchor:middle;font-size:10px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.magent-bb-arrow{stroke:#0000001a;stroke-width:1;stroke-dasharray:4 3;animation:magentDash 1.5s linear infinite}.magent-proto-g{animation:magentFadeIn .5s ease-out both;animation-delay:var(--ag-delay, 0s)}.magent-proto-box{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1;stroke-opacity:.3;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.magent-proto-name{text-anchor:middle;font-size:12px;font-weight:700;font-family:SF Mono,Fira Code,monospace}.magent-proto-desc{text-anchor:middle;font-size:9px;fill:#0000004d}.magent-ex-box{fill:#ffffffe6;stroke:var(--ag-c);stroke-width:1;stroke-opacity:.3;filter:drop-shadow(0 1px 3px rgba(0,0,0,.04))}.magent-ex-label{text-anchor:middle;font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.magent-ex-router{fill:#d2642a0a;stroke:#d2642a4d;stroke-width:1.5}.magent-ex-router-label{text-anchor:middle;font-size:12px;font-weight:700;fill:#d2642ab3}.magent-ex-router-sub{text-anchor:middle;font-size:9px;fill:#00000040}.magent-ex-arrow{stroke:#4c78a840;stroke-width:1.5;stroke-dasharray:5 3;animation:magentDash 1.5s linear infinite}.magent-ex-worker{animation:magentFadeIn .5s ease-out both;animation-delay:var(--ag-delay, 0s)}.magent-phase-bar{padding:10px 14px;border-radius:12px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fffc;display:flex;align-items:center;gap:10px}.magent-phase-bar__tag{font-size:11px;font-weight:600;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0;background:color-mix(in srgb,var(--phase-c) 8%,transparent);color:var(--phase-c)}.magent-phase-bar__steps{display:flex;flex-wrap:wrap;gap:6px}.magent-phase-bar__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 10px;border-radius:6px;border:1px solid var(--line, rgba(0,0,0,.08));background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.magent-phase-bar__step.is-past{opacity:.55}.magent-phase-bar__step.is-active{opacity:1;background:color-mix(in srgb,var(--phase-c) 6%,transparent);border-color:color-mix(in srgb,var(--phase-c) 25%,transparent);color:var(--phase-c)}@keyframes magentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes magentNodePulse{0%,to{stroke-opacity:.4}50%{stroke-opacity:.7;filter:drop-shadow(0 0 6px rgba(0,0,0,.06))}}@keyframes magentOrchPulse{0%,to{stroke-opacity:.3}50%{stroke-opacity:.6;filter:drop-shadow(0 0 8px rgba(210,100,42,.1))}}@keyframes magentDash{to{stroke-dashoffset:-20}}@media (max-width: 640px){.magent-heading{font-size:11px}.magent-agent-sub,.magent-orch-sub{display:none}.magent-bb-item{font-size:8px}.magent-proto-desc,.magent-ex-router-sub{display:none}.magent-phase-bar__step{font-size:9px;padding:2px 7px}}.tfm-scene{width:min(100%,780px);margin:0 auto}.tfm-progress{height:3px;background:var(--line);border-radius:2px;margin-bottom:12px;overflow:hidden}.tfm-progress__fill{height:100%;background:var(--accent-2);border-radius:2px;transition:width .4s ease}.tfm-svg{width:100%;display:block}.tfm-heading{font-size:13px;font-weight:700;fill:var(--ink);text-anchor:middle}.tfm-sub-heading{font-size:10px;font-weight:600;fill:var(--ink-soft);text-anchor:middle}.tfm-hint{font-size:9px;fill:var(--ink-soft);text-anchor:middle}.tfm-side-note{font-size:9px;fill:var(--ink-soft);text-anchor:middle;font-weight:500}.tfm-arrow{stroke:var(--ink-soft);stroke-width:1.2;opacity:.5}.tfm-arrow-sm{stroke:var(--ink-soft);stroke-width:1;opacity:.4}.tfm-arrow-label{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.tfm-arrow--cross{stroke:#4c78a8;stroke-dasharray:5 3;animation:tfmDash 1.5s linear infinite}.tfm-stack-box{fill:var(--bg-deep);stroke:var(--line);stroke-width:1.5}.tfm-stack-box--enc{stroke:#4c78a866}.tfm-stack-box--dec{stroke:#d2642a66}.tfm-stack-title{font-size:11px;font-weight:700;text-anchor:middle}.tfm-layer-box{fill:var(--card);stroke:var(--line);stroke-width:1;opacity:0;animation:tfmFadeIn .4s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-layer-box--dec{stroke:#d2642a4d}.tfm-layer-label{font-size:9px;fill:var(--ink);text-anchor:middle;font-weight:500}.tfm-layer-label--sm{font-size:8px}.tfm-io-label{font-size:9px;fill:var(--ink-soft);text-anchor:middle}.tfm-embed-g{opacity:0;animation:tfmFadeIn .5s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-token-box{fill:var(--card);stroke:var(--accent);stroke-width:1.5}.tfm-token-label{font-size:11px;font-weight:700;fill:var(--accent);text-anchor:middle}.tfm-embed-box{fill:var(--card);stroke:#4c78a8;stroke-width:1}.tfm-embed-label{font-size:8px;fill:#4c78a8;text-anchor:middle}.tfm-pe-box{fill:var(--card);stroke:#2a6f6b;stroke-width:1;stroke-dasharray:3 2}.tfm-pe-label{font-size:8px;fill:#2a6f6b;text-anchor:middle}.tfm-plus{font-size:12px;fill:var(--ink);text-anchor:middle;font-weight:700}.tfm-result-box{fill:var(--card);stroke:var(--accent-2);stroke-width:1.5;animation:tfmPulse 2.5s ease-in-out infinite}.tfm-result-label{font-size:10px;fill:var(--accent-2);text-anchor:middle;font-weight:600}.tfm-matrix-box{fill:var(--bg-deep);stroke:var(--line);stroke-width:1.5}.tfm-matrix-label{font-size:14px;font-weight:700;fill:var(--ink);text-anchor:middle}.tfm-matrix-sub{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.tfm-matrix-dim{font-size:8px;fill:var(--ink-soft);text-anchor:middle;font-family:monospace}.tfm-qkv-g{opacity:0;animation:tfmFadeIn .5s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-w-box{fill:var(--card);stroke:var(--tf-c, var(--line));stroke-width:1.5}.tfm-w-label{font-size:10px;font-weight:600;text-anchor:middle}.tfm-w-dim{font-size:7px;fill:var(--ink-soft);text-anchor:middle;font-family:monospace}.tfm-qkv-box{fill:var(--card);stroke:var(--tf-c, var(--line));stroke-width:2;animation:tfmPulse 2s ease-in-out infinite}.tfm-qkv-label{font-size:12px;font-weight:700;text-anchor:middle}.tfm-qkv-dim{font-size:7px;fill:var(--ink-soft);text-anchor:middle;font-family:monospace}.tfm-op{font-size:12px;fill:var(--ink);text-anchor:middle;font-weight:700}.tfm-score-box{fill:var(--bg-deep);stroke:var(--accent);stroke-width:1.5}.tfm-score-label{font-size:10px;font-weight:600;fill:var(--accent);text-anchor:middle}.tfm-score-dim{font-size:7px;fill:var(--ink-soft);text-anchor:middle}.tfm-softmax-box{fill:var(--card);stroke:#8c50b4;stroke-width:1.5;animation:tfmPulse 2s ease-in-out infinite}.tfm-softmax-label{font-size:10px;font-weight:600;fill:#8c50b4;text-anchor:middle}.tfm-attn-token{font-size:9px;fill:var(--ink);text-anchor:middle;font-weight:500}.tfm-attn-cell{fill:rgba(76,120,168,var(--tf-opacity, .2));stroke:var(--line);stroke-width:.5}.tfm-attn-val{font-size:8px;fill:var(--ink);text-anchor:middle;font-family:monospace}.tfm-input-box{fill:var(--card);stroke:var(--line);stroke-width:1.5}.tfm-input-label{font-size:10px;fill:var(--ink);text-anchor:middle;font-weight:600}.tfm-head-g{opacity:0;animation:tfmFadeIn .4s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-head-box{fill:var(--card);stroke:var(--tf-c, var(--line));stroke-width:1.5;animation:tfmPulse 2.5s ease-in-out infinite}.tfm-head-label{font-size:9px;font-weight:600;fill:var(--ink);text-anchor:middle}.tfm-head-sub{font-size:7px;fill:var(--ink-soft);text-anchor:middle}.tfm-concat-box{fill:var(--bg-deep);stroke:var(--accent-2);stroke-width:1.5}.tfm-concat-label{font-size:10px;font-weight:600;fill:var(--accent-2);text-anchor:middle}.tfm-linear-box{fill:var(--card);stroke:var(--accent);stroke-width:1.5}.tfm-linear-label{font-size:9px;font-weight:600;fill:var(--accent);text-anchor:middle}.tfm-ffn-g{opacity:0;animation:tfmFadeIn .5s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-ffn-box{fill:var(--card);stroke:var(--tf-c, var(--line));stroke-width:1.5}.tfm-ffn-box--norm{stroke-dasharray:4 3;opacity:.8}.tfm-ffn-label{font-size:10px;font-weight:600;text-anchor:middle}.tfm-residual{fill:none;stroke:#388e3c;stroke-width:1.5;stroke-dasharray:4 3;animation:tfmDash 1.5s linear infinite}.tfm-res-label{font-size:14px;font-weight:700;fill:#388e3c;text-anchor:middle}.tfm-note-box{fill:var(--bg-deep);stroke:var(--line);stroke-width:1}.tfm-note-title{font-size:10px;font-weight:600;fill:var(--ink);text-anchor:middle}.tfm-note-text{font-size:8px;fill:var(--ink-soft);text-anchor:middle;font-family:monospace}.tfm-dec-g{opacity:0;animation:tfmFadeIn .4s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-dec-box{fill:var(--card);stroke:var(--tf-c, var(--line));stroke-width:1.5}.tfm-dec-box--norm{stroke-dasharray:4 3;opacity:.8}.tfm-dec-label{font-size:9px;font-weight:600;text-anchor:middle}.tfm-enc-out{font-size:9px;fill:#4c78a8;font-weight:600;text-anchor:middle}.tfm-dec-out-box{fill:var(--card);stroke:#d2642a;stroke-width:1.5}.tfm-dec-out-label{font-size:9px;font-weight:600;fill:#d2642a;text-anchor:middle}.tfm-linear-out-box{fill:var(--card);stroke:var(--accent);stroke-width:1.5}.tfm-linear-out-label{font-size:10px;font-weight:600;fill:var(--accent);text-anchor:middle}.tfm-softmax-out-box{fill:var(--card);stroke:#8c50b4;stroke-width:1.5;animation:tfmPulse 2s ease-in-out infinite}.tfm-softmax-out-label{font-size:10px;font-weight:600;fill:#8c50b4;text-anchor:middle}.tfm-prob-g{opacity:0;animation:tfmFadeIn .4s ease forwards;animation-delay:var(--tf-delay, 0s)}.tfm-prob-token{font-size:9px;fill:var(--ink);text-anchor:end;font-family:monospace}.tfm-prob-bar{fill:#4c78a84d;rx:3}.tfm-prob-bar--top{fill:#2a6f6b99;animation:tfmPulse 2s ease-in-out infinite}.tfm-prob-val{font-size:8px;fill:var(--ink-soft);font-family:monospace}.tfm-selected-box{fill:var(--card);stroke:#2a6f6b;stroke-width:2;animation:tfmGlow 2s ease-in-out infinite}.tfm-selected-label{font-size:12px;font-weight:700;fill:#2a6f6b;text-anchor:middle}.tfm-selected-sub{font-size:8px;fill:var(--ink-soft);text-anchor:middle}.tfm-phase-bar{display:flex;align-items:center;gap:10px;margin-top:10px;padding:6px 12px;background:var(--bg-deep);border-radius:8px;border:1px solid var(--line)}.tfm-phase-bar__tag{font-size:.7rem;font-weight:700;color:var(--phase-c, var(--accent-2));white-space:nowrap}.tfm-phase-bar__steps{display:flex;gap:6px;flex-wrap:wrap}.tfm-phase-bar__step{font-size:.65rem;padding:2px 8px;border-radius:4px;background:var(--card);color:var(--ink-soft);border:1px solid var(--line);transition:all .3s ease}.tfm-phase-bar__step.is-active{background:var(--phase-c, var(--accent-2));color:#fff;border-color:var(--phase-c, var(--accent-2))}.tfm-phase-bar__step.is-past{opacity:.5}@keyframes tfmFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tfmPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes tfmDash{to{stroke-dashoffset:-20}}@keyframes tfmGlow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 5px rgba(42,111,107,.4))}}@media (max-width: 640px){.tfm-heading{font-size:11px}.tfm-hint,.tfm-side-note,.tfm-note-box,.tfm-note-title,.tfm-note-text,.tfm-w-dim,.tfm-qkv-dim,.tfm-matrix-dim,.tfm-head-sub{display:none}.tfm-phase-bar{padding:4px 8px}.tfm-phase-bar__step{font-size:.6rem;padding:1px 6px}}.struct-diagram .struct-scene{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:stretch}.struct-card{position:relative;border-radius:18px;border:1px solid var(--line);padding:16px 16px 18px;background:linear-gradient(180deg,#fffffffa,#fafcfceb);display:grid;gap:12px;min-height:360px;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.struct-card:before{content:"";position:absolute;inset:-40% -20% auto auto;width:200px;height:200px;background:radial-gradient(circle,rgba(76,157,149,.18),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.struct-card.is-active{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 16px 30px #1424221f}.struct-card.is-active:before{opacity:1}.struct-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.struct-card__head h3{margin:0;font-size:18px}.struct-tag{font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:#4c9d951f;color:var(--accent);font-weight:600}.struct-desc{margin:0;font-size:14px;color:var(--muted)}.struct-example{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:8px}.struct-example .example-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.struct-example .example-row{display:flex;flex-wrap:wrap;gap:8px}.struct-example .example-row span{font-size:12px;padding:4px 8px;border-radius:10px;background:#4c9d951a;color:var(--text)}.stack-visual{position:relative;min-height:170px;display:grid;gap:10px}.stack-gates{position:absolute;top:50%;left:50%;width:260px;display:flex;justify-content:space-between;align-items:center;transform:translate(-50%,-50%);pointer-events:none}.stack-gates .gate{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px dashed rgba(76,157,149,.3);background:#ffffffe6;font-size:12px;color:var(--muted)}.stack-gates .gate-arrow{font-size:14px;color:var(--accent);line-height:1}.stack-cylinder{position:relative;width:180px;height:140px;margin:0 auto}.stack-cylinder__shape{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;border:1px solid rgba(76,157,149,.32);background:linear-gradient(180deg,#fffffff2,#4c9d9514);box-shadow:inset 0 -16px 24px #2a6f6b1f}.stack-cylinder__shape:before{content:"";position:absolute;left:50%;top:8px;width:86%;height:26px;border-radius:50%;border:1px dashed rgba(76,157,149,.3);background:#fff9;transform:translate(-50%)}.stack-cylinder__shape:after{content:"";position:absolute;left:50%;bottom:6px;width:90%;height:28px;border-radius:50%;background:radial-gradient(circle,rgba(76,157,149,.18),transparent 70%);transform:translate(-50%)}.stack-drop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.stack-drop__item{position:absolute;left:50%;top:6px;padding:4px 8px;border-radius:10px;background:#fffffff2;border:1px solid rgba(76,157,149,.3);font-size:11px;opacity:0;transform:translate(-50%,-18px)}.stack-drop__item--a{--land: 88px;animation:stackPushPopA 6.4s ease-in-out infinite}.stack-drop__item--b{--land: 60px;animation:stackPushPopB 6.4s ease-in-out infinite}.stack-drop__item--c{--land: 34px;animation:stackPushPopC 6.4s ease-in-out infinite}.queue-visual{position:relative;display:grid;gap:12px;min-height:170px}.queue-tube{position:relative;width:220px;height:96px;margin:0 auto;overflow:hidden}.queue-tube__shape{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;border:1px solid rgba(76,157,149,.32);background:linear-gradient(180deg,#ffffffeb,#4c9d9514);box-shadow:inset 0 -12px 20px #2a6f6b1f}.queue-tube__shape:before,.queue-tube__shape:after{content:"";position:absolute;top:50%;width:36px;height:62px;border-radius:50%;border:1px dashed rgba(76,157,149,.35);background:#fff9;transform:translateY(-50%)}.queue-tube__shape:before{left:-10px}.queue-tube__shape:after{right:-10px}.queue-tube__lane{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden}.queue-pod{position:absolute;left:-30px;top:50%;padding:6px 10px;border-radius:10px;background:#fffffff2;border:1px solid rgba(76,157,149,.3);font-size:12px;transform:translateY(-50%);opacity:0;animation:queueTubeFlow 6s ease-in-out infinite}.queue-pod--1{animation-delay:0s}.queue-pod--2{animation-delay:1.2s}.queue-pod--3{animation-delay:2.4s}.queue-pod--4{animation-delay:3.6s}.queue-gates{position:absolute;top:50%;left:50%;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);width:280px;transform:translate(-50%,-50%);pointer-events:none}.queue-gates .gate{padding:4px 8px;border-radius:999px;border:1px dashed rgba(76,157,149,.3);background:#ffffffe6}.heap-visual{display:grid;gap:12px;min-height:170px}.heap-tree-wrap{position:relative;width:260px;height:148px;margin:0 auto}.heap-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.heap-edge{stroke:#4c9d9540;stroke-width:1.5;stroke-dasharray:4 3;stroke-linecap:round}.heap-edge--sift{stroke:#4c9d954d;animation:heapEdgeSift 8s ease-in-out infinite}.heap-edge--sift2{animation-delay:.2s}.heap-node{position:absolute;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#fff;border:1.5px solid rgba(76,157,149,.3)}.heap-node--root{animation:heapRootPulse 8s ease-in-out infinite}.heap-node--l1b{animation:heapL1bPulse 8s ease-in-out infinite}.heap-node--insert{animation:heapInsert 8s ease-in-out infinite}.heap-min-badge{position:absolute;left:50%;top:-8px;transform:translate(-50%);font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--accent);text-transform:uppercase;animation:heapBadgeFade 8s ease-in-out infinite}.heap-ops{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:11px}.heap-op{padding:4px 8px;border-radius:8px;border:1px solid rgba(76,157,149,.2);background:#4c9d9514;color:var(--muted);animation:heapOpStep 8s ease-in-out infinite}.heap-op--1{animation-delay:0s}.heap-op--2{animation-delay:1.6s}.heap-op--3{animation-delay:4s}.heap-op--4{animation-delay:5.6s}@keyframes stackPushPopA{0%{opacity:0;transform:translate(-50%,-24px)}12%{opacity:1;transform:translate(-50%,6px)}28%{transform:translate(-50%,calc(var(--land) + 6px))}34%{transform:translate(-50%,var(--land))}66%{opacity:1;transform:translate(-50%,var(--land))}78%{opacity:1;transform:translate(-50%,calc(var(--land) - 6px))}86%{opacity:.7;transform:translate(-50%,-14px)}to{opacity:0;transform:translate(-50%,-28px)}}@keyframes stackPushPopB{0%{opacity:0;transform:translate(-50%,-24px)}18%{opacity:1;transform:translate(-50%,6px)}36%{transform:translate(-50%,calc(var(--land) + 6px))}42%{transform:translate(-50%,var(--land))}58%{opacity:1;transform:translate(-50%,var(--land))}72%{opacity:1;transform:translate(-50%,calc(var(--land) - 6px))}82%{opacity:.7;transform:translate(-50%,-14px)}to{opacity:0;transform:translate(-50%,-28px)}}@keyframes stackPushPopC{0%{opacity:0;transform:translate(-50%,-24px)}24%{opacity:1;transform:translate(-50%,6px)}38%{transform:translate(-50%,calc(var(--land) + 6px))}44%{transform:translate(-50%,var(--land))}50%{opacity:1;transform:translate(-50%,var(--land))}62%{opacity:1;transform:translate(-50%,calc(var(--land) - 6px))}72%{opacity:.7;transform:translate(-50%,-14px)}to{opacity:0;transform:translate(-50%,-28px)}}@keyframes queueTubeFlow{0%{opacity:0;transform:translate(-20px,-50%)}10%{opacity:1}70%{opacity:1;transform:translate(180px,-50%)}to{opacity:0;transform:translate(220px,-50%)}}@keyframes heapRootPulse{0%,to{border-color:#4c9d954d;box-shadow:0 0 #4c9d9500}50%{border-color:var(--accent);box-shadow:0 0 0 4px #4c9d9526}}@keyframes heapL1bPulse{0%,to{border-color:#4c9d954d}30%,40%{border-color:var(--accent)}}@keyframes heapInsert{0%{left:209px;top:104px;opacity:0}10%{opacity:1}40%{left:179px;top:56px;opacity:1}70%{left:114px;top:8px;opacity:1}85%{opacity:.5}to{left:209px;top:104px;opacity:0}}@keyframes heapEdgeSift{0%,to{stroke:#4c9d954d;stroke-width:1.5}30%,70%{stroke:var(--accent);stroke-width:2.5}}@keyframes heapBadgeFade{0%,to{opacity:.4}50%,70%{opacity:1}}@keyframes heapOpStep{0%,to{opacity:.5;background:#4c9d9514;color:var(--muted)}20%,40%{opacity:1;background:#4c9d9533;color:var(--accent)}}@media (max-width: 900px){.struct-card{min-height:320px}}.dp-diagram{width:min(100%,780px);margin:0 auto}.dp-scene{display:grid;gap:14px}.dp-svg{width:100%;height:auto;display:block}.dp-title{text-anchor:middle;font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace;fill:#0006;letter-spacing:.03em}.dp-cell-svg{fill:#fffffff2;stroke:#0000001f;stroke-width:1.2;transition:fill .4s ease,stroke .4s ease}.dp-cell-svg--filled{fill:#d2642a14;stroke:#d2642a4d}.dp-cell-svg--base{fill:#d2642a0d;stroke:#d2642a33;stroke-dasharray:4 2}.dp-cell-svg--active{fill:#d2642a26;stroke:#d2642ab3;animation:dpCellPulse 1.6s ease-in-out infinite}.dp-cell-svg--climb{fill:#2a6f6b14;stroke:#2a6f6b4d}.dp-cell-svg--base-climb{fill:#2a6f6b0d;stroke:#2a6f6b33;stroke-dasharray:4 2}.dp-cell-svg--active-climb{fill:#2a6f6b26;stroke:#2a6f6bb3;animation:dpCellPulseClimb 1.6s ease-in-out infinite}.dp-cell-val{text-anchor:middle;font-size:15px;font-weight:700;fill:#00000040;transition:fill .3s ease}.dp-cell-val--filled{fill:#d2642ad9}.dp-cell-val--climb{fill:#2a6f6bd9}.dp-cell-idx{text-anchor:middle;font-size:9px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.dp-arrow{stroke-width:1.5;stroke-linecap:round}.dp-arrow--fib{stroke:#d2642a80}.dp-arrow--climb{stroke:#2a6f6b80}.dp-arrow--climb-2{stroke:#2a6f6b59;stroke-dasharray:4 3}.dp-arrow--lcs{stroke:#8c50b480}.dp-arrow-label{text-anchor:middle;font-size:9px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#d2642ab3}.dp-arrow-label--climb{fill:#2a6f6b99}.dp-tbl-cell{fill:#fffffff2;stroke:#00000014;stroke-width:1;transition:fill .4s ease,stroke .4s ease}.dp-tbl-cell--filled{fill:#8c50b40a;stroke:#8c50b426}.dp-tbl-cell--row-active{fill:#8c50b414;stroke:#8c50b440}.dp-tbl-cell--match{fill:#8c50b426;stroke:#8c50b499;animation:dpMatchPulse 2s ease-in-out infinite}.dp-tbl-cell--path{fill:#d2642a1f;stroke:#d2642a99;animation:dpPathPulse 1.6s ease-in-out infinite}.dp-tbl-val{text-anchor:middle;font-size:12px;font-weight:700;fill:#00000026;transition:fill .3s ease}.dp-tbl-val--filled{fill:#00000073}.dp-tbl-val--match{fill:#8c50b4e6}.dp-tbl-val--path{fill:#d2642ae6}.dp-tbl-hdr{text-anchor:middle;font-size:12px;font-weight:700;fill:#00000059}.dp-tbl-hdr--s1{fill:#d2642ab3}.dp-tbl-hdr--s2{fill:#8c50b4b3}.dp-lcs-result{text-anchor:middle;font-size:12px;font-weight:700;font-family:SF Mono,Fira Code,monospace;fill:#d2642ae6}.dp-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.dp-ds__label{font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.dp-ds--fib .dp-ds__label{background:#d2642a1a;color:#d2642ae6}.dp-ds--climb .dp-ds__label{background:#2a6f6b1a;color:#2a6f6be6}.dp-ds--lcs .dp-ds__label{background:#8c50b41a;color:#8c50b4e6}.dp-ds__items{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dp-ds__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.35;transition:opacity .3s ease,background .3s ease,border-color .3s ease,color .3s ease}.dp-ds__step--past{opacity:.55}.dp-ds--fib .dp-ds__step--active{opacity:1;background:#d2642a14;border-color:#d2642a4d;color:#d2642ae6}.dp-ds--climb .dp-ds__step--active{opacity:1;background:#2a6f6b14;border-color:#2a6f6b4d;color:#2a6f6be6}.dp-ds--lcs .dp-ds__step--active{opacity:1;background:#8c50b414;border-color:#8c50b44d;color:#8c50b4e6}@keyframes dpCellPulse{0%,to{stroke:#d2642a80;fill:#d2642a1a}50%{stroke:#d2642acc;fill:#d2642a33;filter:drop-shadow(0 0 6px rgba(210,100,42,.25))}}@keyframes dpCellPulseClimb{0%,to{stroke:#2a6f6b80;fill:#2a6f6b1a}50%{stroke:#2a6f6bcc;fill:#2a6f6b33;filter:drop-shadow(0 0 6px rgba(42,111,107,.25))}}@keyframes dpMatchPulse{0%,to{stroke:#8c50b466;fill:#8c50b41a}50%{stroke:#8c50b4cc;fill:#8c50b433;filter:drop-shadow(0 0 6px rgba(140,80,180,.25))}}@keyframes dpPathPulse{0%,to{stroke:#d2642a66;fill:#d2642a14}50%{stroke:#d2642acc;fill:#d2642a2e;filter:drop-shadow(0 0 6px rgba(210,100,42,.3))}}@media (max-width: 640px){.dp-title{font-size:9px}.dp-cell-val{font-size:12px}.dp-cell-idx,.dp-arrow-label{font-size:7px}.dp-tbl-val,.dp-tbl-hdr{font-size:10px}.dp-ds__step{font-size:9px;padding:2px 6px}.dp-ds__label,.dp-lcs-result{font-size:10px}}.graph-diagram{width:min(100%,780px);margin:0 auto}.graph-scene{display:grid;gap:16px}.graph-svg{width:100%;height:auto;display:block}.graph-edge{stroke:#0000001f;stroke-width:1.5;stroke-linecap:round;transition:stroke .4s ease,stroke-width .4s ease}.graph-edge--bfs{stroke:#2a6f6b33;stroke-width:1.5;animation:graphEdgeBfs 6s ease-in-out infinite;animation-delay:calc(var(--edge-idx, 0) * .6s)}.graph-edge--dfs{stroke:#8c50b433;stroke-width:1.5;animation:graphEdgeDfs 6s ease-in-out infinite;animation-delay:calc(var(--edge-idx, 0) * .8s)}.graph-edge--path{stroke:#d2642a4d;stroke-width:2;animation:graphEdgePath 4s ease-in-out infinite;animation-delay:calc(var(--edge-idx, 0) * .5s)}.graph-weight-bg{fill:#ffffffe6;stroke:#d2642a33;stroke-width:.8}.graph-weight-text{text-anchor:middle;font-size:9px;font-weight:700;font-family:SF Mono,Fira Code,monospace;fill:#d2642acc}.graph-node__circle{fill:#fffffff2;stroke:#00000026;stroke-width:1.5;transition:fill .4s ease,stroke .4s ease}.graph-node__label{text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:700;fill:#0009;transition:fill .4s ease}.graph-node__order{text-anchor:middle;font-size:8px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#00000059;transition:fill .4s ease}.graph-node--bfs-0 .graph-node__circle{animation:graphNodeBfs 6s ease-in-out infinite;animation-delay:0s}.graph-node--bfs-0 .graph-node__label{fill:#2a6f6be6}.graph-node--bfs-0 .graph-node__order{fill:#2a6f6bb3}.graph-node--bfs-1 .graph-node__circle{animation:graphNodeBfs 6s ease-in-out infinite;animation-delay:.8s}.graph-node--bfs-1 .graph-node__label{fill:#2a6f6bcc}.graph-node--bfs-1 .graph-node__order{fill:#2a6f6b99}.graph-node--bfs-2 .graph-node__circle{animation:graphNodeBfs 6s ease-in-out infinite;animation-delay:1.6s}.graph-node--bfs-2 .graph-node__label{fill:#2a6f6bb3}.graph-node--bfs-2 .graph-node__order{fill:#2a6f6b80}.graph-node--bfs-3 .graph-node__circle{animation:graphNodeBfs 6s ease-in-out infinite;animation-delay:2.4s}.graph-node--bfs-3 .graph-node__label{fill:#2a6f6b99}.graph-node--bfs-3 .graph-node__order{fill:#2a6f6b66}.graph-node--dfs-0 .graph-node__circle{animation:graphNodeDfs 6s ease-in-out infinite;animation-delay:0s}.graph-node--dfs-1 .graph-node__circle{animation:graphNodeDfs 6s ease-in-out infinite;animation-delay:.8s}.graph-node--dfs-2 .graph-node__circle{animation:graphNodeDfs 6s ease-in-out infinite;animation-delay:1.6s}.graph-node--dfs-3 .graph-node__circle{animation:graphNodeDfs 6s ease-in-out infinite;animation-delay:2.4s}.graph-node--dfs-4 .graph-node__circle{animation:graphNodeDfs 6s ease-in-out infinite;animation-delay:3.2s}.graph-node--dfs-5 .graph-node__circle{animation:graphNodeDfs 6s ease-in-out infinite;animation-delay:4s}.graph-node[class*=--dfs-] .graph-node__label{fill:#8c50b4d9}.graph-node[class*=--dfs-] .graph-node__order{fill:#8c50b499}.graph-node--path .graph-node__circle{animation:graphNodePath 4s ease-in-out infinite}.graph-node--path .graph-node__label{fill:#d2642ae6}.graph-node--path .graph-node__order{fill:#d2642ab3}.graph-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;min-height:48px}.graph-ds__row{display:flex;align-items:flex-start;gap:10px}.graph-ds__label{font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.graph-ds--bfs .graph-ds__label{background:#2a6f6b1a;color:#2a6f6be6}.graph-ds--dfs .graph-ds__label{background:#8c50b41a;color:#8c50b4e6}.graph-ds--dijkstra .graph-ds__label{background:#d2642a1a;color:#d2642ae6}.graph-ds__items{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.graph-ds__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.4;animation:graphDsStep 6s ease-in-out infinite;animation-delay:calc(var(--step-idx, 0) * .7s)}.graph-ds__step--0{--step-idx: 0}.graph-ds__step--1{--step-idx: 1}.graph-ds__step--2{--step-idx: 2}.graph-ds__step--3{--step-idx: 3}.graph-ds__step--4{--step-idx: 4}.graph-ds__step--5{--step-idx: 5}.graph-ds__step--6{--step-idx: 6}.graph-ds--bfs .graph-ds__step{animation-name:graphDsStepBfs}.graph-ds--dfs .graph-ds__step{animation-name:graphDsStepDfs}.graph-ds--dijkstra .graph-ds__step{animation-name:graphDsStepDijk}.graph-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.graph-legend__item{font-size:11px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:#fff}.graph-legend__item--start{border-color:#2a6f6b4d;color:#2a6f6be6;background:#2a6f6b0f}.graph-legend__item--wave,.graph-legend__item--queue{border-color:#2a6f6b33;color:#2a6f6bb3}.graph-legend__item--depth,.graph-legend__item--back{border-color:#8c50b433;color:#8c50b4b3}.graph-legend__item--relax{border-color:#d2642a33;color:#d2642ab3}.graph-legend__item--path{border-color:#d2642a4d;color:#d2642ae6;background:#d2642a0f}@keyframes graphNodeBfs{0%,to{stroke:#2a6f6b33;fill:#fffffff2}20%,50%{stroke:#2a6f6bcc;fill:#2a6f6b1f;filter:drop-shadow(0 0 6px rgba(42,111,107,.3))}}@keyframes graphEdgeBfs{0%,to{stroke:#2a6f6b26;stroke-width:1.5}15%,45%{stroke:#2a6f6bb3;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(42,111,107,.3))}}@keyframes graphNodeDfs{0%,to{stroke:#8c50b433;fill:#fffffff2}15%,35%{stroke:#8c50b4cc;fill:#8c50b41f;filter:drop-shadow(0 0 6px rgba(140,80,180,.3))}}@keyframes graphEdgeDfs{0%,to{stroke:#8c50b426;stroke-width:1.5}12%,35%{stroke:#8c50b4b3;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(140,80,180,.3))}}@keyframes graphNodePath{0%,to{stroke:#d2642a4d;fill:#fffffff2}40%,70%{stroke:#d2642acc;fill:#d2642a1a;filter:drop-shadow(0 0 8px rgba(210,100,42,.3))}}@keyframes graphEdgePath{0%,to{stroke:#d2642a33;stroke-width:2}30%,70%{stroke:#d2642acc;stroke-width:3;filter:drop-shadow(0 0 6px rgba(210,100,42,.4))}}@keyframes graphDsStepBfs{0%,to{opacity:.35;background:#fff;border-color:var(--line)}15%,40%{opacity:1;background:#2a6f6b14;border-color:#2a6f6b4d;color:#2a6f6be6}}@keyframes graphDsStepDfs{0%,to{opacity:.35;background:#fff;border-color:var(--line)}12%,30%{opacity:1;background:#8c50b414;border-color:#8c50b44d;color:#8c50b4e6}}@keyframes graphDsStepDijk{0%,to{opacity:.35;background:#fff;border-color:var(--line)}20%,50%{opacity:1;background:#d2642a14;border-color:#d2642a4d;color:#d2642ae6}}@media (max-width: 640px){.graph-ds__step{font-size:9px;padding:2px 6px}.graph-ds__label{font-size:10px}.graph-legend__item{font-size:10px;padding:2px 8px}.graph-node__order{display:none}.graph-weight-text{font-size:8px}}.tp-diagram{width:min(100%,780px);margin:0 auto}.tp-scene{display:grid;gap:14px}.tp-svg{width:100%;height:auto;display:block}.tp-target{text-anchor:middle;font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace;fill:#0006;letter-spacing:.03em}.tp-cell{fill:#fffffff2;stroke:#0000001f;stroke-width:1.2;transition:fill .4s ease,stroke .4s ease}.tp-cell--range{fill:#2a6f6b0f;stroke:#2a6f6b33}.tp-cell--found{fill:#d2642a1f;stroke:#d2642a99;animation:tpCellFound 1.6s ease-in-out infinite}.tp-cell--window{fill:#4c78a81a;stroke:#4c78a866}.tp-val{text-anchor:middle;font-size:15px;font-weight:700;fill:#0009;transition:fill .3s ease}.tp-val--found{fill:#d2642ae6}.tp-val--window{fill:#4c78a8e6}.tp-idx{text-anchor:middle;font-size:9px;font-family:SF Mono,Fira Code,monospace;fill:#00000040}.tp-ptr__circle{stroke-width:0;transition:cx .5s ease}.tp-ptr__circle--l{fill:#d2642ad9;animation:tpPtrPulseL 2s ease-in-out infinite}.tp-ptr__circle--r{fill:#2a6f6bd9;animation:tpPtrPulseR 2s ease-in-out infinite}.tp-ptr__label{text-anchor:middle;font-size:10px;font-weight:800;fill:#fff}.tp-window-bg{fill:#4c78a80f;stroke:#4c78a840;stroke-width:1.5;stroke-dasharray:6 3;animation:tpWindowPulse 3s ease-in-out infinite}.tp-sum{text-anchor:middle;font-size:12px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.tp-sum--hit{fill:#d2642ae6}.tp-sum--low{fill:#2a6f6bb3}.tp-sum--high{fill:#b43c3cb3}.tp-sum--window{fill:#4c78a8cc}.tp-fs-edge{stroke:#00000026;stroke-width:1.5;fill:none;stroke-linecap:round}.tp-fs-edge--cycle{stroke:#b43c3c40;stroke-dasharray:5 3}.tp-fs-node{fill:#fffffff2;stroke:#00000026;stroke-width:1.5;transition:fill .4s ease,stroke .4s ease}.tp-fs-node--slow{stroke:#d2642a99;fill:#d2642a14}.tp-fs-node--fast{stroke:#2a6f6b99;fill:#2a6f6b14}.tp-fs-node--met{stroke:#8c50b4cc;fill:#8c50b41f;animation:tpNodeMet 1.4s ease-in-out infinite}.tp-fs-node--entry{stroke-dasharray:4 2}.tp-fs-label{text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:700;fill:#0009}.tp-fs-entry-badge{text-anchor:middle;font-size:8px;font-weight:600;font-family:SF Mono,Fira Code,monospace;fill:#b43c3c99}.tp-fs-indicator{stroke:none}.tp-fs-indicator--slow{fill:#d2642acc}.tp-fs-indicator--fast{fill:#2a6f6bcc}.tp-fs-indicator-label{text-anchor:middle;dominant-baseline:central;font-size:8px;font-weight:800;fill:#fff}.tp-fs-meet-ring{fill:none;stroke:#8c50b480;stroke-width:2}.tp-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.tp-ds__label{font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.tp-ds--two .tp-ds__label{background:#d2642a1a;color:#d2642ae6}.tp-ds--win .tp-ds__label{background:#4c78a81a;color:#4c78a8e6}.tp-ds--fs .tp-ds__label{background:#8c50b41a;color:#8c50b4e6}.tp-ds__items{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tp-ds__step{font-size:11px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.35;transition:opacity .3s ease,background .3s ease,border-color .3s ease,color .3s ease}.tp-ds__step--past{opacity:.55}.tp-ds--two .tp-ds__step--active{opacity:1;background:#d2642a14;border-color:#d2642a4d;color:#d2642ae6}.tp-ds--win .tp-ds__step--active{opacity:1;background:#4c78a814;border-color:#4c78a84d;color:#4c78a8e6}.tp-ds--fs .tp-ds__step--active{opacity:1;background:#8c50b414;border-color:#8c50b44d;color:#8c50b4e6}@keyframes tpPtrPulseL{0%,to{filter:drop-shadow(0 0 0 rgba(210,100,42,0))}50%{filter:drop-shadow(0 0 6px rgba(210,100,42,.4))}}@keyframes tpPtrPulseR{0%,to{filter:drop-shadow(0 0 0 rgba(42,111,107,0))}50%{filter:drop-shadow(0 0 6px rgba(42,111,107,.4))}}@keyframes tpCellFound{0%,to{stroke:#d2642a80;fill:#d2642a14}50%{stroke:#d2642acc;fill:#d2642a29;filter:drop-shadow(0 0 8px rgba(210,100,42,.25))}}@keyframes tpWindowPulse{0%,to{stroke:#4c78a833}50%{stroke:#4c78a873;filter:drop-shadow(0 0 6px rgba(76,120,168,.15))}}@keyframes tpNodeMet{0%,to{stroke:#8c50b499;fill:#8c50b414}50%{stroke:#8c50b4e6;fill:#8c50b42e;filter:drop-shadow(0 0 8px rgba(140,80,180,.35))}}@media (max-width: 640px){.tp-target{font-size:9px}.tp-val{font-size:12px}.tp-idx{display:none}.tp-sum{font-size:10px}.tp-ds__step{font-size:9px;padding:2px 6px}.tp-ds__label{font-size:10px}.tp-fs-entry-badge{display:none}}.sort-diagram{width:min(100%,780px);margin:0 auto}.sort-scene{display:grid;gap:14px}.sort-svg{width:100%;height:auto;display:block}.sort-title{text-anchor:middle;font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0000004d}.sort-bar{stroke-width:1;rx:4;transition:fill .4s,stroke .4s,filter .4s}.sort-bar--comparing{animation:sortComparePulse 1.6s ease-in-out infinite}.sort-bar--sorted{animation:sortSortedGlow 2.4s ease-in-out infinite}.sort-bar--pivot{animation:sortPivotPulse 1.8s ease-in-out infinite}.sort-bar--swap{animation:sortSwapPulse 1.4s ease-in-out infinite}.sort-bar--left{animation:sortLeftPulse 2.2s ease-in-out infinite;animation-delay:calc(var(--bar-i, 0) * .15s)}.sort-bar--right{animation:sortRightPulse 2.2s ease-in-out infinite;animation-delay:calc(var(--bar-i, 0) * .15s)}.sort-bar__val{text-anchor:middle;font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#0006}.sort-bar__tag{text-anchor:middle;font-size:7px;font-weight:500;font-family:SF Mono,Fira Code,monospace}.sort-bar__tag--pivot{fill:#b43c3cb3}.sort-bar__tag--cmp{fill:#d2642ab3}.sort-heap-node{fill:#8c50b414;stroke:#8c50b44d;stroke-width:.8;animation:sortHeapNodePulse 2.6s ease-in-out infinite;animation-delay:calc(var(--bar-i, 0) * .12s)}.sort-heap-text{text-anchor:middle;font-size:8px;font-weight:500;font-family:SF Mono,Fira Code,monospace;fill:#8c50b4b3}.sort-code{border-radius:10px;border:1px solid var(--line);background:#00000005;overflow:hidden}.sort-code__header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--line);background:#fff9}.sort-code__lang{font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:2px 6px;border-radius:4px;background:#0000000d;color:#00000073}.sort-code__algo{font-size:9px;font-weight:500;font-family:SF Mono,Fira Code,monospace}.sort-code__pre{margin:0;padding:10px 14px;font-size:10px;line-height:1.6;font-family:SF Mono,Fira Code,monospace;color:#0000008c;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}.sort-ds{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fffc;display:flex;align-items:flex-start;gap:10px}.sort-ds__label{font-size:10px;font-weight:500;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.sort-ds--bubble .sort-ds__label{background:#2a6f6b14;color:#2a6f6bbf}.sort-ds--merge .sort-ds__label{background:#4c78a814;color:#4c78a8bf}.sort-ds--quick .sort-ds__label{background:#d2642a14;color:#d2642abf}.sort-ds--heap .sort-ds__label{background:#8c50b414;color:#8c50b4bf}.sort-ds__items{display:flex;flex-wrap:wrap;gap:6px}.sort-ds__step{font-size:10px;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;opacity:.3;transition:opacity .3s,background .3s,border-color .3s,color .3s}.sort-ds__step--past{opacity:.5}.sort-ds--bubble .sort-ds__step--active{opacity:1;background:#2a6f6b0f;border-color:#2a6f6b38;color:#2a6f6bcc}.sort-ds--merge .sort-ds__step--active{opacity:1;background:#4c78a80f;border-color:#4c78a838;color:#4c78a8cc}.sort-ds--quick .sort-ds__step--active{opacity:1;background:#d2642a0f;border-color:#d2642a38;color:#d2642acc}.sort-ds--heap .sort-ds__step--active{opacity:1;background:#8c50b40f;border-color:#8c50b438;color:#8c50b4cc}.sort-legend{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.sort-legend__item{font-size:10px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:#fff}.sort-legend__item--cmp{border-color:#d2642a4d;color:#d2642acc;background:#d2642a0a}.sort-legend__item--sorted{border-color:#388e3c4d;color:#388e3ccc;background:#388e3c0a}.sort-legend__item--pivot{border-color:#b43c3c4d;color:#b43c3ccc;background:#b43c3c0a}.sort-legend__item--left{border-color:#2a6f6b4d;color:#2a6f6bcc;background:#2a6f6b0a}.sort-legend__item--right,.sort-legend__item--gt{border-color:#d2642a4d;color:#d2642acc;background:#d2642a0a}.sort-legend__item--heap{border-color:#8c50b44d;color:#8c50b4cc;background:#8c50b40a}.sort-legend__item--swap{border-color:#d2642a4d;color:#d2642acc;background:#d2642a0a}@keyframes sortComparePulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 4px rgba(210,100,42,.3))}}@keyframes sortSortedGlow{0%,to{filter:none}50%{filter:drop-shadow(0 0 3px rgba(56,142,60,.2))}}@keyframes sortPivotPulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 5px rgba(180,60,60,.25))}}@keyframes sortSwapPulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 4px rgba(210,100,42,.3))}}@keyframes sortLeftPulse{0%,to{filter:none;opacity:.85}50%{filter:drop-shadow(0 0 3px rgba(42,111,107,.2));opacity:1}}@keyframes sortRightPulse{0%,to{filter:none;opacity:.85}50%{filter:drop-shadow(0 0 3px rgba(140,80,180,.2));opacity:1}}@keyframes sortHeapNodePulse{0%,to{stroke:#8c50b440;fill:#8c50b40f}50%{stroke:#8c50b480;fill:#8c50b41f;filter:drop-shadow(0 0 3px rgba(140,80,180,.15))}}@media (max-width: 640px){.sort-title{font-size:8px}.sort-bar__val{font-size:7.5px}.sort-bar__tag{display:none}.sort-code__pre{font-size:8.5px;padding:8px 10px}.sort-ds__step{font-size:8.5px;padding:2px 6px}.sort-legend__item{font-size:9px;padding:2px 8px}.sort-heap-tree{display:none}}.cny-theme .hero-map{background:radial-gradient(circle at 30% 18%,rgba(196,26,26,.12),transparent 55%),radial-gradient(circle at 70% 82%,rgba(184,134,11,.14),transparent 55%),#ffffffb3}.cny-theme .hero-map__backdrop{background:linear-gradient(135deg,#c41a1a14,#b8860b1f)}.cny-theme .hero-map__arc{border-color:#c41a1a40;border-left-color:transparent;border-bottom-color:transparent}.cny-theme .hero-map__arc--b{border-color:#b8860b47;border-right-color:transparent;border-top-color:transparent}.cny-theme .hero-map__arc--c{border-color:#c41a1a26;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.cny-theme .hero-map__pulse{border-color:#c41a1a33}.cny-theme .hero-map__pulse--b{border-color:#b8860b26}.cny-theme .hero-map__radar:before{background:conic-gradient(from 0deg,transparent 0deg,rgba(196,26,26,.12) 30deg,transparent 60deg)}.cny-theme .orbit-dot{box-shadow:0 0 8px #b8860b99}.cny-theme .orbit-dot--2{box-shadow:0 0 8px #c41a1a99}.cny-theme .hero-map__link-line{stroke:#c41a1a1a}.cny-theme .hero-map__link-line:nth-child(odd){stroke:#b8860b14}.cny-theme .hero-map__core-glow{background:radial-gradient(circle,rgba(196,26,26,.1) 0%,rgba(184,134,11,.08) 40%,transparent 70%)}.cny-theme .hero-map__sat-dot{box-shadow:0 0 6px #b8860b80}.cny-theme .hero-map__satellite:nth-child(odd) .hero-map__sat-dot{box-shadow:0 0 6px #c41a1a80}.cny-theme .hero-map__scanline{background:linear-gradient(90deg,transparent 0%,rgba(196,26,26,.3) 30%,rgba(196,26,26,.5) 50%,rgba(196,26,26,.3) 70%,transparent 100%)}.cny-theme .hero-map__core{box-shadow:0 14px 30px #2b181026,0 0 40px #c41a1a14}.cny-theme .hero-map__stream{background:linear-gradient(180deg,#c41a1a14,#c41a1a59,#b8860b33)}.cny-theme .hero-map__stream:after{background:radial-gradient(circle,#c41a1ae6,#c41a1a1a 70%);box-shadow:0 0 12px #c41a1a66}.cny-theme .hero-map__satellite{box-shadow:0 10px 20px #2b181014,0 0 12px #c41a1a0f}.cny-theme .hero-map__satellite:hover{box-shadow:0 10px 24px #2b18101f,0 0 16px #c41a1a26}.cny-theme .mission__card:before{background:radial-gradient(circle,rgba(196,26,26,.1),transparent 70%)}.cny-theme .mission__card:hover{border-color:#c41a1a40}.cny-decor{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;overflow:hidden}.cny-lantern{position:absolute;top:-8px;display:flex;flex-direction:column;align-items:center;animation:cnyLanternSway 4s ease-in-out infinite;transform-origin:top center}.cny-lantern--l{left:1%;animation-delay:0s}.cny-lantern--r{right:1%;animation-delay:.8s}.cny-lantern__string{width:2px;height:24px;background:linear-gradient(180deg,#8b4513,#c41a1a);border-radius:1px}.cny-lantern__body{position:relative;width:48px;height:56px;border-radius:50%;background:radial-gradient(ellipse at 40% 35%,#f44,#c41a1a 50%,#8b1a1a);border:1.5px solid rgba(232,200,64,.5);box-shadow:0 0 20px #c41a1a66,0 0 40px #c41a1a26,inset 0 -8px 16px #00000026;display:flex;align-items:center;justify-content:center;overflow:hidden}.cny-lantern__body:before,.cny-lantern__body:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:32px;height:6px;background:linear-gradient(90deg,#d4a017,#e8c840,#d4a017);border-radius:3px}.cny-lantern__body:before{top:-1px}.cny-lantern__body:after{bottom:-1px}.cny-lantern__glow{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,50,.15),transparent 70%);animation:cnyGlow 2.4s ease-in-out infinite}.cny-lantern__text{font-family:ZCOOL XiaoWei,serif;font-size:20px;color:#e8c840;text-shadow:0 0 6px rgba(232,200,64,.5);z-index:1}.cny-lantern__tassel{width:2px;height:18px;background:linear-gradient(180deg,#e8c840,#c41a1a);border-radius:0 0 2px 2px;position:relative}.cny-lantern__tassel:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:8px;height:8px;background:radial-gradient(circle,#e8c840,#d4a017);border-radius:50%}.cny-firework{position:absolute;width:60px;height:60px;overflow:visible;animation:cnyFireworkFull 5s ease-out infinite}.cny-firework--1{top:8%;left:18%}.cny-firework--2{top:5%;right:22%;animation-delay:1.8s;animation-duration:5.5s}.cny-firework--3{top:12%;left:50%;animation-delay:3.5s;animation-duration:6s}.cny-firework__trail{position:absolute;left:50%;bottom:0;width:2px;height:0;transform:translate(-50%);background:linear-gradient(to top,transparent,#ffcc00);border-radius:1px;animation:cnyTrail 5s ease-out infinite}.cny-firework--2 .cny-firework__trail{animation-delay:1.8s;animation-duration:5.5s}.cny-firework--3 .cny-firework__trail{animation-delay:3.5s;animation-duration:6s}.cny-firework__burst{opacity:0;transform:scale(0);animation:cnyBurst 5s ease-out infinite}.cny-firework--2 .cny-firework__burst{animation-delay:1.8s;animation-duration:5.5s}.cny-firework--3 .cny-firework__burst{animation-delay:3.5s;animation-duration:6s}.cny-firecracker{position:absolute;right:3%;top:60px;width:28px;height:90px;opacity:.6;animation:cnyLanternSway 5s ease-in-out infinite .5s;transform-origin:top center}@keyframes cnyLanternSway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes cnyGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes cnyFireworkFull{0%{transform:translateY(120px);opacity:1}25%{transform:translateY(0);opacity:1}26%{transform:translateY(0);opacity:1}80%{transform:translateY(0);opacity:1}to{transform:translateY(0);opacity:0}}@keyframes cnyTrail{0%{height:0;opacity:0}5%{height:40px;opacity:.8}24%{height:60px;opacity:.6}26%{height:0;opacity:0}to{height:0;opacity:0}}@keyframes cnyBurst{0%,25%{transform:scale(0);opacity:0}30%{transform:scale(.6);opacity:1;filter:drop-shadow(0 0 8px rgba(255,68,68,.6))}45%{transform:scale(1);opacity:1;filter:drop-shadow(0 0 4px rgba(255,68,68,.3))}70%{transform:scale(1.3);opacity:.4;filter:none}to{transform:scale(1.5);opacity:0}}@media (max-width: 720px){.cny-lantern__body{width:36px;height:42px}.cny-lantern__body:before,.cny-lantern__body:after{width:24px;height:5px}.cny-lantern__text{font-size:16px}.cny-lantern__string{height:16px}.cny-lantern__tassel{height:12px}.cny-firecracker{width:20px;height:65px}.cny-firework--1,.cny-firework--2,.cny-firework--3{width:40px;height:40px}}@media (max-width: 480px){.cny-lantern__body{width:30px;height:36px}.cny-lantern__text{font-size:13px}.cny-firecracker{display:none}}.spring-theme .hero-map{background:radial-gradient(circle at 26% 18%,rgba(47,138,59,.14),transparent 55%),radial-gradient(circle at 74% 84%,rgba(31,109,104,.16),transparent 55%),#ffffffbd}.spring-theme .hero-map__backdrop{background:linear-gradient(135deg,#2f8a3b1a,#1f6d681f)}.spring-theme .hero-map__arc{border-color:#2f8a3b38;border-left-color:transparent;border-bottom-color:transparent}.spring-theme .hero-map__arc--b{border-color:#1f6d683d;border-right-color:transparent;border-top-color:transparent}.spring-theme .hero-map__arc--c{border-color:#2f8a3b24;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.spring-theme .hero-map__pulse{border-color:#2f8a3b2e}.spring-theme .hero-map__pulse--b{border-color:#1f6d6824}.spring-theme .hero-map__radar:before{background:conic-gradient(from 0deg,transparent 0deg,rgba(47,138,59,.12) 30deg,transparent 60deg)}.spring-theme .orbit-dot{box-shadow:0 0 10px #2f8a3b73}.spring-theme .orbit-dot--2{box-shadow:0 0 10px #1f6d6873}.spring-theme .hero-map__link-line{stroke:#1f6d681a}.spring-theme .hero-map__link-line:nth-child(odd){stroke:#2f8a3b1a}.spring-theme .hero-map__core-glow{background:radial-gradient(circle,rgba(47,138,59,.12) 0%,rgba(31,109,104,.08) 45%,transparent 70%)}.spring-theme .hero-map__sat-dot{box-shadow:0 0 8px #2f8a3b59}.spring-theme .hero-map__satellite:nth-child(odd) .hero-map__sat-dot{box-shadow:0 0 8px #1f6d6859}.spring-theme .hero-map__scanline{background:linear-gradient(90deg,transparent 0%,rgba(47,138,59,.26) 30%,rgba(47,138,59,.42) 50%,rgba(47,138,59,.26) 70%,transparent 100%)}.spring-theme .hero-map__core{box-shadow:0 14px 30px #16201524,0 0 44px #2f8a3b14}.spring-theme .hero-map__stream{background:linear-gradient(180deg,#1f6d6814,#2f8a3b52,#ffbcd838)}.spring-theme .hero-map__stream:after{background:radial-gradient(circle,#2f8a3be6,#2f8a3b1f 70%);box-shadow:0 0 12px #2f8a3b47}.spring-theme .mission__card:before{background:radial-gradient(circle,rgba(47,138,59,.1),transparent 70%)}.spring-theme .mission__card:hover{border-color:#2f8a3b38}.spring-theme .bg-veil{background:radial-gradient(circle at 78% 12%,rgba(47,138,59,.14),transparent 56%),radial-gradient(circle at 14% 72%,rgba(31,109,104,.16),transparent 60%),radial-gradient(circle at 46% 30%,rgba(255,188,216,.12),transparent 58%),linear-gradient(150deg,rgba(255,255,255,.82) 10%,rgba(239,247,239,.25) 58%,transparent 100%)}.spring-theme .top-nav{background:#eff7efd1}.spring-theme .top-nav.is-scrolled{background:#eff7ef9e;border-bottom-color:#16201514;box-shadow:0 10px 24px #16201514}.spring-decor{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.spring-tree{--flip: 1;position:absolute;bottom:-12px;width:min(220px,42vw);height:auto;opacity:.85;filter:drop-shadow(0 14px 26px rgba(22,32,21,.1));transform-origin:bottom center;animation:springTreeSway 6.5s ease-in-out infinite}.spring-tree--l{left:-10px;animation-delay:0s}.spring-tree--r{right:-14px;--flip: -1;animation-delay:1.2s}.spring-tree__buds{animation:springBudPulse 2.8s ease-in-out infinite}.spring-flowers{--flip: 1;position:absolute;bottom:-6px;width:min(300px,58vw);height:auto;opacity:.92;filter:drop-shadow(0 10px 22px rgba(22,32,21,.08))}.spring-flowers--l{left:42px;transform-origin:left bottom;animation:springBloomRise 1.6s ease-out both}.spring-flowers--r{right:44px;--flip: -1;transform-origin:right bottom;animation:springBloomRise 1.8s ease-out both .15s}.spring-flower{transform-origin:center;animation:springBloom 2.2s ease-out both}.spring-flower--1{animation-delay:.2s}.spring-flower--2{animation-delay:.45s}.spring-flower--3{animation-delay:.7s}.spring-decor__petals{position:absolute;top:0;right:0;bottom:0;left:0}.spring-petal{position:absolute;left:var(--left);top:-12vh;width:var(--size);height:var(--h);border-radius:999px 999px 999px 12px;background:radial-gradient(circle at 30% 30%,#fffffff2,#ffd6e8d9 55%,#ffbcd8cc);box-shadow:0 10px 22px #16201514;opacity:.7;transform:rotate(var(--rot));animation:springPetalFall var(--dur) linear infinite;animation-delay:var(--delay)}.spring-petal:after{content:"";position:absolute;top:18%;right:22%;bottom:34%;left:18%;border-radius:999px;background:#ffffff73;transform:rotate(18deg)}@keyframes springTreeSway{0%,to{transform:rotate(-1.6deg) scaleX(var(--flip))}50%{transform:rotate(1.2deg) scaleX(var(--flip))}}@keyframes springBudPulse{0%,to{opacity:.65;transform:translateY(0)}50%{opacity:.9;transform:translateY(-1px)}}@keyframes springBloom{0%{transform:scale(.75);opacity:0;filter:saturate(.9)}55%{transform:scale(1.03);opacity:1;filter:saturate(1.05)}to{transform:scale(1);opacity:1;filter:saturate(1)}}@keyframes springBloomRise{0%{transform:translateY(14px) scale(.98) scaleX(var(--flip));opacity:0}to{transform:translateY(0) scale(1) scaleX(var(--flip));opacity:1}}@keyframes springPetalFall{0%{transform:translate(0) rotate(var(--rot));opacity:0}6%{opacity:.72}55%{transform:translate(var(--drift),64vh) rotate(calc(var(--rot) + 140deg));opacity:.65}to{transform:translate(calc(var(--drift) * -.7),112vh) rotate(calc(var(--rot) + 260deg));opacity:0}}@media (max-width: 720px){.spring-tree{opacity:.78}.spring-flowers--l{left:18px}.spring-flowers--r{right:18px}.spring-petal{opacity:.62}}@media (max-width: 480px){.spring-tree--r{display:none}}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}
