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

目前wiki关闭了自行注册账号的功能,如需注册账号,请查阅Help:注册账号

模板:Fstpagetest styles:修订间差异

来自RIA | Wiki
ChenM0M留言 | 贡献
无编辑摘要
ChenM0M留言 | 贡献
无编辑摘要
第1行: 第1行:
/* =========================
/* =========================
   Fstpagetest_styles
   Fstpagetest_styles
   MW TemplateStyles-safe portal
   - keep it portal-like, not "page inside page"
  - consistent radius/shadow
   - no input/checkbox/radio
   - no input/checkbox/radio
  - no 3D transform
   - interactions: hover + :target
   - interactions: hover + :target
========================= */
========================= */


.fst{
.fstp{
   max-width: 1200px;
   max-width: 1200px;
   margin: 0 auto;
   margin: 0 auto;
   padding: 0 14px 28px 14px;
   padding: 0 14px 32px 14px;
   color: rgba(0,0,0,.82);
   color: rgba(0,0,0,.84);
}
}


.fst a{ color:#9a2a2a; font-weight:700; text-decoration:none; }
.fstp a{ color:#8f1f1f; font-weight:700; text-decoration:none; }
.fst a:hover{ color:#b63737; text-decoration:underline; }
.fstp a:hover{ color:#b63737; text-decoration:underline; }


/* HERO */
/* --- baseline rhythm --- */
.fst-hero{
.fstp-sec{ margin-top:22px; }
.fstp-sech{ margin-bottom:12px; }
.fstp-sectitle{ font-size:18px; font-weight:900; }
.fstp-secsub{ margin-top:4px; font-size:13px; color: rgba(0,0,0,.60); line-height:1.6; }
 
/* --- hero --- */
.fstp-hero{
   display:flex;
   display:flex;
   gap:16px;
   gap:18px;
   align-items:stretch;
   align-items:stretch;
   padding:16px;
   padding:16px 0;
  margin:14px 0 18px 0;
   border-bottom:1px solid rgba(0,0,0,.08);
   border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
}
 
.fst-hero-left{ flex:1 1 auto; min-width:260px; }
.fst-hero-right{ flex:0 0 460px; display:flex; flex-direction:column; gap:8px; align-items:center; justify-content:center; }
 
.fst-hero-image{
  border-radius:14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}
}


.fst-caption{
.fstp-hero-left{ flex:1 1 auto; min-width:280px; }
  font-size:12px;
.fstp-hero-right{ flex:0 0 460px; display:flex; flex-direction:column; gap:8px; align-items:flex-end; justify-content:center; }
  color: rgba(0,0,0,.55);
  align-self:flex-start;
  padding-left:6px;
}


.fst-badge{
.fstp-badge{
   display:inline-block;
   display:inline-block;
   padding:4px 10px;
   padding:4px 10px;
   border-radius:999px;
   border-radius:999px;
   background: rgba(182,55,55,.10);
   background: rgba(182,55,55,.10);
   border:1px solid rgba(182,55,55,.22);
   border:1px solid rgba(182,55,55,.20);
   color:#8f1f1f;
   color:#8f1f1f;
   font-weight:900;
   font-weight:900;
   font-size:12px;
   font-size:12px;
   letter-spacing:.3px;
   letter-spacing:.2px;
}
}


.fst-title{
.fstp-title{
   margin:10px 0 6px 0;
   margin:10px 0 6px 0;
   font-size:38px;
   font-size:38px;
   font-weight:900;
   font-weight:900;
   letter-spacing:.4px;
   letter-spacing:.3px;
}
}


.fst-lead{
.fstp-lead{
   font-size:15px;
   font-size:15px;
   line-height:1.75;
   line-height:1.75;
第70行: 第60行:
}
}


.fst-kpis{
/* KPI */
.fstp-kpis{
   display:flex;
   display:flex;
   gap:10px;
   gap:10px;
第77行: 第68行:
}
}


.fst-kpi{
.fstp-kpi{
  min-width: 170px;
   padding:10px 12px;
   padding:10px 12px;
   border-radius:14px;
   border-radius:12px;
   background:#f6f7fa;
   background:#f6f7fa;
   border:1px solid rgba(0,0,0,.06);
   border:1px solid rgba(0,0,0,.06);
  min-width: 160px;
}
}


.fst-kpi-num{
.fstp-kpi-num{ font-size:16px; font-weight:900; }
  font-size:22px;
.fstp-kpi-text{ margin-top:2px; font-size:12px; color: rgba(0,0,0,.62); }
  font-weight:900;
}


.fst-kpi-text{
/* nav */
  font-size:12px;
.fstp-nav{
  color: rgba(0,0,0,.62);
  margin-top:2px;
}
 
.fst-nav{
   margin-top:12px;
   margin-top:12px;
   display:flex;
   display:flex;
   flex-wrap:wrap;
   flex-wrap:wrap;
   gap:10px;
   gap:10px;
  color: rgba(0,0,0,.55);
}
}
.fst-nav a{
.fstp-nav a{
   display:inline-block;
   display:inline-block;
   padding:6px 10px;
   padding:6px 10px;
   border-radius:999px;
   border-radius:999px;
   background:#f6f7fa;
   background:#fff;
   border:1px solid rgba(0,0,0,.06);
   border:1px solid rgba(0,0,0,.10);
   color: rgba(0,0,0,.70);
   color: rgba(0,0,0,.72);
   font-weight:900;
   font-weight:900;
   text-decoration:none;
   text-decoration:none;
}
}
.fst-nav a:hover{
.fstp-nav a:hover{
   border-color: rgba(182,55,55,.22);
   border-color: rgba(182,55,55,.22);
   background: rgba(182,55,55,.08);
   background: rgba(182,55,55,.06);
   color:#8f1f1f;
   color:#8f1f1f;
   text-decoration:none;
   text-decoration:none;
}
}


.fst-hint{
.fstp-note{
   margin-top:10px;
   margin-top:10px;
   padding:10px 12px;
   padding:10px 12px;
第131行: 第114行:
}
}


/* SECTION HEADER */
.fstp-hero-image{
.fst-section{ margin-top:18px; }
   border-radius:12px;
 
   box-shadow: 0 10px 26px rgba(0,0,0,.10);
.fst-section-h{
  padding:12px 14px;
   border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
   box-shadow: 0 6px 18px rgba(0,0,0,.06);
  margin-bottom:12px;
}
}
 
.fstp-caption{
.fst-section-title{
   font-size:12px;
   font-size:18px;
   color: rgba(0,0,0,.55);
  font-weight:900;
}
 
.fst-section-sub{
  margin-top:4px;
  font-size:13px;
   color: rgba(0,0,0,.60);
}
}


/* NOTICE WALL */
/* --- grids/cards --- */
.fst-cards{
.fstp-grid4{
   display:flex;
   display:flex;
  gap:16px;
   flex-wrap:wrap;
   flex-wrap:wrap;
  gap:12px;
}
}


.fst-card{
.fstp-card{
   width:270px;
   flex: 1 1 240px;
   border-radius:14px;
  max-width: 320px;
   border:1px solid rgba(0,0,0,.08);
   border-radius:12px;
   border:1px solid rgba(0,0,0,.10);
   background:#fff;
   background:#fff;
   box-shadow:0 8px 20px rgba(0,0,0,.08);
  padding:12px;
   overflow:hidden;
   box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
 
.fstp-card:hover{
  border-color: rgba(182,55,55,.18);
   box-shadow: 0 10px 22px rgba(0,0,0,.08);
}
}


.fst-card-top{
.fstp-cardtop{
  padding:12px 14px 0 14px;
   display:flex;
   display:flex;
   gap:8px;
   gap:8px;
第178行: 第152行:
}
}


.fst-tag{
.fstp-tag{
   display:inline-block;
   display:inline-block;
   padding:4px 8px;
   padding:4px 8px;
第184行: 第158行:
   font-weight:900;
   font-weight:900;
   border-radius:999px;
   border-radius:999px;
   background:rgba(182,55,55,.12);
   background:rgba(182,55,55,.10);
  border:1px solid rgba(182,55,55,.18);
   color:#8f1f1f;
   color:#8f1f1f;
  border:1px solid rgba(182,55,55,.18);
}
}


.fst-tag-warn{
.fstp-tag-warn{
   background:rgba(255,153,0,.14);
   background:rgba(255,153,0,.14);
   border-color: rgba(255,153,0,.22);
   border-color: rgba(255,153,0,.22);
第195行: 第169行:
}
}


.fst-tag-cool{
.fstp-tag-cool{
   background:rgba(80,120,255,.12);
   background:rgba(80,120,255,.12);
   border-color: rgba(80,120,255,.22);
   border-color: rgba(80,120,255,.22);
第201行: 第175行:
}
}


.fst-chip{
.fstp-chip{
   display:inline-block;
   display:inline-block;
   padding:4px 8px;
   padding:4px 8px;
第212行: 第186行:
}
}


.fst-card-title{
.fstp-cardtitle{
   padding:8px 14px 0 14px;
   margin-top:8px;
   font-size:16px;
   font-size:16px;
   font-weight:900;
   font-weight:900;
第219行: 第193行:
}
}


.fst-card-desc{
.fstp-carddesc{
   padding:6px 14px 12px 14px;
   margin-top:6px;
   font-size:13px;
   font-size:13px;
   color: rgba(0,0,0,.70);
   color: rgba(0,0,0,.72);
   line-height:1.6;
   line-height:1.6;
}
   /* two-line clamp fallback: keep it short even without clamp support */
 
   max-height: 3.2em;
.fst-card-more{
  padding:0 14px 14px 14px;
   font-size:13px;
  color: rgba(0,0,0,.72);
  line-height:1.65;
  opacity:0;
   max-height:0;
   overflow:hidden;
   overflow:hidden;
  transition: opacity .18s ease, max-height .18s ease;
}
}


.fst-card:hover{
.fstp-cardlink{
   border-color: rgba(182,55,55,.18);
   margin-top:8px;
  box-shadow:0 14px 28px rgba(0,0,0,.10);
   font-weight:900;
}
.fst-card:hover .fst-card-more{
  opacity:1;
   max-height:260px;
}
}


/* START LIST */
/* --- list (start) --- */
.fst-list{
.fstp-list{
   border:1px solid rgba(0,0,0,.08);
   border:1px solid rgba(0,0,0,.10);
   border-radius:14px;
   border-radius:12px;
   background:#fff;
   background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
   overflow:hidden;
   overflow:hidden;
}
}


.fst-entry{
.fstp-item{
   display:flex;
   display:flex;
   gap:12px;
   gap:12px;
   padding:12px 14px;
   padding:12px;
   border-bottom:1px dashed rgba(0,0,0,.14);
   border-bottom:1px solid rgba(0,0,0,.08);
}
}
.fst-entry:last-child{ border-bottom:none; }
.fstp-item:last-child{ border-bottom:none; }


.fst-entry-ico{
.fstp-ico{
   flex:0 0 74px;
   flex:0 0 74px;
   display:flex;
   display:flex;
第272行: 第233行:
   border:1px solid rgba(0,0,0,.06);
   border:1px solid rgba(0,0,0,.06);
}
}
.fst-entry-body{ min-width:0; }


.fst-entry-title{
.fstp-itemtitle{ font-size:16px; font-weight:900; margin-bottom:4px; }
  font-size:16px;
.fstp-itemtext{ font-size:14px; color: rgba(0,0,0,.72); line-height:1.65; }
  font-weight:900;
.fstp-itemgo{ margin-top:6px; font-weight:900; }
  margin-bottom:4px;
}
.fst-entry-text{
  font-size:14px;
  color: rgba(0,0,0,.72);
  line-height:1.65;
}
.fst-entry-go{ margin-top:6px; font-weight:900; }


.fst-callout{
.fstp-callout{
   margin-top:12px;
   margin-top:12px;
   padding:10px 12px;
   padding:10px 12px;
第296行: 第248行:
}
}


/* TABS via :target */
/* --- tabs (target on panel itself) --- */
.fst-tabs{
.fstp-tabs{
   border:1px solid rgba(0,0,0,.08);
   border:1px solid rgba(0,0,0,.10);
   border-radius:14px;
   border-radius:12px;
   background:#fff;
   background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
   overflow:hidden;
   overflow:hidden;
}
}


.fst-anchor{ display:block; height:0; overflow:hidden; }
.fstp-tabbar{
 
   padding:10px;
.fst-tabbar{
   padding:10px 10px;
   border-bottom:1px solid rgba(0,0,0,.08);
   border-bottom:1px solid rgba(0,0,0,.08);
   background:#fbfbfd;
   background:#fbfbfd;
第316行: 第265行:
}
}


.fst-tabbar a{
.fstp-tabbar a{
   display:inline-block;
   display:inline-block;
   padding:7px 12px;
   padding:7px 12px;
第326行: 第275行:
   text-decoration:none;
   text-decoration:none;
}
}
.fst-tabbar a:hover{
.fstp-tabbar a:hover{
   border-color: rgba(182,55,55,.22);
   border-color: rgba(182,55,55,.22);
   color:#8f1f1f;
   color:#8f1f1f;
}
}


.fst-panels{ padding:14px; }
/* panels */
 
.fstp-panel{
.fst-panel{
   display:none;
   display:none;
   padding:12px;
   padding:12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
}


.fst-panel-default{ display:block; }
.fstp-panel-default{
  display:block;
}


/* any tab targeted -> hide default */
/* when any panel is targeted, hide default */
#fst-tab-eden:target ~ .fst-tabbar,
#tab-eden:target ~ .fstp-panel-default,
#fst-tab-laputa:target ~ .fst-tabbar,
#tab-laputa:target ~ .fstp-panel-default,
#fst-tab-faq:target ~ .fst-tabbar{
#tab-faq:target ~ .fstp-panel-default{
  /* no-op; keeps structure stable */
}
#fst-tab-eden:target ~ .fst-panels .fst-panel-default,
#fst-tab-laputa:target ~ .fst-panels .fst-panel-default,
#fst-tab-faq:target ~ .fst-panels .fst-panel-default{
   display:none;
   display:none;
}
}


/* show targeted panel */
/* show targeted panel */
#fst-tab-eden:target ~ .fst-panels .fst-panel-eden{ display:block; }
#tab-eden:target,
#fst-tab-laputa:target ~ .fst-panels .fst-panel-laputa{ display:block; }
#tab-laputa:target,
#fst-tab-faq:target ~ .fst-panels .fst-panel-faq{ display:block; }
#tab-faq:target{
  display:block;
}


/* pills */
/* panel content style */
.fst-panel-title{ font-weight:900; font-size:16px; margin-bottom:6px; }
.fstp-ptitle{ font-weight:900; font-size:16px; margin-bottom:6px; }
.fst-panel-text{ color: rgba(0,0,0,.72); line-height:1.7; font-size:14px; }
.fstp-ptext{ color: rgba(0,0,0,.72); line-height:1.7; font-size:14px; }
.fst-panel-go{ margin-top:8px; font-weight:900; }
.fstp-plink{ margin-top:8px; font-weight:900; }


.fst-pills{
.fstp-pills{
   margin-top:10px;
   margin-top:10px;
   display:flex;
   display:flex;
第371行: 第315行:
   gap:10px;
   gap:10px;
}
}
.fst-pill{
.fstp-pill{
   display:inline-block;
   display:inline-block;
   padding:7px 10px;
   padding:7px 10px;
第382行: 第326行:
}
}


.fst-tabs-note{
.fstp-tabsnote{
   padding:0 14px 14px 14px;
   padding:0 12px 12px 12px;
   color: rgba(0,0,0,.60);
   color: rgba(0,0,0,.60);
   font-size:13px;
   font-size:13px;
   line-height:1.65;
   line-height:1.6;
}
}


/* FAQ accordion via :target */
/* --- FAQ accordion (target on item itself) --- */
.fst-acc{
.fstp-acc{
   border:1px solid rgba(0,0,0,.08);
   border:1px solid rgba(0,0,0,.10);
   border-radius:14px;
   border-radius:12px;
   background:#fff;
   background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
   overflow:hidden;
   overflow:hidden;
}
}


.fst-acc-item{ border-bottom:1px solid rgba(0,0,0,.08); }
.fstp-q{
.fst-acc-item:last-child{ border-bottom:none; }
  border-bottom:1px solid rgba(0,0,0,.08);
}
.fstp-q:last-child{ border-bottom:none; }


.fst-acc-head{
.fstp-qhead{
   padding:12px 14px;
   padding:12px;
   display:flex;
   display:flex;
   align-items:center;
   align-items:center;
第409行: 第354行:
}
}


.fst-acc-q{ font-weight:900; }
.fstp-qt{ font-weight:900; }
.fst-acc-ctl{
.fstp-qctl{
   padding:6px 10px;
   padding:6px 10px;
   border-radius:999px;
   border-radius:999px;
第420行: 第365行:
}
}


.fst-acc-body{
/* collapsed by default */
   padding:0 14px;
.fstp-qbody{
   padding:0 12px;
   max-height:0;
   max-height:0;
   opacity:0;
   opacity:0;
第430行: 第376行:
}
}


.fst-mini{
/* expand when item itself is target */
.fstp-q:target .fstp-qbody{
  max-height: 520px;
  opacity:1;
  padding: 0 12px 12px 12px;
}
 
.fstp-mini{
   margin:10px 0;
   margin:10px 0;
   padding:10px 12px;
   padding:10px 12px;
第438行: 第391行:
}
}


/* target rules */
/* --- timeline --- */
#fst-faq-1:target ~ .fst-acc .fst-acc-1 .fst-acc-body,
.fstp-tl{
#fst-faq-2:target ~ .fst-acc .fst-acc-2 .fst-acc-body,
   border:1px solid rgba(0,0,0,.10);
#fst-faq-3:target ~ .fst-acc .fst-acc-3 .fst-acc-body{
   border-radius:12px;
  max-height: 520px;
  opacity:1;
  padding: 0 14px 14px 14px;
}
 
/* TIMELINE */
.fst-tl{
   border:1px solid rgba(0,0,0,.08);
   border-radius:14px;
   background:#fff;
   background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
   padding: 12px;
   padding: 12px 14px;
}
}


.fst-tl-item{
.fstp-tli{
   display:flex;
   display:flex;
   gap:12px;
   gap:12px;
   padding: 10px 0;
   padding: 10px 0;
}
}
.fst-tl-item:not(:last-child){
.fstp-tli:not(:last-child){
   border-bottom:1px dashed rgba(0,0,0,.14);
   border-bottom:1px dashed rgba(0,0,0,.14);
}
}


.fst-tl-dot{
.fstp-tldot{
   flex:0 0 12px;
   flex:0 0 10px;
   width:12px;
   width:10px;
   height:12px;
   height:10px;
   border-radius:999px;
   border-radius:999px;
   background:#b63737;
   background:#b63737;
   margin-top:6px;
   margin-top:7px;
   box-shadow: 0 0 0 4px rgba(182,55,55,.12);
   box-shadow: 0 0 0 4px rgba(182,55,55,.10);
}
}


.fst-tl-time{
.fstp-tltime{ font-size:12px; color: rgba(0,0,0,.55); font-weight:900; }
  font-size:12px;
.fstp-tltitle{ font-weight:900; margin-top:2px; }
  color: rgba(0,0,0,.55);
.fstp-tltext{ margin-top:4px; color: rgba(0,0,0,.72); line-height:1.65; font-size:14px; }
  font-weight:900;
}
.fst-tl-title{ font-weight:900; margin-top:2px; }
.fst-tl-text{
  margin-top:4px;
  color: rgba(0,0,0,.72);
  line-height:1.65;
  font-size:14px;
}


/* LINKS grid */
/* --- links --- */
.fst-linkgrid{
.fstp-links{
   display:flex;
   display:flex;
   flex-wrap:wrap;
   flex-wrap:wrap;
第495行: 第429行:
}
}


.fst-link{
.fstp-link{
   flex: 1 1 220px;
   flex: 1 1 220px;
   padding:10px 12px;
   padding:10px 12px;
   border-radius:12px;
   border-radius:12px;
   border:1px solid rgba(0,0,0,.08);
   border:1px solid rgba(0,0,0,.10);
   background:#fff;
   background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
   font-weight:900;
   font-weight:900;
}
}
.fst-link:hover{
 
.fstp-link:hover{
   border-color: rgba(182,55,55,.18);
   border-color: rgba(182,55,55,.18);
   background:#fbfbfd;
   background:#fbfbfd;
第510行: 第444行:


/* footer */
/* footer */
.fst-footer{
.fstp-foot{
   margin-top:12px;
   margin-top:12px;
   border:1px solid rgba(0,0,0,.08);
   border:1px solid rgba(0,0,0,.10);
   border-radius:14px;
   border-radius:12px;
   background:#fff;
   background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
   overflow:hidden;
   overflow:hidden;
}
}
.fst-footer-h{
.fstp-foot-h{
   padding:12px 14px;
   padding:12px;
   background:#fbfbfd;
   background:#fbfbfd;
   border-bottom:1px solid rgba(0,0,0,.08);
   border-bottom:1px solid rgba(0,0,0,.08);
   font-weight:900;
   font-weight:900;
}
}
.fst-footer-c{
.fstp-foot-c{
   padding:14px;
   padding:12px;
   color: rgba(0,0,0,.72);
   color: rgba(0,0,0,.72);
   line-height:1.75;
   line-height:1.75;
第532行: 第465行:
/* responsive */
/* responsive */
@media (max-width: 1024px){
@media (max-width: 1024px){
   .fst-hero-right{ display:none; }
   .fstp-hero-right{ display:none; }
  .fst-card{ width: 100%; max-width: 520px; }
}
}
@media (max-width: 640px){
@media (max-width: 640px){
   .fst-title{ font-size:30px; }
   .fstp-title{ font-size:30px; }
   .fst-kpi{ min-width: 140px; }
   .fstp-kpi{ min-width: 150px; }
}
}

2026年2月13日 (五) 23:03的版本

/* =========================
   Fstpagetest_styles
   - keep it portal-like, not "page inside page"
   - consistent radius/shadow
   - no input/checkbox/radio
   - interactions: hover + :target
========================= */

.fstp{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 14px 32px 14px;
  color: rgba(0,0,0,.84);
}

.fstp a{ color:#8f1f1f; font-weight:700; text-decoration:none; }
.fstp a:hover{ color:#b63737; text-decoration:underline; }

/* --- baseline rhythm --- */
.fstp-sec{ margin-top:22px; }
.fstp-sech{ margin-bottom:12px; }
.fstp-sectitle{ font-size:18px; font-weight:900; }
.fstp-secsub{ margin-top:4px; font-size:13px; color: rgba(0,0,0,.60); line-height:1.6; }

/* --- hero --- */
.fstp-hero{
  display:flex;
  gap:18px;
  align-items:stretch;
  padding:16px 0;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.fstp-hero-left{ flex:1 1 auto; min-width:280px; }
.fstp-hero-right{ flex:0 0 460px; display:flex; flex-direction:column; gap:8px; align-items:flex-end; justify-content:center; }

.fstp-badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background: rgba(182,55,55,.10);
  border:1px solid rgba(182,55,55,.20);
  color:#8f1f1f;
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
}

.fstp-title{
  margin:10px 0 6px 0;
  font-size:38px;
  font-weight:900;
  letter-spacing:.3px;
}

.fstp-lead{
  font-size:15px;
  line-height:1.75;
  color: rgba(0,0,0,.72);
}

/* KPI */
.fstp-kpis{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.fstp-kpi{
  min-width: 170px;
  padding:10px 12px;
  border-radius:12px;
  background:#f6f7fa;
  border:1px solid rgba(0,0,0,.06);
}

.fstp-kpi-num{ font-size:16px; font-weight:900; }
.fstp-kpi-text{ margin-top:2px; font-size:12px; color: rgba(0,0,0,.62); }

/* nav */
.fstp-nav{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.fstp-nav a{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  color: rgba(0,0,0,.72);
  font-weight:900;
  text-decoration:none;
}
.fstp-nav a:hover{
  border-color: rgba(182,55,55,.22);
  background: rgba(182,55,55,.06);
  color:#8f1f1f;
  text-decoration:none;
}

.fstp-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#fbfbfd;
  border:1px solid rgba(0,0,0,.06);
  color: rgba(0,0,0,.66);
  font-size:13px;
  line-height:1.65;
}

.fstp-hero-image{
  border-radius:12px;
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}
.fstp-caption{
  font-size:12px;
  color: rgba(0,0,0,.55);
}

/* --- grids/cards --- */
.fstp-grid4{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.fstp-card{
  flex: 1 1 240px;
  max-width: 320px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  padding:12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.fstp-card:hover{
  border-color: rgba(182,55,55,.18);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

.fstp-cardtop{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.fstp-tag{
  display:inline-block;
  padding:4px 8px;
  font-size:12px;
  font-weight:900;
  border-radius:999px;
  background:rgba(182,55,55,.10);
  border:1px solid rgba(182,55,55,.18);
  color:#8f1f1f;
}

.fstp-tag-warn{
  background:rgba(255,153,0,.14);
  border-color: rgba(255,153,0,.22);
  color: rgba(110,70,0,.95);
}

.fstp-tag-cool{
  background:rgba(80,120,255,.12);
  border-color: rgba(80,120,255,.22);
  color: rgba(20,50,140,.95);
}

.fstp-chip{
  display:inline-block;
  padding:4px 8px;
  font-size:12px;
  font-weight:900;
  border-radius:999px;
  background:#f6f7fa;
  border:1px solid rgba(0,0,0,.06);
  color: rgba(0,0,0,.68);
}

.fstp-cardtitle{
  margin-top:8px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
}

.fstp-carddesc{
  margin-top:6px;
  font-size:13px;
  color: rgba(0,0,0,.72);
  line-height:1.6;
  /* two-line clamp fallback: keep it short even without clamp support */
  max-height: 3.2em;
  overflow:hidden;
}

.fstp-cardlink{
  margin-top:8px;
  font-weight:900;
}

/* --- list (start) --- */
.fstp-list{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.fstp-item{
  display:flex;
  gap:12px;
  padding:12px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.fstp-item:last-child{ border-bottom:none; }

.fstp-ico{
  flex:0 0 74px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#f3f5f8;
  border:1px solid rgba(0,0,0,.06);
}

.fstp-itemtitle{ font-size:16px; font-weight:900; margin-bottom:4px; }
.fstp-itemtext{ font-size:14px; color: rgba(0,0,0,.72); line-height:1.65; }
.fstp-itemgo{ margin-top:6px; font-weight:900; }

.fstp-callout{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#f6f7fa;
  border:1px solid rgba(0,0,0,.06);
  color: rgba(0,0,0,.72);
  line-height:1.7;
}

/* --- tabs (target on panel itself) --- */
.fstp-tabs{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.fstp-tabbar{
  padding:10px;
  border-bottom:1px solid rgba(0,0,0,.08);
  background:#fbfbfd;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.fstp-tabbar a{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:900;
  color: rgba(0,0,0,.72);
  text-decoration:none;
}
.fstp-tabbar a:hover{
  border-color: rgba(182,55,55,.22);
  color:#8f1f1f;
}

/* panels */
.fstp-panel{
  display:none;
  padding:12px;
}

.fstp-panel-default{
  display:block;
}

/* when any panel is targeted, hide default */
#tab-eden:target ~ .fstp-panel-default,
#tab-laputa:target ~ .fstp-panel-default,
#tab-faq:target ~ .fstp-panel-default{
  display:none;
}

/* show targeted panel */
#tab-eden:target,
#tab-laputa:target,
#tab-faq:target{
  display:block;
}

/* panel content style */
.fstp-ptitle{ font-weight:900; font-size:16px; margin-bottom:6px; }
.fstp-ptext{ color: rgba(0,0,0,.72); line-height:1.7; font-size:14px; }
.fstp-plink{ margin-top:8px; font-weight:900; }

.fstp-pills{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.fstp-pill{
  display:inline-block;
  padding:7px 10px;
  border-radius:999px;
  background:#f6f7fa;
  border:1px solid rgba(0,0,0,.06);
  font-weight:900;
  color: rgba(0,0,0,.70);
  font-size:13px;
}

.fstp-tabsnote{
  padding:0 12px 12px 12px;
  color: rgba(0,0,0,.60);
  font-size:13px;
  line-height:1.6;
}

/* --- FAQ accordion (target on item itself) --- */
.fstp-acc{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.fstp-q{
  border-bottom:1px solid rgba(0,0,0,.08);
}
.fstp-q:last-child{ border-bottom:none; }

.fstp-qhead{
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.fstp-qt{ font-weight:900; }
.fstp-qctl{
  padding:6px 10px;
  border-radius:999px;
  background:#f6f7fa;
  border:1px solid rgba(0,0,0,.06);
  font-weight:900;
  color: rgba(0,0,0,.68);
  font-size:12px;
}

/* collapsed by default */
.fstp-qbody{
  padding:0 12px;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition: opacity .18s ease, max-height .18s ease;
  color: rgba(0,0,0,.72);
  line-height:1.7;
}

/* expand when item itself is target */
.fstp-q:target .fstp-qbody{
  max-height: 520px;
  opacity:1;
  padding: 0 12px 12px 12px;
}

.fstp-mini{
  margin:10px 0;
  padding:10px 12px;
  border-radius:12px;
  background:#f6f7fa;
  border:1px solid rgba(0,0,0,.06);
}

/* --- timeline --- */
.fstp-tl{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:#fff;
  padding: 12px;
}

.fstp-tli{
  display:flex;
  gap:12px;
  padding: 10px 0;
}
.fstp-tli:not(:last-child){
  border-bottom:1px dashed rgba(0,0,0,.14);
}

.fstp-tldot{
  flex:0 0 10px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#b63737;
  margin-top:7px;
  box-shadow: 0 0 0 4px rgba(182,55,55,.10);
}

.fstp-tltime{ font-size:12px; color: rgba(0,0,0,.55); font-weight:900; }
.fstp-tltitle{ font-weight:900; margin-top:2px; }
.fstp-tltext{ margin-top:4px; color: rgba(0,0,0,.72); line-height:1.65; font-size:14px; }

/* --- links --- */
.fstp-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.fstp-link{
  flex: 1 1 220px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:900;
}

.fstp-link:hover{
  border-color: rgba(182,55,55,.18);
  background:#fbfbfd;
}

/* footer */
.fstp-foot{
  margin-top:12px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.fstp-foot-h{
  padding:12px;
  background:#fbfbfd;
  border-bottom:1px solid rgba(0,0,0,.08);
  font-weight:900;
}
.fstp-foot-c{
  padding:12px;
  color: rgba(0,0,0,.72);
  line-height:1.75;
}

/* responsive */
@media (max-width: 1024px){
  .fstp-hero-right{ display:none; }
}
@media (max-width: 640px){
  .fstp-title{ font-size:30px; }
  .fstp-kpi{ min-width: 150px; }
}