.admonition {
    margin: 1.5rem 0;
    border: 1px solid #e3e8f7;
    border-left: 0.25rem solid var(--adm-color);
    border-radius: 6px;
    background-color: var(--adm-bg);
    overflow: hidden;
    display: block;
}

.admonition-title {
    padding: 0.75rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: 600;
    color: var(--adm-color);
    list-style: none;
}
.admonition-title::-webkit-details-marker { display: none; }

.admonition-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
}

.admonition[open] > .admonition-wrapper {
    grid-template-rows: 1fr;
}

.admonition-inner {
    overflow: hidden;
}

.admonition-content {
    padding: 1rem;
    border-top: 1px solid rgba(0,0,0,0.05);
    background-color: #fff;
}

.admonition-caret { transition: transform 0.2s ease; }
.admonition[open] .admonition-caret { transform: rotate(90deg); }

.admonition-theorem {
    border: 1px solid var(--adm-color) !important;
    border-left-width: 0.5rem !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.admonition-proof {
    border: 1px dashed var(--adm-color) !important;
    border-left: 3px solid var(--adm-color) !important;
    margin-top: -1rem;
    border-top: none !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.admonition-theorem .admonition-content {
    font-style: italic;
    background-color: transparent;
}

.admonition-proof .admonition-content {
    font-size: 0.95em;
    background-color: #fafafa;
}