MediaWiki:Common.css: Difference between revisions

    From Marovi AI
    No edit summary
    Tag: Reverted
    ([deploy-bot] Deploy site-wide CSS (v1.2.0))
    Tag: ci-deploy
     
    (One intermediate revision by one other user not shown)
    Line 1: Line 1:
    /* CSS placed here will be applied to all skins */
    /* ============================================================
      Marovi — Custom Reading Experience Styles
      Applied via MediaWiki:Common.css
      ============================================================ */


    /* Capitalize language names in the language selector */
    /* --- Summary Box ------------------------------------------- */
    .mw-portlet-lang ul li a {
    .marovi-summary {
         text-transform: capitalize !important;
        background: #f0f4f8;
        border-left: 4px solid #3a7bd5;
        padding: 16px 20px;
        margin: 0 0 24px 0;
        border-radius: 0 6px 6px 0;
        font-size: 0.95em;
        line-height: 1.7;
        color: #1a1a2e;
    }
     
    .marovi-summary-label {
        font-weight: 600;
        font-size: 0.8em;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #3a7bd5;
        margin-bottom: 8px;
    }
     
    .marovi-summary-text {
        margin-bottom: 10px;
    }
     
    .marovi-summary-text:last-child {
        margin-bottom: 0;
    }
     
    .marovi-summary-keypoints {
        margin: 10px 0 0 0;
        padding: 0;
        list-style: none;
    }
     
    .marovi-summary-keypoints li {
        padding: 3px 0 3px 18px;
        position: relative;
    }
     
    .marovi-summary-keypoints li::before {
        content: "\2022";
        color: #3a7bd5;
        font-weight: bold;
        position: absolute;
        left: 0;
    }
     
    /* --- Infobox (Article + Paper) ----------------------------- */
    .marovi-infobox {
        float: right;
        clear: right;
        width: 280px;
        margin: 0 0 16px 20px;
        border: 1px solid #c8ccd1;
        border-radius: 6px;
        background: #fafbfc;
        font-size: 0.88em;
        line-height: 1.5;
    }
     
    .marovi-infobox-header {
        background: #2b3a4e;
        color: #ffffff;
        padding: 10px 14px;
        font-weight: 600;
        font-size: 1.05em;
        border-radius: 6px 6px 0 0;
    }
     
    .marovi-infobox-header.marovi-infobox-header--paper {
        background: #1a4a2e;
    }
     
    .marovi-infobox-body {
        padding: 0;
    }
     
    .marovi-infobox-row {
        padding: 8px 14px;
        border-bottom: 1px solid #eaecef;
        display: flex;
        gap: 8px;
    }
     
    .marovi-infobox-row:last-child {
        border-bottom: none;
    }
     
    .marovi-infobox-label {
        font-weight: 600;
        color: #54616c;
        min-width: 70px;
        flex-shrink: 0;
        font-size: 0.92em;
    }
     
    .marovi-infobox-value {
        color: #1a1a2e;
    }
     
    .marovi-infobox-value a {
        color: #3a7bd5;
    }
     
    .marovi-infobox-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }
     
    .marovi-infobox-tag {
        display: inline-block;
        background: #e8edf2;
        color: #2b3a4e;
        padding: 2px 8px;
        border-radius: 3px;
        font-size: 0.9em;
    }
     
    .marovi-infobox-links {
        padding: 10px 14px;
        border-top: 1px solid #eaecef;
        background: #f5f7f9;
        border-radius: 0 0 6px 6px;
    }
     
    .marovi-infobox-links-label {
        font-weight: 600;
        color: #54616c;
        font-size: 0.85em;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin-bottom: 4px;
    }
     
    .marovi-infobox-links ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
     
    .marovi-infobox-links li {
        padding: 2px 0;
    }
     
    /* --- Related Content --------------------------------------- */
    .marovi-related {
        background: #f5f7f9;
        border: 1px solid #dce1e6;
        border-radius: 6px;
        padding: 16px 20px;
        margin: 24px 0;
    }
     
    .marovi-related-header {
        font-weight: 600;
        font-size: 1em;
        color: #2b3a4e;
        margin-bottom: 12px;
        padding-bottom: 8px;
        border-bottom: 1px solid #dce1e6;
    }
     
    .marovi-related-columns {
        display: flex;
        gap: 32px;
    }
     
    .marovi-related-column {
        flex: 1;
        min-width: 0;
    }
     
    .marovi-related-column-title {
        font-weight: 600;
        font-size: 0.88em;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: #54616c;
        margin-bottom: 6px;
    }
     
    .marovi-related-column ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
     
    .marovi-related-column li {
        padding: 3px 0;
    }
     
    .marovi-related-column li a {
        color: #3a7bd5;
    }
     
    /* --- Glossary Terms ---------------------------------------- */
    .marovi-term {
        border-bottom: 1px dotted #6b7b8d;
        cursor: help;
        position: relative;
    }
     
    .marovi-term:hover {
        border-bottom-color: #3a7bd5;
        color: #3a7bd5;
    }
     
    .marovi-term-popup {
        position: absolute;
        z-index: 1000;
        background: #ffffff;
        border: 1px solid #c8ccd1;
        border-radius: 6px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
        padding: 14px 16px;
        max-width: 320px;
        min-width: 200px;
        font-size: 0.88em;
        line-height: 1.6;
        color: #1a1a2e;
        pointer-events: auto;
    }
     
    .marovi-term-popup::before {
        content: "";
        position: absolute;
        top: -6px;
        left: 20px;
        width: 12px;
        height: 12px;
        background: #ffffff;
        border-left: 1px solid #c8ccd1;
        border-top: 1px solid #c8ccd1;
        transform: rotate(45deg);
    }
     
    .marovi-term-popup-title {
        font-weight: 600;
        font-size: 1.05em;
        margin-bottom: 6px;
        color: #2b3a4e;
    }
     
    .marovi-term-popup-definition {
        margin-bottom: 8px;
    }
     
    .marovi-term-popup-link {
        font-size: 0.9em;
    }
     
    .marovi-term-popup-link a {
        color: #3a7bd5;
    }
     
    /* --- Breadcrumb Navigation --------------------------------- */
    .marovi-topicnav {
        font-size: 0.85em;
        color: #54616c;
        margin-bottom: 12px;
        padding: 6px 0;
        border-bottom: 1px solid #eaecef;
    }
     
    .marovi-topicnav a {
        color: #3a7bd5;
    }
     
    .marovi-topicnav-separator {
        margin: 0 6px;
        color: #c8ccd1;
    }
     
    /* --- Language Tabs ----------------------------------------- */
    .marovi-lang-tabs {
        display: flex;
        gap: 0;
        margin: -8px 0 16px 0;
        border-bottom: 2px solid #eaecef;
        font-size: 0.88em;
    }
     
    .marovi-lang-tab {
        padding: 6px 14px;
        color: #54616c;
         text-decoration: none;
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        transition: color 0.15s, border-color 0.15s;
    }
     
    .marovi-lang-tab:hover {
        color: #3a7bd5;
        text-decoration: none;
    }
     
    .marovi-lang-tab--active {
        color: #2b3a4e;
        font-weight: 600;
        border-bottom-color: #3a7bd5;
    }
     
    /* --- Math Readability -------------------------------------- */
    .mwe-math-element {
        font-size: 1.1em;
        margin: 6px 0;
    }
     
    dd .mwe-math-element,
    .mwe-math-element:only-child {
        margin: 12px 0;
    }
     
    /* --- Code Blocks ------------------------------------------- */
    pre {
        background: #f5f7f9;
        border: 1px solid #dce1e6;
        border-radius: 4px;
        padding: 14px 16px;
        font-size: 0.9em;
        line-height: 1.6;
        overflow-x: auto;
    }
     
    .mw-highlight {
        border-radius: 4px;
        margin: 8px 0;
    }
     
    /* --- Tables ------------------------------------------------ */
    .wikitable {
        border-collapse: collapse;
        margin: 16px 0;
        font-size: 0.92em;
    }
     
    .wikitable th {
        background: #f0f4f8;
        font-weight: 600;
        padding: 8px 12px;
    }
     
    .wikitable td {
        padding: 8px 12px;
    }
     
    /* --- General Typography ------------------------------------ */
    .mw-parser-output {
        line-height: 1.7;
    }
     
    .mw-parser-output > p:first-of-type {
        font-size: 1.02em;
    }
     
    /* --- CJK Accommodations ----------------------------------- */
    .marovi-lang-zh .mw-parser-output {
        font-size: 1.03em;
        line-height: 1.85;
        font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
    }
     
    .marovi-lang-zh .marovi-term-popup {
        font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
        line-height: 1.8;
    }
     
    /* --- Responsive -------------------------------------------- */
    @media (max-width: 720px) {
        .marovi-infobox {
            float: none;
            width: 100%;
            margin: 0 0 16px 0;
        }
     
        .marovi-related-columns {
            flex-direction: column;
            gap: 16px;
        }
     
        .marovi-term-popup {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            max-width: none;
            border-radius: 12px 12px 0 0;
            box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
        }
     
        .marovi-term-popup::before {
            display: none;
        }
    }
     
    /* --- Print ------------------------------------------------- */
    @media print {
        .marovi-infobox,
        .marovi-term-popup,
        .marovi-lang-tabs,
        .marovi-topicnav {
            display: none;
        }
     
        .marovi-summary {
            border: 1px solid #ccc;
            page-break-inside: avoid;
        }
     
        .marovi-term {
            border-bottom: none;
            cursor: default;
        }
    }
    }

    Latest revision as of 06:11, 24 April 2026

    /* ============================================================
       Marovi — Custom Reading Experience Styles
       Applied via MediaWiki:Common.css
       ============================================================ */
    
    /* --- Summary Box ------------------------------------------- */
    .marovi-summary {
        background: #f0f4f8;
        border-left: 4px solid #3a7bd5;
        padding: 16px 20px;
        margin: 0 0 24px 0;
        border-radius: 0 6px 6px 0;
        font-size: 0.95em;
        line-height: 1.7;
        color: #1a1a2e;
    }
    
    .marovi-summary-label {
        font-weight: 600;
        font-size: 0.8em;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #3a7bd5;
        margin-bottom: 8px;
    }
    
    .marovi-summary-text {
        margin-bottom: 10px;
    }
    
    .marovi-summary-text:last-child {
        margin-bottom: 0;
    }
    
    .marovi-summary-keypoints {
        margin: 10px 0 0 0;
        padding: 0;
        list-style: none;
    }
    
    .marovi-summary-keypoints li {
        padding: 3px 0 3px 18px;
        position: relative;
    }
    
    .marovi-summary-keypoints li::before {
        content: "\2022";
        color: #3a7bd5;
        font-weight: bold;
        position: absolute;
        left: 0;
    }
    
    /* --- Infobox (Article + Paper) ----------------------------- */
    .marovi-infobox {
        float: right;
        clear: right;
        width: 280px;
        margin: 0 0 16px 20px;
        border: 1px solid #c8ccd1;
        border-radius: 6px;
        background: #fafbfc;
        font-size: 0.88em;
        line-height: 1.5;
    }
    
    .marovi-infobox-header {
        background: #2b3a4e;
        color: #ffffff;
        padding: 10px 14px;
        font-weight: 600;
        font-size: 1.05em;
        border-radius: 6px 6px 0 0;
    }
    
    .marovi-infobox-header.marovi-infobox-header--paper {
        background: #1a4a2e;
    }
    
    .marovi-infobox-body {
        padding: 0;
    }
    
    .marovi-infobox-row {
        padding: 8px 14px;
        border-bottom: 1px solid #eaecef;
        display: flex;
        gap: 8px;
    }
    
    .marovi-infobox-row:last-child {
        border-bottom: none;
    }
    
    .marovi-infobox-label {
        font-weight: 600;
        color: #54616c;
        min-width: 70px;
        flex-shrink: 0;
        font-size: 0.92em;
    }
    
    .marovi-infobox-value {
        color: #1a1a2e;
    }
    
    .marovi-infobox-value a {
        color: #3a7bd5;
    }
    
    .marovi-infobox-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }
    
    .marovi-infobox-tag {
        display: inline-block;
        background: #e8edf2;
        color: #2b3a4e;
        padding: 2px 8px;
        border-radius: 3px;
        font-size: 0.9em;
    }
    
    .marovi-infobox-links {
        padding: 10px 14px;
        border-top: 1px solid #eaecef;
        background: #f5f7f9;
        border-radius: 0 0 6px 6px;
    }
    
    .marovi-infobox-links-label {
        font-weight: 600;
        color: #54616c;
        font-size: 0.85em;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin-bottom: 4px;
    }
    
    .marovi-infobox-links ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    
    .marovi-infobox-links li {
        padding: 2px 0;
    }
    
    /* --- Related Content --------------------------------------- */
    .marovi-related {
        background: #f5f7f9;
        border: 1px solid #dce1e6;
        border-radius: 6px;
        padding: 16px 20px;
        margin: 24px 0;
    }
    
    .marovi-related-header {
        font-weight: 600;
        font-size: 1em;
        color: #2b3a4e;
        margin-bottom: 12px;
        padding-bottom: 8px;
        border-bottom: 1px solid #dce1e6;
    }
    
    .marovi-related-columns {
        display: flex;
        gap: 32px;
    }
    
    .marovi-related-column {
        flex: 1;
        min-width: 0;
    }
    
    .marovi-related-column-title {
        font-weight: 600;
        font-size: 0.88em;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: #54616c;
        margin-bottom: 6px;
    }
    
    .marovi-related-column ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    
    .marovi-related-column li {
        padding: 3px 0;
    }
    
    .marovi-related-column li a {
        color: #3a7bd5;
    }
    
    /* --- Glossary Terms ---------------------------------------- */
    .marovi-term {
        border-bottom: 1px dotted #6b7b8d;
        cursor: help;
        position: relative;
    }
    
    .marovi-term:hover {
        border-bottom-color: #3a7bd5;
        color: #3a7bd5;
    }
    
    .marovi-term-popup {
        position: absolute;
        z-index: 1000;
        background: #ffffff;
        border: 1px solid #c8ccd1;
        border-radius: 6px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
        padding: 14px 16px;
        max-width: 320px;
        min-width: 200px;
        font-size: 0.88em;
        line-height: 1.6;
        color: #1a1a2e;
        pointer-events: auto;
    }
    
    .marovi-term-popup::before {
        content: "";
        position: absolute;
        top: -6px;
        left: 20px;
        width: 12px;
        height: 12px;
        background: #ffffff;
        border-left: 1px solid #c8ccd1;
        border-top: 1px solid #c8ccd1;
        transform: rotate(45deg);
    }
    
    .marovi-term-popup-title {
        font-weight: 600;
        font-size: 1.05em;
        margin-bottom: 6px;
        color: #2b3a4e;
    }
    
    .marovi-term-popup-definition {
        margin-bottom: 8px;
    }
    
    .marovi-term-popup-link {
        font-size: 0.9em;
    }
    
    .marovi-term-popup-link a {
        color: #3a7bd5;
    }
    
    /* --- Breadcrumb Navigation --------------------------------- */
    .marovi-topicnav {
        font-size: 0.85em;
        color: #54616c;
        margin-bottom: 12px;
        padding: 6px 0;
        border-bottom: 1px solid #eaecef;
    }
    
    .marovi-topicnav a {
        color: #3a7bd5;
    }
    
    .marovi-topicnav-separator {
        margin: 0 6px;
        color: #c8ccd1;
    }
    
    /* --- Language Tabs ----------------------------------------- */
    .marovi-lang-tabs {
        display: flex;
        gap: 0;
        margin: -8px 0 16px 0;
        border-bottom: 2px solid #eaecef;
        font-size: 0.88em;
    }
    
    .marovi-lang-tab {
        padding: 6px 14px;
        color: #54616c;
        text-decoration: none;
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        transition: color 0.15s, border-color 0.15s;
    }
    
    .marovi-lang-tab:hover {
        color: #3a7bd5;
        text-decoration: none;
    }
    
    .marovi-lang-tab--active {
        color: #2b3a4e;
        font-weight: 600;
        border-bottom-color: #3a7bd5;
    }
    
    /* --- Math Readability -------------------------------------- */
    .mwe-math-element {
        font-size: 1.1em;
        margin: 6px 0;
    }
    
    dd .mwe-math-element,
    .mwe-math-element:only-child {
        margin: 12px 0;
    }
    
    /* --- Code Blocks ------------------------------------------- */
    pre {
        background: #f5f7f9;
        border: 1px solid #dce1e6;
        border-radius: 4px;
        padding: 14px 16px;
        font-size: 0.9em;
        line-height: 1.6;
        overflow-x: auto;
    }
    
    .mw-highlight {
        border-radius: 4px;
        margin: 8px 0;
    }
    
    /* --- Tables ------------------------------------------------ */
    .wikitable {
        border-collapse: collapse;
        margin: 16px 0;
        font-size: 0.92em;
    }
    
    .wikitable th {
        background: #f0f4f8;
        font-weight: 600;
        padding: 8px 12px;
    }
    
    .wikitable td {
        padding: 8px 12px;
    }
    
    /* --- General Typography ------------------------------------ */
    .mw-parser-output {
        line-height: 1.7;
    }
    
    .mw-parser-output > p:first-of-type {
        font-size: 1.02em;
    }
    
    /* --- CJK Accommodations ----------------------------------- */
    .marovi-lang-zh .mw-parser-output {
        font-size: 1.03em;
        line-height: 1.85;
        font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
    }
    
    .marovi-lang-zh .marovi-term-popup {
        font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
        line-height: 1.8;
    }
    
    /* --- Responsive -------------------------------------------- */
    @media (max-width: 720px) {
        .marovi-infobox {
            float: none;
            width: 100%;
            margin: 0 0 16px 0;
        }
    
        .marovi-related-columns {
            flex-direction: column;
            gap: 16px;
        }
    
        .marovi-term-popup {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            max-width: none;
            border-radius: 12px 12px 0 0;
            box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
        }
    
        .marovi-term-popup::before {
            display: none;
        }
    }
    
    /* --- Print ------------------------------------------------- */
    @media print {
        .marovi-infobox,
        .marovi-term-popup,
        .marovi-lang-tabs,
        .marovi-topicnav {
            display: none;
        }
    
        .marovi-summary {
            border: 1px solid #ccc;
            page-break-inside: avoid;
        }
    
        .marovi-term {
            border-bottom: none;
            cursor: default;
        }
    }