Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Main Page/styles.css

Template page
Revision as of 17:33, 10 August 2025 by Fred (talk | contribs)
/* Main Page Styles for ComputerScience.wiki
 * Based exactly on the original MediaWiki styles
 */

/* Base styles */
.mp-box {
    border: 1px solid #aaa; /* all colors overridden on specific elements in @media screen */
    padding: 0 0.5em 0.5em;
    margin-top: 4px;
}

.mp-h2, body.skin-timeless .mp-h2 {
    border: 1px solid #aaa; /* all colors overridden on specific elements in @media screen */
    margin: 0.5em 0;
    padding: 0.2em 0.4em;
    font-size: 120%;
    font-weight: bold;
    font-family: inherit;
}

.mp-later {
    font-size: 85%;
    font-weight: normal;
}

#mp-welcomecount {
    text-align: center;
    margin: 0.4em;
}

#mp-welcome {
    font-size: 162%;
    padding: 0.1em;
}

#mp-welcome h1, #mp-welcome .mw-heading1 {
    font-size: inherit;
    font-family: inherit;
    display: inline;
    border: none;
}

#mp-free {
    font-size: 95%;
}

#articlecount {
    font-size: 85%;
}

#articlecount > ul {
    margin: 0;
    padding: 0;
}

#articlecount > ul > li {
    margin: 0;
    display: inline;
}

#articlecount > ul > li::after {
    content: " · ";
    font-weight: bold;
}

#articlecount > ul > li:last-child::after {
    content: "";
}

#mp-banner {
    text-align: center;
    padding-top: 0.5em;
}

/* clear fix */
.mp-contains-float::after {
    content: "";
    display: block;
    clear: both;
}

/* Category Styles - New additions */
.mp-category-row {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0;
    gap: 15px;
}

.mp-category-card {
    border: 1px solid #aaa;
    border-radius: 8px;
    padding: 15px;
    flex: 1;
    min-width: 200px;
}

/* Category Header with Icon and Title on same line */
.mp-category-header {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.mp-category-icon {
    font-size: 22px;
    margin-right: 10px;
}

.mp-category-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
}

.mp-category-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mp-category-list li {
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}

.mp-category-list li:last-child {
    border-bottom: none;
    margin-top: 8px;
    font-weight: 500;
}

/* Layout adjustments */
@media (max-width: 875px) {
    /* We need to improve Template:POTD as used on the main page so that these
     * hacks aren't necessary */
    #mp-tfp table,
    #mp-tfp tr,
    #mp-tfp td,
    #mp-tfp tbody {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    #mp-tfp tr:first-child td:first-child a.mw-file-description {
        text-align: center;
        display: table;
        margin: 0 auto;
    }
    
    #articlecount > ul > li::after {
        content: "";
        font-weight: normal;
    }
    
    #articlecount > ul > li {
        display: block;
    }
}

@media (min-width: 875px) {
    #mp-upper {
        display: flex;
    }
    
    #mp-left {
        flex: 1 1 55%;
        margin-right: 2px;
    }
    
    #mp-right {
        flex: 1 1 45%;
        margin-left: 2px;
    }
}

/* Light theme colors */
@media screen {
    #mp-topbanner {
        background-color: #f9f9f9;
        border-color: #ddd;
    }
    
    #mp-banner {
        background-color: #fffaf5;
        border-color: #f2e0ce;
    }
    
    #mp-left {
        background-color: #f5fffa;
        border-color: #cef2e0;
    }
    
    #mp-left .mp-h2 {
        background-color: #cef2e0;
        border-color: #a3bfb1;
    }
    
    #mp-right {
        background-color: #f5faff;
        border-color: #cedff2;
    }
    
    #mp-right .mp-h2 {
        background-color: #cedff2;
        border-color: #a3b0bf;
    }
    
    #mp-middle {
        background-color: #fff5fa;
        border-color: #f2cedd;
    }
    
    #mp-middle .mp-h2 {
        background-color: #f2cedd;
        border-color: #bfa3af;
    }
    
    #mp-lower {
        background-color: #faf5ff;
        border-color: #ddcef2;
    }
    
    #mp-lower .mp-h2 {
        background-color: #ddcef2;
        border-color: #afa3bf;
    }
    
    #mp-bottom {
        /* no background */
        border-color: #e2e2e2;
    }
    
    #mp-bottom .mp-h2 {
        background-color: #eee;
        border-color: #ddd;
    }

    /* Category card styles for light mode */
    .mp-category-card {
        background-color: white;
        border-color: #eaecef;
    }
    
    .mp-category-title {
        color: #2e51a3;
    }
    
    .mp-category-list li {
        border-color: #eaecef;
    }
    
    .mp-category-list li:last-child {
        color: #2e51a3;
    }

    /* night mode - exactly as in the original CSS */
    html.skin-theme-clientpref-night #mp-topbanner,
    .skin-citizen-dark #mp-topbanner {
        background-color: #171a1d;
        border-color: #676767;
    }
    
    html.skin-theme-clientpref-night #mp-banner,
    .skin-citizen-dark #mp-banner {
        background-color: #331a00;
        border-color: #663428;
    }
    
    html.skin-theme-clientpref-night #mp-left,
    .skin-citizen-dark #mp-left {
        background-color: #0b1e1c;
        border-color: #104437;
    }
    
    html.skin-theme-clientpref-night #mp-left .mp-h2,
    .skin-citizen-dark #mp-left .mp-h2 {
        background-color: #104437;
        border-color: #2f4d41;
    }
    
    html.skin-theme-clientpref-night #mp-right,
    .skin-citizen-dark #mp-right {
        background-color: #0d1a27;
        border-color: #082849;
    }
    
    html.skin-theme-clientpref-night #mp-right .mp-h2,
    .skin-citizen-dark #mp-right .mp-h2 {
        background-color: #082849;
        border-color: #a3b0bf;
    }
    
    html.skin-theme-clientpref-night #mp-middle,
    .skin-citizen-dark #mp-middle {
        background-color: #270e1a;
        border-color: #882c43;
    }
    
    html.skin-theme-clientpref-night #mp-middle .mp-h2,
    .skin-citizen-dark #mp-middle .mp-h2 {
        background-color: #882c43;
        border-color: #926c80;
    }
    
    html.skin-theme-clientpref-night #mp-lower,
    .skin-citizen-dark #mp-lower {
        background-color: #130e20;
        border-color: #7545ab;
    }
    
    html.skin-theme-clientpref-night #mp-lower .mp-h2,
    .skin-citizen-dark #mp-lower .mp-h2 {
        background-color: #7545ab;
        border-color: #afa3bf;
    }
    
    html.skin-theme-clientpref-night #mp-bottom,
    .skin-citizen-dark #mp-bottom {
        /* no background */
        border-color: #676767;
    }
    
    html.skin-theme-clientpref-night #mp-bottom .mp-h2,
    .skin-citizen-dark #mp-bottom .mp-h2 {
        background-color: #3d3d3d;
        border-color: #676767;
    }

    /* Category card styles for dark mode */
    html.skin-theme-clientpref-night .mp-category-card,
    .skin-citizen-dark .mp-category-card {
        background-color: #111827;
        border-color: #374151;
    }
    
    html.skin-theme-clientpref-night .mp-category-title,
    .skin-citizen-dark .mp-category-title {
        color: #8ab4f8;
    }
    
    html.skin-theme-clientpref-night .mp-category-list li,
    .skin-citizen-dark .mp-category-list li {
        border-color: #374151;
    }
    
    html.skin-theme-clientpref-night .mp-category-list li:last-child,
    .skin-citizen-dark .mp-category-list li:last-child {
        color: #8ab4f8;
    }
}

/* OS night mode - exactly as in the original CSS */
@media screen and (prefers-color-scheme: dark) {
    html.skin-theme-clientpref-os #mp-topbanner {
        background-color: #171a1d;
        border-color: #676767;
    }
    
    html.skin-theme-clientpref-os #mp-banner {
        background-color: #331a00;
        border-color: #663428;
    }
    
    html.skin-theme-clientpref-os #mp-left {
        background-color: #0b1e1c;
        border-color: #104437;
    }
    
    html.skin-theme-clientpref-os #mp-left .mp-h2 {
        background-color: #104437;
        border-color: #2f4d41;
    }
    
    html.skin-theme-clientpref-os #mp-right {
         background-color: #0d1a27;
         border-color: #082849;
    }
    
    html.skin-theme-clientpref-os #mp-right .mp-h2 {
        background-color: #082849;
        border-color: #a3b0bf;
    }
    
    html.skin-theme-clientpref-os #mp-middle {
        background-color: #270e1a;
        border-color: #882c43;
    }
    
    html.skin-theme-clientpref-os #mp-middle .mp-h2 {
        background-color: #882c43;
        border-color: #926c80;
    }
    
    html.skin-theme-clientpref-os #mp-lower {
        background-color: #130e20;
        border-color: #7545ab;
    }
    
    html.skin-theme-clientpref-os #mp-lower .mp-h2 {
        background-color: #7545ab;
        border-color: #afa3bf;
    }
    
    html.skin-theme-clientpref-os #mp-bottom {
        /* no background */
        border-color: #676767;
    }
    
    html.skin-theme-clientpref-os #mp-bottom .mp-h2 {
        background-color: #3d3d3d;
        border-color: #676767;
    }

    /* Category cards for OS dark mode */
    html.skin-theme-clientpref-os .mp-category-card {
        background-color: #111827;
        border-color: #374151;
    }
    
    html.skin-theme-clientpref-os .mp-category-title {
        color: #8ab4f8;
    }
    
    html.skin-theme-clientpref-os .mp-category-list li {
        border-color: #374151;
    }
    
    html.skin-theme-clientpref-os .mp-category-list li:last-child {
        color: #8ab4f8;
    }
}