
    h1.svelte-11obbij {
        font-size: 4em;
        font-weight: 100;
        text-align: center;
        margin: 0 0 30px 0;
        color: ghostwhite;
    }

    .main-container.svelte-11obbij {
        backdrop-filter: blur(4px) brightness(40%);
        color: ghostwhite;
        border-radius: 10px;
        padding: 40px 60px;
    }

.fullHeight.svelte-ly5h8m {
  min-height: calc(100vh - 56px);
}


    .sheet-backdrop.svelte-1v8btbv {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.55);
        z-index: 1040;
        animation: svelte-1v8btbv-fade-in 0.12s ease-out;
    }

    .popover-backdrop.svelte-1v8btbv {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.35);
        z-index: 1040;
        animation: svelte-1v8btbv-fade-in 0.12s ease-out;
    }

    @keyframes svelte-1v8btbv-fade-in {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    .bottom-sheet.svelte-1v8btbv {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(---bg-surface);
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
        z-index: 1050;
        max-height: 80vh;
        display: flex;
        flex-direction: column;
        animation: svelte-1v8btbv-slide-up 0.22s ease-out;
    }

    @keyframes svelte-1v8btbv-slide-up {
        from { transform: translateY(100%); }
        to { transform: translateY(0); }
    }

    .sheet-handle.svelte-1v8btbv {
        width: 40px;
        height: 4px;
        background: #dee2e6;
        border-radius: 2px;
        margin: 12px auto 8px;
        flex-shrink: 0;
    }

    .sheet-body.svelte-1v8btbv {
        flex: 1;
        overflow-y: auto;
        padding: 8px 20px 4px;
    }

    .sheet-footer.svelte-1v8btbv {
        padding: 12px 20px 20px;
        border-top: 1px solid var(---border-subtle);
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .popover-panel.svelte-1v8btbv {
        position: fixed;
        width: 320px;
        display: flex;
        flex-direction: column;
        background: var(---bg-surface);
        border-radius: var(---radius-modal);
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
        z-index: 1050;
        animation: svelte-1v8btbv-pop-in 0.15s ease-out;
    }

    @keyframes svelte-1v8btbv-pop-in {
        from { opacity: 0; transform: scale(0.95); }
        to { opacity: 1; transform: scale(1); }
    }

    .popover-body.svelte-1v8btbv {
        flex: 1;
        overflow-y: auto;
        padding: 16px 18px 8px;
    }

    .popover-footer.svelte-1v8btbv {
        padding: 8px 18px 16px;
        border-top: 1px solid var(---border-subtle);
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .centered-panel.svelte-1v8btbv {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: min(480px, calc(100vw - 32px));
        max-height: calc(100vh - 48px);
        background: var(---bg-surface);
        border-radius: var(---radius-modal);
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
        z-index: 1050;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }


    .family-title.svelte-gwa5zu {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 14px;
        line-height: 1.35;
    }

    .title-text.svelte-gwa5zu {
        font-weight: 700;
        font-size: 0.95rem;
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .card-close.svelte-gwa5zu {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: transparent;
        border: none;
        color: var(---text-muted);
        cursor: pointer;
        font-size: var(---fs-label);
        transition: background-color 0.12s ease, color 0.12s ease;
        flex-shrink: 0;
    }

    .card-close.svelte-gwa5zu:hover {
        background: #f1f3f5;
        color: var(---text-primary);
    }

    .section-label.svelte-gwa5zu {
        font-size: 0.72rem;
        color: #6c757d;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin: 12px 0 6px;
        font-weight: 600;
    }

    .member-list.svelte-gwa5zu {
        list-style: none;
        padding: 0;
        margin: 0 0 4px;
        font-size: 0.92rem;
        line-height: 1.5;
    }

    .member-list.svelte-gwa5zu li:where(.svelte-gwa5zu) + li:where(.svelte-gwa5zu) {
        margin-top: 4px;
    }

    .no-info.svelte-gwa5zu {
        color: #6c757d;
        font-style: italic;
        font-size: 0.9rem;
        margin: 8px 0;
    }

    .card-actions.svelte-gwa5zu {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        padding-top: 16px;
        margin-top: 4px;
        border-top: 1px solid #f1f3f5;
    }

    .card-actions.justify-end.svelte-gwa5zu {
        justify-content: flex-end;
    }


    .empty-state.svelte-1uba7bi {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
    }

    .empty-card.svelte-1uba7bi {
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        padding: 40px 48px;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        pointer-events: auto;
    }

    .empty-icon.svelte-1uba7bi {
        font-size: 3rem;
        color: #adb5bd;
    }

    .empty-text.svelte-1uba7bi {
        margin: 0;
        color: #6c757d;
        font-size: 1rem;
    }


    .modal-backdrop.svelte-1bxxaoh {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.55);
        z-index: 1060;
        animation: svelte-1bxxaoh-fade-in 0.12s ease-out;
    }

    @keyframes svelte-1bxxaoh-fade-in {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    .modal-panel.svelte-1bxxaoh {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: var(---bg-surface);
        border-radius: var(---radius-modal);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
        z-index: 1070;
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - 32px);
        animation: svelte-1bxxaoh-pop-in 0.15s ease-out;
        overflow: hidden;
    }

    .size-sm.svelte-1bxxaoh { width: min(380px, calc(100vw - 32px)); }
    .size-md.svelte-1bxxaoh { width: min(480px, calc(100vw - 32px)); }
    .size-lg.svelte-1bxxaoh { width: min(720px, calc(100vw - 32px)); }

    @keyframes svelte-1bxxaoh-pop-in {
        from { opacity: 0; transform: translate(-50%, -48%) scale(0.96); }
        to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    }

    .modal-header.svelte-1bxxaoh {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 22px 12px;
        gap: 12px;
    }

    .modal-title.svelte-1bxxaoh {
        margin: 0;
        font-weight: var(---fw-title);
        font-size: var(---fs-title);
        color: var(---text-primary);
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .modal-close.svelte-1bxxaoh {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: transparent;
        border: none;
        color: var(---text-muted);
        cursor: pointer;
        font-size: var(---fs-label);
        transition: background-color 0.12s ease, color 0.12s ease;
        flex-shrink: 0;
    }

    .modal-close.svelte-1bxxaoh:hover {
        background: #f1f3f5;
        color: var(---text-primary);
    }

    .modal-body.svelte-1bxxaoh {
        padding: 4px 22px 16px;
        flex: 1;
        min-height: 0;
    }

    .modal-body.scroll.svelte-1bxxaoh {
        overflow-y: auto;
    }

    .modal-footer.svelte-1bxxaoh {
        padding: 12px 22px 18px;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 8px;
        border-top: 1px solid var(---border-subtle);
    }

    @keyframes svelte-1bxxaoh-slide-up {
        from { transform: translateY(100%); }
        to { transform: translateY(0); }
    }

    @media (max-width: 767px) {
        .modal-panel.svelte-1bxxaoh,
        .modal-panel.size-sm.svelte-1bxxaoh,
        .modal-panel.size-md.svelte-1bxxaoh,
        .modal-panel.size-lg.svelte-1bxxaoh {
            top: auto;
            bottom: 0;
            left: 0;
            right: 0;
            width: 100%;
            max-width: 100%;
            transform: none;
            max-height: 85vh;
            border-radius: 20px 20px 0 0;
            box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
            animation: svelte-1bxxaoh-slide-up 0.22s ease-out;
        }

        .modal-body.svelte-1bxxaoh {
            overflow-y: auto;
        }
    }


    .logo.svelte-n8ytu {
        display: block;
        margin: 0 auto 12px;
    }

    section.svelte-n8ytu {
        margin-top: 16px;
    }

    section.svelte-n8ytu:first-of-type {
        margin-top: 0;
    }

    section.svelte-n8ytu h6:where(.svelte-n8ytu) {
        font-weight: var(---fw-section);
        margin-bottom: 6px;
    }

    section.svelte-n8ytu p:where(.svelte-n8ytu) {
        margin-bottom: 8px;
        font-size: var(---fs-body);
        color: var(---text-secondary);
    }

    .about-diagram.svelte-n8ytu {
        width: 100%;
        max-width: 360px;
        height: 220px;
        margin: 8px auto;
        display: block;
    }

    ul.svelte-n8ytu {
        padding-left: 1.2rem;
        font-size: var(---fs-body);
        color: var(---text-secondary);
    }

    ul.svelte-n8ytu li:where(.svelte-n8ytu) {
        margin-bottom: 4px;
    }


    .option.svelte-qv6s6m {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 6px 8px;
        border-radius: 8px;
        cursor: pointer;
        transition: background-color 0.12s ease;
    }

    .option.svelte-qv6s6m:hover {
        background: #f8f9fa;
    }

    .option.svelte-qv6s6m + .option:where(.svelte-qv6s6m) {
        margin-top: 2px;
    }

    .dot.svelte-qv6s6m {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        border: 2px solid #adb5bd;
        flex-shrink: 0;
        transition: border-color 0.12s ease;
        position: relative;
    }

    .dot.active.svelte-qv6s6m {
        border-color: #0d6efd;
    }

    .dot.active.svelte-qv6s6m::after {
        content: "";
        position: absolute;
        inset: 2px;
        border-radius: 50%;
        background: #0d6efd;
    }

    .label.svelte-qv6s6m {
        font-size: var(---fs-body);
        color: var(---text-primary);
    }


    .field-label.svelte-198a5g6 {
        display: block;
        margin: 0 0 6px;
        font-size: var(---fs-label);
        color: var(---text-secondary);
        font-weight: var(---fw-label);
    }

    .hint.svelte-198a5g6 {
        margin: 8px 0 0;
        font-size: var(---fs-hint);
        color: var(---text-muted);
    }


    .prompt-label.svelte-fgx8wn {
        display: block;
        margin: 4px 0 6px;
        font-size: var(---fs-label);
        font-weight: var(---fw-label);
        color: var(---text-secondary);
    }


    .confirm-msg.svelte-u8pwkn {
        margin: 0;
        color: var(---text-secondary);
        font-size: var(---fs-body);
    }


    .grid.svelte-1vk0h4i {
        display: grid;
        grid-template-columns: 200px 1fr;
        gap: 16px;
    }

    .col-photo.svelte-1vk0h4i { grid-column: 1; grid-row: 1; }
    .col-fields.svelte-1vk0h4i { grid-column: 2; grid-row: 1; }
    .col-bio.svelte-1vk0h4i { grid-column: 1 / -1; }
    .col-pin.svelte-1vk0h4i { grid-column: 1 / -1; }

    @media (max-width: 560px) {
        .grid.svelte-1vk0h4i {
            grid-template-columns: 1fr;
        }
        .col-photo.svelte-1vk0h4i, .col-fields.svelte-1vk0h4i { grid-column: 1; grid-row: auto; }
    }

    .field-row.svelte-1vk0h4i + .field-row:where(.svelte-1vk0h4i) {
        margin-top: 12px;
    }

    .field-label.svelte-1vk0h4i {
        display: block;
        margin: 4px 0 6px;
        font-size: var(---fs-label);
        color: var(---text-secondary);
        font-weight: var(---fw-label);
    }

    .dates-row.svelte-1vk0h4i {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .date-cell.svelte-1vk0h4i {
        position: relative;
    }

    .photo-frame.svelte-1vk0h4i {
        position: relative;
        width: 100%;
        aspect-ratio: 1 / 1;
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e9ecef;
        background-color: #f8f9fa;
    }

    .photo-image.svelte-1vk0h4i {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .photo-empty.svelte-1vk0h4i {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(---text-muted);
        font-size: var(---fs-label);
    }

    .photo-upload-btn.svelte-1vk0h4i {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: transparent;
        border: none;
        padding: 0;
        cursor: pointer;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        transition: background-color 0.15s ease;
    }

    .photo-upload-btn.svelte-1vk0h4i:hover,
    .photo-upload-btn.svelte-1vk0h4i:focus-visible {
        background-color: rgba(0, 0, 0, 0.35);
    }

    .photo-upload-label.svelte-1vk0h4i {
        width: 100%;
        padding: 0.5rem;
        background-color: rgba(0, 0, 0, 0.55);
        color: #fff;
        font-size: var(---fs-label);
        text-align: center;
        opacity: 0;
        transition: opacity 0.15s ease;
    }

    .photo-frame.svelte-1vk0h4i:has(.photo-empty:where(.svelte-1vk0h4i)) .photo-upload-label:where(.svelte-1vk0h4i),
    .photo-upload-btn.svelte-1vk0h4i:hover .photo-upload-label:where(.svelte-1vk0h4i),
    .photo-upload-btn.svelte-1vk0h4i:focus-visible .photo-upload-label:where(.svelte-1vk0h4i) {
        opacity: 1;
    }

    .bio-header.svelte-1vk0h4i {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 4px;
    }

    .bio-tabs.svelte-1vk0h4i {
        display: inline-flex;
        background: #f1f3f5;
        border-radius: 8px;
        padding: 2px;
    }

    .bio-tab.svelte-1vk0h4i {
        padding: 4px 10px;
        background: none;
        border: none;
        font-size: var(---fs-hint);
        color: var(---text-muted);
        border-radius: 6px;
        cursor: pointer;
        font-weight: var(---fw-label);
    }

    .bio-tab.active.svelte-1vk0h4i {
        background: var(---bg-surface);
        color: var(---text-primary);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }

    .bio-textarea.svelte-1vk0h4i {
        font-family: ui-monospace, SFMono-Regular, monospace;
        font-size: var(---fs-body);
    }

    .bio-preview.svelte-1vk0h4i {
        min-height: 6rem;
        padding: 0.5rem 0.75rem;
        border: 1px solid #e9ecef;
        border-radius: 10px;
        background-color: #fff;
        line-height: 1.5;
        font-size: 0.95rem;
        overflow-wrap: anywhere;
    }

    .bio-preview.svelte-1vk0h4i p { margin: 0 0 0.75rem; }
    .bio-preview.svelte-1vk0h4i p:last-child { margin-bottom: 0; }
    .bio-preview.svelte-1vk0h4i h1,
    .bio-preview.svelte-1vk0h4i h2,
    .bio-preview.svelte-1vk0h4i h3,
    .bio-preview.svelte-1vk0h4i h4,
    .bio-preview.svelte-1vk0h4i h5,
    .bio-preview.svelte-1vk0h4i h6 {
        margin: 1rem 0 0.5rem;
        font-weight: 600;
    }
    .bio-preview.svelte-1vk0h4i h1 { font-size: 1.4rem; }
    .bio-preview.svelte-1vk0h4i h2 { font-size: 1.25rem; }
    .bio-preview.svelte-1vk0h4i h3 { font-size: 1.1rem; }
    .bio-preview.svelte-1vk0h4i ul,
    .bio-preview.svelte-1vk0h4i ol {
        padding-left: 1.25rem;
        margin-bottom: 0.75rem;
    }
    .bio-preview.svelte-1vk0h4i a { color: #0d6efd; word-break: break-word; }
    .bio-preview.svelte-1vk0h4i blockquote {
        margin: 0 0 0.75rem;
        padding: 0.25rem 0.75rem;
        border-left: 3px solid #e9ecef;
        color: var(---text-muted);
    }
    .bio-preview.svelte-1vk0h4i code {
        padding: 0.1em 0.3em;
        font-size: 0.875em;
        background-color: rgba(0, 0, 0, 0.06);
        border-radius: 0.25rem;
    }

    .crop-wrap.svelte-1vk0h4i {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .crop-area.svelte-1vk0h4i {
        position: relative;
        width: 100%;
        max-width: 400px;
        aspect-ratio: 1 / 1;
        margin: 0 auto;
        border-radius: 12px;
        overflow: hidden;
        background-color: #000;
        cursor: grab;
        touch-action: none;
        user-select: none;
    }

    .crop-area.svelte-1vk0h4i:active { cursor: grabbing; }

    .crop-image.svelte-1vk0h4i {
        position: absolute;
        top: 0;
        left: 0;
        transform-origin: 0 0;
        pointer-events: none;
        max-width: none;
    }

    .crop-overlay.svelte-1vk0h4i {
        position: absolute;
        inset: 0;
        pointer-events: none;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
    }

    .hint.svelte-1vk0h4i {
        margin: 0;
        color: var(---text-muted);
        font-size: var(---fs-hint);
        text-align: center;
    }



    g.ghost {
        opacity: 0.6;
        cursor: pointer;
        transition: opacity 200ms ease;
    }

    g.ghost > circle {
        fill-opacity: 0.25;
        stroke: #6c757d;
        stroke-width: 1.5px;
        stroke-dasharray: 5 3;
        pointer-events: all;
        transition: fill-opacity 150ms ease;
    }

    g.ghost:hover > circle {
        fill-opacity: 0.85;
    }

    g.ghost:hover {
        opacity: 1;
    }

    g.ghost .ghost-label {
        fill: #6c757d;
        pointer-events: none;
    }

    line.ghost-edge {
        stroke: #6c757d;
        stroke-dasharray: 4 3;
        opacity: 0.5;
        pointer-events: none;
        transition: opacity 200ms ease;
    }

    g.ghost-family {
        opacity: 0.5;
        cursor: default;
        transition: opacity 200ms ease;
        pointer-events: none;
    }

    g.ghost-family > circle {
        fill-opacity: 0.3;
        stroke: #6c757d;
        stroke-width: 1.5px;
        stroke-dasharray: 5 3;
        pointer-events: none;
    }


    g.drop-disallowed {
        opacity: 0.3;
        filter: saturate(0.2);
        pointer-events: none;
    }

    g.drop-allowed > circle {
        animation: svelte-ht72bq-drop-allowed-pulse 1.8s ease-in-out infinite;
    }

    @keyframes svelte-ht72bq-drop-allowed-pulse {
        0%, 100% { stroke-opacity: 1; }
        50% { stroke-opacity: 0.45; }
    }

    g.drop-target > circle {
        stroke: #0d6efd;
        stroke-width: 3px;
        stroke-dasharray: 4 2;
        filter: drop-shadow(0 0 6px rgba(13, 110, 253, 0.55));
    }

    g.gesture-source > circle {
        stroke: #0d6efd;
        stroke-width: 2.5px;
        filter: drop-shadow(0 0 8px rgba(13, 110, 253, 0.65));
    }

    .empty-source-marker {
        fill: rgba(13, 110, 253, 0.08);
        stroke: #0d6efd;
        stroke-width: 1.5;
        stroke-dasharray: 4 3;
        opacity: 0.7;
        pointer-events: none;
    }

    .endpoint-preview {
        fill: rgba(13, 110, 253, 0.08);
        stroke: #0d6efd;
        stroke-width: 1.5;
        stroke-dasharray: 4 3;
        opacity: 0.75;
        pointer-events: none;
    }

    .link-line {
        stroke: #0d6efd;
        stroke-width: 2px;
        stroke-dasharray: 5 4;
        pointer-events: none;
        opacity: 0.7;
    }

    body.linking,
    body.linking * {
        cursor: crosshair !important;
        user-select: none !important;
        -webkit-user-select: none !important;
    }

    body.pan-armed,
    body.pan-armed * {
        cursor: grab !important;
    }

    body.pan-dragging,
    body.pan-dragging * {
        cursor: grabbing !important;
    }

    .drag-tip.svelte-ht72bq {
        position: fixed;
        pointer-events: none;
        background: rgba(13, 110, 253, 0.95);
        color: #fff;
        padding: 4px 10px;
        border-radius: 10px;
        font-size: 0.82rem;
        font-weight: 500;
        max-width: min(320px, 80vw);
        overflow-wrap: anywhere;
        z-index: 400;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    }


    .edit-watermark.svelte-o3wqm9 {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 0;
        opacity: 0.04;
    }

    .edit-mode {
        box-shadow: inset 0 0 0 3px rgba(73, 80, 87, 0.55);
        animation: svelte-o3wqm9-edit-mode-ring-pulse 2.4s ease-in-out infinite;
    }

    @keyframes svelte-o3wqm9-edit-mode-ring-pulse {
        0%, 100% { box-shadow: inset 0 0 0 3px rgba(73, 80, 87, 0.55); }
        50% { box-shadow: inset 0 0 0 3px rgba(73, 80, 87, 0.22); }
    }

    .edit-mode::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        z-index: 0;
        opacity: 0.08;
        background-repeat: repeat;
        background-size: 220px 220px;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><g fill='%23212529'><g transform='translate(30 40) rotate(20) scale(1.4)'><path d='M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325'/></g><g transform='translate(150 90) rotate(-35) scale(1.6)'><path d='M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325'/></g><g transform='translate(80 170) rotate(75) scale(1.3)'><path d='M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325'/></g></g></svg>");
    }


    .chip.svelte-1eqf306 {
        display: inline-flex;
        align-items: center;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
        padding: 6px 10px;
        position: relative;
    }

    .stemma-btn.svelte-1eqf306 {
        display: flex;
        align-items: center;
        gap: 4px;
        background: none;
        border: none;
        padding: 0 4px;
        font-size: 0.875rem;
        font-weight: 500;
        cursor: pointer;
        color: #212529;
        white-space: nowrap;
        max-width: 200px;
    }

    .stemma-btn.svelte-1eqf306:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .stemma-name.svelte-1eqf306 {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 180px;
    }

    .chevron.svelte-1eqf306 {
        font-size: 0.7rem;
        transition: transform 0.15s ease;
        flex-shrink: 0;
    }

    .chevron.rotated.svelte-1eqf306 {
        transform: rotate(180deg);
    }

    .stemma-dropdown.svelte-1eqf306 {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        min-width: 240px;
        z-index: 1000;
        overflow: hidden;
        padding: 4px 0;
    }

    .stemma-row.svelte-1eqf306 {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        font-size: 0.875rem;
        cursor: pointer;
        color: #212529;
    }

    .stemma-row.svelte-1eqf306:hover {
        background: #f8f9fa;
    }

    .stemma-row.active.svelte-1eqf306 .row-name:where(.svelte-1eqf306) {
        color: #0d6efd;
        font-weight: 600;
    }

    .row-name.svelte-1eqf306 {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .row-actions.svelte-1eqf306 {
        display: inline-flex;
        gap: 2px;
        flex-shrink: 0;
    }

    .row-btn.svelte-1eqf306 {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: transparent;
        border: none;
        color: #6c757d;
        cursor: pointer;
        transition: background-color 0.12s ease, color 0.12s ease;
        font-size: 0.8rem;
    }

    .row-btn.svelte-1eqf306:hover {
        background: #e9ecef;
        color: #212529;
    }

    .row-btn.danger.svelte-1eqf306:hover {
        background: #f8d7da;
        color: #dc3545;
    }

    .row-btn.placeholder.svelte-1eqf306 {
        visibility: hidden;
        pointer-events: none;
        cursor: default;
    }

    .dropdown-divider.svelte-1eqf306 {
        height: 1px;
        background: #e9ecef;
        margin: 4px 0;
    }

    .add-stemma.svelte-1eqf306 {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        padding: 8px 12px;
        background: none;
        border: none;
        text-align: left;
        font-size: 0.875rem;
        cursor: pointer;
        color: #0d6efd;
        font-weight: 500;
    }

    .add-stemma.svelte-1eqf306:hover {
        background: #f1f7ff;
    }



    .lang-switcher.svelte-1rpbvgp {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #fff;
        border: none;
        padding: 0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
        cursor: pointer;
        color: #495057;
        font-size: 0.85rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        transition: box-shadow 0.15s ease, transform 0.1s ease, color 0.12s ease;
    }

    .lang-switcher.svelte-1rpbvgp:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
        transform: translateY(-1px);
        color: #212529;
    }


    .menu.svelte-1qo109d {
        position: relative;
    }

    .menu-btn.svelte-1qo109d {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #fff;
        border: none;
        padding: 0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
        cursor: pointer;
        transition: box-shadow 0.15s ease, transform 0.1s ease;
        overflow: hidden;
    }

    .menu-btn.svelte-1qo109d img:where(.svelte-1qo109d) {
        display: block;
    }

    .menu-btn.svelte-1qo109d:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
        transform: translateY(-1px);
    }

    .menu-dropdown.svelte-1qo109d {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        min-width: 180px;
        z-index: 1000;
        overflow: hidden;
        padding: 4px 0;
    }

    .menu-item.svelte-1qo109d {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 10px 16px;
        background: none;
        border: none;
        text-align: left;
        font-size: 0.875rem;
        cursor: pointer;
        color: #212529;
    }

    .menu-item.svelte-1qo109d:hover {
        background: #f8f9fa;
    }

    .menu-item.sign-out.svelte-1qo109d {
        color: #dc3545;
    }

    .menu-divider.svelte-1qo109d {
        height: 1px;
        background: #dee2e6;
        margin: 4px 0;
    }


    .fab-cluster.svelte-frbzw9 {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .fab.svelte-frbzw9 {
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        font-size: 1.25rem;
        transition: box-shadow 0.15s ease, transform 0.1s ease;
    }

    .fab.svelte-frbzw9:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .fab.svelte-frbzw9:not(:disabled):hover {
        transform: translateY(-2px);
    }

    .fab-primary.svelte-frbzw9 {
        width: 56px;
        height: 56px;
        background: #0d6efd;
        color: #fff;
        box-shadow: 0 4px 12px rgba(13, 110, 253, 0.4);
    }

    .fab-primary.active.svelte-frbzw9 {
        background: #495057;
        box-shadow: 0 4px 12px rgba(73, 80, 87, 0.4);
    }

    .fab-primary.svelte-frbzw9:not(:disabled):hover {
        box-shadow: 0 6px 18px rgba(13, 110, 253, 0.5);
    }

    .fab-secondary.svelte-frbzw9 {
        width: 48px;
        height: 48px;
        background: #fff;
        color: #0d6efd;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    }

    .fab-secondary.svelte-frbzw9:not(:disabled):hover {
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    }

    .fab-secondary.active.svelte-frbzw9 {
        background: #495057;
        color: #fff;
        box-shadow: 0 4px 12px rgba(73, 80, 87, 0.4);
    }

    .fab-secondary.active.svelte-frbzw9:not(:disabled):hover {
        box-shadow: 0 6px 18px rgba(73, 80, 87, 0.5);
    }

    @media (max-width: 767.98px) {
        .fab-primary.svelte-frbzw9 {
            width: 48px;
            height: 48px;
            font-size: 1.1rem;
        }

        .fab-secondary.svelte-frbzw9 {
            width: 40px;
            height: 40px;
            font-size: 1rem;
        }
    }


    .search.svelte-1wah7ro {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
        padding: 6px 10px;
        position: relative;
        width: min(320px, calc(100vw - 200px));
        min-width: 200px;
    }

    .search-icon.svelte-1wah7ro {
        color: #6c757d;
        font-size: 0.95rem;
        flex-shrink: 0;
    }

    .search-input.svelte-1wah7ro {
        flex: 1 1 auto;
        min-width: 0;
        border: none;
        outline: none;
        background: transparent;
        font-size: 0.875rem;
        color: #212529;
        padding: 2px 0;
    }

    .search-input.svelte-1wah7ro::placeholder {
        color: #adb5bd;
    }

    .search-input.svelte-1wah7ro::-webkit-search-cancel-button {
        display: none;
    }

    .clear-btn.svelte-1wah7ro {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: transparent;
        border: none;
        color: #6c757d;
        cursor: pointer;
        flex-shrink: 0;
        font-size: 0.95rem;
    }

    .clear-btn.svelte-1wah7ro:hover {
        background: #e9ecef;
        color: #212529;
    }

    .search-dropdown.svelte-1wah7ro {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        max-height: 320px;
        overflow-y: auto;
        z-index: 1000;
        padding: 4px 0;
    }

    .search-row.svelte-1wah7ro {
        display: flex;
        align-items: baseline;
        gap: 8px;
        width: 100%;
        padding: 8px 12px;
        background: none;
        border: none;
        text-align: left;
        font-size: 0.875rem;
        color: #212529;
        cursor: pointer;
    }

    .search-row.svelte-1wah7ro:hover,
    .search-row.active.svelte-1wah7ro {
        background: #f1f7ff;
    }

    .row-name.svelte-1wah7ro {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .row-name.svelte-1wah7ro b {
        font-weight: 700;
        color: #0d6efd;
    }

    .row-meta.svelte-1wah7ro {
        color: #6c757d;
        font-size: 0.8rem;
        flex-shrink: 0;
    }

    .no-results.svelte-1wah7ro {
        padding: 10px 12px;
        color: #6c757d;
        font-size: 0.85rem;
        text-align: center;
    }


    .stats-card.svelte-12448rx {
        position: fixed;
        right: calc(12px + env(safe-area-inset-right, 0px));
        bottom: calc(12px + env(safe-area-inset-bottom, 0px));
        z-index: 1100;
        box-sizing: border-box;
        width: 120px;
        padding: 6px 9px;
        background: rgba(33, 37, 41, 0.78);
        color: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 4px;
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
        font-size: 11px;
        line-height: 1.4;
        white-space: nowrap;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        pointer-events: none;
        transition: background-color 140ms ease;
        user-select: none;
    }

    .stats-card.active.svelte-12448rx {
        background: rgba(74, 58, 22, 0.82);
    }

    table.svelte-12448rx {
        width: 100%;
        border-collapse: collapse;
    }

    td.svelte-12448rx {
        padding: 0;
    }

    .label.svelte-12448rx {
        color: rgba(255, 255, 255, 0.55);
        text-align: left;
    }

    .value.svelte-12448rx {
        text-align: right;
        font-variant-numeric: tabular-nums;
        font-weight: 600;
    }


    .chrome.svelte-1frmsqe {
        position: absolute;
        inset: 0;
        pointer-events: none;
    }

    .top-left.svelte-1frmsqe {
        position: absolute;
        top: 16px;
        left: 16px;
        pointer-events: auto;
        z-index: 110;
    }

    .top-center.svelte-1frmsqe {
        position: absolute;
        top: 16px;
        left: 50%;
        transform: translateX(-50%);
        pointer-events: auto;
        z-index: 100;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    @media (max-width: 767.98px) {
        .top-center.svelte-1frmsqe {
            top: 72px;
        }
    }

    .top-right.svelte-1frmsqe {
        position: absolute;
        top: 16px;
        right: 16px;
        pointer-events: auto;
        z-index: 100;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .bottom-right.svelte-1frmsqe {
        position: absolute;
        bottom: calc(24px + env(safe-area-inset-bottom, 0px));
        right: calc(20px + env(safe-area-inset-right, 0px));
        pointer-events: auto;
        z-index: 100;
    }

    .bottom-left.svelte-1frmsqe {
        position: absolute;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        left: calc(16px + env(safe-area-inset-left, 0px));
        pointer-events: auto;
        z-index: 100;
    }

    .bottom-left .stats-card {
        position: static;
        bottom: auto;
        right: auto;
    }


    .pending-remove {
        stroke-dasharray: 4 4;
        stroke: #dc3545;
        opacity: 0.45;
        animation: svelte-1s8lhiw-pending-pulse 1.2s ease-in-out infinite;
    }

    .pending-add {
        opacity: 0.45;
        stroke-dasharray: 4 3;
        stroke: #0d6efd;
        animation: svelte-1s8lhiw-pending-pulse 1.2s ease-in-out infinite;
    }

    @keyframes svelte-1s8lhiw-pending-pulse {
        0%, 100% { stroke-opacity: 1; }
        50% { stroke-opacity: 0.35; }
    }


    .minimap-container.svelte-1fj6ewf {
        position: absolute;
        bottom: calc(24px + env(safe-area-inset-bottom, 0px));
        right: calc(96px + env(safe-area-inset-right, 0px));
        z-index: 100;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(0, 0, 0, 0.12);
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        user-select: none;
    }

    @media (max-width: 767.98px) {
        .minimap-container.svelte-1fj6ewf {
            display: none;
        }
    }

    .minimap-canvas.svelte-1fj6ewf {
        display: block;
        touch-action: none;
    }

    .minimap-person {
        fill: #5a7fa0;
        opacity: 0.7;
    }

    .minimap-family {
        fill: #326f93;
        opacity: 0.7;
    }

    .minimap-viewport {
        fill: rgba(100, 149, 237, 0.12);
        stroke: #4a80c4;
        stroke-width: 1.5px;
        pointer-events: none;
    }


	.circle.svelte-7w2xrx {
		height: var(--size);
		width: var(--size);
		border-color: var(--color) transparent var(--color) var(--color);
		border-width: calc(var(--size) / 15);
		border-style: solid;
		border-image: initial;
		border-radius: 50%;
		animation: var(--duration) linear 0s infinite normal none running svelte-7w2xrx-rotate;
	}
	.pause-animation.svelte-7w2xrx {
		animation-play-state: paused;
	}
	@keyframes svelte-7w2xrx-rotate {
		0% {
			transform: rotate(0);
		}
		100% {
			transform: rotate(360deg);
		}
	}


	.circle.svelte-18p56hv {
		width: var(--size);
		height: var(--size);
		box-sizing: border-box;
		position: relative;
		border: 3px solid transparent;
		border-top-color: var(--colorOuter);
		border-radius: 50%;
		animation: svelte-18p56hv-circleSpin var(--durationOuter) linear infinite;
	}
	.circle.svelte-18p56hv::before,
	.circle.svelte-18p56hv::after {
		content: '';
		box-sizing: border-box;
		position: absolute;
		border: 3px solid transparent;
		border-radius: 50%;
	}
	.circle.svelte-18p56hv::after {
		border-top-color: var(--colorInner);
		top: 9px;
		left: 9px;
		right: 9px;
		bottom: 9px;
		animation: svelte-18p56hv-circleSpin var(--durationInner) linear infinite;
	}
	.circle.svelte-18p56hv::before {
		border-top-color: var(--colorCenter);
		top: 3px;
		left: 3px;
		right: 3px;
		bottom: 3px;
		animation: svelte-18p56hv-circleSpin var(--durationCenter) linear infinite;
	}
	.pause-animation.svelte-18p56hv,
	.pause-animation.svelte-18p56hv::after,
	.pause-animation.svelte-18p56hv::before {
		animation-play-state: paused;
	}

	@keyframes svelte-18p56hv-circleSpin {
		0% {
			transform: rotate(0deg);
		}
		100% {
			transform: rotate(360deg);
		}
	}


	.wrapper.svelte-1ld5hqc {
		width: var(--size);
		height: var(--size);
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 0;
		box-sizing: border-box;
	}
	.inner.svelte-1ld5hqc {
		transform: scale(calc(var(--floatSize) / 52));
	}
	.ball-container.svelte-1ld5hqc {
		animation: svelte-1ld5hqc-ballTwo var(--duration) infinite;
		width: 44px;
		height: 44px;
		flex-shrink: 0;
		position: relative;
	}
	.single-ball.svelte-1ld5hqc {
		width: 44px;
		height: 44px;
		position: absolute;
	}
	.ball.svelte-1ld5hqc {
		width: 20px;
		height: 20px;
		border-radius: 50%;
		position: absolute;
		animation: svelte-1ld5hqc-ballOne var(--duration) infinite ease;
	}
	.pause-animation.svelte-1ld5hqc {
		animation-play-state: paused;
	}
	.ball-top-left.svelte-1ld5hqc {
		background-color: var(--ballTopLeftColor);
		top: 0;
		left: 0;
	}
	.ball-top-right.svelte-1ld5hqc {
		background-color: var(--ballTopRightColor);
		top: 0;
		left: 24px;
	}
	.ball-bottom-left.svelte-1ld5hqc {
		background-color: var(--ballBottomLeftColor);
		top: 24px;
		left: 0;
	}
	.ball-bottom-right.svelte-1ld5hqc {
		background-color: var(--ballBottomRightColor);
		top: 24px;
		left: 24px;
	}
	@keyframes svelte-1ld5hqc-ballOne {
		0% {
			position: absolute;
		}
		50% {
			top: 12px;
			left: 12px;
			position: absolute;
			opacity: 0.5;
		}
		100% {
			position: absolute;
		}
	}
	@keyframes svelte-1ld5hqc-ballTwo {
		0% {
			transform: rotate(0deg) scale(1);
		}
		50% {
			transform: rotate(360deg) scale(1.3);
		}
		100% {
			transform: rotate(720deg) scale(1);
		}
	}


	.wrapper.svelte-114lbwa {
		position: relative;
		width: var(--size);
		height: var(--size);
	}
	.circle.svelte-114lbwa {
		position: absolute;
		width: var(--size);
		height: var(--size);
		background-color: var(--color);
		border-radius: 100%;
		opacity: 0.6;
		top: 0;
		left: 0;
		animation-fill-mode: both;
		animation-name: svelte-114lbwa-bounce !important;
	}
	.pause-animation.svelte-114lbwa {
		animation-play-state: paused;
	}
	@keyframes svelte-114lbwa-bounce {
		0%,
		100% {
			transform: scale(0);
		}
		50% {
			transform: scale(1);
		}
	}


	.svelte-1xynvbs {
		overflow: hidden;
		position: relative;
		text-indent: -9999px;
		display: inline-block;
		background: #f86;
		border-radius: 50%;
		transform: rotateZ(90deg);
		transform-origin: 50% 50%;
		animation: svelte-1xynvbs-plus-loader-background var(--duration) infinite ease-in-out;
	}

	.svelte-1xynvbs::after {
		background: #f86;
		border-radius: 50% 0 0 50%;
		content: '';
		position: absolute;
		right: 50%;
		top: 0;
		width: 50%;
		height: 100%;
		transform-origin: 100% 50%;
		animation: svelte-1xynvbs-plus-loader-top var(--duration) infinite linear;
	}

	.svelte-1xynvbs::before {
		background: #fc6;
		border-radius: 50% 0 0 50%;
		content: '';
		position: absolute;
		right: 50%;
		top: 0;
		width: 50%;
		height: 100%;
		transform-origin: 100% 50%;
		animation: svelte-1xynvbs-plus-loader-bottom var(--duration) infinite linear;
	}
	.pause-animation.svelte-1xynvbs,
	.pause-animation.svelte-1xynvbs::before,
	.pause-animation.svelte-1xynvbs::after {
		animation-play-state: paused;
	}

	@keyframes svelte-1xynvbs-plus-loader-top {
		2.5% {
			background: #f86;
			transform: rotateY(0deg);
			animation-timing-function: ease-in;
		}

		13.75% {
			background: #ff430d;
			transform: rotateY(90deg);
			animation-timing-function: step-start;
		}

		13.76% {
			background: #ffae0d;
			transform: rotateY(90deg);
			animation-timing-function: ease-out;
		}

		25% {
			background: #fc6;
			transform: rotateY(180deg);
		}

		27.5% {
			background: #fc6;
			transform: rotateY(180deg);
			animation-timing-function: ease-in;
		}

		41.25% {
			background: #ffae0d;
			transform: rotateY(90deg);
			animation-timing-function: step-start;
		}

		41.26% {
			background: #2cc642;
			transform: rotateY(90deg);
			animation-timing-function: ease-out;
		}

		50% {
			background: #6d7;
			transform: rotateY(0deg);
		}

		52.5% {
			background: #6d7;
			transform: rotateY(0deg);
			animation-timing-function: ease-in;
		}

		63.75% {
			background: #2cc642;
			transform: rotateY(90deg);
			animation-timing-function: step-start;
		}

		63.76% {
			background: #1386d2;
			transform: rotateY(90deg);
			animation-timing-function: ease-out;
		}

		75% {
			background: #4ae;
			transform: rotateY(180deg);
		}

		77.5% {
			background: #4ae;
			transform: rotateY(180deg);
			animation-timing-function: ease-in;
		}

		91.25% {
			background: #1386d2;
			transform: rotateY(90deg);
			animation-timing-function: step-start;
		}

		91.26% {
			background: #ff430d;
			transform: rotateY(90deg);
			animation-timing-function: ease-in;
		}

		100% {
			background: #f86;
			transform: rotateY(0deg);
			animation-timing-function: step-start;
		}
	}

	@keyframes svelte-1xynvbs-plus-loader-bottom {
		0% {
			background: #fc6;
			animation-timing-function: step-start;
		}

		50% {
			background: #fc6;
			animation-timing-function: step-start;
		}

		75% {
			background: #4ae;
			animation-timing-function: step-start;
		}

		100% {
			background: #4ae;
			animation-timing-function: step-start;
		}
	}

	@keyframes svelte-1xynvbs-plus-loader-background {
		0% {
			background: #f86;
			transform: rotateZ(180deg);
		}

		25% {
			background: #f86;
			transform: rotateZ(180deg);
			animation-timing-function: step-start;
		}

		27.5% {
			background: #6d7;
			transform: rotateZ(90deg);
		}

		50% {
			background: #6d7;
			transform: rotateZ(90deg);
			animation-timing-function: step-start;
		}

		52.5% {
			background: #6d7;
			transform: rotateZ(0deg);
		}

		75% {
			background: #6d7;
			transform: rotateZ(0deg);
			animation-timing-function: step-start;
		}

		77.5% {
			background: #f86;
			transform: rotateZ(270deg);
		}

		100% {
			background: #f86;
			transform: rotateZ(270deg);
			animation-timing-function: step-start;
		}
	}


	.wrapper.svelte-1rlyajf {
		width: var(--size);
		height: var(--size);
	}
	.circle.svelte-1rlyajf {
		width: var(--size);
		height: var(--size);
		background-color: var(--color);
		animation-duration: var(--duration);
		border-radius: 100%;
		display: inline-block;
		animation: svelte-1rlyajf-scaleOut var(--duration) ease-in-out infinite;
	}
	.pause-animation.svelte-1rlyajf {
		animation-play-state: paused;
	}
	@keyframes svelte-1rlyajf-scaleOut {
		0% {
			transform: scale(0);
		}
		100% {
			transform: scale(1);
			opacity: 0;
		}
	}


	.wrapper.svelte-11s1867 {
		width: var(--size);
		height: var(--stroke);
		transform: scale(calc(var(--floatSize) / 75));
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.line.svelte-11s1867 {
		width: var(--size);
		height: var(--stroke);
		background: var(--color);
		border-radius: var(--stroke);
		transform-origin: center center;
		animation: svelte-11s1867-spineLine var(--duration) ease infinite;
	}
	.pause-animation.svelte-11s1867 {
		animation-play-state: paused;
	}
	@keyframes svelte-11s1867-spineLine {
		0% {
			transform: rotate(-20deg);
			height: 5px;
			width: 75px;
		}
		5% {
			height: 5px;
			width: 75px;
		}
		30% {
			transform: rotate(380deg);
			height: 5px;
			width: 75px;
		}
		40% {
			transform: rotate(360deg);
			height: 5px;
			width: 75px;
		}
		55% {
			transform: rotate(0deg);
			height: 5px;
			width: 5px;
		}
		65% {
			transform: rotate(0deg);
			height: 5px;
			width: 85px;
		}
		68% {
			transform: rotate(0deg);
			height: 5px;
		}
		75% {
			transform: rotate(0deg);
			height: 5px;
			width: 1px;
		}
		78% {
			height: 5px;
			width: 5px;
		}
		90% {
			height: 5px;
			width: 75px;
			transform: rotate(0deg);
		}
		99%,
		100% {
			height: 5px;
			width: 75px;
			transform: rotate(-20deg);
		}
	}


	.wrapper.svelte-1et11w8 {
		height: var(--size);
		width: var(--size);
		display: inline-block;
		text-align: center;
		font-size: 10px;
	}
	.rect.svelte-1et11w8 {
		height: 100%;
		width: 10%;
		display: inline-block;
		margin-right: 4px;
		transform: scaleY(0.4);
		background-color: var(--color);
		animation: svelte-1et11w8-stretch var(--duration) ease-in-out infinite;
	}
	.pause-animation.svelte-1et11w8 {
		animation-play-state: paused;
	}
	@keyframes svelte-1et11w8-stretch {
		0%,
		40%,
		100% {
			transform: scaleY(0.4);
		}
		20% {
			transform: scaleY(1);
		}
	}


	.wrapper.svelte-1u7a0eb {
		height: calc(var(--size) / 15);
		width: calc(var(--size) * 2);
		background-color: var(--rgba);
		position: relative;
		overflow: hidden;
		background-clip: padding-box;
	}
	.lines.svelte-1u7a0eb {
		height: calc(var(--size) / 15);
		background-color: var(--color);
	}

	.small-lines.svelte-1u7a0eb {
		position: absolute;
		overflow: hidden;
		background-clip: padding-box;
		display: block;
		border-radius: 2px;
		will-change: left, right;
		animation-fill-mode: forwards;
	}
	.small-lines.\31 .svelte-1u7a0eb{
		animation: var(--duration) cubic-bezier(0.65, 0.815, 0.735, 0.395) 0s infinite normal none
			running svelte-1u7a0eb-long;
	}
	.small-lines.\32 .svelte-1u7a0eb{
		animation: var(--duration) cubic-bezier(0.165, 0.84, 0.44, 1) calc((var(--duration) + 0.1) / 2)
			infinite normal none running svelte-1u7a0eb-short;
	}
	.pause-animation.svelte-1u7a0eb {
		animation-play-state: paused;
	}

	@keyframes svelte-1u7a0eb-long {
		0% {
			left: -35%;
			right: 100%;
		}
		60% {
			left: 100%;
			right: -90%;
		}
		100% {
			left: 100%;
			right: -90%;
		}
	}
	@keyframes svelte-1u7a0eb-short {
		0% {
			left: -200%;
			right: 100%;
		}
		60% {
			left: 107%;
			right: -8%;
		}
		100% {
			left: 107%;
			right: -8%;
		}
	}


	.wrapper.svelte-1ctay1k {
		width: var(--size);
		height: var(--size);
	}
	.circle.svelte-1ctay1k {
		border-radius: 100%;
		animation-fill-mode: both;
		position: absolute;
		opacity: 0;
		width: var(--size);
		height: var(--size);
		background-color: var(--color);
		animation: svelte-1ctay1k-bounce var(--duration) linear infinite;
	}
	.pause-animation.svelte-1ctay1k {
		animation-play-state: paused;
	}
	@keyframes svelte-1ctay1k-bounce {
		0% {
			opacity: 0;
			transform: scale(0);
		}
		5% {
			opacity: 1;
		}
		100% {
			opacity: 0;
			transform: scale(1);
		}
	}


	.wrapper.svelte-c5p9k6 {
		position: relative;
		width: var(--size);
		height: var(--size);
	}
	.border.svelte-c5p9k6 {
		border-color: var(--color);
		position: absolute;
		top: 0px;
		left: 0px;
		width: var(--size);
		height: var(--size);
		opacity: 0.4;
		perspective: 800px;
		border-width: 6px;
		border-style: solid;
		border-image: initial;
		border-radius: 100%;
	}
	.border.\31 .svelte-c5p9k6{
		animation: var(--duration) linear 0s infinite normal none running svelte-c5p9k6-ringOne;
	}
	.border.\32 .svelte-c5p9k6{
		animation: var(--duration) linear 0s infinite normal none running svelte-c5p9k6-ringTwo;
	}
	.pause-animation.svelte-c5p9k6 {
		animation-play-state: paused;
	}

	@keyframes svelte-c5p9k6-ringOne {
		0% {
			transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
		}
		100% {
			transform: rotateX(360deg) rotateY(180deg) rotateZ(360deg);
		}
	}
	@keyframes svelte-c5p9k6-ringTwo {
		0% {
			transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
		}
		100% {
			transform: rotateX(180deg) rotateY(360deg) rotateZ(360deg);
		}
	}


	.wrapper.svelte-mqydc1 {
		height: var(--size);
		width: var(--size);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.dot.svelte-mqydc1 {
		height: var(--dotSize);
		width: var(--dotSize);
		background-color: var(--color);
		margin: 2px;
		display: inline-block;
		border-radius: 100%;
		animation: svelte-mqydc1-sync var(--duration) ease-in-out infinite alternate both running;
	}
	.pause-animation.svelte-mqydc1 {
		animation-play-state: paused;
	}

	@-webkit-keyframes svelte-mqydc1-sync {
		33% {
			-webkit-transform: translateY(10px);
			transform: translateY(10px);
		}
		66% {
			-webkit-transform: translateY(-10px);
			transform: translateY(-10px);
		}
		100% {
			-webkit-transform: translateY(0);
			transform: translateY(0);
		}
	}
	@keyframes svelte-mqydc1-sync {
		33% {
			-webkit-transform: translateY(10px);
			transform: translateY(10px);
		}
		66% {
			-webkit-transform: translateY(-10px);
			transform: translateY(-10px);
		}
		100% {
			-webkit-transform: translateY(0);
			transform: translateY(0);
		}
	}


	.wrapper.svelte-10ysxtf {
		width: var(--size);
		height: calc(var(--size) / 2);
		overflow: hidden;
	}
	.rainbow.svelte-10ysxtf {
		width: var(--size);
		height: var(--size);
		border-left-color: transparent;
		border-bottom-color: transparent;
		border-top-color: var(--color);
		border-right-color: var(--color);
		box-sizing: border-box;
		transform: rotate(-200deg);
		border-radius: 50%;
		border-style: solid;
		animation: var(--duration) ease-in-out 0s infinite normal none running svelte-10ysxtf-rotate;
	}
	.pause-animation.svelte-10ysxtf {
		animation-play-state: paused;
	}
	@keyframes svelte-10ysxtf-rotate {
		0% {
			border-width: 10px;
		}
		25% {
			border-width: 3px;
		}
		50% {
			transform: rotate(115deg);
			border-width: 10px;
		}
		75% {
			border-width: 3px;
		}
		100% {
			border-width: 10px;
		}
	}


	.wrapper.svelte-1uk4jqe {
		width: calc(var(--size) * 1.3);
		height: calc(var(--size) * 1.3);
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.firework.svelte-1uk4jqe {
		border: calc(var(--size) / 10) dotted var(--color);
		width: var(--size);
		height: var(--size);
		border-radius: 50%;
		animation: svelte-1uk4jqe-fire var(--duration) cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
	}
	.pause-animation.svelte-1uk4jqe {
		animation-play-state: paused;
	}

	@keyframes svelte-1uk4jqe-fire {
		0% {
			opacity: 1;
			transform: scale(0.1);
		}
		25% {
			opacity: 0.85;
		}
		100% {
			transform: scale(1);
			opacity: 0;
		}
	}


	.wrapper.svelte-1yesw5o {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: var(--size);
		height: calc(var(--size) / 2.5);
	}
	.cube.svelte-1yesw5o {
		position: absolute;
		top: 0px;
		width: calc(var(--size) / 5);
		height: calc(var(--size) / 2.5);
		background-color: var(--color);
		animation: svelte-1yesw5o-motion var(--duration) cubic-bezier(0.895, 0.03, 0.685, 0.22) infinite;
	}
	.pause-animation.svelte-1yesw5o {
		animation-play-state: paused;
	}
	@keyframes svelte-1yesw5o-motion {
		0% {
			opacity: 1;
		}
		50% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}


	.wrapper.svelte-pnnsu3 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: var(--size);
		height: var(--size);
	}
	.ring.svelte-pnnsu3 {
		position: absolute;
		border: 2px solid var(--color);
		border-radius: 50%;
		background-color: transparent;
		animation: svelte-pnnsu3-motion var(--duration) ease infinite;
	}
	.pause-animation.svelte-pnnsu3 {
		animation-play-state: paused;
	}
	@keyframes svelte-pnnsu3-motion {
		0% {
			transform: translateY(var(--motionOne));
		}
		50% {
			transform: translateY(var(--motionTwo));
		}
		100% {
			transform: translateY(var(--motionThree));
		}
	}


	.wrapper.svelte-1luu01o {
		height: var(--size);
		width: var(--size);
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.spinner.svelte-1luu01o {
		height: var(--size);
		width: var(--size);
		animation: svelte-1luu01o-rotate var(--duration) infinite linear;
	}
	.dot.svelte-1luu01o {
		width: 60%;
		height: 60%;
		display: inline-block;
		position: absolute;
		top: 0;
		background-color: var(--color);
		border-radius: 100%;
		animation: svelte-1luu01o-bounce var(--duration) infinite ease-in-out;
	}
	.pause-animation.svelte-1luu01o {
		animation-play-state: paused;
	}

	@keyframes svelte-1luu01o-rotate {
		100% {
			transform: rotate(360deg);
		}
	}
	@keyframes svelte-1luu01o-bounce {
		0%,
		100% {
			transform: scale(0);
		}
		50% {
			transform: scale(1);
		}
	}


	.square.svelte-11g0eio {
		height: var(--size);
		width: var(--size);
		background-color: var(--color);
		animation: svelte-11g0eio-squareDelay var(--duration) 0s infinite cubic-bezier(0.09, 0.57, 0.49, 0.9);
		animation-fill-mode: both;
		perspective: 100px;
		display: inline-block;
	}
	.pause-animation.svelte-11g0eio {
		animation-play-state: paused;
	}
	@keyframes svelte-11g0eio-squareDelay {
		25% {
			-webkit-transform: rotateX(180deg) rotateY(0);
			transform: rotateX(180deg) rotateY(0);
		}
		50% {
			-webkit-transform: rotateX(180deg) rotateY(180deg);
			transform: rotateX(180deg) rotateY(180deg);
		}
		75% {
			-webkit-transform: rotateX(0) rotateY(180deg);
			transform: rotateX(0) rotateY(180deg);
		}
		100% {
			-webkit-transform: rotateX(0) rotateY(0);
			transform: rotateX(0) rotateY(0);
		}
	}


	.wrapper.svelte-og5eod {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: var(--size);
		height: var(--size);
	}
	.shadow.svelte-og5eod {
		color: var(--color);
		font-size: var(--size);
		overflow: hidden;
		width: var(--size);
		height: var(--size);
		border-radius: 50%;
		margin: 28px auto;
		position: relative;
		transform: translateZ(0);
		animation: svelte-og5eod-load var(--duration) infinite ease, svelte-og5eod-round var(--duration) infinite ease;
	}
	.pause-animation.svelte-og5eod {
		animation-play-state: paused;
	}
	@keyframes svelte-og5eod-load {
		0% {
			box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,
				0 -0.83em 0 -0.477em;
		}
		5%,
		95% {
			box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,
				0 -0.83em 0 -0.477em;
		}
		10%,
		59% {
			box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em,
				-0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
		}
		20% {
			box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em,
				-0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
		}
		38% {
			box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em,
				-0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
		}
		100% {
			box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,
				0 -0.83em 0 -0.477em;
		}
	}
	@keyframes svelte-og5eod-round {
		0% {
			transform: rotate(0deg);
		}
		100% {
			transform: rotate(360deg);
		}
	}


	.wrapper.svelte-15q7j0m {
		height: var(--size);
		width: var(--size);
		border-radius: 100%;
		animation: svelte-15q7j0m-moonStretchDelay var(--duration) 0s infinite linear;
		animation-fill-mode: forwards;
		position: relative;
	}
	.circle-one.svelte-15q7j0m {
		top: var(--moonSize);
		background-color: var(--color);
		width: calc(var(--size) / 7);
		height: calc(var(--size) / 7);
		border-radius: 100%;
		animation: svelte-15q7j0m-moonStretchDelay var(--duration) 0s infinite linear;
		animation-fill-mode: forwards;
		opacity: 0.8;
		position: absolute;
	}
	.circle-two.svelte-15q7j0m {
		opacity: 0.1;
		border: calc(var(--size) / 7) solid var(--color);
		height: var(--size);
		width: var(--size);
		border-radius: 100%;
		box-sizing: border-box;
	}
	.pause-animation.svelte-15q7j0m {
		animation-play-state: paused;
	}
	@keyframes svelte-15q7j0m-moonStretchDelay {
		100% {
			transform: rotate(360deg);
		}
	}


	.wrapper.svelte-1gr3osz {
		height: var(--size);
		width: var(--size);
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.wrapper.svelte-1gr3osz :where(.svelte-1gr3osz) {
		line-height: 0;
		box-sizing: border-box;
	}
	.spinner-inner.svelte-1gr3osz {
		height: var(--size);
		width: var(--size);
		transform: scale(calc(var(--size) / 70));
	}

	.mask.svelte-1gr3osz {
		position: absolute;
		border-radius: 2px;
		overflow: hidden;
		perspective: 1000;
		backface-visibility: hidden;
	}

	.plane.svelte-1gr3osz {
		background: var(--color);
		width: 400%;
		height: 100%;
		position: absolute;
		z-index: 100;
		perspective: 1000;
		backface-visibility: hidden;
	}

	#top.svelte-1gr3osz .plane:where(.svelte-1gr3osz) {
		z-index: 2000;
		animation: svelte-1gr3osz-trans1 var(--duration) ease-in infinite 0s backwards;
	}
	#middle.svelte-1gr3osz .plane:where(.svelte-1gr3osz) {
		transform: translate3d(0px, 0, 0);
		background: var(--rgba);
		animation: svelte-1gr3osz-trans2 var(--duration) linear infinite calc(var(--duration) / 4) backwards;
	}
	#bottom.svelte-1gr3osz .plane:where(.svelte-1gr3osz) {
		z-index: 2000;
		animation: svelte-1gr3osz-trans3 var(--duration) ease-out infinite calc(var(--duration) / 2) backwards;
	}
	#top.svelte-1gr3osz {
		width: 53px;
		height: 20px;
		left: 20px;
		top: 5px;
		transform: skew(-15deg, 0);
		z-index: 100;
	}
	#middle.svelte-1gr3osz {
		width: 33px;
		height: 20px;
		left: 20px;
		top: 21px;
		transform: skew(-15deg, 40deg);
	}
	#bottom.svelte-1gr3osz {
		width: 53px;
		height: 20px;
		top: 35px;
		transform: skew(-15deg, 0);
	}

	.pause-animation.svelte-1gr3osz .plane:where(.svelte-1gr3osz) {
		animation-play-state: paused;
	}

	@keyframes svelte-1gr3osz-trans1 {
		from {
			transform: translate3d(53px, 0, 0);
		}
		to {
			transform: translate3d(-250px, 0, 0);
		}
	}
	@keyframes svelte-1gr3osz-trans2 {
		from {
			transform: translate3d(-160px, 0, 0);
		}
		to {
			transform: translate3d(53px, 0, 0);
		}
	}
	@keyframes svelte-1gr3osz-trans3 {
		from {
			transform: translate3d(53px, 0, 0);
		}
		to {
			transform: translate3d(-220px, 0, 0);
		}
	}


	span.svelte-1wtjgh6 {
		width: var(--size);
		height: calc(var(--size) / 4);
		position: relative;
		display: block;
	}
	div.svelte-1wtjgh6 {
		width: calc(var(--size) / 4);
		height: calc(var(--size) / 4);
		position: absolute;
		left: 0%;
		top: 0;
		border-radius: 2px;
		background: var(--color);
		transform: translateX(-50%) rotate(45deg) scale(0);
		animation: svelte-1wtjgh6-diamonds var(--duration) linear infinite;
	}
	div.svelte-1wtjgh6:nth-child(1) {
		animation-delay: calc(var(--duration) * 2 / 3 * -1);
	}
	div.svelte-1wtjgh6:nth-child(2) {
		animation-delay: calc(var(--duration) * 2 / 3 * -2);
	}
	div.svelte-1wtjgh6:nth-child(3) {
		animation-delay: calc(var(--duration) * 2 / 3 * -3);
	}
	.pause-animation.svelte-1wtjgh6 div:where(.svelte-1wtjgh6) {
		animation-play-state: paused;
	}

	@keyframes svelte-1wtjgh6-diamonds {
		50% {
			left: 50%;
			transform: translateX(-50%) rotate(45deg) scale(1);
		}
		100% {
			left: 100%;
			transform: translateX(-50%) rotate(45deg) scale(0);
		}
	}


	div.svelte-1s9xlzj {
		position: relative;
		width: var(--size);
		height: var(--size);
		background-color: transparent;
		box-shadow: inset 0px 0px 0px 2px var(--color);
		border-radius: 50%;
	}
	div.svelte-1s9xlzj::before,
	div.svelte-1s9xlzj::after {
		position: absolute;
		content: '';
		background-color: var(--color);
	}
	div.svelte-1s9xlzj::after {
		width: calc(var(--size) / 2.4);
		height: 2px;
		top: calc(var(--size) / 2);
		left: calc(var(--size) / 2);
		transform-origin: 1px 1px;
		animation: svelte-1s9xlzj-rotate calc(var(--duration) / 4) linear infinite;
	}
	div.svelte-1s9xlzj::before {
		width: calc(var(--size) / 3);
		height: 2px;
		top: calc((var(--size) / 2));
		left: calc((var(--size) / 2));
		transform-origin: 1px 1px;
		animation: svelte-1s9xlzj-rotate var(--duration) linear infinite;
	}
	.pause-animation.svelte-1s9xlzj,
	.pause-animation.svelte-1s9xlzj::before,
	.pause-animation.svelte-1s9xlzj::after {
		animation-play-state: paused;
	}
	@keyframes svelte-1s9xlzj-rotate {
		100% {
			transform: rotate(360deg);
		}
	}


	.wrapper.svelte-1rumbqe {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc(var(--size) * 2.5);
		height: var(--size);
		overflow: hidden;
	}
	.bar.svelte-1rumbqe {
		position: absolute;
		top: calc(var(--size) / 10);
		width: calc(var(--size) / 5);
		height: calc(var(--size) / 10);
		margin-top: calc(var(--size) - var(--size) / 10);
		transform: skewY(0deg);
		background-color: var(--color);
		animation: svelte-1rumbqe-motion var(--duration) ease-in-out infinite;
	}
	.pause-animation.svelte-1rumbqe {
		animation-play-state: paused;
	}
	@keyframes svelte-1rumbqe-motion {
		25% {
			transform: skewY(25deg);
		}
		50% {
			height: 100%;
			margin-top: 0;
		}
		75% {
			transform: skewY(-25deg);
		}
	}


	.wrapper.svelte-14u7y84 {
		display: inherit;
		position: relative;
		width: var(--size);
		height: var(--size);
	}
	.circle.svelte-14u7y84 {
		position: absolute;
		width: var(--size);
		height: var(--size);
		border: thick solid var(--rgba);
		border-radius: 50%;
		opacity: 1;
		top: 0px;
		left: 0px;
		animation-fill-mode: both;
		animation-iteration-count: infinite;
		animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1), cubic-bezier(0.3, 0.61, 0.355, 1);
		animation-direction: normal, normal;
		animation-fill-mode: none, none;
		animation-play-state: running, running;
		animation-name: svelte-14u7y84-puff-1, svelte-14u7y84-puff-2;
		box-sizing: border-box;
	}
	.pause-animation.svelte-14u7y84 {
		animation-play-state: paused;
	}
	@keyframes svelte-14u7y84-puff-1 {
		0% {
			transform: scale(0);
		}
		100% {
			transform: scale(1);
		}
	}
	@keyframes svelte-14u7y84-puff-2 {
		0% {
			opacity: 1;
		}
		100% {
			opacity: 0;
		}
	}


	.wrapper.svelte-jnrlfo {
		width: var(--size);
		height: calc(var(--size) * 1.5);
		margin-left: var(--size);
		background: var(--color);
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		animation: svelte-jnrlfo-bump var(--duration) ease-in infinite alternate;
	}
	.wrapper.svelte-jnrlfo::after {
		content: '';
		box-sizing: border-box;
		left: 50%;
		top: 100%;
		transform: translate(-50%, 0);
		position: absolute;
		border: var(--size) solid transparent;
		border-top-color: var(--color);
	}

	.pause-animation.svelte-jnrlfo {
		animation-play-state: paused;
	}
	@keyframes svelte-jnrlfo-bump {
		0% {
			transform: translate(-50%, 5px);
		}
		100% {
			transform: translate(-50%, -5px);
		}
	}


	.wrapper.svelte-10o3xbl {
		width: var(--size);
		height: calc(var(--size) * 1.5);
		margin-left: var(--size);
		margin-top: var(--size);
		background: var(--color);
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		animation: svelte-10o3xbl-bump var(--duration) ease-in infinite alternate;
	}
	.wrapper.svelte-10o3xbl::after {
		content: '';
		box-sizing: border-box;
		left: 50%;
		bottom: 100%;
		transform: translate(-50%, 0);
		position: absolute;
		border: var(--size) solid transparent;
		border-bottom-color: var(--color);
	}

	.pause-animation.svelte-10o3xbl {
		animation-play-state: paused;
	}
	@keyframes svelte-10o3xbl-bump {
		0% {
			transform: translate(-50%, 5px);
		}
		100% {
			transform: translate(-50%, -5px);
		}
	}


    :root {
        ---text-primary: #212529;
        ---text-secondary: #495057;
        ---text-muted: #6c757d;
        ---bg-surface: #fff;
        ---border-subtle: #f0f0f0;
        ---radius-modal: 16px;
        ---fs-title: 1rem;
        ---fs-body: 0.9rem;
        ---fs-label: 0.85rem;
        ---fs-hint: 0.8rem;
        ---fw-title: 700;
        ---fw-section: 600;
        ---fw-label: 500;
    }

    .layout.svelte-1n46o8q {
        position: relative;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
        background: #f8f9fa;
    }

    .canvas-layer.svelte-1n46o8q {
        position: absolute;
        inset: 0;
    }

    .canvas-layer #chart {
        min-height: 100vh;
        min-height: 100dvh;
        padding: 0 !important;
        user-select: none;
        -webkit-user-select: none;
        -webkit-user-drag: none;
    }

    .edit-mode .canvas-layer #chart {
        touch-action: none;
    }

    .canvas-layer #chart text {
        user-select: none;
        -webkit-user-select: none;
        -webkit-user-drag: none;
    }

    .loading.svelte-1n46o8q {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        pointer-events: none;
        z-index: 200;
    }

    .error-bar.svelte-1n46o8q {
        position: absolute;
        top: 72px;
        left: 50%;
        transform: translateX(-50%);
        width: min(480px, calc(100vw - 32px));
        z-index: 300;
        pointer-events: auto;
    }

    .authenticate-bg.svelte-1n46o8q {
        background-image: url("/assets/bg.webp");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .authenticate-holder.svelte-1n46o8q {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
    }

    .boot-loading.svelte-1n46o8q {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: #f8f9fa;
    }


