.pgino-contextual-help-trigger {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    transition: background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}

.pgino-contextual-help-trigger:hover {
    background: var(--color-bg-muted);
    color: var(--color-primary);
}

.pgino-contextual-help-trigger:active {
    transform: scale(0.96);
}

.pgino-contextual-help-trigger:focus-visible,
.pgino-contextual-help-close:focus-visible {
    outline: 3px solid var(--color-primary-alpha-22);
    outline-offset: 2px;
}

.pgino-contextual-help-trigger .ti {
    font-size: 18px;
    line-height: 1;
}

.pgino-contextual-help {
    position: absolute;
    inset: 0;
    z-index: calc(var(--z-sidebar) + 10);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: var(--space-3);
    padding-bottom: max(var(--space-3), env(safe-area-inset-bottom, 0px));
    overscroll-behavior: contain;
}

.pgino-contextual-help-backdrop {
    position: absolute;
    inset: 0;
    background: var(--overlay-dark);
    animation: pgino-contextual-help-fade-in var(--duration-normal) var(--ease-standard);
}

.pgino-contextual-help-panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: min(68dvh, calc(100% - var(--space-6)));
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-xl);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-lg);
    text-align: right;
    animation: pgino-contextual-help-sheet-in var(--duration-normal) var(--ease-standard);
}

.pgino-contextual-help-header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-4);
    border-bottom: 1px solid var(--color-border-light);
    background: var(--color-bg-surface);
}

.pgino-contextual-help-header h2 {
    min-width: 0;
    margin: 0;
    color: var(--color-text-primary);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.pgino-contextual-help-close {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-bg-muted);
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}

.pgino-contextual-help-close:hover {
    background: var(--color-primary-light);
    color: var(--color-primary);
}

.pgino-contextual-help-close:active {
    transform: scale(0.96);
}

.pgino-contextual-help-close .ti {
    font-size: 20px;
    line-height: 1;
}

.pgino-contextual-help-description {
    margin: 0;
    padding: var(--space-4);
    color: var(--color-text-secondary);
    font-size: 13px;
    line-height: 1.95;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.pgino-app-shell.pgino-contextual-help-is-open .pgino-page-content {
    overflow: hidden;
}

@media (min-width: 480px) {
    .pgino-contextual-help {
        align-items: center;
        padding: var(--space-5);
    }

    .pgino-contextual-help-panel {
        width: min(100%, 360px);
        max-height: calc(100% - (var(--space-5) * 2));
    }
}

@keyframes pgino-contextual-help-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes pgino-contextual-help-sheet-in {
    from {
        opacity: 0;
        transform: translateY(var(--space-3));
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pgino-contextual-help-backdrop,
    .pgino-contextual-help-panel {
        animation: none;
    }

    .pgino-contextual-help-trigger,
    .pgino-contextual-help-close {
        transition: none;
    }
}
