/* ============================================================ NETGRIMOIRE THEME FOR WIKI.JS Dark arcane aesthetic — teal/cyan glowing network nodes Paste into: Administration → Theme → Custom CSS ============================================================ */ /* ── Google Fonts ─────────────────────────────────────────── */ @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Share+Tech+Mono&family=Raleway:wght@300;400;500&display=swap'); /* ── CSS Variables ────────────────────────────────────────── */ :root { --ng-teal: #00e5cc; --ng-teal-dim: #00b39e; --ng-teal-glow: rgba(0, 229, 204, 0.35); --ng-teal-faint: rgba(0, 229, 204, 0.08); --ng-bg-deep: #070b0f; --ng-bg-base: #0a0d12; --ng-bg-raised: #0d1117; --ng-bg-surface: #111922; --ng-border: rgba(0, 229, 204, 0.18); --ng-text: #b8d4d0; --ng-text-bright: #d9eeeb; --ng-text-muted: #5a7f7a; } /* ── Page & Application Background ───────────────────────── */ body, .application--wrap, .main-bg { background-color: var(--ng-bg-base) !important; color: var(--ng-text) !important; } /* Constellation-style radial shimmer behind content */ .contents { background-color: var(--ng-bg-base) !important; background-image: radial-gradient(ellipse at 15% 20%, rgba(0, 180, 150, 0.05) 0%, transparent 55%), radial-gradient(ellipse at 85% 75%, rgba(0, 130, 110, 0.04) 0%, transparent 55%) !important; } /* ── Header / Top Nav ─────────────────────────────────────── */ .v-toolbar, .v-toolbar__content, nav.v-toolbar { background: linear-gradient(180deg, #060a0d 0%, #0a0d12 100%) !important; border-bottom: 1px solid var(--ng-border) !important; box-shadow: 0 2px 18px rgba(0, 229, 204, 0.08) !important; } /* Site title */ .v-toolbar__title, .v-toolbar .site-title { font-family: 'Cinzel', serif !important; color: var(--ng-teal) !important; letter-spacing: 0.08em; text-shadow: 0 0 14px var(--ng-teal-glow); } /* Header icons & buttons */ .v-toolbar .v-btn, .v-toolbar .v-icon { color: var(--ng-teal-dim) !important; transition: color 0.2s, text-shadow 0.2s !important; } .v-toolbar .v-btn:hover, .v-toolbar .v-icon:hover { color: var(--ng-teal) !important; text-shadow: 0 0 8px var(--ng-teal-glow); } /* ── Sidebar / Left Nav ───────────────────────────────────── */ nav.navigation, .navigation-drawer, .v-navigation-drawer { background: var(--ng-bg-raised) !important; border-right: 1px solid var(--ng-border) !important; box-shadow: 2px 0 20px rgba(0, 0, 0, 0.4) !important; } /* Nav items */ .v-list-item, .v-list__tile { color: var(--ng-text) !important; font-family: 'Raleway', sans-serif !important; font-weight: 400; transition: color 0.2s, background 0.2s, padding-left 0.2s !important; } .v-list-item:hover, .v-list__tile:hover { background: var(--ng-teal-faint) !important; color: var(--ng-teal) !important; padding-left: 20px !important; } /* Active nav item */ .v-list-item--active, .v-list__tile--active { color: var(--ng-teal) !important; border-left: 3px solid var(--ng-teal) !important; background: rgba(0, 229, 204, 0.06) !important; } /* Nav section headers */ .v-subheader { font-family: 'Cinzel', serif !important; font-size: 0.65rem !important; letter-spacing: 0.18em !important; color: var(--ng-text-muted) !important; text-transform: uppercase; } /* Nav icons */ .v-list-item .v-icon, .v-list__tile .v-icon { color: var(--ng-teal-dim) !important; } /* ── Page Content Area ────────────────────────────────────── */ .page-content-wrap, .editor-page-content, article.contents { background: transparent !important; } /* ── Typography ───────────────────────────────────────────── */ .contents h1, .contents h2, .contents h3, .page-header h1 { font-family: 'Cinzel', serif !important; color: var(--ng-teal) !important; text-shadow: 0 0 16px rgba(0, 229, 204, 0.25); letter-spacing: 0.04em; } .contents h4, .contents h5, .contents h6 { font-family: 'Cinzel', serif !important; color: var(--ng-teal-dim) !important; } .contents h1 { border-bottom: 1px solid var(--ng-border); padding-bottom: 0.4em; } .contents h2 { border-bottom: 1px solid rgba(0, 229, 204, 0.08); padding-bottom: 0.2em; } .contents p, .contents li, .contents td { font-family: 'Raleway', sans-serif !important; color: var(--ng-text) !important; line-height: 1.75 !important; } /* ── Links ────────────────────────────────────────────────── */ .contents a { color: var(--ng-teal-dim) !important; text-decoration: none !important; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s, text-shadow 0.2s !important; } .contents a:hover { color: var(--ng-teal) !important; border-bottom-color: var(--ng-teal-dim); text-shadow: 0 0 8px var(--ng-teal-glow); } /* ── Code Blocks ──────────────────────────────────────────── */ .contents pre, .contents pre code { background: #060b10 !important; border: 1px solid var(--ng-border) !important; border-radius: 6px !important; font-family: 'Share Tech Mono', monospace !important; color: #7df3d6 !important; box-shadow: inset 0 0 20px rgba(0, 229, 204, 0.04), 0 0 12px rgba(0, 0, 0, 0.5) !important; } .contents code { font-family: 'Share Tech Mono', monospace !important; background: rgba(0, 229, 204, 0.07) !important; color: var(--ng-teal) !important; border-radius: 3px !important; padding: 0.1em 0.4em !important; border: 1px solid rgba(0, 229, 204, 0.12) !important; } /* ── Blockquotes ──────────────────────────────────────────── */ .contents blockquote { border-left: 3px solid var(--ng-teal) !important; background: var(--ng-teal-faint) !important; color: var(--ng-text-bright) !important; border-radius: 0 6px 6px 0 !important; box-shadow: inset 0 0 16px rgba(0, 229, 204, 0.03) !important; padding: 0.8em 1.2em !important; } /* ── Tables ───────────────────────────────────────────────── */ .contents table { border-collapse: collapse !important; width: 100% !important; } .contents thead tr { background: rgba(0, 229, 204, 0.1) !important; } .contents thead th { font-family: 'Cinzel', serif !important; color: var(--ng-teal) !important; border-bottom: 1px solid var(--ng-border) !important; letter-spacing: 0.06em; font-size: 0.85em !important; } .contents tbody tr { border-bottom: 1px solid rgba(0, 229, 204, 0.06) !important; transition: background 0.15s !important; } .contents tbody tr:hover { background: var(--ng-teal-faint) !important; } .contents td, .contents th { padding: 0.6em 1em !important; color: var(--ng-text) !important; } /* ── Horizontal Rules ─────────────────────────────────────── */ .contents hr { border: none !important; border-top: 1px solid var(--ng-border) !important; box-shadow: 0 0 8px var(--ng-teal-glow) !important; margin: 2em 0 !important; } /* ── Page Cards / Navigation Tiles ───────────────────────── */ .page-card, .v-card { background: var(--ng-bg-surface) !important; border: 1px solid var(--ng-border) !important; border-radius: 8px !important; transition: box-shadow 0.3s, border-color 0.3s, transform 0.2s !important; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4) !important; } .page-card:hover, .v-card:hover { border-color: var(--ng-teal-dim) !important; box-shadow: 0 0 20px rgba(0, 229, 204, 0.2), 0 4px 20px rgba(0, 0, 0, 0.5) !important; transform: translateY(-2px) !important; } .v-card__title { font-family: 'Cinzel', serif !important; color: var(--ng-teal) !important; } .v-card__text { color: var(--ng-text) !important; font-family: 'Raleway', sans-serif !important; } /* ── Search Bar ───────────────────────────────────────────── */ .v-input__slot { background: var(--ng-bg-raised) !important; border: 1px solid var(--ng-border) !important; border-radius: 6px !important; } .v-input__slot:focus-within { border-color: var(--ng-teal) !important; box-shadow: 0 0 10px rgba(0, 229, 204, 0.2) !important; } .v-input input, .v-input textarea { color: var(--ng-text-bright) !important; font-family: 'Raleway', sans-serif !important; caret-color: var(--ng-teal) !important; } /* Search result items */ .v-list, .v-autocomplete__content { background: var(--ng-bg-raised) !important; border: 1px solid var(--ng-border) !important; } /* ── Breadcrumbs ──────────────────────────────────────────── */ .v-breadcrumbs, .breadcrumbs { font-family: 'Raleway', sans-serif !important; font-size: 0.8rem !important; } .v-breadcrumbs li, .v-breadcrumbs__item { color: var(--ng-text-muted) !important; } .v-breadcrumbs a, .v-breadcrumbs__item--link { color: var(--ng-teal-dim) !important; } /* ── Tags / Chips ─────────────────────────────────────────── */ .v-chip { background: rgba(0, 229, 204, 0.1) !important; border: 1px solid var(--ng-border) !important; color: var(--ng-teal) !important; font-family: 'Share Tech Mono', monospace !important; font-size: 0.75rem !important; } /* ── Buttons ──────────────────────────────────────────────── */ .v-btn--flat, .v-btn:not(.v-btn--icon):not(.v-btn--floating) { font-family: 'Cinzel', serif !important; letter-spacing: 0.08em !important; } .v-btn.primary, .v-btn--color.primary { background: transparent !important; border: 1px solid var(--ng-teal) !important; color: var(--ng-teal) !important; box-shadow: 0 0 12px rgba(0, 229, 204, 0.2) !important; transition: box-shadow 0.3s, background 0.3s !important; } .v-btn.primary:hover { background: rgba(0, 229, 204, 0.1) !important; box-shadow: 0 0 20px rgba(0, 229, 204, 0.35) !important; } /* ── Scrollbar ────────────────────────────────────────────── */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: var(--ng-bg-deep); } ::-webkit-scrollbar-thumb { background: rgba(0, 229, 204, 0.25); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: rgba(0, 229, 204, 0.45); } /* ── Selection ────────────────────────────────────────────── */ ::selection { background: rgba(0, 229, 204, 0.2); color: var(--ng-text-bright); } /* ── Animated Rune Pulse on Active Nav Item ───────────────── */ @keyframes runePulse { 0%, 100% { box-shadow: inset 3px 0 0 var(--ng-teal), 0 0 8px rgba(0, 229, 204, 0.15); } 50% { box-shadow: inset 3px 0 0 var(--ng-teal), 0 0 18px rgba(0, 229, 204, 0.35); } } .v-list-item--active, .v-list__tile--active { animation: runePulse 3s ease-in-out infinite !important; } /* ── Subtle Constellation Dots (background decorative) ────── */ @keyframes starFloat { 0%, 100% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.4); } } /* ── Footer ───────────────────────────────────────────────── */ footer.v-footer { background: var(--ng-bg-raised) !important; border-top: 1px solid var(--ng-border) !important; color: var(--ng-text-muted) !important; font-family: 'Share Tech Mono', monospace !important; font-size: 0.75rem !important; }