.scene.svelte-1fdnxe8 {
  position: relative;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  -webkit-user-select: none;
          user-select: none;
  overflow: hidden;
  touch-action: none;
}
.scene.svelte-1fdnxe8 #canvas:where(.svelte-1fdnxe8) {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
    .sidebar-section.svelte-gkt85a {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        scroll-snap-align: start;
        scroll-margin-top: 1rem;
    }

    h1.svelte-gkt85a {
        margin: 0;
        font-size: 1.125rem;
        padding-bottom: 0.25rem;
        counter-increment: sidebar-section;

        &::before {
            content: counter(sidebar-section) ". ";
        }
    }

    h2.svelte-gkt85a {
        margin: 0;
        font-size: 0.875rem;
    }

    hr.svelte-gkt85a {
        height: 0;
        margin: 0;
        border: none;
    }

    .sidebar-option-box-grid.svelte-gkt85a {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fill, minmax(min(5.5rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.375rem;
    }

    .sidebar-entry-grid.svelte-gkt85a {
        display: grid;
        grid-template-columns: auto min-content;
        gap: 0.75rem;
    }

    .measurement-label.svelte-gkt85a {
        font-size: 0.625rem;
        font-weight: 600;
        counter-increment: measurement-label;

        &::before {
            content: counter(measurement-label, upper-alpha) " ";
            color: var(--lib-color-measurement);
        }
    }

    .readonly-entry.svelte-gkt85a {
        display: flex;
        flex-direction: column;
        gap: 0.3175rem;
        flex: 1;

        .label:where(.svelte-gkt85a) {
            font-size: 0.625rem;
            font-weight: 600;
            white-space: nowrap;
        }

        .hint:where(.svelte-gkt85a) {
            font-size: 0.5625rem;
            font-weight: 700;
            white-space: nowrap;
        }

        .value:where(.svelte-gkt85a) {
            flex: 1;
            display: flex;
            align-items: center;
            padding: 0.25rem 0.75rem;
            font-size: 0.875rem;
            font-weight: 500;
            background-color: var(--lib-control-bg-subtle);
            border-radius: var(--lib-control-border-radius-md);
        }
    }

    .description.svelte-gkt85a {
        color: var(--lib-control-text-secondary);
        font-size: 0.6875rem;
        font-weight: 500;
        line-height: 1.35;
    }

    .sidebar-section.svelte-7zg0qi {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        scroll-snap-align: start;
        scroll-margin-top: 1rem;
    }

    h1.svelte-7zg0qi {
        margin: 0;
        font-size: 1.125rem;
        padding-bottom: 0.25rem;
        counter-increment: sidebar-section;

        &::before {
            content: counter(sidebar-section) ". ";
        }
    }

    h2.svelte-7zg0qi {
        margin: 0;
        font-size: 0.875rem;
    }

    .sidebar-option-box-grid.svelte-7zg0qi {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fill, minmax(min(5.5rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.375rem;
    }

    .equipment-grid.svelte-1gt1hn0 {
        max-width: 80rem;
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.75rem;
        padding: calc(var(--focus-ring-width) + var(--focus-ring-offset)) 0;
    }

    .sidebar-section.svelte-l9y2x {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        scroll-snap-align: start;
        scroll-margin-top: 1rem;
    }

    h1.svelte-l9y2x {
        margin: 0;
        font-size: 1.125rem;
        padding-bottom: 0.25rem;
        counter-increment: sidebar-section;

        &::before {
            content: counter(sidebar-section) ". ";
        }
    }

    h2.svelte-l9y2x {
        margin: 0;
        font-size: 0.875rem;
    }

    hr.svelte-l9y2x {
        height: 0;
        margin: 0;
        border: none;
    }

    .sidebar-grid.svelte-l9y2x {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.75rem;
    }

    h2.svelte-nq7r8k {
        margin: 0;
        font-size: 0.875rem;
    }

    .equipment-setting-wrapper.svelte-nq7r8k {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        padding-bottom: 0.25rem;
    }

    .sidebar-option-box-grid.svelte-nq7r8k {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fill, minmax(min(5.5rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.375rem;
    }

    .field-label.svelte-ciud9a {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-weight: 500;

        .field-id:where(.svelte-ciud9a) {
            font-size: 0.875rem;
            white-space: nowrap;
        }

        .sublabel:where(.svelte-ciud9a) {
            font-size: 0.6875rem;
            color: var(--lib-control-text-secondary);
        }
    }

    .sidebar-section.svelte-h4dlfj {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        h1:where(.svelte-h4dlfj) {
            margin: 0;
            font-size: 1.125rem;
        }

        h2:where(.svelte-h4dlfj) {
            margin: 0;
            font-size: 0.875rem;
        }

        .description:where(.svelte-h4dlfj) {
            color: var(--lib-control-text-secondary);
            font-size: 0.6875rem;
            font-weight: 500;
            line-height: 1.35;
        }

        hr:where(.svelte-h4dlfj) {
            height: 0;
            margin: 0;
            border: none;

            &.separator {
                margin: 0.75rem 0;
                border-bottom: 1px solid var(--lib-control-border-subtle);
            }
        }
    }

    .sidebar-section.svelte-1i4pmes {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        h1:where(.svelte-1i4pmes) {
            margin: 0;
            font-size: 1.125rem;

            &.muted {
                color: var(--lib-control-text-secondary);
            }
        }

        .header-label:where(.svelte-1i4pmes) {
            font-size: 0.635rem;
            font-weight: 600;
            color: var(--lib-control-text-secondary);
        }

        .description:where(.svelte-1i4pmes) {
            color: var(--lib-control-text-secondary);
            font-size: 0.6875rem;
            font-weight: 500;
            line-height: 1.35;
        }

        hr:where(.svelte-1i4pmes) {
            height: 0;
            margin: 0;
            border: none;

            &.separator {
                margin: 0.75rem 0;
                border-bottom: 1px solid var(--lib-control-border-subtle);
            }
        }
    }

    .sidebar-section.svelte-1erzd4c {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        h1:where(.svelte-1erzd4c) {
            margin: 0;
            font-size: 1.125rem;
        }

        h2:where(.svelte-1erzd4c) {
            margin: 0;
            font-size: 0.875rem;
        }

        .description:where(.svelte-1erzd4c) {
            color: var(--lib-control-text-secondary);
            font-size: 0.6875rem;
            font-weight: 500;
            line-height: 1.35;
        }

        hr:where(.svelte-1erzd4c) {
            height: 0;
            margin: 0;
            border: none;
        }
    }

    .sidebar-section.svelte-8nuv27 {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        scroll-snap-align: start;
        scroll-margin-top: 1rem;
    }

    h1.svelte-8nuv27 {
        margin: 0;
        font-size: 1.125rem;
        padding-bottom: 0.25rem;
        counter-increment: sidebar-section;

        &::before {
            content: counter(sidebar-section) ". ";
        }
    }

    .sidebar-grid.svelte-8nuv27 {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.75rem;
    }

    .sidebar-section.svelte-7inolw {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        h1:where(.svelte-7inolw) {
            margin: 0;
            font-size: 1.125rem;
        }

        h2:where(.svelte-7inolw) {
            margin: 0;
            font-size: 0.875rem;
        }

        .description:where(.svelte-7inolw) {
            color: var(--lib-control-text-secondary);
            font-size: 0.6875rem;
            font-weight: 500;
            line-height: 1.35;
        }

        hr:where(.svelte-7inolw) {
            height: 0;
            margin: 0;
            border: none;
        }
    }

    .header-wrapper.svelte-1ujli79 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        flex-wrap: wrap;

        .search-input:where(.svelte-1ujli79) {
            position: relative;
            flex: 1;
            min-width: min(16rem, 100%);
            max-width: 32rem;

            .icon:where(.svelte-1ujli79) {
                position: absolute;
                top: 50%;
                right: 0.75rem;
                transform: translateY(-50%);
                display: flex;
                align-items: center;
                color: var(--lib-control-icon);
                pointer-events: none;
            }
        }
    }

    .content-wrapper.svelte-1ujli79 {
        --card-width: 15.625rem;
        --column-gap: 0.75rem;
        --width: calc(5 * var(--card-width) + 4 * var(--column-gap));

        width: var(--width);
        max-width: 100%;
        height: 90dvh;

        .no-search-results:where(.svelte-1ujli79) {
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 2rem 1rem;
        }

        .material-grid:where(.svelte-1ujli79) {
            display: grid;
            justify-items: center;
            justify-content: center;
            grid-template-columns: repeat(auto-fill, min(var(--card-width), 100%));
            grid-auto-rows: max-content;
            -moz-column-gap: var(--column-gap);
                 column-gap: var(--column-gap);
            row-gap: 1.5rem;
            padding: calc(var(--focus-ring-width) + var(--focus-ring-offset)) 0;
        }
    }

    .sidebar-section.svelte-bw23nm {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        scroll-snap-align: start;
        scroll-margin-top: 1rem;
    }

    h1.svelte-bw23nm {
        margin: 0;
        font-size: 1.125rem;
        padding-bottom: 0.25rem;
        counter-increment: sidebar-section;

        &::before {
            content: counter(sidebar-section) ". ";
        }
    }

    h2.svelte-bw23nm {
        margin: 0;
        font-size: 0.875rem;
    }

    hr.svelte-bw23nm {
        height: 0;
        margin: 0;
        border: none;
    }

    .sidebar-option-box-grid.svelte-bw23nm {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fill, minmax(min(5.5rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.375rem;
    }

    .sidebar-section.svelte-ai0wl4 {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        scroll-snap-align: start;
        scroll-margin-top: 1rem;
    }

    h1.svelte-ai0wl4 {
        margin: 0;
        font-size: 1.125rem;
        padding-bottom: 0.25rem;
        counter-increment: sidebar-section;

        &::before {
            content: counter(sidebar-section) ". ";
        }
    }

    .sidebar-grid.svelte-ai0wl4 {
        display: grid;
        justify-items: center;
        justify-content: center;
        grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
        grid-auto-rows: max-content;
        gap: 0.75rem;
    }

    .sidebar-section.svelte-141h8ty {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        h1:where(.svelte-141h8ty) {
            margin: 0;
            font-size: 1.125rem;
        }

        h2:where(.svelte-141h8ty) {
            margin: 0;
            font-size: 0.875rem;
        }

        .description:where(.svelte-141h8ty) {
            color: var(--lib-control-text-secondary);
            font-size: 0.6875rem;
            font-weight: 500;
            line-height: 1.35;
        }

        hr:where(.svelte-141h8ty) {
            height: 0;
            margin: 0;
            border: none;
        }

        .sidebar-option-box-grid:where(.svelte-141h8ty) {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.375rem;
        }
    }

    .sidebar-sheet.svelte-1gdcigm {
        /* The sheet owns the full viewport width; SidebarBody's two-pane slide sizes off this. */
        --sidebar-width: 100dvw;

        position: fixed;
        inset: 0;
        /* Above the grid chrome and page-owned context layer (1000), below notifications/modals. */
        z-index: 2000;
        display: flex;
        flex-direction: column;
        background: var(--color-white);
        box-shadow: var(--lib-control-shadow-standard);
        counter-reset: sidebar-section measurement-label;

        transform: translateY(calc(100% - var(--sheet-handle-height)));
        transition: transform var(--lib-motion-duration-fast) ease-in-out;

        &.open {
            transform: translateY(0);

            .chevron:where(.svelte-1gdcigm) {
                transform: rotate(180deg);
            }
        }

        .handle:where(.svelte-1gdcigm) {
            all: unset;
            flex: none;
            padding: 0.5rem;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            color: var(--lib-control-text-muted);
            cursor: pointer;
            -webkit-user-select: none;
                    user-select: none;

            .title:where(.svelte-1gdcigm) {
                font-size: 0.875rem;
                font-weight: 600;
                white-space: nowrap;
            }
        }

        .chevron:where(.svelte-1gdcigm) {
            display: flex;
            transition: transform var(--lib-motion-duration-fast) ease-in-out;
        }

        .menu:where(.svelte-1gdcigm) {
            flex: none;
        }
    }
.notifications-component.svelte-30bwvi {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 15rem;
  z-index: var(--z-index-notifications);
}
.notifications-component.svelte-30bwvi .notification-wrapper:where(.svelte-30bwvi) {
  display: content;
  overflow: hidden;
}
    .content-burger-menu.svelte-1htlsmb {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
        width: min(18.75rem, 100dvw);
        box-sizing: border-box;
        background-color: var(--lib-control-bg);

        &.fullscreen {
            width: 100%;
            height: 100%;
            padding: 1.25rem;
            overflow: auto;
        }

        .burger-menu-header:where(.svelte-1htlsmb) {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            font-weight: 700;
            margin-bottom: 1.5rem;
        }
        .item-grid:where(.svelte-1htlsmb) {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0.5rem;
            margin-top: 1.5rem;
            margin-bottom: 0.875rem;
        }

        .burger-menu-footer:where(.svelte-1htlsmb) {
            margin-top: auto;
            padding-top: 0.875rem;
            display: flex;
            flex-direction: column;
            gap: 0.25rem;

            .copyright-text:where(.svelte-1htlsmb) {
                color: var(--lib-control-text-secondary);
                font-size: 0.75rem;
                font-weight: 500;
                white-space: nowrap;
                line-height: 1.1875rem;
            }
        }
    }

    .error-message.svelte-o6g2pc {
        color: var(--lib-control-color-error);
    }

    .error-message.svelte-d66j3p {
        color: var(--lib-control-color-error);
    }

    .ar-view-content.svelte-1vvvdja {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        max-width: 23rem;
    }
    .description.svelte-1vvvdja {
        font-size: 0.875rem;
    }

    .ar-view-info.svelte-1vvvdja {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        padding: 0.5rem;
        background-color: var(--lib-control-bg-subtle);
        border: 1px solid var(--lib-control-border-subtle);
        border-radius: var(--lib-control-border-radius-sm);

        .info-title:where(.svelte-1vvvdja) {
            font-size: 1.125rem;
            font-weight: 700;
            margin: 0;
        }

        .info-hint:where(.svelte-1vvvdja) {
            font-size: 0.6875rem;
            color: var(--lib-control-text-secondary);
        }

        .qrCode:where(.svelte-1vvvdja) {
            max-width: 8.75rem;
            aspect-ratio: 1;
            align-self: center;
        }
    }
.loading-indicator.svelte-1f1ycgy {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}

hr.svelte-1f1ycgy {
  width: 100%;
  height: 0;
  margin: 0;
  border: none;
  border-bottom: 1px solid var(--lib-control-border-subtle);
}

.header-left.svelte-1f1ycgy {
  flex: 1;
}

.header-right.svelte-1f1ycgy {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: 100%;
}
.header-right.svelte-1f1ycgy .separator:where(.svelte-1f1ycgy) {
  width: 1px;
  height: 100%;
  background-color: var(--lib-control-border-subtle);
}

.footer-left.svelte-1f1ycgy {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.footer-right.svelte-1f1ycgy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.footer-right.svelte-1f1ycgy .spacer:where(.svelte-1f1ycgy) {
  width: 0.5rem;
}
.footer-right.svelte-1f1ycgy .copyright:where(.svelte-1f1ycgy) {
  color: var(--lib-control-text-secondary);
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
}

.contexts.svelte-1f1ycgy {
  position: absolute;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
}
.contexts.svelte-1f1ycgy .context-wrapper:where(.svelte-1f1ycgy) {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contexts.svelte-1f1ycgy .context-wrapper:where(.svelte-1f1ycgy) > * {
  pointer-events: auto;
}

.burger-menu-fullscreen.svelte-1f1ycgy {
  position: absolute;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* (unused) .load-configuration-modal {
  display: flex;
  flex-flow: column;
  gap: 1.5rem;
}*/
/* (unused) .load-configuration-modal .button-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}*/

.notifications.svelte-1f1ycgy {
  position: absolute;
  top: 5rem;
  right: 1rem;
  z-index: 4000;
}