.arch:where(.astro-4u5ukf6p){--arch-ink:var(--sl-color-white);--arch-faint:var(--sl-color-gray-4);--arch-accent:var(--sl-color-accent-high);--arch-ok:#4ade80;--arch-warn:#fbbf24;--arch-bad:#f87171;--arch-live:#fbbf24;border:1px solid var(--dbc-border);border-radius:var(--dbc-radius);background:var(--sl-color-bg);margin-block:1.5rem;overflow:hidden}[data-theme=light] .arch:where(.astro-4u5ukf6p){--arch-accent:var(--sl-color-accent);--arch-ok:#16a34a;--arch-warn:#d97706;--arch-bad:#dc2626;--arch-live:#d97706}.arch:where(.astro-4u5ukf6p) :where(.astro-4u5ukf6p)[hidden]{display:none!important}.arch__head:where(.astro-4u5ukf6p){border-bottom:1px solid var(--dbc-border);background:var(--dbc-surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.6rem .75rem;display:flex}.arch__heading:where(.astro-4u5ukf6p){gap:.1rem;min-width:0;display:grid}.arch__kicker:where(.astro-4u5ukf6p){font:500 .6875rem var(--sl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-color-gray-3)}.arch__title:where(.astro-4u5ukf6p){font-size:var(--sl-text-base);color:var(--sl-color-white);margin:0;font-weight:650;line-height:1.3}.arch__tools:where(.astro-4u5ukf6p){gap:.25rem;margin-left:auto;display:flex}.arch:where(.astro-4u5ukf6p) .arch__icon:where(.astro-4u5ukf6p){width:2rem;height:2rem;color:var(--sl-color-gray-2);background:0 0;border-color:#0000;place-items:center;padding:0;display:grid}.arch:where(.astro-4u5ukf6p) .arch__icon:where(.astro-4u5ukf6p):hover:not(:disabled){background:var(--sl-color-bg);color:var(--sl-color-white)}.arch:where(.astro-4u5ukf6p) .arch__icon:where(.astro-4u5ukf6p):disabled{opacity:.4;cursor:default}.arch__subtabs:where(.astro-4u5ukf6p){border-bottom:1px solid var(--dbc-border);flex-wrap:wrap;gap:.375rem;padding:.5rem .75rem;display:flex}.arch:where(.astro-4u5ukf6p) .arch__subtabs:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p){border-radius:var(--dbc-radius-btn-sm);font-size:var(--sl-text-xs);padding:.2rem .65rem}.arch__tabs:where(.astro-4u5ukf6p){border-bottom:1px solid var(--dbc-border);background:var(--dbc-surface-2);gap:0;padding:0 .75rem;display:flex;overflow-x:auto}.arch:where(.astro-4u5ukf6p) .arch__tabs:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p){color:var(--sl-color-gray-3);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.55rem .9rem}.arch:where(.astro-4u5ukf6p) .arch__tabs:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p):hover{color:var(--sl-color-white)}.arch:where(.astro-4u5ukf6p) .arch__tabs:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p)[aria-pressed=true]{border-bottom-color:var(--sl-color-accent);color:var(--sl-color-white);background:0 0}.arch:where(.astro-4u5ukf6p).arch--full{z-index:1000;border:0;border-radius:0;margin:0;position:fixed;inset:0}.arch:where(.astro-4u5ukf6p):focus{outline:none}.arch__side:where(.astro-4u5ukf6p){display:contents}.arch:where(.astro-4u5ukf6p).arch--full{grid-template-rows:auto auto auto minmax(12rem,1fr) auto auto minmax(0,.9fr);grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.arch--full:where(.astro-4u5ukf6p)>.arch__head:where(.astro-4u5ukf6p){grid-row:1}.arch--full:where(.astro-4u5ukf6p)>.arch__tabs:where(.astro-4u5ukf6p){grid-row:2}.arch--full:where(.astro-4u5ukf6p)>.arch__subtabs:where(.astro-4u5ukf6p){grid-row:3}.arch--full:where(.astro-4u5ukf6p)>.arch__canvas:where(.astro-4u5ukf6p){grid-row:4;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.arch--full:where(.astro-4u5ukf6p) .arch__canvas:where(.astro-4u5ukf6p) svg:where(.astro-4u5ukf6p){width:100%;min-width:0;height:100%;max-height:none}.arch--full:where(.astro-4u5ukf6p)>.arch__key:where(.astro-4u5ukf6p){grid-row:5}.arch--full:where(.astro-4u5ukf6p)>.arch__controls:where(.astro-4u5ukf6p){grid-row:6}.arch--full:where(.astro-4u5ukf6p)>.arch__side:where(.astro-4u5ukf6p){border-top:1px solid var(--dbc-border);background:var(--dbc-surface-2);grid-row:7;min-height:0;display:block;overflow-y:auto}.arch--full:where(.astro-4u5ukf6p) .arch__panel:where(.astro-4u5ukf6p){border-top:0}.arch--full:where(.astro-4u5ukf6p) .arch__foot:where(.astro-4u5ukf6p){display:none}@media (width>=56rem){.arch:where(.astro-4u5ukf6p).arch--full{grid-template-rows:auto auto auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr) clamp(20rem,28vw,26rem)}.arch--full:where(.astro-4u5ukf6p)>.arch__head:where(.astro-4u5ukf6p){grid-column:1/-1}.arch--full:where(.astro-4u5ukf6p)>:where(.astro-4u5ukf6p):not(.arch__head,.arch__side){grid-column:1}.arch--full:where(.astro-4u5ukf6p)>.arch__side:where(.astro-4u5ukf6p){border-top:0;border-left:1px solid var(--dbc-border);grid-area:2/2/-1}.arch--full:where(.astro-4u5ukf6p) .arch__foot:where(.astro-4u5ukf6p){display:grid}}.arch:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p){border:1px solid var(--dbc-border);background:var(--sl-color-bg);color:var(--sl-color-text);font:500 var(--sl-text-sm) var(--sl-font);cursor:pointer;border-radius:.5rem;padding:.3rem .7rem}.arch:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p):hover{border-color:var(--sl-color-accent)}.arch:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p)[aria-pressed=true]{border-color:var(--sl-color-accent);background:var(--sl-color-accent-low);color:var(--sl-color-white)}.arch:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p):focus-visible,.arch:where(.astro-4u5ukf6p) input:where(.astro-4u5ukf6p):focus-visible,.arch:where(.astro-4u5ukf6p) .arch-node--click:focus-visible{outline:2px solid var(--sl-color-accent);outline-offset:2px}.arch:where(.astro-4u5ukf6p) .arch__play:where(.astro-4u5ukf6p){min-width:5.75rem}.arch__canvas:where(.astro-4u5ukf6p){background-image:radial-gradient(var(--dbc-grid-line) 1px, transparent 1px);background-size:16px 16px;min-width:0;overflow-x:auto}.arch__canvas:where(.astro-4u5ukf6p) svg:where(.astro-4u5ukf6p){width:100%;height:auto;max-height:80vh;display:block}.arch__canvas:where(.astro-4u5ukf6p) text{font-family:var(--dbc-font-hand)}.arch__canvas:where(.astro-4u5ukf6p) .arch-label{fill:#18181b;font-weight:700}.arch__canvas:where(.astro-4u5ukf6p) .arch-label--free{fill:var(--arch-ink)}.arch__canvas:where(.astro-4u5ukf6p) .arch-sub{fill:#3f3f46}.arch__canvas:where(.astro-4u5ukf6p) .arch-new{fill:var(--arch-accent);font-weight:700}.arch__canvas:where(.astro-4u5ukf6p) .arch-note-title{fill:#422006;font-weight:700}.arch__canvas:where(.astro-4u5ukf6p) .arch-note{fill:#5b3a0a}.arch__canvas:where(.astro-4u5ukf6p) .arch-bar-bg{fill:var(--arch-faint);opacity:.35}.arch__canvas:where(.astro-4u5ukf6p) .arch-bar--ok{fill:var(--arch-ok)}.arch__canvas:where(.astro-4u5ukf6p) .arch-bar--warn{fill:var(--arch-warn)}.arch__canvas:where(.astro-4u5ukf6p) .arch-bar--bad{fill:var(--arch-bad)}.arch__canvas:where(.astro-4u5ukf6p) .arch-pct{font-family:var(--sl-font-mono);fill:var(--sl-color-gray-3)}.arch__canvas:where(.astro-4u5ukf6p) .arch-pct--bad{fill:var(--arch-bad)}.arch__canvas:where(.astro-4u5ukf6p) .arch-node{cursor:grab;touch-action:none}.arch__canvas:where(.astro-4u5ukf6p) .arch-node--click{cursor:pointer}.arch__canvas:where(.astro-4u5ukf6p) svg:where(.astro-4u5ukf6p){touch-action:pan-y}.arch--zoomed:where(.astro-4u5ukf6p) .arch__canvas:where(.astro-4u5ukf6p) svg:where(.astro-4u5ukf6p){touch-action:none;cursor:grab}.arch--dragging:where(.astro-4u5ukf6p),.arch--dragging:where(.astro-4u5ukf6p) .arch-node{cursor:grabbing;user-select:none}.arch__drag:where(.astro-4u5ukf6p){font-size:var(--sl-text-xs)}.arch__panel:where(.astro-4u5ukf6p){border-top:1px solid var(--dbc-border);background:var(--dbc-surface-2);min-width:0;font-size:var(--sl-text-sm);align-content:start;gap:.6rem;padding:1rem;line-height:1.55;display:grid}.arch__panel:where(.astro-4u5ukf6p) p{margin:0}.arch__panel:where(.astro-4u5ukf6p) .arch-eyebrow{font:500 .6875rem var(--sl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-color-gray-3)}.arch__panel:where(.astro-4u5ukf6p) .arch-title{font-weight:650;font-size:var(--sl-text-base);color:var(--sl-color-white)}.arch__panel:where(.astro-4u5ukf6p) .arch-blocks{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem;display:grid}.arch__panel:where(.astro-4u5ukf6p) .arch-blk{--blk:#7a55d6;border:1px solid color-mix(in srgb, var(--blk) 35%, transparent);background:color-mix(in srgb, var(--blk) 8%, transparent);border-radius:.6rem;padding:.65rem .8rem}.arch__panel:where(.astro-4u5ukf6p) .arch-blk--add,.arch__panel:where(.astro-4u5ukf6p) .arch-blk--fix{--blk:#1f8f80}.arch__panel:where(.astro-4u5ukf6p) .arch-blk--cost,.arch__panel:where(.astro-4u5ukf6p) .arch-blk--breaks{--blk:#cc4b6e}.arch__panel:where(.astro-4u5ukf6p) .arch-blk--notice{--blk:#b8860b}.arch__panel:where(.astro-4u5ukf6p) .arch-blk--users{--blk:#3570cc}.arch__panel:where(.astro-4u5ukf6p) .arch-blk h4{color:color-mix(in srgb, var(--blk) 80%, var(--sl-color-white));align-items:center;gap:.4rem;margin:0 0 .3rem;font-size:.8125rem;font-weight:700;display:flex}.arch__panel:where(.astro-4u5ukf6p) .arch-blk p+p{margin-top:.3rem}.arch__panel:where(.astro-4u5ukf6p) .arch-blk b{color:var(--sl-color-white)}.arch__panel:where(.astro-4u5ukf6p) .arch-alert{background:var(--sl-color-accent-low);color:var(--sl-color-white);border-radius:.5rem;padding:.5rem .7rem}.arch__panel:where(.astro-4u5ukf6p) .arch-alert--bad{background:color-mix(in srgb, var(--arch-bad) 18%, transparent)}.arch__panel:where(.astro-4u5ukf6p) .arch-budget{font:.75rem var(--sl-font-mono);color:var(--sl-color-gray-3);gap:.3rem;display:grid}.arch__panel:where(.astro-4u5ukf6p) .arch-budget__bar{background:var(--dbc-border);border-radius:.25rem;height:.5rem;overflow:hidden}.arch__panel:where(.astro-4u5ukf6p) .arch-budget__bar i{background:var(--sl-color-accent);height:100%;transition:width .3s;display:block}.arch__panel:where(.astro-4u5ukf6p) .arch-back{color:var(--arch-ok);font-weight:600}.arch__panel:where(.astro-4u5ukf6p) .arch-hops{color:var(--sl-color-gray-3);gap:.15rem;margin:0;padding-left:1.2rem;font-size:.8125rem;display:grid}.arch__panel:where(.astro-4u5ukf6p) .arch-hops li{margin:0}.arch__panel:where(.astro-4u5ukf6p) .arch-hops span{font-family:var(--sl-font-mono);margin-left:.4rem;font-size:.75rem}.arch__panel:where(.astro-4u5ukf6p) .arch-hops .is-on{color:var(--sl-color-white);font-weight:600}.arch__controls:where(.astro-4u5ukf6p){border-top:1px solid var(--dbc-border);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.6rem .75rem;display:flex}.arch__player:where(.astro-4u5ukf6p){flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.arch:where(.astro-4u5ukf6p) .arch__pair:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p){min-width:0}.arch:where(.astro-4u5ukf6p) .arch__pair:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p):disabled{opacity:.4;cursor:default;border-color:var(--dbc-border)}.arch__count:where(.astro-4u5ukf6p){min-width:6.5rem;font:500 var(--sl-text-xs) var(--sl-font-mono);color:var(--sl-color-gray-3);font-variant-numeric:tabular-nums}@media (width<=30rem){.arch:where(.astro-4u5ukf6p) .arch__pair:where(.astro-4u5ukf6p) span:where(.astro-4u5ukf6p){display:none}.arch__count:where(.astro-4u5ukf6p){min-width:0}}.arch:where(.astro-4u5ukf6p) .arch__btn:where(.astro-4u5ukf6p){justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.arch:where(.astro-4u5ukf6p) .arch__btn--primary:where(.astro-4u5ukf6p){border-color:var(--sl-color-accent);background:var(--sl-color-accent);color:var(--sl-color-black)}.arch:where(.astro-4u5ukf6p) .arch__btn--primary:where(.astro-4u5ukf6p):hover,.arch:where(.astro-4u5ukf6p) .arch__btn--primary:where(.astro-4u5ukf6p)[aria-pressed=true]{background:var(--sl-color-accent-high);border-color:var(--sl-color-accent-high);color:var(--sl-color-black)}.arch__speed:where(.astro-4u5ukf6p),.arch__pick:where(.astro-4u5ukf6p){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);align-items:center;gap:.45rem;display:flex}.arch__speed:where(.astro-4u5ukf6p){margin-left:.25rem}.arch:where(.astro-4u5ukf6p) select:where(.astro-4u5ukf6p){border:1px solid var(--dbc-border);background:var(--sl-color-bg);color:var(--sl-color-text);font:500 var(--sl-text-sm) var(--sl-font);text-overflow:ellipsis;border-radius:.5rem;max-width:16rem;padding:.3rem .5rem}.arch__pick:where(.astro-4u5ukf6p){margin-left:auto}.arch__pick--wide:where(.astro-4u5ukf6p){flex:100%;align-items:baseline;margin-left:0}.arch__pick-label:where(.astro-4u5ukf6p){font:500 .6875rem var(--sl-font-mono);letter-spacing:.08em;text-transform:uppercase}.arch__joined:where(.astro-4u5ukf6p){display:flex}.arch:where(.astro-4u5ukf6p) .arch__joined:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p){font-variant-numeric:tabular-nums;border-radius:0;min-width:2.2rem;margin-left:-1px}.arch:where(.astro-4u5ukf6p) .arch__joined:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p):first-child{border-radius:.5rem 0 0 .5rem;margin-left:0}.arch:where(.astro-4u5ukf6p) .arch__joined:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p):last-child{border-radius:0 .5rem .5rem 0}.arch:where(.astro-4u5ukf6p) .arch__joined:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p)[aria-pressed=true]{position:relative}.arch__chips:where(.astro-4u5ukf6p){flex-wrap:wrap;gap:.375rem;display:flex}.arch__slider:where(.astro-4u5ukf6p){font-size:var(--sl-text-sm);color:var(--sl-color-gray-3);flex:100%;gap:.2rem;display:grid}.arch__slider:where(.astro-4u5ukf6p) label:where(.astro-4u5ukf6p){gap:.25rem;display:grid}.arch__slider:where(.astro-4u5ukf6p) output:where(.astro-4u5ukf6p){font-family:var(--sl-font-mono);color:var(--sl-color-white);font-variant-numeric:tabular-nums}.arch__slider:where(.astro-4u5ukf6p) input:where(.astro-4u5ukf6p){width:100%;accent-color:var(--sl-color-accent)}.arch__marks:where(.astro-4u5ukf6p){justify-content:space-between;gap:.5rem;display:flex}.arch:where(.astro-4u5ukf6p) .arch__marks:where(.astro-4u5ukf6p) button:where(.astro-4u5ukf6p){font:.75rem var(--sl-font-mono);color:var(--sl-color-gray-3);background:0 0;border:0;padding:0;text-decoration:underline dotted}.arch__key-h:where(.astro-4u5ukf6p),.arch__nums:where(.astro-4u5ukf6p) summary:where(.astro-4u5ukf6p){color:var(--sl-color-white);font-size:.8125rem;font-weight:700}.arch__nums:where(.astro-4u5ukf6p){border-top:1px solid var(--dbc-border);width:100%;margin-top:.4rem;padding-top:.7rem}.arch__nums:where(.astro-4u5ukf6p) summary:where(.astro-4u5ukf6p){cursor:pointer}.arch__nums-h:where(.astro-4u5ukf6p){color:var(--sl-color-white);margin:.8rem 0 .3rem;font-weight:650}.arch__nums:where(.astro-4u5ukf6p) ul:where(.astro-4u5ukf6p){gap:.35rem;margin:0;padding-left:1.1rem;display:grid}.arch__nums:where(.astro-4u5ukf6p) li:where(.astro-4u5ukf6p){font-size:var(--sl-text-sm);color:var(--sl-color-text);margin:0;line-height:1.55}.arch__nums:where(.astro-4u5ukf6p) b:where(.astro-4u5ukf6p){color:var(--sl-color-white)}.arch__foot:where(.astro-4u5ukf6p),.arch__key:where(.astro-4u5ukf6p){border-top:1px solid var(--dbc-border);font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);gap:.4rem;padding:.6rem .75rem;display:grid}.arch__swipe:where(.astro-4u5ukf6p){display:none}@media (width<=40rem){.arch__swipe:where(.astro-4u5ukf6p){color:var(--sl-color-gray-2);display:block}}.arch__legend:where(.astro-4u5ukf6p){flex-wrap:wrap;gap:.3rem .9rem;display:flex}.arch__legend:where(.astro-4u5ukf6p) span:where(.astro-4u5ukf6p){align-items:center;gap:.35rem;display:inline-flex}.arch__legend:where(.astro-4u5ukf6p) i:where(.astro-4u5ukf6p){border:1.5px solid;border-radius:.2rem;width:.8rem;height:.8rem;display:inline-block}.arch__legend:where(.astro-4u5ukf6p) .arch__legend-new:where(.astro-4u5ukf6p){border:3px solid var(--arch-accent)}.arch__legend:where(.astro-4u5ukf6p) .arch__legend-line:where(.astro-4u5ukf6p){border:0;border-top:3px solid;border-radius:0;width:1.2rem;height:0}.arch__legend:where(.astro-4u5ukf6p) .arch__legend-line--live:where(.astro-4u5ukf6p){border-color:var(--arch-live)}.arch__legend:where(.astro-4u5ukf6p) .arch__legend-line--done:where(.astro-4u5ukf6p){border-color:var(--arch-accent)}.arch__legend:where(.astro-4u5ukf6p) .arch__legend-line--back:where(.astro-4u5ukf6p){border-color:var(--arch-ok)}.arch__legend:where(.astro-4u5ukf6p) .arch__legend-dash:where(.astro-4u5ukf6p){border:0;border-top:2px dashed var(--arch-ink);border-radius:0;width:1.2rem;height:0}@media (prefers-reduced-motion:reduce){.arch__panel:where(.astro-4u5ukf6p) .arch-budget__bar i{transition:none}}
