* {
  box-sizing:border-box
}
body {
  margin:0;
  background:#202421;
  color:#e9ece3;
  font:16px/1.8 "Noto Sans CJK SC",Arial,sans-serif
}
.ns-mast {
  display:flex;
  align-items:baseline;
  gap:24px;
  padding:16px max(18px,calc((100vw - 1180px)/2));
  background:#121714;
  border-bottom:2px solid #c6e747
}
.ns-mast>a {
  font-size:29px;
  color:#c6e747;
  text-decoration:none;
  font-weight:800
}
.ns-mast span {
  font-size:13px;
  color:#b2bcaa
}
.ns-mast b {
  margin-left:auto;
  font-size:12px;
  color:#8d9a86
}
.ns-nav {
  display:flex;
  overflow:auto;
  padding:0 max(12px,calc((100vw - 1180px)/2));
  background:#2a302b;
  border-bottom:1px solid #4d574c
}
.ns-nav a {
  white-space:nowrap;
  padding:11px 12px;
  color:#dfe5d5;
  text-decoration:none;
  font-size:13px
}
.ns-nav a:hover {
  background:#c6e747;
  color:#182018
}
.ns-home,.ns-sub {
  max-width:1180px;
  margin:auto;
  padding:25px 20px 70px
}
.ns-hero {
  display:grid;
  grid-template-columns:1fr 150px;
  gap:28px;
  padding:30px 4%;
  background:#2c342d;
  border-left:6px solid #c6e747
}
.ns-hero small,.ns-sub>small,.ns-home section>header>small,.ns-home section>div>small {
  color:#c6e747;
  font-size:11px;
  letter-spacing:.13em
}
.ns-hero h1 {
  font-size:clamp(27px,4vw,42px);
  line-height:1.45
}
.ns-hero figure {
  margin:0;
  text-align:center;
  border:1px solid #576050;
  padding:12px
}
.ns-hero img {
  display:block;
  margin:auto
}
.ns-hero figcaption {
  font-size:11px;
  color:#a9b2a0
}
.ns-home section {
  margin:38px 0
}
.ns-lens {
  display:grid;
  grid-template-columns:250px 1fr 70px;
  gap:14px;
  padding:18px;
  background:#292f2a
}
.ns-lens header {
  grid-row:span 3
}
.ns-lens>div {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}
.ns-lens article {
  padding:15px;
  background:#343c35;
  border-top:2px solid #c6e747
}
.ns-lens>img {
  align-self:center;
  opacity:.8
}
.ns-focus {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:14px
}
.ns-focus>div,.ns-focus aside {
  padding:22px;
  background:#303832
}
.ns-focus>div img {
  float:right;
  border-radius:50%;
  margin:3px 0 0 12px
}
.ns-focus aside {
  border:1px solid #687360
}
.ns-focus aside strong {
  display:block;
  color:#c6e747;
  font-size:22px
}
.ns-time {
  display:grid;
  grid-template-columns:230px 1fr;
  gap:18px;
  border-top:1px solid #617062;
  border-bottom:1px solid #617062;
  padding:18px 0
}
.ns-time ol {
  list-style:none;
  padding:0;
  margin:0
}
.ns-time li {
  display:grid;
  grid-template-columns:65px 65px 1fr 60px;
  gap:8px;
  padding:8px;
  border-bottom:1px solid #3e493f
}
.ns-time li time {
  color:#c6e747;
  font-size:12px
}
.ns-time li small {
  color:#9da99a;
  text-align:right
}
.ns-results>div {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}
.ns-results article {
  padding:18px;
  background:#2e3630;
  border-bottom:2px solid #7b9140
}
.ns-news {
  display:grid;
  grid-template-columns:230px 1fr;
  gap:18px
}
.ns-news>header {
  position:sticky;
  top:18px;
  align-self:start
}
.ns-news article {
  padding:14px 17px;
  border-bottom:1px solid #596257;
  background:#2b312c
}
.ns-news article:nth-child(1) {
  grid-column:span 2;
  border-left:4px solid #c6e747
}
.ns-news article h3 {
  margin:.15em 0
}
.ns-news article a {
  color:#dbe8c6;
  text-decoration:none
}
.ns-news article p {
  font-size:14px;
  color:#b8c1b4
}
.ns-score {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:20px;
  align-items:center;
  padding:22px;
  background:#c6e747;
  color:#202820
}
.ns-score img {
  float:right;
  border-radius:50%
}
.ns-score h2 {
  font-size:24px
}
.ns-insight {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:12px
}
.ns-insight>div {
  padding:22px;
  background:#2d352e
}
.ns-insight article {
  padding:19px;
  background:#333b34;
  border:1px solid #515d4f
}
.ns-faq {
  max-width:900px;
  margin:45px auto
}
.ns-faq details {
  padding:13px 18px;
  margin:8px 0;
  background:#2c332d;
  border-left:3px solid #c6e747
}
.ns-faq summary {
  cursor:pointer;
  font-weight:700
}
.ns-sub {
  min-height:65vh
}
.ns-sub h1 {
  font-size:34px
}
.ns-sub>img {
  float:right;
  margin:0 0 18px 22px
}
.ns-sub section {
  clear:both;
  margin:28px 0;
  padding:18px 22px;
  background:#2a312b
}
.ns-sub>ol {
  list-style:none;
  margin:20px 0;
  padding:0
}
.ns-sub>ol li {
  display:grid;
  grid-template-columns:65px 60px 1fr 60px;
  gap:8px;
  padding:9px;
  border-bottom:1px solid #4b554b
}
.ns-sub>ol time {
  color:#c6e747
}
.ns-sub>ol small {
  color:#aab4a4
}
.ns-sub article {
  padding:17px 0;
  border-bottom:1px solid #586155
}
.ns-sub article h2 {
  font-size:22px
}
.ns-footer {
  padding:24px max(18px,calc((100vw - 1180px)/2));
  background:#121714;
  color:#d5ded1;
  font-size:12px
}
.ns-footer strong {
  display:block;
  margin:11px 0;
  color:#c6e747
}
.ns-footer a {
  color:#d3e4ad;
  margin-right:17px
}
@media(max-width:760px) {
  .ns-mast {
    padding:12px;
    flex-wrap:wrap;
    gap:8px
  }
  .ns-mast>a {
    font-size:24px
  }
  .ns-mast b {
    margin-left:0
  }
  .ns-nav a {
    padding:10px 9px
  }
  .ns-home,.ns-sub {
    padding:14px
  }
  .ns-hero,.ns-lens,.ns-focus,.ns-time,.ns-news,.ns-score,.ns-insight {
    grid-template-columns:1fr;
    gap:10px
  }
  .ns-hero {
    padding:22px 15px
  }
  .ns-hero figure {
    justify-self:start
  }
  .ns-lens header {
    grid-row:auto
  }
  .ns-lens>div,.ns-results>div {
    grid-template-columns:1fr
  }
  .ns-news>header {
    position:static
  }
  .ns-news article:nth-child(1) {
    grid-column:auto
  }
  .ns-time li,.ns-sub>ol li {
    grid-template-columns:55px 55px 1fr
  }
  .ns-time li small,.ns-sub>ol small {
    grid-column:2/-1;
    text-align:left
  }
  .ns-score {
    display:block
  }
  .ns-sub>img {
    float:none;
    margin:14px 0
  }
  .ns-footer {
    padding:20px 14px
  }
}
