.eacl{--line:rgba(var(--fg-rgb), .35);--soft:rgba(var(--fg-rgb), .06);margin-top:1.4rem}.eacl-level{margin:.4rem 0 2rem}:root{--site-dim:var(--dim)}.eacl-level,.eacl-graph-rels{--dim:color-mix(in srgb, var(--site-dim) 50%, var(--fg))}.lvl-intro>h2{margin-top:.6rem}.lvl-intro p.dim{max-width:72ch}.eacl code{font:inherit}.eacl .eacl-toc{margin:.9rem 0 0;font-size:15px}.eacl .eacl-toc a{color:var(--link);text-underline-offset:3px;text-decoration:underline dotted}.eacl-section{scroll-margin-top:calc(var(--shell-live,96px) + 12px);margin-top:2.6rem}.eacl-section>p.dim,.eacl .quote-line{max-width:72ch}.eacl h3 code{color:var(--hot)}.eacl h3 .dim{font-size:.9em;font-weight:400}.eacl .quote{border-left:2px solid rgba(var(--fg-rgb), .5);max-width:72ch;margin:1.1rem 0;padding:.1rem 0 .1rem 1.1rem}.eacl .quote p,.eacl .quote ul,.eacl .quote ol{margin:.45rem 0}.eacl .quote ul,.eacl .quote ol{padding-left:1.3rem}.eacl .quote li{margin:.3rem 0}.eacl .quote cite,.eacl .quote-line cite{margin-top:.3rem;font-size:14px;font-style:normal;display:block}.eacl .quote-line cite{margin:0 0 0 .4rem;display:inline}.eacl .quote-line{margin:.8rem 0}.eacl .quote.rationale{border-left-color:var(--hot)}.eacl-authz{margin:.4rem 0 .6rem}.eacl-authz table{border-collapse:collapse;font-size:15px}.eacl-authz th,.eacl-authz td{text-align:left;border-bottom:1px solid rgba(var(--fg-rgb), .22);vertical-align:top;padding:.25rem 1.2rem .25rem 0}.eacl-authz th{color:var(--hot);font-weight:600}code.clj{white-space:normal;overflow-wrap:anywhere}.eacl pre.code{font-size:14px}.eacl pre.code.zed{font-size:15px;line-height:1.55}.z-op{color:var(--hot);font-weight:700}.z-arrow{color:var(--link);font-weight:700}.z-def{color:var(--hot);font-weight:700}code.zed{font:inherit}.eacl pre.code.run{cursor:pointer;border-left:2px solid rgba(var(--fg-rgb), .35);transition:border-color .15s,background .15s}.eacl pre.code.run:hover,.eacl pre.code.run:focus-visible{border-left-color:var(--hot);background:rgba(var(--fg-rgb), .08);outline:none}.eacl{--pos:#45e07a}.lvl{--lvl-w:384px;grid-template-columns:minmax(0, 1fr) var(--lvl-w);grid-template-rows:auto auto 1fr;grid-template-areas:"head main""words main""logs main";align-items:start;column-gap:1.6rem;display:grid}.lvl-head{grid-area:head;min-width:0}.lvl-head>h1{margin-top:0}.lvl-words{grid-area:words;min-width:0;margin-top:.9rem}.lvl-words .prose{max-width:none}.lvl-words .prose>:first-child{margin-top:0}.lvl-people{container:people/inline-size}.lvl-card{min-width:0}.lvl-main{grid-area:main;min-width:0;position:relative}.lvl-schema{scroll-margin-top:calc(var(--shell-live,96px) + 12px);margin-top:1.4rem}.lvl-schema>.lvl-logh{margin-top:0}.lvl-schema>p.dim{margin:0 0 .3rem;font-size:13px}.lvl-schema pre.code.zed{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5;overflow-x:visible}.lvl-schema code,.lvl-schema .zl{display:block}.lvl-schema .noted{flex-flow:row-reverse wrap;justify-content:flex-end;align-items:baseline;display:flex}.lvl-schema .zc{flex:0 1 var(--code);min-width:0}.lvl-schema .zn{flex:0 1 var(--note);box-sizing:border-box;min-width:0;padding-left:var(--indent)}@media (width>=861px) and (height<=719px){.lvl{--lvl-w:288px}}@media (width>=1200px) and (height>=880px){.eacl-level{--bleed:min(1180px, calc(100vw - 64px));width:var(--bleed);margin-left:calc((100% - var(--bleed)) / 2)}.lvl{--lvl-w:480px}}@media (width>=1560px) and (height>=1040px){.eacl-level{--bleed:min(1340px, calc(100vw - 64px))}.lvl{--lvl-w:576px}}@media (width<=860px){.lvl{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"head""words""main""logs"}.lvl-main{width:100%;max-width:var(--lvl-w);justify-self:center;margin-top:.8rem}}.lvl-hud{border:1px solid var(--line);background:var(--soft);border-bottom:0;flex-wrap:wrap;align-items:center;gap:.3rem .75rem;padding:.3rem .5rem;font-size:13px;display:flex}.lvl-hud .clock{color:var(--hot);font-variant-numeric:tabular-nums;min-width:10ch;font-weight:700}.eacl .stat{color:var(--dim)}.eacl .stat b{color:var(--fg);font-variant-numeric:tabular-nums}.eacl .stat.yes b{color:var(--pos)}.eacl .stat.no b{color:var(--neg)}.lvl-hud .lvl-ctl{flex-wrap:wrap;gap:.25rem;margin-left:auto;display:flex}.lvl-hud button,.lvl-card .x{font:inherit;color:var(--fg);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;background:0 0;min-height:28px;padding:.1rem .5rem;font-size:13px;text-decoration:none}.lvl-hud .lvl-ctl button{min-height:26px;padding:.05rem .4rem;font-size:12px}@media (width<=860px){.lvl-hud .lvl-ctl{width:100%;margin-left:0}.lvl-hud .lvl-ctl button{flex:1 1 0;min-height:34px}}.lvl-hud button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.lvl-hud button[data-power][aria-pressed=true]{background:var(--warn);border-color:var(--warn)}.lvl-hud button:hover{border-color:var(--fg);color:var(--hot)}.lvl-view{border:1px solid var(--line);background:var(--bg-lo);position:relative}.lvl-stage{line-height:0;position:relative}.lvl-offer{z-index:3;color:#0000;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:1px;position:absolute}.lvl-offer:focus-visible{outline:2px solid var(--hot);outline-offset:1px}#lvl-canvas,.lvl-tty{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;display:block}#lvl-canvas{touch-action:pan-y}.lvl-tty{aspect-ratio:192/58;border-bottom:1px solid var(--line)}.lvl-load{z-index:2;text-align:center;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex;position:absolute;inset:0}.eacl[data-state=ready] .lvl-load,.eacl[data-state=failed] .lvl-spin{display:none}.lvl-status{max-width:26rem;color:var(--hot);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.4}.lvl-spin{width:56px;height:56px;position:relative}.lvl-spin i{background:var(--fg);width:8px;height:8px;box-shadow:0 0 8px rgba(var(--fg-rgb), .6);transform:translate(var(--x), var(--y));animation:.8s linear infinite lvl-spin;animation-delay:calc(var(--k) * .1s - .8s);position:absolute;top:24px;left:24px}@keyframes lvl-spin{0%{opacity:1}to{opacity:.15}}.lvl-pop{z-index:20;pointer-events:none;width:max-content;max-width:min(24rem,100vw - 16px);color:var(--fg);background:var(--bg-lo);border:1px solid var(--fg);box-shadow:0 0 0 1px var(--bg-lo), 0 0 18px rgba(var(--fg-rgb), .25);padding:.45rem .65rem;font-size:13px;line-height:1.45;position:absolute}.lvl-pop p,.lvl-card p{margin:.3rem 0}.lvl-pop .card-h,.lvl-card .card-h{align-items:baseline;gap:.4rem;margin-top:0;display:flex}.lvl-pop .card-h b,.lvl-card .card-h b{color:var(--hot);white-space:nowrap;font-weight:700}.lvl-pop pre.zed{white-space:pre;background:0 0;border:0;margin:.35rem 0;padding:0;font-size:12px;line-height:1.45;overflow:hidden}.lvl-pop b[data-res],.lvl-card b[data-res]{color:var(--fg);font-weight:600}.lvl-cast{border:1px solid var(--line);border-top:0;border-bottom:0;border-right:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@container people (width>=34.4rem){.lvl-cast{grid-template-columns:repeat(4,minmax(0,1fr))}}.chip{font:inherit;text-align:left;color:var(--fg);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:auto 1fr;grid-template-areas:"pic nm""pic role";align-items:center;gap:0 .45rem;min-width:0;padding:.4rem .5rem;font-size:13px;line-height:1.3;display:grid}.chip canvas{width:16px;height:24px;image-rendering:pixelated;grid-area:pic}.chip .nm{color:var(--hot);text-overflow:ellipsis;white-space:nowrap;grid-area:nm;font-size:12.5px;font-weight:700;overflow:hidden}.chip .role{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;grid-area:role;overflow:hidden}.chip:hover,.chip[aria-pressed=true]{background:rgba(var(--fg-rgb), .12)}.chip[aria-pressed=true]{outline:1px solid var(--hot);outline-offset:-1px}.chip.pulse{animation:1.4s ease-out eacl-pulse}@keyframes eacl-pulse{0%,30%{background:rgba(var(--fg-rgb), .35)}to{background:0 0}}.chip.r-bad .role{color:var(--neg)}.chip.r-off .role{color:var(--warn)}.lvl-card{border:1px solid var(--line);background:var(--soft);border-top:0;padding:.45rem .6rem .55rem;font-size:13.5px}.lvl-card .hint{margin:.15rem 0}.lvl-card .card-h{align-items:baseline;gap:.4rem;margin:0 0 .35rem;display:flex}.lvl-card .card-h b{color:var(--hot);white-space:nowrap;font-weight:700}.lvl-card .x{min-height:24px;margin-left:auto;padding:0 .45rem}.lvl-card .carry{color:var(--warn);margin:0 0 .3rem}.lvl-card .tabs{border-bottom:1px solid var(--line);gap:.2rem;margin-bottom:.4rem;display:flex}.lvl-card .tabs button{font:inherit;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;margin-bottom:-1px;padding:.15rem .6rem;font-size:13px}.lvl-card .tabs button[aria-selected=true]{color:var(--hot);border-color:var(--line);background:var(--bg-lo)}.lvl-card .tabs button:hover{color:var(--hot)}.lvl-card .tab pre.zed{white-space:pre-wrap;overflow-wrap:anywhere;margin:.2rem 0;font-size:12.5px;line-height:1.45}.lvl-card table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.4}.lvl-card th{text-align:left;color:var(--dim);border-bottom:1px solid rgba(var(--fg-rgb), .3);padding:.15rem .45rem .2rem 0;font-weight:400}.lvl-card td{border-bottom:1px dashed rgba(var(--fg-rgb), .15);vertical-align:middle;padding:.2rem .45rem .2rem 0}.lvl-card .rels td:nth-child(-n+2){white-space:nowrap}.lvl-card .rels td:last-child{text-align:right;white-space:nowrap;padding-right:0}.lvl-card .rels tr.gone td:not(:last-child){opacity:.5;text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--neg) 70%, transparent)}.lvl-card .rels tr.stale td:not(:last-child):not(.exp){opacity:.65}.lvl-card .rels .q{color:var(--warn);white-space:nowrap;margin-left:.3em;font-size:11.5px}.lvl-card .rels tfoot td{border-bottom:0;padding-top:.45rem}.lvl-card select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid rgba(var(--fg-rgb), .45);min-width:0;max-width:100%;padding:.12rem .15rem;font-size:12px}.lvl-card tfoot select{width:100%}.lvl-card button.rel{font:inherit;cursor:pointer;white-space:nowrap;background:0 0;min-height:24px;padding:.05rem .5rem;font-size:12px;text-decoration:none}.lvl-card button.rel.revoke{color:var(--neg);border:1px solid color-mix(in srgb, var(--neg) 60%, transparent)}.lvl-card button.rel.grant{color:var(--hot);border:1px solid rgba(var(--fg-rgb), .5)}.lvl-card button.rel:hover,.lvl-card button.rel:focus-visible{background:rgba(var(--fg-rgb), .12);border-color:currentColor;outline:none}.lvl-card .acc td.perm{white-space:nowrap;width:1%}.lvl-card .acc td.lkc{text-align:right;width:1%;padding-right:0}.lvl-card .acts{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:0 0 .45rem;display:flex}.lvl-card .acc button.lk{font:inherit;color:var(--link);text-underline-offset:3px;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline dotted}.lvl-card .acc button.lk:hover,.lvl-card .acc button.lk:focus-visible{color:var(--hot);outline:none}.lvl-card .days{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0 0 .45rem;display:flex}.lvl-card .days .dim{margin-right:.2rem}.lvl-card .days button{font:inherit;color:var(--fg);border:1px solid rgba(var(--fg-rgb), .45);cursor:pointer;background:0 0;min-height:24px;padding:.05rem .45rem;font-size:12px}.lvl-card .days button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.lvl-card .days button:hover,.lvl-card .days button:focus-visible{border-color:var(--hot);outline:none}.lvl-card .sens{gap:.15rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.lvl-card .sens label{cursor:pointer;align-items:center;gap:.45rem;display:flex}.lvl-card .sens label.this{color:var(--hot)}.lvl-card .sens input{accent-color:var(--neg);margin:0}.lvl-card p code{font:inherit;color:var(--fg)}.lvl-pop table.pop-rels{border-collapse:collapse;margin:.25rem 0 .1rem;font-size:12.5px}.lvl-pop .pop-rels th{text-align:left;color:var(--dim);border-bottom:1px solid rgba(var(--fg-rgb), .3);padding:0 .8rem .1rem 0;font-weight:400}.lvl-pop .pop-rels td{white-space:nowrap;padding:.08rem .8rem .08rem 0}.lvl-pop .pop-rels tr.stale td{opacity:.6}.lvl-card .chipl{font:inherit;color:var(--fg);background:rgba(var(--fg-rgb), .08);border:1px solid rgba(var(--fg-rgb), .35);cursor:pointer;margin:.1rem .15rem .1rem 0;padding:0 .4rem;font-size:12px}.lvl-card .chipl:hover{color:var(--hot);border-color:var(--fg)}.lvl-card .chipl.any{cursor:default;border-style:dashed;display:inline-block}.lvl-card .chipl{white-space:nowrap}.lvl-card .chipl.any:hover{color:var(--fg);border-color:rgba(var(--fg-rgb), .35)}.lvl-card{container:card/inline-size}@container card (width<=460px){.lvl-card .rels thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lvl-card .rels,.lvl-card .rels tbody,.lvl-card .rels tfoot{display:block}.lvl-card .rels tr{border-bottom:1px dashed rgba(var(--fg-rgb), .15);flex-wrap:wrap;align-items:center;gap:.12rem .45rem;padding:.3rem 0;display:flex}.lvl-card .rels tr:before{content:"";flex-basis:100%;order:1}.lvl-card .rels td{border:0;min-width:0;padding:0}.lvl-card .rels td:nth-child(3){overflow-wrap:anywhere}.lvl-card .rels td.exp,.lvl-card .rels td:last-child{order:2}.lvl-card .rels td:last-child{margin-left:auto}.lvl-card .rels td.exp,.lvl-card .rels tr.add td:nth-child(4){align-items:center;gap:.4rem;display:flex}.lvl-card .rels td.exp:before,.lvl-card .rels tr.add td:nth-child(4):before{content:"expires";color:var(--dim)}.lvl-card .rels td.exp .q{margin-left:0}.lvl-card .rels tr.none:before,.lvl-card .rels tr.add:before{content:none}.lvl-card .rels tr.add{border-bottom:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.3rem .45rem;padding-top:.45rem;display:grid}.lvl-card .rels tr.add td:last-child{grid-column:1/-1}.lvl-card .rels.own tr:not(.none) td:first-child{display:none}.lvl-card .rels.own tr.add td:last-child{grid-column:auto;place-self:center end}.lvl-card .acc thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lvl-card .acc,.lvl-card .acc tbody{display:block}.lvl-card .acc tr{border-bottom:1px dashed rgba(var(--fg-rgb), .15);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"perm lk""got got";gap:.1rem .45rem;padding:.3rem 0;display:grid}.lvl-card .acc td{border:0;width:auto;padding:0}.lvl-card .acc td.perm{grid-area:perm}.lvl-card .acc td.lkc{grid-area:lk}.lvl-card .acc td.got{grid-area:got}}.eacl :is(.lvl-log,.lvl-card,.lvl-pop,.graph-cap,.eacl-writes) :is(.c-sym,.c-kw,.c-str,.c-sp){white-space:nowrap}.lvl-logs{flex-direction:column;grid-area:logs;align-self:stretch;min-width:0;display:flex}.lvl-logh{color:var(--hot);scroll-margin-top:calc(var(--shell-live,96px) + 12px);margin:1.4rem 0 .4rem;font-size:1rem}.lvl-logbar{flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;margin:1.4rem 0 .4rem;display:flex}.lvl-logbar .lvl-logh{white-space:nowrap;margin:0}.lvl-logbar .stats{white-space:nowrap;font-size:13px}.lvl-logbar .lvl-full{color:var(--dim);white-space:nowrap;cursor:pointer;align-items:center;gap:.35rem;margin-left:auto;font-size:13px;display:inline-flex}.lvl-logbar .lvl-full input{accent-color:var(--hot);margin:0}.lvl-logbar button{white-space:nowrap}.lvl-log.full li{white-space:normal;overflow-wrap:anywhere;display:block}.lvl-log.full li>.pres{-webkit-line-clamp:none;line-clamp:none;display:inline;overflow:visible}.lvl-log.full .c-str{white-space:normal}.lvl-logbar button{font:inherit;color:var(--fg);border:1px solid rgba(var(--fg-rgb), .5);cursor:pointer;background:0 0;min-height:26px;padding:.05rem .5rem;font-size:12px}.lvl-logbar button:hover,.lvl-logbar button:focus-visible{border-color:var(--fg);color:var(--hot);outline:none}.lvl-logbox{flex:auto;min-height:15.5rem;position:relative}.lvl-log{overflow-anchor:none;border:1px solid rgba(var(--fg-rgb), .2);scrollbar-width:thin;scrollbar-color:rgba(var(--fg-rgb), .45) transparent;margin:0;padding:0;font-size:13px;line-height:1.45;list-style:none;position:absolute;inset:0;overflow-y:scroll}.lvl-log li.note{cursor:default;white-space:normal;display:block}.lvl-log li{border-bottom:1px dashed rgba(var(--fg-rgb), .15);cursor:pointer;white-space:nowrap;align-items:baseline;gap:.6ch;padding:.25rem .6rem;display:flex}.lvl-log li>*{flex:none}.lvl-log li>.pres{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}@media (width<=860px){.lvl-logbox{min-height:0}.lvl-log{height:15.5rem;position:static}.lvl-log li{white-space:normal;overflow-wrap:anywhere;display:block}.lvl-log li>.pres{-webkit-line-clamp:3;line-clamp:3;text-align:left;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lvl-log li>.pres .c-str{white-space:normal}}.lvl-log li:hover{background:rgba(var(--fg-rgb), .07)}.lvl-log li{animation:.5s ease-out eacl-in}@keyframes eacl-in{0%{background:rgba(var(--fg-rgb), .25)}to{background:0 0}}.lvl-log .when{color:var(--dim);font-variant-numeric:tabular-nums}.lvl-log .pres{text-align:left}.eacl .res{color:var(--dim);white-space:nowrap}.eacl .is-yes{color:var(--pos)}.eacl .is-no{color:var(--neg)}.eacl .is-n{color:var(--fg)}.lvl-log .ms{color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.lvl-log li>.ms{margin-left:auto}.lvl-log .ms.uncached{color:var(--warn)}.tag{border:1px solid rgba(var(--fg-rgb), .45);color:var(--dim);white-space:nowrap;padding:0 .35em;font-size:11px}.tag.re{border-color:color-mix(in srgb, var(--warn) 60%, transparent);color:var(--warn);white-space:normal}.eacl-graph{border:1px solid var(--line);background:var(--soft);margin:1rem 0}.eacl-graph-rels{margin:-1rem 0 1rem}.eacl-graph svg{width:100%;height:auto;display:block}.eacl-graph .graph-cap{border-top:1px dashed rgba(var(--fg-rgb), .25);overflow-wrap:anywhere;margin:0;padding:.45rem .7rem;font-size:13px;line-height:1.45}.eacl-graph .graph-cap .when{color:var(--dim)}#eacl-graph text{font-family:var(--font);fill:var(--fg);text-anchor:middle;font-size:12px}#eacl-graph text.col{fill:var(--dim);font-size:11px}#eacl-graph .n rect{fill:var(--bg);stroke:var(--dim);stroke-width:1px}#eacl-graph .n.t-user rect{stroke:var(--fg)}#eacl-graph .n.t-team rect{stroke:var(--syn-const)}#eacl-graph .n.t-building rect{stroke:var(--syn-str)}#eacl-graph .n.t-area rect{stroke:var(--hot);stroke-width:1.5px}#eacl-graph .n.t-asset rect{stroke:var(--link)}#eacl-graph .n[role=button]{cursor:pointer}#eacl-graph .n[role=button]:hover rect,#eacl-graph .n[role=button]:focus-visible rect{fill:rgba(var(--fg-rgb), .18)}#eacl-graph .n:focus-visible{outline:none}#eacl-graph .n.who rect{fill:var(--fg)}#eacl-graph .n.who text{fill:var(--bg);font-weight:700}#eacl-graph .n.yes rect{fill:var(--hot);stroke:var(--hot)}#eacl-graph .n.yes text{fill:var(--bg);font-weight:700}#eacl-graph .n.no rect{fill:var(--neg);stroke:var(--neg)}#eacl-graph .n.no text{fill:var(--bg);font-weight:700}#eacl-graph .n.denied rect{fill:var(--neg);stroke:var(--neg)}#eacl-graph .n.denied text{fill:var(--bg);font-weight:700}#eacl-graph .n.granted rect{fill:var(--pos);stroke:var(--pos)}#eacl-graph .n.granted text{fill:var(--bg);font-weight:700}#eacl-graph .e path{fill:none;stroke:rgba(var(--fg-rgb), .28);stroke-width:1.2px}#eacl-graph .e text{fill:var(--dim);opacity:.8;font-size:9.5px}#eacl-graph .e.stale path{stroke-dasharray:2 3}#eacl-graph .e.cav path{stroke:var(--warn);stroke-dasharray:1 3;stroke-width:1.6px;opacity:.9}#eacl-graph .e.lit path{stroke:var(--hot);stroke-width:2.2px;stroke-dasharray:6 4;animation:.9s linear infinite eacl-flow,.5s ease-out both eacl-lit;animation-delay:0s, calc(var(--i) * 90ms)}#eacl-graph .e.lit text{fill:var(--hot);opacity:1;animation:.5s ease-out both eacl-lit;animation-delay:calc(var(--i) * 90ms);font-weight:700}#eacl-graph .e.bad path{stroke:var(--neg);stroke-width:2.2px}#eacl-graph .e.bad text,#eacl-graph .e.ghost text{fill:var(--neg);opacity:1;font-weight:700}#eacl-graph .e.ghost path{stroke:var(--neg);stroke-width:1.5px;stroke-dasharray:3 4;opacity:.85}#eacl-graph .m-dim{fill:rgba(var(--fg-rgb), .45)}#eacl-graph .m-hot{fill:var(--hot)}#eacl-graph .m-neg{fill:var(--neg)}#eacl-graph.narrow text{font-size:10px}@keyframes eacl-flow{to{stroke-dashoffset:-20px}}@keyframes eacl-lit{0%{opacity:0}to{opacity:1}}@media (width<=600px){#eacl-graph text{font-size:10px}#eacl-graph .e text{font-size:8.5px}}.eacl-writes{gap:.35rem;margin:.6rem 0 1rem;padding:0;font-size:14px;list-style:none;display:grid}.eacl-writes li{border-left:2px solid rgba(var(--fg-rgb), .35);background:var(--soft);overflow-wrap:anywhere;padding:.3rem .6rem}.eacl-writes .pres{text-align:left;white-space:pre-wrap}.eacl-facts summary{cursor:pointer;font-size:14px}.eacl-cards{grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.eacl-card{border:1px solid var(--line);min-width:0;padding:.2rem .9rem .6rem}.eacl-card.wide{grid-column:1/-1}.eacl-card h3{margin:.7rem 0 .4rem}.eacl-card p{margin:.5rem 0;font-size:15px}.eacl-card pre.code{margin:.6rem 0}.eacl-card .two{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.eacl-consistency{margin:.6rem 0}.eacl-consistency .sliders{flex-wrap:wrap;gap:.4rem 1.6rem;font-size:14px;display:flex}.eacl-consistency label{align-items:center;gap:.5rem;display:flex}.eacl-consistency input[type=range]{accent-color:var(--fg);width:11rem}.eacl-consistency output{color:var(--hot);font-variant-numeric:tabular-nums;min-width:4ch}.eacl-consistency svg{width:100%;height:auto;margin-top:.4rem;display:block}.eacl-consistency text{font-family:var(--font);fill:var(--fg);font-size:12px}.eacl-consistency .tl{fill:var(--dim);text-anchor:middle;font-size:10px}.eacl-consistency .axis,.eacl-consistency .tick{stroke:var(--dim)}.eacl-consistency .lane{stroke:rgba(var(--fg-rgb), .2)}.eacl-consistency .mode{text-anchor:end;fill:var(--hot)}.eacl-consistency svg.narrow .mode{text-anchor:start}.eacl-consistency .note{fill:var(--dim);font-size:11px}.eacl-consistency .peer{stroke:var(--fg);stroke-dasharray:3 3}.eacl-consistency .token{stroke:var(--syn-const);stroke-dasharray:3 3}.eacl-consistency .latest{stroke:var(--dim);stroke-dasharray:1 3}.eacl-consistency .peer-l,.eacl-consistency .token-l,.eacl-consistency .latest-l{text-anchor:middle;font-size:11px}.eacl-consistency .token-l{fill:var(--syn-const)}.eacl-consistency .latest-l{fill:var(--dim);text-anchor:end}.eacl-consistency .wait{stroke:var(--warn);stroke-width:2px;stroke-dasharray:4 3}.eacl-consistency .read{fill:var(--hot)}.eacl-consistency .read.waited{fill:var(--warn)}.eacl-situated{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin:1rem 0;display:grid}.eacl-situated svg{border:1px solid var(--line);background:var(--soft);width:100%;height:auto;display:block}.eacl-situated text{font-family:var(--font);fill:var(--fg);text-anchor:middle;font-size:12px}.eacl-situated text.h{fill:var(--hot);font-weight:700}.eacl-situated text.sub{fill:var(--dim);font-size:9.5px}.eacl-situated [data-node] rect,.eacl-situated .store rect{fill:var(--bg);stroke:var(--fg)}.eacl-situated [data-node=spice] rect,.eacl-situated [data-node=db] rect{stroke:var(--syn-const)}.eacl-situated [data-node=eacl] rect{stroke:var(--hot);stroke-width:1.5px}.eacl-situated .store rect{stroke:var(--dim)}.eacl-situated [data-node].busy rect{fill:rgba(var(--fg-rgb), .22)}.eacl-situated [data-node=app].done rect{stroke:var(--hot);stroke-width:2px}.eacl-situated .net{stroke:var(--neg);stroke-dasharray:5 4;opacity:.7}.eacl-situated .netl{fill:var(--neg);font-size:10px}.eacl-situated .sync{stroke:var(--warn);stroke-width:1.5px;stroke-dasharray:4 3;animation:1.2s linear infinite eacl-flow}.eacl-situated .syncl,.eacl-situated .segl{fill:var(--warn);text-anchor:start;font-size:10px}.eacl-situated .segl{fill:var(--dim);text-anchor:end}.eacl-situated .seg{stroke:var(--dim);stroke-dasharray:2 3}.eacl-situated .proc{fill:rgba(var(--fg-rgb), .05);stroke:var(--hot);stroke-dasharray:6 4}.eacl-situated .procl{fill:var(--hot);font-size:10px}.eacl-situated .packet{fill:var(--hot)}.eacl-situated .packet-label{fill:var(--hot);stroke:var(--bg-lo);stroke-width:3px;paint-order:stroke;stroke-linejoin:round;font-size:10px;font-weight:700}.eacl-situated .count-l{text-anchor:start;fill:var(--dim);font-size:11px}.eacl-situated .count{text-anchor:start;fill:var(--hot);font-size:13px;font-weight:700}.eacl-situated .replay{grid-column:1/-1;margin:0;font-size:14px}@media (width<=640px){.eacl-situated{grid-template-columns:minmax(0,1fr)}}.eacl-proof{gap:.7rem;margin:1.1rem 0;display:grid}.eacl-proof .lane{grid-template-columns:11rem 5.5rem minmax(0,1fr) 6rem minmax(0,1fr);align-items:center;gap:.4rem;font-size:14px;display:grid}.eacl-proof p{margin:0}.eacl-proof .tool{color:var(--bg);background:var(--fg);text-align:center;padding:.35rem .6rem;font-weight:700}.eacl-proof .box{border:1px solid var(--line);background:var(--soft);align-items:center;min-height:100%;padding:.35rem .6rem;line-height:1.4;display:flex}.eacl-proof .box>span{display:block}.eacl-proof .arrow{color:var(--dim);text-align:center;font-size:12px}.eacl-proof .arrow:after{content:" →";color:var(--hot)}@media (width<=860px){.eacl-proof .lane{border-bottom:1px dashed rgba(var(--fg-rgb), .2);grid-template-columns:minmax(0,1fr);gap:.25rem;padding-bottom:.5rem}.eacl-proof .arrow{text-align:left}.eacl-proof .arrow:after{content:" ↓"}}@media (prefers-reduced-motion:reduce){#eacl-graph .e.lit path,.eacl-situated .sync,.lvl-log li,.chip.pulse{animation:none}.lvl-spin i{opacity:calc(.23 + var(--k) * .11);animation:none}}@media print{.lvl-main,.lvl-side,.lvl-log,.lvl-logh,.eacl-writes,.eacl-consistency .sliders,.eacl-situated .replay{display:none!important}}
