.lib{min-height:100vh;margin:0;padding:0 clamp(16px,5vw,64px) 80px;background:radial-gradient(1200px 600px at 50% -10%,#fbf6ec 0%,transparent 70%),linear-gradient(180deg,#f0e7d6,#e7dcc6);color:#2a241c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;box-sizing:border-box}.lib *,.lib *:before,.lib *:after{box-sizing:border-box}.lib-head{text-align:center;padding:clamp(40px,7vw,88px) 0 28px;max-width:760px;margin:0 auto}.lib-eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:12px;font-weight:700;color:#b08442;margin-bottom:14px}.lib-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,6vw,60px);font-weight:700;letter-spacing:-.01em;color:#251f17}.lib-sub{margin:16px auto 0;max-width:560px;font-size:clamp(14px,1.6vw,17px);line-height:1.55;color:#6c604b}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(20px,3vw,44px) clamp(8px,2vw,28px);max-width:1280px;margin:36px auto 0;justify-items:center}.lib-series{max-width:1280px;margin:52px auto 0}.lib-series-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:0 8px 6px;margin:0 8px 22px;border-bottom:2px solid rgba(120,90,50,.2)}.lib-series-name{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,3vw,30px);font-weight:700;color:#2a2018}.lib-series-meta{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b08442}.lib-series-row{display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,22px);justify-content:center}.lib-series-row .lib-book{width:230px;flex:0 0 auto}.lib-book-num{color:#b08442;font-weight:800}@media (min-width: 760px){.lib-series-row{justify-content:flex-start}}.lib-book{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:8px 6px 0;cursor:pointer;display:flex;flex-direction:column;align-items:center;width:100%;font:inherit;color:inherit}.lib-book-canvas{display:block;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.lib-book:hover .lib-book-canvas,.lib-book:focus-visible .lib-book-canvas{transform:translateY(-2px) scale(1.015)}.lib-book:focus-visible{outline:none}.lib-book-cap{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:6px;max-width:220px}.lib-book-cap-title{font-weight:700;font-size:15px;color:#2a241c}.lib-book-cap-sub{font-size:12px;line-height:1.35;color:#8a7c63;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lib-empty{text-align:center;color:#8a7c63;padding:80px 16px;font-size:16px}.lib-empty code{background:#0000000f;padding:2px 7px;border-radius:5px;font-size:14px}.lib-foot{text-align:center;margin-top:64px;color:#a2926f;font-size:13px}.lib-foot a{color:#8a6d3b;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(138,109,59,.4)}.lib-foot a:hover{color:#5a4424}.lib-gh{position:fixed;top:18px;right:18px;z-index:30;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#5a4d38;background:#ffffff8c;border:1px solid rgba(120,90,50,.18);box-shadow:0 2px 8px #503c1e1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .18s,color .18s,background .18s}.lib-gh:hover{color:#241f17;background:#fff;transform:translateY(-1px) scale(1.05)}@media (max-width: 520px){.lib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.learn{--bg: #0a0e1a;--panel: rgba(13, 19, 33, .92);--text: #e6edf6;--muted: #8da2be;--line: rgba(148, 163, 184, .18);--accent: #38bdf8;--k-client: #38bdf8;--k-loadbalancer: #a78bfa;--k-service: #34d399;--k-database: #fbbf24;--k-cache: #f472b6;--k-queue: #fb923c;--k-worker: #2dd4bf;--k-external: #94a3b8;--k-vault: #f5b942;--k-key: #c084fc;--k-proxy: #22d3ee;--k-record: #fb7185;position:fixed;top:0;right:0;bottom:0;left:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(1200px 720px at 50% -12%,#16223e 0%,var(--bg) 62%);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}.learn,.learn *,.learn *:before,.learn *:after{box-sizing:border-box}.learn.learn-embedded{position:relative;inset:auto;height:100%;width:100%;border-radius:16px;overflow:hidden}.learn-loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background:#0a0e1a;color:#9ab2c8;font:500 18px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.learn .node-ico-img{stroke:none;filter:brightness(0) invert(1);opacity:.92}.learn .node-emblem-bg{fill:#0f1628eb;stroke:currentColor;stroke-width:1.2px}.learn .packet-ico{stroke:none;filter:brightness(0) invert(1)}.learn .packet-pulse{transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion: reduce){.learn .packet-pulse{transform:none!important}}.presentation{display:flex;flex-direction:column;height:100%;position:relative}.menu{height:100%;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:48px 24px}.menu-inner{width:100%;max-width:720px}.menu-head{margin-bottom:34px}.menu-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.menu-title{margin:0 0 10px;font-size:40px;font-weight:800;letter-spacing:-1px}.menu-sub{margin:0;font-size:16px;color:var(--muted);max-width:540px;line-height:1.5}.chapter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.chapter-card{--accent: #38bdf8;width:100%;display:flex;align-items:center;gap:20px;text-align:left;padding:20px 22px;border-radius:16px;cursor:pointer;color:var(--text);background:linear-gradient(180deg,#ffffff09,#ffffff03);border:1px solid var(--line);transition:border-color .18s,background .18s,transform .12s}.chapter-card:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:linear-gradient(180deg,#ffffff0f,#ffffff04);transform:translateY(-1px)}.chapter-num{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);flex:0 0 auto;width:44px;letter-spacing:-1px}.chapter-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.chapter-card-title{font-size:18px;font-weight:700}.chapter-blurb{font-size:13.5px;color:var(--muted);line-height:1.45}.chapter-go{flex:0 0 auto;font-size:20px;color:var(--accent);opacity:0;transform:translate(-6px);transition:opacity .18s,transform .18s}.chapter-card:hover .chapter-go{opacity:1;transform:translate(0)}.menu-foot{margin-top:26px;font-size:12.5px;color:var(--muted);opacity:.7}.chapters-btn{position:absolute;top:18px;left:18px;z-index:5;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer;color:var(--text);background:#0d1321b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);transition:background .15s,border-color .15s}.chapters-btn:hover{background:#1e293bd9;border-color:#94a3b866}.end-card{position:absolute;top:50%;right:28px;transform:translateY(-50%);z-index:6;width:290px;padding:22px;border-radius:16px;background:#0d1321f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 16px 48px #0000008c;animation:endCardIn .35s cubic-bezier(.4,0,.2,1)}@keyframes endCardIn{0%{opacity:0;transform:translateY(-50%) translate(12px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.end-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.end-title{font-size:19px;font-weight:700;line-height:1.25;margin-bottom:16px}.end-countbar{height:4px;border-radius:999px;background:#94a3b829;overflow:hidden}.end-countbar span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#a78bfa);animation:endCountdown 10s linear forwards}@keyframes endCountdown{0%{width:100%}to{width:0%}}.end-sub{font-size:13px;color:var(--muted);margin-top:10px}.end-actions{display:flex;gap:10px;margin-top:18px}.end-go{flex:1;padding:10px 12px;border-radius:10px;cursor:pointer;background:var(--accent);border:1px solid var(--accent);color:#06283a;font:inherit;font-weight:650;font-size:14px}.end-go:hover{background:#7dd3fc;border-color:#7dd3fc}.end-cancel{padding:10px 14px;border-radius:10px;cursor:pointer;background:#94a3b814;border:1px solid var(--line);color:var(--text);font:inherit;font-size:14px}.end-cancel:hover{background:#94a3b82e}.learn{height:100%;display:flex;flex-direction:column;overflow:hidden}.learn-bar{flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line);background:#0a0e1abf;z-index:8}.learn-hamburger,.learn-bar-nav button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;cursor:pointer;color:var(--text);background:#94a3b814;border:1px solid var(--line);transition:background .15s,border-color .15s}.learn-hamburger:hover,.learn-bar-nav button:hover:not(:disabled){background:#94a3b82e}.learn-bar-nav button:disabled{opacity:.35;cursor:default}.learn-bar-mid{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.learn-bar-brand{font-size:11px;letter-spacing:.5px;color:var(--muted)}.learn-bar-chapter{display:flex;align-items:baseline;gap:8px;font-size:14.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-bar-num{font-weight:800;font-variant-numeric:tabular-nums;flex:0 0 auto}.learn-bar-nav{display:flex;gap:8px;flex:0 0 auto}.learn-body{flex:1;min-height:0;display:flex;position:relative}.learn-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#04070e99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlayIn .2s ease}.learn-nav{position:fixed;top:0;left:0;bottom:0;z-index:21;width:min(360px,86vw);overflow-y:auto;background:#0c1220;border-right:1px solid var(--line);padding:26px 18px;box-shadow:0 0 60px #0009;transform:translate(-100%);transition:transform .24s cubic-bezier(.4,0,.2,1)}.learn-nav.open{transform:translate(0)}.learn-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:18px;padding:6px 10px 6px 6px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;background:#ffffff0a;border:1px solid var(--line);transition:color .15s,background .15s,border-color .15s}.learn-back:hover{color:var(--text, #e9eefb);background:#ffffff14;border-color:#ffffff2e}.learn-back svg{width:16px;height:16px}.learn-nav-head{margin-bottom:22px}.learn-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.learn-h1{margin:0 0 8px;font-size:24px;font-weight:800;letter-spacing:-.5px}.learn-tagline{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.learn-book-head{display:flex;align-items:center;gap:13px;margin-top:12px}.learn-book-info{display:flex;flex-direction:column;gap:4px;min-width:0}.learn-book-head .learn-h1{margin:0;font-size:19px;line-height:1.2}.learn-book-head .learn-tagline{font-size:12px}.learn-book-meta{font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--muted);font-variant-numeric:tabular-nums}.learn-chapters{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.learn-chapter{--accent: #38bdf8;width:100%;display:flex;align-items:flex-start;gap:14px;text-align:left;padding:14px;border-radius:12px;cursor:pointer;color:var(--text);background:transparent;border:1px solid transparent;transition:background .15s,border-color .15s}.learn-chapter:hover{background:#ffffff09}.learn-chapter.active{background:#ffffff0f;border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.learn-num{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);flex:0 0 auto;letter-spacing:-.5px;line-height:1.4}.learn-ctext{display:flex;flex-direction:column;gap:3px;min-width:0}.learn-ctitle{font-size:15px;font-weight:650}.learn-cblurb{font-size:12px;color:var(--muted);line-height:1.4}.learn-h1.series{font-size:19px;line-height:1.25}.learn-series-section{margin-bottom:6px}.learn-series-book{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);padding:9px 8px;border-radius:10px;margin:12px 0 5px;border-top:1px solid var(--line);cursor:pointer}.learn-series-section:first-of-type .learn-series-book{border-top:0;margin-top:2px}.learn-series-book:hover{background:#ffffff0b}.learn-series-book.current{cursor:default;background:#ffffff0d}.learn-series-cover{flex:0 0 auto;border-radius:3px;box-shadow:0 3px 11px #0000008c}.learn-series-binfo{display:flex;flex-direction:column;gap:2px;min-width:0}.learn-series-btitle{font-size:14px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-series-book.current .learn-series-btitle{color:var(--accent)}.learn-series-bsub{font-size:11px;color:var(--muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learn-chapters.compact{gap:2px;padding-left:8px}.learn-chapter.compact{padding:7px 10px;gap:10px;align-items:center;border-radius:9px}.learn-chapter.compact .learn-num{font-size:13px}.learn-chapter.compact .learn-ctitle{font-size:13px;font-weight:600}.learn-series-bmeta{font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px}.learn-cdur{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);opacity:.82;margin-top:1px}.learn-player{flex:1;min-height:0;position:relative}.learn-player .presentation{height:100%}@media (min-width: 1024px){.learn-bar{display:none}.learn-nav{position:static;transform:none;transition:none;z-index:auto;flex:0 0 320px;width:320px;box-shadow:none;padding:28px 18px 28px 24px;background:#0a0e1a99}.learn-backdrop{display:none}}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;cursor:pointer;border:none;background:#080c1652;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:overlayIn .2s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.play-overlay-btn{display:grid;place-items:center;width:84px;height:84px;border-radius:999px;color:#06283a;background:var(--accent);box-shadow:0 10px 40px #38bdf866;padding-left:6px;transition:transform .12s,background .15s}.play-overlay:hover .play-overlay-btn{transform:scale(1.06);background:#7dd3fc}.panel{z-index:4}.narration-body{animation:narrationIn .28s cubic-bezier(.4,0,.2,1)}@keyframes narrationIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.learn-bar-brand{display:none}.play-overlay-btn{width:70px;height:70px}.end-card{left:12px;right:12px;width:auto;top:70px;bottom:auto;transform:none;animation:none}}.stage{flex:1;min-height:0;position:relative}.stage-svg{width:100%;height:100%;display:block}.stage-svg text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.node-bg{fill:#0f1628eb;stroke-width:1.4px;transition:stroke-width .3s ease}.node.active .node-bg{stroke-width:2.2px;filter:drop-shadow(0 0 9px currentColor)}.node .ico{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.node-label{fill:var(--text);font-size:15px;font-weight:650}.node-sub{fill:var(--muted);font-size:11px;font-weight:500}.badge-bg{fill:#1e293b;stroke:var(--line);stroke-width:1px}.badge-bg.ok{fill:#34d3992e;stroke:#34d3998c}.badge-bg.warn{fill:#fb923c2e;stroke:#fb923c8c}.badge-bg.info{fill:#38bdf82e;stroke:#38bdf88c}.badge-text{font-size:10px;font-weight:700;letter-spacing:.4px;fill:var(--text)}.badge-text.ok{fill:#6ee7b7}.badge-text.warn{fill:#fdba74}.badge-text.info{fill:#7dd3fc}.edge-line{stroke:#94a3b84d;stroke-width:2px;fill:none;transition:stroke .35s ease,stroke-width .35s ease}.edge-line.active{stroke:#94a3b8b8;stroke-width:2.6px}.edge-line.dashed{stroke-dasharray:6 7}.edge-arrow{fill:#94a3b880}.packet-halo{opacity:.32}.packet-core{filter:drop-shadow(0 0 6px currentColor)}.packet-label{font-size:12px;font-weight:650;fill:var(--text);paint-order:stroke;stroke:#080c16e6;stroke-width:4px}.cover-title{fill:#f3f7fc;font-size:46px;font-weight:800;letter-spacing:-1px}.cover-sub{fill:#9fb2cc;font-size:19px;font-weight:500}.cover-note{fill:#7488a5;font-size:15px;font-weight:700;letter-spacing:.5px;font-variant-numeric:tabular-nums}.panel{flex:0 0 auto;position:relative;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.progress{height:5px;width:100%;background:#94a3b81f}.progress.seekable{cursor:pointer}.progress.seekable:hover{height:8px}.progress .fill{height:100%;background:linear-gradient(90deg,#38bdf8,#a78bfa);transition:width .4s cubic-bezier(.4,0,.2,1)}.panel .inner{display:flex;align-items:center;gap:28px;padding:22px 36px 26px;max-width:1140px;margin:0 auto;width:100%}.panel .text{flex:1;min-width:0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.panel h2{margin:0 0 9px;font-size:22px;font-weight:700;letter-spacing:-.2px}.panel p{margin:0;font-size:15.5px;line-height:1.55;color:#cdd9ea;max-width:780px}.panel p.hint{color:var(--muted)}.panel code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:#94a3b824;padding:1px 6px;border-radius:5px;color:#bfe3ff}.panel strong{color:#fff;font-weight:700}.panel em{color:#e8eef8}.controls{display:flex;align-items:center;gap:10px;flex:0 0 auto}.controls button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;cursor:pointer;background:#94a3b814;border:1px solid var(--line);color:var(--text);transition:background .15s,border-color .15s,transform .1s}.controls button:hover:not(:disabled){background:#94a3b82e;border-color:#94a3b866}.controls button:active:not(:disabled){transform:scale(.94)}.controls button:disabled{opacity:.35;cursor:default}.controls .play{background:var(--accent);border-color:var(--accent);color:#06283a}.controls .play:hover:not(:disabled){background:#7dd3fc;border-color:#7dd3fc}.controls .sound.on{background:#34d399;border-color:#34d399;color:#06281c}.controls .sound.on:hover:not(:disabled){background:#6ee7b7;border-color:#6ee7b7}.counter{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);min-width:46px;text-align:center}@media (max-width: 720px){.panel .inner{flex-direction:column;align-items:stretch;gap:18px;padding:18px 20px 22px}.controls{justify-content:center}}
