Jump to content

MediaWiki:Common.css

From Continuum Universes Wiki
Revision as of 15:13, 22 February 2025 by Cdjensen94 (talk | contribs) (Created page with "โ†’================================ ๐ŸŒŸ BASE.CSS - Continuum Skin Uses Variables from Mode-Specific CSS ================================: โ†’Import Google Fonts: @import url('https://fonts.googleapis.com/css2?family=Bona+Nova:ital,wght@0,400;0,700;1,400&family=Metamorphous&display=swap'); โ†’=== Typography ===: .bona-nova-regular { font-family: "Bona Nova", serif; font-weight: 400; font-style: normal; } .bona-nova-bold { font-family: "Bona Nova", serif;...")
(diff) โ† Older revision | Latest revision (diff) | Newer revision โ†’ (diff)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (โŒ˜-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (โŒ˜-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ================================
   ๐ŸŒŸ BASE.CSS - Continuum Skin
   Uses Variables from Mode-Specific CSS
   ================================ */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Bona+Nova:ital,wght@0,400;0,700;1,400&family=Metamorphous&display=swap');

/* === Typography === */
.bona-nova-regular { font-family: "Bona Nova", serif; font-weight: 400; font-style: normal; }
.bona-nova-bold { font-family: "Bona Nova", serif; font-weight: 700; font-style: normal; }
.bona-nova-regular-italic { font-family: "Bona Nova", serif; font-weight: 400; font-style: italic; }
.metamorphous-regular { font-family: "Metamorphous", serif; font-style: normal; }

/* === Global Variables (Defined in -mode.css) === */
:root, .skin-continuum, .notheme {
    /* Color Variables */
    --color-text-primary: var(--color-base, #FFFFFF);
    --color-text-secondary: var(--color-base--hover, #FFB84D);
    --color-text-emphasized: var(--color-emphasized, #FFFFFF);
    --color-text-muted: var(--color-subtle, #FF851B);
    --color-placeholder: var(--color-placeholder, #FFB84D);
    --color-link: var(--color-progressive, #FF851B);
    --color-link-hover: var(--color-progressive--hover, #FFB84D);
    --color-link-active: var(--color-progressive--active, #FF6300);
    --color-link-focus: var(--color-progressive--focus, #FF851B);
    --color-error: var(--color-error, #FF4500);
    --color-success: var(--color-success, #177860);
    --color-warning: var(--color-warning, #FFB84D);

    /* Background Variables */
    --background-primary: var(--background-color-base, #001F3F);
    --background-secondary: var(--background-color-neutral, #002855);
    --background-tertiary: var(--background-color-neutral-subtle, #001933);
    --background-interactive: var(--background-color-interactive, #002B5C);
    --background-inverted: var(--background-color-inverted, #101418);

    /* Borders */
    --border-primary: var(--border-color-base, #FF851B);
    --border-hover: var(--border-color-progressive--hover, #FFB84D);
    --border-active: var(--border-color-progressive--active, #FF6300);
    --border-error: var(--border-color-error, #FF4500);

    /* Shadows */
    --box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);

    /* Opacity */
    --opacity-disabled: 0.5;
}

/* === General Body === */
body {
    margin: 0;
    padding: 0;
    background-color: var(--background-primary);
    color: var(--color-text-primary);
    font-family: 'Bona Nova', serif;
}

/* === Headers === */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Metamorphous', cursive;
    color: var(--color-link-active);
}

/* === Links === */
a {
    color: var(--color-link);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
}

/* === Personal User Links === */
#p-personal {
    background-color: var(--background-tertiary);
    border-radius: 4px;
    padding: 4px 8px;
}

#p-personal li {
    display: inline-block;
    margin-left: 8px;
}

#p-personal a {
    color: var(--color-link);
    font-weight: bold;
}

#p-personal a:hover {
    color: var(--color-link-hover);
}

/* === Main Structure === */
.mw-header {
    background-color: var(--background-secondary);
    border-bottom: 3px solid var(--border-primary);
}

#mw-panel {
    background-color: var(--background-secondary);
}

#content {
    background-color: var(--background-tertiary);
    border: 1px solid var(--border-primary);
    padding: 20px;
    color: var(--color-text-primary);
}

.mw-body {
    background-color: var(--background-primary);
}

/* === Table of Contents (TOC) === */
#toc {
    background-color: var(--background-interactive);
    border: 2px solid var(--border-primary);
    border-radius: 8px;
    padding: 10px;
    color: var(--color-text-primary);
}

#toc h2 {
    font-family: 'Metamorphous', cursive;
    color: var(--color-link-active);
}

#toc a {
    color: var(--color-link);
}

#toc a:hover {
    color: var(--color-link-hover);
}

/* === Buttons === */
.mw-ui-button {
    background-color: var(--color-link);
    color: var(--color-text-primary);
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.mw-ui-button:hover {
    background-color: var(--color-link-hover);
}

/* === Notifications & Alerts === */
.mw-notice {
    background-color: var(--background-secondary);
    color: var(--color-text-primary);
    border-left: 4px solid var(--border-primary);
    padding: 8px;
    border-radius: 4px;
}

.mw-warning {
    background-color: var(--color-warning);
    color: var(--background-primary);
}

.mw-error {
    background-color: var(--color-error);
    color: var(--color-text-primary);
}

/* === Code Editors (Ace & CodeMirror) === */
.ace_editor, .CodeMirror {
    background-color: var(--background-tertiary);
    color: var(--color-text-primary);
    border: 1px solid var(--border-primary);
    border-radius: 4px;
}

/* Syntax Highlighting */
.ace_keyword, .cm-keyword { color: var(--color-link); font-weight: bold; }
.ace_string, .cm-string { color: #7FDBFF; }
.ace_comment, .cm-comment { color: #AAAAAA; font-style: italic; }
.ace_variable, .cm-variable { color: #FFD700; }
.ace_error, .cm-error { text-decoration: underline; text-decoration-color: var(--color-error); }

/* Cursor & Selection */
.CodeMirror-cursor { border-left: 1px solid var(--color-link); }
.CodeMirror-selected { background-color: rgba(255, 133, 27, 0.3); }

/* === Scrollbar === */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: var(--background-primary);
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-link);
    border-radius: 10px;
    border: 3px solid var(--background-primary);
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-link-hover);
}

/* === Navbar === */
#top-navbar {
    background-color: var(--background-interactive);
    border-bottom: 3px solid var(--border-primary);
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: var(--box-shadow);
}

.navbar-logo a {
    font-family: 'Metamorphous', cursive;
    color: var(--color-link);
    font-size: 1.5em;
    text-decoration: none;
}

.navbar-links a {
    color: var(--color-text-primary);
    text-decoration: none;
    font-weight: bold;
}

.navbar-links a:hover {
    color: var(--color-link-hover);
}

/* === Responsive Navbar === */
@media screen and (max-width: 768px) {
    #top-navbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .navbar-links {
        flex-direction: column;
        width: 100%;
    }

    .navbar-links li {
        margin: 10px 0;
    }
}

/* === Infobox === */
.infobox {
    border: 2px solid var(--border-primary);
    background-color: var(--background-interactive);
    color: var(--color-text-primary);
    width: 250px;
    font-size: 90%;
    float: right;
    margin: 0 0 1em 1em;
    padding: 10px;
    border-radius: 8px;
}

.infobox th {
    background-color: var(--background-secondary);
    color: var(--color-text-secondary);
    text-align: center;
    border-bottom: 1px solid var(--border-primary);
}

.infobox td {
    padding: 5px;
    border-top: 1px solid var(--border-primary);
}

.infobox caption {
    font-family: 'Metamorphous', cursive;
    font-size: 1.2em;
    color: var(--color-text-secondary);
    text-align: center;
}

/* === Images === */
img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    opacity: 1;
    border: none;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

img:hover {
    opacity: 0.9;
}

/* SVG Glow */
img[src$=".svg"] {
    filter: drop-shadow(0 0 5px rgba(255, 133, 27, 0.7));
}

/* === Icons === */
.continuum-icon {
    background-color: #FFB800;
}

/* === Editing Interface === */
.mw-editinginterface {
    color: var(--color-text-primary);
}

.cdx-message--error {
    background-color: var(--background-primary);
}

.vehide {
    display: none;
}
#theme-switcher-container {
    position: fixed;
    top: 10px;
    right: 20px;
    z-index: 1000;
}

#theme-switcher {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid var(--border-color-base);
    background-color: var(--background-color-neutral);
    color: var(--color-base);
}
/* CSS placed here will be app/* ================================
   ๐ŸŒŸ BASE.CSS - Continuum Skin
   Uses Variables from Mode-Specific CSS
   ================================ */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Bona+Nova:ital,wght@0,400;0,700;1,400&family=Metamorphous&display=swap');

/* === Typography === */
.bona-nova-regular { font-family: "Bona Nova", serif; font-weight: 400; font-style: normal; }
.bona-nova-bold { font-family: "Bona Nova", serif; font-weight: 700; font-style: normal; }
.bona-nova-regular-italic { font-family: "Bona Nova", serif; font-weight: 400; font-style: italic; }
.metamorphous-regular { font-family: "Metamorphous", serif; font-style: normal; }

/* === Global Variables (Defined in -mode.css) === */
:root, .skin-continuum, .notheme {
    /* Color Variables */
    --color-text-primary: var(--color-base, #FFFFFF);
    --color-text-secondary: var(--color-base--hover, #FFB84D);
    --color-text-emphasized: var(--color-emphasized, #FFFFFF);
    --color-text-muted: var(--color-subtle, #FF851B);
    --color-placeholder: var(--color-placeholder, #FFB84D);
    --color-link: var(--color-progressive, #FF851B);
    --color-link-hover: var(--color-progressive--hover, #FFB84D);
    --color-link-active: var(--color-progressive--active, #FF6300);
    --color-link-focus: var(--color-progressive--focus, #FF851B);
    --color-error: var(--color-error, #FF4500);
    --color-success: var(--color-success, #177860);
    --color-warning: var(--color-warning, #FFB84D);

    /* Background Variables */
    --background-primary: var(--background-color-base, #001F3F);
    --background-secondary: var(--background-color-neutral, #002855);
    --background-tertiary: var(--background-color-neutral-subtle, #001933);
    --background-interactive: var(--background-color-interactive, #002B5C);
    --background-inverted: var(--background-color-inverted, #101418);

    /* Borders */
    --border-primary: var(--border-color-base, #FF851B);
    --border-hover: var(--border-color-progressive--hover, #FFB84D);
    --border-active: var(--border-color-progressive--active, #FF6300);
    --border-error: var(--border-color-error, #FF4500);

    /* Shadows */
    --box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);

    /* Opacity */
    --opacity-disabled: 0.5;
}

/* === General Body === */
body {
    margin: 0;
    padding: 0;
    background-color: var(--background-primary);
    color: var(--color-text-primary);
    font-family: 'Bona Nova', serif;
}

/* === Headers === */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Metamorphous', cursive;
    color: var(--color-link-active);
}

/* === Links === */
a {
    color: var(--color-link);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
}

/* === Personal User Links === */
#p-personal {
    background-color: var(--background-tertiary);
    border-radius: 4px;
    padding: 4px 8px;
}

#p-personal li {
    display: inline-block;
    margin-left: 8px;
}

#p-personal a {
    color: var(--color-link);
    font-weight: bold;
}

#p-personal a:hover {
    color: var(--color-link-hover);
}

/* === Main Structure === */
.mw-header {
    background-color: var(--background-secondary);
    border-bottom: 3px solid var(--border-primary);
}

#mw-panel {
    background-color: var(--background-secondary);
}

#content {
    background-color: var(--background-tertiary);
    border: 1px solid var(--border-primary);
    padding: 20px;
    color: var(--color-text-primary);
}

.mw-body {
    background-color: var(--background-primary);
}

/* === Table of Contents (TOC) === */
#toc {
    background-color: var(--background-interactive);
    border: 2px solid var(--border-primary);
    border-radius: 8px;
    padding: 10px;
    color: var(--color-text-primary);
}

#toc h2 {
    font-family: 'Metamorphous', cursive;
    color: var(--color-link-active);
}

#toc a {
    color: var(--color-link);
}

#toc a:hover {
    color: var(--color-link-hover);
}

/* === Buttons === */
.mw-ui-button {
    background-color: var(--color-link);
    color: var(--color-text-primary);
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.mw-ui-button:hover {
    background-color: var(--color-link-hover);
}

/* === Notifications & Alerts === */
.mw-notice {
    background-color: var(--background-secondary);
    color: var(--color-text-primary);
    border-left: 4px solid var(--border-primary);
    padding: 8px;
    border-radius: 4px;
}

.mw-warning {
    background-color: var(--color-warning);
    color: var(--background-primary);
}

.mw-error {
    background-color: var(--color-error);
    color: var(--color-text-primary);
}

/* === Code Editors (Ace & CodeMirror) === */
.ace_editor, .CodeMirror {
    background-color: var(--background-tertiary);
    color: var(--color-text-primary);
    border: 1px solid var(--border-primary);
    border-radius: 4px;
}

/* Syntax Highlighting */
.ace_keyword, .cm-keyword { color: var(--color-link); font-weight: bold; }
.ace_string, .cm-string { color: #7FDBFF; }
.ace_comment, .cm-comment { color: #AAAAAA; font-style: italic; }
.ace_variable, .cm-variable { color: #FFD700; }
.ace_error, .cm-error { text-decoration: underline; text-decoration-color: var(--color-error); }

/* Cursor & Selection */
.CodeMirror-cursor { border-left: 1px solid var(--color-link); }
.CodeMirror-selected { background-color: rgba(255, 133, 27, 0.3); }

/* === Scrollbar === */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: var(--background-primary);
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-link);
    border-radius: 10px;
    border: 3px solid var(--background-primary);
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-link-hover);
}

/* === Navbar === */
#top-navbar {
    background-color: var(--background-interactive);
    border-bottom: 3px solid var(--border-primary);
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: var(--box-shadow);
}

.navbar-logo a {
    font-family: 'Metamorphous', cursive;
    color: var(--color-link);
    font-size: 1.5em;
    text-decoration: none;
}

.navbar-links a {
    color: var(--color-text-primary);
    text-decoration: none;
    font-weight: bold;
}

.navbar-links a:hover {
    color: var(--color-link-hover);
}

/* === Responsive Navbar === */
@media screen and (max-width: 768px) {
    #top-navbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .navbar-links {
        flex-direction: column;
        width: 100%;
    }

    .navbar-links li {
        margin: 10px 0;
    }
}

/* === Infobox === */
.infobox {
    border: 2px solid var(--border-primary);
    background-color: var(--background-interactive);
    color: var(--color-text-primary);
    width: 250px;
    font-size: 90%;
    float: right;
    margin: 0 0 1em 1em;
    padding: 10px;
    border-radius: 8px;
}

.infobox th {
    background-color: var(--background-secondary);
    color: var(--color-text-secondary);
    text-align: center;
    border-bottom: 1px solid var(--border-primary);
}

.infobox td {
    padding: 5px;
    border-top: 1px solid var(--border-primary);
}

.infobox caption {
    font-family: 'Metamorphous', cursive;
    font-size: 1.2em;
    color: var(--color-text-secondary);
    text-align: center;
}

/* === Images === */
img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    opacity: 1;
    border: none;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

img:hover {
    opacity: 0.9;
}

/* SVG Glow */
img[src$=".svg"] {
    filter: drop-shadow(0 0 5px rgba(255, 133, 27, 0.7));
}

/* === Icons === */
.continuum-icon {
    background-color: #FFB800;
}

/* === Editing Interface === */
.mw-editinginterface {
    color: var(--color-text-primary);
}

.cdx-message--error {
    background-color: var(--background-primary);
}

.vehide {
    display: none;
}
#theme-switcher-container {
    position: fixed;
    top: 10px;
    right: 20px;
    z-index: 1000;
}

#theme-switcher {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid var(--border-color-base);
    background-color: var(--background-color-neutral);
    color: var(--color-base);
}