.heading-cacao{color:var(--cacao-700)}.back-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--grid);background:var(--sand-50);font-size:13.5px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.back-pill:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.08);background:var(--sand-50)}html.dark .back-pill{color:var(--ink)}.item-row{padding:18px 0}.row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.title-link{position:relative;display:inline-flex;align-items:center;gap:.35rem;font-family:Georgia,Times New Roman,serif;font-weight:600;font-size:clamp(20px,3vw,28px);letter-spacing:-.01em;color:var(--cacao-700);text-decoration:none}.title-link .title-text{background:none}.title-link:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--cacao-700);transform:scaleX(.18);transform-origin:left;transition:transform .18s ease;opacity:.9}.title-link:hover:after{transform:scaleX(1)}.title-link .arrow{opacity:0;transform:translateX(-6px);transition:transform .18s ease,opacity .18s ease;font-size:18px;line-height:1}.title-link:hover .arrow{opacity:1;transform:translateX(0)}.date{color:var(--ink);opacity:.55;font-size:12px;white-space:nowrap;padding-top:4px}.tags{margin-bottom:18px}.item-sep{height:1px;background:var(--grid);opacity:.8;margin-top:6px}.article-grid{gap:28px;grid-template-columns:1fr}@media (min-width:1024px){.article-grid{grid-template-columns:260px 1fr}}.toc{position:relative}.toc-inner{position:sticky;top:90px;border:1px solid var(--grid);border-radius:12px;background:var(--sand-50);padding:14px}.toc-title{letter-spacing:.08em;opacity:.6;margin-bottom:8px}.toc-nav{display:flex;flex-direction:column;gap:8px}.toc-nav a{font-size:14px;color:var(--cacao-700);opacity:.85;text-decoration:none}.toc-nav a:hover{text-decoration:underline}.article{font-size:16.5px;line-height:1.7;color:var(--ink)}.article h2{font-size:clamp(20px,2.6vw,28px);line-height:1.1;letter-spacing:-.01em;margin:24px 0 8px}.article h2,.article h3{font-family:Georgia,Times New Roman,serif;color:var(--cacao-700)}.article h3{font-size:clamp(18px,2.2vw,22px);margin:18px 0 6px}.article p+p{margin-top:10px}.lead{font-size:18px;line-height:1.8;color:var(--cacao-700);margin-bottom:14px}.callout{border-left-width:4px;border-radius:10px;padding:12px 14px;background:var(--sand-50);margin:14px 0}.callout.info{border-left-color:var(--cacao-700)}.callout.warn{border-left-color:#a7702a}.figure{margin:18px 0}.figure-box{border:1px solid var(--grid);background:var(--sand-50);border-radius:12px;padding:16px}.diagram-placeholder{height:180px;border-radius:10px;background:radial-gradient(400px 160px at 20% 50%,rgba(0,0,0,.06),transparent 60%),radial-gradient(400px 160px at 80% 50%,rgba(0,0,0,.06),transparent 60%),linear-gradient(0deg,rgba(0,0,0,.02),rgba(0,0,0,.02));display:flex;align-items:center;justify-content:center;color:var(--ink);opacity:.44;font-style:italic;font-size:14px}.caption{font-size:12.5px;opacity:.55;margin-top:6px;text-align:center}.caption,.code{color:var(--ink)}.code{background:var(--sand-50);border:1px solid var(--grid);border-radius:10px;padding:12px 14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.6}.article-nav{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.pill.pill-xs{padding:.3rem .6rem;font-size:11.5px}.article-grid{display:grid;gap:22px;grid-template-columns:260px 1fr}@media (max-width:980px){.article-grid{grid-template-columns:1fr}}.article-meta{margin-top:.6rem;display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--ink);opacity:.55;font-size:13.5px}.article-meta .meta-tags{display:flex;gap:.4rem}.pill--sm{padding:.35rem .7rem;font-size:12px}.toc{position:sticky;top:90px;align-self:start;background:var(--sand-50);border:1px solid var(--grid);border-radius:12px;padding:14px}.toc-title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:.55;margin-bottom:.4rem}.toc-list{counter-reset:sec}.toc-list li{list-style:none;margin:.35rem 0;counter-increment:sec}.toc-list li a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--cacao-700)}.toc-list li a:before{content:counter(sec) ".";font-size:12px;color:var(--ink);opacity:.55}.article{min-width:0}.sec{margin-top:26px}.sec-title{font-size:clamp(20px,2.4vw,26px);color:var(--cacao-700);margin-bottom:.6rem}.callout{position:relative;border:1px solid var(--grid);border-radius:12px;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(255,255,255,.85));box-shadow:inset 0 8px 30px rgba(0,0,0,.05)}.callout-bar{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--cacao-700);opacity:.7;border-radius:12px 0 0 12px}.callout-body{padding:14px 16px 14px 20px;font-size:15px}.callout-body strong{font-weight:700}.figure{margin-top:14px}.diagram-box{border:1px solid var(--grid);border-radius:14px;padding:32px 20px;text-align:center;color:var(--ink);font-size:14px;box-shadow:inset 0 12px 40px rgba(0,0,0,.06)}.figure figcaption{margin-top:8px;text-align:center}.idea-clave{background:var(--sand-50);border:1px solid var(--grid);border-radius:10px;padding:1rem 1.25rem;margin:1.5rem 0;box-shadow:0 2px 6px rgba(0,0,0,.05)}.idea-clave strong{font-weight:700}.idea-clave em{font-style:italic}.indice{background:var(--sand-50);border-left:4px solid var(--grid);border-radius:10px;padding:1rem 1.25rem;font-size:.95rem;line-height:1.5;box-shadow:0 2px 4px rgba(0,0,0,.05)}.indice ol{padding-left:1.2rem;margin:0}.indice li{margin:.25rem 0}.indice h3{font-size:.9rem;font-weight:700;color:var(--cacao-700);margin-bottom:.5rem;letter-spacing:.05em;text-transform:uppercase}.ktd-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.6rem}.ktd-title{font-weight:600;color:var(--cacao-700)}.ktd-meta{display:flex;gap:12px;font-size:12.5px;color:var(--ink);opacity:.55}.ktd-rail{padding:10px;margin:6px 0 10px;border:1px solid var(--grid)}.ktd-rail-inner{padding:12px}.ktd-event{min-width:160px;text-align:left}.ktd-event .ktd-badge{font-size:11.5px;color:var(--cacao-700);opacity:.85;margin-bottom:4px}.ktd-event .ktd-body{font-weight:600;color:var(--cacao-700)}.ktd-event.is-reading{box-shadow:0 6px 20px rgba(0,0,0,.08)}.ktd-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.btn{padding:.45rem .8rem;border:1px solid var(--grid);border-radius:8px;background:var(--sand-50);cursor:pointer;font-size:14px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.08)}.btn-primary{background:#e9d9bf;border-color:#cfb893}html.dark .btn-primary{background:var(--cacao-700);border-color:var(--cacao-700);color:var(--sand-200)}.ktd-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:13.5px;color:var(--ink)}.ktd-note{margin-top:8px;font-size:12.5px;color:var(--ink)}.kfd{text-align:left}.kfd-grid{display:grid;grid-template-columns:1fr auto 2fr auto 1fr;gap:14px;align-items:center}@media (max-width:980px){.kfd-grid{grid-template-columns:1fr}.kfd-arrow{display:none}}.kfd-card{background:var(--sand-50);border:1px solid var(--grid);border-radius:12px;padding:12px 14px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.kfd-title{font-weight:700;color:var(--cacao-700);margin-bottom:4px}.kfd-sub{margin-bottom:8px}.kfd-meta,.kfd-sub{font-size:12.5px;color:var(--ink);opacity:.55}.kfd-meta{display:flex;flex-wrap:wrap;gap:10px}.kfd-arrow{opacity:.6;font-weight:700;border-bottom:2px dashed var(--grid);height:1px;align-self:stretch}.ktd-rail{overflow-y:hidden;padding:8px;margin:6px 0;border:1px dashed var(--grid);border-radius:10px;background:var(--sand-50)}.ktd-rail-inner{display:flex;align-items:center;gap:10px;min-width:100%;padding:10px}.ktd-event{min-width:150px;background:var(--sand-50);border:1px solid var(--grid);border-radius:10px;padding:10px 12px;box-shadow:0 2px 10px rgba(0,0,0,.04)}.ktd-badge{font-size:11.5px;margin-bottom:4px}.ktd-badge,.ktd-body{color:var(--cacao-700)}.ktd-body{font-weight:600}.ktd-event.is-reading{outline:2px solid rgba(183,155,117,.6)}html.dark .ktd-event.is-reading{outline:2px solid rgba(246,232,207,.55)}.kfd-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:13.5px;color:var(--ink)}.kfd-hint{font-size:12px;color:var(--ink);margin-top:6px}.mt-2{margin-top:.5rem}.kfd-topic,.ktd-rail-inner{min-width:0}.kfd-arrow{align-self:center;display:flex;align-items:center;justify-content:center;height:100%}.kfd-arrow:before{content:"";display:block;width:100%;border-bottom:2px dashed var(--grid)}.dmd{text-align:left}.dmd-grid{display:grid;grid-template-columns:1fr auto 2fr auto 1fr;gap:14px;align-items:center}@media (max-width:980px){.dmd-grid{grid-template-columns:1fr}.dmd-arrow{display:none}}.dmd-card{background:var(--sand-50);border:1px solid var(--grid);border-radius:12px;padding:12px 14px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.dmd-title{font-weight:700;color:var(--cacao-700);margin-bottom:4px}.dmd-sub{font-size:12.5px;color:var(--ink);opacity:.55;margin-bottom:8px}.dmd-actions{display:flex;gap:8px;align-items:center;margin-top:6px}.dmd-badge{font-size:12px;padding:.25rem .5rem;border-radius:8px;border:1px solid var(--grid);background:var(--sand-50)}.dmd-badge.ok{background:#e6f4ea;border-color:#c8e6d0}.dmd-badge.pending{background:#fff7e6;border-color:#f0dfb9}.dmd-arrow{align-self:center;display:flex;align-items:center;justify-content:center;height:100%}.dmd-arrow:before{content:"";display:block;width:100%;border-bottom:2px dashed var(--grid)}html.dark .dmd-card{background:var(--cacao-800);border-color:var(--cacao-600)}html.dark .dmd-title{color:var(--sand-100)}html.dark .dmd-sub{color:var(--sand-300)}html.dark .ktd-event{background:var(--cacao-700);border-color:var(--cacao-500)}html.dark .ktd-badge{color:var(--sand-200)}html.dark .ktd-body{color:var(--sand-100)}html.dark .dmd-badge.ok{background:rgba(46,125,50,.2);border-color:rgba(129,199,132,.6);color:var(--sand-100)}html.dark .dmd-badge.pending{background:rgba(255,193,7,.15);border-color:rgba(255,213,79,.5);color:var(--sand-100)}html.dark .btn{background:var(--cacao-700);color:var(--sand-100);border-color:var(--cacao-500)}html.dark .btn-primary{background:var(--cacao-600);border-color:var(--cacao-400);color:var(--sand-50)}html.dark .dmd-card{background:#2a2520;border-color:#4d4239}html.dark .dmd-title{color:#f5f0ea}html.dark .dmd-sub{color:#d2c6b8}html.dark .ktd-event{background:#3a332d;border-color:#5a4e44}html.dark .ktd-badge{color:#e8e1d8}html.dark .ktd-body{color:#f5f0ea}html.dark .dmd-badge.ok{background:rgba(76,175,80,.25);border-color:rgba(129,199,132,.7);color:#e8e1d8}html.dark .dmd-badge.pending{background:rgba(255,193,7,.25);border-color:rgba(255,213,79,.7);color:#e8e1d8}html.dark .btn{background:#3a332d;color:#f5f0ea;border-color:#5a4e44}html.dark .btn:hover{background:#4a4138}html.dark .btn-primary{background:#cfb27c;border-color:#b89c68;color:#1f1a14}html.dark .btn-primary:hover{background:#ddb86f}.dmd{overflow-x:auto}.dmd,.dmd-grid{max-width:100%}.dmd-topic{min-width:0}.ktd-rail{max-width:100%;overflow-x:auto}.img-grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:980px){.img-grid{grid-template-columns:1fr 1fr}}.img-grid .diagram-box img{display:block;width:100%;height:auto}.figure .diagram-box{max-width:100%;overflow:hidden}.bgd{text-align:left}.bgd-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.bgd-title{font-weight:700;color:var(--cacao-700)}.bgd-controls{display:flex;gap:14px;flex-wrap:wrap}.bgd-ctrl{display:flex;align-items:center;gap:.6rem;font-size:13.5px}.bgd-ctrl input[type=range]{width:160px}.bgd-grid{display:grid;gap:14px;grid-template-columns:1fr 220px 1fr;align-items:center}@media (max-width:980px){.bgd-grid{grid-template-columns:1fr}}.bgd-card{border:1px solid var(--grid);border-radius:12px;padding:10px 12px;background:var(--sand-50);box-shadow:0 2px 10px rgba(0,0,0,.03)}.bgd-card-title{font-weight:700;margin-bottom:6px}.bgd-blue{background:#e7e3ff}.bgd-green{background:#e4f9e7}html.dark .bgd-blue{background:#28284a}html.dark .bgd-green{background:#1e3a29}.bgd-rail{display:flex;gap:6px;flex-wrap:wrap;min-height:42px;border:1px dashed var(--grid);background:rgba(255,255,255,.35);border-radius:8px;padding:8px}html.dark .bgd-rail{background:rgba(0,0,0,.15)}.bgd-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.bgd-dot-blue{background:#6b6bff}.bgd-dot-green{background:#27c468}.bgd-split{text-align:center;display:flex;flex-direction:column;gap:8px}.bgd-split-bar{border:1px solid var(--grid);border-radius:10px;overflow:hidden;height:14px;background:linear-gradient(90deg,#6b6bff,#6b6bff);position:relative}.bgd-split-green{position:absolute;top:0;bottom:0;left:0;background:#27c468}.bgd-split-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink);opacity:.75}.bgd-foot{margin-top:8px;text-align:center;font-size:13px}.code-grid{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:980px){.code-grid{grid-template-columns:1fr 1fr}}.code-card{border:1px solid var(--grid);border-radius:10px;background:var(--sand-50);padding:8px 10px}.code-card summary{font-weight:700;color:var(--cacao-700);cursor:pointer;margin-bottom:6px}.code-title{list-style:none}.code-card[open] summary{margin-bottom:8px}.figure .diagram-box img,.figure .diagram-box svg{max-width:100%;height:auto;display:block}.snip-grid{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:980px){.snip-grid{grid-template-columns:1fr 1fr}}.snip-card{border:1px solid var(--grid);border-radius:12px;background:var(--sand-50);padding:10px 12px}.snip-title{font-weight:700;color:var(--cacao-700);margin-bottom:6px;font-family:Georgia,Times New Roman,serif}.snip{background:rgba(0,0,0,.06);border:1px solid var(--grid);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.55;color:var(--ink)}.snip-note{margin-top:6px;font-size:12.5px;color:var(--ink);opacity:.7}html.dark .snip-card{background:#2b241c;border-color:rgba(255,255,255,.1)}html.dark .snip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#f2efe9}.link{color:var(--cacao-700);font-weight:600;text-decoration:underline;transition:color .16s ease}html.dark .link{color:#f6e8cf}.link:hover{opacity:.9}.code-gallery{gap:20px;width:100%;max-width:900px;margin:0 auto}.code-block{background-color:#1e1e1e;color:#d4d4d4;padding:20px;border-radius:10px;box-shadow:0 0 15px rgba(255,255,255,.1);overflow-x:auto}.code-block h3{margin-top:0;color:#f5f5f5}.code-block pre{background:#252526;padding:15px;border-radius:5px;font-family:monospace;white-space:pre-wrap;word-wrap:break-word}.code-gallery{display:flex;flex-direction:column;gap:18px;max-width:960px;margin:8px auto 0}.code-block{border:1px solid var(--grid);border-radius:12px;background:linear-gradient(180deg,var(--sand-50),rgba(255,255,255,.9));box-shadow:inset 0 10px 24px rgba(0,0,0,.05);padding:12px 14px}html.dark .code-block{background:#1a1815;border-color:rgba(255,255,255,.08);box-shadow:inset 0 8px 24px rgba(0,0,0,.45)}.code-block__title{font-family:Georgia,Times New Roman,serif;font-weight:700;color:var(--cacao-700);letter-spacing:-.01em;margin-bottom:8px;font-size:16px}html.dark .code-block__title{color:#f4e8d2}.code-block__pre{background:#1f1f1f;color:#e9e9e9;border-radius:10px;padding:12px 14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.6;border:1px solid rgba(255,255,255,.06)}.code-block__pre code{font-family:inherit}.code-block__note{margin-top:8px;font-size:12.5px;color:var(--ink);opacity:.65}.code-block__pre::-webkit-scrollbar{height:10px;width:10px}.code-block__pre::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}.code-block__pre::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}.figure+.code-gallery{margin-top:10px}.article a{color:var(--cacao-700);text-decoration:underline}html.dark .article a{color:#f6e8cf}.diagram-box{display:flex;justify-content:center;align-items:center}.diagram-box img{margin:0 auto;display:block}.callout.clean{border:1px solid var(--grid);border-radius:12px;background:var(--sand-50);box-shadow:none}.callout.clean .callout-bar{background:var(--cacao-700)}