MediaWiki:Timeless.css: Difference between revisions

From HUIJIA FUN
Edit
New System
Line 1: Line 1:
/*  
/* =====================================================================
源自音MAD维基 https://otomad.wiki/MediaWiki:Timeless.css
* HUIJIA FUN (EN) - MediaWiki:Timeless.css - v2
版权协定:知识共享 署名 3.0
* Design language: VGR Design System
开源地址https://github.com/OtomadWiki/Kawaii-Timeless/
*
*/
* Only Timeless-specific fixes live here; styles shared by all skins are in Common.css.
* Organized by block: header / left sidebar / right toolbar / content card / popups and
* extensions / icons.
* When the custom Timeless skin is built, move these blocks into the skin's resources/
* one at a time, deleting each block here once it has moved.
*
* Colors always read the variables from Common.css and the theme templates (--paper, --ink,
* --accent...), never hard-coded values, so everything works under Theme-HJ / Theme-STR /
* Theme-VGR.
* ===================================================================== */


.mw-body h6{
 
color: #212121;
/* =====================================================================
font-weight: bold;
* 1. Header
* ===================================================================== */
#mw-header-nav-hack,
#mw-header-hack { box-shadow: none; }
 
/* Notification (Echo) popup: the theme templates raise the header to z-index 1000,
  so the popup has to sit higher or the header covers it */
div.mw-echo-ui-overlay { z-index: 1100; }
 
.oo-ui-clippableElement-clippable.oo-ui-popupWidget-body { max-width: unset !important; }
.oo-ui-popupWidget-popup {
    border: 1px solid var(--rule);
    border-radius: 0;
    background-color: var(--paper-raised);
}
}
/*平板页面导航字体修改*/
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--rule); }
#mw-site-navigation h2, #mw-related-navigation h2{
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--paper-raised); }
font-weight: 500;
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head { border-bottom: 1px solid var(--rule); }
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-top: 1px solid var(--rule); }
.mw-echo-ui-notificationItemWidget {
    background-color: transparent;
    border-bottom: 1px solid var(--rule);
}
}
/*body修改及修复line-height修改后的bug*/
.mw-echo-ui-notificationItemWidget:hover { background-color: var(--accent-tint); }
body.ns-1 .mw-body h1.firstHeading, body.ns-3 .mw-body h1.firstHeading{
.mw-echo-ui-notificationItemWidget:focus { box-shadow: inset 0 0 0 2px var(--focus); }
margin-bottom: .5em;
@media screen and (max-width: 850px) {
    .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor { display: none; }
}
}
li{
 
margin-bottom: 10px;
 
/* =====================================================================
* 2. Left sidebar and right toolbar (including tablet and phone dropdowns)
* ===================================================================== */
#mw-site-navigation h2,
#mw-related-navigation h2 { font-weight: 600; }
 
/* No shadow on sidebar blocks at tablet width */
@media screen and (min-width: 851px) and (max-width: 1099px) {
    #mw-site-navigation .sidebar-chunk,
    #mw-related-navigation .sidebar-chunk { box-shadow: none; }
}
}
/*顶栏*/
 
.oo-ui-clippableElement-clippable.oo-ui-popupWidget-body{
/* Tablet and phone: the sidebars become dropdown menus; a thin rule and a light shadow
max-width: unset !important;
  separate the menu from the page */
@media screen and (max-width: 1099px) {
    .sidebar-inner,
    .dropdown {
        border: 1px solid var(--rule) !important;
        border-radius: 0;
        box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.35) !important;
    }
}
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child{
@media screen and (max-width: 850px) {
border-left: none;
    .sidebar-inner,
    .dropdown { z-index: 501; }
}
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer{
#menus-cover { background: #000; opacity: 0.2; }
border-top: none;
 
 
/* =====================================================================
* 3. Content card
* ===================================================================== */
/* Title spacing on talk and user talk pages */
body.ns-1 .mw-body h1.firstHeading,
body.ns-3 .mw-body h1.firstHeading { margin-bottom: .5em; }
 
/* List spacing in article text (the old rule added 10px to every li on the site,
  which stretched the menus too) */
.mw-parser-output li { margin-bottom: 0.3em; }
 
/* Table of contents, file TOC, warning boxes: thin rules, no shadow, no rounding */
ul#filetoc,
.toc,
.mw-warning {
    border: 1px solid var(--rule);
    border-radius: 0;
    box-shadow: none;
    background: var(--paper-raised);
}
}
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head{
div.mw-warning-with-logexcerpt {
border-bottom: none;
    padding: 4px 16px !important;
box-shadow: 0 0px 9px rgb(0 0 0 / 9%);
    margin-bottom: 10px !important;
    border: 1px solid var(--rule) !important;
    border-left: 3px solid var(--link-new) !important;
    border-radius: 0 !important;
    clear: both !important;
}
}
.oo-ui-popupWidget-popup{
 
border: none;
/* Hide the "Help" link */
}
body #mw-wrapper .mw-helplink,
.oo-ui-popupWidget{
body #mw-wrapper #mw-indicator-mw-helplink { display: none; }
filter: drop-shadow(0 15px 20px rgb(0 0 0 / 20%));
 
}
 
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before{
/* =====================================================================
border-bottom-color: #fff;
* 4. Buttons, dialogs and extensions
}
* ===================================================================== */
div.mw-echo-ui-overlay{
/* Native buttons: solid Huijia Green, no scaling or bounce */
z-index: 600;
button,
}
html input[type="button"],
#mw-header-nav-hack, #mw-header-hack{
input[type="reset"],
box-shadow: unset;
input[type="submit"] {
}
    background-color: var(--accent-fill);
/*现代化搜索框*/
    color: var(--on-accent);
#simpleSearch{
    opacity: 100;
}
/*目录卡片*/
ul#filetoc, .toc, .mw-warning{
border: unset;
box-shadow: 0 2px 5px 0px rgb(0 0 0 / 0.2);
background: #fff;
border-radius: 4px;
}
/*移动端菜单*/
#menus-cover{
background: #000;
opacity: 0.15;
}
#site-navigation .sidebar-inner{
border: unset;
}
.sidebar-inner, .dropdown{
border: unset;
border-radius: 6px;
}
@media screen and (max-width: 1099px) and (min-width: 851px){
.sidebar-inner, .dropdown{
border: unset !important;
box-shadow: 0 2px 30px 1px rgb(0 0 0 / 0.2) !important;
}
#mw-site-navigation .sidebar-inner{
border: unset !important;
box-shadow: 0 2px 30px 1px rgb(0 0 0 / 0.2) !important;
}
}
@media screen and (max-width: 850px){
.sidebar-inner, .dropdown{
box-shadow: 0 2px 30px 1px rgb(0 0 0 / 0.2) !important;
z-index: 501;
}
}
@media screen and (max-width: 1099px) and (min-width: 851px){
#mw-related-navigation .sidebar-inner{
border: unset !important;
box-shadow: 0 2px 30px 1px rgb(0 0 0 / 0.2) !important;
}
}
/*个人资料设置页*/
.profile-tab{
background-color: unset;
padding: 9px 10px 10px;
font-size: 16px;
}
.profile-tab a:visited, .profile-tab a {
color: #000 !important;
}
.profile-tab-on a:visited, .profile-tab-on a {
color: var(--color-primary) !important;
}
.profile-tab-on{
background-color: unset;
padding: 9px 10px 10px;
font-size: 16px;
border-bottom: solid 2px var(--color-primary);
}
.eye-container .title{
color: #000;
font-size: 14px;
}
.eye-container{
box-shadow: none;
opacity: 1.0;
}
/*按钮*/
button, html input[type="button"], input[type="reset"], input[type="submit"]{
background-color: var(--color-primary);
     border: none;
     border: none;
    outline-color: #000;
    border-color: #000;
     border-radius: 2px;
     border-radius: 2px;
    color: #fff;
     padding: 5px 12px;
     padding: 5px 12px;
     margin-right: 5px;
     margin-right: 5px;
     font-weight: bold;
     font-weight: 600;
     transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 150ms,transform 150ms;
     transition: background-color 100ms;
    box-shadow: 0 4px 4px rgb(0 0 0 / 15%);
}
}
button:hover, html input[type="button"]:hover, input[type="submit"]:hover {
button:hover,
    background-color: var(--color-hover);
html input[type="button"]:hover,
box-shadow: 0 9px 9px rgb(0 0 0 / 15%);
input[type="submit"]:hover { background-color: #3B7E3D; }
}
button:focus-visible,
button:active, html input[type="button"]:active, input[type="submit"]:active {
html input[type="button"]:focus-visible,
    background-color: var(--color-dark);
input[type="submit"]:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
    box-shadow: 0 0 0 rgb(0 0 0 / 15%) !important;
 
    transform: scale(.95);
.mw-ui-button { border: none; }
}
.mw-ui-button.mw-ui-progressive { border-radius: 2px; }
button:focus, html input[type="button"]:focus, input[type="submit"]:focus {
.mw-ui-button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
    box-shadow: 0 0 0 4px rgb(251 114 153 / 25%);
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-buttonElement > .oo-ui-buttonElement-button { box-shadow: none; }
    outline: 1px solid transparent;
 
}
/* Dialogs (including the media player) */
.mw-ui-button:not(:disabled){
.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame {
transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 150ms,transform 150ms;
    border: 1px solid var(--rule);
}
    border-radius: 0;
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement > .oo-ui-buttonElement-button{
     box-shadow: 0 16px 32px -12px rgba(0, 0, 0, 0.45);
box-shadow: none;
}
.mw-ui-button{
border: none;
border-color: #000;
outline-color: #000;
}
.mw-ui-button:focus{
border-color: var(--color-primary);
box-shadow: inset 0 0 0 1px var(--color-primary), inset 0 0 0 2px #ffffff;
}
/*播放器*/
.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame{
border: none;
box-shadow: 0 10px 20px 0 rgba(0,0,0,0.3);
border-radius: 4px;
}
/*修改图标颜色*/
.oo-ui-image-progressive.oo-ui-icon-edit, .mw-ui-icon-edit-progressive:before{
background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Eedit%3C/title%3E%3Cg fill=%22%23fb7299%22%3E%3Cpath d=%22M16.77 8l1.94-2a1 1 0 000-1.41l-3.34-3.3a1 1 0 00-1.41 0L12 3.23zM1 14.25V19h4.75l9.96-9.96-4.75-4.75z%22/%3E%3C/g%3E%3C/svg%3E");
}
.oo-ui-image-progressive.oo-ui-icon-settings, .mw-ui-icon-settings-progressive:before{
background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Esettings%3C/title%3E%3Cg fill=%22%23fb7299%22%3E%3Cg xmlns:xlink=%22http://www.w3.org/1999/xlink%22 transform=%22translate%2810 10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3%22/%3E%3Cuse transform=%22rotate%2845%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%2890%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%28135%29%22 xlink:href=%22%23a%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0 010 7 3.5 3.5 0 010-7%22/%3E%3C/g%3E%3C/svg%3E");
}
/*媒体查看器*/
.mw-ui-button.mw-ui-progressive{
border-radius: 2px;
}
.mw-mmv-close,.mw-mmv-options-button{
transition: transform 300ms;
}
.mw-mmv-close:hover{
     transform: rotate(-180deg);
}
.mw-mmv-options-button:hover{
transform: rotate(-90deg);
}
.mw-mmv-download-button, .mw-mmv-reuse-button, .mw-mmv-options-button, .mw-mmv-close, .mw-mmv-fullscreen, .mw-mmv-next-image, .mw-mmv-prev-image{
box-shadow: none !important;
background-color: transparent !important;
border: none !important;
}
.mw-mmv-download-button.mw-mmv-dialog-open, .mw-mmv-reuse-button.mw-mmv-dialog-open, .mw-mmv-options-button.mw-mmv-dialog-open, .mw-mmv-close.mw-mmv-dialog-open, .mw-mmv-fullscreen.mw-mmv-dialog-open, .mw-mmv-next-image.mw-mmv-dialog-open, .mw-mmv-prev-image.mw-mmv-dialog-open, .mw-mmv-download-button:hover, .mw-mmv-reuse-button:hover, .mw-mmv-options-button:hover, .mw-mmv-close:hover, .mw-mmv-fullscreen:hover, .mw-mmv-next-image:hover, .mw-mmv-prev-image:hover{
background-color: unset !important;
border: none !important;
}
/*SocialProfile*/
.relationship-item{
box-shadow: 0 3px 6px rgb(0 0 0 / 4%), 0 3px 6px rgb(0 0 0 / 6%);
    border: 1px solid;
    border-color: rgba(0,0,0,0.05);
    border-radius: 8px;
}
.relationship-item img{
border-radius: 2em;
}
.relationship-action img{
border-radius: 2em;
}
#profile-title-container {
    padding: 19px 0 6px 6px;
}
#profile-top{
border-bottom: none;
}
.user-section-heading{
line-height: 34px;
}
/*警告卡片*/
div.mw-warning-with-logexcerpt{
    padding: 4px 16px !important;
    margin-bottom: 10px !important;
    border: unset !important;
    clear: both !important;
    border-radius: var(--border-radius--medium) !important;
}
/*去掉平板端奇怪的阴影*/
@media screen and (min-width: 851px) and (max-width: 1099px){
#mw-related-navigation .sidebar-chunk{
box-shadow: none;
}
}
@media screen and (min-width: 851px) and (max-width: 1099px){
#mw-site-navigation .sidebar-chunk{
box-shadow: none;
}
}
/*通知*/
.mw-echo-ui-notificationItemWidget{
background-color: unset;
border:1px solid #f9f9f9;
}
.mw-echo-ui-notificationItemWidget:hover{
background-color: unset;
}
.mw-echo-ui-notificationItemWidget:focus{
box-shadow: inset 0 0 0 1px var(--color-primary);
}
@media screen and (max-width: 850px){
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor{
    display: none;
}}
/*隐藏帮助*/
body #mw-wrapper .mw-helplink, body #mw-wrapper #mw-indicator-mw-helplink{
display: none;
}
}


/*针对移动端用户页的竖向排列*/
/* Media viewer: no background or border on the tool buttons */
@media screen and (max-width: 850px){
.mw-mmv-download-button, .mw-mmv-reuse-button, .mw-mmv-options-button, .mw-mmv-close,
#user-page-left {
.mw-mmv-fullscreen, .mw-mmv-next-image, .mw-mmv-prev-image {
     width: 100%;
     box-shadow: none !important;
     float: none;}
     background-color: transparent !important;
#user-page-right {
     border: none !important;
    width: 100%;
     float: none;
    }
}
}


#wpUploadFile::file-selector-button {
/* SocialProfile: friends list */
     display: none !important;
.relationship-item {
    border: 1px solid var(--rule);
    border-radius: 0;
     background: var(--paper-raised);
}
}
.relationship-item img,
.relationship-action img { border-radius: 50%; }
#profile-title-container { padding: 19px 0 6px 6px; }
#profile-top { border-bottom: none; }
.user-section-heading { line-height: 34px; }


/* Icon */
#n-The-VGR-Canon a:before{content: 'public';}
#n-Archive-Area a:before{content: 'archive';}
#n-Worldview-Area a:before{content: 'travel_explore';}


#n-Record a:before{content: 'folder_open';}
/* =====================================================================
#n-Origin a:before{content: 'movie';}
* 5. Icons: sidebar
#n-Tangent a:before{content: 'ondemand_video';}
*    The three zone entries carry the VGR zone marks (Archive = square, Worldview = diamond,
*    Canon = three dots); other entries have no icon.
*    Sidebar ids are generated from the link text in MediaWiki:Sidebar, with spaces turned
*    into hyphens ("Archive Area" -> #n-Archive-Area). If the link text changes, update the
*    selectors here.
* ===================================================================== */
/* Drawn with CSS: all three marks share one size and baseline and do not depend on a font.
  --vgr-mark has a fallback color, so the marks show even on pages without Common.css or a
  theme template. */
#n-Archive-Area a:before,
#n-Worldview-Area a:before,
#n-Verdant-Green-Revelation a:before {
    --vgr-mark: var(--accent, #025F32);
    content: '' !important;
    font-family: inherit !important;
    display: inline-block !important;
    box-sizing: border-box;
    width: 12px !important;
    height: 12px !important;
    margin: 0 10px 0 0 !important;
    vertical-align: middle;
    position: relative;
    top: -1px;
    background-repeat: no-repeat !important;
}


#n-Mythology a:before{content: 'article';}
/* Archive: solid square */
#n-Entity a:before{content: 'group';}
#n-Archive-Area a:before {
#n-Ontology a:before{content: 'public';}
    background-image: linear-gradient(var(--vgr-mark), var(--vgr-mark)) !important;
    background-size: 9px 9px !important;
    background-position: center !important;
}


#n-Search-Page a:before{content: 'pageview';}
/* Worldview (setting): diamond outline with a center dot */
#n-Guideline a:before{content: 'format_list_bulleted';}
#n-Worldview-Area a:before {
#n-Quick-Guide a:before{content: 'book';}
    width: 9px !important;
#n-Test-Page a:before{content: 'science';}
    height: 9px !important;
#n-Task-List a:before{content: 'event_note';}
    margin: 0 11.5px 0 1.5px !important;
#n-Help-Page a:before{content: 'help';}
    border: 1.5px solid var(--vgr-mark);
    background-image: radial-gradient(circle, var(--vgr-mark) 0 1.4px, transparent 1.6px) !important;
    transform: rotate(45deg);
}


/* More */
/* Canon (works): three dots, one above and two below */
#n-Verdant-Green-Revelation a:before {
    background-image:
        radial-gradient(circle at 50% 22%, var(--vgr-mark) 0 1.7px, transparent 1.9px),
        radial-gradient(circle at 18% 78%, var(--vgr-mark) 0 1.7px, transparent 1.9px),
        radial-gradient(circle at 82% 78%, var(--vgr-mark) 0 1.7px, transparent 1.9px) !important;
}

Revision as of 17:25, 12 October 2026

/* =====================================================================
 * HUIJIA FUN (EN) - MediaWiki:Timeless.css - v2
 * Design language: VGR Design System
 *
 * Only Timeless-specific fixes live here; styles shared by all skins are in Common.css.
 * Organized by block: header / left sidebar / right toolbar / content card / popups and
 * extensions / icons.
 * When the custom Timeless skin is built, move these blocks into the skin's resources/
 * one at a time, deleting each block here once it has moved.
 *
 * Colors always read the variables from Common.css and the theme templates (--paper, --ink,
 * --accent...), never hard-coded values, so everything works under Theme-HJ / Theme-STR /
 * Theme-VGR.
 * ===================================================================== */


/* =====================================================================
 * 1. Header
 * ===================================================================== */
#mw-header-nav-hack,
#mw-header-hack { box-shadow: none; }

/* Notification (Echo) popup: the theme templates raise the header to z-index 1000,
   so the popup has to sit higher or the header covers it */
div.mw-echo-ui-overlay { z-index: 1100; }

.oo-ui-clippableElement-clippable.oo-ui-popupWidget-body { max-width: unset !important; }
.oo-ui-popupWidget-popup {
    border: 1px solid var(--rule);
    border-radius: 0;
    background-color: var(--paper-raised);
}
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--rule); }
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--paper-raised); }
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head { border-bottom: 1px solid var(--rule); }
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-top: 1px solid var(--rule); }
.mw-echo-ui-notificationItemWidget {
    background-color: transparent;
    border-bottom: 1px solid var(--rule);
}
.mw-echo-ui-notificationItemWidget:hover { background-color: var(--accent-tint); }
.mw-echo-ui-notificationItemWidget:focus { box-shadow: inset 0 0 0 2px var(--focus); }
@media screen and (max-width: 850px) {
    .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor { display: none; }
}


/* =====================================================================
 * 2. Left sidebar and right toolbar (including tablet and phone dropdowns)
 * ===================================================================== */
#mw-site-navigation h2,
#mw-related-navigation h2 { font-weight: 600; }

/* No shadow on sidebar blocks at tablet width */
@media screen and (min-width: 851px) and (max-width: 1099px) {
    #mw-site-navigation .sidebar-chunk,
    #mw-related-navigation .sidebar-chunk { box-shadow: none; }
}

/* Tablet and phone: the sidebars become dropdown menus; a thin rule and a light shadow
   separate the menu from the page */
@media screen and (max-width: 1099px) {
    .sidebar-inner,
    .dropdown {
        border: 1px solid var(--rule) !important;
        border-radius: 0;
        box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.35) !important;
    }
}
@media screen and (max-width: 850px) {
    .sidebar-inner,
    .dropdown { z-index: 501; }
}
#menus-cover { background: #000; opacity: 0.2; }


/* =====================================================================
 * 3. Content card
 * ===================================================================== */
/* Title spacing on talk and user talk pages */
body.ns-1 .mw-body h1.firstHeading,
body.ns-3 .mw-body h1.firstHeading { margin-bottom: .5em; }

/* List spacing in article text (the old rule added 10px to every li on the site,
   which stretched the menus too) */
.mw-parser-output li { margin-bottom: 0.3em; }

/* Table of contents, file TOC, warning boxes: thin rules, no shadow, no rounding */
ul#filetoc,
.toc,
.mw-warning {
    border: 1px solid var(--rule);
    border-radius: 0;
    box-shadow: none;
    background: var(--paper-raised);
}
div.mw-warning-with-logexcerpt {
    padding: 4px 16px !important;
    margin-bottom: 10px !important;
    border: 1px solid var(--rule) !important;
    border-left: 3px solid var(--link-new) !important;
    border-radius: 0 !important;
    clear: both !important;
}

/* Hide the "Help" link */
body #mw-wrapper .mw-helplink,
body #mw-wrapper #mw-indicator-mw-helplink { display: none; }


/* =====================================================================
 * 4. Buttons, dialogs and extensions
 * ===================================================================== */
/* Native buttons: solid Huijia Green, no scaling or bounce */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    background-color: var(--accent-fill);
    color: var(--on-accent);
    border: none;
    border-radius: 2px;
    padding: 5px 12px;
    margin-right: 5px;
    font-weight: 600;
    transition: background-color 100ms;
}
button:hover,
html input[type="button"]:hover,
input[type="submit"]:hover { background-color: #3B7E3D; }
button:focus-visible,
html input[type="button"]:focus-visible,
input[type="submit"]:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

.mw-ui-button { border: none; }
.mw-ui-button.mw-ui-progressive { border-radius: 2px; }
.mw-ui-button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-buttonElement > .oo-ui-buttonElement-button { box-shadow: none; }

/* Dialogs (including the media player) */
.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame {
    border: 1px solid var(--rule);
    border-radius: 0;
    box-shadow: 0 16px 32px -12px rgba(0, 0, 0, 0.45);
}

/* Media viewer: no background or border on the tool buttons */
.mw-mmv-download-button, .mw-mmv-reuse-button, .mw-mmv-options-button, .mw-mmv-close,
.mw-mmv-fullscreen, .mw-mmv-next-image, .mw-mmv-prev-image {
    box-shadow: none !important;
    background-color: transparent !important;
    border: none !important;
}

/* SocialProfile: friends list */
.relationship-item {
    border: 1px solid var(--rule);
    border-radius: 0;
    background: var(--paper-raised);
}
.relationship-item img,
.relationship-action img { border-radius: 50%; }
#profile-title-container { padding: 19px 0 6px 6px; }
#profile-top { border-bottom: none; }
.user-section-heading { line-height: 34px; }


/* =====================================================================
 * 5. Icons: sidebar
 *    The three zone entries carry the VGR zone marks (Archive = square, Worldview = diamond,
 *    Canon = three dots); other entries have no icon.
 *    Sidebar ids are generated from the link text in MediaWiki:Sidebar, with spaces turned
 *    into hyphens ("Archive Area" -> #n-Archive-Area). If the link text changes, update the
 *    selectors here.
 * ===================================================================== */
/* Drawn with CSS: all three marks share one size and baseline and do not depend on a font.
   --vgr-mark has a fallback color, so the marks show even on pages without Common.css or a
   theme template. */
#n-Archive-Area a:before,
#n-Worldview-Area a:before,
#n-Verdant-Green-Revelation a:before {
    --vgr-mark: var(--accent, #025F32);
    content: '' !important;
    font-family: inherit !important;
    display: inline-block !important;
    box-sizing: border-box;
    width: 12px !important;
    height: 12px !important;
    margin: 0 10px 0 0 !important;
    vertical-align: middle;
    position: relative;
    top: -1px;
    background-repeat: no-repeat !important;
}

/* Archive: solid square */
#n-Archive-Area a:before {
    background-image: linear-gradient(var(--vgr-mark), var(--vgr-mark)) !important;
    background-size: 9px 9px !important;
    background-position: center !important;
}

/* Worldview (setting): diamond outline with a center dot */
#n-Worldview-Area a:before {
    width: 9px !important;
    height: 9px !important;
    margin: 0 11.5px 0 1.5px !important;
    border: 1.5px solid var(--vgr-mark);
    background-image: radial-gradient(circle, var(--vgr-mark) 0 1.4px, transparent 1.6px) !important;
    transform: rotate(45deg);
}

/* Canon (works): three dots, one above and two below */
#n-Verdant-Green-Revelation a:before {
    background-image:
        radial-gradient(circle at 50% 22%, var(--vgr-mark) 0 1.7px, transparent 1.9px),
        radial-gradient(circle at 18% 78%, var(--vgr-mark) 0 1.7px, transparent 1.9px),
        radial-gradient(circle at 82% 78%, var(--vgr-mark) 0 1.7px, transparent 1.9px) !important;
}