.post-interactions[data-astro-cid-rn3splvz] [data-astro-cid-rn3splvz][data-like-btn].liked{color:var(--color-brand-500)}.post-interactions[data-astro-cid-rn3splvz] [data-astro-cid-rn3splvz][data-like-btn].liked svg[data-astro-cid-rn3splvz]{fill:var(--color-brand-500);stroke:var(--color-brand-500)}.post-interactions[data-astro-cid-rn3splvz] [data-astro-cid-rn3splvz][data-bookmark-btn].bookmarked{color:var(--color-surface-700)}.post-interactions[data-astro-cid-rn3splvz] [data-astro-cid-rn3splvz][data-bookmark-btn].bookmarked svg[data-astro-cid-rn3splvz]{fill:var(--color-surface-700);stroke:var(--color-surface-700)}.roadmap[data-astro-cid-f4ft7cmd]{margin:2.5rem 0;padding:1.75rem;border-radius:1rem;background:#0a0a0a8c;border:1px solid rgba(255,255,255,.06)}.roadmap-head[data-astro-cid-f4ft7cmd]{margin-bottom:1.75rem;position:relative}.roadmap-eyebrow[data-astro-cid-f4ft7cmd]{font-family:var(--font-mono, monospace);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#10b981bf;margin:0 0 .35rem}.roadmap-title[data-astro-cid-f4ft7cmd]{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:#fffffff2;margin:0 0 .4rem}.roadmap-subtitle[data-astro-cid-f4ft7cmd]{color:#ffffff73;font-size:.92rem;margin:0}.roadmap-tier-indicator[data-astro-cid-f4ft7cmd]{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono, monospace);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;padding:.3rem .6rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff05}.tier-dot[data-astro-cid-f4ft7cmd]{width:6px;height:6px;border-radius:50%;background:#fff6}.roadmap.tier-supporter .tier-dot[data-astro-cid-f4ft7cmd]{background:#fbbf24d9;box-shadow:0 0 6px #fbbf2480}.roadmap.tier-admin .tier-dot[data-astro-cid-f4ft7cmd]{background:#ef4444d9;box-shadow:0 0 6px #ef444480}.roadmap-track[data-astro-cid-f4ft7cmd]{list-style:none;padding:0;margin:0;display:grid;gap:1rem}@media(min-width:960px){.roadmap-track[data-astro-cid-f4ft7cmd]{display:flex;flex-direction:row;gap:.5rem;align-items:stretch;justify-content:center;min-width:0}.roadmap-node[data-astro-cid-f4ft7cmd]{flex:1 1 0;min-width:150px;max-width:360px;display:flex;flex-direction:column}.roadmap-card[data-astro-cid-f4ft7cmd]{flex:1;display:flex;flex-direction:column}.roadmap-reveal[data-astro-cid-f4ft7cmd]{flex:1}}.roadmap-node[data-astro-cid-f4ft7cmd]{display:grid;grid-template-columns:32px 1fr;gap:0;position:relative}@media(min-width:960px){.roadmap-node[data-astro-cid-f4ft7cmd]{grid-template-columns:1fr;grid-template-rows:28px 1fr}}.roadmap-node-rail[data-astro-cid-f4ft7cmd]{position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:1.1rem}.roadmap-node-rail[data-astro-cid-f4ft7cmd]:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.12),transparent);transform:translate(-50%)}@media(min-width:960px){.roadmap-node-rail[data-astro-cid-f4ft7cmd]{align-items:center;padding:0;height:28px}.roadmap-node-rail[data-astro-cid-f4ft7cmd]:before{inset:50% 0 auto;height:1px;width:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.15),transparent);transform:none}.roadmap-node[data-astro-cid-f4ft7cmd].is-first .roadmap-node-rail[data-astro-cid-f4ft7cmd]:before{background:linear-gradient(to right,transparent 50%,rgba(255,255,255,.15) 50%)}}.roadmap-node-dot[data-astro-cid-f4ft7cmd]{position:relative;z-index:1;width:11px;height:11px;border-radius:50%;background:#525252e6;box-shadow:0 0 0 3px #0a0a0ae6}.roadmap-node[data-astro-cid-f4ft7cmd].is-shipped .roadmap-node-dot[data-astro-cid-f4ft7cmd]{background:#10b981e6;box-shadow:0 0 0 3px #0a0a0ae6,0 0 12px #10b98173}.roadmap-node[data-astro-cid-f4ft7cmd].is-in_progress .roadmap-node-dot[data-astro-cid-f4ft7cmd]{background:#fbbf24e6;box-shadow:0 0 0 3px #0a0a0ae6,0 0 12px #fbbf2466}.roadmap-node[data-astro-cid-f4ft7cmd].is-next .roadmap-node-dot[data-astro-cid-f4ft7cmd]{background:#60a5fae6}.roadmap-node[data-astro-cid-f4ft7cmd].is-planned .roadmap-node-dot[data-astro-cid-f4ft7cmd]{background:#a78bfad9}.roadmap-node[data-astro-cid-f4ft7cmd].is-vision .roadmap-node-dot[data-astro-cid-f4ft7cmd]{background:transparent;border:1.5px dashed rgba(255,255,255,.45)}.roadmap-card[data-astro-cid-f4ft7cmd]{position:relative;margin:.75rem .5rem 0 0;padding:1rem 1.1rem 1.1rem;background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:.7rem;min-width:0;transition:background .15s,border-color .15s,box-shadow .15s}.roadmap-node[data-astro-cid-f4ft7cmd]:hover .roadmap-card[data-astro-cid-f4ft7cmd]{background:#ffffff0b;border-color:#ffffff2e;box-shadow:0 8px 28px #00000059;z-index:3}@media(min-width:960px){.roadmap-card[data-astro-cid-f4ft7cmd]{margin:.8rem 0 0;padding:.85rem .9rem .95rem}.roadmap-features[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd],.roadmap-features-supporter[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd],.roadmap-features-admin[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]{font-size:.76rem;line-height:1.4}.roadmap-card-title[data-astro-cid-f4ft7cmd]{font-size:.95rem}.roadmap-card-summary[data-astro-cid-f4ft7cmd]{font-size:.78rem}}.roadmap-node[data-astro-cid-f4ft7cmd].is-shipped .roadmap-card[data-astro-cid-f4ft7cmd]{border-color:#10b98147}.roadmap-node[data-astro-cid-f4ft7cmd].is-in_progress .roadmap-card[data-astro-cid-f4ft7cmd]{border-color:#fbbf2442}.roadmap-card-head[data-astro-cid-f4ft7cmd]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.3rem}.roadmap-version[data-astro-cid-f4ft7cmd]{font-family:var(--font-mono, monospace);font-size:.82rem;color:#ffffffe0;letter-spacing:.02em;font-weight:600}.roadmap-chip[data-astro-cid-f4ft7cmd]{font-family:var(--font-mono, monospace);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffffb3}.chip-shipped[data-astro-cid-f4ft7cmd]{color:#10b981f2;border-color:#10b98166;background:#10b9811f}.chip-in_progress[data-astro-cid-f4ft7cmd]{color:#fbbf24f2;border-color:#fbbf2466;background:#fbbf241f}.chip-next[data-astro-cid-f4ft7cmd]{color:#60a5faf2;border-color:#60a5fa66;background:#60a5fa1f}.chip-planned[data-astro-cid-f4ft7cmd]{color:#a78bfaf2;border-color:#a78bfa66;background:#a78bfa1f}.chip-vision[data-astro-cid-f4ft7cmd]{color:#ffffff8c;border-style:dashed}.roadmap-date[data-astro-cid-f4ft7cmd]{font-family:var(--font-mono, monospace);font-size:.72rem;color:#fff6;margin:0 0 .55rem;letter-spacing:.04em}.roadmap-card-title[data-astro-cid-f4ft7cmd]{font-size:1.02rem;font-weight:700;color:#fffffff5;margin:0 0 .3rem;line-height:1.25}.roadmap-card-summary[data-astro-cid-f4ft7cmd]{font-size:.83rem;color:#ffffff80;margin:0 0 .75rem;line-height:1.5}.roadmap-features[data-astro-cid-f4ft7cmd]{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.roadmap-features[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]{font-size:.8rem;color:#ffffffb8;line-height:1.45;padding-left:.9rem;position:relative}.roadmap-features[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]:before{content:"";position:absolute;left:0;top:.55rem;width:3px;height:3px;border-radius:50%;background:#ffffff59}.roadmap-tier-head[data-astro-cid-f4ft7cmd]{display:inline-flex;align-items:center;gap:.4rem;margin:.85rem 0 .4rem;font-family:var(--font-mono, monospace);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c}.tier-pip[data-astro-cid-f4ft7cmd]{width:6px;height:6px;border-radius:50%}.tier-pip-supporter[data-astro-cid-f4ft7cmd]{background:#fbbf24d9;box-shadow:0 0 6px #fbbf2466}.tier-pip-admin[data-astro-cid-f4ft7cmd]{background:#ef4444d9;box-shadow:0 0 6px #ef444466}.roadmap-supporter[data-astro-cid-f4ft7cmd]{margin-top:.3rem;padding:.15rem .7rem .6rem;border-left:2px solid rgba(251,191,36,.4);background:#fbbf2408;border-radius:4px}.roadmap-features-supporter[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]{color:#ffebb4d1}.roadmap-features-supporter[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]:before{background:#fbbf24cc!important}.roadmap-note[data-astro-cid-f4ft7cmd]{margin-top:.55rem;padding:.55rem .7rem;background:#fbbf240f;border:1px dashed rgba(251,191,36,.3);border-radius:6px}.roadmap-note-label[data-astro-cid-f4ft7cmd]{font-family:var(--font-mono, monospace);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#fbbf24d9;margin:0 0 .2rem}.roadmap-note-text[data-astro-cid-f4ft7cmd]{font-size:.78rem;color:#ffffffc7;margin:0;line-height:1.5}.roadmap-admin[data-astro-cid-f4ft7cmd]{margin-top:.5rem;padding:.35rem .7rem .6rem;border-left:2px solid rgba(239,68,68,.4);background:#ef444408;border-radius:4px}.roadmap-features-admin[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]{color:#ffc8c8cc}.roadmap-features-admin[data-astro-cid-f4ft7cmd] li[data-astro-cid-f4ft7cmd]:before{background:#ef4444cc!important}.roadmap-teaser[data-astro-cid-f4ft7cmd]{display:inline-flex;align-items:center;gap:.4rem;margin-top:.85rem;padding:.4rem .7rem;background:#fbbf240f;border:1px dashed rgba(251,191,36,.35);border-radius:8px;font-size:.72rem;color:#fbbf24d9;text-decoration:none;transition:background .12s,border-color .12s;cursor:pointer}.roadmap-teaser[data-astro-cid-f4ft7cmd]:hover{background:#fbbf241f;border-color:#fbbf248c}.teaser-lock[data-astro-cid-f4ft7cmd]{font-size:.9rem;opacity:.75}.teaser-count[data-astro-cid-f4ft7cmd]{font-weight:700;font-family:var(--font-mono, monospace)}.teaser-text[data-astro-cid-f4ft7cmd]{color:#fff9}.teaser-cta[data-astro-cid-f4ft7cmd]{margin-left:auto;font-family:var(--font-mono, monospace);font-size:.68rem;letter-spacing:.05em}.roadmap-q-slot[data-astro-cid-f4ft7cmd]{display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding:1.1rem .9rem;border:1px dashed rgba(255,255,255,.18);border-radius:6px;background:#ffffff04;transition:border-color .14s,background .14s,opacity .22s ease}.roadmap-node[data-astro-cid-f4ft7cmd]:hover .roadmap-q-slot[data-astro-cid-f4ft7cmd]{border-color:#fbbf2473;background:#fbbf240d}.rq-mark[data-astro-cid-f4ft7cmd]{flex-shrink:0;align-self:center;width:36px;height:36px;border-radius:50%;border:1px dashed rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.2rem;color:#fff6;transition:border-color .14s,color .14s,transform .14s}.roadmap-node[data-astro-cid-f4ft7cmd]:hover .rq-mark[data-astro-cid-f4ft7cmd]{border-color:#fbbf24a6;border-style:solid;color:#fbbf24f2;transform:scale(1.08)}.rq-lines[data-astro-cid-f4ft7cmd]{display:flex;flex-direction:column;gap:14px;width:100%;flex:1;justify-content:space-around}.rq-line[data-astro-cid-f4ft7cmd]{height:5px;border-radius:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 4px,transparent 4px 9px)}.rq-line[data-astro-cid-f4ft7cmd].short{width:62%;align-self:flex-start}.roadmap-node[data-astro-cid-f4ft7cmd]:hover .rq-line[data-astro-cid-f4ft7cmd]{background:repeating-linear-gradient(90deg,rgba(251,191,36,.55) 0 4px,transparent 4px 9px)}.roadmap-reveal[data-astro-cid-f4ft7cmd]{position:relative;margin-top:.85rem;display:grid;grid-template-areas:"stack"}.roadmap-q-slot[data-astro-cid-f4ft7cmd],.roadmap-reveal-body[data-astro-cid-f4ft7cmd]{grid-area:stack;transition:opacity .22s ease}.roadmap-reveal-body[data-astro-cid-f4ft7cmd],.roadmap-node[data-astro-cid-f4ft7cmd]:hover .roadmap-q-slot[data-astro-cid-f4ft7cmd]{opacity:0;pointer-events:none}.roadmap-node[data-astro-cid-f4ft7cmd]:hover .roadmap-reveal-body[data-astro-cid-f4ft7cmd]{opacity:1;pointer-events:auto}.roadmap ol,.roadmap ul,.roadmap-track,.roadmap-features{list-style:none!important;padding-left:0!important;margin:0;counter-reset:none}.roadmap li:before,.roadmap-node:before,.roadmap-features>li:before{content:none!important;counter-increment:none}.roadmap-node{padding-left:0!important;margin:0!important}.roadmap-features>li{padding-left:.9rem!important;margin:0!important;position:relative}.roadmap-features>li:before{content:""!important;position:absolute;left:0;top:.55rem;width:3px;height:3px;border-radius:50%;background:#ffffff59}.roadmap-node.is-shipped .roadmap-features>li:before{background:#10b981b3}.roadmap-node.is-in_progress .roadmap-features>li:before{background:#fbbf24b3}.roadmap.tier-public .is-supporter-only,.roadmap.tier-public .is-admin-only,.roadmap.tier-supporter .is-admin-only,.roadmap.tier-supporter [data-teaser],.roadmap.tier-admin [data-teaser]{display:none!important}.reveal-term{display:inline-block;font-family:var(--font-mono, monospace);font-weight:700;font-size:.92em;letter-spacing:.04em;color:#10b981f2;background:#10b98114;border:1px solid rgba(16,185,129,.28);padding:.05em .45em;border-radius:4px;cursor:pointer;transition:background .12s,border-color .12s,transform .08s;text-decoration:none;user-select:none;vertical-align:baseline}.reveal-term:hover{background:#10b9812e;border-color:#10b9818c}.reveal-term:active{transform:translateY(1px)}.reveal-term:focus-visible{outline:2px solid rgba(16,185,129,.7);outline-offset:2px}.reveal-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.reveal-modal[hidden]{display:none}.reveal-modal-backdrop{position:absolute;inset:0;background:#000000c7;backdrop-filter:blur(6px)}.reveal-modal-card{position:relative;background:#0f0f0f;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.5rem 1.75rem 1.75rem;max-width:min(1100px,94vw);width:100%;max-height:86vh;overflow-y:auto;box-shadow:0 28px 80px #0009;color:#ffffffeb}.reveal-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.reveal-modal-eyebrow{font-family:var(--font-mono, monospace);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#10b981d9}.reveal-modal-close{background:transparent;border:1px solid rgba(255,255,255,.14);color:#ffffffb3;width:30px;height:30px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.reveal-modal-close:hover{background:#ffffff0f;color:#fff}.reveal-modal-subtitle{color:#ffffff8c;font-size:.95rem;line-height:1.55;margin:0 0 1.25rem;max-width:70ch}.reveal-tree{display:grid;gap:1rem}.reveal-tree-root{justify-self:center;font-family:var(--font-mono, monospace);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffeb;padding:.45rem 1.1rem;border:1px solid rgba(16,185,129,.5);background:#10b9811f;border-radius:999px;position:relative}.reveal-tree-root:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:1rem;background:#ffffff2e;transform:translate(-50%)}.reveal-tree-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem;padding-top:.75rem;border-top:1px dashed rgba(255,255,255,.08)}.reveal-branch{background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.85rem .95rem 1rem}.reveal-branch h4{font-size:.9rem;font-weight:700;color:#10b981f2;margin:0 0 .6rem;letter-spacing:.01em}.reveal-branch ul{list-style:none!important;padding:0!important;margin:0;display:grid;gap:.3rem}.reveal-branch ul li{padding-left:0!important;margin:0!important;font-size:.78rem;color:#ffffffad;line-height:1.45}.reveal-branch ul li:before{content:none!important}.reveal-tree-foot{margin:.75rem 0 0;text-align:center;color:#ffffff6b;font-size:.82rem;font-style:italic}.admin-draft-nav-wrap{display:none}body:has(.is-admin-draft) .stoka-terminal,body:has(.is-admin-draft) .stoka-trigger{display:none!important}.admin-draft-bar{margin-top:4.5rem;background:#0a0a0aeb;border-bottom:1px solid rgba(16,185,129,.28)}.admin-draft-bar-row{display:flex;align-items:center;gap:.65rem;padding:.55rem 1.25rem;font-size:.78rem;color:#ffffffb3;max-width:92rem;margin:0 auto}.is-admin-draft{padding-top:1rem!important}.is-admin-draft .article-container:not(:has(.article-sidebar)){grid-template-columns:1fr!important;max-width:min(80rem,95vw)!important}.admin-draft-body-placeholder{font-family:var(--font-mono, monospace);font-size:.82rem;color:var(--color-surface-500, rgba(255,255,255,.45));padding:1.25rem 1rem;border:1px dashed var(--color-surface-200, rgba(255,255,255,.15));border-radius:8px;text-align:center}.admin-draft-pill{display:inline-flex;align-items:center;gap:.5rem;background:#10b9811f;border:1px solid rgba(16,185,129,.32);color:#10b981f2;padding:.28rem .65rem;border-radius:999px;font-size:.75rem;font-family:var(--font-mono, monospace)}.admin-draft-pill-dot{width:6px;height:6px;border-radius:50%;background:#10b981e6;box-shadow:0 0 8px #10b98199;animation:admin-draft-pulse 2s ease-in-out infinite}@keyframes admin-draft-pulse{0%,to{opacity:1}50%{opacity:.45}}.admin-draft-hint{flex:1;color:#ffffff6b;font-size:.75rem}.admin-draft-btn{background:transparent;border:1px solid rgba(82,82,82,.5);color:#ffffffb8;padding:.32rem .75rem;border-radius:6px;font:inherit;font-size:.75rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.admin-draft-btn:hover{background:#ffffff0a;border-color:#ffffff4d;color:#fff}.admin-draft-btn.primary{background:#10b98126;border-color:#10b98173;color:#10b981f2}.admin-draft-btn.primary:hover{background:#10b98140;border-color:#10b981b3}.admin-draft-viewport{display:inline-flex;align-items:stretch;gap:0;border:1px solid rgba(82,82,82,.5);border-radius:6px;overflow:hidden}.admin-draft-vw{background:transparent;border:0;border-right:1px solid rgba(82,82,82,.4);padding:.28rem .55rem;color:#ffffff8c;font:inherit;font-family:var(--font-mono, monospace);font-size:.7rem;letter-spacing:.04em;cursor:pointer;transition:background .12s,color .12s;min-width:30px}.admin-draft-vw:last-child{border-right:0}.admin-draft-vw:hover{background:#ffffff0a;color:#fff}.admin-draft-vw.is-active{background:#10b98126;color:#10b981fa}body[data-admin-draft-vw=mobile] .article-page,body[data-admin-draft-vw=tablet] .article-page,body[data-admin-draft-vw=laptop] .article-page{margin-left:auto;margin-right:auto;box-shadow:0 0 0 1px #ffffff14,0 12px 40px #00000059;border-radius:1rem;background:#0a0a0a59;padding-left:1rem!important;padding-right:1rem!important;transition:max-width .25s ease}body[data-admin-draft-vw=mobile] .article-page{max-width:375px}body[data-admin-draft-vw=tablet] .article-page{max-width:768px}body[data-admin-draft-vw=laptop] .article-page{max-width:1280px}body[data-admin-draft-vw=mobile] .article-container,body[data-admin-draft-vw=tablet] .article-container{grid-template-columns:1fr!important;padding:0 1rem!important;gap:1.5rem!important}body[data-admin-draft-vw=mobile] .article-sidebar,body[data-admin-draft-vw=tablet] .article-sidebar{display:none!important}body[data-admin-draft-vw=mobile] .article-card{padding:1.5rem!important}body[data-admin-draft-vw=tablet] .article-card{padding:2rem!important}@media(max-width:780px){.admin-draft-hint{display:none}}.article-page{position:relative}.article-container{display:grid;grid-template-columns:1fr;gap:2rem;max-width:min(105rem,96vw);margin:0 auto;padding:0 1.25rem}@media(min-width:1024px){.article-container{grid-template-columns:240px 1fr;gap:3rem;padding:0 2rem}.article-container:not(:has(.article-sidebar)){grid-template-columns:1fr!important;max-width:min(95rem,92vw)}}@media(min-width:1280px){.article-container{grid-template-columns:260px 1fr;gap:4rem;padding:0 2.5rem}}.article-body .article-emphasis{display:block;margin:2.25rem 0 2.25rem 1.75rem;padding:1.1rem 1.5rem;border-left:3px solid rgba(16,185,129,.6);border-radius:0 10px 10px 0;background:linear-gradient(90deg,rgba(16,185,129,.1) 0%,rgba(16,185,129,.035) 55%,transparent 100%);color:#f0faf5f5;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.95em;font-weight:500;line-height:1.6;letter-spacing:0;position:relative;max-width:none!important}.article-body .article-emphasis:before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#10b98100,#10b981d9 20% 80%,#10b98100)}@media(max-width:720px){.article-body .article-emphasis{margin-left:.5rem;padding:.9rem 1.1rem;font-size:1.02em}}.article-body .homage-section{position:relative;margin:3.5rem auto;padding:2.5rem 2.75rem 2rem;background:radial-gradient(circle at 50% 0%,rgba(251,191,36,.1) 0%,transparent 55%),linear-gradient(180deg,#20160ed9,#120d08e6);border:1px solid rgba(251,191,36,.28);border-radius:3px;box-shadow:0 0 0 6px #0000004d,0 24px 60px #00000073;color:#f0e6d2eb;isolation:isolate}.article-body .homage-section:before,.article-body .homage-section:after{content:"";position:absolute;width:28px;height:28px;border:1px solid rgba(251,191,36,.35);pointer-events:none}.article-body .homage-section:before{top:10px;left:10px;border-right:0;border-bottom:0}.article-body .homage-section:after{bottom:10px;right:10px;border-left:0;border-top:0}.article-body .homage-header{display:grid;grid-template-columns:72px 1fr;grid-template-areas:"avatar ident" "quote  quote";gap:1rem 1.4rem;padding-bottom:1.5rem;margin-bottom:1.5rem;position:relative}.article-body .homage-header:after{content:"✦";position:absolute;bottom:-.85rem;left:50%;transform:translate(-50%);width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;background:#20160e;color:#fbbf24cc;font-size:.9rem;border-radius:50%}.article-body .homage-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(251,191,36,.35) 15%,rgba(251,191,36,.35) 85%,transparent 100%)}.article-body .homage-avatar{grid-area:avatar;width:68px;height:68px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,rgba(251,191,36,.55),rgba(200,60,30,.2) 60%,transparent 90%),#0e0a06d9;border:1px solid rgba(251,191,36,.55);box-shadow:0 0 0 4px #fbbf2414,0 0 24px #fbbf2433,inset 0 0 12px #fbbf241a;font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.4rem;color:#fbebc8fa;letter-spacing:.02em}.article-body .homage-ident{grid-area:ident;align-self:center}.article-body .homage-ident>*{margin:0!important;max-width:none!important}.article-body .homage-eyebrow{font-family:var(--font-mono, monospace);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#fbbf24d9;margin-bottom:.3rem!important}.article-body .homage-name{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:700;color:#fbebc8fa;line-height:1.15;letter-spacing:-.005em}.article-body .homage-meta{font-family:var(--font-mono, monospace);font-size:.74rem;color:#fbebc885;margin-top:.3rem!important;letter-spacing:.06em;font-style:italic}.article-body .homage-pullquote{grid-area:quote;margin:.6rem auto 0;padding:.3rem 1rem;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:1.08rem;line-height:1.5;color:#fbebc8e0;text-align:center;max-width:60ch!important;position:relative}.article-body .homage-pullquote:before,.article-body .homage-pullquote:after{font-family:Georgia,serif;color:#fbbf248c;font-style:normal;font-size:1.3rem;vertical-align:-.15em}.article-body .homage-pullquote:before{content:"“ "}.article-body .homage-pullquote:after{content:" ”"}.article-body .homage-section>h2{font-family:Georgia,Times New Roman,serif!important;text-align:center;font-size:1.45rem!important;font-style:italic;font-weight:500!important;color:#fbebc8fa!important;margin:0 0 1.5rem!important;letter-spacing:.005em!important;padding:0!important;border:0!important;max-width:none!important}.article-body .homage-section>p{font-family:Georgia,Times New Roman,serif;font-size:1.02rem;line-height:1.72;color:#f0e6d2e0;max-width:none!important}.article-body .homage-section>p+p{margin-top:1.15rem}.article-body .homage-section em,.article-body .homage-section i{color:#fbd78cf2}@media(max-width:720px){.article-body .homage-section{padding:1.75rem 1.25rem 1.25rem}.article-body .homage-header{grid-template-columns:52px 1fr;grid-template-areas:"avatar ident" "quote quote";gap:.75rem 1rem}.article-body .homage-avatar{width:52px;height:52px;font-size:1.1rem}.article-body .homage-name{font-size:1.15rem}.article-body .homage-section>h2{font-size:1.2rem!important}.article-body .homage-pullquote{font-size:.95rem}}.article-sidebar{display:none}@media(min-width:1024px){.article-sidebar{display:block}}.toc-nav{position:sticky;top:6rem;padding-right:1rem}.toc-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-surface-500);margin-bottom:.875rem}.toc-list{list-style:none;padding:0;margin:0;border-left:1px solid var(--color-surface-200)}.toc-list li{margin:0}.toc-link{display:block;padding:.375rem 0 .375rem 1rem;font-size:.8125rem;color:var(--color-surface-500);line-height:1.5;transition:color .15s,border-color .15s;border-left:2px solid transparent;margin-left:-1px}.toc-link:hover{color:var(--color-brand-400)}.toc-link.active{color:var(--color-brand-400);border-left-color:var(--color-brand-400)}.article-main{min-width:0}.article-card{background:var(--color-surface-50);border:1px solid var(--color-surface-100);border-radius:1rem;padding:1.5rem}@media(min-width:640px){.article-card{padding:2rem}}@media(min-width:1024px){.article-card{padding:3rem 3.5rem}}@media(min-width:1280px){.article-card{padding:3.5rem 4.5rem}}.article-breadcrumb{margin-bottom:1.5rem}.breadcrumb-list{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;list-style:none;padding:0;margin:0;font-family:var(--font-mono);font-size:.75rem}.breadcrumb-link{color:var(--color-surface-400);transition:color .15s}.breadcrumb-link:hover{color:var(--color-surface-600)}.breadcrumb-sep{color:var(--color-surface-300)}.breadcrumb-current{color:var(--color-surface-500)}.article-header{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-surface-200)}.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;font-size:.8125rem;color:var(--color-surface-500);margin-bottom:1.25rem}.meta-date{font-family:var(--font-mono)}.meta-sep{color:var(--color-surface-300)}.meta-tags{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.meta-tag{color:var(--color-surface-500)}.meta-tag-sep{color:var(--color-surface-300);margin-left:-.25rem}.meta-tag-project{display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--project-color, #10b981) 14%,transparent);border:1px solid color-mix(in srgb,var(--project-color, #10b981) 40%,transparent);color:var(--project-color, #10b981);font-family:var(--font-mono, monospace);font-size:.72rem;font-weight:600;letter-spacing:.01em;line-height:1.2;transition:background .12s,border-color .12s}.meta-tag-project:hover{background:color-mix(in srgb,var(--project-color, #10b981) 22%,transparent);border-color:color-mix(in srgb,var(--project-color, #10b981) 60%,transparent)}.meta-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--project-color, #10b981);box-shadow:0 0 6px color-mix(in srgb,var(--project-color, #10b981) 60%,transparent)}.article-title{font-size:clamp(1.625rem,4vw,2.25rem);font-weight:800;color:var(--color-surface-900);letter-spacing:-.025em;line-height:1.2;margin-bottom:.875rem}.article-description{font-size:1.0625rem;color:var(--color-surface-500);line-height:1.6;margin-bottom:1.25rem}.article-hero{margin:0 0 1.25rem;border-radius:.875rem;overflow:hidden;border:1px solid var(--color-surface-100);background:var(--color-surface-50)}.article-hero img{display:block;width:100%;height:auto}.article-interactions{margin-top:1rem}.article-doc-banner{margin-top:1.5rem;padding:1rem 1.125rem;border:1px solid var(--color-surface-200);border-radius:.875rem;background:radial-gradient(circle at top left,rgba(16,185,129,.08),transparent 48%),var(--color-surface-100)}.article-doc-banner.is-fallback{background:radial-gradient(circle at top left,rgba(245,158,11,.08),transparent 48%),var(--color-surface-100);border-color:#f59e0b33}.article-doc-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.article-doc-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-surface-500);margin:0}.article-doc-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.article-doc-chip{display:inline-flex;align-items:center;border:1px solid var(--color-surface-200);border-radius:999px;padding:.325rem .625rem;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-surface-500);background:#0a0a0a40}.article-doc-chip.is-editorial.is-fallback{border-color:#f59e0b3d;color:#fcd34d;background:#f59e0b1f}.article-doc-chip.is-editorial.is-rewritten{border-color:#10b98133;color:var(--color-brand-300);background:#10b9811f}.article-doc-metrics{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.875rem}.article-doc-metric{display:flex;flex-direction:column;gap:.25rem;margin:0}.article-doc-metric-label{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-surface-500);text-transform:uppercase;letter-spacing:.08em}.article-doc-metric-value{font-size:.875rem;color:var(--color-surface-800)}.article-doc-note{margin-top:.875rem;margin-bottom:0;font-size:.8125rem;line-height:1.6;color:#f6c56c}@media(max-width:639px){.article-doc-topline{flex-direction:column}.article-doc-chips{justify-content:flex-start}}.mobile-toc{margin-bottom:2rem;display:block}@media(min-width:1024px){.mobile-toc{display:none}}.mobile-toc-details{background:var(--color-surface-100);border:1px solid var(--color-surface-200);border-radius:.5rem;overflow:hidden}.mobile-toc-summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:var(--color-surface-500);cursor:pointer;user-select:none;list-style:none}.mobile-toc-summary::-webkit-details-marker{display:none}.mobile-toc-icon{transition:transform .2s}.mobile-toc-details[open] .mobile-toc-icon{transform:rotate(180deg)}.mobile-toc-list{list-style:none;padding:0 1rem .75rem 2.5rem;margin:0}.mobile-toc-list li{margin:.375rem 0}.mobile-toc-list a{font-size:.875rem;color:var(--color-surface-400);transition:color .15s}.mobile-toc-list a:hover{color:var(--color-brand-400)}.section-divider{padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid var(--color-surface-200)}.section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-surface-500);margin-bottom:1.25rem}.related-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:480px){.related-grid{grid-template-columns:repeat(2,1fr)}}.back-link-wrapper{margin-top:2rem}.back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-surface-400);transition:color .15s}.back-link:hover{color:var(--color-surface-600)}.product-cta{margin-top:2.5rem;padding:1.25rem;background:linear-gradient(135deg,var(--color-surface-100) 0%,var(--color-surface-50) 100%);border:1px solid var(--color-surface-200);border-radius:.75rem}.product-cta-badge{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-brand-400);background:#10b9811a;padding:.25rem .5rem;border-radius:.25rem;margin-bottom:.75rem}.product-cta-text{font-size:.9375rem;color:var(--color-surface-600);line-height:1.6;margin-bottom:.75rem}.product-cta-text strong{color:var(--color-surface-800)}.product-cta-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--color-brand-400);transition:color .15s}.product-cta-link:hover{color:var(--color-brand-300)}.cta-arrow{transition:transform .15s}.product-cta-link:hover .cta-arrow{transform:translate(2px)}body.is-admin-viewer .stoka-terminal,body.is-admin-viewer .stoka-trigger{display:none!important}.rec-cta{max-width:680px;margin:2rem auto 0;padding:0 1rem;font-size:.875rem;color:var(--color-surface-400)}.rec-cta a{color:var(--color-brand-400)}.article-body{font-size:1.1875rem;line-height:1.95;color:#c9c9c9;letter-spacing:.005em}.article-body>*+*{margin-top:1.5em}.article-body>*:first-child{margin-top:0}.article-body h2{font-size:clamp(1.375rem,3vw,1.75rem);font-weight:750;color:var(--color-surface-900);letter-spacing:-.025em;line-height:1.25;margin-top:4rem;margin-bottom:.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-surface-200);border-image:linear-gradient(to right,var(--color-brand-500),transparent) 1}.article-body h3{font-size:clamp(1.0625rem,2.5vw,1.25rem);font-weight:700;color:var(--color-surface-800);letter-spacing:-.01em;line-height:1.35;margin-top:2.5rem;margin-bottom:0}.article-body h4{font-size:1rem;font-weight:700;color:var(--color-surface-700);margin-top:2rem;margin-bottom:0}.article-body h5{font-size:.9375rem;font-weight:600;color:var(--color-surface-600);margin-top:1.75rem;margin-bottom:0}.article-body h6{font-size:.875rem;font-weight:600;color:var(--color-surface-500);text-transform:uppercase;letter-spacing:.05em;margin-top:1.5rem;margin-bottom:0}.article-body p{margin-top:1.25em;margin-bottom:0}.article-body>p:first-child{font-size:1.3125rem;color:#d6d6d6;line-height:1.8;letter-spacing:.01em}.article-body strong{font-weight:650;color:#f0f0f0}.article-body em{font-style:italic;color:#b0b0b0}.article-body strong em,.article-body em strong{font-style:italic;font-weight:600}.article-body a{color:var(--color-brand-400);text-decoration:underline;text-decoration-color:var(--color-brand-400);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}.article-body a:hover{color:var(--color-brand-300);text-decoration-color:var(--color-brand-300)}.article-body ul,.article-body ol{padding-left:0;margin-top:1.25em;margin-bottom:0}.article-body ul{list-style:none;padding-left:1.5rem}.article-body ul>li{position:relative;padding-left:.5rem}.article-body ul>li:before{content:"";position:absolute;left:-1rem;top:.7em;width:5px;height:5px;background:var(--color-brand-400);border-radius:50%}.article-body ol{list-style:none;counter-reset:list-counter;padding-left:2rem}.article-body ol>li{position:relative;counter-increment:list-counter}.article-body ol>li:before{content:counter(list-counter) ".";position:absolute;left:-2rem;font-family:var(--font-mono);font-size:.875em;font-weight:600;color:var(--color-brand-400)}.article-body li{margin-top:.5em;margin-bottom:0;line-height:1.75}.article-body li>p{margin-top:.75em;margin-bottom:0}.article-body li>ul,.article-body li>ol{margin-top:.5em;margin-bottom:0}.article-body blockquote{position:relative;margin:2.5rem 0;padding:1.5rem 1.5rem 1.5rem 2rem;background:linear-gradient(135deg,rgba(16,185,129,.05) 0%,transparent 100%);border:none;border-left:3px solid var(--color-brand-400);border-radius:0 .5rem .5rem 0}.article-body blockquote:before{content:'"';position:absolute;top:-.5rem;left:1rem;font-size:3rem;font-weight:800;color:var(--color-brand-400);opacity:.3;line-height:1}.article-body blockquote p{font-size:1.125rem;font-style:italic;color:var(--color-surface-600);line-height:1.7;margin:0}.article-body blockquote strong,.article-body blockquote em{color:var(--color-surface-700)}.article-body blockquote a{color:var(--color-brand-400)}.article-body code{font-family:var(--font-mono);font-size:.875em;color:var(--color-brand-400);background:var(--color-surface-100);border:1px solid var(--color-surface-200);padding:.15em .45em;border-radius:.3em}.article-body pre{margin:2rem 0;padding:1.25rem 1.5rem;background:#0d1117;border:1px solid var(--color-surface-200);border-radius:.625rem;overflow-x:auto;font-size:.875rem;line-height:1.75}.article-body pre code{background:none;border:none;padding:0;color:#d4d4d8;font-size:inherit}.article-body table{width:100%;margin:2rem 0;font-size:.9375rem;border-collapse:collapse;border:1px solid var(--color-surface-200);border-radius:.5rem;overflow:hidden}.article-body thead{background:var(--color-surface-100)}.article-body th{padding:.875rem 1rem;text-align:left;font-weight:600;color:var(--color-surface-700);font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-surface-200)}.article-body td{padding:.875rem 1rem;color:var(--color-surface-600);border-bottom:1px solid var(--color-surface-200)}.article-body tr:last-child td{border-bottom:none}.article-body tr:hover td{background:var(--color-surface-100)}.article-body hr{border:none;margin:3rem auto;text-align:center}.article-body hr:before{content:"···";font-size:1.25rem;letter-spacing:.5em;color:var(--color-surface-300)}.article-body img{max-width:100%;height:auto;margin:2rem 0;border-radius:.5rem;border:1px solid var(--color-surface-200)}.article-body figure{margin:2rem 0}.article-body figcaption{margin-top:.75rem;font-size:.8125rem;color:var(--color-surface-400);text-align:center;font-style:italic}.article-body details{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--color-surface-100);border:1px solid var(--color-surface-200);border-radius:.5rem}.article-body summary{font-weight:600;color:var(--color-surface-700);cursor:pointer;user-select:none}.article-body details[open] summary{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-surface-200)}.article-body .highlight{margin:2rem 0;padding:1.25rem 1.5rem;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:.5rem}.article-body .highlight p{margin:0;color:var(--color-surface-600)}.article-body .highlight strong{color:var(--color-brand-400)}.article-body .warning{margin:2rem 0;padding:1.25rem 1.5rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:.5rem}.article-body .warning p{margin:0;color:var(--color-surface-600)}@media(min-width:640px){.article-body{font-size:1.0625rem}}@media(min-width:768px){.article-body{font-size:1.125rem;line-height:1.8}.article-body>p:first-child{font-size:1.1875rem}}.preview-banner{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,#fbbf2424,#fbbf240f);border-bottom:1px solid rgba(251,191,36,.28);backdrop-filter:blur(10px)}.preview-banner-inner{max-width:1100px;margin:0 auto;padding:.5rem 1.25rem;display:flex;align-items:center;gap:.85rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:#fbbf24}.preview-banner-dot{width:7px;height:7px;border-radius:50%;background:#fbbf24;box-shadow:0 0 6px #fbbf2499;flex-shrink:0}.preview-banner-label{font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.preview-banner-meta{display:inline-flex;gap:.35rem;flex-wrap:wrap}.preview-pill{display:inline-block;padding:.08rem .45rem;font-size:.64rem;border-radius:3px;text-transform:lowercase;letter-spacing:.04em;font-weight:500}.preview-pill-draft{background:#fbbf242e;color:#fcd34d;border:1px solid rgba(251,191,36,.4)}.preview-pill-future{background:#6366f12e;color:#a5b4fc;border:1px solid rgba(99,102,241,.4)}.preview-banner-edit{margin-left:auto;color:#fbbf24d9;text-decoration:none;font-size:.7rem;transition:color .15s}.preview-banner-edit:hover{color:#fbbf24;text-decoration:underline}
