.drf2-dialog { position: fixed; inset: 0; margin: auto; box-sizing: border-box; width: min(760px, calc(100% - 32px)); height: fit-content; max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; border: 1px solid #414745; border-radius: 6px; padding: 24px; background: #191b1d; color: #eee; font: inherit; color-scheme: dark; box-shadow: 0 16px 64px #0008; }
.drf2-dialog::backdrop { background: rgba(0,0,0,.65); }
.drf2-form > label { display: block; margin: 12px 0; }
.drf2-form > label > input:not([type=file]), .drf2-form > label > textarea { box-sizing: border-box; width: 100%; padding: 8px; background: #25282b; color: #eee; border: 1px solid #73787c; }
.drf2-form input[type=file] { display: block; max-width: 100%; }
.drf2-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.drf2-actions button,.drf2-add button,.drf2-profile button { padding: 8px 14px; border: 1px solid #558e73; background: #176744; color: #fff; border-radius: 4px; cursor: pointer; }
.drf2-rating { display: flex; align-items: center; gap: 10px; margin: 8px 0; font-size: 13px; }
.drf2-rating button { width: 32px; height: 32px; padding: 0; margin-inline-start: 6px; border: 1px solid #777; background: transparent; color: inherit; cursor: pointer; }
.drf2-rating button[aria-pressed=true] { background: #176744; color: #fff; }
.drf2-rating { gap: 8px; flex-wrap: wrap; color: #98a4b5; }
.drf2-rating .drf2-like, .drf2-rating .drf2-share { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: auto; min-width: 36px; height: 36px; margin: 0; padding: 4px 6px; border: 0; border-radius: 4px; background: transparent; color: #98a4b5; box-shadow: none; font-size: 14px; line-height: 1; }
.drf2-rating i { font-size: 20px; }
.drf2-rating .drf2-like[aria-pressed=true] { color: #e9778e; background: transparent; }
.drf2-rating button:hover:not(:disabled) { color: #d6dde7; background: #98a4b514; }
.drf2-rating .drf2-like[aria-pressed=true]:hover { color: #e9778e; }
.drf2-rating button:focus-visible { outline: 2px solid #98a4b5; outline-offset: 2px; }
.drf2-rating button:disabled { cursor: default; opacity: .7; }
.drf2-action-status { font-size: 12px; line-height: 1.4; }
.drf2-profile-item { padding: 14px 0; border-bottom: 1px solid #777; overflow-wrap: anywhere; }
.drf2-error { color: #ff8d8d; }
.drf2-add[hidden],.drf2-rating[hidden] { display: none; }
.drf2-pending[hidden] { display: none; }
.drf2-pending-item { padding: 16px 0; border-bottom: 1px solid #46514c; overflow-wrap: anywhere; }
.drf2-pending-item h4 { margin: 8px 0; font-size: 16px; line-height: 1.5; color: inherit; }
.drf2-pending-item p { margin: 8px 0; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.drf2-pending-status { display: inline-block; font-size: 12px; line-height: 1.5; color: #edc77d; }
.drf2-pending-item button { background: transparent; border: 1px solid #59665f; color: inherit; padding: 8px 12px; border-radius: 4px; cursor: pointer; }
.drf2-submit-success { margin: 16px 0; padding: 12px 16px; border-left: 3px solid #56a878; background: #1b352640; color: #b6e3c7; line-height: 1.5; }
.drf2-add { width: 100%; margin: 16px 0; }
.drf2-add > button { display: flex; justify-content: center; align-items: center; gap: 10px; box-sizing: border-box; width: 100%; min-height: 52px; margin: 0; padding: 12px 20px; background: transparent; border: 1px dashed #535c58; color: #d5ddd8; font: inherit; font-weight: 600; line-height: 1.4; white-space: normal; box-shadow: none; }
.drf2-add > button::before { content: '+'; font-size: 24px; font-weight: 400; line-height: 1; }
.drf2-add > button:hover { border-color: #5aab81; background: #1b352640; color: #fff; }
.drf2-form { margin: 0; min-width: 0; }
.drf2-form > h3 { margin: 0 0 20px; padding: 0 0 16px; border-bottom: 1px solid #343b38; font-size: 20px; line-height: 1.4; color: #f3f5f4; }
.drf2-form > label { margin: 16px 0; font-size: 14px; line-height: 1.5; font-weight: 600; }
.drf2-form > label > input:not([type=file]), .drf2-form > label > textarea { display: block; height: auto; min-height: 44px; margin: 6px 0 0; padding: 10px 12px; border-color: #49514d; border-radius: 4px; font: inherit; box-shadow: none; }
.drf2-form .tox-tinymce { width: 100% !important; margin-top: 6px; border: 1px solid #49514d; border-radius: 4px; }
.drf2-form .tox .tox-editor-header, .drf2-form .tox .tox-toolbar, .drf2-form .tox .tox-toolbar__primary, .drf2-form .tox .tox-toolbar__overflow, .drf2-form .tox .tox-statusbar { background: #303735; color: #e3e9e5; box-shadow: none; }
.drf2-form .tox .tox-tbtn { background: transparent; color: #e3e9e5; }
.drf2-form .tox .tox-tbtn svg { fill: currentColor; }
.drf2-form .tox .tox-tbtn:hover, .drf2-form .tox .tox-tbtn--enabled { background: #4b5d52; }
.drf2-form .tox .tox-statusbar a, .drf2-form .tox .tox-statusbar__path-item, .drf2-form .tox .tox-statusbar__wordcount { color: #c5cec8; }
.drf2-form input[type=file] { box-sizing: border-box; width: 100%; height: auto; margin: 6px 0 0; padding: 10px; border: 1px dashed #49514d; border-radius: 4px; background: #202423; color: #d5ddd8; font: inherit; }
.drf2-form input[type=file]::file-selector-button { margin-right: 12px; padding: 8px 12px; border: 1px solid #58665e; border-radius: 4px; background: #303a34; color: #f3f5f4; cursor: pointer; font: inherit; }
.drf2-form .drf2-actions { justify-content: flex-end; margin-top: 20px; padding-top: 16px; border-top: 1px solid #343b38; }
.drf2-actions button { min-height: 44px; margin: 0; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; white-space: normal; box-shadow: none; }
.drf2-actions button[data-close] { background: transparent; border-color: #535c58; color: #d5ddd8; }
.drf2-actions button:hover { filter: brightness(1.15); }
.drf2-actions button:disabled { opacity: .55; cursor: wait; }
.drf2-form :is(input,textarea,button):focus-visible, .drf2-add > button:focus-visible { outline: 2px solid #7dcc9f; outline-offset: 3px; }
.drf2-form .drf2-error:empty { display: none; }
.drf2-form .drf2-error { margin: 12px 0; font-size: 14px; overflow-wrap: anywhere; }
html.drf2-modal-open { overflow: hidden; }
@media (max-width: 600px) {
    .drf2-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); padding: 16px; }
    .drf2-form .drf2-actions { gap: 8px; }
    .drf2-actions button { flex: 1 1 100%; }
    .drf2-form > label > input:not([type=file]), .drf2-form > label > textarea { font-size: 16px; }
}

.drf2-release-actions { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px 12px; margin-top: 8px; text-align: left; }
.drf2-release-actions > .drf2-rating { margin: 0; }
.drf2-release-actions > .dynamic-release-author { min-width: 0; margin: 0; font-size: 12px; overflow-wrap: anywhere; }
.drf2-release-actions:empty { display: none; }
