MediaWiki:Common.css:修订间差异

来自SOKA CAFE
第41行: 第41行:


/* 表格 */
/* 表格 */
/* ==========================================================================
/*
  MediaWiki Table Beautifier CSS
* MediaWiki Table Beautifier CSS
  ========================================================================== */
*
* Add this to your wiki's MediaWiki:Common.css page.
* This set of styles enhances the default 'wikitable' class
* and provides additional classes for more styling options.
*/


/* General styling for all tables with the 'wikitable' class
/* == Basic Wikitable Enhancements == */
  This builds upon and refines the default MediaWiki 'wikitable' style.
 
  Remove or comment out if you prefer to style from scratch or only target
/*
  tables you explicitly add another class to.
* Apply a more modern look to the standard 'wikitable'.
*/
* - Uses border-collapse for cleaner lines.
* - Ensures full width by default (can be overridden).
* - Adds subtle box shadow for depth.
*/
table.wikitable {
table.wikitable {
    margin: 1em 0; /* Add some space above and below the table */
  margin: 1em 0;
    border-collapse: collapse; /* Cleaner borders */
  border-collapse: collapse;
    width: 100%; /* Make tables responsive by default, adjust if needed for specific tables */
  width: 100%; /* Default to full width, can be overridden by inline styles or other classes */
    font-size: 0.9em; /* Slightly smaller font for better density, adjust to preference */
  font-size: 0.9em; /* Slightly smaller font for better information density */
    border: 1px solid #a2a9b1; /* Match MediaWiki's default border color for consistency */
  border: 1px solid #cccccc; /* Light grey border around the table */
    background-color: #f8f9fa; /* Light background for the table */
  /* box-shadow: 0 1px 3px rgba(0,0,0,0.05); */ /* Subtle shadow - uncomment if desired */
    color: #202122; /* Default text color */
}
}


/* Table caption styling */
/*
table.wikitable > caption {
* Header styling for 'wikitable'.
    caption-side: top; /* Or 'bottom' */
* - Darker background for clear distinction.
    font-size: 1.2em;
* - White text for contrast.
    font-weight: bold;
* - Centered text by default.
    padding: 0.5em;
*/
    text-align: left; /* Or 'center' */
table.wikitable > tr > th,
    color: #333;
table.wikitable > * > tr > th {
    margin-bottom: 0.5em; /* Space between caption and table */
  background-color: #f0f0f0; /* Light grey background for headers */
  color: #333333; /* Darker text for headers */
  font-weight: bold;
  text-align: left; /* Default to left, can be overridden per column */
  padding: 10px 12px; /* Increased padding for readability */
  border: 1px solid #cccccc;
  border-bottom: 2px solid #bbbbbb; /* Stronger bottom border for headers */
}
}


/* Header cells styling */
/*
table.wikitable th {
* Cell styling for 'wikitable'.
    background-color: #eaecf0; /* Light grey background for headers, slightly darker than rows */
* - Adequate padding.
    color: #202122; /* Darker text for headers for contrast */
* - Vertical alignment to the top.
    border: 1px solid #a2a9b1;
* - Consistent border.
    padding: 0.6em 0.8em; /* Comfortable padding */
*/
    text-align: left; /* Default alignment, can be overridden by th class="unsortable" or specific cell styles */
table.wikitable > tr > td,
    font-weight: bold;
table.wikitable > * > tr > td {
    vertical-align: middle; /* Align header text vertically */
  padding: 8px 12px;
  border: 1px solid #dddddd; /* Slightly lighter border for cells */
  vertical-align: top;
  line-height: 1.5; /* Improved line spacing within cells */
}
}


/* Make sortable header icons more visible and consistently aligned */
/*
table.wikitable.sortable th {
* Caption styling for 'wikitable'.
    background-repeat: no-repeat;
* - Larger, centered, and spaced out.
    background-position: center right 0.5em; /* Adjust as needed */
*/
table.wikitable > caption {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.75em;
  text-align: left; /* Captions usually look better left-aligned or centered */
  caption-side: top; /* Standard caption position */
  color: #333333;
}
}
table.wikitable.sortable th.headerSortUp {
 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%2336c' d='M5 0L0 5h3v5h4V5h3z'/%3E%3C/svg%3E"); /* Blue up arrow */
/*
* Zebra striping for 'wikitable' rows in the tbody for better readability.
*/
table.wikitable > tbody > tr:nth-child(odd) > td {
  background-color: #f9f9f9; /* Very light grey for odd rows */
}
}
table.wikitable.sortable th.headerSortDown {
 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%2336c' d='M5 10L0 5h3V0h4v5h3z'/%3E%3C/svg%3E"); /* Blue down arrow */
/*
* Hover effect for 'wikitable' rows in the tbody for better focus.
*/
table.wikitable > tbody > tr:hover > td {
  background-color: #eef4f8; /* Light blueish highlight on hover */
}
}
table.wikitable.sortable th.headerSortNone {
 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%2372777d' d='M5 0L0 3h2v4h2V3h2zm0 10L0 7h2V3h2v4h2z'/%3E%3C/svg%3E"); /* Grey up/down arrow */
 
    background-size: 0.75em; /* Adjust size of the default sort icon */
/* == Additional Beautifier Classes (Optional) == */
 
/*
* Class for a more "modern" or "stylish" table.
* You would use this by adding class="wikitable stylish-table"
*/
table.stylish-table {
  border: none; /* Remove the main table border if using stylish version */
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 5px; /* Rounded corners for the table */
  overflow: hidden; /* Ensures content respects border-radius */
}
}


table.stylish-table > tr > th,
table.stylish-table > * > tr > th {
  background-color: #4a5568; /* Darker, modern header */
  color: #ffffff;
  border: none;
  border-bottom: 1px solid #2d3748; /* Subtle border for header bottom */
  padding: 12px 15px;
}


/* Body cells styling */
table.stylish-table > tr > td,
table.wikitable td {
table.stylish-table > * > tr > td {
    border: 1px solid #a2a9b1;
  border: none;
    padding: 0.6em 0.8em;
  border-bottom: 1px solid #edf2f7; /* Very light horizontal lines between rows */
    vertical-align: top; /* Or 'middle' if preferred */
  padding: 10px 15px;
}
}


/* Zebra striping for rows for better readability */
table.stylish-table > tbody > tr:last-child > td {
table.wikitable tbody tr:nth-child(odd) td {
  border-bottom: none; /* Remove border from the last row of cells */
    background-color: #f8f9fa; /* Same as table background or slightly different */
}
}
table.wikitable tbody tr:nth-child(even) td {
 
    background-color: #ffffff; /* White or a very light contrasting color */
table.stylish-table > tbody > tr:nth-child(odd) > td {
  background-color: #f7fafc;
}
}


/* Row hover effect for better interactivity */
table.stylish-table > tbody > tr:hover > td {
table.wikitable tbody tr:hover td {
  background-color: #e2e8f0;
    background-color: #eaf3ff; /* Light blue hover, adjust color as desired */
    /* color: #000; */ /* Optionally change text color on hover */
}
}


/* Styling for nested tables (less common, but good to consider) */
table.stylish-table > caption {
table.wikitable table.wikitable {
  color: #2d3748;
    margin: 0.5em; /* Add some margin to distinguish nested tables */
  padding-top: 0.5em; /* Add some space if table has rounded corners */
    width: auto; /* Or a specific percentage like 90% */
    font-size: 0.95em; /* Slightly smaller font for nested tables */
}
}


/* Improve presentation of tables on smaller screens */
 
.mw-parser-output .wikitable-wrapper { /* MediaWiki often wraps tables for overflow */
/* == Column Alignment Helpers == */
    overflow-x: auto; /* Allow horizontal scrolling for very wide tables */
/* Add these classes to th or td elements for specific alignment */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
.wikitable .col-align-left, table.wikitable th.col-align-left, table.wikitable td.col-align-left { text-align: left; }
.wikitable .col-align-center, table.wikitable th.col-align-center, table.wikitable td.col-align-center { text-align: center; }
.wikitable .col-align-right, table.wikitable th.col-align-right, table.wikitable td.col-align-right { text-align: right; }
.wikitable .col-valign-top, table.wikitable th.col-valign-top, table.wikitable td.col-valign-top { vertical-align: top; }
.wikitable .col-valign-middle, table.wikitable th.col-valign-middle, table.wikitable td.col-valign-middle { vertical-align: middle; }
.wikitable .col-valign-bottom, table.wikitable th.col-valign-bottom, table.wikitable td.col-valign-bottom { vertical-align: bottom; }
 
/* == Responsive Table Wrapper == */
/*
* For tables that are too wide, wrap them in a div with this class
* to enable horizontal scrolling on small screens.
* Example: <div class="responsive-table-wrapper"> {| class="wikitable" ... |} </div>
*/
.responsive-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  margin-bottom: 1em; /* Space below the scrolling table */
}
}


/* You can add more specific classes for different table styles */
/*
* Alternative responsive approach: Stacked table on small screens.
* This requires adding data-label attributes to your <td> elements in the HTML.
* E.g., <td data-label="Header Name">Cell Content</td>
*
* You can activate this by adding the 'responsive-stack' class to your table.
* {| class="wikitable responsive-stack"
* ! Header 1 !! Header 2
* |-
* | data-label="Header 1" | Content 1 || data-label="Header 2" | Content 2
* |}
*/
@media screen and (max-width: 767px) { /* Adjust breakpoint as needed */
  table.responsive-stack,
  table.responsive-stack thead,
  table.responsive-stack tbody,
  table.responsive-stack th,
  table.responsive-stack td,
  table.responsive-stack tr {
    display: block;
  }
 
  table.responsive-stack thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
    border: none;
  }
 
  table.responsive-stack tr {
    border: 1px solid #cccccc;
    margin-bottom: 0.5em;
  }
  table.responsive-stack > tbody > tr:nth-child(odd) > td { /* Remove zebra striping for stacked */
    background-color: transparent;
  }
  table.responsive-stack > tbody > tr:hover > td { /* Adjust hover for stacked */
    background-color: #f0f0f0;
  }
 
  table.responsive-stack td {
    border: none;
    border-bottom: 1px solid #eeeeee;
    position: relative;
    padding-left: 50% !important; /* Ensure padding is applied after data-label */
    text-align: right; /* Align cell content to the right */
    white-space: normal; /* Allow text to wrap */
  }


/* Example: A "compact" table style */
  table.responsive-stack td:before {
table.wikitable.compact td,
    content: attr(data-label); /* Gets content from data-label attribute */
table.wikitable.compact th {
    position: absolute;
     padding: 0.3em 0.5em;
    left: 6px;
     font-size: 0.85em;
    width: calc(50% - 12px); /* Adjust width considering padding */
    padding-right: 10px;
    white-space: nowrap; /* Keep label on one line if possible */
    font-weight: bold;
    text-align: left; /* Align label text to the left */
  }
 
  table.responsive-stack td:last-child {
    border-bottom: 0;
  }
 
  /* If using .stylish-table with .responsive-stack */
  table.stylish-table.responsive-stack tr {
     border: none; /* Remove individual row borders for stylish stacked */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-bottom: 0.75em;
    border-radius: 3px;
  }
  table.stylish-table.responsive-stack td {
     border-bottom: 1px dashed #e2e8f0; /* Light dashed line for stylish stacked cells */
  }
  table.stylish-table.responsive-stack td:last-child {
    border-bottom: none;
  }
}
}


/* Example: A "highlight-first-column" style */
/*
table.wikitable.highlight-first-column td:first-child,
* Class to prevent a table from being full-width
table.wikitable.highlight-first-column th:first-child {
* Useful for smaller tables that don't need to span the entire content area.
    font-weight: bold;
*/
    background-color: #f0f4f7; /* Slightly different background for the first column */
table.wikitable.not-full-width {
  width: auto;
  min-width: 50%; /* Or whatever min-width is appropriate */
  max-width: 100%;
}
}


/* Example: A table with more prominent borders */
/*
table.wikitable.strong-borders,
* Emphasize first column (often row headers)
table.wikitable.strong-borders th,
*/
table.wikitable.strong-borders td {
table.wikitable.emphasize-first-column > tbody > tr > td:first-child {
    border-width: 2px;
  font-weight: bold;
    border-color: #777;
  background-color: #f5f5f5; /* Slightly different background if not zebra striped */
}
}
table.wikitable.strong-borders th {
/* Compatibility with zebra striping */
    border-bottom-width: 3px; /* Thicker bottom border for headers */
table.wikitable.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child {
  background-color: #f0f0f0; /* Slightly darker for odd rows */
}
}



2025年5月12日 (一) 16:47的版本

/* 这里放置的CSS将应用于所有皮肤 */
/* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0

/* 部分代码从https://otomad.wiki/MediaWiki:Common.css中复制粘贴 */

/* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0 */

/* 导入 */

/* 字体 */
@font-face {
    font-family: 'Yuesong';
    src: url('https://cdn.jsdelivr.net/gh/channelwey/ZeroFont@main/Yuesong.woff2') format('woff2');
}

@font-face {
    font-family: 'Huiwen';
    src: url('https://cdn.jsdelivr.net/gh/channelwey/ZeroFont@main/汇文明朝体.woff2') format('woff2');
}

@font-face {
    font-family: 'GuZhangHei';
    src: url('https://cdn.jsdelivr.net/gh/channelwey/ZeroFont@main/瀞之故障黑体H2.woff2') format('woff2');
}

@font-face {
    font-family: 'Dianzhensong';
    src: url('https://static.wikia.nocookie.net/backrooms/images/0/0d/%E7%82%B9%E9%98%B5%E5%AE%8B%E5%AD%97.woff2/revision/latest?cb=20230402095639&format=original&path-prefix=zh') format('woff2');
}

/** 需要Debug **/
@font-face {
  font-family: '7397';
  src: url('https://soka.cafe/images/c/cf/7397.ttf') format('truetype');
}

/* 换行 */
p {
  word-break: normal;
}

/* 表格 */
/*
 * MediaWiki Table Beautifier CSS
 *
 * Add this to your wiki's MediaWiki:Common.css page.
 * This set of styles enhances the default 'wikitable' class
 * and provides additional classes for more styling options.
 */

/* == Basic Wikitable Enhancements == */

/*
 * Apply a more modern look to the standard 'wikitable'.
 * - Uses border-collapse for cleaner lines.
 * - Ensures full width by default (can be overridden).
 * - Adds subtle box shadow for depth.
 */
table.wikitable {
  margin: 1em 0;
  border-collapse: collapse;
  width: 100%; /* Default to full width, can be overridden by inline styles or other classes */
  font-size: 0.9em; /* Slightly smaller font for better information density */
  border: 1px solid #cccccc; /* Light grey border around the table */
  /* box-shadow: 0 1px 3px rgba(0,0,0,0.05); */ /* Subtle shadow - uncomment if desired */
}

/*
 * Header styling for 'wikitable'.
 * - Darker background for clear distinction.
 * - White text for contrast.
 * - Centered text by default.
 */
table.wikitable > tr > th,
table.wikitable > * > tr > th {
  background-color: #f0f0f0; /* Light grey background for headers */
  color: #333333; /* Darker text for headers */
  font-weight: bold;
  text-align: left; /* Default to left, can be overridden per column */
  padding: 10px 12px; /* Increased padding for readability */
  border: 1px solid #cccccc;
  border-bottom: 2px solid #bbbbbb; /* Stronger bottom border for headers */
}

/*
 * Cell styling for 'wikitable'.
 * - Adequate padding.
 * - Vertical alignment to the top.
 * - Consistent border.
 */
table.wikitable > tr > td,
table.wikitable > * > tr > td {
  padding: 8px 12px;
  border: 1px solid #dddddd; /* Slightly lighter border for cells */
  vertical-align: top;
  line-height: 1.5; /* Improved line spacing within cells */
}

/*
 * Caption styling for 'wikitable'.
 * - Larger, centered, and spaced out.
 */
table.wikitable > caption {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.75em;
  text-align: left; /* Captions usually look better left-aligned or centered */
  caption-side: top; /* Standard caption position */
  color: #333333;
}

/*
 * Zebra striping for 'wikitable' rows in the tbody for better readability.
 */
table.wikitable > tbody > tr:nth-child(odd) > td {
  background-color: #f9f9f9; /* Very light grey for odd rows */
}

/*
 * Hover effect for 'wikitable' rows in the tbody for better focus.
 */
table.wikitable > tbody > tr:hover > td {
  background-color: #eef4f8; /* Light blueish highlight on hover */
}


/* == Additional Beautifier Classes (Optional) == */

/*
 * Class for a more "modern" or "stylish" table.
 * You would use this by adding class="wikitable stylish-table"
 */
table.stylish-table {
  border: none; /* Remove the main table border if using stylish version */
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 5px; /* Rounded corners for the table */
  overflow: hidden; /* Ensures content respects border-radius */
}

table.stylish-table > tr > th,
table.stylish-table > * > tr > th {
  background-color: #4a5568; /* Darker, modern header */
  color: #ffffff;
  border: none;
  border-bottom: 1px solid #2d3748; /* Subtle border for header bottom */
  padding: 12px 15px;
}

table.stylish-table > tr > td,
table.stylish-table > * > tr > td {
  border: none;
  border-bottom: 1px solid #edf2f7; /* Very light horizontal lines between rows */
  padding: 10px 15px;
}

table.stylish-table > tbody > tr:last-child > td {
  border-bottom: none; /* Remove border from the last row of cells */
}

table.stylish-table > tbody > tr:nth-child(odd) > td {
  background-color: #f7fafc;
}

table.stylish-table > tbody > tr:hover > td {
  background-color: #e2e8f0;
}

table.stylish-table > caption {
  color: #2d3748;
  padding-top: 0.5em; /* Add some space if table has rounded corners */
}


/* == Column Alignment Helpers == */
/* Add these classes to th or td elements for specific alignment */
.wikitable .col-align-left, table.wikitable th.col-align-left, table.wikitable td.col-align-left { text-align: left; }
.wikitable .col-align-center, table.wikitable th.col-align-center, table.wikitable td.col-align-center { text-align: center; }
.wikitable .col-align-right, table.wikitable th.col-align-right, table.wikitable td.col-align-right { text-align: right; }
.wikitable .col-valign-top, table.wikitable th.col-valign-top, table.wikitable td.col-valign-top { vertical-align: top; }
.wikitable .col-valign-middle, table.wikitable th.col-valign-middle, table.wikitable td.col-valign-middle { vertical-align: middle; }
.wikitable .col-valign-bottom, table.wikitable th.col-valign-bottom, table.wikitable td.col-valign-bottom { vertical-align: bottom; }

/* == Responsive Table Wrapper == */
/*
 * For tables that are too wide, wrap them in a div with this class
 * to enable horizontal scrolling on small screens.
 * Example: <div class="responsive-table-wrapper"> {| class="wikitable" ... |} </div>
 */
.responsive-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  margin-bottom: 1em; /* Space below the scrolling table */
}

/*
 * Alternative responsive approach: Stacked table on small screens.
 * This requires adding data-label attributes to your <td> elements in the HTML.
 * E.g., <td data-label="Header Name">Cell Content</td>
 *
 * You can activate this by adding the 'responsive-stack' class to your table.
 * {| class="wikitable responsive-stack"
 * ! Header 1 !! Header 2
 * |-
 * | data-label="Header 1" | Content 1 || data-label="Header 2" | Content 2
 * |}
 */
@media screen and (max-width: 767px) { /* Adjust breakpoint as needed */
  table.responsive-stack,
  table.responsive-stack thead,
  table.responsive-stack tbody,
  table.responsive-stack th,
  table.responsive-stack td,
  table.responsive-stack tr {
    display: block;
  }

  table.responsive-stack thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
    border: none;
  }

  table.responsive-stack tr {
    border: 1px solid #cccccc;
    margin-bottom: 0.5em;
  }
  table.responsive-stack > tbody > tr:nth-child(odd) > td { /* Remove zebra striping for stacked */
    background-color: transparent;
  }
  table.responsive-stack > tbody > tr:hover > td { /* Adjust hover for stacked */
    background-color: #f0f0f0;
  }

  table.responsive-stack td {
    border: none;
    border-bottom: 1px solid #eeeeee;
    position: relative;
    padding-left: 50% !important; /* Ensure padding is applied after data-label */
    text-align: right; /* Align cell content to the right */
    white-space: normal; /* Allow text to wrap */
  }

  table.responsive-stack td:before {
    content: attr(data-label); /* Gets content from data-label attribute */
    position: absolute;
    left: 6px;
    width: calc(50% - 12px); /* Adjust width considering padding */
    padding-right: 10px;
    white-space: nowrap; /* Keep label on one line if possible */
    font-weight: bold;
    text-align: left; /* Align label text to the left */
  }

  table.responsive-stack td:last-child {
    border-bottom: 0;
  }

  /* If using .stylish-table with .responsive-stack */
  table.stylish-table.responsive-stack tr {
    border: none; /* Remove individual row borders for stylish stacked */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-bottom: 0.75em;
    border-radius: 3px;
  }
  table.stylish-table.responsive-stack td {
    border-bottom: 1px dashed #e2e8f0; /* Light dashed line for stylish stacked cells */
  }
  table.stylish-table.responsive-stack td:last-child {
    border-bottom: none;
  }
}

/*
 * Class to prevent a table from being full-width
 * Useful for smaller tables that don't need to span the entire content area.
 */
table.wikitable.not-full-width {
  width: auto;
  min-width: 50%; /* Or whatever min-width is appropriate */
  max-width: 100%;
}

/*
 * Emphasize first column (often row headers)
 */
table.wikitable.emphasize-first-column > tbody > tr > td:first-child {
  font-weight: bold;
  background-color: #f5f5f5; /* Slightly different background if not zebra striped */
}
/* Compatibility with zebra striping */
table.wikitable.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child {
  background-color: #f0f0f0; /* Slightly darker for odd rows */
}

/* ==========================================================================
   End of MediaWiki Table Beautifier CSS
   ========================================================================== */

/* 展开和折叠时的过渡效果 */
/*.mw-collapsible
{
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}*/

/* 修改展开状态下的最大高度 */
/*.mw-collapsible.mw-collapsed
{
    max-height: none;
}*/

/* 鼠标触碰 */
.custom-link
{
    text-decoration: none;
    color: none;
}

.custom-link:hover
{
    text-decoration: underline;
    color: blue;
}

/* 左右分栏 */
#left-column
{
   float: left;
   width: 49%;
}

#right-column
{
   float: right;
   width: 49%;
}

/* 左右分栏扩展 */
#left-column-full
{
   float: left;
   width: 50%;
}

#right-column-full
{
   float: right;
   width: 50%;
}

#middle-column-full
{
   float: middle;
   width: 50%;
}

#left-column-0.3
{
   float: left;
   width: 29%;
}

#left-column-0.7
{
   float: left;
   width: 69%;
}

#right-column-0.3
{
   float: left;
   width: 29%;
}

#right-column-0.7
{
   float: left;
   width: 69%;
}


/* 以下代码均从https://otomad.wiki/MediaWiki:Common.css复制 */

/* 加载Material icons */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(https://gstatic.loli.net/s/materialicons/v140/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
}

.material-icons, .md, .md-lg, .md-md, .md-sm {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  user-select: none;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}
.md-lg {
    font-size: 60px;
}
.md-md {
    font-size: 30px;
}
.md-sm {
    font-size: 10px;
}

/* 隐藏首页按钮和标题 */
body.page-首页 #firstHeading, body.page-首页 li#ca-talk, body.page-首页 li#ca-watch, body.page-首页 li#ca-unwatch, body.page-首页 li#ca-history, body.page-首页 li#ca-nstab-main, body.page-首页 li#ca-viewsource, body.page-首页 #catlinks-sidebar, body.page-首页 #mw-normal-catlinks, body.page-首页 #ca-view {
	display: none !important;
}

body.page-首页 #siteSub {
    display: none;
}

body.page-讨论版块 #ca-talk, body.page-讨论版块 #ca-watch, body.page-讨论版块 #ca-unwatch, body.page-讨论版块 #ca-history, body.page-讨论版块 #ca-nstab-main, body.page-讨论版块 #ca-viewsource, body.page-讨论版块 #catlinks-sidebar, body.page-讨论版块 #mw-normal-catlinks, body.page-讨论版块 #ca-view {
	display: none !important;
}

.page-留言板 #mw-wrapper #flowthread {
	margin-top: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	margin: 24px 0 4px;
}

.page-留言板 #mw-wrapper #flowthread .comment-paginator {
	border: 0;
	display: flex;
	justify-content: flex-end;
}

.page-留言板 #mw-wrapper #flowthread .comment-paginator span {
	display: flex;
	border: 0;
	width: 36px;
	height: 36px;
	padding: 0;
	margin: 0;
	text-align: center;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	border-radius: 0;
	background-color: #fafafa;
	box-shadow: inset 0px 10px 4px -4px rgba(0, 0, 0, 0.04);
}

.page-留言板 #mw-wrapper #flowthread .comment-paginator span[current] {
	color: white;
	background-color: #fb7299;
	box-shadow: 0 2px 4px rgba(240, 110, 142, 0.6);
	font-weight: bold;
	border-radius: 4px !important;
}

.page-留言板 #mw-wrapper #flowthread .comment-paginator span:first-child{
	border-radius: 4px 0 0 4px;
}

.page-留言板 #mw-wrapper #flowthread .comment-paginator span:last-child{
	border-radius: 0 4px 4px 0;
}

.res-img img {
	max-width:100%;
	height:auto;
}

/* 链接列表的转载标记 */
.repost-circle{
    display: inline-block;
    margin-left: 5px;
    border: solid 1px;
    border-radius: 100px;
    padding: 3px;
    font-size: 12px;
    line-height: 1;
    color: #e06386;
    border: 1px #e06386 solid;
}
.repost-circle a.external{
    background: none!important;
    padding-right: 0px!important;
    color: #e06386!important;
    box-sizing: border-box!important;
}

/* 本段内容来自萌娘百科 https://zh.moegirl.org.cn/MediaWiki:Gadget-site-styles.css 感谢贡献!*/
/* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0 */
/* 黑幕模板配合CSS */
/* 把这几行单独拎出来写,否则会被Firefox合并到“.heimu a”这条规则,然后又被上面的“点过外链不变色”规则override */
.heimu,
.heimu rt {
    background-color: #252525;
}
span.heimu a.external,
span.heimu a.external:visited,
span.heimu a.extiw,
span.heimu a.extiw:visited {
    color: #252525;
}
.heimu,
.heimu a,
a .heimu,
.heimu a.new {
    color: #252525;
    text-shadow: none;
}
body:not(.heimu_toggle_on) .heimu:hover,
body:not(.heimu_toggle_on) .heimu:active,
body:not(.heimu_toggle_on) .heimu.off {
    transition: color .13s linear;
    color: white;
}
body:not(.heimu_toggle_on) .heimu:hover a,
body:not(.heimu_toggle_on) a:hover .heimu,
body:not(.heimu_toggle_on) .heimu.off a,
body:not(.heimu_toggle_on) a:hover .heimu.off {
    transition: color .13s linear;
    color: lightblue;
}
body:not(.heimu_toggle_on) .heimu.off .new,
body:not(.heimu_toggle_on) .heimu.off .new:hover,
body:not(.heimu_toggle_on) .new:hover .heimu.off,
body:not(.heimu_toggle_on) .heimu:hover .new {
    transition: color .13s linear;
    color: #FCC;
}
/* info类模板 */
.infoBox {
    margin: 10px auto;
    width: 80%;
    box-shadow: 0 1px 3px 0px rgb(0 0 0 / 20%);
    border-radius: 4px;
}
@media screen and (max-width: 850px) {
.infoBox {
	float: unset !important;
    width: 100% !important;
    clear: both;
}}
.infoBox a, p{
    word-break: break-all;
}
.infoBoxTitle {
    margin: 3px auto;
    padding: 6px 0 0 0;
    text-align: center;
    font-weight: 700;
}
.infoBoxIcon {
    display: table-cell;
    padding: 2px 0 2px .5em;
    vertical-align: middle;
}
.infoBoxText {
    display: table-cell;
    padding: .25em .5em .25em 1.3em;
    width: 100%;
    vertical-align: middle;
}
.infoBoxContent {
    border: 1px solid #ddd;
    border-left-width: 0;
    background: #fbfbfb;
}
.infoBoxBelow {
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
/* wikitable green */
table.wikitable-green {
    background: #c9f6e1
}
.wikitable-green th {
    background: #13ec93
}
.wikitable-green td {
    background: #f3f3f3
}



/* 教程链接列表 */
/* 目前全部移动到 https://otomad.wiki/Template:链接列表/style.css 下
.tutorial-links {
	width: 100%;
	margin-bottom: 6px;
}
.tutorial-links>tbody>tr>td:first-child {
	text-align: center;
	width: 35px;
}
.tutorial-links>tbody>tr>td:first-child>span {
	border: 1px #e06386 solid;
	border-radius: 4px;
	color: #e06386;
	font-size: 12px;
	height: 14px;
	padding: 2px 4px;
}
.tutorial-links>tbody>tr>td:nth-child(2) {
	padding-left: 6px;
}
.tutorial-links>tbody>tr>td:nth-child(3) {
	font-size: 12px;
	color: grey;
	text-align: right;
}
*/

/*scrollUpButton样式*/
img#scrollUpButton, img#scrollDownButton {
    transition: transform 200ms;
}
img#scrollUpButton:hover {
    transform: scale(1.1);
}
img#scrollUpButton:active {
    transform: scale(.95);
}
img#scrollDownButton:hover {
    transform: rotate(180deg)scale(1.1) !important;
}
img#scrollDownButton:active {
    transform: rotate(180deg)scale(.95) !important;
}

/* 从https://zh.wikipedia.org/wiki/MediaWiki:Common.css引入的样式 */
/* Style for horizontal lists (separator following item) */
.hlist dl,
.hlist ol,
.hlist ul {
    margin: 0;
}
.hlist dd,
.hlist dt,
.hlist li {
    display: inline;
    margin: 0;
}
/* Display nested lists inline */
.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
.hlist dl dl, .hlist dl ol, .hlist dl ul,
.hlist ol dl, .hlist ol ol, .hlist ol ul,
.hlist ul dl, .hlist ul ol, .hlist ul ul {
	display: inline;
}
/* Generate interpuncts */
.hlist dt:after {
    content: " :";
}
.hlist dd:after,
.hlist li:after {
    content: " · ";
    font-weight: bold;
}
.hlist dd:last-child:after,
.hlist dt:last-child:after,
.hlist li:last-child:after {
    content: none;
}
/* for IE 8 */
.hlist dd.nopunct:after,
.hlist dt.nopunct:after,
.hlist li.nopunct:after {
    content: none;
}
/* Add parens around nested lists */
.hlist dl dl:before,
.hlist ol ol:before,
.hlist ul ul:before {
    content: "(";
}
.hlist dl dl:after,
.hlist ol ol:after,
.hlist ul ul:after {
    content: ")";
}
/* Put numbers in ordered lists */
.hlist.hnum ol li {
    counter-increment: level1;
}
.hlist.hnum ol li:before {
    content: counter(level1) " ";
}
.hlist.hnum ol ol li {
    counter-increment: level2;
}
.hlist.hnum ol ol li:before {
    content: counter(level2) " ";
}
/* Default style for navigation boxes */
.navbox {                     /* Navbox container style */
    border: 1px solid #a2a9b1;
    width: 100%; 
    margin: auto;
    clear: both;
    font-size: 88%;
    text-align: center;
    padding: 1px;
}
.navbox-inner,
.navbox-subgroup {
    width: 100%;
}
.navbox th,
.navbox-title,
.navbox-abovebelow {
    text-align: center;       /* Title and above/below styles */
    padding-left: 1em;
    padding-right: 1em;
}
th.navbox-group {             /* Group style */
    white-space: nowrap;
    /* @noflip */
    text-align: right;
}
.navbox,
.navbox-subgroup {
    background: #fdfdfd;      /* Background color */
}
.navbox-list {
    border-color: #fdfdfd;    /* Must match background color */
}
.navbox th,
.navbox-title {
    background: #ccccff;      /* Level 1 color */
}
.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
    background: #ddddff;      /* Level 2 color */
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
    background: #e6e6ff;      /* Level 3 color */
}
.navbox-even {
    background: #f7f7f7;      /* Even row striping */
}
.navbox-odd {
    background: transparent;  /* Odd row striping */
}
table.navbox + table.navbox {  /* Single pixel border between adjacent navboxes */
    margin-top: -1px;          /* (doesn't work for IE6, but that's okay)       */
}
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
    padding: 0.125em 0;       /* Adjust hlist padding in navboxes */
}
.navbox .hlist dd,
.navbox .hlist dt,
.navbox .hlist li {
    white-space: nowrap;      /* Nowrap list items in navboxes */
}
.navbox .hlist dd dl,
.navbox .hlist dt dl,
.navbox .hlist li ol,
.navbox .hlist li ul {
    white-space: normal;      /* But allow parent list items to be wrapped */
}
ol + table.navbox,
ul + table.navbox {
    margin-top: 0.5em;        /* Prevent lists from clinging to navboxes */
}

/* Default styling for Navbar template */
.navbar {
    display: inline;
    font-weight: normal;
}
.navbar ul {
    display: inline;
    white-space: nowrap;
}
.navbar li {
    word-spacing: -0.125em;
}
.navbar.mini li abbr[title] {
    font-variant: small-caps;
    border-bottom: none;
    text-decoration: none;
    cursor: inherit;
}
/* Navbar styling when nested in navbox */
.navbox .navbar {
    display: block;
}
.navbox-title .navbar {
    /* @noflip */
    float: left;
    /* @noflip */
    text-align: left;
    /* @noflip */
    margin-right: 0.5em;
    width: 8em;
}

/* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript
   in [[MediaWiki:Common.js]] are styled here so they can be customised. */
.collapseButton {       
    /* @noflip */
    float: right;
    font-weight: normal;
    /* @noflip */
    margin-left: 0.5em;
    /* @noflip */
    text-align: right;
    width: auto;
}
/* In navboxes, the show/hide button balances the v·d·e links
   from [[Template:Navbar]], so they need to be the same width. */
.navbox .collapseButton {
    width: 8em;
}
/*个人资料设置页*/
.profile-tab{
	background-color: unset;
	padding: 9px 10px 10px;
	font-size: 16px;
}
.profile-tab-on a:visited{
	color: #000 !important;
}
.profile-tab a:visited{
	color: #000 !important;
}
.profile-tab-on a, .profile-tab a{
	color: #000;
}
.profile-tab-on{
	background-color: unset;
	padding: 9px 10px 10px;
	font-size: 16px;
	border-bottom: solid 2px #FB7299;
}
.eye-container .title{
	color: #000;
	font-size: 14px;
}
.eye-container{
	box-shadow: none;
	opacity: 1.0;
}
/*提示框*/
.mw-notification{
	border: none;
	border-radius: 4px;
	box-shadow: 0 0 12px rgb(0 0 0 / 15%);
}
/*修复和修改infobox*/
@media screen and (max-width: 850px){
.infobox{
	width: 100%;
	margin: 0em 0em 2em;
}}
@media screen and (min-width: 851px){
.infobox{
	width: 300px;
	margin: 1em 0 30px 30px;
}}
.infoBoxContent{
	border: 0;
	border-radius: 4px;
}

.fieldset{
	border: 1px solid #c7c7c7;
	border-radius: 4px;
	padding: 0.35em 1.625em 0.75em;
}
textarea {
	border-radius: 4px;
	box-shadow: none;
	background-color: transparent;
	border: 1px solid var(--border-color-base--darker);
    outline: none;
}
textarea:hover {
	border: 1px solid #fb7299;
	background: transparent;
}
textarea:focus-visible {
	box-shadow: inset 0 0 0 1px #fb7299;
    border: 1px solid #fb7299;
    background: transparent;
}
/*导航盒*/
.navbox th, .navbox-title {
	background: #FCA6BF;
}
.navbox-abovebelow, th.navbox-group, .navbox-subgroup .navbox-title {
	background: #FDBFD0;
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
	background: #FED7E2;
}
.navbox-even {
	background: #FFF0F4;
}
.navbox{
	border: 0;
}
/* 资料卡 */
#profile-toggle-button{
	background-color: #fb7299;
	border-radius: 2px;
	padding: 5px 10px;
	transition: box-shadow 200ms,transform 200ms;
	box-shadow: 0 4px 4px rgb(251 114 153 / 30%);
}
#profile-toggle-button a {
	font-weight: bold;
}
#profile-toggle-button:hover {
	box-shadow: 0 9px 9px rgb(251 114 153 / 30%);
}
#profile-toggle-button:active {
	box-shadow: 0 0 0 rgb(251 114 153 / 30%);
	transform: scale(.95);
	background-color: #bd5774;
}
#profile-toggle-button:focus, #profile-toggle-button:focus-visible, #profile-toggle-button:focus-within {
	box-shadow: inset 0 0 0 1px #fb7299, inset 0 0 0 2px #fff;
	outline: 1px solid transparent;
}
.profile-on{
	background-color: #fff6c3;
	padding: 5px 10px 5px 10px;
	border-radius: 4px;
	border: none;
}
/*按钮动画*/
.oo-ui-buttonElement.oo-ui-widget-enabled > .oo-ui-buttonElement-button{
	transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms,transform 200ms
}
/*圆形头像*/
#profile-image img{
    border-radius: 50%;
    padding: 4px;
    border: none;
    width: 75px;
}
.c-avatar img{
	border-radius: 50%;
}
.profile-info img {
    border-radius: 50%;
}
/*解决cite定位内文字显示为斜体的问题*/
cite {
	font-style: normal;
}
/* 首页dpl列表相关样式 */
.mini-block {
    width: 100%;
    min-width: 20%;
    padding: 16px;
    margin-top: 8px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.04);
    border: 1px solid; border-color: rgba(0,0,0,0.05);
    border-radius: 8px;
    word-break: break-all;
    box-sizing: border-box;
}
.mini-block p {
	margin: 0 0 1em 0;
}
.mini-block p:last-child {
	margin: 0;
}
.mini-block-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    box-sizing: border-box;
}
.mini-block-list a{
	color: #212121;
}
.mini-block-list a.new{
	color: #212121;
}
.mini-block-list a:hover{
	color: #00aeec;
}
.mini-block-list li a:hover {
    color: #212121;
}
.mini-block-container li{
    border-radius: 4px;
    margin: 0;
    list-style: none;
    cursor: pointer;
    transition: background cubic-bezier(0.22,0.58,0.12,0.98) 0.4s;
}
.mini-block-title {
	font-size: 24px;
	font-weight: 500;
}
@media screen and (min-width: 851px) {
	.mini-block-container li:hover {
    	background: #0000000d;
	}
	.mini-block-container li:hover a {
		transform: translateX(5px);
	}
}
.mini-block-container ul {
    margin: 0;
    padding: 0;
}
.mini-block-container li a {
    padding: .5em .4em;
    display: inline-block;
    width: 100%;
    transition: transform cubic-bezier(0.22,0.58,0.12,0.98) 0.4s;
}
@media screen and (max-width: 850px) {
    .mini-block {
        align-self: stretch;
        width: auto;
    }
    .mini-block-container {
    	flex-direction: column;
    }
}


/*针对移动端用户页的竖向排列*/
@media screen and (max-width: 850px){
#user-page-left {
    width: 100%;
    float: none;}
#user-page-right {
    width: 100%;
    float: none;
    }
}

/*移动端导航栏子级标题竖向排列*/
@media screen and (max-width: 850px){
th.navbox-group {
	white-space: normal;
}
th.navbox-group div {
    line-height: 1.3em;
    width: 10px;
    margin: 10px 0;
}
}

/* 留言板FlowThread隐藏热门 */
.page-留言板 .comment-container-top {
	display: none;
}

/* 上传文件InfoBox排版增强修复 */
.mw-special-Upload i.md {
	display: flex;
}
.mw-special-Upload .infoBoxText li {
	margin-top: 6px;
	margin-bottom: 0;
}

/* 设置原生html组件的颜色 */
body {
	accent-color: #ea6b8f;
}

/* 现代化FlowThread主题 */
#flowthread .comment-submit {
	font-family: inherit;
	color: white;
	border: 0;
	background-color: #fb7299;
	background-color: var(--color-primary);
	text-shadow: none;
	top: 0;
	right: 0;
	border-radius: 0 0 var(--border-radius--small) 0;
}

#flowthread .comment-toolbar {
	height: 36px;
	border: 0;
	border-top: 1px solid var(--border-color-base--darker);
	background-color: #f8f9fa;
	background-color: var(--color-surface-2);
	border-radius: 0 0 var(--border-radius--small) var(--border-radius--small);
	margin-bottom: 0;
}

#flowthread .comment-thread {
	border: 0;
	padding: 0;
}

#flowthread .comment-avatar {
	border-radius: 100%;
	overflow: hidden;
}

#flowthread .comment-text {
	font-size: inherit;
}

#flowthread .comment-user, .comment-user a {
	font-size: inherit;
	color: var(--color-base--subtle);
}

#flowthread .comment-footer {
	font-size: 14px;
}

#flowthread .flowthread-btn-wikitext, 
#flowthread .flowthread-btn-preview {
	width: 36px;
	height: 36px;
	margin: 0;
	box-shadow: none;
	background-color: transparent;
	border-radius: 100%;
	border: 0 !important;
}

#flowthread .flowthread-btn-preview {
	transform: translateX(-100%);
}

#flowthread .flowthread-btn-wikitext.on+.flowthread-btn-preview {
	transform: none;
}

#flowthread .flowthread-btn-wikitext:hover, 
#flowthread .flowthread-btn-preview:hover {
	background-color: var(--background-color-quiet--hover);
}

#flowthread .comment-submit {
	height: inherit;
}

#flowthread .comment-replybox > .comment-body {
	border: 1px solid var(--border-color-base--darker);
	border-radius: var(--border-radius--small);
	padding-left: 0;
	margin-left: 60px;
}

#flowthread .comment-replybox > .comment-body:has(textarea:focus-visible) {
	border-color: var(--color-primary);
}

#flowthread .comment-replybox > .comment-body textarea, #flowthread .comment-preview {
	background-color: transparent;
	border: 0;
	box-shadow: none;
}

#flowthread .comment-post,
#flowthread .comment-container > .comment-thread {
	padding: 12px 0;
}

#flowthread .comment-reply::before,
#flowthread .comment-like::before,
#flowthread .comment-report::before,
#flowthread .comment-delete::before {
	display: inline-block;
	background-image: none;
	direction: ltr;
	font-family: 'Material Icons';
	font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-weight: normal;
	letter-spacing: normal;
	line-height: 1;
	text-align: center;
	text-indent: 0;
	text-rendering: optimizeLegibility;
	text-transform: none;
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
	word-wrap: normal;
	width: 18px;
	height: 18px;
	color: black;
	font-size: 18px;
	opacity: var(--opacity-icon-base);
	border-radius: 100%;
}

#flowthread .comment-reply::before {
	content: 'reply';
}
#flowthread .comment-like::before {
	content: 'favorite';
}
#flowthread .comment-report::before {
	content: 'flag';
}
#flowthread .comment-delete::before {
	content: 'delete';
}
#flowthread .comment-like[liked],
#flowthread .comment-report[reported] {
	color: var(--color-primary);
}
#flowthread .comment-like[liked]::before,
#flowthread .comment-report[reported]::before {
	opacity: 1;
	color: var(--color-primary);
}