[class^=orejime-] {
    line-height: var(--orejime-space-m);
    font-family: var(--orejime-font-family);
    font-size: inherit;
    color: inherit;
    vertical-align: baseline;
    cursor: default;
    float: none;
    text-align: left;
    border: 0;
    width: auto;
    margin: 0;
    padding: 0;
    font-weight: 400
}

.orejime-Env {
    --orejime-space-m: 1.4em;
    --orejime-shadow: .1em .2em .4em rgba(var(--orejime-color-shadow), .25), .2em .6em 1.5em rgba(var(--orejime-color-shadow), .2);
    --orejime-font-size-small: .8rem;
    --orejime-radius: calc(var(--orejime-space-m) / 4);
    --orejime-space-xs: calc(var(--orejime-space-m) / 4);
    --orejime-banner-max-width: 45ch;
    --orejime-space-l: calc(2 * var(--orejime-space-m));
    --orejime-font-family: sans-serif;
    --orejime-modal-max-width: 65ch;
    --orejime-space-s: calc(var(--orejime-space-m) / 2);
    --orejime-color-shadow: 0, 0, 0;
    --orejime-color-subdued: #666;
    --orejime-color-text: #222;
    --orejime-color-background: #fff;
    --orejime-color-backdrop: #00000080;
    --orejime-color-on-interactive: #fff;
    --orejime-color-interactive: royalblue;
    all: unset;

&
p {
    margin: 0
}

&
a {
    color: var(--orejime-color-interactive);
    cursor: pointer;
    text-decoration: underline
}

}
.orejime-Button {
    border-radius: var(--orejime-radius);
    padding: var(--orejime-space-xs) var(--orejime-space-s);
    color: var(--orejime-color-on-interactive);
    background: var(--orejime-color-interactive);
    font: inherit;
    cursor: pointer;
    border: 0;
    margin: 0
}

.orejime-Button:is([disabled],[aria-disabled=true]) {
    color: var(--orejime-color-subdued);
    cursor: not-allowed;
    background: 0 0
}

.orejime-Button:not(:is([disabled],[aria-disabled=true])):is(:hover,:focus) {
    outline: 1px solid var(--orejime-color-interactive);
    outline-offset: 1px
}

.orejime-Button:not(:is([disabled],[aria-disabled=true])):active {
    outline-width: 2px
}

.orejime-ButtonList {
    flex-wrap: wrap;
    gap: .5ch;
    display: flex
}

.orejime-Banner {
    z-index: 1000;
    padding: var(--orejime-space-m);
    pointer-events: none;
    justify-content: flex-end;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0
}

.orejime-Banner--forced {
    padding: 0
}

.orejime-Banner-body {
    box-shadow: var(--orejime-shadow);
    border-radius: var(--orejime-radius);
    padding: var(--orejime-space-m);
    max-width: var(--orejime-banner-max-width);
    background: var(--orejime-color-background);
    color: var(--orejime-color-text);
    pointer-events: auto
}

.orejime-Banner--forced .orejime-Banner-body {
    border: 0;
    border-radius: 0;
    max-width: 100%
}

.orejime-Banner-logo {
    max-width: 10ch
}

.orejime-Banner-title {
    margin-bottom: var(--orejime-space-s);
    font-size: 1em;
    font-weight: 700;
    line-height: var(--orejime-space-m)
}

.orejime-Banner-description {
    white-space: pre-line
}

.orejime-Banner-purposes {
    font-style: italic
}

.orejime-Banner-changes {
    margin-top: var(--orejime-space-s);
    font-weight: 700
}

.orejime-Banner-actions {
    margin-top: var(--orejime-space-s)
}

.orejime-Banner-actionItem {
    display: inline
}

.orejime-Banner-learnMoreButton {
    display: inline-block
}

.orejimeHtml-WithModalOpen {
    height: 100%
}

.orejimeHtml-WithModalOpen body {
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: hidden
}

.orejime-ModalOverlay, .orejime-BannerOverlay {
    z-index: 1000;
    background: var(--orejime-color-backdrop);
    position: fixed;
    inset: 0
}

.orejime-ModalOverlay {
    z-index: 1001;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex
}

.orejime-ModalWrapper {
    box-shadow: var(--orejime-shadow);
    border-radius: var(--orejime-radius);
    max-width: 100%;
    max-height: 100%;
    overflow: auto
}

.orejime-Modal {
    padding: var(--orejime-space-l);
    max-width: var(--orejime-modal-max-width);
    background: var(--orejime-color-background);
    color: var(--orejime-color-text);
    position: relative
}

.orejime-Modal-header {
    margin-bottom: calc(var(--orejime-space-m) + var(--orejime-space-s))
}

.orejime-Modal-title {
    margin: 0 0 var(--orejime-space-m) 0;
    font-size: 2em;
    font-weight: 700;
    line-height: 1;
    display: block
}

.orejime-Modal-closeButton {
    color: var(--orejime-color-subdued);
    top: var(--orejime-space-s);
    right: var(--orejime-space-s);
    padding: var(--orejime-space-s);
    cursor: pointer;
    background: 0 0;
    border: none;
    position: absolute
}

.orejime-CloseIcon {
    stroke: currentColor;
    stroke-width: 2px;
    width: 1em;
    height: 1em;
    display: block
}

.orejime-Modal-closeButton:is(:hover,:focus) .orejime-CloseIcon {
    color: var(--orejime-color-text)
}

.orejime-Modal-body {
    margin-bottom: var(--orejime-space-l)
}

.orejime-Modal-description {
    white-space: pre-line
}

.orejime-Modal-footer {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1ch;
    display: flex
}

.orejime-Modal-poweredByLink {
    font-size: var(--orejime-font-size-small);
    display: inline-block
}

.orejime-PurposeToggles {
    margin-bottom: var(--orejime-space-m)
}

.orejime-PurposeList {
    list-style: none
}

.orejime-Purpose {
    margin-top: var(--orejime-space-s);
    grid-template:"input label""empty description""empty children"/min-content auto;
    gap: 0 1ch;
    display: grid
}

.orejime-Purpose-label {
    grid-area: label
}

.orejime-Purpose-title {
    cursor: pointer;
    font-weight: 700
}

.orejime-Purpose-description {
    color: var(--orejime-color-subdued);
    white-space: pre-line;
    grid-area: description
}

.orejime-Purpose-purposes {
    font-size: var(--orejime-font-size-small);
    color: var(--orejime-color-subdued)
}

.orejime-Purpose-attribute {
    font-size: var(--orejime-font-size-small);
    color: var(--orejime-color-subdued);
    font-style: italic;

  &:before {
      content: "- "
  }

  &[title] {
      text-decoration: underline dotted
  }
}

.orejime-Purpose-input {
    width: var(--orejime-space-m);
    height: var(--orejime-space-m);
    appearance: revert;
    background: revert;
    accent-color: var(--orejime-color-interactive);
    grid-area: input;
    align-self: center
}

.orejime-Purpose-input:disabled {
    accent-color: var(--orejime-color-subdued)
}

.orejime-Purpose-children {
    grid-area: children
}

.orejime-ContextualNotice {
    border-radius: var(--orejime-radius);
    padding: var(--orejime-space-l);
    background: var(--orejime-color-background);
    color: var(--orejime-color-text)
}

.orejime-ContextualNotice-title {
    font: inherit;
    font-weight: 700
}

.orejime-ContextualNotice-button {
    margin-top: var(--orejime-space-s)
}
