MediaWiki:Common.css: Difference between revisions

From Winds Of Valen Wiki
Jump to navigation Jump to search
OSRS native DOM architecture styling
OSRS Typography & parchment styling
Line 1: Line 1:
/* ==========================================================================
/* ==========================================================================
   OSRS NATIVE DOM ARCHITECTURE (Main Page)
   OSRS EXACT REPLICA DESIGN SYSTEM
   ========================================================================== */
   ========================================================================== */


@import url('https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400&family=Inter:wght@400;600;700&display=swap');
/* Custom Fonts */
 
@font-face {
/* --- 1. Global Page Background & Override --- */
     font-family: 'Kingthings Petrock';
body, body.skin-vector-2022 {
     src: url('/resources/assets/fonts/Kingthings_Petrock.woff2') format('woff2');
     background-color: #e1d5be !important;
     color-scheme: light;
    font-family: 'PT Serif', Georgia, serif;
}
}
 
@font-face {
#content, .mw-body {
     font-family: 'League Spartan';
     background-color: #e1d5be !important;
     src: url('/resources/assets/fonts/LeagueSpartan-Bold.woff2') format('woff2');
     border: none !important;
    box-shadow: none !important;
}
}
 
@font-face {
#mw-content-text {
     font-family: 'Museo Sans';
     background-color: transparent !important;
    src: url('/resources/assets/fonts/MuseoSans-500.woff2') format('woff2');
}
}
 
@font-face {
#vector-appearance,
    font-family: 'RuneScape Chat';
#vector-page-tools-pinned-container,
     src: url('/resources/assets/fonts/RuneScape-Chat.woff2') format('woff2');
.vector-column-end {
     display: none !important;
}
}


.page-Main_Page #firstHeading,
/* Base Body Override */
.page-Main_Page .mw-first-heading {
body {
     display: none !important;
     background: url('/resources/assets/background_stone.png') repeat !important;
}
    background-color: #2b2b2b !important;
.page-Main_Page .mw-body-content {
     font-family: 'Museo Sans', Arial, sans-serif;
     padding-top: 0 !important;
}
}


/* --- 2. Main Page Structural DOM --- */
/* Content Parchment Container */
.mainpage-container {
#content {
     max-width: 100%;
     background: url('/resources/assets/background_parchment.png') repeat #f1e7d3 !important;
     color: #4a3c28;
     border: 3px solid #3d2b1f !important;
     box-sizing: border-box;
     border-radius: 4px;
     font-family: 'PT Serif', Georgia, serif;
     margin-top: 15px;
}
}


.mainpage-layout {
#mw-content-text {
    display: grid;
     background-color: transparent !important;
    grid-template-columns: 1fr 300px;
    gap: 14px;
    align-items: start;
}
 
@media screen and (max-width: 900px) {
     .mainpage-layout {
        grid-template-columns: 1fr;
    }
}
}


/* --- 3. Header Section (.mainpage-header) --- */
/* Header Styling */
.mainpage-header {
h1, h2, h3, h4, h5, h6 {
    display: flex;
     font-family: 'Kingthings Petrock', serif;
    gap: 14px;
    margin-bottom: 14px;
}
.header-intro {
    flex: 1;
    background-color: #fcf6e8 !important;
    border: 1px solid #b3a07d;
    padding: 25px;
    text-align: center;
}
.header-title {
     font-size: 1.6em;
    font-weight: bold;
     color: #4a3c28;
     color: #4a3c28;
     margin-bottom: 8px;
     border-bottom: 1px solid #b3a07d; /* Gold trim */
    line-height: 1.2;
}
.header-intro p {
    font-size: 0.95em;
    color: #5c4e38;
    margin: 0;
}
}


.header-stats {
/* Margin Collapse Fix for Nested Lists/Tables in columns */
    width: 300px;
.mw-parser-output .column-grid > * {
    flex-shrink: 0;
     margin-top: 0;
    background-color: #f1e7d3 !important;
    border: 1px solid #b3a07d;
    padding: 20px 25px;
    box-sizing: border-box;
}
.header-stats ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.header-stats li {
    display: flex;
    justify-content: space-between;
     margin-bottom: 6px;
    font-size: 0.9em;
    border-bottom: 1px dashed #d1c4ac;
    padding-bottom: 6px;
}
}
.header-stats li:last-child {
.mw-parser-output .column-grid > *:last-child {
     margin-bottom: 0;
     margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}
.header-stats b {
    color: #4a3c28;
}
@media screen and (max-width: 900px) {
    .mainpage-header { flex-direction: column; }
    .header-stats { width: 100%; }
}
}


/* --- 4. Section Titles --- */
/* Responsive Scaling */
.section-title {
@media screen and (max-width: 980px) {
     font-family: 'PT Serif', Georgia, serif;
     #content { margin: 10px; border-width: 2px; }
    font-size: 1.15em;
    font-weight: bold;
    color: #4a3c28;
    padding: 8px 14px 7px;
    border-bottom: 2px solid #b3a07d;
    background-color: #f1e7d3;
    margin: 0 0 14px 0;
}
}


/* --- 5. Tile Layout Engine --- */
/* Reader Mode */
.tile-row {
body.reader-mode-active #mw-panel,
     display: grid;
body.reader-mode-active #mw-head {
    gap: 8px;
     display: none;
    margin-bottom: 14px;
}
}
.updates-row {
body.reader-mode-active #content {
    grid-template-columns: 1fr 1fr;
     margin-left: auto;
    background-color: #fcf6e8;
     margin-right: auto;
    border: 1px solid #b3a07d;
     max-width: 960px;
    gap: 0;
     padding: 40px;
}
.categories-grid {
    grid-template-columns: repeat(4, 1fr);
    background-color: #f1e7d3;
    padding: 10px;
    border: 1px solid #b3a07d;
}
 
.tile-halves {
    display: flex;
    flex-direction: column;
}
 
/* Update Cards specific */
.update-card {
    padding: 12px 14px;
    border-right: 1px solid #b3a07d;
}
.update-card:last-child { border-right: none; }
.update-header {
    font-family: 'Inter', sans-serif;
    font-size: 0.7em;
    font-weight: 700;
    text-transform: uppercase;
    color: #5c4e38;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}
.update-title {
    font-size: 0.95em;
    font-weight: bold;
    margin-bottom: 6px;
    line-height: 1.3;
}
.update-title a {
    color: #a61c1c !important;
    text-decoration: none;
}
.update-title a:hover { text-decoration: underline; }
 
/* Category Cards specific (.tile-top / .tile-bottom) */
.categories-grid .tile-halves {
    border: 1px solid #b3a07d;
    background-color: #ffffff;
}
.tile-top.tile-image {
    background-color: #ffffff !important;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-bottom: 1px solid #b3a07d;
}
.tile-top.tile-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.tile-bottom.link-button {
    background-color: #fcf6e8 !important;
    padding: 8px 6px;
    text-align: center;
    font-size: 0.9em;
    flex-grow: 1;
}
.tile-bottom.link-button a {
    color: #611313 !important;
    font-weight: bold;
    text-decoration: none !important;
    display: block;
}
.tile-bottom.link-button a:hover { text-decoration: underline !important; }
 
/* --- 6. Popular Pages & Skills --- */
.popular-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    background-color: #f1e7d3;
    padding: 10px;
    border: 1px solid #b3a07d;
     margin-bottom: 14px;
}
.link-button.dark-button a {
    display: block;
    background-color: #5c4e38 !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif;
    font-weight: bold;
    font-size: 0.85em;
    text-align: center;
    padding: 12px 6px;
    text-decoration: none !important;
    border: 1px solid #3d3324;
}
.link-button.dark-button a:hover { background-color: #6e5e44 !important; }
 
.skills-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background-color: #fcf6e8;
    border: 1px solid #b3a07d;
    padding: 8px 10px;
    margin-bottom: 14px;
}
.skill-item {
    padding: 8px 10px;
    font-size: 0.85em;
    border-bottom: 1px solid #b3a07d;
    border-right: 1px solid #b3a07d;
    display: flex;
    align-items: center;
    gap: 8px;
}
.skill-item:nth-child(3n) { border-right: none; }
.skill-item a {
    color: #4a3c28 !important;
    font-weight: bold;
    text-decoration: none;
}
.skill-item a:hover { color: #611313 !important; text-decoration: underline; }
 
/* --- 7. Sidebar Widgets --- */
.discord-widget, .widget-box {
    background-color: #f1e7d3;
    border: 1px solid #b3a07d;
    margin-bottom: 14px;
}
 
.discord-widget {
    background-color: #3b5580 !important;
    border: 1px solid #263854 !important;
    color: #ffffff;
}
.discord-title {
    font-family: 'PT Serif', Georgia, serif;
    font-size: 1.15em;
    font-weight: bold;
    border-bottom: 1px solid #526e9c;
    padding: 10px 14px;
}
.discord-body { padding: 12px 14px; }
.discord-body p { margin: 0 0 12px 0; font-size: 0.85em; line-height: 1.5; color: #e2e8f0; }
.discord-btn a {
    display: block;
    background-color: #21324d !important;
    color: #ffffff !important;
    text-align: center;
    padding: 10px;
    font-family: 'Inter', sans-serif;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid #141f30;
    border-radius: 2px;
}
.discord-btn a:hover { background-color: #17253a !important; }
 
.widget-title {
    font-family: 'PT Serif', Georgia, serif;
    font-size: 1.15em;
    font-weight: bold;
    color: #4a3c28;
    border-bottom: 1px solid #b3a07d;
    padding: 10px 14px;
}
.widget-body {
    padding: 12px 14px;
    font-size: 0.85em;
    background-color: #fcf6e8;
    line-height: 1.6;
}
.widget-body p { margin: 0 0 8px 0; }
.plainlist ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.plainlist li {
    margin-bottom: 4px;
}
.plainlist li::before {
    content: "•";
    color: #611313;
     margin-right: 6px;
     font-weight: bold;
}
.plainlist a {
    color: #611313 !important;
    font-weight: bold;
    text-decoration: none;
}
.plainlist a:hover { text-decoration: underline; }
 
@media screen and (max-width: 900px) {
    .updates-row, .categories-grid, .popular-grid, .skills-grid {
        grid-template-columns: 1fr;
     }
    .update-card { border-right: none; border-bottom: 1px solid #b3a07d; }
}
}

Revision as of 01:39, 11 July 2026

/* ==========================================================================
   OSRS EXACT REPLICA DESIGN SYSTEM
   ========================================================================== */

/* Custom Fonts */
@font-face {
    font-family: 'Kingthings Petrock';
    src: url('/resources/assets/fonts/Kingthings_Petrock.woff2') format('woff2');
}
@font-face {
    font-family: 'League Spartan';
    src: url('/resources/assets/fonts/LeagueSpartan-Bold.woff2') format('woff2');
}
@font-face {
    font-family: 'Museo Sans';
    src: url('/resources/assets/fonts/MuseoSans-500.woff2') format('woff2');
}
@font-face {
    font-family: 'RuneScape Chat';
    src: url('/resources/assets/fonts/RuneScape-Chat.woff2') format('woff2');
}

/* Base Body Override */
body {
    background: url('/resources/assets/background_stone.png') repeat !important;
    background-color: #2b2b2b !important;
    font-family: 'Museo Sans', Arial, sans-serif;
}

/* Content Parchment Container */
#content {
    background: url('/resources/assets/background_parchment.png') repeat #f1e7d3 !important;
    border: 3px solid #3d2b1f !important;
    border-radius: 4px;
    margin-top: 15px;
}

#mw-content-text {
    background-color: transparent !important;
}

/* Header Styling */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Kingthings Petrock', serif;
    color: #4a3c28;
    border-bottom: 1px solid #b3a07d; /* Gold trim */
}

/* Margin Collapse Fix for Nested Lists/Tables in columns */
.mw-parser-output .column-grid > * {
    margin-top: 0;
}
.mw-parser-output .column-grid > *:last-child {
    margin-bottom: 0;
}

/* Responsive Scaling */
@media screen and (max-width: 980px) {
    #content { margin: 10px; border-width: 2px; }
}

/* Reader Mode */
body.reader-mode-active #mw-panel,
body.reader-mode-active #mw-head {
    display: none;
}
body.reader-mode-active #content {
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
    padding: 40px;
}