:root {
  --dwb-primary: #3157e0;
  --dwb-primary-strong: #2446bd;
  --dwb-primary-soft: #eef2ff;
  --dwb-teal: #159e9c;
  --dwb-ink: #101828;
  --dwb-muted: #667085;
  --dwb-canvas: #f6f8fb;
  --dwb-surface: #fff;
  --dwb-surface-muted: #f9fafb;
  --dwb-border: #e4e7ec;
  --dwb-border-strong: #d0d5dd;
  --dwb-success: #14804a;
  --dwb-warning: #b54708;
  --dwb-danger: #b42318;
  --dwb-radius-sm: 8px;
  --dwb-radius-md: 12px;
}

:is(html[data-theme="forgejo-light"], html[data-theme="forgejo-auto"]) {
  --color-primary: var(--dwb-primary);
  --color-primary-dark-1: var(--dwb-primary-strong);
  --color-primary-dark-2: var(--dwb-primary-strong);
  --color-primary-hover: var(--dwb-primary-strong);
  --color-body: var(--dwb-canvas);
  --color-box-body: var(--dwb-surface);
  --color-box-header: var(--dwb-surface-muted);
  --color-menu: var(--dwb-surface);
  --color-light-border: var(--dwb-border);
  --fancy-card-border: var(--dwb-border);
  --dwb-panel-bg: var(--dwb-surface);
  --dwb-panel-border: var(--dwb-border);
}

html[data-theme="forgejo-dark"] {
  --dwb-primary-soft: #1e2c5f;
  --dwb-panel-bg: var(--color-menu);
  --dwb-panel-border: var(--color-light-border);
  --color-primary: #748bf5;
  --color-primary-hover: #91a3ff;
}

@media (prefers-color-scheme: dark) {
  html[data-theme="forgejo-auto"] {
    --dwb-primary-soft: #1e2c5f;
    --dwb-panel-bg: var(--color-menu);
    --dwb-panel-border: var(--color-light-border);
    --color-primary: #748bf5;
    --color-primary-hover: #91a3ff;
    --color-body: var(--steel-800);
    --color-box-body: var(--steel-750);
    --color-box-header: var(--steel-700);
    --color-menu: var(--steel-700);
    --color-light-border: #ffffff28;
    --fancy-card-border: var(--steel-600);
  }
}

#navbar .navbar-left > #navbar-logo { display: none; }
#navbar .navbar-left > .dwb-launcher { order: -1; position: relative; flex: none; padding: 0; margin: 0 8px; }
.dwb-launcher > summary { display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 5px; list-style: none; border-radius: var(--dwb-radius-sm); cursor: pointer; white-space: nowrap; color: var(--color-text); }
.dwb-launcher > summary::-webkit-details-marker { display: none; }
.dwb-launcher > summary:hover, .dwb-launcher > summary:focus-visible, .dwb-launcher[open] > summary { background: var(--dwb-primary-soft); }
.dwb-launcher > summary:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 1px; }
.dwb-launcher-mark { width: 34px; height: 34px; flex: 0 0 34px; }
.dwb-brand { display: flex; align-items: baseline; gap: 5px; }
.dwb-brand strong, .dwb-brand span { font-weight: 700; }
.dwb-brand span { color: var(--color-primary); }
.dwb-chevron { width: 6px; height: 6px; margin: 0 2px 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.dwb-launcher[open] .dwb-chevron { transform: rotate(225deg); margin-top: 5px; }
.dwb-launcher-panel { position: absolute; top: calc(100% + 5px); left: 0; z-index: 1001; width: 320px; max-width: calc(100vw - 16px); padding: 6px; background: var(--dwb-panel-bg, var(--color-menu)); color: var(--color-text); border: 1px solid var(--dwb-panel-border, var(--color-light-border)); border-radius: var(--dwb-radius-md); box-shadow: 0 16px 40px #10182824; }
.dwb-launcher-panel > p { margin: 5px 9px 9px; color: var(--color-text-light); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.dwb-launcher-item { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 49px; padding: 6px 9px; border-radius: var(--dwb-radius-sm); color: var(--color-text); text-decoration: none; }
.dwb-launcher-item:hover, .dwb-launcher-item:focus-visible { color: var(--color-text); background: var(--color-hover); text-decoration: none; }
.dwb-launcher-item.is-active { background: var(--dwb-primary-soft); }
.dwb-launcher-item.is-active strong { color: var(--color-primary); }
.dwb-launcher-item img { width: 32px; height: 32px; }
.dwb-launcher-item strong, .dwb-launcher-item small { display: block; }
.dwb-launcher-item small { color: var(--color-text-light); font-size: 12px; }
.dwb-launcher-item em { padding: 2px 6px; border-radius: 999px; background: var(--color-primary); color: var(--color-primary-contrast); font-size: 11px; font-style: normal; }
.dwb-launcher-panel hr { border: 0; border-top: 1px solid var(--dwb-panel-border, var(--color-light-border)); margin: 5px 9px; }

@media (max-width: 900px) { .dwb-brand strong { display: none; } }
@media (max-width: 680px) { .dwb-brand, .dwb-chevron { display: none; } }
@media (max-width: 767.98px) { #navbar .navbar-left > details.item.dwb-launcher { display: flex; } }
