/* -------------------------
   News
------------------------- */
.news-title{
  margin: 0;
  font-family: "Noto Sans JP", system-ui, sans-serif;
  font-weight: 900;
  font-size: 18px;
  color: #2F343C;
}

.news-title.is-new::after{
  content: "NEW";
  display: inline-block;
  margin-left: 10px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  color: #ffffff;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  border-radius: 999px;
  vertical-align: middle;
}

.news-section .news-head{
  margin-bottom: 18px;
  display: grid;
  gap: 6px;
}

.news-section .news-meta{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .5px;
}

.news-section .news-meta::before{
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M184.488 220.595l51.016 39.35c1.966 15.861 15.336 28.191 31.73 28.191 17.754 0 32.14-14.394 32.14-32.14 0-.68-.156-1.327-.205-1.999l74.758-88.44c5.21-5.85 5.309-14.28.213-18.802-5.088-4.531-13.436-3.45-18.647 2.408l-73.447 78.47c-4.457-2.335-9.438-3.777-14.813-3.777-5.742 0-11.06 1.63-15.73 4.277l-48.026-33.443c-6.194-4.563-15.484-2.45-20.736 4.712-5.243 7.142-4.473 16.638 1.737 20.803Z'/%3E%3Cpath d='M440.314 82.925c-44.2-44.257-105.58-71.703-173.08-71.686V70.57c51.303.017 97.469 20.712 131.124 54.31 33.59 33.647 54.285 79.821 54.302 131.116-.017 51.294-20.712 97.468-54.302 131.116-33.655 33.606-79.821 54.301-131.124 54.309-51.294-.008-97.468-20.703-131.116-54.309-33.598-33.648-54.293-79.822-54.309-131.116.008-16.82 2.302-33.017 6.464-48.444l24.046 14.977c3.187 1.975 7.062 2.393 10.241 1.09 3.203-1.319 5.3-4.162 5.546-7.57l10.356-135.614c.278-3.884-1.852-7.8-5.472-10.077-3.654-2.244-8.119-2.45-11.47-.459L4.372 138.971c-2.957 1.729-4.58 4.858-4.35 8.299.229 3.458 2.302 6.743 5.497 8.725l30.698 19.122c-8.872 25.357-13.747 52.59-13.747 80.879-.016 67.491 27.446 128.871 71.687 173.079 44.207 44.241 105.579 71.703 173.078 71.686 67.492.017 128.88-27.445 173.08-71.686 44.24-44.208 71.703-105.588 71.686-173.079.017-67.499-27.446-128.879-71.686-173.071Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M184.488 220.595l51.016 39.35c1.966 15.861 15.336 28.191 31.73 28.191 17.754 0 32.14-14.394 32.14-32.14 0-.68-.156-1.327-.205-1.999l74.758-88.44c5.21-5.85 5.309-14.28.213-18.802-5.088-4.531-13.436-3.45-18.647 2.408l-73.447 78.47c-4.457-2.335-9.438-3.777-14.813-3.777-5.742 0-11.06 1.63-15.73 4.277l-48.026-33.443c-6.194-4.563-15.484-2.45-20.736 4.712-5.243 7.142-4.473 16.638 1.737 20.803Z'/%3E%3Cpath d='M440.314 82.925c-44.2-44.257-105.58-71.703-173.08-71.686V70.57c51.303.017 97.469 20.712 131.124 54.31 33.59 33.647 54.285 79.821 54.302 131.116-.017 51.294-20.712 97.468-54.302 131.116-33.655 33.606-79.821 54.301-131.124 54.309-51.294-.008-97.468-20.703-131.116-54.309-33.598-33.648-54.293-79.822-54.309-131.116.008-16.82 2.302-33.017 6.464-48.444l24.046 14.977c3.187 1.975 7.062 2.393 10.241 1.09 3.203-1.319 5.3-4.162 5.546-7.57l10.356-135.614c.278-3.884-1.852-7.8-5.472-10.077-3.654-2.244-8.119-2.45-11.47-.459L4.372 138.971c-2.957 1.729-4.58 4.858-4.35 8.299.229 3.458 2.302 6.743 5.497 8.725l30.698 19.122c-8.872 25.357-13.747 52.59-13.747 80.879-.016 67.491 27.446 128.871 71.687 173.079 44.207 44.241 105.579 71.703 173.078 71.686 67.492.017 128.88-27.445 173.08-71.686 44.24-44.208 71.703-105.588 71.686-173.079.017-67.499-27.446-128.879-71.686-173.071Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.news-section .news-content{
  display: flex;
  gap: 24px;
  align-items: stretch;
}

.news-section .news-image{
  flex: 0 0 250px;
  width: 250px;
  max-width: 250px;
}

.news-section .news-image img{
  width: 100%;
  display: block;
  height: 140px;
  border-radius: 0;
  border: 1px solid var(--line);
  object-fit: cover;
}

.news-section .news-text{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.news-section .news-text p{
  margin: 0 0 12px 0;
  line-height: 1.7;
  font-size: 14px;
  color: #2F343C;
}

.news-section:not(.news-detail){
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(28, 35, 43, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.news-section:not(.news-detail):hover{
  transform: translateY(-2px);
  border-color: #d3dce8;
  box-shadow: 0 6px 16px rgba(28, 35, 43, 0.12);
}

.news-section:not(.news-detail) .news-content{
  gap: 16px;
}

.news-section:not(.news-detail) .news-card-link{
  display: block;
  color: inherit;
  text-decoration: none;
}

.news-section:not(.news-detail) .news-text{
  padding: 2px 0;
}

.news-section:not(.news-detail) .news-title{
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif;
  font-size: 18px;
  line-height: 1.45;
  margin: 0 0 12px;
  font-weight: 700;
  letter-spacing: 0;
}

.news-section:not(.news-detail):hover .news-title{
  color: #106abf;
}

.news-section:not(.news-detail) .news-text p{
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif;
  margin-bottom: 14px;
  line-height: 1.9;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.news-section:not(.news-detail) .news-meta{
  margin-top: auto;
  justify-content: flex-end;
  padding-top: 12px;
  font-weight: 700;
  color: #39424d;
}

.news-section.news-detail .news-content{
  display: block;
}

.news-section.news-detail .news-head,
.news-section.news-detail .news-image,
.news-section.news-detail .news-text{
  width: 80%;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.news-section.news-detail .news-head{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
}

.news-section.news-detail .news-head .news-title{
  grid-column: 1 / -1;
}

.news-section.news-detail .news-head .news-meta{
  grid-column: 1;
  align-self: center;
}

.news-section.news-detail .news-image{
  margin-bottom: 24px;
  width: 800px;
  max-width: 100%;
}

.news-section.news-detail .news-image img{
  width: 100%;
  height: 400px;
  border-radius: 0;
  border: none;
  object-fit: cover;
}

.news-section.news-detail .news-title{
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.news-section.news-detail .news-text p{
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif;
  font-size: 16px;
  line-height: 1.9;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.x-thread{
  margin: 1.8em 0;
}
.x-thread + .x-thread{
  margin-top: 2.8em;
}
.x-thread{
  margin: 1.2em 0;
}
.x-thread + .x-thread{
  margin-top: 2em;
}
.x-thread + .x-thread::before{
  content: '';
  display: block;
  height: 1px;
  background: var(--line);
  margin-bottom: 2em;
}
.x-post{
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.6rem 0.85rem;
  background: rgba(17,24,39,.015);
}
[data-theme="dark"] .x-post{
  background: rgba(255,255,255,.02);
}

.news-text a.x-post,
.news-text a.x-post:hover,
.news-text a.x-post:visited,
.news-text a.x-post:active{
  text-decoration: none !important;
  color: inherit !important;
}
a.x-post{
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.x-post.is-official{
  border-color: rgba(154,205,50,.28);
  background: rgba(154,205,50,.03);
}
a.x-post.is-official:hover{
  border-color: rgba(154,205,50,.55);
  box-shadow: 0 2px 8px rgba(154,205,50,.08);
}
.x-post.is-official .x-avatar-img{
  border: 1px solid rgba(154,205,50,.6);
  box-sizing: border-box;
}
.x-post-header{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}
.x-avatar-icon{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.x-avatar-img{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.x-post.is-official .x-avatar-icon{
  background: #dbeafe;
}
.x-video{
  margin-top: 0.5rem;
  margin-bottom: 0.3rem;
  border-radius: 6px;
  overflow: hidden;
  width: 50%;
}
.x-video video{
  width: 100%;
  display: block;
  object-fit: contain;
  background: #000;
}
.x-image{
  margin-top: 0.5rem;
  margin-bottom: 0.3rem;
  border-radius: 6px;
  overflow: hidden;
  width: 50%;
}
.x-image img{
  width: 100%;
  display: block;
  object-fit: cover;
}
.x-meta{ display: flex; flex-direction: column; gap: 1px; }
.x-name{
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 3px;
}
.x-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  background: #1d9bf0;
  border-radius: 50%;
  color: #fff;
  font-size: 8px;
  flex-shrink: 0;
}
.x-handle{
  font-size: 0.72rem;
  color: var(--muted);
}
.x-post-body{
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--text);
  margin-bottom: 0.28rem;
  white-space: pre-line;
}
.x-post-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.x-post-date{
  font-size: 0.7rem;
  color: var(--muted);
}
.x-post-xlink{
  font-size: 0.7rem;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.x-post-xlink:hover{
  color: #1d9bf0;
  text-decoration: none;
}
.x-post[data-href]{
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
.x-post.is-official[data-href]:hover{
  border-color: rgba(154,205,50,.55);
  box-shadow: 0 2px 8px rgba(154,205,50,.08);
}
[data-theme="dark"] .x-post.is-official[data-href]:hover{
  border-color: rgba(224,120,40,.55);
  box-shadow: 0 2px 8px rgba(224,120,40,.12);
}
.x-post-body a{
  color: #1d9bf0;
  text-decoration: none;
  word-break: break-all;
  position: relative;
  z-index: 1;
}
.x-post-body a:hover{
  text-decoration: underline;
}
.x-replies{
  margin-top: 0;
  padding-top: 0.4rem;
  padding-left: 1.2rem;
  margin-left: 15px;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.x-replies > .x-post{
  position: relative;
}
.x-replies > .x-post::before{
  content: '';
  position: absolute;
  left: -1.75rem;
  top: 0.45rem;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7280' d='M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-10z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.7;
  transform: rotate(180deg);
}

.x-poll{
  margin-top: 0.75rem;
  margin-bottom: 0.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  width: 50%;
}
.x-poll-item{
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}
.x-poll-row{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 0.82rem;
  color: var(--text);
}
.x-poll-label{
  font-weight: 500;
}
.x-poll-pct{
  font-size: 0.78rem;
  color: var(--muted);
  white-space: nowrap;
  margin-left: 0.5rem;
}
.x-poll-item.is-winner .x-poll-label,
.x-poll-item.is-winner .x-poll-pct{
  font-weight: 700;
  color: var(--text);
}
.x-poll-bar-track{
  height: 6px;
  border-radius: 3px;
  background: var(--line);
  overflow: hidden;
}
.x-poll-bar{
  height: 100%;
  border-radius: 3px;
  background: var(--muted);
  transition: width .3s ease;
}
.x-poll-item.is-winner .x-poll-bar{
  background: #1d9bf0;
}
.x-poll-meta{
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 0.15rem;
}

.news-share-x{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px 5px 8px;
  border-radius: 5px;
  background: #000;
  color: #fff;
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .3px;
  justify-self: end;
  align-self: center;
  transition: opacity .18s, transform .14s;
}

.news-share-x:hover{
  opacity: .75;
  transform: scale(1.05);
}

.news-share-x svg{
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
}

.news-section.news-detail .news-text a {
  color: #0645AD;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.news-section.news-detail .news-text a:hover { color: #0b0080; }
.news-section.news-detail .news-text a:visited { color: #5a3696; }

@media (max-width: 900px){
  .news-section .news-content{ flex-direction: column; }
  .news-section .news-image{ max-width: 100%; flex: none; }
}

@media (max-width: 860px){
  .news-section.news-detail .news-head,
  .news-section.news-detail .news-image,
  .news-section.news-detail .news-text{
    width: 100%;
    max-width: 100%;
  }
}

[data-theme="dark"] .news-title {
  color: #e2e8f0;
}

[data-theme="dark"] .news-section .news-text p {
  color: #d1d5db;
}

[data-theme="dark"] .news-section.news-detail .news-text a {
  color: #60a5fa;
}

[data-theme="dark"] .news-section.news-detail .news-text a:hover {
  color: #93c5fd;
}

[data-theme="dark"] .news-section.news-detail .news-text a:visited {
  color: #a78bfa;
}

[data-theme="dark"] .news-section:not(.news-detail) {
  border-color: rgba(255,255,255,.10);
}

[data-theme="dark"] .news-section:not(.news-detail):hover {
  border-color: rgba(255,255,255,.18);
}

[data-theme="dark"] .news-section:not(.news-detail) .news-meta {
  color: #9ca3af;
}

[data-theme="dark"] .news-section:not(.news-detail):hover .news-title {
  color: #60a5fa;
}

[data-theme="dark"] .x-post.is-official{
  border-color: rgba(224,120,40,.28);
  background: rgba(224,120,40,.04);
}
[data-theme="dark"] a.x-post.is-official:hover{
  border-color: rgba(224,120,40,.55);
  box-shadow: 0 2px 8px rgba(224,120,40,.12);
}
[data-theme="dark"] .x-post.is-official .x-avatar-img{
  border-color: rgba(224,120,40,.6);
}


