.msw-page {
  color: #4d301a;
}

.msw-page * {
  box-sizing: border-box;
}

.msw-page a {
  color: inherit;
  text-decoration: none;
}

.msw-hero,
.msw-detail-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  min-height: 21rem;
  margin-bottom: 3rem;
  padding: 4.2rem;
  overflow: hidden;
  border: .1rem solid #ead8b8;
  border-radius: 2.4rem;
  background:
    radial-gradient(circle at 84% 22%, rgba(255,255,255,.58) 0 8rem, transparent 8.1rem),
    radial-gradient(circle at 83% 112%, rgba(99,151,82,.38) 0 26rem, transparent 26.2rem),
    linear-gradient(135deg, #ffe08a 0%, #ffb35f 48%, #f2832a 100%);
  box-shadow: 0 1.8rem 4rem rgba(113,76,36,.14);
}

.msw-hero:after,
.msw-detail-hero:after {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -11rem;
  width: 48rem;
  height: 25rem;
  border-radius: 50% 50% 0 0;
  background: rgba(83,137,89,.34);
}

.msw-hero > *,
.msw-detail-hero > * {
  position: relative;
  z-index: 1;
}

.msw-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 3.2rem;
  padding: .7rem 1.4rem;
  border-radius: 99rem;
  background: rgba(255,250,240,.82);
  color: #8a4a1f;
  font-size: 1.35rem;
  font-weight: 900;
}

.msw-hero h1,
.msw-detail-hero h1 {
  margin: 1.3rem 0 .9rem;
  color: #3e2413;
  font-size: 4rem;
  font-weight: 950;
  line-height: 1.14;
}

.msw-hero p,
.msw-detail-hero p {
  margin: 0;
  color: #6f4827;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.6;
}

.msw-update-time {
  display: inline-flex;
  align-items: center;
  min-height: 3.2rem;
  margin-top: 1.4rem;
  padding: 0 1.2rem;
  border-radius: 99rem;
  background: rgba(255,250,240,.76);
  color: #8a4a1f;
  font-size: 1.35rem;
  font-weight: 950;
}

.msw-hero-search {
  display: flex;
  align-items: center;
  width: min(48rem, 100%);
  height: 5.4rem;
  padding: .5rem;
  border: .1rem solid rgba(255,255,255,.74);
  border-radius: 99rem;
  background: rgba(255,250,240,.92);
  box-shadow: inset 0 0 0 .1rem rgba(113,76,36,.08);
}

.msw-hero-search select,
.msw-hero-search input {
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #4d301a;
  font-size: 1.45rem;
  font-weight: 800;
}

.msw-hero-search select {
  width: 12rem;
  padding-left: 1.4rem;
}

.msw-hero-search input {
  flex: 1;
  min-width: 0;
  padding: 0 1.4rem;
}

.msw-hero-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  height: 4.4rem;
  min-width: 8.6rem;
  border: 0;
  border-radius: 99rem;
  background: #f2832a;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 .8rem 1.8rem rgba(113,76,36,.16);
}

.msw-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .8rem 1.2rem;
  margin-bottom: 1.8rem;
  color: #6f4827;
  font-size: 1.55rem;
}

.msw-list-head > strong:not(.msw-list-count) {
  display: none;
}

.msw-list-count {
  color: #3e2413;
  font-weight: 950;
}

.msw-list-note {
  flex: 1;
  min-width: 24rem;
  color: #8a6746;
  font-size: 1.28rem;
  font-weight: 750;
}

.msw-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  margin: 2.6rem 0 0;
}

.msw-pagination a,
.msw-pagination strong,
.msw-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.8rem;
  height: 3.8rem;
  padding: 0 1rem;
  border: .1rem solid #ead8b8;
  border-radius: .8rem;
  background: #fffaf0;
  color: #6f4827;
  font-size: 1.35rem;
  font-weight: 900;
  text-decoration: none;
}

.msw-pagination strong {
  border-color: #f2832a;
  background: #f2832a;
  color: #fff;
}

.msw-pagination span {
  border-color: transparent;
  background: transparent;
}

.msw-include-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin: -1rem 0 2rem;
}

.msw-include-filters a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6rem;
  padding: 0 1.2rem;
  border: .1rem solid #ead8b8;
  border-radius: .8rem;
  background: #fffaf0;
  color: #6f4827;
  font-size: 1.3rem;
  font-weight: 900;
  text-decoration: none;
}

.msw-include-filters a.on {
  border-color: #f2832a;
  background: #f2832a;
  color: #fff;
}

.msw-top-ad {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.6rem;
  margin: -1.2rem 0 3rem;
  border: .1rem dashed #e0cba8;
  border-radius: 1.8rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,244,216,.8)),
    repeating-linear-gradient(45deg, rgba(214,106,31,.08) 0 1rem, transparent 1rem 2rem);
  color: #8a6746;
  font-size: 1.55rem;
  font-weight: 950;
  box-shadow: 0 1rem 2.4rem rgba(113,76,36,.06);
}

.msw-top-ad span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6rem;
  padding: 0 1.4rem;
  border-radius: 99rem;
  background: rgba(255,250,240,.84);
}

.msw-alpha-note {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: -1.2rem 0 2.2rem;
  padding: 1.4rem 1.6rem;
  border: .1rem solid rgba(123,164,132,.46);
  border-radius: 1.6rem;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,249,241,.9));
  color: #315c38;
  box-shadow: 0 .8rem 2rem rgba(58,110,65,.08);
}

.msw-alpha-note strong {
  flex-shrink: 0;
  padding: .6rem 1rem;
  border-radius: 99rem;
  background: #2f7a45;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 950;
}

.msw-alpha-note span {
  flex: 1;
  min-width: 0;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.45;
}

.msw-alpha-note em {
  flex-shrink: 0;
  padding: .6rem 1rem;
  border-radius: 99rem;
  background: #fff7dd;
  color: #805c18;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 950;
}

.msw-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin: 0 0 2rem;
}

.msw-quick-filters a {
  display: inline-flex;
  align-items: center;
  min-height: 3.8rem;
  padding: .8rem 1.3rem;
  border: .1rem solid #ead8b8;
  border-radius: 99rem;
  background: rgba(255,255,255,.9);
  color: #6f4827;
  font-size: 1.35rem;
  font-weight: 900;
}

.msw-quick-filters a:hover,
.msw-quick-filters a.on {
  border-color: #75ad80;
  background: #edf8ef;
  color: #2f7a45;
}

.msw-card-list,
.msw-mini-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}

.msw-card-wrap {
  position: relative;
  width: calc((100% - 3.2rem) / 3);
}

.msw-list-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  min-height: 11.2rem;
  padding: 1.6rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.8rem;
  background: rgba(255,255,255,.9);
  box-shadow: 0 1rem 2.4rem rgba(113,76,36,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.msw-list-card:hover,
.msw-mini-card:hover {
  transform: translateY(-.3rem);
  border-color: #ffb35f;
  box-shadow: 0 1.6rem 3.2rem rgba(113,76,36,.12);
}

.msw-admin-edit {
  position: absolute;
  right: 1.2rem;
  bottom: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0 1rem;
  border-radius: 99rem;
  background: #4d301a;
  color: #fff !important;
  font-size: 1.2rem;
  font-weight: 900;
  box-shadow: 0 .6rem 1.4rem rgba(77,48,26,.18);
}

.msw-admin-edit.detail {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 3.6rem;
  margin-top: 1.2rem;
  vertical-align: top;
}

.msw-favorite-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.2rem;
  margin-top: .8rem;
  margin-right: .6rem;
  padding: 0 1.2rem;
  border: .1rem solid rgba(77, 48, 26, .18);
  border-radius: 99rem;
  background: rgba(255, 250, 240, .94);
  color: #4d301a;
  font-size: 1.3rem;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 .6rem 1.4rem rgba(77, 48, 26, .12);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.msw-detail-hero .msw-favorite-toggle {
  min-height: 3.6rem;
  margin-top: 1.2rem;
  margin-left: .6rem;
  padding: 0 1.5rem;
  vertical-align: top;
}

.msw-favorite-toggle:hover {
  background: #fff;
  transform: translateY(-.1rem);
  box-shadow: 0 .9rem 1.8rem rgba(77, 48, 26, .16);
}

.msw-favorite-toggle.is-on {
  background: #d66a1f;
  border-color: #d66a1f;
  color: #fff;
}

.msw-thumb,
.msw-mini-thumb,
.msw-detail-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 1.6rem;
  background: #fff8df;
}

.msw-thumb {
  width: 6.2rem;
  height: 6.2rem;
}

.msw-thumb img,
.msw-mini-thumb img,
.msw-detail-thumb img {
  max-width: 86%;
  max-height: 86%;
  object-fit: contain;
  image-rendering: auto;
}

.msw-thumb i,
.msw-mini-thumb i,
.msw-detail-thumb i {
  color: #d66a1f;
  font-size: 2.4rem;
}

.msw-list-info {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-width: 0;
}

.msw-list-info b,
.msw-list-info strong {
  overflow: hidden;
  color: #3e2413;
  font-size: 1.65rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.msw-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: -1rem 0 2.2rem;
}

.msw-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 4.4rem;
  padding: 0 1.8rem;
  border: .1rem solid #ead8b8;
  border-radius: 99rem;
  background: rgba(255,255,255,.88);
  color: #7b5735;
  font-size: 1.45rem;
  font-weight: 950;
  box-shadow: 0 .8rem 1.8rem rgba(113,76,36,.06);
}

.msw-tabs a.on {
  border-color: #f2832a;
  background: linear-gradient(135deg, #ffb35f, #f2832a);
  color: #fff;
  box-shadow: 0 1.2rem 2.4rem rgba(214,106,31,.2);
}

.msw-list-info small,
.msw-list-info em,
.msw-mini-card small {
  color: #7f5f3f;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 750;
}

.msw-card-arrow {
  margin-left: auto;
  color: #d66a1f;
  font-size: 2.2rem;
}

.msw-admin-meta {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: .4rem .8rem;
  border-radius: 99rem;
  background: #f6ead8;
  color: #8a6746;
  font-size: 1.15rem;
  font-weight: 800;
}

.msw-paging {
  margin-top: 3rem;
  text-align: center;
}

.msw-paging a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.8rem;
  height: 3.8rem;
  margin: 0 .3rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.1rem;
  background: #fff;
  color: #7b5735;
  font-size: 1.4rem;
  font-weight: 900;
}

.msw-paging a.on {
  border-color: #f2832a;
  background: #f2832a;
  color: #fff;
}

.msw-empty {
  width: 100%;
  padding: 2.2rem;
  border: .1rem dashed #e0cba8;
  border-radius: 1.6rem;
  background: rgba(255,250,240,.72);
  color: #8a6746;
  font-size: 1.45rem;
  font-weight: 800;
  text-align: center;
}

.msw-empty-relation {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  align-items: center;
}

.msw-empty-relation strong {
  color: #6f4425;
  font-size: 1.65rem;
  font-weight: 950;
}

.msw-empty-relation span,
.msw-empty-relation small {
  display: block;
}

.msw-empty-relation small {
  color: #967657;
  font-size: 1.25rem;
  font-weight: 700;
}

.msw-detail-hero {
  justify-content: flex-start;
}

.msw-detail-thumb {
  width: 13.8rem;
  height: 13.8rem;
  border: .1rem solid rgba(255,255,255,.72);
  background: rgba(255,250,240,.74);
}

.msw-detail-thumb img {
  max-width: 76%;
  max-height: 76%;
}

.msw-stat-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  margin-bottom: 2.6rem;
}

.msw-stat {
  width: calc((100% - 4.2rem) / 4);
  min-height: 9rem;
  padding: 1.8rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.7rem;
  background: rgba(255,255,255,.92);
  box-shadow: 0 1rem 2.4rem rgba(113,76,36,.08);
}

.msw-stat b {
  display: block;
  margin-bottom: .8rem;
  color: #8a6746;
  font-size: 1.25rem;
  font-weight: 950;
}

.msw-stat span {
  color: #3e2413;
  font-size: 1.8rem;
  font-weight: 950;
}

.msw-panel {
  margin-top: 2.4rem;
  padding: 2.4rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.9rem;
  background: rgba(255,255,255,.9);
  box-shadow: 0 1rem 2.4rem rgba(113,76,36,.08);
}

.msw-panel h2 {
  margin: 0 0 1.8rem;
  color: #3e2413;
  font-size: 2.2rem;
  font-weight: 950;
}

.msw-mini-card {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  width: calc((100% - 3.2rem) / 3);
  min-height: 7.8rem;
  padding: 1.3rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.5rem;
  background: #fffaf0;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.msw-mini-thumb {
  width: 4.8rem;
  height: 4.8rem;
  background: #fff4d8;
}

.msw-mini-card span:last-child {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}

.msw-mini-card b {
  overflow: hidden;
  color: #3e2413;
  font-size: 1.45rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.msw-mapline {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.msw-option-table {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.msw-option-table dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc((100% - 2rem) / 3);
  min-height: 4.8rem;
  margin: 0;
  padding: 0 1.4rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.2rem;
  background: #fffaf0;
}

.msw-option-table dt,
.msw-option-table dd {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 850;
}

.msw-option-table dt {
  color: #8a6746;
}

.msw-option-table dd {
  color: #3e2413;
}

.msw-description {
  margin: 0;
  color: #6f4827;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.75;
}

.msw-post-results {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.msw-post-results li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  min-height: 5.2rem;
  padding: 1rem 1.2rem;
  border: .1rem solid #ead8b8;
  border-radius: 1.3rem;
  background: #fffaf0;
}

.msw-post-results li > span {
  flex-shrink: 0;
  color: #d66a1f;
  font-size: 1.3rem;
  font-weight: 950;
}

.msw-post-results a {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: #3e2413;
  font-size: 1.45rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.msw-post-results small {
  flex-shrink: 0;
  color: #8a6746;
  font-size: 1.25rem;
  font-weight: 750;
}

@media screen and (max-width: 1180px) {
  .msw-card-wrap,
  .msw-mini-card {
    width: calc((100% - 1.6rem) / 2);
  }
  .msw-stat {
    width: calc((100% - 1.4rem) / 2);
  }
}

@media screen and (max-width: 768px) {
  .msw-hero,
  .msw-detail-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.4rem;
  }
  .msw-hero h1,
  .msw-detail-hero h1 {
    font-size: 3rem;
  }
  .msw-hero-search {
    width: 100%;
  }
  .msw-card-wrap,
  .msw-mini-card,
  .msw-stat,
  .msw-option-table dl {
    width: 100%;
  }
}
