@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400&family=Rajdhani:wght@600;700&display=swap');

:root {
  --bg-deep: #07080f;
  --panel: rgba(10, 12, 22, 0.92);
  --panel-solid: #0a0c16;
  --text-primary: #e8eaf0;
  --text-muted: #a8adbf;
  --neon-cyan: #00e5ff;
  --neon-magenta: #ff2da8;
  --neon-amber: #ffb020;
  --font-display: 'Rajdhani', 'Segoe UI', sans-serif;
  --font-body: 'Atkinson Hyperlegible', 'Segoe UI', sans-serif;
  --focus-ring: 2px solid var(--neon-cyan);
  --focus-offset: 3px;
}

html {
  background: var(--bg-deep);
}

body {
  min-height: 100vh;
  font-family: var(--font-body);
  color: var(--text-primary);
  background:
    radial-gradient(circle at 18% 12%, rgba(0, 229, 255, 0.12), transparent 28rem),
    radial-gradient(circle at 82% 18%, rgba(255, 45, 168, 0.12), transparent 30rem),
    linear-gradient(180deg, rgba(7, 8, 15, 0.94), var(--bg-deep));
  -webkit-font-smoothing: antialiased;
}

body,
.application,
.application--wrap,
.v-application,
.v-application--wrap,
.layout,
.page-container,
.contents,
.theme--dark.application,
.container.grey,
.container.grey.lighten-4,
.grey.lighten-4 {
  background-color: transparent !important;
  background: transparent !important;
}

/* Beat Vuetify .v-application .grey.lighten-* (#fafafa) when Wiki.js darkMode is off */
.v-application .grey.lighten-5 {
  background-color: var(--bg-deep) !important;
  background: var(--bg-deep) !important;
  border-color: transparent !important;
}

.v-application .grey.lighten-4 {
  background-color: var(--panel-solid) !important;
  background: var(--panel-solid) !important;
  border-color: rgba(0, 229, 255, 0.14) !important;
}

.v-application .grey.lighten-3 {
  background-color: var(--panel-solid) !important;
  background: var(--panel-solid) !important;
  border-color: rgba(0, 229, 255, 0.14) !important;
}

.v-application .grey.lighten-1,
.v-application .grey.lighten-1.theme--light {
  color: var(--text-muted) !important;
  background-color: rgba(168, 173, 191, 0.14) !important;
  background: rgba(168, 173, 191, 0.14) !important;
  border-color: rgba(168, 173, 191, 0.24) !important;
}

.v-application .v-card__actions.grey.lighten-4,
.v-application .v-card__actions.grey.darken-4-l5 {
  color: var(--text-muted) !important;
  background-color: rgba(0, 229, 255, 0.04) !important;
  background: rgba(0, 229, 255, 0.04) !important;
  border-color: rgba(0, 229, 255, 0.14) !important;
}

.v-application .v-card__actions .v-btn,
.v-application .v-card__actions .v-btn .v-btn__content {
  color: var(--text-muted) !important;
}

.v-application .v-card__actions .v-btn:hover,
.v-application .v-card__actions .v-btn:hover .v-btn__content {
  color: var(--neon-cyan) !important;
}

/* Beat Vuetify .theme--light.v-chip (black text/border on dark surfaces) */
.v-application .theme--light.v-chip,
.theme--light.v-chip {
  color: var(--text-muted) !important;
  background-color: rgba(0, 229, 255, 0.08) !important;
  background: rgba(0, 229, 255, 0.08) !important;
  border-color: rgba(0, 229, 255, 0.22) !important;
}

.v-application .theme--light.v-chip .v-chip__content,
.theme--light.v-chip .v-chip__content {
  color: var(--text-muted) !important;
}

/* Beat Vuetify .theme--light.v-card text (rgba(0,0,0,.6) on dark surfaces) */
.v-application .theme--light.v-card > .v-card__text,
.v-application .theme--light.v-card .v-card__text,
.v-application .theme--light.v-card .v-card__title {
  color: var(--text-primary) !important;
}

.v-application .theme--light.v-card .v-card__subtitle {
  color: var(--text-muted) !important;
}

a {
  color: var(--neon-cyan);
  text-decoration-color: rgba(0, 229, 255, 0.45);
}

a:hover,
a:focus {
  color: var(--text-primary);
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.35);
}

:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.contents,
.page-contents,
.contents-content,
.v-card,
.v-sheet,
.v-list,
.theme--dark.v-card,
.theme--dark.v-sheet,
.theme--dark.v-list {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.08) !important;
}

.contents,
.page-contents,
.contents-content {
  border-radius: 8px;
  padding: 1.75rem 2rem !important;
}

.contents .contents-content,
.page-contents .page-contents-main {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.sidebar,
.toc,
.page-tree,
.navigation,
.v-navigation-drawer,
.theme--dark.v-navigation-drawer {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  border-right: 1px solid rgba(0, 229, 255, 0.18) !important;
}

.v-navigation-drawer .v-list-item,
.v-list-item,
.v-list-item__title,
.v-list-item__subtitle,
.v-list__tile,
.v-list__tile__title {
  color: var(--text-muted) !important;
  font-family: var(--font-display);
  letter-spacing: 0.04em;
}

.v-navigation-drawer .v-list-item:hover,
.v-list-item:hover,
.v-list__tile:hover {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.08) !important;
}

/* ── Page sidebar (TOC, tags, share/print toolbar) ── */
.page-col-sd .v-card,
.page-col-sd .page-toc-card,
.page-col-sd .page-tags-card,
.page-col-sd .page-comments-card,
.page-col-sd .page-author-card,
.page-col-sd .page-shortcuts-card {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.08) !important;
}

.page-col-sd .page-shortcuts-card {
  overflow: hidden;
  padding: 0 !important;
}

.page-col-sd .v-toolbar,
.page-col-sd .v-sheet.v-toolbar,
.page-col-sd .v-toolbar.grey.lighten-3,
.page-col-sd .v-toolbar.theme--light,
.page-col-sd .grey.lighten-3.v-toolbar {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: none !important;
  box-shadow: none !important;
}

.page-col-sd .page-shortcuts-card .v-toolbar {
  border-radius: 0 !important;
}

.page-col-sd .v-toolbar .v-icon {
  color: var(--text-muted) !important;
}

.page-col-sd .v-toolbar .v-btn:hover .v-icon {
  color: var(--neon-cyan) !important;
}

/* Breadcrumb toolbar — Wiki.js nests v-toolbar as main > div > header (grey lighten-3) */
.v-main header.v-toolbar,
.v-main .v-main__wrap > header,
.v-main > div > header,
main.v-main > div > header,
.v-main header.grey.lighten-3,
.v-main header.v-toolbar.grey.lighten-3,
.v-main header.v-toolbar.theme--light,
.v-main > .v-toolbar,
.v-main > .v-toolbar.grey.lighten-3,
.v-main > .v-toolbar.theme--light,
.v-main > .grey.lighten-3.v-toolbar {
  color: var(--text-muted) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.14) !important;
  border-color: rgba(0, 229, 255, 0.14) !important;
  box-shadow: none !important;
}

.v-main header.v-toolbar .v-toolbar__content,
.v-main > div > header .v-toolbar__content {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

.v-main .breadcrumbs-nav,
.v-main .breadcrumbs-nav .v-breadcrumbs__item,
.v-main .breadcrumbs-nav .v-breadcrumbs__divider,
.v-main .breadcrumbs-nav .v-btn,
.v-main .breadcrumbs-nav .v-btn__content {
  color: var(--text-muted) !important;
  font-family: var(--font-display);
  letter-spacing: 0.04em;
}

.v-main .breadcrumbs-nav .v-btn:hover,
.v-main .breadcrumbs-nav .v-btn:hover .v-btn__content,
.v-main .breadcrumbs-nav a:hover {
  color: var(--neon-cyan) !important;
}

.v-main .breadcrumbs-nav .v-icon {
  color: var(--text-muted) !important;
}

.v-main .breadcrumbs-nav .v-icon:hover,
.v-main .breadcrumbs-nav .v-btn:hover .v-icon {
  color: var(--neon-cyan) !important;
}

.v-main > .v-divider,
.v-main > hr.v-divider {
  border-color: rgba(0, 229, 255, 0.14) !important;
}

.page-col-sd .overline.primary--text,
.page-col-sd .overline.blue--text {
  color: var(--neon-cyan) !important;
}

.page-col-sd .overline.teal--text,
.page-col-sd .overline.indigo--text {
  color: var(--neon-magenta) !important;
}

.page-col-sd .v-list,
.page-col-sd .v-list.theme--light {
  background: transparent !important;
  background-color: transparent !important;
}

.page-col-sd .v-list-item,
.page-col-sd .v-list-item__title {
  color: var(--text-muted) !important;
}

.page-col-sd .v-list-item:hover,
.page-col-sd .v-list-item:hover .v-list-item__title {
  color: var(--neon-cyan) !important;
}

.page-col-sd .v-list-item:hover {
  background: rgba(0, 229, 255, 0.08) !important;
}

.page-col-sd .v-list-item .v-icon {
  color: var(--text-muted) !important;
}

.page-col-sd .page-author-card-name,
.page-col-sd .page-author-card-date,
.page-col-sd .blue-grey--text,
.page-col-sd .grey--text {
  color: var(--text-muted) !important;
}

.page-col-sd .v-chip.teal.lighten-5,
.page-col-sd .v-chip.teal {
  background: rgba(0, 229, 255, 0.12) !important;
  background-color: rgba(0, 229, 255, 0.12) !important;
  border: 1px solid rgba(0, 229, 255, 0.22) !important;
}

.page-col-sd .v-chip .teal--text {
  color: var(--neon-cyan) !important;
}

.contents h1,
.contents h2,
.contents h3,
.contents h4,
.contents h5,
.contents h6,
.page-contents h1,
.page-contents h2,
.page-contents h3,
.page-contents h4,
.page-contents h5,
.page-contents h6,
.markdown-section h1,
.markdown-section h2,
.markdown-section h3,
.markdown-section h4,
.markdown-section h5,
.markdown-section h6,
article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.contents h1,
.page-contents h1,
.markdown-section h1,
article h1 {
  color: var(--neon-cyan);
  border-bottom: 1px solid rgba(0, 229, 255, 0.22);
  text-shadow: 0 0 16px rgba(0, 229, 255, 0.25);
}

/* Wiki.js page header uses .headline / .caption instead of h1 */
.page-header-headings .headline,
.page-header-section .headline,
.page-col-content.is-page-header .headline,
.headline.grey--text.text--darken-3,
.headline.grey--text.text--lighten-2 {
  color: var(--neon-cyan) !important;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: 0 0 16px rgba(0, 229, 255, 0.25);
}

.page-header-headings .caption,
.page-header-section .caption,
.page-col-content.is-page-header .caption,
.page-header-headings .caption.grey--text.text--darken-1,
.page-header-section .caption.grey--text.text--darken-1 {
  color: var(--text-muted) !important;
  font-family: var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}

.contents h2,
.page-contents h2,
.markdown-section h2,
article h2 {
  color: var(--neon-magenta);
  text-shadow: 0 0 14px rgba(255, 45, 168, 0.18);
}

.contents h3,
.page-contents h3,
.markdown-section h3,
article h3 {
  color: var(--neon-amber);
}

.contents p,
.contents li,
.contents td,
.contents th,
.page-contents p,
.page-contents li,
.page-contents td,
.page-contents th,
.markdown-section p,
.markdown-section li,
.markdown-section td,
.markdown-section th,
article p,
article li,
article td,
article th {
  color: var(--text-primary);
  font-family: var(--font-body);
  line-height: 1.65;
}

.caption,
.text--secondary,
.v-card__subtitle,
.v-list-item__subtitle,
.page-author,
.page-updated {
  color: var(--text-muted) !important;
}

code,
kbd,
.v-application code,
.v-application kbd {
  color: var(--neon-amber);
  background: var(--panel-solid);
  border: 1px solid rgba(168, 173, 191, 0.18);
  border-radius: 3px;
  box-shadow: none;
}

pre,
.prismjs,
.line-numbers,
.code-toolbar pre {
  color: var(--text-primary);
  background: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.16);
  border-radius: 4px;
}

pre code,
.prismjs code {
  color: inherit;
  background: transparent;
  border: 0;
}

/* Blockquotes — beat Wiki.js .v-main .contents blockquote (blue-grey-50 bg) */
.v-main .contents blockquote,
.contents blockquote,
.page-contents blockquote,
.mw-parser-output blockquote,
article blockquote,
blockquote {
  color: var(--text-primary) !important;
  background: rgba(10, 12, 22, 0.92) !important;
  background-color: rgba(10, 12, 22, 0.92) !important;
  border: 0 !important;
  border-left: 3px solid var(--neon-cyan) !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 0.85rem 1rem !important;
  margin: 1rem 0 !important;
  box-shadow: none !important;
}

.v-main .contents blockquote::before,
.contents blockquote::before,
.page-contents blockquote::before,
.mw-parser-output blockquote::before {
  display: none !important;
  content: none !important;
}

.v-main .contents blockquote p,
.contents blockquote p,
.page-contents blockquote p,
.mw-parser-output blockquote p,
blockquote p {
  color: var(--text-primary) !important;
}

.v-main .contents blockquote strong,
.contents blockquote strong,
.page-contents blockquote strong,
.mw-parser-output blockquote strong,
blockquote strong,
.v-main .contents blockquote b,
.contents blockquote b,
.page-contents blockquote b,
.mw-parser-output blockquote b,
blockquote b {
  color: var(--neon-cyan);
}

.v-main .contents blockquote.is-info,
.contents blockquote.is-info,
.page-contents blockquote.is-info,
.mw-parser-output blockquote.is-info {
  background: rgba(0, 229, 255, 0.1) !important;
  background-color: rgba(0, 229, 255, 0.1) !important;
  border-left-color: var(--neon-cyan) !important;
  color: var(--text-primary) !important;
}

.v-main .contents blockquote.is-warning,
.contents blockquote.is-warning,
.page-contents blockquote.is-warning,
.mw-parser-output blockquote.is-warning {
  background: rgba(255, 176, 32, 0.1) !important;
  background-color: rgba(255, 176, 32, 0.1) !important;
  border-left-color: var(--neon-amber) !important;
  color: var(--text-primary) !important;
}

.v-main .contents blockquote.is-danger,
.contents blockquote.is-danger,
.page-contents blockquote.is-danger,
.mw-parser-output blockquote.is-danger {
  background: rgba(255, 45, 168, 0.1) !important;
  background-color: rgba(255, 45, 168, 0.1) !important;
  border-left-color: var(--neon-magenta) !important;
  color: var(--text-primary) !important;
}

.v-main .contents blockquote.is-success,
.contents blockquote.is-success,
.page-contents blockquote.is-success,
.mw-parser-output blockquote.is-success {
  background: rgba(0, 229, 255, 0.08) !important;
  background-color: rgba(0, 229, 255, 0.08) !important;
  border-left-color: var(--neon-cyan) !important;
  color: var(--text-primary) !important;
}

table {
  color: var(--text-primary);
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.18);
  border-collapse: collapse;
}

th {
  color: var(--neon-cyan);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.14);
}

td {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(168, 173, 191, 0.16);
}

tr:nth-child(even) td {
  background: rgba(10, 12, 22, 0.55) !important;
  background-color: rgba(10, 12, 22, 0.55) !important;
}

hr {
  border: 0;
  border-top: 1px solid rgba(168, 173, 191, 0.22);
}

.v-btn,
button,
input[type='button'],
input[type='submit'] {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.v-btn.primary,
.v-btn.info,
.v-btn--depressed.primary,
.v-btn--contained.primary,
.primary {
  color: var(--bg-deep) !important;
  background: var(--neon-cyan) !important;
  border-color: var(--neon-cyan) !important;
  box-shadow: 0 0 18px rgba(0, 229, 255, 0.25) !important;
}

.v-btn.secondary,
.v-btn.accent,
.accent {
  color: var(--text-primary) !important;
  background: rgba(255, 45, 168, 0.18) !important;
  border-color: rgba(255, 45, 168, 0.45) !important;
}

.v-btn:hover,
button:hover {
  filter: brightness(1.08);
}

input,
textarea,
select,
.v-input,
.v-input__slot,
.v-text-field__slot,
.v-select__slot,
.v-textarea textarea,
.theme--dark.v-input input,
.theme--dark.v-input textarea {
  color: var(--text-primary) !important;
}

.v-input__slot,
.v-text-field--solo > .v-input__control > .v-input__slot,
.v-text-field--outlined fieldset {
  background: var(--panel-solid) !important;
  border-color: rgba(0, 229, 255, 0.18) !important;
}

.v-input--is-focused .v-input__slot,
.v-input--is-focused fieldset,
.v-text-field--focused fieldset {
  border-color: var(--neon-cyan) !important;
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.35);
}

.v-label,
.v-messages,
.v-input__icon,
.v-icon {
  color: var(--text-muted) !important;
}

.v-input--is-focused .v-label,
.v-input--is-focused .v-icon {
  color: var(--neon-cyan) !important;
}

/* Beat Vuetify .theme--light v-select closed selection text (black on dark fields) */
.v-application .theme--light.v-select .v-select__selections,
.v-application .theme--light.v-select .v-select__selections > div,
.v-application .theme--light.v-select .v-select__selection,
.v-application .theme--light.v-select .v-select__selection--comma,
.v-application .theme--light.v-autocomplete .v-select__selections,
.v-application .theme--light.v-autocomplete .v-select__selections > div,
.v-application .theme--light.v-input.primary--text .v-select__selections,
.v-application .theme--light.v-input.primary--text .v-select__selections > div,
.v-application .theme--light.v-select.primary--text .v-select__selections,
.v-application .theme--light.v-select.primary--text .v-select__selections > div {
  color: var(--text-primary) !important;
  caret-color: var(--neon-cyan) !important;
}

/* Beat Vuetify .theme--light.v-treeview (black text in folder picker / move dialog) */
.v-application .theme--light.v-treeview,
.theme--light.v-treeview {
  color: var(--text-primary) !important;
}

.v-application .theme--light.v-treeview .v-treeview-node,
.v-application .theme--light.v-treeview .v-treeview-node__root,
.v-application .theme--light.v-treeview .v-treeview-node__content,
.v-application .theme--light.v-treeview .v-treeview-node__label,
.theme--light.v-treeview .v-treeview-node,
.theme--light.v-treeview .v-treeview-node__root,
.theme--light.v-treeview .v-treeview-node__content,
.theme--light.v-treeview .v-treeview-node__label {
  color: var(--text-primary) !important;
}

.v-application .theme--light.v-treeview .v-treeview-node--active,
.v-application .theme--light.v-treeview .v-treeview-node--active .v-treeview-node__label,
.v-application .theme--light.v-treeview .v-treeview-node:hover .v-treeview-node__label,
.theme--light.v-treeview .v-treeview-node--active,
.theme--light.v-treeview .v-treeview-node--active .v-treeview-node__label,
.theme--light.v-treeview .v-treeview-node:hover .v-treeview-node__label {
  color: var(--neon-cyan) !important;
}

.v-application .theme--light.v-treeview .v-icon,
.theme--light.v-treeview .v-icon {
  color: var(--text-muted) !important;
}

.search,
.search-input,
.search-results,
.v-autocomplete,
.v-menu__content,
.v-dialog,
.v-dialog .v-card,
.v-application .v-dialog .theme--light.v-card,
.v-application .v-dialog .theme--light.v-sheet,
.v-dialog .theme--light.v-card,
.v-dialog .theme--light.v-sheet,
.v-dialog .v-card__text,
.v-application .v-dialog .theme--light.v-card .v-card__text,
.v-dialog .v-card__actions,
.v-dialog .v-window,
.v-dialog .v-window.theme--light,
.v-dialog .v-tabs-items,
.v-dialog .v-tabs-items.theme--light,
.v-dialog .v-window-item,
.v-dialog .v-window-item--active,
.v-dialog .v-window-item > div {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border-color: rgba(0, 229, 255, 0.18) !important;
}

.v-dialog .v-card,
.v-dialog .theme--light.v-card,
.v-dialog .theme--light.v-sheet {
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
}

.v-dialog .v-card__text,
.v-dialog .v-window-item > div {
  border: 0 !important;
  box-shadow: none !important;
}

.search-results-items .highlighted {
  color: var(--neon-amber) !important;
  background: rgba(255, 176, 32, 0.16) !important;
  background-color: rgba(255, 176, 32, 0.16) !important;
  background-image: none !important;
  border-radius: 2px;
  padding: 0 1px;
  box-shadow: inset 0 -1px 0 rgba(255, 176, 32, 0.45);
}

.v-menu__content,
.v-dialog {
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 0 32px rgba(0, 229, 255, 0.12) !important;
}

/* Modal underlay — Wiki.js uses .v-overlay__scrim.blue.darken-4 (#0d47a1) */
.v-overlay__scrim,
.v-application .v-overlay__scrim,
.v-application .v-overlay__scrim.blue.darken-4,
.v-application .blue.darken-4.v-overlay__scrim {
  background-color: rgba(7, 8, 15, 0.76) !important;
  background-image: none !important;
  border-color: transparent !important;
}

/* Wiki.js modal headers — beat default Material blue gradient */
.dialog-header {
  color: var(--neon-cyan) !important;
  background-color: var(--panel-solid) !important;
  background-image:
    radial-gradient(circle at 18% 0%, rgba(0, 229, 255, 0.16), transparent 14rem),
    linear-gradient(180deg, rgba(10, 12, 22, 0.98), var(--panel-solid)) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.22) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 0 18px rgba(0, 229, 255, 0.08) !important;
}

.dialog-header.is-red {
  color: var(--neon-magenta) !important;
  background-color: var(--panel-solid) !important;
  background-image:
    radial-gradient(circle at 18% 0%, rgba(255, 45, 168, 0.16), transparent 14rem),
    linear-gradient(180deg, rgba(10, 12, 22, 0.98), var(--panel-solid)) !important;
  border-bottom-color: rgba(255, 45, 168, 0.28) !important;
  box-shadow: 0 0 18px rgba(255, 45, 168, 0.1) !important;
}

.dialog-header.is-orange {
  color: var(--neon-amber) !important;
  background-color: var(--panel-solid) !important;
  background-image:
    radial-gradient(circle at 18% 0%, rgba(255, 176, 32, 0.14), transparent 14rem),
    linear-gradient(180deg, rgba(10, 12, 22, 0.98), var(--panel-solid)) !important;
  border-bottom-color: rgba(255, 176, 32, 0.28) !important;
  box-shadow: 0 0 18px rgba(255, 176, 32, 0.1) !important;
}

.dialog-header.is-teal,
.dialog-header.is-indigo {
  color: var(--neon-cyan) !important;
  background-color: var(--panel-solid) !important;
  background-image:
    radial-gradient(circle at 18% 0%, rgba(0, 229, 255, 0.16), transparent 14rem),
    linear-gradient(180deg, rgba(10, 12, 22, 0.98), var(--panel-solid)) !important;
  border-bottom-color: rgba(0, 229, 255, 0.22) !important;
}

.dialog-header.is-dark {
  color: var(--text-primary) !important;
  background-color: var(--panel-solid) !important;
  background-image: linear-gradient(180deg, rgba(10, 12, 22, 0.98), var(--bg-deep)) !important;
  border-bottom-color: rgba(168, 173, 191, 0.22) !important;
  box-shadow: none !important;
}

/* Beat Vuetify .v-application .blue.darken-* on admin dialogs / toolbars */
.v-application .blue.darken-1,
.v-application .blue.darken-1.theme--light,
.v-application .blue.darken-2,
.v-application .blue.darken-2.theme--light,
.v-application .v-toolbar.blue.darken-1,
.v-application .v-toolbar.blue.darken-2,
.v-application .v-card__actions.blue.darken-1,
.v-application .v-card__actions.blue.darken-2 {
  color: var(--text-primary) !important;
  background-color: var(--panel-solid) !important;
  background: var(--panel-solid) !important;
  border-color: rgba(0, 229, 255, 0.22) !important;
}

.v-application .blue.darken-1 .v-btn,
.v-application .blue.darken-1 .v-icon,
.v-application .blue.darken-2 .v-btn,
.v-application .blue.darken-2 .v-icon,
.v-application .v-toolbar.blue.darken-1 .v-btn,
.v-application .v-toolbar.blue.darken-1 .v-icon,
.v-application .v-toolbar.blue.darken-2 .v-btn,
.v-application .v-toolbar.blue.darken-2 .v-icon {
  color: var(--text-muted) !important;
}

.v-application .blue.darken-1 .v-btn:hover,
.v-application .blue.darken-1 .v-btn:hover .v-icon,
.v-application .blue.darken-2 .v-btn:hover,
.v-application .blue.darken-2 .v-btn:hover .v-icon,
.v-application .v-toolbar.blue.darken-1 .v-btn:hover,
.v-application .v-toolbar.blue.darken-1 .v-btn:hover .v-icon,
.v-application .v-toolbar.blue.darken-2 .v-btn:hover,
.v-application .v-toolbar.blue.darken-2 .v-btn:hover .v-icon {
  color: var(--neon-cyan) !important;
}

/* Header dropdowns (account, page actions, locale) — Wiki.js uses theme--light + grey lighten-5 */
.v-menu__content.theme--light .v-list,
.v-menu__content.theme--light .v-list.theme--light {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.v-menu__content .v-list-item.grey,
.v-menu__content .v-list-item.grey.lighten-5,
.v-menu__content .v-list-item.grey.darken-4-l5 {
  color: var(--text-primary) !important;
  background: rgba(0, 229, 255, 0.06) !important;
  background-color: rgba(0, 229, 255, 0.06) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.14) !important;
}

.v-menu__content .v-list-item.grey .v-list-item__title {
  color: var(--text-primary) !important;
  font-family: var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}

.v-menu__content .v-list-item.grey .v-list-item__subtitle {
  color: var(--text-muted) !important;
  font-family: var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}

.v-menu__content .v-list-item:not(.grey) .v-list-item__title,
.v-menu__content .v-list-item:not(.grey) .blue-grey--text {
  color: var(--text-muted) !important;
}

.v-menu__content .v-list-item:not(.grey):hover,
.v-menu__content .v-list-item:not(.grey):hover .v-list-item__title,
.v-menu__content .v-list-item:not(.grey):hover .blue-grey--text {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.08) !important;
}

.v-menu__content .v-list-item .red--text,
.v-menu__content .v-list-item:hover .red--text {
  color: var(--neon-magenta) !important;
}

.v-menu__content .overline.grey--text {
  color: var(--neon-cyan) !important;
  font-family: var(--font-display);
  letter-spacing: 0.06em;
}

.v-alert {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  border-left: 3px solid var(--neon-amber) !important;
}

.v-alert.info {
  border-left-color: var(--neon-cyan) !important;
}

.v-alert.warning,
.v-alert.error {
  border-left-color: var(--neon-magenta) !important;
}

.footer,
footer,
.page-footer,
.v-footer,
.v-footer.grey,
.v-footer.grey.lighten-3,
.v-footer.theme--light {
  color: var(--text-muted) !important;
  background: rgba(7, 8, 15, 0.88) !important;
  border-top: 1px solid rgba(0, 229, 255, 0.18) !important;
}

.v-footer a,
.v-footer .caption {
  color: var(--text-muted) !important;
}

::selection {
  color: var(--bg-deep);
  background: var(--neon-cyan);
}

/* ── Page comments / discussion ── */
.comments-container,
.page-comments {
  margin-top: 2rem;
  padding: 1.75rem 2rem !important;
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  border-radius: 8px;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.08) !important;
}

.comments-header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--neon-cyan) !important;
}

.comments-header .v-icon {
  color: var(--neon-cyan) !important;
}

.comments-container .comments-main,
.comments-main {
  background: transparent !important;
  background-color: transparent !important;
}

.comments-main,
.comments-main .caption,
.comments-main .body-2 {
  color: var(--text-muted) !important;
}

.comments-main strong {
  color: var(--text-primary) !important;
}

.comments-container .v-divider,
.comments-container hr.v-divider {
  border-color: rgba(168, 173, 191, 0.22) !important;
}

.comments-container .blue-grey--text,
.comments-container .theme--light.blue-grey--text {
  color: var(--text-muted) !important;
}

.comments-container .v-input__slot.white,
.comments-container .theme--light .v-input__slot,
.comments-container .v-text-field--solo-flat .v-input__slot {
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
}

.comments-container textarea,
.comments-container .v-textarea textarea {
  color: var(--text-primary) !important;
  caret-color: var(--neon-cyan);
}

.comments-container textarea::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.85;
}

.comments-container .v-text-field--outlined fieldset {
  border-color: rgba(0, 229, 255, 0.18) !important;
}

.comments-container .v-btn.blue-grey.darken-2,
.comments-container .v-btn.theme--dark.blue-grey {
  color: var(--bg-deep) !important;
  background: var(--neon-cyan) !important;
  background-color: var(--neon-cyan) !important;
  box-shadow: 0 0 18px rgba(0, 229, 255, 0.25) !important;
}

.comments-container .v-btn.blue-grey.darken-2 .v-icon,
.comments-container .v-btn.theme--dark.blue-grey .v-icon {
  color: var(--bg-deep) !important;
}

.comments-container .comment,
.comments-container .comment-card,
.comments-container .comments-list .v-card {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.12) !important;
  border-radius: 4px;
}

.comments-container .comment .caption,
.comments-container .comment-card .caption {
  color: var(--text-muted) !important;
}

.comments-container .comment a,
.comments-container .comment-card a {
  color: var(--neon-cyan) !important;
}

.comments-container .comment blockquote,
.comments-container .comment-card blockquote {
  color: var(--text-muted);
  background: rgba(10, 12, 22, 0.65);
  border-left-color: var(--neon-cyan);
}

/* ── Tags browse (/t/…) — from client/components/tags.vue ── */
.tags.v-application,
.tags .v-application--wrap {
  background: var(--bg-deep) !important;
  background-color: var(--bg-deep) !important;
}

.tags .v-navigation-drawer,
.tags .theme--dark.v-navigation-drawer,
.tags .theme--light.v-navigation-drawer {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-right: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.08) !important;
}

.tags .v-navigation-drawer .v-subheader {
  color: var(--neon-cyan) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.tags .v-navigation-drawer .v-list-item,
.tags .v-navigation-drawer .v-list-item__title {
  color: var(--text-muted) !important;
  font-family: var(--font-display) !important;
  letter-spacing: 0.04em !important;
}

.tags .v-navigation-drawer .v-list-item:hover,
.tags .v-navigation-drawer .v-list-item:hover .v-list-item__title {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.08) !important;
  background-color: rgba(0, 229, 255, 0.08) !important;
}

.tags .v-navigation-drawer .v-list-item .v-icon {
  color: var(--text-muted) !important;
}

.tags .v-navigation-drawer .v-list-item .v-icon.primary--text,
.tags .v-navigation-drawer .v-list-item .v-icon[class*='primary'] {
  color: var(--neon-cyan) !important;
}

.tags .v-navigation-drawer .v-divider {
  border-color: rgba(0, 229, 255, 0.14) !important;
}

.tags .v-content,
.tags .v-content.grey,
.tags .v-content.grey.lighten-3,
.tags .v-content.grey.darken-4-d5 {
  color: var(--text-primary) !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Selection toolbar (primary) */
.tags .v-toolbar.primary,
.tags .v-toolbar[class*='primary'] {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: none !important;
}

.tags .v-toolbar.primary .overline,
.tags .v-toolbar.primary .v-icon,
.tags .v-toolbar.primary .v-btn {
  color: var(--text-muted) !important;
}

.tags .v-toolbar.primary .v-chip {
  color: var(--bg-deep) !important;
  background: var(--neon-cyan) !important;
  background-color: var(--neon-cyan) !important;
  border: 1px solid rgba(0, 229, 255, 0.35) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

.tags .v-toolbar.primary .v-chip.primary--text,
.tags .v-toolbar.primary .v-chip .v-chip__content {
  color: var(--bg-deep) !important;
}

.tags .v-toolbar.primary .v-btn.outlined {
  color: var(--neon-cyan) !important;
  border-color: rgba(0, 229, 255, 0.45) !important;
}

.tags .v-toolbar.primary .v-btn.outlined:hover {
  background: rgba(0, 229, 255, 0.08) !important;
}

/* Filter toolbar (search, locale, sort) */
.tags .v-toolbar.grey,
.tags .v-toolbar.grey.lighten-4,
.tags .v-toolbar.grey.darken-4-l5 {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.14) !important;
}

.tags .v-toolbar.grey .overline {
  color: var(--text-muted) !important;
  font-family: var(--font-display) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.tags .tags-search .v-input__slot,
.tags .tags-search.v-text-field--solo > .v-input__control > .v-input__slot,
.tags .v-toolbar .v-select .v-input__slot {
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: none !important;
}

.tags .tags-search input,
.tags .v-toolbar .v-select input,
.tags .v-toolbar .v-select .v-select__selection {
  color: var(--text-primary) !important;
  caret-color: var(--neon-cyan);
}

.tags .tags-search .v-label,
.tags .v-toolbar .v-input__icon .v-icon,
.tags .v-toolbar .v-icon {
  color: var(--text-muted) !important;
}

.tags .tags-search.v-input--is-focused .v-input__slot,
.tags .v-toolbar .v-input--is-focused .v-input__slot {
  border-color: var(--neon-cyan) !important;
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.35) !important;
}

.tags .v-toolbar .v-divider--vertical {
  border-color: rgba(0, 229, 255, 0.18) !important;
}

.tags .v-btn-toggle {
  background: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
}

.tags .v-btn-toggle .v-btn {
  color: var(--text-muted) !important;
}

.tags .v-btn-toggle .v-btn--active,
.tags .v-btn-toggle .v-btn:hover {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.1) !important;
}

/* Empty / loading / no-results states */
.tags .subtitle-2,
.tags .subtitle-2.grey--text,
.tags .grey--text.text--darken-1,
.tags .grey--text {
  color: var(--text-muted) !important;
}

.tags .text-center img {
  opacity: 0.85;
  filter: brightness(1.15) saturate(0.85);
}

.tags .v-progress-circular.primary--text,
.tags .v-progress-circular[class*='primary'] {
  color: var(--neon-cyan) !important;
}

/* Result cards */
.tags .v-card,
.tags .v-card.grey,
.tags .v-card.grey.darken-4,
.tags .v-card.radius-7 {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.08) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tags .v-card:hover {
  border-color: rgba(0, 229, 255, 0.35) !important;
  box-shadow: 0 0 28px rgba(0, 229, 255, 0.14) !important;
  cursor: pointer;
}

.tags .v-card .primary--text,
.tags .v-card strong.primary--text,
.tags .v-card .body-1 strong {
  color: var(--neon-cyan) !important;
}

.tags .v-card .body-2.grey--text {
  color: var(--text-muted) !important;
}

.tags .v-card .v-divider {
  border-color: rgba(0, 229, 255, 0.14) !important;
}

.tags .v-card .v-chip,
.tags .v-card .v-chip.grey,
.tags .v-card .v-chip.grey.lighten-4,
.tags .v-card .v-chip.grey.darken-3-l5 {
  color: var(--text-muted) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.14) !important;
  font-family: var(--font-display) !important;
  letter-spacing: 0.04em !important;
}

.tags .v-card .caption {
  color: var(--text-muted) !important;
}

/* Pagination */
.tags .v-pagination .v-pagination__item,
.tags .v-pagination .v-pagination__navigation {
  color: var(--text-muted) !important;
  background: var(--panel-solid) !important;
  box-shadow: none !important;
  border: 1px solid rgba(0, 229, 255, 0.14) !important;
}

.tags .v-pagination .v-pagination__item--active {
  color: var(--bg-deep) !important;
  background: var(--neon-cyan) !important;
  border-color: var(--neon-cyan) !important;
}

.tags .v-pagination .v-pagination__item:hover,
.tags .v-pagination .v-pagination__navigation:hover {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.08) !important;
}

/* ── Admin (/a) & Profile (/p) ── */
.admin.v-application,
.admin .v-application--wrap,
.profile.v-application,
.profile .v-application--wrap,
.admin.theme--light .application--wrap {
  background: var(--bg-deep) !important;
  background-color: var(--bg-deep) !important;
}

.admin .v-main.grey.lighten-5,
.profile .v-content.grey.lighten-5,
.admin .v-main.grey.darken-5,
.profile .v-content.grey.darken-4 {
  background: transparent !important;
  background-color: transparent !important;
}

.admin .v-navigation-drawer,
.admin .admin-sidebar,
.profile .v-navigation-drawer {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-right: 1px solid rgba(0, 229, 255, 0.18) !important;
}

.admin .v-navigation-drawer .v-subheader,
.profile .v-navigation-drawer .v-subheader {
  color: var(--neon-cyan) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.admin .v-card .v-subheader,
.admin .v-subheader.theme--light,
.admin .theme--light.v-subheader {
  color: var(--neon-cyan) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.14) !important;
}

.admin .v-card .v-list,
.admin .v-card .v-list.theme--light {
  color: var(--text-primary) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.admin .v-card .v-list-item,
.admin .v-card .v-list-item__title {
  color: var(--text-primary) !important;
}

.admin .v-card .v-list-item__subtitle,
.admin .v-card .v-list-item-action-text,
.admin .v-card .caption {
  color: var(--text-muted) !important;
}

.admin .v-navigation-drawer .v-list-item,
.admin .v-navigation-drawer .v-list-item__title,
.profile .v-navigation-drawer .v-list-item,
.profile .v-navigation-drawer .v-list-item__title {
  color: var(--text-muted) !important;
  font-family: var(--font-display) !important;
  letter-spacing: 0.04em !important;
}

.admin .v-navigation-drawer .v-list-item--active,
.admin .v-navigation-drawer .v-list-item--active .v-list-item__title,
.profile .v-navigation-drawer .v-list-item--active,
.profile .v-navigation-drawer .v-list-item--active .v-list-item__title {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.1) !important;
  background-color: rgba(0, 229, 255, 0.1) !important;
}

.admin .v-navigation-drawer .v-list-item:hover,
.admin .v-navigation-drawer .v-list-item:hover .v-list-item__title,
.profile .v-navigation-drawer .v-list-item:hover,
.profile .v-navigation-drawer .v-list-item:hover .v-list-item__title {
  color: var(--neon-cyan) !important;
  background: rgba(0, 229, 255, 0.08) !important;
}

.admin .v-navigation-drawer .v-chip.grey.lighten-5,
.admin .v-navigation-drawer .v-chip.grey.lighten-4,
.admin .v-navigation-drawer .v-chip.grey.darken-3-d4 {
  color: var(--text-muted) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.14) !important;
}

.admin .v-navigation-drawer .v-chip .grey--text,
.admin .v-navigation-drawer .v-chip .caption {
  color: var(--text-muted) !important;
}

.admin .overline.grey--text,
.profile .grey--text.subheading {
  color: var(--text-muted) !important;
}

.profile .v-toolbar.blue-grey,
.admin .v-toolbar.blue-grey {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.18) !important;
}

/* Admin & profile data tables — beat Vuetify .theme--light.v-data-table */
.v-application .theme--light.v-data-table,
.admin .v-data-table,
.profile .v-data-table {
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.18) !important;
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.08) !important;
}

.v-application .theme--light.v-data-table .v-data-table__wrapper,
.admin .v-data-table .v-data-table__wrapper,
.profile .v-data-table .v-data-table__wrapper {
  background: transparent !important;
  background-color: transparent !important;
}

.v-application .theme--light.v-data-table table,
.admin .v-data-table table,
.profile .v-data-table table {
  background: transparent !important;
  background-color: transparent !important;
}

.v-application .theme--light.v-data-table thead th,
.admin .v-data-table thead th,
.profile .v-data-table thead th {
  color: var(--neon-cyan) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.18) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.v-application .theme--light.v-data-table thead th .v-icon,
.admin .v-data-table thead th .v-icon,
.profile .v-data-table thead th .v-icon {
  color: var(--text-muted) !important;
}

.v-application .theme--light.v-data-table tbody tr,
.admin .v-data-table tbody tr,
.profile .v-data-table tbody tr {
  color: var(--text-primary) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.v-application .theme--light.v-data-table tbody tr:hover,
.admin .v-data-table tbody tr.is-clickable:hover,
.profile .v-data-table tbody tr.is-clickable:hover {
  background: rgba(0, 229, 255, 0.08) !important;
  background-color: rgba(0, 229, 255, 0.08) !important;
}

.v-application .theme--light.v-data-table tbody td,
.admin .v-data-table tbody td,
.profile .v-data-table tbody td {
  color: var(--text-primary) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.1) !important;
}

.admin .v-data-table .caption,
.admin .v-data-table .grey--text,
.profile .v-data-table .caption,
.profile .v-data-table .grey--text,
.admin .v-data-table .grey--text.text--darken-2,
.profile .v-data-table .grey--text.text--darken-2 {
  color: var(--text-muted) !important;
}

.admin .v-data-table strong,
.profile .v-data-table strong {
  color: var(--text-primary) !important;
}

.admin .v-card .pa-2.grey.lighten-3,
.admin .v-card .pa-2.grey.darken-3-d5 {
  color: var(--text-primary) !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.14) !important;
}

/* Admin callout boxes (v-card-info) — match wiki is-info / is-danger callouts */
.admin .v-card-info {
  border-bottom: none !important;
}

.admin .v-card-info.is-blue {
  border-bottom: 1px solid rgba(0, 229, 255, 0.18) !important;
}

.admin .v-card-info.is-blue .v-card__text,
.admin .v-card-info.is-blue .v-card__text.blue.lighten-5 {
  color: var(--text-primary) !important;
  background: rgba(0, 229, 255, 0.1) !important;
  background-color: rgba(0, 229, 255, 0.1) !important;
  border-left: 3px solid var(--neon-cyan) !important;
}

.admin .v-card-info.is-blue .blue--text.text--darken-3,
.admin .v-card-info.is-blue .blue--text.text--lighten-4,
.admin .v-card-info.is-blue span,
.admin .v-card-info.is-blue .caption {
  color: var(--text-primary) !important;
  caret-color: var(--text-primary) !important;
}

.admin .v-card-info.is-blue .caption a,
.admin .v-card-info.is-blue a {
  color: var(--neon-cyan) !important;
  caret-color: var(--neon-cyan) !important;
}

.admin .v-card-info.is-blue .v-icon,
.admin .v-card-info.is-blue .v-icon.blue--text,
.admin .v-card-info.is-blue .v-icon[class*='blue'] {
  color: var(--neon-cyan) !important;
  caret-color: var(--neon-cyan) !important;
}

.admin .v-card-info.is-red {
  border-bottom: 1px solid rgba(255, 45, 168, 0.22) !important;
}

.admin .v-card-info.is-red .v-card__text,
.admin .v-card-info.is-red .v-card__text.red.lighten-5 {
  color: var(--text-primary) !important;
  background: rgba(255, 45, 168, 0.1) !important;
  background-color: rgba(255, 45, 168, 0.1) !important;
  border-left: 3px solid var(--neon-magenta) !important;
}

.admin .v-card-info.is-red .red--text.text--darken-2,
.admin .v-card-info.is-red .red--text.text--lighten-4,
.admin .v-card-info.is-red span,
.admin .v-card-info.is-red .caption {
  color: var(--text-primary) !important;
  caret-color: var(--text-primary) !important;
}

.admin .v-card-info.is-red .v-icon,
.admin .v-card-info.is-red .v-icon.red--text,
.admin .v-card-info.is-red .v-icon[class*='red'] {
  color: var(--neon-magenta) !important;
  caret-color: var(--neon-magenta) !important;
}

/* Profile card body — subheaders, auth provider strip (purple lighten-5 + darken-4 text) */
.profile .v-card .v-card__text,
.profile .v-card .v-card__text .v-subheader,
.profile .v-card .v-card__text .subtitle-2 {
  color: var(--neon-cyan) !important;
  font-family: var(--font-display);
  letter-spacing: 0.05em;
}

.profile .v-card .v-card__text .v-toolbar.purple.lighten-5,
.profile .v-card .v-card__text .v-toolbar.grey.darken-2,
.profile .v-card .v-card__text .v-toolbar.purple--text {
  color: var(--text-primary) !important;
  background: rgba(255, 45, 168, 0.08) !important;
  background-color: rgba(255, 45, 168, 0.08) !important;
  border: 1px solid rgba(255, 45, 168, 0.22) !important;
  border-radius: 4px;
}

.profile .v-card .v-card__text .v-toolbar .subheading,
.profile .v-card .v-card__text .purple--text.text--darken-4,
.profile .v-card .v-card__text .grey--text.text--lighten-1 {
  color: var(--text-primary) !important;
}

.profile .v-card .v-card__text .v-toolbar .v-icon.purple--text,
.profile .v-card .v-card__text .v-toolbar .v-icon[class*='purple'],
.profile .v-card .v-card__text .v-toolbar .v-icon.grey--text {
  color: var(--neon-magenta) !important;
}

.v-application .purple.lighten-5 {
  background-color: rgba(255, 45, 168, 0.08) !important;
  background: rgba(255, 45, 168, 0.08) !important;
  border-color: rgba(255, 45, 168, 0.22) !important;
}

/* Login: wiki-theme/login.css (nginx on /login). Tags/admin/profile: nginx injects this file — those pug templates skip injectCSS. */

/* MediaWiki HTML imports — see mediawiki-compat.css */

/* MediaWiki HTML compatibility — uses tokens from inject.css / book.css :root */

.contents .mw-parser-output,
.page-contents .mw-parser-output,
article .mw-parser-output,
.mw-parser-output {
  color: var(--text-primary);
  font-family: var(--font-body);
}

.contents .mw-parser-output h2,
.page-contents .mw-parser-output h2,
article .mw-parser-output h2,
.mw-parser-output h2 {
  color: var(--neon-magenta);
  font-family: var(--font-display);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.contents .mw-parser-output h3,
.contents .mw-parser-output h4,
.page-contents .mw-parser-output h3,
.page-contents .mw-parser-output h4,
article .mw-parser-output h3,
article .mw-parser-output h4,
.mw-parser-output h3,
.mw-parser-output h4 {
  color: var(--neon-amber);
  font-family: var(--font-display);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Horizontal scroll wrapper added by Wiki.js */
.table-container {
  overflow-x: auto;
  margin: 1em 0;
  border: 1px solid rgba(0, 229, 255, 0.12);
  border-radius: 2px;
}

/* ── Wikitable: beat ALL inline MediaWiki light-theme styles ── */
.contents table.wikitable,
.page-contents table.wikitable,
article table.wikitable,
.mw-parser-output table.wikitable,
.mw-parser-output .wikitable {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid rgba(0, 229, 255, 0.22) !important;
  color: var(--text-primary) !important;
}

.contents .wikitable th,
.contents .wikitable td,
.page-contents .wikitable th,
.page-contents .wikitable td,
article .wikitable th,
article .wikitable td,
.mw-parser-output .wikitable th,
.mw-parser-output .wikitable td {
  border: 1px solid rgba(168, 173, 191, 0.18) !important;
  padding: 8px 10px !important;
  vertical-align: top !important;
  color: var(--text-primary) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
}

/* Column header row */
.contents .wikitable > tbody > tr:first-child > th,
.page-contents .wikitable > tbody > tr:first-child > th,
article .wikitable > tbody > tr:first-child > th,
.mw-parser-output .wikitable > tbody > tr:first-child > th {
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  color: var(--neon-amber) !important;
  font-family: var(--font-display) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

/* Row header cells (reagent names) */
.contents .wikitable > tbody > tr:not(:first-child) > th,
.page-contents .wikitable > tbody > tr:not(:first-child) > th,
article .wikitable > tbody > tr:not(:first-child) > th,
.mw-parser-output .wikitable > tbody > tr:not(:first-child) > th {
  background: rgba(10, 12, 22, 0.92) !important;
  background-color: rgba(10, 12, 22, 0.92) !important;
  color: var(--neon-cyan) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  min-width: 9rem;
}

/* Subtext under reagent names */
.mw-parser-output .wikitable > tbody > tr:not(:first-child) > th p {
  color: var(--text-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.86em !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  margin: 0.35em 0 0 !important;
  line-height: 1.45 !important;
}

.mw-parser-output .wikitable > tbody > tr:not(:first-child) > th p a {
  color: var(--neon-cyan) !important;
}

/* Zebra striping on data cells only */
.mw-parser-output .wikitable > tbody > tr:nth-child(even) > td {
  background: rgba(10, 12, 22, 0.55) !important;
  background-color: rgba(10, 12, 22, 0.55) !important;
}

.mw-parser-output .wikitable > tbody > tr:nth-child(odd) > td {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
}

.mw-parser-output .wikitable.sortable > tbody > tr:first-child > th {
  cursor: pointer;
}

.mw-parser-output .wikitable.sortable > tbody > tr:first-child > th:hover {
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.35);
}

/* Links and labels inside tables */
.mw-parser-output .wikitable a {
  color: var(--neon-cyan) !important;
  text-decoration-color: rgba(0, 229, 255, 0.4) !important;
}

.mw-parser-output .wikitable a:hover {
  color: var(--text-primary) !important;
}

.mw-parser-output .wikitable b,
.mw-parser-output .wikitable strong {
  color: var(--neon-amber) !important;
  font-weight: 700;
}

.mw-parser-output .wikitable p {
  margin: 0.35em 0 !important;
  color: inherit !important;
}

/* Reagent color swatches — keep inline color, fix white background */
.mw-parser-output .wikitable span[style*='background-color:white'],
.mw-parser-output .wikitable span[style*='background-color: white'],
.mw-parser-output .wikitable span[style*='background-color:#FFF'],
.mw-parser-output .wikitable span[style*='background-color: #FFF'] {
  background-color: var(--panel-solid) !important;
  padding: 0 2px;
  border-radius: 1px;
}

/* ── Recipe tooltips ── */
.mw-parser-output .tooltip {
  position: relative;
  display: inline;
  cursor: help;
  border-bottom: 1px dotted rgba(0, 229, 255, 0.5);
}

.mw-parser-output div.tooltip {
  display: inline;
}

.mw-parser-output .tooltip > a {
  color: var(--neon-cyan) !important;
}

/* Hidden by default — direct-child popup only on hover */
.mw-parser-output .tooltip > .tooltiptext,
.mw-parser-output div.tooltip > div.tooltiptext {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  z-index: 300;
  left: 0 !important;
  top: calc(100% + 4px) !important;
  min-width: 14rem;
  max-width: 26rem;
  padding: 0.55em 0.75em !important;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  border: 1px solid rgba(0, 229, 255, 0.28) !important;
  border-radius: 3px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 16px rgba(0, 229, 255, 0.1) !important;
  color: var(--text-primary) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transition: opacity 0.15s ease;
  pointer-events: none;
  white-space: normal;
}

.mw-parser-output .tooltip > .tooltiptext p,
.mw-parser-output div.tooltip > div.tooltiptext p {
  color: var(--text-primary) !important;
  margin: 0.25em 0 !important;
}

.mw-parser-output .tooltip:hover > .tooltiptext,
.mw-parser-output div.tooltip:hover > div.tooltiptext,
.mw-parser-output .tooltip:focus-within > .tooltiptext,
.mw-parser-output div.tooltip:focus-within > div.tooltiptext {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
}

/* Nested ingredient tooltips inside an open popup */
.mw-parser-output .tooltiptext .tooltiptext {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.mw-parser-output .tooltiptext .tooltip {
  position: relative;
  display: inline;
}

.mw-parser-output .tooltiptext .tooltip:hover > .tooltiptext,
.mw-parser-output .tooltiptext div.tooltip:hover > div.tooltiptext {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  left: 0 !important;
  top: calc(100% + 2px) !important;
  pointer-events: auto;
}

/* Hide edit section remnants Wiki.js may surface in headings */
.mw-editsection,
.mw-editsection-divider,
.mw-editsection-bracket,
.toc-header .mw-editsection-divider,
.toc-header .mw-editsection-bracket {
  display: none !important;
}

/* ── Collapsible sections (details, converted on import) ── */
.mw-parser-output details.mw-collapsible {
  margin: 1em 0;
  border: 1px solid rgba(0, 229, 255, 0.18);
  background: rgba(10, 12, 22, 0.92) !important;
  background-color: rgba(10, 12, 22, 0.92) !important;
  border-radius: 3px;
  color: var(--text-primary) !important;
}

.mw-parser-output .wikitable details.mw-collapsible {
  margin: 0.5em 0 0;
}

.mw-parser-output details.mw-collapsible summary {
  cursor: pointer;
  padding: 0.55em 0.85em;
  list-style: none;
  -webkit-appearance: none;
  appearance: none;
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
}

.mw-parser-output details.mw-collapsible summary .collapsible-title {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--neon-cyan) !important;
}

.mw-parser-output details.mw-collapsible summary .collapsible-desc {
  display: block;
  margin: 0.35em 0 0;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
  color: var(--text-muted) !important;
  line-height: 1.5;
}

.mw-parser-output details.mw-collapsible summary .collapsible-desc a {
  color: var(--neon-cyan) !important;
}

.mw-parser-output details.mw-collapsible summary .collapsible-desc strong,
.mw-parser-output details.mw-collapsible summary .collapsible-desc b {
  color: var(--text-primary);
  font-weight: 700;
}

.mw-parser-output details.mw-collapsible summary::-webkit-details-marker {
  display: none;
}

.mw-parser-output details.mw-collapsible summary::before {
  content: '▸ ';
  color: var(--neon-magenta);
}

.mw-parser-output details.mw-collapsible[open] summary::before {
  content: '▾ ';
}

.mw-parser-output details.mw-collapsible[open] summary {
  border-bottom: 1px solid rgba(0, 229, 255, 0.12);
}

.mw-parser-output details.mw-collapsible .mw-collapsible-content {
  padding: 0.45em 0.85em 0.75em;
  background: rgba(10, 12, 22, 0.92) !important;
  background-color: rgba(10, 12, 22, 0.92) !important;
  color: var(--text-primary) !important;
}

.mw-parser-output details.mw-collapsible .mw-collapsible-content table,
.mw-parser-output details.mw-collapsible .mw-collapsible-content table.wikitable {
  margin: 0.5em 0 0 !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
}

.mw-parser-output details.mw-collapsible .mw-collapsible-content td,
.mw-parser-output details.mw-collapsible .mw-collapsible-content th {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text-primary) !important;
}

.mw-parser-output details.mw-collapsible .mw-collapsible-content a {
  color: var(--neon-cyan) !important;
}

.mw-parser-output details.mw-collapsible .mw-collapsible-content a {
  color: var(--neon-cyan) !important;
}

/* Legacy MediaWiki collapsible divs (toccolours = light bg in Vector skin) */
.mw-parser-output div.toccolours,
.mw-parser-output div.mw-collapsible:not(details) {
  margin: 1em 0;
  padding: 0.55em 0.85em;
  border: 1px solid rgba(0, 229, 255, 0.18);
  background: rgba(10, 12, 22, 0.65) !important;
  background-color: rgba(10, 12, 22, 0.65) !important;
  border-radius: 3px;
  color: var(--text-primary) !important;
}

.mw-parser-output div.mw-collapsible:not(details) .mw-collapsible-content {
  padding-top: 0.45em;
  margin-top: 0.45em;
  border-top: 1px solid rgba(0, 229, 255, 0.12);
  color: var(--text-primary) !important;
}

.mw-parser-output div.mw-collapsible:not(details) p,
.mw-parser-output div.mw-collapsible:not(details) li,
.mw-parser-output div.mw-collapsible:not(details) .mw-collapsible-content a {
  color: var(--text-primary) !important;
}

.mw-parser-output div.mw-collapsible:not(details) .mw-collapsible-content a {
  color: var(--neon-cyan) !important;
}

/* No MediaWiki JS — don't hide collapsed content inside div fallbacks */
.mw-parser-output div.mw-collapsible.mw-collapsed .mw-collapsible-content {
  display: block !important;
}

/* Catch-all: nuke remaining inline light backgrounds inside parser output */
.mw-parser-output [style*='background-color:white'],
.mw-parser-output [style*='background-color: white'],
.mw-parser-output [style*='background-color:#FFF'],
.mw-parser-output [style*='background-color: #FFF'],
.mw-parser-output [style*='background-color:#fff'],
.mw-parser-output [style*='background: #FFF'],
.mw-parser-output [style*='background:#FFF'],
.mw-parser-output [style*='background: #F7F7FF'],
.mw-parser-output [style*='background:#F7F7FF'],
.mw-parser-output [style*='background-color:#F7F7FF'],
.mw-parser-output [style*='background-color: #F7F7FF'] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
}

.mw-parser-output .toccolours {
  background: rgba(10, 12, 22, 0.65) !important;
  background-color: rgba(10, 12, 22, 0.65) !important;
}

/* Re-apply row-header and tooltip backgrounds after catch-all */
.mw-parser-output .wikitable > tbody > tr:first-child > th[style] {
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
}

.mw-parser-output .wikitable > tbody > tr:not(:first-child) > th[style] {
  background: rgba(10, 12, 22, 0.92) !important;
  background-color: rgba(10, 12, 22, 0.92) !important;
}

.mw-parser-output .tooltip .tooltiptext[style],
.mw-parser-output div.tooltip > div.tooltiptext[style] {
  background: var(--panel-solid) !important;
  background-color: var(--panel-solid) !important;
  color: var(--text-primary) !important;
  display: none !important;
}

.mw-parser-output .tooltip:hover > .tooltiptext[style],
.mw-parser-output div.tooltip:hover > div.tooltiptext[style] {
  display: block !important;
}
