.psp-backdrop.svelte-14e3718{position:fixed;inset:0;z-index:100000;background:transparent}.psp.svelte-14e3718{position:fixed;top:0;right:0;bottom:0;width:360px;z-index:100001;display:flex;flex-direction:column;background:#1a1814;border-left:1px solid var(--color-border, rgba(237,233,227,.08));box-shadow:-8px 0 32px #0006;animation:svelte-14e3718-psp-slide-in .35s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes svelte-14e3718-psp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.psp--closing.svelte-14e3718{animation:svelte-14e3718-psp-slide-out .3s cubic-bezier(.4,0,1,1) forwards}@keyframes svelte-14e3718-psp-slide-out{0%{transform:translate(0)}to{transform:translate(100%)}}.psp__header.svelte-14e3718{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border, rgba(237,233,227,.08));flex-shrink:0}.psp__title.svelte-14e3718{display:flex;align-items:center;gap:8px;font:var(--weight-semibold, 600) 12px / 1 var(--font-display, "Outfit", sans-serif);color:var(--color-text-secondary, #b0a99e);letter-spacing:.06em;text-transform:uppercase;margin:0}.psp__title.svelte-14e3718 svg:where(.svelte-14e3718){color:var(--color-text-tertiary, #7a756d)}.psp__header-actions.svelte-14e3718{display:flex;align-items:center;gap:8px}.psp__status.svelte-14e3718{font:var(--weight-medium, 500) 11px / 1 var(--font-mono, monospace);padding:3px 8px;border-radius:4px}.psp__status--error.svelte-14e3718{color:var(--color-error, #e05252);background:#e052521a}.psp__close.svelte-14e3718{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--color-text-muted, #7a756d);cursor:pointer;transition:all .15s var(--ease-out, ease)}.psp__close.svelte-14e3718:hover{background:#ede9e30a;border-color:var(--color-border, rgba(237,233,227,.08));color:var(--color-text-secondary, #b0a99e)}.psp__loading.svelte-14e3718{padding:48px 24px;text-align:center;font:var(--weight-medium, 500) 13px / 1 var(--font-display, "Outfit", sans-serif);color:var(--color-text-muted, #7a756d)}.psp__body.svelte-14e3718{flex:1 1 0;min-height:0;overflow-y:auto;padding:12px;scrollbar-width:none;-ms-overflow-style:none}.psp__body.svelte-14e3718::-webkit-scrollbar{display:none}.psp__section.svelte-14e3718{display:block;background:#ede9e305;border:1px solid var(--color-border, rgba(237,233,227,.08));border-radius:8px;overflow:hidden;margin-bottom:8px}.psp__section.svelte-14e3718:last-child{margin-bottom:0}.psp__section-toggle.svelte-14e3718{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:none;background:transparent;cursor:pointer;transition:background .15s var(--ease-out, ease)}.psp__section-toggle.svelte-14e3718:hover{background:#ede9e308}.psp__section-toggle-label.svelte-14e3718{display:flex;align-items:center;gap:6px;font:var(--weight-semibold, 600) 11px / 1 var(--font-display, "Outfit", sans-serif);color:var(--color-text-muted, #7a756d);letter-spacing:.04em;text-transform:uppercase;transition:color .15s var(--ease-out, ease)}.psp__section-toggle.svelte-14e3718:hover .psp__section-toggle-label:where(.svelte-14e3718),.psp__section-toggle--open.svelte-14e3718 .psp__section-toggle-label:where(.svelte-14e3718){color:var(--color-primary, #d4a853)}.psp__section-toggle-icon.svelte-14e3718{color:var(--color-text-muted, #7a756d);transition:transform .2s var(--ease-out, ease),color .15s var(--ease-out, ease)}.psp__section-toggle.svelte-14e3718:hover .psp__section-toggle-icon:where(.svelte-14e3718),.psp__section-toggle--open.svelte-14e3718 .psp__section-toggle-icon:where(.svelte-14e3718){color:var(--color-primary, #d4a853)}.psp__section-toggle--open.svelte-14e3718 .psp__section-toggle-icon:where(.svelte-14e3718){transform:rotate(180deg)}.psp__section-collapsible.svelte-14e3718{padding:12px 14px 16px;border-top:1px solid var(--color-border, rgba(237,233,227,.08));animation:svelte-14e3718-psp-collapse-in .2s ease}.psp__section-collapsible.svelte-14e3718>:where(.svelte-14e3718)+:where(.svelte-14e3718){margin-top:14px}@keyframes svelte-14e3718-psp-collapse-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.psp__field.svelte-14e3718{display:flex;flex-direction:column;gap:6px}.psp__field-label.svelte-14e3718{display:flex;align-items:center;justify-content:space-between;font:var(--weight-medium, 500) 11px / 1 var(--font-display, "Outfit", sans-serif);color:var(--color-text-muted, #7a756d);letter-spacing:.04em;text-transform:uppercase}.psp__field-value.svelte-14e3718{font:var(--weight-medium, 500) 10px / 1 var(--font-mono, monospace);color:var(--color-text-tertiary, #585350);text-transform:none;letter-spacing:0}.psp__toggle-row.svelte-14e3718{display:flex;align-items:center;justify-content:space-between;min-height:32px}.psp .ap-toggle{position:relative;width:40px;height:22px;border-radius:11px;background:#ede9e30f;border:1px solid rgba(237,233,227,.1);cursor:pointer;padding:0;flex-shrink:0;transition:all .15s var(--ease-out, ease)}.psp .ap-toggle.active,.psp .ap-toggle[aria-checked=true]{background:#d4a85333;border-color:var(--color-primary, #d4a853)}.psp .ap-toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-text-tertiary, #7a756d);transition:all .15s var(--ease-out, ease)}.psp .ap-toggle.active .ap-toggle__thumb,.psp .ap-toggle[aria-checked=true] .ap-toggle__thumb{transform:translate(18px);background:var(--color-primary-bright, #e8c36a)}.psp .ap-select{width:100%;box-sizing:border-box;background:#0d0d10;border:1px solid var(--color-border, rgba(237,233,227,.08));border-radius:6px;color:var(--color-text-secondary, #b0a99e);font:var(--weight-normal, 400) 13px / 1.4 var(--font-display, "Outfit", sans-serif);padding:10px 32px 10px 12px;transition:border-color .15s var(--ease-out, ease);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237a756d' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.psp .ap-select:hover,.psp .ap-select:focus{border-color:var(--color-primary-dim, #a68540)}.psp .ap-select option,.psp .ap-select optgroup{background:#1a1814;color:#b0a99e}.psp__css-badge.svelte-14e3718{font:var(--weight-medium, 500) 9px / 1 var(--font-mono, monospace);color:var(--color-primary, #d4a853);background:#d4a8531a;padding:3px 6px;border-radius:4px;letter-spacing:.04em;margin-left:8px}.psp__css-editor.svelte-14e3718{position:relative;height:200px;border:1px solid var(--color-border, rgba(237,233,227,.08));border-radius:6px;overflow:hidden;background:#06060a;transition:border-color .15s var(--ease-out, ease)}.psp__css-editor.svelte-14e3718:focus-within{border-color:var(--color-primary-dim, #a68540)}.psp__css-highlight.svelte-14e3718,.psp__css-textarea.svelte-14e3718{position:absolute;inset:0;margin:0;padding:10px 12px;font:12px / 1.6 var(--font-mono, "JetBrains Mono", monospace);white-space:pre-wrap;word-wrap:break-word;overflow:auto;tab-size:2;-moz-tab-size:2;border:none}.psp__css-highlight.svelte-14e3718{z-index:1;pointer-events:none;color:var(--color-text-primary, #ede9e3);background:transparent}.psp__css-textarea.svelte-14e3718{z-index:2;color:transparent;caret-color:var(--color-text-primary, #ede9e3);background:transparent;outline:none;resize:none;-webkit-text-fill-color:transparent}.psp__css-textarea.svelte-14e3718::placeholder{-webkit-text-fill-color:var(--color-text-muted, #7a756d)}.psp__css-footer.svelte-14e3718{display:flex;justify-content:flex-end;margin-top:4px}.psp__css-count.svelte-14e3718{font:var(--weight-medium, 500) 10px / 1 var(--font-mono, monospace);color:var(--color-text-muted, #7a756d)}.psp__css-highlight .hl-sel{color:#d4a853}.psp__css-highlight .hl-prop{color:#7aafdb}.psp__css-highlight .hl-val{color:#ede9e3}.psp__css-highlight .hl-cmt{color:#4e4a44;font-style:italic}.psp__css-highlight .hl-str{color:#6bb87a}.psp__css-highlight .hl-num{color:#e0a64a}.psp__css-highlight .hl-punc{color:#585350}@media(max-width:480px){.psp.svelte-14e3718{width:100%;top:auto;bottom:0;max-height:85vh;border-left:none;border-top:1px solid var(--color-border, rgba(237,233,227,.08));border-radius:12px 12px 0 0;animation-name:svelte-14e3718-psp-slide-up}.psp--closing.svelte-14e3718{animation-name:svelte-14e3718-psp-slide-down}}@keyframes svelte-14e3718-psp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes svelte-14e3718-psp-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.psp.svelte-14e3718,.psp-backdrop.svelte-14e3718,.psp__section-collapsible.svelte-14e3718{animation:none}}.arrange-backdrop.svelte-1jsk6pv{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center;background:#000000b3;padding:3vh 0 6vh;overflow-y:auto;isolation:isolate}.arrange-chrome.svelte-1jsk6pv{display:flex;flex-direction:column;width:85%;max-width:1400px;flex-shrink:0;min-height:0}.arrange-chrome__toolbar.svelte-1jsk6pv{position:relative;z-index:10;transform-origin:bottom center;transform:perspective(800px) rotateX(90deg);opacity:0;max-height:0;overflow:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease-out,max-height .3s cubic-bezier(.4,0,.2,1)}.arrange-chrome__toolbar.open.svelte-1jsk6pv{transform:perspective(800px) rotateX(0);opacity:1;max-height:60px;pointer-events:auto;transition:transform .3s cubic-bezier(.34,1.02,.64,1),opacity .15s ease-out,max-height .3s cubic-bezier(.34,1.02,.64,1)}.arrange-chrome__front.svelte-1jsk6pv{position:relative;border:2px solid var(--color-primary-dim, rgba(212, 168, 83, .35));border-radius:0;box-shadow:0 8px 32px #0000004d,0 0 24px #d4a8530f;min-height:200px;flex-shrink:0}.arrange-chrome__panel.svelte-1jsk6pv{transform-origin:top center;transform:perspective(800px) rotateX(-90deg);opacity:0;max-height:0;overflow:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease-out,max-height .3s cubic-bezier(.4,0,.2,1)}.arrange-chrome__panel.open.svelte-1jsk6pv{transform:perspective(800px) rotateX(0);opacity:1;max-height:600px;pointer-events:auto;transition:transform .3s cubic-bezier(.34,1.02,.64,1),opacity .15s ease-out,max-height .3s cubic-bezier(.34,1.02,.64,1)}.arrange-toolbar.svelte-1jsk6pv{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--color-bg-deep, #08080b);border:2px solid var(--color-primary-dim, rgba(212, 168, 83, .35));border-bottom:none;border-radius:var(--radius-lg, 10px) var(--radius-lg, 10px) 0 0;gap:16px}.arrange-toolbar__left.svelte-1jsk6pv,.arrange-toolbar__right.svelte-1jsk6pv{display:flex;gap:6px;align-items:center}.arrange-toolbar__btn.svelte-1jsk6pv{padding:5px 12px;border-radius:var(--radius-md, 6px);border:1px solid var(--color-border, rgba(212, 168, 83, .2));background:transparent;color:var(--color-text-muted, rgba(237, 233, 227, .5));font-family:var(--font-display, sans-serif);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all .12s}.arrange-toolbar__btn.active.svelte-1jsk6pv{border-color:var(--color-primary-dim, rgba(212, 168, 83, .6));color:var(--color-primary, #d4a853);background:var(--color-primary-bg, rgba(212, 168, 83, .06))}.arrange-toolbar__done.svelte-1jsk6pv{padding:6px 18px;border-radius:var(--radius-md, 6px);border:1px solid var(--color-primary-dim, rgba(212, 168, 83, .5));background:var(--color-primary-bg, rgba(212, 168, 83, .1));color:var(--color-primary, #d4a853);font-family:var(--font-display, sans-serif);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all .12s}.arrange-toolbar__done.svelte-1jsk6pv:hover{background:#d4a85333;border-color:var(--color-primary, #d4a853)}.arrange-canvas.svelte-1jsk6pv{width:100%;position:relative;background:#0c0c10;cursor:default;user-select:none;-webkit-user-select:none;touch-action:none}.arrange-canvas__inner.svelte-1jsk6pv{position:absolute;top:40px;left:50%;transform-origin:top center;translate:-50% 0;user-select:none;-webkit-user-select:none}.arrange-page-border.svelte-1jsk6pv{position:absolute;inset:0;border:1px solid rgba(212,168,83,.15);pointer-events:none;z-index:0;background-image:radial-gradient(circle,rgba(212,168,83,.13) .8px,transparent .8px);background-size:var(--dot-spacing) var(--dot-spacing);background-position:calc(var(--dot-spacing) / -2) calc(var(--dot-spacing) / -2)}.arrange-inset-shade.svelte-1jsk6pv{position:absolute;pointer-events:none;z-index:1;background:repeating-linear-gradient(-45deg,rgba(212,168,83,.06),rgba(212,168,83,.06) 2px,transparent 2px,transparent 6px);border:1px dashed rgba(212,168,83,.2)}.arrange-inset-shade--left.svelte-1jsk6pv{top:0;bottom:0;left:0;border-left:none;border-top:none;border-bottom:none}.arrange-inset-shade--right.svelte-1jsk6pv{top:0;bottom:0;right:0;border-right:none;border-top:none;border-bottom:none}.arrange-grid-line.svelte-1jsk6pv{position:absolute;top:0;bottom:0;width:1px;pointer-events:none;z-index:0;background:#d4a8531f}.arrange-grid-label.svelte-1jsk6pv{position:absolute;top:-16px;left:0;translate:-50% 0;font-family:var(--font-mono, monospace);font-size:9px;font-weight:500;color:#d4a8534d;white-space:nowrap}.arrange-mobile-frame.svelte-1jsk6pv{position:absolute;inset:-20px -16px;border:2px solid rgba(166,133,64,.3);border-radius:24px;pointer-events:none}.arrange-block.svelte-1jsk6pv{position:absolute;border-radius:10px;border:2px solid rgba(212,168,83,.4);background:#16161e;display:flex;flex-direction:column;justify-content:flex-start;padding:10px 14px;gap:4px;box-shadow:0 1px 6px #0000004d;transition:border-color .12s ease-out,box-shadow .12s ease-out;user-select:none;-webkit-user-select:none;will-change:transform;transform-origin:center center;overflow:visible}.arrange-block.hovered.svelte-1jsk6pv{border-color:#d4a85399;box-shadow:0 2px 10px #00000059}.arrange-block.selected.svelte-1jsk6pv{border-color:#d4a853;box-shadow:0 2px 16px #0006,0 0 20px #d4a85314}.arrange-block.dragging.svelte-1jsk6pv{border-color:#e8c06a;box-shadow:0 8px 32px #00000080;z-index:100!important}.arrange-block.reorder-ghost.svelte-1jsk6pv{border-color:#e8c06a;box-shadow:0 12px 40px #0009;opacity:.92;pointer-events:none;z-index:200!important}.arrange-block.dimmed.svelte-1jsk6pv{opacity:.7;transition:opacity .2s ease-out}.arrange-mobile-dot.svelte-1jsk6pv{position:absolute;top:6px;left:10px;width:6px;height:6px;border-radius:50%;background:#4a90d9;box-shadow:0 0 4px #4a90d966;z-index:3}.arrange-block__top.svelte-1jsk6pv{display:flex;align-items:baseline;gap:8px;position:relative;z-index:1}.arrange-block__label.svelte-1jsk6pv{font-family:var(--font-display, sans-serif);font-size:13px;font-weight:600;color:#ede9e380;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrange-block__meta.svelte-1jsk6pv{font-family:var(--font-mono, monospace);font-size:11px;font-weight:500;color:#ede9e34d;white-space:nowrap;margin-left:auto;display:flex;align-items:center;gap:6px}.arrange-block__preview.svelte-1jsk6pv{font-family:var(--font-display, sans-serif);font-size:10px;color:#ede9e333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.arrange-scale-badge.svelte-1jsk6pv{color:#d4a85380;font-size:10px}.arrange-justify-badge.svelte-1jsk6pv{color:#d4a85399;font-size:10px;margin-left:4px;background:#d4a8531a;padding:1px 4px;border-radius:3px}.arrange-shift-zone.svelte-1jsk6pv{position:absolute;bottom:0;left:0;right:0;height:26px;display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:0 12px;border-radius:0 0 8px 8px;overflow:hidden;pointer-events:none;border-top:1px solid rgba(212,168,83,.18);background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(212,168,83,.045) 4px,rgba(212,168,83,.045) 5px);color:#d4a85366;transition:background .12s ease-out}.arrange-shift-zone__label.svelte-1jsk6pv{font-family:var(--font-mono, monospace);font-size:11px;font-weight:500;color:#d4a85380}.arrange-shift-icon.svelte-1jsk6pv{flex-shrink:0}.arrange-shift-zone.interactive.svelte-1jsk6pv{pointer-events:auto;cursor:move}.arrange-shift-zone.interactive.svelte-1jsk6pv:hover{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(212,168,83,.07) 4px,rgba(212,168,83,.07) 5px);border-top-color:#d4a85347;color:#d4a853b3}.arrange-handle.svelte-1jsk6pv{position:absolute;z-index:2}.arrange-handle--left.svelte-1jsk6pv,.arrange-handle--right.svelte-1jsk6pv{top:50%;width:5px;height:20px;margin-top:-10px;border-radius:2px;background:#d4a853a6;cursor:col-resize;transition:all 80ms ease-out}.arrange-handle--left.svelte-1jsk6pv{left:-3px}.arrange-handle--right.svelte-1jsk6pv{right:-3px}.arrange-handle--left.svelte-1jsk6pv:hover,.arrange-handle--right.svelte-1jsk6pv:hover{background:#e8c06a;height:28px;margin-top:-14px}.arrange-handle--hint.svelte-1jsk6pv{background:#d4a8534d}.arrange-handle--overlap-top.svelte-1jsk6pv,.arrange-handle--overlap-bottom.svelte-1jsk6pv{left:50%;margin-left:-10px;width:20px;height:5px;border-radius:2px;background:#d4a853a6;cursor:ns-resize;transition:all 80ms ease-out}.arrange-handle--overlap-top.svelte-1jsk6pv{top:-3px}.arrange-handle--overlap-bottom.svelte-1jsk6pv{bottom:-3px}.arrange-handle--overlap-top.svelte-1jsk6pv:hover,.arrange-handle--overlap-bottom.svelte-1jsk6pv:hover{background:#e8c06a;width:28px;margin-left:-14px}.arrange-handle--rotate.svelte-1jsk6pv{top:-22px;right:-22px;width:20px;height:20px;border-radius:50%;background:#16161ef2;border:1.5px solid rgba(212,168,83,.55);cursor:crosshair;display:flex;align-items:center;justify-content:center;color:#d4a85399;transition:all .1s ease-out}.arrange-handle--rotate.svelte-1jsk6pv:hover{background:#d4a85326;border-color:#d4a853;color:#d4a853}.arrange-handle--scale.svelte-1jsk6pv{bottom:-22px;right:-22px;width:20px;height:20px;border-radius:50%;background:#16161ef2;border:1.5px solid rgba(212,168,83,.55);cursor:nwse-resize;display:flex;align-items:center;justify-content:center;color:#d4a85399;transition:all .1s ease-out}.arrange-handle--scale.svelte-1jsk6pv:hover{background:#d4a85326;border-color:#d4a853;color:#d4a853}.arrange-alignment-guide.svelte-1jsk6pv{position:absolute;top:0;bottom:0;width:1px;background:#d4a85340;pointer-events:none;z-index:50}.arrange-value-indicator.svelte-1jsk6pv{position:fixed;pointer-events:none;z-index:200;font-family:var(--font-mono, monospace);font-size:12px;font-weight:600;color:#e8c06a;background:#08080beb;border:1px solid rgba(212,168,83,.4);border-radius:4px;padding:3px 8px;backdrop-filter:blur(8px);white-space:nowrap}.arrange-mode-hint.svelte-1jsk6pv{position:absolute;bottom:60px;left:50%;translate:-50% 0;font-family:var(--font-display, sans-serif);font-size:11px;font-weight:500;letter-spacing:.08em;color:#ede9e34d;background:#08080bcc;border:1px solid rgba(212,168,83,.15);border-radius:4px;padding:4px 12px;pointer-events:none}.arrange-toolbox.svelte-1jsk6pv{display:flex;flex-direction:column;background:#0a0a0e;border-radius:0 0 var(--radius-lg, 10px) var(--radius-lg, 10px);border:2px solid var(--color-primary-dim, rgba(212, 168, 83, .35));border-top:none;box-shadow:0 0 24px #d4a8530a}.arrange-toolbox__tabs.svelte-1jsk6pv{display:flex;gap:0;min-height:42px;border-bottom:2px solid rgba(255,255,255,.08);flex-shrink:0;position:relative}.arrange-toolbox__tab.svelte-1jsk6pv{display:flex;flex:1;align-items:center;justify-content:center;gap:6px;padding:8px var(--space-sm, 8px);margin-bottom:-2px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:#ffffff8c;font-family:var(--font-display, sans-serif);font-size:var(--text-xs, 11px);font-weight:var(--weight-semibold, 600);letter-spacing:var(--tracking-wide, .03em);text-transform:uppercase;cursor:pointer;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.arrange-toolbox__tab.svelte-1jsk6pv:hover{color:#fffc}.arrange-toolbox__tab.active.svelte-1jsk6pv{color:var(--color-primary, #d4a853);border-bottom-color:var(--color-primary, #d4a853)}.arrange-toolbox__tab.svelte-1jsk6pv svg:where(.svelte-1jsk6pv){flex-shrink:0;opacity:.6;transition:opacity .15s ease}.arrange-toolbox__tab.svelte-1jsk6pv:hover svg:where(.svelte-1jsk6pv){opacity:.8}.arrange-toolbox__tab.active.svelte-1jsk6pv svg:where(.svelte-1jsk6pv){opacity:1}.arrange-toolbox__empty.svelte-1jsk6pv{padding:var(--space-xl, 20px) var(--space-md, 12px);color:var(--color-text-muted, rgba(237, 233, 227, .4));font-family:var(--font-display, sans-serif);font-size:var(--text-xs, 11px);font-weight:500;text-align:center;text-transform:uppercase;letter-spacing:.06em}.arrange-toolbox__body.svelte-1jsk6pv{display:flex;flex-direction:column;gap:var(--space-sm, 8px);padding:var(--space-xl, 20px) var(--space-md, 12px);max-width:650px;margin:0 auto;width:100%}.arrange-justify-control.svelte-1jsk6pv{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-sm, 8px)}.arrange-justify-control__label.svelte-1jsk6pv{font-family:var(--font-display, sans-serif);font-size:11px;font-weight:var(--weight-medium, 500);color:var(--color-text-muted, #4e4a44);letter-spacing:var(--tracking-wide, .03em);text-transform:uppercase}.arrange-justify-control__buttons.svelte-1jsk6pv{display:flex;flex-wrap:wrap;gap:4px}.arrange-justify-btn.svelte-1jsk6pv{padding:4px 10px;background:var(--color-bg-deep, #08080b);border:1px solid var(--color-border, #2a2a38);border-radius:var(--radius-sm, 3px);color:var(--color-text-secondary, #b0a99e);font-family:var(--font-display, sans-serif);font-size:10px;font-weight:var(--weight-medium, 500);letter-spacing:var(--tracking-wide, .03em);text-transform:uppercase;cursor:pointer;transition:border-color .12s ease,background .12s ease}.arrange-justify-btn.svelte-1jsk6pv:hover{border-color:var(--color-border-strong, #3a3a48);background:var(--color-bg-hover, #2a2a38)}.arrange-justify-btn.active.svelte-1jsk6pv{border-color:var(--color-primary, #d4a853);color:var(--color-primary, #d4a853);background:var(--color-primary-bg, rgba(212, 168, 83, .06))}@media(prefers-reduced-motion:reduce){.arrange-chrome__toolbar.svelte-1jsk6pv,.arrange-chrome__panel.svelte-1jsk6pv,.arrange-block.svelte-1jsk6pv,.arrange-chrome__toolbar.open.svelte-1jsk6pv,.arrange-chrome__panel.open.svelte-1jsk6pv{transition:none}}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Outfit-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/SourceSerif4-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/SourceSerif4-Italic-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Verona Serial;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/VeronaSerial-LightRegular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Verona Serial;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/VeronaSerial-Regular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Verona Serial;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/VeronaSerial-MediumRegular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Verona Serial;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/VeronaSerial-BoldRegular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Verona Serial;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/VeronaSerial-XboldRegular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Clash Display;font-style:normal;font-weight:200 700;font-display:swap;src:url(/fonts/ClashDisplay-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:General Sans;font-style:normal;font-weight:200 700;font-display:swap;src:url(/fonts/GeneralSans-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zodiak;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Zodiak-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Satoshi;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/Satoshi-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-Variable-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}section ul,.ProseMirror ul{list-style:disc;padding-left:1.5em}section ol,.ProseMirror ol{list-style:decimal;padding-left:1.5em}section li>p,.ProseMirror li>p{margin:0}section blockquote,.ProseMirror blockquote{border-left:3px solid var(--color-accent, #d4a853);padding-left:1.25em;font-style:italic}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--color-void: #030304;--color-bg-deep: #08080b;--color-bg-page: #0c0c10;--color-bg-section: #101015;--color-bg-elevated: #1e1c24;--color-bg-surface: #1c1c25;--color-bg-muted: #242430;--color-bg-hover: #2a2a38;--color-text-primary: #ede9e3;--color-text-secondary: #b0a99e;--color-text-tertiary: #7a756d;--color-text-muted: #665e51;--color-text-ghost: #585350;--color-primary: #d4a853;--color-primary-bright: #e8c06a;--color-primary-dim: #a68540;--color-primary-subtle: rgba(212, 168, 83, .12);--color-primary-glow: rgba(212, 168, 83, .2);--color-accent: var(--color-primary);--color-secondary: #6b7f99;--color-secondary-dim: #4d5f78;--color-border: rgba(237, 233, 227, .13);--color-border-subtle: rgba(237, 233, 227, .06);--color-border-strong: rgba(237, 233, 227, .2);--color-border-accent: rgba(212, 168, 83, .2);--color-black: var(--color-void);--color-error: #e05252;--color-error-bg: #2a1515;--color-success: #5cb87a;--color-warning: #d4a853;--font-display: "Outfit", system-ui, sans-serif;--font-body: "Source Serif 4", "Source Serif Pro", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-heading: var(--font-display);--font-sans: var(--font-display);--font-serif: var(--font-body);--text-xs: clamp(.7rem, .66rem + .18vw, .8rem);--text-sm: clamp(.8125rem, .77rem + .2vw, .9375rem);--text-base: clamp(.9375rem, .88rem + .27vw, 1.0625rem);--text-lg: clamp(1.125rem, 1.02rem + .5vw, 1.375rem);--text-xl: clamp(1.5rem, 1.3rem + .94vw, 2rem);--text-2xl: clamp(2rem, 1.6rem + 1.88vw, 3rem);--text-3xl: clamp(2.5rem, 1.9rem + 2.82vw, 4rem);--text-4xl: clamp(3.5rem, 2.5rem + 4.69vw, 6rem);--leading-none: 1;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.6;--leading-relaxed: 1.8;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .03em;--tracking-wider: .06em;--tracking-widest: .12em;--weight-thin: 200;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 900;--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 5rem;--space-4xl: 8rem;--space-5xl: 12rem;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--duration-instant: 80ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--duration-cinematic: 1s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.34, 1.3, .64, 1);--ease-dramatic: cubic-bezier(.22, 1, .36, 1);--transition-fast: var(--duration-fast) var(--ease-out);--transition-normal: var(--duration-normal) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-dramatic);--transition-cinematic: var(--duration-cinematic) var(--ease-dramatic);--max-width: 1200px;--max-width-narrow: 720px;--max-width-wide: 1440px;--max-width-full: 1800px;--gutter: clamp(1.25rem, .5rem + 3vw, 3rem);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 24px 60px rgba(0, 0, 0, .7), 0 8px 20px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px var(--color-primary-glow);--shadow-glow-sm: 0 0 15px var(--color-primary-subtle);--shadow-inner: inset 0 1px 4px rgba(0, 0, 0, .4);--section-bg: var(--color-void);--section-text: var(--color-text-primary);--section-text-secondary: var(--color-text-secondary);--section-accent: var(--color-primary);--section-spacing: 1;--section-border-glow: transparent;--section-entrance: none;--section-entrance-delay: 0s;--section-entrance-duration: var(--duration-slower);--section-bg-texture: none;--section-radius: 0;--section-hover-lift: 0;--section-hover-scale: 1;--section-hover-glow: transparent;--texture-grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");--texture-grain-heavy: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E")}@property --color-void{syntax: "<color>"; inherits: true; initial-value: #0a0a0a;}@property --color-bg-deep{syntax: "<color>"; inherits: true; initial-value: #101010;}@property --color-bg-page{syntax: "<color>"; inherits: true; initial-value: #141414;}@property --color-bg-section{syntax: "<color>"; inherits: true; initial-value: #1a1a1a;}@property --color-bg-elevated{syntax: "<color>"; inherits: true; initial-value: #222222;}@property --color-bg-surface{syntax: "<color>"; inherits: true; initial-value: #212121;}@property --color-bg-muted{syntax: "<color>"; inherits: true; initial-value: #2a2a2a;}@property --color-bg-hover{syntax: "<color>"; inherits: true; initial-value: #333333;}@property --color-text-primary{syntax: "<color>"; inherits: true; initial-value: #e8e8e8;}@property --color-text-secondary{syntax: "<color>"; inherits: true; initial-value: #b0b0b0;}@property --color-text-tertiary{syntax: "<color>"; inherits: true; initial-value: #888888;}@property --color-text-muted{syntax: "<color>"; inherits: true; initial-value: #666666;}@property --color-text-ghost{syntax: "<color>"; inherits: true; initial-value: #555555;}@property --color-primary{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --color-primary-bright{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --color-primary-dim{syntax: "<color>"; inherits: true; initial-value: #999999;}@property --color-accent{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --color-secondary{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --color-secondary-dim{syntax: "<color>"; inherits: true; initial-value: #999999;}@property --section-accent{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --section-bg{syntax: "<color>"; inherits: true; initial-value: #1a1a1a;}@property --section-text{syntax: "<color>"; inherits: true; initial-value: #e8e8e8;}@property --section-text-secondary{syntax: "<color>"; inherits: true; initial-value: #b0b0b0;}@property --color-primary-subtle{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.12);}@property --color-primary-glow{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.2);}@property --color-border{syntax: "<color>"; inherits: true; initial-value: rgba(232,232,232,.13);}@property --color-border-subtle{syntax: "<color>"; inherits: true; initial-value: rgba(232,232,232,.06);}@property --color-border-strong{syntax: "<color>"; inherits: true; initial-value: rgba(232,232,232,.2);}@property --color-border-accent{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.2);}@property --section-border-glow{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.06);}@property --section-hover-glow{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.1);}@property --recolor-page-bg{syntax: "<color>"; inherits: true; initial-value: transparent;}body,.module-root{transition:--color-void .18s ease-out,--color-bg-deep .18s ease-out,--color-bg-page .18s ease-out,--color-bg-section .18s ease-out,--color-bg-elevated .18s ease-out,--color-bg-surface .18s ease-out,--color-bg-muted .18s ease-out,--color-bg-hover .18s ease-out,--color-text-primary .18s ease-out,--color-text-secondary .18s ease-out,--color-text-tertiary .18s ease-out,--color-text-muted .18s ease-out,--color-text-ghost .18s ease-out,--color-primary .18s ease-out,--color-primary-bright .18s ease-out,--color-primary-dim .18s ease-out,--color-primary-subtle .18s ease-out,--color-primary-glow .18s ease-out,--color-accent .18s ease-out,--color-secondary .18s ease-out,--color-secondary-dim .18s ease-out,--color-border .18s ease-out,--color-border-subtle .18s ease-out,--color-border-strong .18s ease-out,--color-border-accent .18s ease-out,--section-accent .18s ease-out,--section-bg .18s ease-out,--section-text .18s ease-out,--section-text-secondary .18s ease-out,--section-border-glow .18s ease-out,--section-hover-glow .18s ease-out,--recolor-page-bg .18s ease-out}body.recolor-instant,body.recolor-instant .module-root{transition:none!important}.section{position:relative;width:100%;padding:var(--space-3xl) var(--gutter)}.module-root{filter:blur(calc(var(--blur, 0) * 1px)) hue-rotate(calc(var(--hue, 0) * 1deg)) saturate(calc(var(--saturation, 100) * 1%)) brightness(var(--brightness, 1)) contrast(var(--contrast, 1)) grayscale(var(--grayscale, 0)) sepia(var(--sepia, 0)) invert(var(--invert, 0))}.section--flush{padding-top:0;padding-bottom:0}.section--compact{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.section--spacious{padding-top:var(--space-5xl);padding-bottom:var(--space-5xl)}.section--bleed{padding-left:0;padding-right:0}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto}.container--narrow{max-width:var(--max-width-narrow)}.container--wide{max-width:var(--max-width-wide)}.container--full{max-width:var(--max-width-full)}.container--offset-left{margin-left:var(--gutter);margin-right:auto;max-width:calc(var(--max-width) - 4rem)}.container--offset-right{margin-left:auto;margin-right:var(--gutter);max-width:calc(var(--max-width) - 4rem)}.layout-split{display:grid;gap:var(--space-2xl);align-items:center}.layout-split--equal{grid-template-columns:1fr 1fr}.layout-split--wide-left{grid-template-columns:2fr 1fr}.layout-split--wide-right{grid-template-columns:1fr 2fr}.layout-split--editorial{grid-template-columns:3fr 2fr}@media(max-width:768px){.layout-split--equal,.layout-split--wide-left,.layout-split--wide-right,.layout-split--editorial{grid-template-columns:1fr}}.layout-stack{display:flex;flex-direction:column}.layout-stack--sm{gap:var(--space-sm)}.layout-stack--md{gap:var(--space-md)}.layout-stack--lg{gap:var(--space-lg)}.layout-stack--xl{gap:var(--space-xl)}.layout-stack--2xl{gap:var(--space-2xl)}.layout-cluster{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.layout-cluster--sm{gap:var(--space-sm)}.layout-cluster--lg{gap:var(--space-lg)}.layout-cluster--spread{justify-content:space-between}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-page);display:flex;flex-direction:column;min-height:100vh}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}::selection{background:var(--color-primary);color:var(--color-void)}@property --layout-gap{syntax: "<length>"; inherits: true; initial-value: 24px;}@property --layout-ratio{syntax: "<number>"; inherits: true; initial-value: .5;}@property --layout-columns{syntax: "<integer>"; inherits: true; initial-value: 3;}@property --layout-align-x{syntax: "<number>"; inherits: true; initial-value: .5;}@property --layout-align-y{syntax: "<number>"; inherits: true; initial-value: .5;}@property --layout-width{syntax: "<length-percentage>"; inherits: true; initial-value: 80rem;}@property --mar-top{syntax: "<number>"; inherits: false; initial-value: 0;}@property --mar-right{syntax: "<number>"; inherits: false; initial-value: 0;}@property --mar-bottom{syntax: "<number>"; inherits: false; initial-value: 0;}@property --mar-left{syntax: "<number>"; inherits: false; initial-value: 0;}@property --pad-top{syntax: "<number>"; inherits: false; initial-value: 0;}@property --pad-right{syntax: "<number>"; inherits: false; initial-value: 0;}@property --pad-bottom{syntax: "<number>"; inherits: false; initial-value: 0;}@property --pad-left{syntax: "<number>"; inherits: false; initial-value: 0;}@property --mod-width{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --mod-shift-x{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --mod-overlap{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --mod-rotate{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --mod-scale{syntax: "<number>"; inherits: false; initial-value: 1;}@property --edit-flip-x{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --edit-offset-y{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --mod-m-width{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --mod-m-shift-x{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --mod-m-overlap{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --mod-m-rotate{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --mod-m-scale{syntax: "<number>"; inherits: false; initial-value: 1;}@property --page-gap-x{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --page-gap-y{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --page-inset{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --pg-vignette-opacity{syntax: "<number>"; inherits: true; initial-value: .35;}@property --pg-vignette-spread{syntax: "<number>"; inherits: true; initial-value: 50;}@property --pg-grain-opacity{syntax: "<number>"; inherits: true; initial-value: .1;}.page-canvas{display:flex;flex-direction:column;min-height:100%;container-type:inline-size;container-name:page}.page-flow{position:relative;display:flex;flex-wrap:wrap;flex-direction:row;align-items:flex-start;align-content:flex-start;gap:var(--page-gap-y, 0px) var(--page-gap-x, 0px);padding-left:var(--page-inset, 0px);padding-right:var(--page-inset, 0px)}.module-wrapper{width:var(--mod-width, 100%);max-width:100%;margin-top:var(--mod-overlap, 0px);transform:translate(calc(var(--mod-shift-x, 0px) + var(--edit-flip-x, 0px))) translateY(var(--edit-offset-y, 0px)) rotate(var(--mod-rotate, 0deg)) scale(var(--mod-scale, 1));z-index:var(--mod-z, auto);transform-origin:center center}.module-wrapper[data-justify=left]{margin-right:auto}.module-wrapper[data-justify=center]{margin-left:auto;margin-right:auto}.module-wrapper[data-justify=right]{margin-left:auto}.page-canvas-spacer{width:100%;flex-grow:1}.module-wrapper--sticky{position:sticky;top:0;z-index:100;transform:none}@container page (max-width: 768px){.module-wrapper{width:var(--mod-m-width, var(--mod-width, 100%));margin-top:var(--mod-m-overlap, var(--mod-overlap, 0px));transform:translate(var(--mod-m-shift-x, var(--mod-shift-x, 0px))) translateY(var(--edit-offset-y, 0px)) rotate(var(--mod-m-rotate, var(--mod-rotate, 0deg))) scale(var(--mod-m-scale, var(--mod-scale, 1)))}.module-wrapper[data-m-justify=left]{margin-left:0;margin-right:auto}.module-wrapper[data-m-justify=center]{margin-left:auto;margin-right:auto}.module-wrapper[data-m-justify=right]{margin-left:auto;margin-right:0}}body{--typo-heading-font: "Outfit", system-ui, sans-serif;--typo-heading-weight: 900;--typo-heading-tracking: -.02em;--typo-heading-transform: uppercase;--typo-heading-line-height: .95;--typo-body-font: "Outfit", system-ui, sans-serif;--typo-body-weight: 400;--typo-body-tracking: 0em;--typo-body-line-height: 1.6;--typo-text-scale: 1.08;--typo-paragraph-spacing: 1;--typo-heading-variation: normal;--typo-body-variation: normal}.ff-section{position:relative;isolation:isolate;background:var(--section-bg);color:var(--section-text);font-family:var(--typo-body-font);font-weight:var(--typo-body-weight);letter-spacing:var(--typo-body-tracking);line-height:var(--typo-body-line-height);font-variation-settings:var(--typo-body-variation, normal);font-size:calc(1em * var(--typo-text-scale));padding-left:var(--gutter);padding-right:var(--gutter)}.ff-section:not(.site-nav):not(.site-footer){padding-top:calc(var(--space-3xl) * var(--section-spacing));padding-bottom:calc(var(--space-3xl) * var(--section-spacing))}.ff-section :is(h1,h2,h3,h4,h5,h6){font-family:var(--typo-heading-font);font-weight:var(--typo-heading-weight);letter-spacing:var(--typo-heading-tracking);text-transform:var(--typo-heading-transform);line-height:var(--typo-heading-line-height);font-variation-settings:var(--typo-heading-variation, normal)}.ff-section :is(h1,h2,h3,h4,h5,h6) :is(p,li,blockquote){font:inherit;letter-spacing:inherit;font-variation-settings:inherit}.ff-section p+p,.ff-section li+li{margin-top:calc(var(--space-sm, .5em) * var(--typo-paragraph-spacing, 1))}.ff-section :is(p,li,blockquote){font-family:var(--typo-body-font);font-weight:var(--typo-body-weight);letter-spacing:var(--typo-body-tracking);line-height:var(--typo-body-line-height);font-variation-settings:var(--typo-body-variation, normal)}.ff-section:before{content:"";position:absolute;inset:0;background-image:var(--section-bg-texture);background-repeat:repeat;pointer-events:none;z-index:-1}@media(prefers-reduced-motion:no-preference){.ff-section [data-hover=lift]{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.ff-section [data-hover=lift]:hover{transform:translateY(var(--section-hover-lift)) scale(var(--section-hover-scale));box-shadow:var(--shadow-md),0 0 20px var(--section-hover-glow)}.ff-section [data-hover=glow]{transition:box-shadow var(--transition-normal)}.ff-section [data-hover=glow]:hover{box-shadow:var(--shadow-glow-sm)}.ff-section [data-entrance=fade-in]{opacity:0;transition:opacity var(--section-entrance-duration) var(--ease-dramatic);transition-delay:var(--section-entrance-delay)}.ff-section [data-entrance=fade-in].is-visible{opacity:1}.ff-section [data-entrance=scale-in]{opacity:0;transform:scale(.95);transition:opacity var(--section-entrance-duration) var(--ease-dramatic),transform var(--section-entrance-duration) var(--ease-dramatic);transition-delay:var(--section-entrance-delay)}.ff-section [data-entrance=scale-in].is-visible{opacity:1;transform:scale(1)}.ff-section [data-hover=zoom]{transition:transform var(--transition-slow)}.ff-section [data-hover=zoom]:hover{transform:scale(1.06)}}.ff-section :focus-visible{outline:2px solid var(--section-accent);outline-offset:3px}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.weight-thin{font-weight:var(--weight-thin)}.weight-light{font-weight:var(--weight-light)}.weight-normal{font-weight:var(--weight-normal)}.weight-medium{font-weight:var(--weight-medium)}.weight-semibold{font-weight:var(--weight-semibold)}.weight-bold{font-weight:var(--weight-bold)}.weight-black{font-weight:var(--weight-black)}.leading-none{line-height:var(--leading-none)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.tracking-tighter{letter-spacing:var(--tracking-tighter)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}.tracking-widest{letter-spacing:var(--tracking-widest)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.prose{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-secondary);max-width:65ch}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-heading);color:var(--color-text-primary);line-height:var(--leading-tight);margin-top:1.5em;margin-bottom:.5em}.prose h1{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.prose h2{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.prose h3{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.prose p{margin-bottom:1.25em}.prose strong{font-weight:var(--weight-semibold);color:var(--color-text-primary)}.prose em{font-style:italic}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.15em;transition:color var(--transition-fast)}.prose a:hover{color:var(--color-primary-bright)}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-elevated);padding:.15em .4em;border-radius:var(--radius-sm)}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:1.25em;margin-left:0;color:var(--color-text-secondary);font-style:italic}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1.25em}.prose li{margin-bottom:.25em}.bg-stack{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;container-type:size}.page-bg-stack{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;container-type:size}.bg-layer{position:absolute;inset:0}.bg-layer--oversized{position:absolute;inset:-150%;width:400%;height:400%}.bg-layer--oversized.bg-layer--rotated{width:max(400%,150cqh);height:max(400%,150cqw);left:calc((100% - max(400%,150cqh))/2);top:calc((100% - max(400%,150cqw))/2);right:auto;bottom:auto}.bg-layer-inner{width:100%;height:100%;background-repeat:repeat!important;transform-origin:center center;pointer-events:none}.module-root[data-divider-bot]>.bg-stack{bottom:calc(-1 * var(--divider-gap-bot, 0px))}.module-root[data-divider-top]>.bg-stack{top:calc(-1 * var(--divider-gap-top, 0px))}.module-root[data-divider-bot],.module-root[data-divider-top]{overflow:visible}.section-divider{position:relative;z-index:2;height:0;pointer-events:none;overflow:visible}.section-divider__content{position:absolute;top:0;left:0;right:0;transform:translateY(-50%);overflow:hidden;transition:opacity .4s var(--ease-out, ease-out)}.section-divider--flow{height:auto}.section-divider--flow>.section-divider__content{position:relative;transform:none;background:var(--div-bgColor, transparent)}.divider-rule{position:absolute;left:calc((100% - var(--div-width, 100) * 1%) / 2);top:50%;transform:translateY(-50%);width:calc(var(--div-width, 100) * 1%);height:calc(var(--div-thickness, 1) * 1px);background:var(--div-color, rgba(212,168,83,.7));-webkit-mask-image:var(--div-fadeMask, none);mask-image:var(--div-fadeMask, none)}.divider-stripe{position:absolute;left:calc((100% - var(--div-width, 80) * 1%) / 2);top:50%;transform:translateY(-50%);width:calc(var(--div-width, 80) * 1%);display:flex;flex-direction:column;align-items:stretch;gap:calc(var(--div-gap, 8) * 1px);-webkit-mask-image:var(--div-fadeMask, none);mask-image:var(--div-fadeMask, none)}.divider-stripe__line{height:calc(var(--div-thickness, 1) * 1px);background:var(--div-color, rgba(255,255,255,.15))}.divider-lines{width:calc(var(--div-width, 100) * 1%);margin:0 auto;padding:calc(var(--div-padding, 12) * 1px) 0;display:flex;flex-direction:column;align-items:stretch;gap:calc(var(--div-gap, 6) * 1px);-webkit-mask-image:var(--div-fadeMask, none);mask-image:var(--div-fadeMask, none)}.divider-lines__line{flex-shrink:0}.section-divider__content[data-divider-type=ridgeline]{transform:translateY(-100%)}.divider-ridgeline{position:absolute;inset:0;display:block;width:100%;height:100%}.section-divider--flow>.section-divider__content[data-divider-type=fade],.section-divider--flow>.section-divider__content[data-divider-type=halftone],.section-divider--flow>.section-divider__content[data-divider-type=dissolve],.section-divider--flow>.section-divider__content[data-divider-type=static]{background:var(--div-bottom-color, transparent);overflow:hidden}.divider-fade,.divider-dissolve,.divider-static{position:absolute;inset:0;mask-image:linear-gradient(to bottom,black,transparent);-webkit-mask-image:linear-gradient(to bottom,black,transparent)}.divider-halftone{position:absolute;inset:0;display:block;width:100%;height:100%}.divider-fade{background:var(--div-top-color, #0a0a0a)}.divider-dissolve{--dot: calc(var(--div-dotSize, 4) * 1px);--bg: calc(var(--div-density, 10) * 1px);background:radial-gradient(circle at center,var(--div-top-color, #0a0a0a) var(--dot),transparent 0),radial-gradient(circle at center,var(--div-top-color, #0a0a0a) var(--dot),transparent 0);background-size:var(--bg) var(--bg);background-position:0 0,calc(var(--bg) / 2) calc(var(--bg) / 2)}.divider-static{--grain: calc(var(--div-grainSize, 2) * 1px);background:repeating-linear-gradient(90deg,var(--div-top-color, #0a0a0a) 0px,var(--div-top-color, #0a0a0a) var(--grain),transparent var(--grain),transparent calc(var(--grain) * 2)),repeating-linear-gradient(0deg,var(--div-top-color, #0a0a0a) 0px,var(--div-top-color, #0a0a0a) var(--grain),transparent var(--grain),transparent calc(var(--grain) * 2));opacity:calc(var(--div-density, 50) / 100)}.divider-neon{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:calc(var(--div-lineWidth, 2) * 1px);background:linear-gradient(to bottom,color-mix(in srgb,var(--div-glowColor, #6366f1) 30%,white) 0%,var(--div-glowColor, #6366f1) 50%,color-mix(in srgb,var(--div-glowColor, #6366f1) 30%,white) 100%);box-shadow:0 0 calc(var(--div-glowIntensity, 15) * .3px) var(--div-glowColor, #6366f1),0 0 calc(var(--div-glowIntensity, 15) * 1px) var(--div-glowColor, #6366f1),0 0 calc(var(--div-glowIntensity, 15) * 3px) color-mix(in srgb,var(--div-glowColor, #6366f1) 40%,transparent)}.section-divider__content[data-divider-type=neon]{overflow:visible}.divider-ink{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);width:100%;height:calc(var(--div-strokeWidth, 30) * 1px);display:block;color:var(--div-color, #f43c8f);overflow:visible}.divider-ink path{fill:currentColor}.divider-prism{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:calc(var(--div-lineWidth, 4) * 1px);background:linear-gradient(90deg,red,#f80,#ff0,#0f0,#08f,#80f,#f08,red);background-size:300% 100%;background-position:calc(var(--div-phase, 0) / 360 * 300%) 50%}@media(prefers-reduced-motion:reduce){.divider-prism{transform:none!important;background-position:0 50%!important}}[data-hover]{transition:translate .5s cubic-bezier(.22,1,.36,1),scale .5s cubic-bezier(.22,1,.36,1),rotate .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1),filter .5s cubic-bezier(.22,1,.36,1)}[data-hover]:hover{transition-duration:.3s}[data-hover=lift]:hover{translate:0 -8px;box-shadow:0 16px 48px #0000002e,0 4px 12px #00000014}[data-hover=scale]:hover{scale:1.03}[data-hover=glow]:hover{box-shadow:0 0 30px #ffffff14,0 0 60px #ffffff0a,inset 0 0 0 1px #ffffff0f}[data-hover=tilt]:hover{rotate:-2deg;translate:0 -4px}[data-hover=float]:hover{translate:0 -12px;scale:1.02;box-shadow:0 24px 64px #0003,0 8px 20px #0000001a}[data-hover=push]:hover{translate:0 3px;scale:.98;filter:brightness(.92)}[data-hover=skew]:hover{rotate:-1.5deg;translate:4px -4px;scale:1.01}[data-hover=border-glow]:hover{box-shadow:inset 0 0 0 1px #ffffff26,0 0 30px #ffffff0d,0 0 60px #ffffff05}@media(prefers-reduced-motion:reduce){[data-hover]{transition:none!important}[data-hover]:hover{translate:none!important;scale:none!important;rotate:none!important;filter:none!important}}[data-entrance]{transition-property:opacity,translate,scale,rotate,filter,clip-path;transition-duration:var(--entrance-duration, 1.2s);transition-delay:var(--entrance-delay, 0ms);transition-timing-function:cubic-bezier(.22,1,.36,1)}[data-entrance=fade-up]{opacity:0;translate:0 30px}[data-entrance=fade-down]{opacity:0;translate:0 -30px}[data-entrance=slide-left]{opacity:0;translate:-60px 0}[data-entrance=slide-right]{opacity:0;translate:60px 0}[data-entrance=scale-in]{opacity:0;scale:.9}[data-entrance=blur-reveal]{opacity:0;filter:blur(12px)}[data-entrance=clip-reveal]{clip-path:inset(100% 0 0 0)}[data-entrance=rotate-in]{opacity:0;scale:.95;rotate:-5deg}[data-entrance=fade-up].entrance-active,[data-entrance=fade-down].entrance-active,[data-entrance=slide-left].entrance-active,[data-entrance=slide-right].entrance-active{opacity:1;translate:0 0}[data-entrance=scale-in].entrance-active{opacity:1;scale:1}[data-entrance=blur-reveal].entrance-active{opacity:1;filter:blur(0)}[data-entrance=clip-reveal].entrance-active{clip-path:inset(0)}[data-entrance=rotate-in].entrance-active{opacity:1;scale:1;rotate:0deg}[data-entrance-stagger]>.entrance-item,[data-entrance-stagger] .entrance-item{transition-property:opacity,translate,scale,rotate,filter,clip-path;transition-duration:var(--entrance-duration, .8s);transition-delay:var(--entrance-delay, 0ms);transition-timing-function:cubic-bezier(.22,1,.36,1)}[data-entrance-stagger=fade-up] .entrance-item{opacity:0;translate:0 24px}[data-entrance-stagger=fade-down] .entrance-item{opacity:0;translate:0 -24px}[data-entrance-stagger=slide-left] .entrance-item{opacity:0;translate:-40px 0}[data-entrance-stagger=slide-right] .entrance-item{opacity:0;translate:40px 0}[data-entrance-stagger=scale-in] .entrance-item{opacity:0;scale:.92}[data-entrance-stagger=blur-reveal] .entrance-item{opacity:0;filter:blur(8px)}[data-entrance-stagger=clip-reveal] .entrance-item{clip-path:inset(100% 0 0 0)}[data-entrance-stagger=rotate-in] .entrance-item{opacity:0;scale:.95;rotate:-3deg}[data-entrance-stagger] .entrance-item.entrance-active{opacity:1;translate:0 0;scale:1;rotate:0deg;filter:none;clip-path:none}@media(prefers-reduced-motion:reduce){[data-entrance],[data-entrance-stagger] .entrance-item{opacity:1!important;translate:none!important;scale:none!important;rotate:none!important;filter:none!important;clip-path:none!important;transition:none!important;will-change:auto!important}}::view-transition-old(root){animation:vt-fade-out .3s ease-in both}::view-transition-new(root){animation:vt-fade-in .3s ease-out both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:0ms}}.ff-button{all:unset;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-decoration:none;--_bg: var(--btn-bg, #6366f1);--_bg-gradient: var(--btn-gradient, none);--_bg-blur: var(--btn-bg-blur, 0px);--_border-width: var(--btn-border-width, 0px);--_border-color: var(--btn-border-color, transparent);--_border-style: var(--btn-border-style, solid);--_border-radius: var(--btn-border-radius, 8px);--_outline-width: var(--btn-outline-width, 0px);--_outline-color: var(--btn-outline-color, #6366f1);--_outline-offset: var(--btn-outline-offset, 2px);--_shadow: var(--btn-shadow, none);--_padding-x: var(--btn-padding-x, 24px);--_padding-y: var(--btn-padding-y, 12px);--_min-width: var(--btn-min-width, 0);--_min-height: var(--btn-min-height, 0);--_scale: var(--btn-scale, 1);--_clip-path: var(--btn-clip-path, none);--_color: var(--btn-anim-textColor, var(--btn-color, #ffffff));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size, 16px));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight, 600));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing, 0em));--_font-family: var(--btn-font-family, inherit);--_text-transform: var(--btn-text-transform, none);--_blend-mode: var(--btn-blend-mode, normal);--_filter: var(--btn-filter, none);--_shimmer-opacity: var(--btn-shimmer-opacity, 0);--_grain-opacity: var(--btn-grain-opacity, 0);--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x, 0deg));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y, 0deg));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective, 800px));--_border-gradient: var(--btn-border-gradient, none);--_transition-duration: var(--btn-transition-duration, 50ms);--_transition-easing: var(--btn-transition-easing, ease);margin:var(--btn-margin, 0px);padding:var(--_padding-y) var(--_padding-x);min-width:var(--_min-width);min-height:var(--_min-height);border-width:var(--_border-width);border-color:var(--_border-color);border-style:var(--_border-style);border-radius:var(--_border-radius);outline:var(--_outline-width) solid var(--_outline-color);outline-offset:var(--_outline-offset);box-shadow:var(--_shadow);background-color:var(--_bg);background-image:var(--_bg-gradient);backdrop-filter:blur(var(--_bg-blur));-webkit-backdrop-filter:blur(var(--_bg-blur));transform:perspective(var(--_tilt-perspective)) rotateX(var(--_tilt-x)) rotateY(var(--_tilt-y)) scale(var(--_scale));transform-style:preserve-3d;clip-path:var(--_clip-path);mix-blend-mode:var(--_blend-mode);filter:var(--_filter);transition:background-color var(--_transition-duration) var(--_transition-easing),border-color var(--_transition-duration) var(--_transition-easing),box-shadow var(--_transition-duration) var(--_transition-easing),transform var(--_transition-duration) var(--_transition-easing),outline var(--_transition-duration) var(--_transition-easing),filter var(--_transition-duration) var(--_transition-easing),opacity var(--_transition-duration) var(--_transition-easing),color var(--_transition-duration) var(--_transition-easing),font-size var(--_transition-duration) var(--_transition-easing),font-weight var(--_transition-duration) var(--_transition-easing),letter-spacing var(--_transition-duration) var(--_transition-easing);color:var(--_color);font-family:var(--_font-family);font-size:var(--_font-size);font-weight:var(--_font-weight);letter-spacing:var(--_letter-spacing);text-transform:var(--_text-transform);line-height:1.2;white-space:nowrap;max-width:100%}.ff-button p{margin:0;padding:0}.ff-button:hover{--_bg: var(--btn-bg-hover, var(--btn-bg, #6366f1));--_bg-gradient: var(--btn-gradient-hover, var(--btn-gradient, none));--_border-color: var(--btn-border-color-hover, var(--btn-border-color, transparent));--_border-width: var(--btn-border-width-hover, var(--btn-border-width, 0px));--_shadow: var(--btn-shadow-hover, var(--btn-shadow, none));--_scale: var(--btn-scale-hover, var(--btn-scale, 1));--_outline-width: var(--btn-outline-width-hover, var(--btn-outline-width, 0px));--_outline-color: var(--btn-outline-color-hover, var(--btn-outline-color, #6366f1));--_outline-offset: var(--btn-outline-offset-hover, var(--btn-outline-offset, 2px));--_filter: var(--btn-filter-hover, var(--btn-filter, none));--_shimmer-opacity: var(--btn-shimmer-opacity-hover, var(--btn-shimmer-opacity, 0));--_color: var(--btn-anim-textColor, var(--btn-color-hover, var(--btn-color, #ffffff)));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-hover, var(--btn-font-size, 16px)));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-hover, var(--btn-font-weight, 600)));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em)));--_font-family: var(--btn-font-family-hover, var(--btn-font-family, inherit));--_text-transform: var(--btn-text-transform-hover, var(--btn-text-transform, none));--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x-hover, var(--btn-tilt-x, 0deg)));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y-hover, var(--btn-tilt-y, 0deg)));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective-hover, var(--btn-tilt-perspective, 800px)));--_border-gradient: var(--btn-border-gradient-hover, var(--btn-border-gradient, none))}.ff-button:active{--_bg: var(--btn-bg-active, var(--btn-bg-hover, var(--btn-bg, #6366f1)));--_bg-gradient: var(--btn-gradient-active, var(--btn-gradient-hover, var(--btn-gradient, none)));--_border-color: var(--btn-border-color-active, var(--btn-border-color-hover, var(--btn-border-color, transparent)));--_border-width: var(--btn-border-width-active, var(--btn-border-width-hover, var(--btn-border-width, 0px)));--_shadow: var(--btn-shadow-active, var(--btn-shadow-hover, var(--btn-shadow, none)));--_scale: var(--btn-scale-active, var(--btn-scale-hover, var(--btn-scale, 1)));--_outline-width: var(--btn-outline-width-active, var(--btn-outline-width-hover, var(--btn-outline-width, 0px)));--_outline-color: var(--btn-outline-color-active, var(--btn-outline-color-hover, var(--btn-outline-color, #6366f1)));--_filter: var(--btn-filter-active, var(--btn-filter-hover, var(--btn-filter, none)));--_color: var(--btn-anim-textColor, var(--btn-color-active, var(--btn-color-hover, var(--btn-color, #ffffff))));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-active, var(--btn-font-size-hover, var(--btn-font-size, 16px))));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-active, var(--btn-font-weight-hover, var(--btn-font-weight, 600))));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-active, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em))));--_font-family: var(--btn-font-family-active, var(--btn-font-family-hover, var(--btn-font-family, inherit)));--_text-transform: var(--btn-text-transform-active, var(--btn-text-transform-hover, var(--btn-text-transform, none)));--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x-active, var(--btn-tilt-x-hover, var(--btn-tilt-x, 0deg))));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y-active, var(--btn-tilt-y-hover, var(--btn-tilt-y, 0deg))));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective-active, var(--btn-tilt-perspective-hover, var(--btn-tilt-perspective, 800px))));--_border-gradient: var(--btn-border-gradient-active, var(--btn-border-gradient-hover, var(--btn-border-gradient, none)))}.ff-button:focus-visible{--_bg: var(--btn-bg-focus, var(--btn-bg-hover, var(--btn-bg, #6366f1)));--_bg-gradient: var(--btn-gradient-focus, var(--btn-gradient-hover, var(--btn-gradient, none)));--_border-color: var(--btn-border-color-focus, var(--btn-border-color-hover, var(--btn-border-color, transparent)));--_shadow: var(--btn-shadow-focus, var(--btn-shadow-hover, var(--btn-shadow, none)));--_scale: var(--btn-scale-focus, var(--btn-scale-hover, var(--btn-scale, 1)));--_outline-width: var(--btn-outline-width-focus, 2px);--_outline-color: var(--btn-outline-color-focus, var(--btn-outline-color, #6366f1));--_outline-offset: var(--btn-outline-offset-focus, 3px);--_filter: var(--btn-filter-focus, var(--btn-filter-hover, var(--btn-filter, none)));--_color: var(--btn-anim-textColor, var(--btn-color-focus, var(--btn-color-hover, var(--btn-color, #ffffff))));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-focus, var(--btn-font-size-hover, var(--btn-font-size, 16px))));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-focus, var(--btn-font-weight-hover, var(--btn-font-weight, 600))));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-focus, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em))));--_font-family: var(--btn-font-family-focus, var(--btn-font-family-hover, var(--btn-font-family, inherit)));--_text-transform: var(--btn-text-transform-focus, var(--btn-text-transform-hover, var(--btn-text-transform, none)));--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x-focus, var(--btn-tilt-x-hover, var(--btn-tilt-x, 0deg))));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y-focus, var(--btn-tilt-y-hover, var(--btn-tilt-y, 0deg))));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective-focus, var(--btn-tilt-perspective-hover, var(--btn-tilt-perspective, 800px))));--_border-gradient: var(--btn-border-gradient-focus, var(--btn-border-gradient-hover, var(--btn-border-gradient, none)))}.ff-button--force-hover{--_bg: var(--btn-bg-hover, var(--btn-bg, #6366f1));--_bg-gradient: var(--btn-gradient-hover, var(--btn-gradient, none));--_border-color: var(--btn-border-color-hover, var(--btn-border-color, transparent));--_border-width: var(--btn-border-width-hover, var(--btn-border-width, 0px));--_shadow: var(--btn-shadow-hover, var(--btn-shadow, none));--_scale: var(--btn-scale-hover, var(--btn-scale, 1));--_outline-width: var(--btn-outline-width-hover, var(--btn-outline-width, 0px));--_outline-color: var(--btn-outline-color-hover, var(--btn-outline-color, #6366f1));--_outline-offset: var(--btn-outline-offset-hover, var(--btn-outline-offset, 2px));--_filter: var(--btn-filter-hover, var(--btn-filter, none));--_shimmer-opacity: var(--btn-shimmer-opacity-hover, var(--btn-shimmer-opacity, 0));--_color: var(--btn-anim-textColor, var(--btn-color-hover, var(--btn-color, #ffffff)));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-hover, var(--btn-font-size, 16px)));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-hover, var(--btn-font-weight, 600)));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em)));--_font-family: var(--btn-font-family-hover, var(--btn-font-family, inherit));--_text-transform: var(--btn-text-transform-hover, var(--btn-text-transform, none));--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x-hover, var(--btn-tilt-x, 0deg)));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y-hover, var(--btn-tilt-y, 0deg)));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective-hover, var(--btn-tilt-perspective, 800px)));--_border-gradient: var(--btn-border-gradient-hover, var(--btn-border-gradient, none))}.ff-button--force-active{--_bg: var(--btn-bg-active, var(--btn-bg-hover, var(--btn-bg, #6366f1)));--_bg-gradient: var(--btn-gradient-active, var(--btn-gradient-hover, var(--btn-gradient, none)));--_border-color: var(--btn-border-color-active, var(--btn-border-color-hover, var(--btn-border-color, transparent)));--_border-width: var(--btn-border-width-active, var(--btn-border-width-hover, var(--btn-border-width, 0px)));--_shadow: var(--btn-shadow-active, var(--btn-shadow-hover, var(--btn-shadow, none)));--_scale: var(--btn-scale-active, var(--btn-scale-hover, var(--btn-scale, 1)));--_outline-width: var(--btn-outline-width-active, var(--btn-outline-width-hover, var(--btn-outline-width, 0px)));--_outline-color: var(--btn-outline-color-active, var(--btn-outline-color-hover, var(--btn-outline-color, #6366f1)));--_filter: var(--btn-filter-active, var(--btn-filter-hover, var(--btn-filter, none)));--_color: var(--btn-anim-textColor, var(--btn-color-active, var(--btn-color-hover, var(--btn-color, #ffffff))));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-active, var(--btn-font-size-hover, var(--btn-font-size, 16px))));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-active, var(--btn-font-weight-hover, var(--btn-font-weight, 600))));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-active, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em))));--_font-family: var(--btn-font-family-active, var(--btn-font-family-hover, var(--btn-font-family, inherit)));--_text-transform: var(--btn-text-transform-active, var(--btn-text-transform-hover, var(--btn-text-transform, none)));--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x-active, var(--btn-tilt-x-hover, var(--btn-tilt-x, 0deg))));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y-active, var(--btn-tilt-y-hover, var(--btn-tilt-y, 0deg))));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective-active, var(--btn-tilt-perspective-hover, var(--btn-tilt-perspective, 800px))));--_border-gradient: var(--btn-border-gradient-active, var(--btn-border-gradient-hover, var(--btn-border-gradient, none)))}.ff-button--force-focus{--_bg: var(--btn-bg-focus, var(--btn-bg-hover, var(--btn-bg, #6366f1)));--_bg-gradient: var(--btn-gradient-focus, var(--btn-gradient-hover, var(--btn-gradient, none)));--_border-color: var(--btn-border-color-focus, var(--btn-border-color-hover, var(--btn-border-color, transparent)));--_shadow: var(--btn-shadow-focus, var(--btn-shadow-hover, var(--btn-shadow, none)));--_scale: var(--btn-scale-focus, var(--btn-scale-hover, var(--btn-scale, 1)));--_outline-width: var(--btn-outline-width-focus, 2px);--_outline-color: var(--btn-outline-color-focus, var(--btn-outline-color, #6366f1));--_outline-offset: var(--btn-outline-offset-focus, 3px);--_filter: var(--btn-filter-focus, var(--btn-filter-hover, var(--btn-filter, none)));--_color: var(--btn-anim-textColor, var(--btn-color-focus, var(--btn-color-hover, var(--btn-color, #ffffff))));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-focus, var(--btn-font-size-hover, var(--btn-font-size, 16px))));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-focus, var(--btn-font-weight-hover, var(--btn-font-weight, 600))));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-focus, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em))));--_font-family: var(--btn-font-family-focus, var(--btn-font-family-hover, var(--btn-font-family, inherit)));--_text-transform: var(--btn-text-transform-focus, var(--btn-text-transform-hover, var(--btn-text-transform, none)));--_tilt-x: var(--btn-anim-tiltX, var(--btn-tilt-x-focus, var(--btn-tilt-x-hover, var(--btn-tilt-x, 0deg))));--_tilt-y: var(--btn-anim-tiltY, var(--btn-tilt-y-focus, var(--btn-tilt-y-hover, var(--btn-tilt-y, 0deg))));--_tilt-perspective: var(--btn-anim-tiltPerspective, var(--btn-tilt-perspective-focus, var(--btn-tilt-perspective-hover, var(--btn-tilt-perspective, 800px))));--_border-gradient: var(--btn-border-gradient-focus, var(--btn-border-gradient-hover, var(--btn-border-gradient, none)))}.ff-button--anim-always{--_bg: var(--btn-anim-bgColor, var(--btn-bg, #6366f1));--_border-color: var(--btn-anim-borderColor, var(--btn-border-color, transparent));--_outline-color: var(--btn-anim-outlineColor, var(--btn-outline-color, #6366f1));--_color: var(--btn-anim-textColor, var(--btn-color, #ffffff));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size, 16px));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight, 600));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing, 0em));transform:perspective(var(--_tilt-perspective)) rotateX(var(--_tilt-x)) rotateY(var(--_tilt-y)) scale(var(--_scale)) scale(var(--btn-anim-scale, 1)) rotate(calc(var(--btn-anim-rotation, 0) * 1deg)) translate(calc(var(--btn-anim-translateX, 0) * 1px)) translateY(calc(var(--btn-anim-translateY, 0) * 1px));filter:hue-rotate(calc(var(--btn-anim-filterHueRotate, var(--btn-filter-hue-rotate, 0)) * 1deg)) blur(calc(var(--btn-anim-filterBlur, var(--btn-filter-blur, 0)) * 1px));opacity:var(--btn-anim-opacity, 1)}.ff-button--anim-hover:hover,.ff-button--anim-hover.ff-button--force-hover{--_bg: var(--btn-anim-bgColor, var(--btn-bg-hover, var(--btn-bg, #6366f1)));--_border-color: var(--btn-anim-borderColor, var(--btn-border-color-hover, var(--btn-border-color, transparent)));--_outline-color: var(--btn-anim-outlineColor, var(--btn-outline-color-hover, var(--btn-outline-color, #6366f1)));--_color: var(--btn-anim-textColor, var(--btn-color-hover, var(--btn-color, #ffffff)));--_font-size: var(--btn-anim-fontSize, var(--btn-font-size-hover, var(--btn-font-size, 16px)));--_font-weight: var(--btn-anim-fontWeight, var(--btn-font-weight-hover, var(--btn-font-weight, 600)));--_letter-spacing: var(--btn-anim-letterSpacing, var(--btn-letter-spacing-hover, var(--btn-letter-spacing, 0em)));transform:perspective(var(--_tilt-perspective)) rotateX(var(--_tilt-x)) rotateY(var(--_tilt-y)) scale(var(--_scale)) scale(var(--btn-anim-scale, 1)) rotate(calc(var(--btn-anim-rotation, 0) * 1deg)) translate(calc(var(--btn-anim-translateX, 0) * 1px)) translateY(calc(var(--btn-anim-translateY, 0) * 1px));filter:hue-rotate(calc(var(--btn-anim-filterHueRotate, var(--btn-filter-hue-rotate-hover, var(--btn-filter-hue-rotate, 0))) * 1deg)) blur(calc(var(--btn-anim-filterBlur, var(--btn-filter-blur-hover, var(--btn-filter-blur, 0))) * 1px));opacity:var(--btn-anim-opacity, 1)}.ff-button--fixed-width-px{width:calc(var(--btn-width-value, 100) * 1px)}.ff-button--fixed-width-pct{width:calc(var(--btn-width-value, 100) * 1%)}.ff-button:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.2) 45%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.2) 55%,transparent 65%);transform:translate(-100%);opacity:var(--_shimmer-opacity);pointer-events:none;border-radius:inherit;transition:opacity var(--_transition-duration) var(--_transition-easing)}.ff-button:hover:before,.ff-button--force-hover:before{animation:ff-btn-shimmer 2s ease infinite}@keyframes ff-btn-shimmer{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}.ff-button:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");opacity:var(--_grain-opacity);mix-blend-mode:overlay;pointer-events:none;border-radius:inherit}.ff-button[data-border-gradient]{border-color:transparent;border-width:0}.ff-button[data-border-gradient]:after{background:var(--_border-gradient);opacity:1;mix-blend-mode:normal;padding:var(--_border-width);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:1}.ff-button--underline{overflow:visible}.ff-button--underline:before{inset:auto 0 0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;opacity:1;border-radius:0}.ff-button--underline:hover:before,.ff-button--underline.ff-button--force-hover:before{transform:scaleX(1);transform-origin:left;animation:none}@media(prefers-reduced-motion:reduce){.ff-button{transition-duration:0ms!important;--_transition-duration: 0ms}.ff-button:before{animation:none!important}.ff-button--anim-always,.ff-button--anim-hover:hover,.ff-button--anim-hover.ff-button--force-hover{--_bg: var(--btn-bg, #6366f1);--_border-color: var(--btn-border-color, transparent);--_outline-color: var(--btn-outline-color, #6366f1);transform:perspective(var(--_tilt-perspective)) rotateX(var(--_tilt-x)) rotateY(var(--_tilt-y)) scale(var(--_scale));filter:var(--_filter);opacity:1}}@media(pointer:coarse){.ff-button{min-height:44px;min-width:44px}}.module-error{padding:var(--space-xl);margin:var(--space-md);background:var(--color-error-bg);border:2px solid var(--color-error);border-radius:var(--radius-md);color:#f88;font-family:var(--font-mono);font-size:var(--text-sm)}.module-error h3{margin:0 0 var(--space-sm) 0;color:var(--color-error)}.module-error pre{margin:var(--space-sm) 0 0 0;white-space:pre-wrap;word-wrap:break-word}
