.lnd-tools{display:grid;gap:var(--lnd-grid-gap);grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;align-items:stretch;margin-top:clamp(26px,3.4vw,40px)}.lnd-tool{position:relative;display:flex;flex-direction:column;gap:12px;padding:var(--lnd-tile-pad);border-radius:var(--lnd-radius-sm);border:var(--lnd-hairline) solid var(--lnd-line);background:var(--color-surface-hover);background:color-mix(in srgb,var(--color-text) 3%,transparent);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.lnd-tool:hover,.lnd-tool:focus-visible,.lnd-tool:focus-within{transform:translateY(-3px);border-color:var(--lnd-line-strong);background:color-mix(in srgb,var(--color-text) 6%,transparent)}.lnd-tool:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.lnd-tool__head{display:flex;align-items:flex-start;gap:12px}.lnd-tool__icon{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;border:var(--lnd-hairline) solid var(--lnd-line);background:var(--color-primary-soft);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.lnd-tool__icon svg{width:22px;height:22px}.lnd-tool:hover .lnd-tool__icon,.lnd-tool:focus-within .lnd-tool__icon{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--lnd-line));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 18%,transparent)}.lnd-tool__label{margin:0;font-family:var(--font-display);font-size:var(--text-h4);font-weight:600;letter-spacing:-.02em;line-height:var(--leading-h4);color:var(--color-text)}.lnd-tool__name{display:block;margin-top:4px;min-height:calc(3 * 1.35em);font-family:var(--font-mono);font-size:var(--text-caption);line-height:1.35;color:var(--color-text-secondary);color:color-mix(in srgb,var(--color-text) 48%,transparent);transition:color var(--dur-base) var(--ease-out);overflow-wrap:anywhere}.lnd-tool:hover .lnd-tool__name,.lnd-tool:focus-within .lnd-tool__name{color:var(--color-text-secondary)}.lnd-tool__scene{display:block;width:100%;height:auto;aspect-ratio:160 / 40;overflow:visible}.lnd-tool__rail{fill:none;stroke:var(--lnd-line-strong);stroke-width:1.2;stroke-linecap:round;transition:stroke var(--dur-base) var(--ease-out)}.lnd-tool:hover .lnd-tool__rail,.lnd-tool:focus-within .lnd-tool__rail{stroke:color-mix(in srgb,var(--color-text) 30%,transparent)}.lnd-tool__spark{fill:none;stroke:var(--color-primary);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:12 88;stroke-dashoffset:100;opacity:0}.lnd-tool:hover .lnd-tool__spark,.lnd-tool:focus-within .lnd-tool__spark{opacity:1;animation:lnd-tool-flow 2.2s linear infinite}.lnd-tool__node{fill:var(--color-bg);fill:color-mix(in srgb,var(--color-bg) 92%,var(--color-text));stroke:var(--lnd-line-strong);stroke-width:1.4;transition:stroke var(--dur-base) var(--ease-out)}.lnd-tool__node--core{stroke:color-mix(in srgb,var(--color-primary) 40%,var(--lnd-line))}.lnd-tool:hover .lnd-tool__node,.lnd-tool:focus-within .lnd-tool__node{animation:lnd-tool-node 2.2s var(--ease-out) infinite}.lnd-tool__node--core{animation-delay:.75s}.lnd-tool__node--out{animation-delay:1.5s}@keyframes lnd-tool-flow{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes lnd-tool-node{0%,to{stroke:var(--lnd-line-strong);fill:color-mix(in srgb,var(--color-bg) 92%,var(--color-text))}14%{stroke:var(--color-primary);fill:color-mix(in srgb,var(--color-primary) 26%,transparent)}}.mc-line{fill:color-mix(in srgb,var(--color-text) 20%,transparent)}.mc-hit{fill:color-mix(in srgb,var(--color-primary) 24%,transparent);opacity:.35}.lnd-tool:hover .mc-hit,.lnd-tool:focus-within .mc-hit{animation:mc-find 2.2s var(--ease-out) infinite}@keyframes mc-find{0%,6%{transform:translateY(0);opacity:.5}26%{transform:translateY(7px);opacity:.72}46%{transform:translateY(14px);opacity:.88}66%,88%{transform:translateY(21px);opacity:1}to{transform:translateY(21px);opacity:.35}}.mc-fold{fill:color-mix(in srgb,var(--color-text) 20%,transparent)}.mc-row{fill:color-mix(in srgb,var(--color-primary) 55%,transparent);opacity:0;transform:translate(-8px)}.mc-row--2{animation-delay:.1s}.mc-row--3{animation-delay:.2s}.lnd-tool:hover .mc-fold,.lnd-tool:focus-within .mc-fold{animation:mc-read-fold 2.4s var(--ease-out) infinite}.lnd-tool:hover .mc-row,.lnd-tool:focus-within .mc-row{animation:mc-read-row 2.4s var(--ease-out) infinite}@keyframes mc-read-fold{0%,26%{opacity:1}50%,86%{opacity:0}to{opacity:1}}@keyframes mc-read-row{0%,30%{opacity:0;transform:translate(-8px)}54%,88%{opacity:1;transform:none}to{opacity:0;transform:translate(-8px)}}.mc-old{fill:none;stroke:color-mix(in srgb,var(--color-text) 26%,transparent);stroke-width:7;stroke-linecap:round}.mc-new{fill:none;stroke:var(--color-primary);stroke-width:7;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100}.lnd-tool:hover .mc-new,.lnd-tool:focus-within .mc-new{animation:mc-edit 2.2s var(--ease-out) infinite}@keyframes mc-edit{0%{stroke-dashoffset:100}55%,90%{stroke-dashoffset:0}to{stroke-dashoffset:100}}.mc-caret{fill:var(--color-primary);opacity:0}.lnd-tool:hover .mc-caret,.lnd-tool:focus-within .mc-caret{animation:mc-caret 2.2s var(--ease-out) infinite}@keyframes mc-caret{0%,52%{opacity:0}66%,90%{opacity:1}to{opacity:0}}.mc-track{fill:none;stroke:color-mix(in srgb,var(--color-text) 16%,transparent);stroke-width:5;stroke-linecap:round}.mc-fill{fill:none;stroke:var(--color-primary);stroke-width:5;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100}.lnd-tool:hover .mc-fill,.lnd-tool:focus-within .mc-fill{animation:mc-run 2.2s linear infinite}@keyframes mc-run{0%{stroke-dashoffset:100}56%,92%{stroke-dashoffset:0}to{stroke-dashoffset:100}}.mc-check{fill:none;stroke:var(--color-primary);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100 100;stroke-dashoffset:100;opacity:0}.lnd-tool:hover .mc-check,.lnd-tool:focus-within .mc-check{animation:mc-check 2.2s var(--ease-out) infinite}@keyframes mc-check{0%,54%{stroke-dashoffset:100;opacity:1}78%,92%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.mc-trunk{fill:none;stroke:color-mix(in srgb,var(--color-text) 26%,transparent);stroke-width:2;stroke-linecap:round}.mc-branch{fill:none;stroke:color-mix(in srgb,var(--color-primary) 60%,transparent);stroke-width:2;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:0;opacity:.4}.mc-branch--b{animation-delay:.22s}.lnd-tool:hover .mc-branch,.lnd-tool:focus-within .mc-branch{animation:mc-branch 2.2s var(--ease-out) infinite}@keyframes mc-branch{0%{stroke-dashoffset:100;opacity:0}45%,88%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:100;opacity:0}}.mc-step{fill:color-mix(in srgb,var(--color-primary) 45%,transparent);opacity:.35}.lnd-tool:hover .mc-step,.lnd-tool:focus-within .mc-step{animation:mc-step 2.2s var(--ease-out) infinite}@keyframes mc-step{0%,40%{opacity:0}60%,88%{opacity:1}to{opacity:.35}}.mc-block{fill:color-mix(in srgb,var(--color-primary) 30%,transparent);stroke:color-mix(in srgb,var(--color-primary) 60%,transparent);stroke-width:1.2}.mc-block--a{transform:translate(-16px,6px)}.mc-block--b{transform:translate(16px,-6px)}.mc-block--c{transform:translate(-13px,10px)}.mc-block--d{transform:translate(13px,9px)}.lnd-tool:hover .mc-block--a,.lnd-tool:focus-within .mc-block--a{animation:mc-build-a 1.8s var(--ease-out) 1 forwards}.lnd-tool:hover .mc-block--b,.lnd-tool:focus-within .mc-block--b{animation:mc-build-b 1.8s var(--ease-out) .08s 1 forwards}.lnd-tool:hover .mc-block--c,.lnd-tool:focus-within .mc-block--c{animation:mc-build-c 1.8s var(--ease-out) .16s 1 forwards}.lnd-tool:hover .mc-block--d,.lnd-tool:focus-within .mc-block--d{animation:mc-build-d 1.8s var(--ease-out) .24s 1 forwards}@keyframes mc-build-a{0%{transform:translate(-16px,6px);opacity:.45}60%,to{transform:none;opacity:1}}@keyframes mc-build-b{0%{transform:translate(16px,-6px);opacity:.45}60%,to{transform:none;opacity:1}}@keyframes mc-build-c{0%{transform:translate(-13px,10px);opacity:.45}60%,to{transform:none;opacity:1}}@keyframes mc-build-d{0%{transform:translate(13px,9px);opacity:.45}60%,to{transform:none;opacity:1}}.mc-layer{fill:color-mix(in srgb,var(--color-primary) 24%,transparent);stroke:color-mix(in srgb,var(--color-primary) 55%,transparent);stroke-width:1}.mc-layer--2{animation-delay:.22s}.mc-layer--3{animation-delay:.44s}.lnd-tool:hover .mc-layer,.lnd-tool:focus-within .mc-layer{animation:mc-phase 2s ease-in-out infinite}@keyframes mc-phase{0%,to{transform:translate(-7px)}50%{transform:translate(7px)}}.mc-stage{fill:none;stroke:color-mix(in srgb,var(--color-text) 22%,transparent);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 5}.mc-stage--prod{stroke:color-mix(in srgb,var(--color-text) 40%,transparent);stroke-dasharray:none}.mc-marker{fill:var(--color-primary);transform:translateY(18px)}.lnd-tool:hover .mc-marker,.lnd-tool:focus-within .mc-marker{animation:mc-ship 2.2s var(--ease-out) infinite}@keyframes mc-ship{0%{transform:translateY(18px)}45%,92%{transform:translateY(0)}to{transform:translateY(18px)}}.mc-lock{fill:none;stroke:var(--color-primary);stroke-width:1.4;opacity:0}.lnd-tool:hover .mc-lock,.lnd-tool:focus-within .mc-lock{animation:mc-lock 2.2s var(--ease-out) infinite}@keyframes mc-lock{0%,44%{opacity:0}58%,92%{opacity:.9}to{opacity:0}}.lnd-tool__io{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-caption);line-height:1.3;color:var(--color-text-muted);color:color-mix(in srgb,var(--color-text) 45%,transparent);opacity:0;transform:translateY(3px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.lnd-tool:hover .lnd-tool__io,.lnd-tool:focus-within .lnd-tool__io{opacity:1;transform:none;color:color-mix(in srgb,var(--color-text) 72%,transparent)}.lnd-tool__io-arrow{color:var(--color-primary);opacity:.8}.lnd-tool__desc{margin:0;min-height:4.4em;font-size:var(--text-body-sm);line-height:var(--leading-body-sm);color:var(--color-text-secondary);opacity:.42;transition:opacity var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.lnd-tool:hover .lnd-tool__desc,.lnd-tool:focus-within .lnd-tool__desc{opacity:1;color:var(--color-text)}.lnd-tools__hint{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);color:color-mix(in srgb,var(--color-text) 45%,transparent)}@media(min-width:640px){.lnd-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.lnd-tools{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(hover:none){.lnd-tool__desc{opacity:1;color:var(--color-text)}.lnd-tool__io{opacity:1;transform:none;color:color-mix(in srgb,var(--color-text) 72%,transparent)}.lnd-tool__spark{opacity:.4;stroke-dashoffset:46}.lnd-tool__node--core{stroke:var(--color-primary);fill:color-mix(in srgb,var(--color-primary) 22%,transparent)}}@media(hover:none),(prefers-reduced-motion:reduce){.mc-hit{transform:translateY(21px);opacity:.55;animation:none}.mc-fold{opacity:0;animation:none}.mc-row{opacity:1;transform:none;animation:none}.mc-new{stroke-dashoffset:0;animation:none}.mc-caret{opacity:.9;animation:none}.mc-fill{stroke-dashoffset:0;animation:none}.mc-check{stroke-dashoffset:0;opacity:1;animation:none}.mc-branch{stroke-dashoffset:0;opacity:.8;animation:none}.mc-step{opacity:.85;animation:none}.mc-block--a,.mc-block--b,.mc-block--c,.mc-block--d{transform:none;opacity:1;animation:none}.mc-layer,.mc-marker{transform:none;animation:none}.mc-lock{opacity:.85;animation:none}}@media(prefers-reduced-motion:reduce){.lnd-tool,.lnd-tool__icon,.lnd-tool__name,.lnd-tool__rail,.lnd-tool__node,.lnd-tool__io,.lnd-tool__desc{transition:none}.lnd-tool:hover,.lnd-tool:focus-within{transform:none}.lnd-tool:hover .lnd-tool__spark,.lnd-tool:focus-within .lnd-tool__spark{animation:none;opacity:.55;stroke-dashoffset:46}.lnd-tool:hover .lnd-tool__node,.lnd-tool:focus-within .lnd-tool__node{animation:none}.lnd-tool:hover .lnd-tool__node--core,.lnd-tool:focus-within .lnd-tool__node--core{stroke:var(--color-primary);fill:color-mix(in srgb,var(--color-primary) 22%,transparent)}}@supports not (color: color-mix(in srgb,#ffffff 12%,transparent)){.lnd-tool,.lnd-tool:hover,.lnd-tool:focus-within{background:var(--color-surface-hover)}.lnd-tool:hover,.lnd-tool:focus-within{border-color:var(--color-border-strong)}.lnd-tool__icon{background:var(--color-primary-soft)}.lnd-tool__name,.lnd-tool__io,.lnd-tools__hint{color:var(--color-text-muted)}.lnd-tool__rail{stroke:var(--color-border-strong)}.lnd-tool__node{fill:var(--color-surface);stroke:var(--color-border-strong)}.lnd-tool__node--core{stroke:var(--color-primary)}.mc-line,.mc-fold{fill:var(--color-text-muted)}.mc-hit{fill:var(--color-primary-soft)}.mc-row{fill:var(--color-primary)}.mc-old{stroke:var(--color-text-muted)}.mc-new,.mc-check,.mc-fill,.mc-caret,.mc-marker{stroke:var(--color-primary)}.mc-caret,.mc-marker{fill:var(--color-primary);stroke:none}.mc-track{stroke:var(--color-border-strong)}.mc-trunk{stroke:var(--color-text-muted)}.mc-branch{stroke:var(--color-primary)}.mc-step,.mc-block,.mc-layer{fill:var(--color-primary-soft)}.mc-block,.mc-layer{stroke:var(--color-primary)}.mc-stage{stroke:var(--color-border-strong)}.mc-stage--prod{stroke:var(--color-text-secondary)}.mc-lock{stroke:var(--color-primary)}}
