.label-reflow-shell {
    --lr-accent: #b8461e;
}

.lr-drop-overlay {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(2px);
}

.lr-drop-overlay.is-active {
    display: flex;
}

.lr-drop-panel {
    width: min(26rem, 100%);
    padding: 2rem;
    border: 2px dashed var(--lr-accent);
    border-radius: var(--radius);
    background: var(--color-surface);
    color: var(--color-text);
    text-align: center;
    box-shadow: 0 1.2rem 3rem rgba(35, 35, 35, 0.12);
}

.lr-drop-panel strong {
    display: block;
    font-size: 1.45rem;
}

.lr-drop-panel span {
    display: block;
    margin-top: 0.4rem;
    color: var(--color-text-muted);
    font-size: 0.95rem;
}

.lr-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.52fr);
    gap: 1rem;
    align-items: start;
}

.lr-card-title {
    margin: 0 0 0.4rem;
    color: var(--color-text);
    font-size: 1.1rem;
    font-weight: 800;
}

.lr-card-copy {
    margin: 0 0 1.2rem;
    color: var(--color-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.lr-field + .lr-field {
    margin-top: 1rem;
}

.lr-field-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.lr-file-input {
    padding: 0.95rem;
}

.lr-native-select {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.lr-profile-picker {
    position: relative;
}

.lr-profile-current,
.lr-profile-option {
    display: grid;
    width: 100%;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    color: var(--color-text);
    text-align: left;
}

.lr-profile-current {
    padding: 0.75rem 0.85rem;
    cursor: pointer;
}

.lr-profile-current:hover,
.lr-profile-current[aria-expanded="true"],
.lr-profile-option:hover,
.lr-profile-option.is-selected {
    border-color: color-mix(in srgb, var(--lr-accent) 45%, var(--color-border));
    box-shadow: 0 0 0 0.1875rem color-mix(in srgb, var(--lr-accent) 10%, transparent);
}

.lr-profile-current:focus-visible,
.lr-profile-option:focus-visible {
    outline: 0.1875rem solid color-mix(in srgb, var(--lr-accent) 35%, transparent);
    outline-offset: 0.125rem;
}

.lr-profile-current-text,
.lr-profile-option-copy {
    display: grid;
    min-width: 0;
    gap: 0.18rem;
}

.lr-profile-current-text strong,
.lr-profile-option-copy strong {
    overflow-wrap: anywhere;
    font-size: 0.95rem;
    line-height: 1.25;
}

.lr-profile-current-text span,
.lr-profile-option-copy span {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.lr-profile-menu {
    position: absolute;
    z-index: 10;
    top: calc(100% + 0.35rem);
    left: 0;
    right: 0;
    display: grid;
    max-height: min(32rem, 72vh);
    gap: 0.45rem;
    overflow-y: auto;
    padding: 0.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    box-shadow: 0 1rem 2.4rem rgba(35, 35, 35, 0.12);
}

.lr-profile-menu[hidden] {
    display: none;
}

.lr-profile-option {
    padding: 0.65rem;
    cursor: pointer;
}

.lr-mini-grid {
    display: grid;
    width: 3.35rem;
    aspect-ratio: 8.5 / 11;
    gap: 0.09rem;
    padding: 0.22rem;
    border: 1px solid color-mix(in srgb, var(--lr-accent) 25%, var(--color-border));
    border-radius: 0.35rem;
    background: color-mix(in srgb, var(--lr-accent) 4%, var(--color-surface));
}

.lr-mini-grid span {
    min-width: 0;
    min-height: 0;
    border: 1px solid color-mix(in srgb, var(--lr-accent) 55%, var(--color-border));
    border-radius: 0.12rem;
    background: color-mix(in srgb, var(--lr-accent) 14%, var(--color-surface));
}

.lr-mini-grid.lr-shape--circle span {
    border-radius: 999rem;
}

.lr-mini-grid.lr-shape--rounded_rectangle span {
    border-radius: 0.22rem;
}

.lr-layout--1x3 {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
}

.lr-layout--2x1 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
}

.lr-layout--2x2 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
}

.lr-layout--2x4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
}

.lr-layout--3x4 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
}

.lr-layout--3x10 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(10, 1fr);
}

.lr-layout--4x6 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(6, 1fr);
}

.lr-layout--4x5 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(5, 1fr);
}

.lr-layout--5x6 {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(6, 1fr);
}

.lr-layout--6x8 {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(8, 1fr);
}

.lr-help {
    margin: 0.45rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.lr-selected-page-muted > div:first-child {
    opacity: 0.55;
}

.lr-advanced {
    margin-top: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--lr-accent) 3%, var(--color-surface));
}

.lr-advanced summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
}

.lr-advanced summary::-webkit-details-marker {
    display: none;
}

.lr-advanced summary::after {
    content: "+";
    color: var(--lr-accent);
    font-weight: 800;
}

.lr-advanced[open] summary::after {
    content: "-";
}

.lr-advanced summary span:first-child {
    font-weight: 800;
}

.lr-advanced summary span:last-child {
    color: var(--color-text-muted);
    font-size: 0.8rem;
}

.lr-advanced > .lr-field,
.lr-advanced > .lr-field-grid {
    margin: 0 1rem 1rem;
}

.lr-advanced > .lr-field:first-of-type {
    margin-top: 0.15rem;
}

.lr-actions {
    margin-top: 1.4rem;
}

.lr-processing {
    margin-top: 0.9rem;
    color: var(--color-text-muted);
    font-size: 0.85rem;
    text-align: center;
}

.lr-processing::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.25rem;
    margin: 0.5rem auto 0;
    border-radius: 999rem;
    background: linear-gradient(
        90deg,
        var(--color-bg) 0%,
        var(--lr-accent) 50%,
        var(--color-bg) 100%
    );
    background-size: 200% 100%;
    animation: lr-processing-sweep 1.15s linear infinite;
}

.lr-processing.is-error {
    color: var(--lr-accent);
}

.lr-processing.is-error::after {
    display: none;
}

@keyframes lr-processing-sweep {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.lr-result-list {
    display: grid;
    gap: 0.75rem;
}

.lr-result-link {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--lr-accent) 4%, var(--color-surface));
    color: var(--color-text);
    font-weight: 700;
    text-decoration: none;
}

.lr-result-link:hover {
    border-color: color-mix(in srgb, var(--lr-accent) 45%, var(--color-border));
    color: var(--lr-accent);
}

.lr-result-link span:last-child {
    color: var(--lr-accent);
}

.lr-meta-list {
    margin: 1rem 0 0;
    padding: 0;
    color: var(--color-text-muted);
    font-size: 0.86rem;
    line-height: 1.5;
    list-style: none;
}

.lr-meta-list li + li {
    margin-top: 0.35rem;
}

.lr-note {
    padding: 0.9rem 1rem;
    border: 1px solid #f3d7b7;
    border-radius: var(--radius);
    background: #fff8ef;
    color: #7a4c12;
    font-size: 0.9rem;
    line-height: 1.5;
}

@media (max-width: 860px) {
    .lr-grid,
    .lr-field-grid {
        grid-template-columns: 1fr;
    }
}
