/* ------------------------------------------------------------ */
/* Tutorial - shared variables                                    */
/* ------------------------------------------------------------ */

:root {
    --tutorial-copy-background: #f7f7f7;
    --tutorial-copy-hover-background: #ececec;
    --tutorial-copy-border: #d0d0d0;
    --tutorial-copy-color: #444444;
    --tutorial-copyable-hover-background: #f0f4f8;
    --tutorial-pulse-background: #fff3c4;
    --tutorial-toggle-color: #555555;
    --tutorial-glossary-underline: #999999;
    --tutorial-hover-transition: 150ms;
    --tutorial-pulse-duration: 1600ms;
}

/* ------------------------------------------------------------ */
/* Tutorial - code block copy buttons                             */
/* ------------------------------------------------------------ */

.tutorial-has-copy {
    position: relative;
}

.tutorial-copy-button {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    padding: 0.1rem 0.55rem;
    border: 1px solid var(--tutorial-copy-border);
    border-radius: 3px;
    font-size: 0.75rem;
    color: var(--tutorial-copy-color);
    background-color: var(--tutorial-copy-background);
    cursor: pointer;
    transition: background-color var(--tutorial-hover-transition);
}

.tutorial-copy-button:hover {
    background-color: var(--tutorial-copy-hover-background);
}

/* ------------------------------------------------------------ */
/* Tutorial - copyable table values                               */
/* ------------------------------------------------------------ */

.tutorial-copyable {
    cursor: pointer;
    transition: background-color var(--tutorial-hover-transition);
}

.tutorial-copyable:hover {
    background-color: var(--tutorial-copyable-hover-background);
}

/* ------------------------------------------------------------ */
/* Tutorial - Show/Hide toggles for secrets                       */
/* ------------------------------------------------------------ */

.tutorial-secret-toggle {
    margin-left: 0.5rem;
    padding: 0;
    border: none;
    font-size: 0.8rem;
    color: var(--tutorial-toggle-color);
    text-decoration: underline;
    background-color: transparent;
    cursor: pointer;
}

/* ------------------------------------------------------------ */
/* Tutorial - anchor pulses                                       */
/* ------------------------------------------------------------ */

.tutorial-anchor-pulse {
    animation: tutorial-anchor-pulse var(--tutorial-pulse-duration) ease-out;
}

@keyframes tutorial-anchor-pulse {
    0% {
        background-color: var(--tutorial-pulse-background);
    }
    100% {
        background-color: transparent;
    }
}

/* ------------------------------------------------------------ */
/* Tutorial - glossary terms                                      */
/* ------------------------------------------------------------ */

.tutorial-glossary-term {
    text-decoration: underline dotted var(--tutorial-glossary-underline);
    text-underline-offset: 0.2rem;
    cursor: help;
}
