
body:has(.fullscreen-toggle:checked) {
    height: 100vh;
    overflow: hidden;
}

body [role=main] .activity-wrapper-outer {

    --activity-border-color: var(--color-header-border);
    --activity-border: 1px solid var(--activity-border-color);
    --activity-border-radius: 0.5rem;
    --activity-background: var(--sd-color-card-background);
    --activity-padding-top: 0rem;
    --activity-padding-right: 0.75rem;
    --activity-padding-bottom: 0;
    --activity-padding-left: 0.75rem;

}

body [role=main] .activity-wrapper {

    padding: 0;
    border: var(--activity-border);
    border-radius: var(--activity-border-radius);
    background: var(--activity-background);
    margin-bottom: 1rem;

    transition: top .15s ease-in-out,
                left .15s ease-in-out,
                width .15s ease-in-out,
                height .15s ease-in-out;

}

body [role=main] .activity-wrapper .activity-body .admonition {
    --activity-padding-left: 0;
    margin-left: var(--activity-padding-left);
}

body [role=main] .activity-wrapper .activity-body .admonition:first-child {
    margin-top: 0;
}

body [role=main] .activity-wrapper .activity-body .admonition p:not(.admonition-title) {
    padding: 0.5em 0.75em 0rem 0.5rem;
}

body [role=main] .activity-state-switch {
    white-space: nowrap;
}

body [role=main] .activity-state-switch .form-check-input:checked {
    --activity-state-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    background-position: right center;
}

body[data-theme=dark] [role=main] .activity-state-switch .form-check-input:not(:checked):not(:focus) {
    --activity-state-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

@media (prefers-color-scheme: dark) {
    body[data-theme=auto] [role=main] .activity-state-switch .form-check-input:not(:checked):not(:focus) {
        --activity-state-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
    }
}

body [role=main] .activity-state-switch .form-check-input {

    --activity-state-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    --activity-state-border-width: 1px;
    --activity-state-border-color: #495057;

    width: 2em;
    height: 1em;
    margin-top: .25em;
    margin-right: 0.5rem;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: var(--activity-state-switch-bg);
    background-position: left center;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    border: var(--activity-state-border-width) solid var(--activity-state-border-color);
    border-radius: 2em;
    transition: background-position .15s ease-in-out;
    float: left;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    pointer-events: none;
}

body [role=main] .activity-state-switch .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

body [role=main] .activity-state-switch .form-check-input:active {
    filter: brightness(90%);
}

body [role=main] .activity-state-switch .form-check-input:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}

body [role=main] .activity-state-switch {
    cursor: pointer;
}

body [role=main] .activity-wrapper .activity-title {

    --activity-padding-top: 0.75rem;
    --activity-padding-bottom: 0.75rem;

    padding: var(--activity-padding-top)
             var(--activity-padding-right)
             var(--activity-padding-bottom)
             var(--activity-padding-left);

    margin: 0;
    border-bottom: 1px solid var(--activity-border-color);
    display: none;
    height: 0;

}

body [role=main] .activity-wrapper-outer:has(.fullscreen-toggle:checked) .activity-title {
    display: block;
    height: revert;
    text-align: center;
}



body [role=main] .activity-wrapper .activity-toolbar {

    --activity-padding-top: 0.75rem;
    --activity-padding-bottom: 0.75rem;;

    padding: var(--activity-padding-top)
             var(--activity-padding-right)
             var(--activity-padding-bottom)
             var(--activity-padding-left);

    border-bottom: 1px solid var(--activity-border-color);

    display: flex;
    flex-flow: row wrap;
    gap: 1rem;
    align-items: center;
    justify-content: center;
}

body [role=main] .activity-wrapper .activity-toolbar, body [role=main] .activity-wrapper .activity-toolbar * {
    font-size: small;
}

body [role=main] input.state-toggle {

    display: none;
    position: absolute;

}

body [role=main] .show-solutions-toggle ~ .activity-wrapper .admonition.solution,
body [role=main] .show-solutions-toggle ~ .activity-wrapper .sd-dropdown.solution {
    display: none;
    height: 0;
}

body [role=main] .show-solutions-toggle:checked ~ .activity-wrapper .admonition.solution,
body [role=main] .show-solutions-toggle:checked ~ .activity-wrapper .sd-dropdown.solution {
    display: flex!important;
    height: revert;
}

body [role=main] .activity-wrapper-outer:has(.fullscreen-toggle:checked) {

    --activity-border-radius: 0;
    --activity-border: none;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    z-index: 100;
    background: var(--color-background-primary);

}

body [role=main] .activity-wrapper-outer:has(.fullscreen-toggle:checked) .activity-wrapper {

    --activity-wrapper-outer-padding-top: 1rem;
    --activity-wrapper-outer-padding-bottom: 1rem;

    max-width: calc(46em + 15em);
    height: max-content;
    margin: auto;
    padding-top: var(--activity-wrapper-outer-padding-top)!important;
    padding-bottom: var(--activity-wrapper-outer-padding-bottom)!important;

}

body [role=main] .activity-wrapper-outer:has(.fullscreen-toggle:checked) .fullscreen-toggle:not(:checked) .activity-wrapper {
    display:  none;
}

body [role=main] .activity-wrapper .activity-toolbar .max-width-button {
    display: none;
}

body [role=main] .activity-wrapper-outer:has(.fullscreen-toggle:checked) .activity-wrapper .activity-toolbar .max-width-button {
    display: revert;
}

body [role=main] .activity-wrapper-outer:has(.max-width-toggle:checked) .activity-wrapper {
    max-width: 100vw!important;
}

body [role=main] .show-solutions-toggle:checked ~ .activity-wrapper .admonition.solution,
body [role=main] .show-notes-toggle ~ .activity-wrapper .admonition.note {
    display: none;
}

body [role=main] .show-notes-toggle:checked ~ .activity-wrapper .admonition.note {
    display: block;
}

body [role=main] .activity-wrapper .activity-body {

    --activity-padding-top: 0.75rem;

    padding: var(--activity-padding-top)
             var(--activity-padding-right)
             var(--activity-padding-bottom)
             var(--activity-padding-left);

}

body [role=main] .activity-wrapper .activity-body > ol > li > .codevis-block-wrapper,
body [role=main] .activity-wrapper .activity-body > ul > li > .codevis-block-wrapper,
body [role=main] .activity-wrapper .activity-body > ol > li > .literal-block-wrapper,
body [role=main] .activity-wrapper .activity-body > ul > li > .literal-block-wrapper,
body [role=main] .activity-wrapper .activity-body > ol > li > [class*=highlight-],
body [role=main] .activity-wrapper .activity-body > ul > li > [class*=highlight-],
body [role=main] .activity-wrapper .activity-body > ol > li > .admonition,
body [role=main] .activity-wrapper .activity-body > ul > li > .admonition {
    margin-left: -1.9rem;;
}

body [role=main] .activity-wrapper .name-and-date {

    --activity-padding-top: 1;
    --activity-padding-bottom: 1rem;

    padding: var(--activity-padding-top)
             var(--activity-padding-right)
             var(--activity-padding-bottom)
             var(--activity-padding-left);

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.5rem;

}

body [role=main] .activity-wrapper .name-and-date .name-line, body [role=main] .activity-wrapper .name-and-date .date-line {
    border-bottom: 1px solid var(--color-content-foreground);
}

body [role=main] .activity-wrapper .name-and-date .name-line {
    width: 75%;
    margin-right: 0.5rem;
}

body [role=main] .activity-wrapper .name-and-date .date-line {
    width: 25%;
}

body [role=main] .activity-wrapper .max-width {
    max-width: 100vw!important;
}

@media print {

    body [role=main] .activity-wrapper {
        font-size: 12px;
    }

    body [role=main] .activity-wrapper,
    body [role=main] .activity-wrapper div,
    body [role=main] .activity-wrapper li,
    body [role=main] .activity-wrapper .sd-dropdown,
    body [role=main] .activity-wrapper .admonition {
        break-inside: avoid;
    }

    body [role=main] .activity-wrapper .activity-title {
        break-after: avoid;
    }

    .announcement, .mobile-header, .sidebar-drawer, footer {
        display: none!important;
    }

    body [role=main] .activity-wrapper .activity-toolbar {
        display: none!important;
    }

    body [role=main] .activity-wrapper .activity-title {
        text-align: center;
    }

    body [role=main] .activity-wrapper .code-block-caption {
        border-bottom: none;
    }

    body [role=main] .activity-wrapper .highlight {
        border: none;
    }

    body [role=main] .activity-wrapper .highlight span.linenos {
        box-shadow: unset;
        border: none;
    }

    body [role=main] .activity-wrapper .activity-body .admonition {
        font-size: 10px;

    }

}
