/* Native account forms and recent-changes controls, scoped to these special pages. */
@media screen {
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount, .mw-special-Recentchanges) {
    --xw-form-error: #a52c3e;
    --xw-form-success: #28734f;
  }
  :root[data-xuewu-theme="dark"] body:is(.mw-special-Userlogin, .mw-special-CreateAccount, .mw-special-Recentchanges) {
    --xw-form-error: #f39aa7;
    --xw-form-success: #8cd4ac;
  }

  /* Codex account forms: include focused fields and the synthetic checkbox icon. */
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .mw-htmlform {
    box-sizing: border-box;
    width: 100%;
    max-width: 392px;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    background: var(--xw-surface);
    color: var(--xw-ink);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #userloginForm { max-width: 100%; min-width: 0; }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-text-input { min-width: 0; }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-text-input__input {
    box-sizing: border-box;
    background: var(--xw-code-bg);
    color: var(--xw-ink);
    border-color: var(--xw-line-strong);
    box-shadow: none;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-text-input__input:focus {
    background: var(--xw-code-bg);
    color: var(--xw-ink);
    border-color: var(--xw-accent);
    box-shadow: 0 0 0 2px var(--xw-accent-soft);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text :is(.cdx-field__help-text, .htmlform-tip) {
    color: var(--xw-muted);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount, .mw-special-Recentchanges) #mw-content-text input::placeholder {
    color: var(--xw-muted);
    opacity: 1;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-checkbox__icon {
    background-color: var(--xw-code-bg);
    border-color: var(--xw-line-strong);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-checkbox__input:checked + .cdx-checkbox__icon {
    background-color: #0c6888;
    border-color: var(--xw-accent);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-checkbox__input:focus-visible + .cdx-checkbox__icon {
    outline: 2px solid var(--xw-accent);
    outline-offset: 2px;
    box-shadow: none;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-button {
    background: var(--xw-panel);
    color: var(--xw-link);
    border-color: var(--xw-line-strong);
    box-shadow: none;
    border-radius: 4px;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-button:not(:disabled):hover {
    background: var(--xw-table-head);
    color: var(--xw-link-hover);
    border-color: var(--xw-accent);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-button--weight-primary {
    background: #0c6888;
    color: #f2fbff;
    border-color: var(--xw-accent);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-button--weight-primary:not(:disabled):hover {
    background: #167c9b;
    color: #f2fbff;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-button:focus-visible {
    outline: 2px solid var(--xw-accent);
    outline-offset: 3px;
    box-shadow: none;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-button:disabled {
    background: var(--xw-panel);
    color: var(--xw-muted);
    border-color: var(--xw-border);
    opacity: .6;
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-message {
    background: var(--xw-panel);
    color: var(--xw-ink);
    border-color: var(--xw-line-strong);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-message--error {
    color: var(--xw-form-error);
    border-color: var(--xw-form-error);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-message--success {
    color: var(--xw-form-success);
    border-color: var(--xw-form-success);
  }
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .cdx-field--status-error .cdx-text-input__input {
    border-color: var(--xw-form-error);
  }
  html:root body.mw-special-Userlogin #mw-createaccount-cta {
    max-width: none;
    margin: 20px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--xw-border);
    background: none;
    color: var(--xw-muted);
  }
  html:root body.mw-special-CreateAccount .mw-createacct-benefits-heading {
    color: var(--xw-heading);
    font-family: inherit;
    font-size: 17px;
    line-height: 1.7;
  }
  html:root body.mw-special-CreateAccount .mw-number-text {
    min-height: 0;
    padding: 12px 18px;
    border-left: 2px solid var(--xw-line-strong);
    background: var(--xw-panel);
    color: var(--xw-muted);
    font-size: 13px;
    text-align: left;
  }
  html:root body.mw-special-CreateAccount .mw-number-text strong {
    color: var(--xw-link);
    font: 28px/1.4 Consolas, "Cascadia Code", monospace;
    text-align: left;
  }

  /* Recent changes uses OOUI, including menus mounted outside the content div. */
  html:root body.mw-special-Recentchanges :is(.oo-ui-widget, .oo-ui-labelElement-label) {
    color: var(--xw-ink);
  }
  html:root body.mw-special-Recentchanges :is(.oo-ui-textInputWidget .oo-ui-inputWidget-input, .oo-ui-dropdownWidget-handle) {
    background: var(--xw-code-bg);
    color: var(--xw-ink);
    border-color: var(--xw-line-strong);
    box-shadow: none;
  }
  html:root body.mw-special-Recentchanges .oo-ui-textInputWidget .oo-ui-inputWidget-input:focus {
    border-color: var(--xw-accent);
    box-shadow: inset 0 0 0 1px var(--xw-accent);
  }
  html:root body.mw-special-Recentchanges .oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
    background: var(--xw-panel);
    color: var(--xw-link);
    border-color: var(--xw-line-strong);
    box-shadow: none;
  }
  html:root body.mw-special-Recentchanges .oo-ui-buttonElement-frameless .oo-ui-buttonElement-button {
    color: var(--xw-link);
  }
  html:root body.mw-special-Recentchanges .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: inherit; }
  html:root body.mw-special-Recentchanges .oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {
    background: var(--xw-table-head);
    color: var(--xw-link-hover);
  }
  html:root body.mw-special-Recentchanges :is(.oo-ui-optionWidget-selected, .oo-ui-toggleWidget-on) > .oo-ui-buttonElement-button {
    background: var(--xw-table-head);
    color: var(--xw-link-hover);
    border-color: var(--xw-accent);
  }
  html:root body.mw-special-Recentchanges .oo-ui-buttonElement-button:focus-visible {
    outline: 2px solid var(--xw-accent);
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--xw-accent-soft);
  }
  html:root body.mw-special-Recentchanges .oo-ui-tagMultiselectWidget {
    background: transparent;
    border-color: var(--xw-border);
  }
  html:root body.mw-special-Recentchanges .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle {
    background: var(--xw-panel);
    border-color: var(--xw-border);
  }
  html:root body.mw-special-Recentchanges .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget {
    background: var(--xw-panel);
    border-color: var(--xw-line-strong);
  }
  html:root body.mw-special-Recentchanges .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagItemWidget.oo-ui-widget-enabled {
    background: var(--xw-table-head);
    color: var(--xw-ink);
    border-color: var(--xw-line-strong);
  }
  html:root body.mw-special-Recentchanges :is(.oo-ui-menuSelectWidget, .oo-ui-popupWidget-popup) {
    background: var(--xw-surface);
    color: var(--xw-ink);
    border-color: var(--xw-border);
    box-shadow: 0 8px 28px #00000028;
  }
  html:root body.mw-special-Recentchanges :is(.mw-rcfilters-ui-filterMenuHeaderWidget-header, .mw-rcfilters-ui-filterMenuSectionOptionWidget, .mw-rcfilters-ui-menuSelectWidget-footer) {
    background: var(--xw-panel);
    border-color: var(--xw-border);
  }
  html:root body.mw-special-Recentchanges .mw-rcfilters-ui-datePopupWidget { border-color: var(--xw-border); }
  html:root body.mw-special-Recentchanges :is(.oo-ui-menuOptionWidget, .mw-rcfilters-ui-itemMenuOptionWidget) {
    color: var(--xw-ink);
    border-color: var(--xw-border);
  }
  html:root body.mw-special-Recentchanges :is(.oo-ui-optionWidget-highlighted, .oo-ui-optionWidget-selected, .mw-rcfilters-ui-itemMenuOptionWidget:hover) {
    background: var(--xw-table-head);
    color: var(--xw-link-hover);
  }
  html:root body.mw-special-Recentchanges .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) {
    background: var(--xw-panel);
  }
  html:root body.mw-special-Recentchanges :is(.mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuHeaderWidget-title) {
    color: var(--xw-heading);
  }
  html:root body.mw-special-Recentchanges :is(.mw-rcfilters-ui-itemMenuOptionWidget-label-desc, .mw-rcfilters-ui-menuSelectWidget-noresults, .mw-rcfilters-ui-valuePickerWidget-title, .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters) {
    color: var(--xw-muted);
  }
  html:root body.mw-special-Recentchanges :is(.oo-ui-checkboxInputWidget, .oo-ui-radioInputWidget) input + span {
    background-color: var(--xw-code-bg);
    border-color: var(--xw-line-strong);
  }
  html:root body.mw-special-Recentchanges :is(.oo-ui-checkboxInputWidget, .oo-ui-radioInputWidget) input:checked + span {
    background-color: #0c6888;
    border-color: var(--xw-accent);
  }
  html:root body.mw-special-Recentchanges .oo-ui-widget-disabled {
    color: var(--xw-muted);
    opacity: .65;
  }
  html:root body.mw-special-Recentchanges .mw-changeslist-legend {
    box-sizing: border-box;
    max-width: 100%;
    padding: 10px 12px;
    background: var(--xw-panel);
    color: var(--xw-ink);
    border: 1px solid var(--xw-border);
    border-radius: 5px;
  }
  html:root body.mw-special-Recentchanges .mw-changeslist-legend summary { color: var(--xw-link); }
  html:root body.mw-special-Recentchanges .mw-changeslist { overflow-wrap: anywhere; }
  html:root body.mw-special-Recentchanges .mw-plusminus-pos { color: var(--xw-form-success); }
  html:root body.mw-special-Recentchanges .mw-plusminus-neg { color: var(--xw-form-error); }
  html:root body.mw-special-Recentchanges .mw-plusminus-null { color: var(--xw-muted); }

  :root[data-xuewu-theme="dark"] body.mw-special-Recentchanges :is(.oo-ui-iconElement-icon, .oo-ui-indicatorElement-indicator, .mw-helplink-icon) {
    filter: brightness(0) invert(.8);
  }
}

@media screen and (max-width: 550px) {
  html:root body:is(.mw-special-Userlogin, .mw-special-CreateAccount) #mw-content-text .mw-htmlform { padding: 18px; }
  html:root body.mw-special-CreateAccount .mw-ui-container { gap: 24px; }
  html:root body.mw-special-Recentchanges .mw-changeslist-legend { float: none; width: auto; margin: 16px 0; }
  html:root body.mw-special-Recentchanges .mw-changeslist table.mw-enhanced-rc { margin-inline: 0; width: 100%; }
  html:root body.mw-special-Recentchanges .mw-changeslist td.mw-enhanced-rc {
    width: 1%;
    padding-right: 6px;
    font: 12px/1.85 Consolas, monospace;
  }
}
