打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

RIA Wiki 已更新到 1.41!部分 CSS 在新版本下可能有不同的表现,请编辑者注意检查和修改。 目前wiki关闭了自行注册账号的功能,如需注册账号,请查阅Help:注册账号

模板:Fstpagetest styles:修订间差异

来自RIA | Wiki
ChenM0M留言 | 贡献
无编辑摘要
ChenM0M留言 | 贡献
无编辑摘要
第1行: 第1行:
/* =========================
/* ============================================
   Fstpagetest_styles (MW 1.39 TemplateStyles-safe)
   FST 门户首页样式表
   - NO url(), NO background-image
   主题色:绿色系(森林绿 #3a8f5c)
   - NO iframe, NO JS, NO input/radio/checkbox reliance
   设计原则:扁平通透、不滥用圆角、不做框中框
   - interactions: :hover + :target
   兼容:MediaWiki 1.39 TemplateStyles
   - layout: flex + simple blocks
   ============================================ */
========================= */


/* ---------- Base ---------- */
/* === 变量定义(通过类复用) === */
.fstx{
 
  max-width: 1240px;
/* === 主容器 === */
  margin: 0 auto;
.fst-portal {
  padding: 0 14px 44px 14px;
    max-width: 1100px;
  color: rgba(0,0,0,.86);
    margin: 0 auto;
  line-height: 1.6;
    padding: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #1a1a1a;
}
}


.fstx a{
/* === 1. Hero 横幅 === */
  color:#8f1f1f;
.fst-hero {
  font-weight: 800;
    background: linear-gradient(135deg, #3a8f5c 0%, #2d7048 60%, #1b5e3a 100%);
  text-decoration: none;
    color: #fff;
    padding: 40px 30px 30px;
    text-align: center;
    border-radius: 0 0 6px 6px;
    margin-bottom: 0;
}
}


.fstx a:hover{ text-decoration: underline; }
.fst-hero-title {
 
    font-size: 2.4em;
.fstx-mini{
    font-weight: 700;
  margin-top:10px;
    letter-spacing: 0.05em;
  font-size:12px;
    margin: 0 0 6px;
  color: rgba(0,0,0,.58);
  line-height:1.7;
}
}


.fstx-blocktitle{
.fst-hero-subtitle {
  font-size:14px;
    font-size: 1.1em;
  font-weight:900;
    opacity: 0.85;
  letter-spacing:.2px;
    margin: 0 0 12px;
  margin-bottom:10px;
    font-weight: 400;
}
}


/* ---------- HERO (image as <img>, overlay content) ---------- */
.fst-hero-meta {
.fstx-hero{
    font-size: 0.85em;
  position: relative;
    opacity: 0.65;
  margin-top: 12px;
    margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
}


/* Wikitext: [[File:xxx.png|class=fstx-hero-bg|frameless]] */
/* === 2. 动态 Banner(静态公告条) === */
.fstx-hero-bg{
.fst-banner {
  width: 100%;
    background-color: #e8f5e9;
  height: 360px;
    color: #2d7048;
  display: block;
    padding: 8px 20px;
  object-fit: cover;
    font-size: 0.9em;
    text-align: center;
    border-bottom: 1px solid #c8e6c9;
}
}


/* overlay card layer */
.fst-banner a {
.fstx-hero-overlay{
    color: #2d7048;
  position: absolute;
    font-weight: 600;
  left: 0; right: 0; top: 0; bottom: 0;
    text-decoration: underline;
  padding: 18px;
  background: rgba(255,255,255,.82);
}
}


/* header box */
/* === 3. 三列主体区域 === */
.fstx-hero-head{
.fst-main {
  padding: 14px 14px 10px 14px;
    display: flex;
  border-radius: 14px;
    gap: 0;
  border: 1px solid rgba(0,0,0,.08);
    padding: 20px 0 0;
  background: rgba(255,255,255,.78);
}
}


.fstx-kicker{
/* 左列:功能入口 */
  display:inline-block;
.fst-sidebar-left {
  padding:4px 10px;
    flex: 0 0 200px;
  border-radius:999px;
    padding: 0 16px 0 0;
  border:1px solid rgba(182,55,55,.22);
    border-right: 1px solid #e0e0e0;
  background: rgba(182,55,55,.10);
  color:#8f1f1f;
  font-size:12px;
  font-weight:900;
}
}


.fstx-title{
/* 中列:核心内容 */
  margin-top:10px;
.fst-content {
  font-size:34px;
    flex: 1;
  font-weight:900;
    padding: 0 20px;
  letter-spacing:.6px;
    min-width: 0;
}
}


.fstx-sub{
/* 右列:公告资讯 */
  margin-top:6px;
.fst-sidebar-right {
  font-size:13px;
    flex: 0 0 220px;
  color: rgba(0,0,0,.65);
    padding: 0 0 0 16px;
  line-height:1.7;
    border-left: 1px solid #e0e0e0;
}
}


/* "dynamic" banner - CSS-only opacity rotation */
/* === 区块标题统一样式 === */
.fstx-banner{
.fst-section-title {
  position: relative;
    font-size: 1.05em;
  margin-top: 10px;
    font-weight: 700;
  height: 42px;
    color: #3a8f5c;
  border-radius: 12px;
    margin: 0 0 12px;
  border: 1px solid rgba(0,0,0,.08);
    padding-bottom: 6px;
  background: #fff;
    border-bottom: 2px solid #3a8f5c;
  overflow: hidden;
}
}


.fstx-bitem{
/* === 4. 功能入口网格(左列) === */
  position:absolute;
.fst-quicknav {
  left:12px;
    display: flex;
  right:12px;
    flex-wrap: wrap;
  top:10px;
    gap: 6px;
  font-size:13px;
  font-weight:900;
  color: rgba(0,0,0,.72);
  opacity: 0;
  animation: fstxFade 12s infinite;
}
}


.fstx-b2{ animation-delay: 4s; }
.fst-nav-item {
.fstx-b3{ animation-delay: 8s; }
    display: flex;
 
    flex-direction: column;
@keyframes fstxFade{
    align-items: center;
  0%{opacity:0;}
    justify-content: center;
  8%{opacity:1;}
    width: calc(50% - 3px);
  30%{opacity:1;}
    padding: 12px 4px;
  38%{opacity:0;}
    text-align: center;
  100%{opacity:0;}
    font-size: 0.82em;
    color: #333;
    text-decoration: none;
    background: #f5f5f5;
    transition: background 0.15s;
}
}


/* top grid under banner */
.fst-nav-item:hover {
.fstx-topgrid{
    background: #e8f5e9;
  display:flex;
    color: #2d7048;
  gap:14px;
  margin-top:12px;
  align-items:stretch;
}
}


/* KPIs */
/* 图标区域(用 emoji 或 Unicode 字符) */
.fstx-kpis{
.fst-nav-icon {
  display:flex;
    font-size: 1.6em;
  gap:10px;
    margin-bottom: 4px;
  flex-wrap:wrap;
    line-height: 1;
  margin-top:10px;
}
}


.fstx-kpi{
.fst-nav-label {
  min-width: 160px;
    font-size: 0.85em;
  padding:10px 12px;
    line-height: 1.3;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.78);
}
}


.fstx-kpi-num{
/* === 5. 世界图标区(中列上方) === */
  font-weight: 900;
.fst-worlds {
  font-size: 16px;
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 10px 0 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #e0e0e0;
}
}


.fstx-kpi-text{
.fst-world-icon {
  margin-top:2px;
    display: flex;
  font-size:12px;
    flex-direction: column;
  color: rgba(0,0,0,.62);
    align-items: center;
  font-weight: 800;
    text-decoration: none;
    color: #333;
    transition: color 0.15s;
}
}


/* small nav row */
.fst-world-icon:hover {
.fstx-nav{
    color: #3a8f5c;
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
}


.fstx-nav a{
/* 世界符号:无边框极简图标 */
  display:inline-block;
.fst-world-symbol {
  padding:7px 10px;
    font-size: 2.2em;
  border-radius:999px;
    line-height: 1;
  border:1px solid rgba(0,0,0,.10);
    margin-bottom: 4px;
  background: rgba(255,255,255,.70);
  color: rgba(0,0,0,.72);
  font-weight:900;
}
}


.fstx-nav a:hover{
.fst-world-name {
  border-color: rgba(182,55,55,.22);
    font-size: 0.8em;
  background: rgba(182,55,55,.06);
    color: #666;
  color:#8f1f1f;
  text-decoration:none;
}
}


.fstx-note{
.fst-world-icon:hover .fst-world-name {
  margin-top:10px;
    color: #3a8f5c;
  font-size:12px;
  color: rgba(0,0,0,.58);
  line-height:1.7;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.78);
}
}


/* ---------- Left quick links ---------- */
/* === 6. Tab 切换区域(中列) === */
.fstx-quick{
.fst-tabs {
  flex: 1 1 360px;
    margin-bottom: 20px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:12px;
}
}


.fstx-quickgrid{
/* Tab 导航栏 */
  display:flex;
.fst-tabbar {
  flex-wrap:wrap;
    display: flex;
  gap:10px;
    gap: 0;
    border-bottom: 2px solid #e0e0e0;
    margin-bottom: 0;
}
}


.fstx-q{
.fst-tabbar a {
  width: 92px;
    padding: 8px 16px;
  border-radius:14px;
    font-size: 0.92em;
  border:1px solid rgba(0,0,0,.08);
    color: #666;
  background:#fafbfe;
    text-decoration: none;
  padding:10px 8px;
    border-bottom: 2px solid transparent;
  text-align:center;
    margin-bottom: -2px;
  font-size:12px;
    transition: color 0.15s;
  font-weight:900;
  line-height:1.35;
}
}


.fstx-q:hover{
.fst-tabbar a:hover {
  border-color: rgba(182,55,55,.20);
    color: #3a8f5c;
  background: rgba(182,55,55,.06);
}
}


/* force icons align */
/* 当前 Tab 高亮(通过 :target 关联的 panel 来间接标识,
.fstx-q img{
  但因 CSS-only 限制,tabbar 高亮需用 :target 面板配合)*/
  display:block;
.fst-tabbar a.fst-tab-active {
  margin: 0 auto 6px auto;
    color: #3a8f5c;
    border-bottom-color: #3a8f5c;
    font-weight: 600;
}
}


/* ---------- World tiles (image inside tile, overlay content) ---------- */
/* Tab 面板 */
.fstx-worlds{
.fst-panel {
  flex: 0 0 460px;
    display: none;
  display:flex;
    padding: 14px 0 0;
  flex-direction:column;
  gap:10px;
}
}


/* tile container */
/* 默认面板(虾仁起步):在无 :target 时显示 */
.fstx-worldtile{
.fst-panel-default {
  position: relative;
    display: block;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background:#fff;
  height: 120px;
}
}


/* Wikitext: [[File:xxx.png|class=fstx-wimg|frameless]] */
/* :target 激活时显示对应面板 */
.fstx-wimg{
.fst-panel:target {
  width:100%;
    display: block;
  height:100%;
  display:block;
  object-fit:cover;
}
}


/* content overlay */
/* 当任意面板被 :target 激活时,隐藏默认面板
.fstx-wcontent{
  通过 :target 同级选择器实现 */
  position:absolute;
.fst-panel:target~.fst-panel-default {
  left:10px;
    display: none;
  right:10px;
  top:10px;
  bottom:10px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.84);
  padding: 10px 12px;
}
}


.fstx-worldtile:hover{
/* Tab 面板内容样式 */
  border-color: rgba(182,55,55,.18);
.fst-panel-content {
    font-size: 0.92em;
    color: #333;
    line-height: 1.8;
}
}


.fstx-worldtile:hover .fstx-wcontent{
.fst-panel-content ul {
  background: rgba(255,255,255,.92);
    margin: 6px 0;
  border-color: rgba(182,55,55,.14);
    padding-left: 18px;
}
}


.fstx-wname{
.fst-panel-content li {
  font-size:18px;
    margin-bottom: 4px;
  font-weight:900;
  letter-spacing:.3px;
}
}


.fstx-wdesc{
/* 面板内链接列表 */
  margin-top:4px;
.fst-link-list {
  font-size:12px;
    margin: 10px 0;
  color: rgba(0,0,0,.62);
    padding: 0;
  font-weight:800;
    list-style: none;
}
}


/* ---------- MID ---------- */
.fst-link-list li {
.fstx-mid{
    padding: 6px 0;
  margin-top:16px;
    border-bottom: 1px solid #f0f0f0;
}
}


.fstx-mid-inner{
.fst-link-list li:last-child {
  display:flex;
    border-bottom: none;
  gap:14px;
  align-items:flex-start;
}
}


/* Tabs left */
/* === 7. 发展历程时间线(中列下方) === */
.fstx-tabs{
.fst-timeline {
  flex: 1 1 620px;
    margin: 20px 0;
  border-radius:16px;
    padding: 0;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:12px;
}
}


.fstx-tabbar{
.fst-timeline-item {
  display:flex;
    display: flex;
  gap:8px;
    align-items: flex-start;
  flex-wrap:wrap;
    gap: 12px;
  margin-bottom:10px;
    padding: 8px 0;
    border-left: 2px solid #c8e6c9;
    margin-left: 6px;
    padding-left: 16px;
}
}


.fstx-tabbar a{
/* 时间线节点圆点 */
  display:inline-block;
.fst-timeline-dot {
  padding:8px 12px;
    flex-shrink: 0;
  border-radius:999px;
    width: 10px;
  border:1px solid rgba(0,0,0,.10);
    height: 10px;
  background:#fbfbfd;
    background: #3a8f5c;
  color: rgba(0,0,0,.70);
    border-radius: 50%;
  font-weight:900;
    margin-top: 5px;
    margin-left: -23px;
}
}


.fstx-tabbar a:hover{
.fst-timeline-date {
  border-color: rgba(182,55,55,.20);
    flex-shrink: 0;
  background: rgba(182,55,55,.06);
    font-size: 0.82em;
  color:#8f1f1f;
    color: #999;
  text-decoration:none;
    min-width: 70px;
}
}


/* Pills */
.fst-timeline-text {
.fstx-pill{
    font-size: 0.88em;
  display:inline-block;
    color: #333;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
}


.fstx-pill-green{ border-color: rgba(60,160,120,.22); background: rgba(60,160,120,.10); color: rgba(10,90,60,.95); }
.fst-timeline-text a {
.fstx-pill-amber{ border-color: rgba(255,153,0,.22); background: rgba(255,153,0,.14); color: rgba(110,70,0,.95); }
    color: #3a8f5c;
.fstx-pill-red{ border-color: rgba(182,55,55,.22); background: rgba(182,55,55,.10); color:#8f1f1f; }
 
.fstx-panelhint{
  font-size:12px;
  color: rgba(0,0,0,.60);
  font-weight:800;
}
}


/* panels (CSS-only :target) */
/* === 8. 公告资讯(右列) === */
.fstx-panel{
.fst-news {
  display:none;
    padding: 0;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fbfbfd;
  padding:12px;
}
}


.fstx-panel-default{ display:block; }
.fst-news-list {
 
    list-style: none;
#t1:target, #t2:target, #t3:target{ display:block; }
    margin: 0;
#t1:target ~ .fstx-panel-default,
    padding: 0;
#t2:target ~ .fstx-panel-default,
#t3:target ~ .fstx-panel-default{ display:none; }
 
.fstx-panelhead{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
}


.fstx-panelbig{
.fst-news-list li {
  border-radius:14px;
    padding: 8px 0;
  border:1px solid rgba(0,0,0,.08);
    border-bottom: 1px solid #f0f0f0;
  background:#fff;
    font-size: 0.88em;
  padding:12px;
    color: #333;
    line-height: 1.5;
}
}


.fstx-panelbig-title{
.fst-news-list li:last-child {
  font-weight:900;
    border-bottom: none;
  font-size:16px;
}
}


.fstx-panelbig-text{
/* 圆点装饰 */
  margin-top:6px;
.fst-news-list li::before {
  color: rgba(0,0,0,.72);
    content: "●";
  line-height:1.7;
    color: #3a8f5c;
  font-size:13px;
    font-size: 0.6em;
    margin-right: 6px;
    vertical-align: middle;
}
}


.fstx-reclist{
/* === 9. 地标列表区(全宽) === */
  margin-top:10px;
.fst-landmarks {
  display:flex;
    margin: 24px 0 0;
  flex-direction:column;
    padding: 20px 0 0;
  gap:10px;
    border-top: 1px solid #e0e0e0;
}
}


.fstx-rec{
.fst-landmarks-grid {
  border-radius:12px;
    display: flex;
  border:1px solid rgba(0,0,0,.08);
    flex-wrap: wrap;
  background:#fff;
    gap: 10px;
  padding:10px 12px;
    margin-top: 10px;
}
}


.fstx-rec-title{ font-weight:900; }
.fst-landmark-item {
.fstx-rec-sub{
    flex: 0 0 calc(33.333% - 7px);
  margin-top:2px;
    padding: 10px 12px;
  color: rgba(0,0,0,.62);
    background: #fafafa;
  font-size:12px;
    font-size: 0.88em;
  line-height:1.6;
    border-left: 3px solid #3a8f5c;
    transition: background 0.15s;
}
}


.fstx-panelfoot{
.fst-landmark-item:hover {
  margin-top:10px;
    background: #e8f5e9;
  font-size:12px;
  color: rgba(0,0,0,.62);
  font-weight:800;
}
}


/* Notice right */
.fst-landmark-name {
.fstx-notice{
    font-weight: 600;
  flex: 0 0 420px;
    color: #1a1a1a;
  border-radius:16px;
    margin-bottom: 2px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:12px;
}
}


.fstx-ncard{
.fst-landmark-desc {
  border-radius:14px;
    font-size: 0.85em;
  border:1px solid rgba(0,0,0,.08);
    color: #888;
  background:#fbfbfd;
  padding:12px;
}
}


.fstx-nhead{
/* === 10. 页脚 === */
  font-weight:900;
.fst-footer {
  margin-bottom:6px;
    margin-top: 24px;
    padding: 16px 0;
    border-top: 1px solid #e0e0e0;
    text-align: center;
    font-size: 0.82em;
    color: #999;
}
}


.fstx-nitem{
.fst-footer a {
  font-size:13px;
    color: #3a8f5c;
  line-height:1.7;
  color: rgba(0,0,0,.72);
  margin-top:4px;
}
}


.fstx-nbanner{
/* === 11. 通用辅助 === */
  margin-top:10px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fbfbfd;
  padding:10px;
}


.fstx-nbanner-title{
/* 链接默认样式 */
  font-weight:900;
.fst-portal a {
  margin-bottom:8px;
    color: #3a8f5c;
    text-decoration: none;
}
}


.fstx-nbanner-sub{
.fst-portal a:hover {
  margin-top:6px;
    text-decoration: underline;
  font-size:12px;
    color: #2d7048;
  color: rgba(0,0,0,.58);
  line-height:1.6;
}
}


/* make images inside cards responsive */
/* 表格样式(在 panel 内使用) */
.fstx-notice img,
.fst-table {
.fstx-tabs img,
    width: 100%;
.fstx-worldinner img{
    border-collapse: collapse;
  max-width:100%;
    font-size: 0.9em;
  height:auto;
    margin: 8px 0;
  border-radius: 12px;
  display:block;
}
}


/* ---------- World sections ---------- */
.fst-table th {
.fstx-worldsec{ margin-top:16px; }
    text-align: left;
 
    padding: 6px 10px;
.fstx-worldinner{
    background: #e8f5e9;
  display:flex;
    color: #2d7048;
  flex-direction:column;
    font-weight: 600;
  gap:14px;
    border-bottom: 2px solid #c8e6c9;
}
}


.fstx-wbox{
.fst-table td {
  border-radius:16px;
    padding: 6px 10px;
  border:1px solid rgba(0,0,0,.08);
    border-bottom: 1px solid #f0f0f0;
  background:#fff;
  padding:12px;
}
}


.fstx-wtext{
/* 模组徽章 */
  margin-top:-4px;
.fst-mod-tag {
  margin-bottom:10px;
    display: inline-block;
  color: rgba(0,0,0,.70);
    padding: 2px 8px;
  line-height:1.7;
    background: #e8f5e9;
  font-size:13px;
    color: #2d7048;
    font-size: 0.82em;
    margin: 2px 4px 2px 0;
    border-radius: 3px;
}
}


/* ---------- Landmarks ---------- */
/* === 12. 响应式 === */
.fstx-land{ margin-top:16px; }
@media (max-width: 768px) {


.fstx-land-inner{
    /* 三列转单列 */
  border-radius:16px;
    .fst-main {
  border:1px solid rgba(0,0,0,.08);
        flex-direction: column;
  background:#fff;
    }
  padding:14px;
}


.fstx-landtitle{
    .fst-sidebar-left {
  font-size:22px;
        flex: none;
  font-weight:900;
        border-right: none;
  text-align:center;
        border-bottom: 1px solid #e0e0e0;
  letter-spacing:.6px;
        padding: 0 0 16px;
  margin: 8px 0;
        margin-bottom: 16px;
}
    }


.fstx-landsub{
    .fst-sidebar-right {
  text-align:center;
        flex: none;
  color: rgba(0,0,0,.60);
        border-left: none;
  font-size:13px;
        border-top: 1px solid #e0e0e0;
  line-height:1.7;
        padding: 16px 0 0;
  margin-bottom:12px;
        margin-top: 16px;
}
    }


.fstx-landgrid{
    .fst-content {
  display:flex;
        padding: 0;
  flex-wrap:wrap;
    }
  gap:12px;
}


.fstx-landcard{
    /* 入口网格单列 */
  flex: 1 1 260px;
    .fst-nav-item {
  border-radius:16px;
        width: calc(33.333% - 4px);
  border:1px solid rgba(0,0,0,.08);
    }
  background:#fbfbfd;
  padding:12px;
}


.fstx-landh{
    /* 地标双列 */
  font-weight:900;
    .fst-landmark-item {
  font-size:16px;
        flex: 0 0 calc(50% - 5px);
}
    }


.fstx-landp{
    /* Hero 缩小 */
  margin-top:8px;
    .fst-hero {
  line-height:1.8;
        padding: 24px 16px 20px;
  color: rgba(0,0,0,.72);
    }
  font-size:13px;
}


/* ---------- Footer ---------- */
    .fst-hero-title {
.fstx-foot{ margin-top:16px; }
        font-size: 1.8em;
 
    }
.fstx-foot-inner{
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:14px;
}
}


.fstx-footbox{
@media (max-width: 480px) {
  border-radius:14px;
    .fst-nav-item {
  border:1px solid rgba(0,0,0,.08);
        width: calc(50% - 3px);
  background:#fbfbfd;
    }
  padding:12px;
}


.fstx-foottitle{
    .fst-landmark-item {
  font-weight:900;
        flex: 0 0 100%;
  font-size:14px;
    }
  margin-bottom:6px;
}


.fstx-foottext{
    .fst-worlds {
  color: rgba(0,0,0,.72);
        gap: 16px;
  line-height:1.8;
    }
  font-size:13px;
}


/* ---------- Responsive ---------- */
    .fst-tabbar a {
@media (max-width: 1020px){
        padding: 6px 10px;
  .fstx-hero-bg{ height: 320px; }
        font-size: 0.85em;
  .fstx-topgrid{ flex-direction:column; }
    }
  .fstx-worlds{ flex:1 1 auto; }
  .fstx-mid-inner{ flex-direction:column; }
  .fstx-notice{ flex:1 1 auto; }
}
}

2026年2月14日 (六) 00:44的版本

/* ============================================
   FST 门户首页样式表
   主题色:绿色系(森林绿 #3a8f5c)
   设计原则:扁平通透、不滥用圆角、不做框中框
   兼容:MediaWiki 1.39 TemplateStyles
   ============================================ */

/* === 变量定义(通过类复用) === */

/* === 主容器 === */
.fst-portal {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #1a1a1a;
}

/* === 1. Hero 横幅 === */
.fst-hero {
    background: linear-gradient(135deg, #3a8f5c 0%, #2d7048 60%, #1b5e3a 100%);
    color: #fff;
    padding: 40px 30px 30px;
    text-align: center;
    border-radius: 0 0 6px 6px;
    margin-bottom: 0;
}

.fst-hero-title {
    font-size: 2.4em;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 0 0 6px;
}

.fst-hero-subtitle {
    font-size: 1.1em;
    opacity: 0.85;
    margin: 0 0 12px;
    font-weight: 400;
}

.fst-hero-meta {
    font-size: 0.85em;
    opacity: 0.65;
    margin: 0;
}

/* === 2. 动态 Banner(静态公告条) === */
.fst-banner {
    background-color: #e8f5e9;
    color: #2d7048;
    padding: 8px 20px;
    font-size: 0.9em;
    text-align: center;
    border-bottom: 1px solid #c8e6c9;
}

.fst-banner a {
    color: #2d7048;
    font-weight: 600;
    text-decoration: underline;
}

/* === 3. 三列主体区域 === */
.fst-main {
    display: flex;
    gap: 0;
    padding: 20px 0 0;
}

/* 左列:功能入口 */
.fst-sidebar-left {
    flex: 0 0 200px;
    padding: 0 16px 0 0;
    border-right: 1px solid #e0e0e0;
}

/* 中列:核心内容 */
.fst-content {
    flex: 1;
    padding: 0 20px;
    min-width: 0;
}

/* 右列:公告资讯 */
.fst-sidebar-right {
    flex: 0 0 220px;
    padding: 0 0 0 16px;
    border-left: 1px solid #e0e0e0;
}

/* === 区块标题统一样式 === */
.fst-section-title {
    font-size: 1.05em;
    font-weight: 700;
    color: #3a8f5c;
    margin: 0 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid #3a8f5c;
}

/* === 4. 功能入口网格(左列) === */
.fst-quicknav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.fst-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc(50% - 3px);
    padding: 12px 4px;
    text-align: center;
    font-size: 0.82em;
    color: #333;
    text-decoration: none;
    background: #f5f5f5;
    transition: background 0.15s;
}

.fst-nav-item:hover {
    background: #e8f5e9;
    color: #2d7048;
}

/* 图标区域(用 emoji 或 Unicode 字符) */
.fst-nav-icon {
    font-size: 1.6em;
    margin-bottom: 4px;
    line-height: 1;
}

.fst-nav-label {
    font-size: 0.85em;
    line-height: 1.3;
}

/* === 5. 世界图标区(中列上方) === */
.fst-worlds {
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 10px 0 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #e0e0e0;
}

.fst-world-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #333;
    transition: color 0.15s;
}

.fst-world-icon:hover {
    color: #3a8f5c;
}

/* 世界符号:无边框极简图标 */
.fst-world-symbol {
    font-size: 2.2em;
    line-height: 1;
    margin-bottom: 4px;
}

.fst-world-name {
    font-size: 0.8em;
    color: #666;
}

.fst-world-icon:hover .fst-world-name {
    color: #3a8f5c;
}

/* === 6. Tab 切换区域(中列) === */
.fst-tabs {
    margin-bottom: 20px;
}

/* Tab 导航栏 */
.fst-tabbar {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e0e0e0;
    margin-bottom: 0;
}

.fst-tabbar a {
    padding: 8px 16px;
    font-size: 0.92em;
    color: #666;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s;
}

.fst-tabbar a:hover {
    color: #3a8f5c;
}

/* 当前 Tab 高亮(通过 :target 关联的 panel 来间接标识,
   但因 CSS-only 限制,tabbar 高亮需用 :target 面板配合)*/
.fst-tabbar a.fst-tab-active {
    color: #3a8f5c;
    border-bottom-color: #3a8f5c;
    font-weight: 600;
}

/* Tab 面板 */
.fst-panel {
    display: none;
    padding: 14px 0 0;
}

/* 默认面板(虾仁起步):在无 :target 时显示 */
.fst-panel-default {
    display: block;
}

/* :target 激活时显示对应面板 */
.fst-panel:target {
    display: block;
}

/* 当任意面板被 :target 激活时,隐藏默认面板
   通过 :target 同级选择器实现 */
.fst-panel:target~.fst-panel-default {
    display: none;
}

/* Tab 面板内容样式 */
.fst-panel-content {
    font-size: 0.92em;
    color: #333;
    line-height: 1.8;
}

.fst-panel-content ul {
    margin: 6px 0;
    padding-left: 18px;
}

.fst-panel-content li {
    margin-bottom: 4px;
}

/* 面板内链接列表 */
.fst-link-list {
    margin: 10px 0;
    padding: 0;
    list-style: none;
}

.fst-link-list li {
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
}

.fst-link-list li:last-child {
    border-bottom: none;
}

/* === 7. 发展历程时间线(中列下方) === */
.fst-timeline {
    margin: 20px 0;
    padding: 0;
}

.fst-timeline-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px 0;
    border-left: 2px solid #c8e6c9;
    margin-left: 6px;
    padding-left: 16px;
}

/* 时间线节点圆点 */
.fst-timeline-dot {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    background: #3a8f5c;
    border-radius: 50%;
    margin-top: 5px;
    margin-left: -23px;
}

.fst-timeline-date {
    flex-shrink: 0;
    font-size: 0.82em;
    color: #999;
    min-width: 70px;
}

.fst-timeline-text {
    font-size: 0.88em;
    color: #333;
}

.fst-timeline-text a {
    color: #3a8f5c;
}

/* === 8. 公告资讯(右列) === */
.fst-news {
    padding: 0;
}

.fst-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fst-news-list li {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.88em;
    color: #333;
    line-height: 1.5;
}

.fst-news-list li:last-child {
    border-bottom: none;
}

/* 圆点装饰 */
.fst-news-list li::before {
    content: "●";
    color: #3a8f5c;
    font-size: 0.6em;
    margin-right: 6px;
    vertical-align: middle;
}

/* === 9. 地标列表区(全宽) === */
.fst-landmarks {
    margin: 24px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #e0e0e0;
}

.fst-landmarks-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.fst-landmark-item {
    flex: 0 0 calc(33.333% - 7px);
    padding: 10px 12px;
    background: #fafafa;
    font-size: 0.88em;
    border-left: 3px solid #3a8f5c;
    transition: background 0.15s;
}

.fst-landmark-item:hover {
    background: #e8f5e9;
}

.fst-landmark-name {
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 2px;
}

.fst-landmark-desc {
    font-size: 0.85em;
    color: #888;
}

/* === 10. 页脚 === */
.fst-footer {
    margin-top: 24px;
    padding: 16px 0;
    border-top: 1px solid #e0e0e0;
    text-align: center;
    font-size: 0.82em;
    color: #999;
}

.fst-footer a {
    color: #3a8f5c;
}

/* === 11. 通用辅助 === */

/* 链接默认样式 */
.fst-portal a {
    color: #3a8f5c;
    text-decoration: none;
}

.fst-portal a:hover {
    text-decoration: underline;
    color: #2d7048;
}

/* 表格样式(在 panel 内使用) */
.fst-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
    margin: 8px 0;
}

.fst-table th {
    text-align: left;
    padding: 6px 10px;
    background: #e8f5e9;
    color: #2d7048;
    font-weight: 600;
    border-bottom: 2px solid #c8e6c9;
}

.fst-table td {
    padding: 6px 10px;
    border-bottom: 1px solid #f0f0f0;
}

/* 模组徽章 */
.fst-mod-tag {
    display: inline-block;
    padding: 2px 8px;
    background: #e8f5e9;
    color: #2d7048;
    font-size: 0.82em;
    margin: 2px 4px 2px 0;
    border-radius: 3px;
}

/* === 12. 响应式 === */
@media (max-width: 768px) {

    /* 三列转单列 */
    .fst-main {
        flex-direction: column;
    }

    .fst-sidebar-left {
        flex: none;
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        padding: 0 0 16px;
        margin-bottom: 16px;
    }

    .fst-sidebar-right {
        flex: none;
        border-left: none;
        border-top: 1px solid #e0e0e0;
        padding: 16px 0 0;
        margin-top: 16px;
    }

    .fst-content {
        padding: 0;
    }

    /* 入口网格单列 */
    .fst-nav-item {
        width: calc(33.333% - 4px);
    }

    /* 地标双列 */
    .fst-landmark-item {
        flex: 0 0 calc(50% - 5px);
    }

    /* Hero 缩小 */
    .fst-hero {
        padding: 24px 16px 20px;
    }

    .fst-hero-title {
        font-size: 1.8em;
    }
}

@media (max-width: 480px) {
    .fst-nav-item {
        width: calc(50% - 3px);
    }

    .fst-landmark-item {
        flex: 0 0 100%;
    }

    .fst-worlds {
        gap: 16px;
    }

    .fst-tabbar a {
        padding: 6px 10px;
        font-size: 0.85em;
    }
}