:root {
  --primary: #6c4cf5;
  --secondary: #8b6cff;
  --text: #171a2b;
  --sub: #6b7280;
  --border: #e8e8f2;
  --bg: #f8f8fc;
  --radius: 14px
}

.hero-slide-design .hero-copy .primary-btn {
  margin-top: 28px;
}

.site-card[data-card-url],
.hp-best-card[data-card-url] {
  cursor: pointer;
}

.site-card[data-card-url]:focus-visible,
.hp-best-card[data-card-url]:focus-visible {
  outline: 3px solid #7457f5;
  outline-offset: 3px;
}

.hero-slide-design .hero-copy h3 {
  line-height:1.35;
  margin-bottom:6px;
}

@media(min-width:768px) {
  .hero-slide-design .hero-copy h3 {
    font-size: 21px;
  }

  .hero-slide-design .hero-copy p {
    font-size: 17px;
    line-height: 1.75;
  }
}

.hero-slide-design .hero-copy {
  --hero-accent:#9b87ff;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 48px rgba(25,18,66,.22);
}

.hero-slide-design .hero-copy>* {
  position:relative;
  z-index:2;
}

.hero-slide-design .hero-copy .pill {
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
}

.hero-slide-design .hero-copy .primary-btn {
  border:1px solid rgba(255,255,255,.22);
  background:var(--hero-accent);
  box-shadow:0 10px 24px rgba(9,7,27,.24);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.hero-slide-design .hero-copy .primary-btn:hover {
  filter:brightness(1.08);
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(9,7,27,.3);
}

.hero-slide-design .hero-copy:before {
  content:'';
  position:absolute;
  z-index:0;
  width:270px;
  height:210px;
  right:42px;
  top:50%;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:
    linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 24px 28px/92px 10px no-repeat,
    linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)) 24px 54px/170px 7px no-repeat,
    linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03));
  box-shadow:0 24px 45px rgba(4,3,20,.2),inset 0 1px 0 rgba(255,255,255,.12);
  transform:translateY(-50%) rotate(-3deg);
  backdrop-filter:blur(8px);
}

.hero-slide-design .hero-copy:after {
  position:absolute;
  z-index:1;
  right:76px;
  bottom:48px;
  color:rgba(255,255,255,.16);
  font-size:70px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.08em;
}

.hero-design-variant-1 .hero-copy {
  --hero-accent:#8064ff;
  background:
    radial-gradient(circle at 86% 20%,rgba(137,103,255,.42),transparent 28%),
    linear-gradient(125deg,#14112d 0%,#251650 57%,#512583 100%);
}
.hero-design-variant-1 .hero-copy:after {content:'01';}

.hero-design-variant-2 .hero-copy {
  --hero-accent:#ff7c9d;
  background:
    radial-gradient(circle at 84% 18%,rgba(255,137,178,.34),transparent 30%),
    linear-gradient(125deg,#2b102c 0%,#571c4d 55%,#8c315f 100%);
}
.hero-design-variant-2 .hero-copy:before {
  border-radius:50% 24px 24px 50%;
  transform:translateY(-50%) rotate(4deg);
}
.hero-design-variant-2 .hero-copy:after {content:'02';}

.hero-design-variant-3 .hero-copy {
  --hero-accent:#27c9b8;
  background:
    radial-gradient(circle at 84% 18%,rgba(58,216,202,.28),transparent 29%),
    linear-gradient(125deg,#0d2337 0%,#123f55 54%,#166f72 100%);
}
.hero-design-variant-3 .hero-copy:before {
  border-radius:24px 70px 24px 24px;
  transform:translateY(-50%) rotate(-1deg);
}
.hero-design-variant-3 .hero-copy:after {content:'03';}

@media(min-width:768px) {
  .hero-slide-design .hero-title,
  .hero-slide-design .hero-copy h3,
  .hero-slide-design .hero-copy p {
    max-width:66%;
  }
}

@media(max-width:900px) {
  .hero-slide-design .hero-copy:before {
    right:-55px;
    opacity:.5;
  }
  .hero-slide-design .hero-copy:after {
    right:24px;
    opacity:.6;
  }
}

@media(max-width:767px) {
  .hero-slide-design .hero-copy:before {
    width:190px;
    height:150px;
    right:-72px;
    top:42%;
    opacity:.34;
  }
  .hero-slide-design .hero-copy:after {
    right:18px;
    bottom:24px;
    font-size:48px;
  }
}

.hero-top-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.hero-top-card strong {
  position: relative;
  z-index: 1;
  margin-top: 28px;
  font-size: 28px;
  line-height: 1.35;
}

.hero-top-card p {
  position: relative;
  z-index: 1;
  margin: 14px 0 24px;
  color: #fff;
  font-size: 15px;
  line-height: 1.65;
}

.hero-top-card>span {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  margin-top: auto;
  padding: 11px 16px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 22px;
  color: #fff;
  font-weight: 700;
}

.hp-home-frequent-wrap .hp-home-frequent-grid small {
  display: none;
}

.inner.sitemap-page {
  padding-top: 76px;
}

.sitemap-link-grid {
  align-items: stretch;
}

.sitemap-category-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
}

.sitemap-category-card .sitemap-category-main {
  min-height: 0;
  padding: 0 0 15px;
  border: 0;
  border-bottom: 1px solid #eceaf4;
  border-radius: 0;
  box-shadow: none;
}

.sitemap-category-card .sitemap-category-main:hover {
  box-shadow: none;
  transform: none;
}

.sitemap-subcategories {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 14px;
}

.sitemap-subcategories a {
  display: inline-flex;
  min-height: 0;
  padding: 5px 8px;
  justify-content: center;
  border: 0;
  border-radius: 6px;
  background: #f3f0ff;
  color: #6250bc;
  font-size: 13px;
}

.sitemap-subcategories a:hover {
  box-shadow: none;
  transform: none;
}

@media(max-width:767px) {
  .inner.sitemap-page {
    padding-top: 48px;
  }
}

@media(max-width:767px) {
  .inner.category-filter-row {
    display:flex;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .subcategory-tabs {
    width:100%;
    flex:none;
  }

  .filter-bar {
    width:100%;
    margin-left:0;
  }

  .filter-bar select {
    width:100%;
  }
}

/* Sitemap category cards: keep second-level links compact after legacy link rules. */
.sitemap-link-grid .sitemap-category-card {
  display:flex !important;
  min-height:190px !important;
  padding:24px !important;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:18px;
}
.sitemap-link-grid .sitemap-category-main {
  display:flex !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.sitemap-link-grid .sitemap-category-main:hover {
  border:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.sitemap-link-grid .sitemap-subcategories {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.sitemap-link-grid .sitemap-subcategories a {
  display:inline-flex !important;
  width:auto !important;
  min-height:0 !important;
  padding:7px 10px !important;
  border:1px solid #e4e0fa;
  border-radius:999px;
  background:#f8f7ff;
  box-shadow:none;
  color:#68627b;
  font-size:13px;
  line-height:1.2;
}
.sitemap-link-grid .sitemap-subcategories a:hover {
  border-color:#7657f6;
  background:#f0edff;
  color:#6247e7;
  transform:none;
}
@media(max-width:767px) {
  .sitemap-link-grid .sitemap-category-card {
    min-height:0 !important;
    padding:18px !important;
  }
}

@media(max-width:767px) {
  .hero-slide-design .hero-copy .primary-btn {
    margin-top: 22px;
  }
}
* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  padding-top: var(--hp-header-height, 138px);
  color: var(--text);
  font-family: Pretendard, "Noto Sans KR", Arial, sans-serif;
  background: #fff
}

a {
  color: inherit;
  text-decoration: none
}


.skip {
  position: fixed;
  left: 8px;
  top: -50px;
  z-index: 999;
  padding: 10px;
  background: #111;
  color: #fff
}

.skip:focus {
  top: 8px
}

.hp-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, .96);
  z-index: 50;
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(14px);
  z-index: 999;
}

.header-main {
  height: 86px;
  display: flex;
  align-items: center;
  gap: 46px
}

.brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  font-size: 24px;
  white-space: nowrap
}

.brand img {
  display: block;
  width: 205px;
  height: auto
}

.brand i {
  color: var(--primary);
  font-style: normal
}

.brand small {
  display: block;
  font-size: 10px;
  color: var(--sub);
  font-weight: 500;
  margin-top: 4px
}

.search {
  height: 46px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 14px #2822640c;
  border-radius: 24px;
  display: flex;
  flex: 1;
  max-width: 500px
}

.search input {
  border: 0;
  outline: 0;
  width: 100%;
  padding: 0 20px;
  background: transparent
}

.search button {
  border: 0;
  background: none;
  font-size: 25px;
  padding: 0 17px
}

.actions {
  display: flex;
  align-items: center;
  gap: 25px;
  font-size: 14px;
  margin-left: auto
}

.actions .add,
.primary-btn {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  padding: 14px 20px;
  border-radius: 8px;
  font-weight: 700
}

.categories {
  position: relative
}

.categories>.inner {
  display: flex;
  height: 52px;
  align-items: center;
  gap: 32px;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #d7d1f5 transparent
}

.categories>.inner::-webkit-scrollbar {
  height: 4px
}

.categories>.inner::-webkit-scrollbar-thumb {
  background: #d7d1f5;
  border-radius: 4px
}

.categories a {
  font-size: 14px;
  flex: none
}

.categories a.on,
.categories a:hover {
  color: var(--primary)
}

.community-menu {
  position: relative;
  margin-left: auto;
  height: 100%;
  display: flex;
  align-items: center
}

.community-trigger span {
  display: inline-block;
  margin-left: 4px;
  font-size: 12px;
  transition: transform .2s
}

.community-menu:hover .community-trigger span,
.community-menu:focus-within .community-trigger span {
  transform: rotate(180deg)
}

.community-dropdown {
  position: fixed;
  right: max(24px, calc((100vw - 1440px)/2));
  top: 128px;
  min-width: 142px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 15px 35px #24213b24;
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: .18s;
  z-index: 80
}

.community-dropdown a {
  padding: 10px 12px;
  border-radius: 7px
}

.community-dropdown a:hover,
.community-dropdown a:focus {
  background: #f2f0ff
}

.community-menu:hover .community-dropdown,
.community-menu:focus-within .community-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.hp-header .ham_open,
.hp-mobile-menu,
.hp-menu-overlay {
  display: none
}

.hp-menu-open {
  overflow: hidden;
  padding-right: var(--hp-scrollbar-width, 0)
}

.hp-menu-open .hp-header {
  padding-right: var(--hp-scrollbar-width, 0)
}

.hero {
  position: relative;
  background: radial-gradient(circle at 55% 40%, #fff 0, #f2efff 52%, #fbfaff 100%);
  overflow: hidden
}

.hero.hp-hero-swiper {
  padding: 28px 0 46px
}

.hero-flex {
  display: flex;
  align-items: stretch;
  gap: 16px
}

.hero-copy {
  width: 66.666%;
  min-width: 0;
  max-width: none;
  min-height: 310px;
  padding: 40px;
  border-radius: 10px;
  background: linear-gradient(125deg, #171135 0%, #211348 58%, #54218d 100%);
  color: #fff;
  text-align: left;
  box-shadow: 0 15px 35px #3523711c
}

.hero-copy:after {
  content: '';
  position: absolute
}

.hero-copy .pill {
  padding: 7px 12px;
  background: #ffffff16
}

.hero-copy .hero-title {
  color: #fff
}

.hero-copy h3 {
  color: #fff
}

.hero-copy p {
  color: #d9d5ec
}

.hero-copy .hero-stats {
  color: #fff
}

.hero-copy .primary-btn {
  display: inline-flex
}

.hero-ad-card {
  position: relative;
  width: 33.334%;
  min-height: 310px;
  padding: 34px 30px;
  overflow: hidden;
  border-radius: 10px;
  background: linear-gradient(145deg, #5438e8, #273adf 50%, #bf2bd4);
  color: #fff;
  box-shadow: 0 15px 35px #3523711c
}

.hero-ad-card:after {
  content: '';
  position: absolute;
  width: 210px;
  height: 210px;
  right: -92px;
  bottom: -70px;
  border: 24px solid #ffffff12;
  transform: rotate(30deg)
}

.hero-ad-card small,
.hero-ad-card strong {
  display: block;
  position: relative;
  z-index: 1
}

.hero-ad-card small {
  font-weight: 700
}

.hero-ad-card strong {
  margin-top: 24px;
  font-size: 23px;
  line-height: 1.45
}

.hero-ad-card em {
  font-style: normal;
  color: #e0dbff
}

.hero-ad-card button {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 10px 21px;
  border: 1px solid #fff;
  border-radius: 24px;
  background: transparent;
  color: #fff
}

.hero-ad-card>b {
  position: absolute;
  right: 25px;
  bottom: 20px;
  z-index: 1;
  font-size: 34px
}

.pill {
  display: inline-block;
  padding: 9px 15px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(90deg, #6c4cf5, #9567ff);
  font-size: 13px
}

.hero .hero-title {
  font-size: 40px;
  line-height: 1.25;
  margin: 25px 0 18px
}

.hero h3 {
  margin: 0 0 8px
}

.hero p {
  color: var(--sub);
  line-height: 1.65
}

.hero .hero-top-card p {
  color: #fff
}

.hero-stats {
  color: #5145c9;
  margin: 22px 0 30px
}

.mock-nav {
  padding: 18px 22px;
  font-size: 11px;
  font-weight: 700
}

.mock-nav span {
  float: right;
  color: var(--sub)
}

.mock-content {
  margin: 28px 30px;
  position: relative;
  max-width: 48%
}

.mock-content h2 {
  font-size: 28px;
  margin-top: 40px
}

.mock-content button {
  background: #5067eb;
  border: 0;
  border-radius: 20px;
  color: #fff;
  padding: 10px 18px
}

.mock-panel {
  position: absolute;
  left: calc(100% + 18px);
  top: 0;
  width: 100%;
  height: 230px;
  background: linear-gradient(#f3f5fb 12%, white 12%);
  border: 1px solid #e6e9f2;
  box-shadow: 0 10px 25px #00000012
}

.hero-banner-visual {
  display: flex;
  min-height: 327px;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background: linear-gradient(135deg, #5938d8 0%, #8668f3 52%, #d7c8ff 100%);
  color: #fff
}

.hero-admin-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 235px;
  margin: auto;
  object-fit: contain
}

.hero-banner-content {
  padding: 30px 34px;
  position: relative;
  z-index: 1
}

.hero-banner-content h2 {
  margin: 0 0 10px;
  font-size: 27px;
  line-height: 1.3;
  color: inherit
}

.hero-banner-content p {
  margin: 0 0 20px;
  line-height: 1.65;
  color: inherit
}

.hero-banner-content a {
  display: inline-flex;
  padding: 10px 18px;
  border-radius: 24px;
  background: #fff;
  color: var(--primary);
  font-weight: 700
}

.hero-banner-visual.has-image {
  justify-content: flex-start;
  background: #f4f1ff
}

.hero-banner-visual.has-image .hero-banner-content {
  width: 100%;
  box-sizing: border-box;
  margin-top: auto;
  padding-top: 45px;
  background: linear-gradient(transparent, #39258ee8);
  color: #fff
}

.top-list .hp-icon {
  color: #fff
}

.hp-hero-swiper .swiper-pagination {
  bottom: 18px
}

.hp-hero-swiper .swiper-pagination-bullet-active {
  background: var(--primary)
}

.hero-prev,
.hero-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: #ffffffdd;
  color: var(--primary);
  font-size: 28px;
  cursor: pointer
}

.hero-prev {
  left: 18px
}

.hero-next {
  right: 18px
}

.ad {
  height: 76px;
  margin-top: 28px;
  margin-bottom: 28px;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 15px 55px
}

.ad b {
  font-size: 22px
}

.ad b span {
  color: #4285f4
}

.ad a {
  background: #3b82f6;
  color: #fff;
  padding: 11px 20px;
  border-radius: 5px
}

.ad.dark {
  background: linear-gradient(90deg, #26113c, #350070);
  color: #fff
}

.promo-wide {
  position: relative;
  min-height: 86px;
  margin-top: 18px;
  margin-bottom: 30px;
  padding: 18px 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  overflow: hidden;
  border-radius: 8px
}

.promo-wide i {
  position: absolute;
  right: 7px;
  top: 5px;
  padding: 2px 5px;
  border: 1px solid #bcc4ce;
  border-radius: 3px;
  color: #6f7782;
  background: #ffffffaa;
  font-size: 9px;
  font-style: normal
}

.promo-wide strong {
  font-size: 19px
}

.promo-wide button,
.promo-card button {
  padding: 10px 19px;
  border: 0;
  border-radius: 6px;
  background: #1769f5;
  color: #fff;
  font-weight: 700
}

.promo-workspace {
  background: linear-gradient(90deg, #eef8ff, #ddecff);
  color: #1670e7
}

.promo-workspace+.home-section {
  padding-top: 26px
}

.promo-workspace .promo-brand {
  font-size: 22px;
  color: #4285f4
}

.promo-workspace .promo-brand b {
  color: #555;
  font-weight: 500
}

.promo-creative {
  min-height: 112px;
  margin-top: 0;
  margin-bottom: 14px;
  background: linear-gradient(105deg, #f21162, #ff6b2c 55%, #9d3ce7);
  color: #fff
}

.promo-creative .promo-mark {
  font-size: 42px;
  font-weight: 900
}

.promo-creative strong {
  display: flex;
  flex-direction: column;
  flex: 1;
  font-size: 20px
}

.promo-creative strong b {
  font-size: 23px
}

.promo-creative button {
  border: 1px solid #fff;
  border-radius: 22px;
  background: transparent
}

.promo-orbit {
  font-size: 52px;
  font-weight: 900
}

.promo-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 0;
  margin-bottom: 30px
}

.promo-card {
  position: relative;
  width: calc(50% - 7px);
  min-height: 174px;
  padding: 27px 30px;
  overflow: hidden;
  border-radius: 8px
}

.promo-card small,
.promo-card strong {
  display: block;
  position: relative;
  z-index: 1
}

.promo-card strong {
  margin: 18px 0;
  font-size: 21px;
  line-height: 1.35
}

.promo-card button {
  position: relative;
  z-index: 1
}

.promo-card>span {
  position: absolute;
  right: 28px;
  bottom: 34px;
  font-size: 32px;
  font-weight: 900;
  opacity: .7
}

.promo-envato {
  background: linear-gradient(120deg, #061f24, #073c45);
  color: #fff
}

.promo-envato button {
  background: #77cb3b
}

.promo-microsoft {
  background: linear-gradient(120deg, #f7fbff, #d9eaff);
  color: #172033
}

.promo-hostinger {
  background: linear-gradient(120deg, #eee8ff, #d4c7ff);
  color: #251659
}

.promo-hostinger button {
  background: #6c4cf5
}

.promo-design {
  background: linear-gradient(120deg, #19122f, #6741b7);
  color: #fff
}

.promo-video {
  min-height: 92px;
  margin-top: 0;
  margin-bottom: 16px;
  background: linear-gradient(100deg, #0755a7, #081c56);
  color: #fff
}

.promo-video+.home-community {
  margin-top: 0
}

.promo-video .promo-brand {
  font-size: 31px;
  font-weight: 900;
  font-style: italic
}

.promo-video strong {
  display: flex;
  flex-direction: column;
  flex: 1
}

.promo-video strong small {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 400;
  color: #c8d6ef
}

.promo-video button {
  border: 1px solid #fff;
  background: transparent
}

.section {
  padding: 20px 0 32px
}

.inner.home-section {
  padding-top: 60px;
  padding-bottom: 30px
}

.inner.home-section.home-rising {
  padding-bottom: 18px
}

.inner.home-split {
  margin-top: 30px;
  margin-bottom: 15px;
  padding-top: 0;
  padding-bottom: 0
}

.inner.home-community {
  margin-top: 30px;
  margin-bottom: 120px
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 8px 0 20px
}

.section-head h2 {
  font-size: 20px;
  margin: 0
}

.section-head p {
  display: inline;
  margin-left: 10px;
  font-size: 12px;
  color: var(--sub)
}

.section-head a {
  font-size: 13px;
  color: #4246bd
}

.card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 18px
}

.site-card {
  width: calc((100% - 90px)/6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  transition: .25s;
  background: #fff
}

.site-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 28px #493eb018
}

.rank {
  position: absolute;
  z-index: 2;
  left: 8px;
  top: 8px;
  background: #474f64;
  color: #fff;
  padding: 3px 7px;
  border-radius: 5px
}

.card-cover {
  height: 130px;
  margin: 8px;
  display: flex;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #13162a, #6954bd);
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  text-align: center;
}
.card-cover span{
  display: block;
  padding: 0 1rem;
}

.site-card:nth-child(2n) .card-cover {
  background: linear-gradient(135deg, #f5adf0, #c295fa);
  color: #1c1940
}

.site-card:nth-child(3n) .card-cover {
  background: linear-gradient(135deg, #dff5ff, #7866e9)
}

.card-body {
  padding: 4px 12px 13px
}

.card-title {
  display: flex;
  gap: 7px;
  align-items: center;
  font-weight: 800;
  margin-bottom: 6px
}

.hp-icon {
  display: inline-flex;
  flex: 0 0 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--ic);
  color: #fff;
  font-size: 12px
}

.card-body p {
  font-size: 15px;
  color: var(--sub);
  min-height: 48px;
  line-height: 1.6;
  margin: 0 0 8px;
  overflow: hidden
}

.tags {
  min-height: 26px;
  overflow: hidden
}

.tags a {
  display: inline-block;
  font-size: 14px;
  line-height: 1.35;
  color: #5967a8;
  background: #f1f3fb;
  padding: 3px 5px;
  margin: 0 3px 3px 0
}

.card-meta {
  border-top: 1px solid #f1f1f5;
  margin-top: 10px;
  padding-top: 9px;
  display: flex;
  gap: 10px;
  color: var(--sub);
  font-size: 11px
}

.card-meta button {
  margin-left: auto;
  border: 0;
  background: none;
  cursor: pointer
}
.card-meta button.js-fav{
  display: none;
}

.split {
  display: flex;
  gap: 24px
}

.split>.panel {
  width: calc(50% - 12px)
}

.panel {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px
}

.mini-list,
.top-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px
}

.mini-list>a {
  width: calc(50% - 8px);
  display: flex;
  gap: 10px;
  align-items: center
}

.mini-list span {
  min-width: 0
}

.mini-list small {
  display: block;
  color: var(--sub);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px
}

.mini-list em {
  font-size: 10px;
  color: #9ca3af;
  margin-left: auto
}

.top-list {
  gap: 5px 25px;
  padding: 0;
  margin: 0
}

.top-list li {
  width: calc(50% - 13px);
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid #f0f0f5;
  padding: 7px;
  list-style: none;
  font-size: 13px;
  text-align: left
}

.top-list li>b {
  background: #edf0f8;
  padding: 5px 8px;
  border-radius: 6px
}

.top-list li:first-child>b {
  background: #7663f2;
  color: #fff
}

.top-list li>a {
  flex: 1;
  min-width: 0;
  text-align: left
}

.top-list li span {
  margin-left: auto;
  color: var(--sub);
  font-size: 12px
}

.bottom {
  background: #fff
}

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

.community li {
  padding: 11px 0;
  border-bottom: 1px solid #eee;
  font-size: 16px
}

.community span {
  float: right;
  color: var(--sub);
  font-size: 12px
}

.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.tag-cloud a {
  padding: 10px 14px;
  border-radius: 8px;
  background: #f2f0ff;
  color: #5147a9
}

.hp-footer {
  margin-top: 35px;
  background: var(--bg);
  padding: 42px 0 25px
}

.footer-grid {
  display: flex;
  gap: 36px
}

.footer-grid>div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 13px
}

.footer-grid>div:first-child {
  flex: 2
}

.footer-grid p,
.footer-grid a {
  color: var(--sub)
}

.footer-site-info {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 3px;
  color: var(--sub);
  line-height: 1.55
}

.footer-site-info span {
  display: block
}

.footer-site-info strong {
  display: inline-block;
  min-width: 52px;
  color: var(--text);
  font-size: 12px
}

.footer-site-info a {
  text-decoration: underline;
  text-underline-offset: 2px
}

.hp-footer .inner.copyright {
  margin-top: 30px;
  border-top: 1px solid var(--border);
  padding-top: 30px;
  color: var(--sub);
  font-size: 12px
}

.copyright span {
  float: right
}

.to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  border: 1px solid var(--border);
  background: #fff;
  width: 42px;
  height: 42px;
  border-radius: 50%
}

.page-hero {
  padding: 50px 0;
  background: var(--bg)
}

.page-hero h1 {
  font-size: 34px
}

.inner.category-filter-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  margin-bottom: 20px;
  min-width: 0
}

.filter-bar {
  flex: none;
  margin-left: auto
}

.filter-bar select {
  min-width: 112px;
  height: 42px;
  border: 1px solid var(--border);
  padding: 0 36px 0 14px;
  border-radius: 8px;
  background-color: #fff;
  color: #343747;
  font-weight: 700;
  cursor: pointer
}

.subcategory-tabs {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  gap: 9px;
  padding-bottom: 8px;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: thin;
  scrollbar-color: #d7d1f5 transparent
}

.subcategory-tabs::-webkit-scrollbar {
  height: 4px
}

.subcategory-tabs::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: #d7d1f5
}

.subcategory-tabs a {
  flex: none;
  padding: 10px 16px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: #fff;
  color: #5f6372
}

.subcategory-tabs a.on,
.subcategory-tabs a:hover {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff
}

.list-grid {
  padding-bottom: 60px
}

.list-grid .site-card {
  width: calc((100% - 54px)/4)
}

.inner.favorites-grid {
  margin-top: 24px
}

.mypage-profile {
  margin-top: 50px;
  padding: 32px 28px 28px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff
}

.mypage-profile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px
}

.mypage-profile-head h2 {
  margin: 0
}

.mypage-edit {
  padding: 11px 16px;
  border: 1px solid #d9d2ff;
  border-radius: 8px;
  background: #f7f5ff;
  color: var(--primary);
  font-weight: 700
}

.mypage-info {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--border)
}

.mypage-info>div {
  width: 25%;
  padding: 20px 16px
}

.mypage-info dt {
  margin-bottom: 8px;
  color: var(--sub);
  font-size: 13px
}

.mypage-info dd {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere
}

.mypage-favorites-title {
  margin-top: 42px
}

.mypage-favorites-title h2 {
  margin: 0
}

/* 마이페이지 - 개인 카테고리 메뉴 */
.mypage-menu-settings {
  margin-top: 44px;
  padding: 30px 28px 34px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff
}

.mypage-menu-head,
.mypage-menu-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px
}

.mypage-menu-head h2 {
  margin: 0 0 7px
}

.mypage-menu-head p {
  margin: 0;
  color: var(--sub)
}

.mypage-menu-saved {
  padding: 7px 11px;
  border-radius: 18px;
  background: #ecfbf4;
  color: #138455;
  font-size: 13px;
  font-weight: 700
}

.mypage-menu-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px
}

.mypage-menu-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0
}

.mypage-menu-options span {
  display: inline-flex;
  min-width: 74px;
  height: 42px;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 21px;
  background: #fff;
  cursor: pointer;
  transition: .18s
}

.mypage-menu-options input:checked+span {
  border-color: var(--primary);
  background: #f1edff;
  color: var(--primary);
  font-weight: 700
}

.mypage-menu-options input:focus-visible+span {
  outline: 2px solid var(--primary);
  outline-offset: 2px
}

.mypage-menu-actions {
  justify-content: flex-end;
  margin-top: 28px;
  padding: 0 4px 2px
}

.mypage-menu-actions button {
  min-height: 44px;
  padding: 0 17px;
  border-radius: 8px;
  font-weight: 700
}

.mypage-menu-reset {
  border: 1px solid var(--border);
  background: #fff;
  color: #5d6170
}

.mypage-menu-actions .primary-btn {
  border: 0
}

/* 사용자용 사이트맵 */
.sitemap-page {
  padding-top: 52px;
  padding-bottom: 100px
}

.sitemap-block-head span {
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em
}

.sitemap-block-head h2 {
  margin: 7px 0 22px;
  font-size: 26px
}

.sitemap-link-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px
}

.sitemap-link-grid a {
  display: flex;
  min-height: 96px;
  padding: 20px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  transition: .18s
}

.sitemap-link-grid a:hover {
  border-color: #c9bfff;
  box-shadow: 0 10px 25px rgba(71,52,146,.08);
  transform: translateY(-2px)
}

.sitemap-link-grid a span {
  color: var(--sub);
  font-size: 12px
}

.sitemap-section-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
  margin-top: 64px
}

.sitemap-section-grid>.sitemap-block {
  padding: 26px;
  border-radius: 14px;
  background: #f8f7fc
}

.sitemap-section-grid nav {
  display: flex;
  flex-direction: column;
  gap: 13px
}

.sitemap-section-grid nav a:hover {
  color: var(--primary)
}

@media(max-width:1024px){.sitemap-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sitemap-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:767px){.mypage-menu-settings{margin-top:34px;padding:24px 18px 28px}.mypage-menu-head{align-items:flex-start;flex-direction:column}.mypage-menu-options{gap:8px}.mypage-menu-options label{width:calc(50% - 4px)}.mypage-menu-options span{width:100%}.mypage-menu-actions{align-items:stretch;flex-direction:column-reverse;padding:0}.mypage-menu-actions button{width:100%}.sitemap-page{padding-top:36px;padding-bottom:75px}.sitemap-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sitemap-link-grid a{min-height:84px;padding:16px}.sitemap-section-grid{grid-template-columns:1fr;margin-top:45px}}

.detail {
  padding: 55px 0
}

.detail-head {
  display: flex;
  gap: 36px
}

.detail-head>div:last-child {
  flex: 1;
  min-width: 0
}

.detail-head>.detail-cover+.detail-main>.pill,
.detail-head>div:last-child>.pill {
  font-size: 14px
}

.detail-cover {
  flex: 0 0 260px;
  min-height: 220px;
  border-radius: 18px;
  background: linear-gradient(135deg, #181a31, #7460e8);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 900;
  text-align: center;
  padding: 0 20px;
}

.detail h1 {
  font-size: 38px;
  margin: 8px 0
}

.detail-main>.tags {
  margin-top: 4px
}

.detail-actions {
  display: flex;
  gap: 10px;
  margin-top: 25px;
  flex-wrap: wrap
}

.detail-actions a,
.detail-actions button {
  border: 1px solid var(--border);
  padding: 13px 18px;
  border-radius: 8px;
  background: #fff
}

.detail-actions .visit {
  background: var(--primary);
  color: #fff
}

.detail-body {
  display: flex;
  margin-top: 45px
}

.content-box {
  flex: 1;
  min-width: 0
}

.content-box,
.form-box {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px
}

.content-box {
  line-height: 1.85
}

.content-box h2 {
  margin: 32px 0 14px
}

.content-box h2:first-child {
  margin-top: 0
}

.hp-content {
  font-size: 16px;
  line-height: 1.9;
  overflow-wrap: anywhere
}

.hp-content p {
  margin: 0 0 18px
}

.hp-content ul,
.hp-content ol {
  padding-left: 22px;
  margin: 12px 0 20px
}

.hp-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px
}

.hp-content a {
  color: var(--primary);
  text-decoration: underline
}

.service-info {
  margin-top: 42px;
  padding-top: 32px;
  border-top: 1px solid var(--border)
}

.service-info h2 {
  margin: 0 0 10px
}

.service-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.service-cards>div {
  width: calc((100% - 50px)/6);
  min-height: 92px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff, #f7f6ff);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px
}

.service-cards span {
  font-size: 13px;
  color: var(--sub)
}

.service-cards strong {
  font-size: 15px;
  overflow-wrap: anywhere
}

.form-page {
  max-width: 850px;
  padding: 55px 0
}

.form-box label {
  display: block;
  font-weight: 700;
  margin: 18px 0 7px
}

.form-box input,
.form-box textarea,
.form-box select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 13px
}

.form-box textarea {
  min-height: 130px
}

.form-row {
  display: flex;
  gap: 18px
}

.form-row>* {
  width: auto;
  min-width: 0;
  flex: 1
}

.submit {
  margin-top: 25px;
  border: 0;
  background: var(--primary);
  color: #fff;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 700
}

.empty {
  text-align: center;
  padding: 80px;
  color: var(--sub)
}

.about-page {
  padding-top: 72px;
  padding-bottom: 90px
}

.about-hero {
  max-width: 820px;
  margin-bottom: 34px
}

.about-hero>span {
  color: var(--primary);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em
}

.about-hero h1 {
  margin: 12px 0 18px;
  font-size: 38px;
  line-height: 1.3
}

.about-hero p {
  margin: 0;
  color: var(--sub);
  font-size: 18px;
  line-height: 1.8
}

.about-content {
  max-width: 920px;
  padding: 38px
}

.about-content p {
  margin: 0;
  color: #53586a
}

.about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
  padding-top: 30px;
  border-top: 1px solid var(--border)
}

.about-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px
}

.about-secondary {
  padding: 13px 20px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-weight: 700
}

.basic-board-title {
  padding-top: 48px;
  padding-bottom: 24px
}

.basic-board-title h1 {
  margin: 0;
  font-size: 32px
}

.basic-board-title p {
  margin: 10px 0 0;
  color: var(--sub)
}

#bo_list.inner,
#bo_v.inner,
#bo_w.inner {
  width: min(1280px, calc(100% - 48px)) !important;
  margin-left: auto;
  margin-right: auto
}

.hp-comments {
  margin-top: 35px;
  margin-bottom: 35px
}

.hp-comments #bo_vc,
.hp-comments #bo_vc_w,
.hp-comments .cmt_btn_wr {
  width: 100%;
  margin-left: 0;
  margin-right: 0
}

.inner.about-page {
  padding-top: 72px;
  padding-bottom: 90px
}

.inner.home-community {
  margin-bottom: 0
}

.hp-footer {
  margin-top: 120px
}

.inner.mypage-profile {
  margin-top: 50px;
  padding: 32px 28px 28px
}

.inner.mypage-menu-settings {
  margin-top: 44px;
  padding: 30px 28px 34px
}

.inner.mypage-favorites-title {
  margin-top: 30px
}

.mypage-favorites-title h2 {
  font-size: 30px
}

.inner.mypage-sites {
  margin-top: 70px
}

.empty .primary-btn {
  display: block;
  margin: 0 auto;
  margin-top: 30px;
  max-width: 400px;
  width: 100%;
}

/* 마이페이지 - 내가 등록한 사이트 */
.mypage-sites {
  margin-top: 42px
}

.mypage-sites-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px
}

.mypage-sites-head h2 {
  margin: 0;
  font-size: 30px
}

.mypage-sites-head .primary-btn {
  padding: 10px 15px
}

.mypage-site-list {
  border-top: 2px solid #252238
}

.mypage-site-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 18px;
  border-bottom: 1px solid var(--border);
  background: #fff
}

.mypage-site-main {
  min-width: 0;
  flex: 1
}

.mypage-site-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 7px
}

.mypage-site-title>strong {
  font-size: 17px
}

.mypage-site-main>a {
  display: block;
  color: var(--sub);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.mypage-status {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1
}

.mypage-status.status-pending {
  background: #fff4df;
  color: #a45b00
}

.mypage-status.status-approved {
  background: #e8f8ed;
  color: #167238
}

.mypage-status.status-revision {
  background: #eee9ff;
  color: #6344d8
}

.mypage-status.status-rejected {
  background: #ffe9e9;
  color: #b22929
}

.mypage-status.status-hidden {
  background: #eceef2;
  color: #5c6370
}

.mypage-review-reason {
  margin-top: 14px;
  padding: 13px 15px;
  border-left: 3px solid var(--primary);
  border-radius: 0 7px 7px 0;
  background: #f7f5ff
}

.mypage-review-reason strong {
  display: block;
  margin-bottom: 5px;
  color: var(--primary);
  font-size: 13px
}

.mypage-review-reason p {
  margin: 0;
  line-height: 1.6;
  overflow-wrap: anywhere
}

.mypage-site-actions {
  display: flex;
  gap: 7px;
  flex-shrink: 0
}

.mypage-site-actions a {
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #fff;
  font-size: 13px
}

.mypage-site-actions .mypage-site-edit {
  border-color: #d9d2ff;
  background: #f7f5ff;
  color: var(--primary);
  font-weight: 700
}

.mypage-sites-empty {
  padding: 42px 20px;
  border: 1px solid var(--border);
  border-radius: 10px;
  text-align: center;
  color: var(--sub)
}

@media (max-width:700px) {
  .mypage-sites {
    margin-top: 30px
  }

  .mypage-sites-head h2 {
    font-size: 24px
  }

  .mypage-site-item {
    flex-direction: column;
    padding: 18px 14px;
    gap: 15px
  }

  .mypage-site-actions {
    width: 100%
  }

  .mypage-site-actions a {
    flex: 1;
    text-align: center
  }
}

/* 순위 숫자 배지 크기 통일 */
.rank {
  display: inline-flex;
  width: 26px;
  height: 26px;
  padding: 0;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center
}

.top-list li>b {
  display: inline-flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  padding: 0;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center
}

/* 폼 제출 로딩 화면 */
.hp-submit-loading {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: #1813298c;
  backdrop-filter: blur(5px)
}

.hp-submit-loading-box {
  width: min(360px, 100%);
  padding: 34px 28px;
  border: 1px solid #ffffff80;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 25px 70px #17102f4d;
  text-align: center
}

.hp-submit-loading-box strong {
  display: block;
  margin-top: 18px;
  font-size: 19px
}

.hp-submit-loading-box p {
  margin: 9px 0 0;
  color: var(--sub);
  font-size: 14px;
  line-height: 1.6
}

.hp-loading-spinner {
  width: 46px;
  height: 46px;
  display: inline-block;
  border: 4px solid #e5e0ff;
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: hp-loading-spin .75s linear infinite
}

@keyframes hp-loading-spin {
  to {
    transform: rotate(360deg)
  }
}

@media(max-width:1023px) {
  .actions a:not(.add) {
    display: none
  }

  .header-main {
    gap: 20px
  }

  .card-grid .site-card,
  .list-grid .site-card {
    width: calc((100% - 36px)/3)
  }

  .hero-flex {
    gap: 36px
  }

  .split {
    flex-direction: column
  }

  .split>.panel {
    width: 100%
  }

  .footer-grid {
    flex-wrap: wrap
  }

  .footer-grid>div,
  .footer-grid>div:first-child {
    flex: 1 1 calc(50% - 18px)
  }
}

/* Independent home hero sliders and aligned promotional sections */
.hero {
  padding: 28px 0 20px
}

.hero.hp-hero-swiper {
  padding: 28px 0 20px
}

.hero-flex {
  display: flex;
  align-items: stretch;
  gap: 16px
}

.hero-main-slider {
  width: calc(66.666% - 5.34px);
  min-width: 0;
  border-radius: 10px
}

.hero-ad-slider {
  width: calc(33.334% - 10.66px);
  min-width: 0;
  border-radius: 10px
}

.hero-main-slider .swiper-slide,
.hero-ad-slider .swiper-slide {
  height: auto
}

.hero-main-slider .hero-copy,
.hero-ad-slider .hero-ad-card {
  width: 100%;
  height: 100%
}

.hero-ad-microsoft {
  background: linear-gradient(145deg, #0879d8, #2456ca 52%, #6739cb)
}

.hero-main-slider .swiper-pagination,
.hero-ad-slider .swiper-pagination {
  bottom: 12px
}

.hero-main-slider .swiper-pagination-bullet,
.hero-ad-slider .swiper-pagination-bullet {
  background: #fff
}

.hero-main-slider .swiper-pagination-bullet-active,
.hero-ad-slider .swiper-pagination-bullet-active {
  background: var(--primary)
}

.home-promo-wrap {
  width: min(1280px, calc(100% - 48px))
}

.home-promo-wrap .promo-wide,
.home-promo-wrap .promo-card-grid {
  width: 100%
}

.promo-workspace-wrap {
  margin-top: 20px !important;
}

.promo-workspace-wrap .promo-workspace {
  margin-top: 0;
  margin-bottom: 0
}

.promo-workspace-wrap+.home-section {
  padding-top: 20px
}

.promo-workspace-wrap+.home-section .section-head {
  margin-top: 0
}

.promo-video-wrap+.home-community {
  margin-top: 0
}

@media(max-width:767px) {

  .hero,
  .hero.hp-hero-swiper {
    padding: 18px 0 20px
  }

  .hero-main-slider,
  .hero-ad-slider {
    width: 100%
  }

  .promo-workspace-wrap {
    margin-top: 0
  }

  .home-promo-wrap {
    width: calc(100% - 32px)
  }
}

/* inner는 폭만 담당하고 테두리 박스는 내부 요소에 적용 */
.inner.hp-home-frequent-wrap {
  margin-top: 24px;
  margin-bottom: 20px;
}

.hp-home-frequent-wrap>.hp-home-frequent {
  width: 100%;
  margin: 0;
  padding: 25px 26px 28px;
  border: 1px solid #ebe8f3;
  border-radius: 16px;
  background: #fff;
}

.hp-home-frequent-wrap .hp-home-frequent-grid strong {
  font-size: 16px;
}

.hp-home-frequent-wrap .hp-home-frequent-grid small {
  font-size: 14px;
}

.inner.mypage-profile-wrap {
  margin-top: 50px;
}

.inner.mypage-menu-settings-wrap,
.inner.mypage-start-settings-wrap {
  margin-top: 28px;
}

.mypage-profile-wrap>.mypage-profile,
.mypage-menu-settings-wrap>.mypage-menu-settings,
.mypage-start-settings-wrap>.mypage-start-settings {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.mypage-profile-wrap>.mypage-profile {
  padding: 32px 28px 28px;
}

.mypage-menu-settings-wrap>.mypage-menu-settings {
  padding: 30px 28px 34px;
}

.mypage-start-settings-wrap>.mypage-start-settings {
  position: relative;
  padding: 38px 34px 40px;
}

@media(max-width:767px) {
  .inner.hp-home-frequent-wrap {
    margin-top: 18px;
    margin-bottom: 18px;
  }

  .hp-home-frequent-wrap>.hp-home-frequent {
    padding: 22px 18px;
  }

  .inner.mypage-profile-wrap {
    margin-top: 30px;
  }

  .inner.mypage-menu-settings-wrap,
  .inner.mypage-start-settings-wrap {
    margin-top: 22px;
  }

  .mypage-profile-wrap>.mypage-profile {
    padding: 20px;
  }

  .mypage-menu-settings-wrap>.mypage-menu-settings,
  .mypage-start-settings-wrap>.mypage-start-settings {
    padding: 24px 18px 28px;
  }
}

/* 기본 게시판 제목과 콘텐츠의 공통 inner 폭 */
.basic-board-title,
#bo_list.inner,
#bo_v.inner {
  width: min(1280px, calc(100% - 48px)) !important;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

@media(max-width:767px) {
  .basic-board-title,
  #bo_list.inner,
  #bo_v.inner {
    width: min(1280px, calc(100% - 28px)) !important;
  }
}

/* Home-only header and hero refinements */
body:has(.hero) .community-dropdown {
  right: max(4px, calc((100vw - 1440px)/2))
}

.hero-main-slider .hero-prev,
.hero-main-slider .hero-next {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1
}

.hero-main-slider .hero-prev {
  left: 12px;
  transform: none;
  padding-right: 2px
}

.hero-main-slider .hero-next {
  right: 12px;
  transform: none;
  padding-left: 2px
}

.hero-main-slider .hero-copy {
  padding-left: 72px;
  padding-right: 72px
}

@media(max-width:767px) {
  .hero-main-slider .hero-copy {
    padding-left: 24px;
    padding-right: 24px
  }
}

@media(max-width:767px) {

  .hero-main-slider .hero-prev,
  .hero-main-slider .hero-next {
    display: none;
  }

  .inner.about-page {
    padding-top: 44px;
    padding-bottom: 60px
  }

  .inner.home-community {
    margin-bottom: 0
  }

  .inner.mypage-profile {
    margin-top: 30px;
    padding: 20px
  }

  .inner.mypage-favorites-title {
    margin-top: 30px
  }

  .inner {
    width: min(calc(100% - 28px), 1280px)
  }

  .header-main {
    height: 70px
  }

  .brand {
    font-size: 19px
  }

  .brand img {
    width: 170px
  }

  .brand small {
    display: none
  }

  .header-main>.search,
  .desktop-actions {
    display: none
  }

  .hp-header .ham_open {
    display: flex;
    width: 42px;
    height: 42px;
    margin-left: auto;
    padding: 9px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer
  }

  .hp-header .ham_open span {
    display: block;
    width: 100%;
    height: 2px;
    background: #27243a;
    border-radius: 2px
  }

  .categories>.inner {
    gap: 22px;
    height: 46px;
    overflow-x: auto
  }

  .community-menu {
    margin-left: 0;
    position: static
  }

  .community-dropdown {
    position: fixed;
    right: 14px;
    top: 112px
  }

  .hp-menu-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: #16132280;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s, visibility .22s;
    z-index: 90
  }

  .hp-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
  }

  .hp-mobile-menu {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: min(92vw, 390px);
    height: 100vh;
    padding: 22px;
    background: #fff;
    box-shadow: -18px 0 45px #16132228;
    overflow-y: auto;
    transform: translateX(105%);
    transition: transform .25s ease;
    z-index: 100
  }

  .hp-mobile-menu.is-open {
    transform: translateX(0)
  }

  .hp-mobile-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
    font-size: 20px
  }

  .ham_close {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer
  }

  .mobile-menu-search {
    height: 46px;
    border: 1px solid var(--border);
    border-radius: 23px;
    display: flex;
    margin-bottom: 20px
  }

  .mobile-menu-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    padding: 0 17px;
    background: transparent
  }

  .mobile-menu-search button {
    border: 0;
    background: none;
    padding: 0 16px;
    font-size: 23px
  }

  .mobile-menu-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px
  }

  .mobile-menu-actions a {
    flex: 1 1 calc(50% - 5px);
    padding: 13px 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    text-align: center;
    font-size: 14px
  }

  .mobile-menu-actions .add {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    border-color: transparent;
    font-weight: 700
  }

  .hp-mobile-menu-section>strong {
    display: block;
    margin-bottom: 12px
  }

  .mobile-menu-categories {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    padding-bottom: 8px;
    white-space: nowrap;
    scrollbar-width: none
  }

  .mobile-menu-categories::-webkit-scrollbar {
    display: none
  }

  .mobile-menu-categories a {
    padding: 9px 14px;
    background: #f5f3ff;
    border-radius: 18px;
    font-size: 14px
  }

  .mobile-menu-categories a.on {
    background: var(--primary);
    color: #fff
  }

  .mobile-menu-community {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--border)
  }

  .mobile-menu-community a {
    flex: 1 1 calc(50% - 5px);
    padding: 13px;
    border-radius: 9px;
    background: #f7f7fa;
    text-align: center;
    font-size: 14px
  }

  .hero.hp-hero-swiper {
    padding: 18px 0 38px
  }

  .hero-flex {
    flex-direction: column;
    align-items: stretch;
    gap: 12px
  }

  .hero-copy,
  .hero-screen,
  .hero-ad-card {
    flex: auto;
    width: 100%
  }

  .hero-copy {
    min-height: 270px;
    padding: 28px 24px
  }

  .hero-ad-card {
    min-height: 240px;
    padding: 28px 24px
  }

  .hero .hero-title {
    font-size: 30px
  }

  .hero-screen {
    min-height: 260px
  }

  .hero-admin-image {
    max-height: 260px
  }

  .hero-banner-content {
    padding: 26px 24px
  }

  .hero-banner-content h2 {
    font-size: 23px
  }

  .mock-content {
    max-width: none
  }

  .mock-panel {
    display: none
  }

  .mock-content h2 {
    overflow-wrap: anywhere
  }

  .hero-prev,
  .hero-next {
    display: none
  }

  .promo-wide {
    min-height: 110px;
    margin-top: 14px;
    margin-bottom: 22px;
    padding: 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px
  }

  .promo-wide strong {
    font-size: 17px
  }

  .promo-wide .promo-orbit {
    display: none
  }

  .promo-card-grid {
    gap: 10px;
    margin-bottom: 22px
  }

  .promo-card {
    width: 100%;
    min-height: 160px;
    padding: 24px
  }

  .promo-card strong {
    font-size: 19px
  }

  .promo-card>span {
    font-size: 24px
  }

  .promo-video strong {
    display: block
  }

  .promo-video strong small {
    display: block
  }

  .inner.home-section {
    padding-top: 40px;
    padding-bottom: 20px
  }

  .inner.home-split {
    margin-top: 20px;
    margin-bottom: 20px
  }

  .inner.home-community {
    margin-top: 20px;
    margin-bottom: 72px
  }

  .section-head p {
    display: none
  }

  .card-grid,
  .list-grid {
    gap: 10px
  }

  .card-grid .site-card,
  .list-grid .site-card {
    width: calc(50% - 5px)
  }

  .card-cover {
    height: 105px
  }

  .mini-list>a,
  .top-list li {
    width: 100%
  }

  .service-cards>div {
    width: calc(50% - 5px)
  }

  .ad {
    padding: 12px;
    height: auto;
    gap: 10px
  }

  .ad strong {
    font-size: 12px
  }

  .ad a {
    display: none
  }

  .footer-grid {
    gap: 28px
  }

  .footer-grid>div,
  .footer-grid>div:first-child {
    flex: 1 1 calc(50% - 14px)
  }

  .hp-footer .inner.copyright {
    margin-top: 22px;
    padding-top: 22px
  }

  .copyright span {
    display: block;
    float: none;
    margin-top: 10px
  }

  .page-hero {
    padding: 36px 0
  }

  .inner.category-filter-row {
    align-items: stretch;
    margin-top: 32px;
    gap: 12px
  }

  .filter-bar select {
    min-width: 100px
  }

  .inner.favorites-grid {
    margin-top: 20px
  }

  .detail-head,
  .detail-body {
    flex-direction: column
  }

  .detail-cover,
  .side-box {
    flex: auto;
    width: 100%
  }

  .form-row {
    flex-direction: column
  }

  .form-row>* {
    width: 100%
  }

  .community li {
    display: flex;
    flex-direction: column;
    gap: 5px
  }

  .community span {
    float: none
  }

  .mypage-profile {
    margin-top: 34px;
    padding: 20px
  }

  .inner.mypage-menu-settings {
    margin-top: 34px;
    padding: 24px 18px 28px
  }

  .mypage-profile-head {
    align-items: flex-start;
    flex-direction: column
  }

  .mypage-edit {
    width: 100%;
    text-align: center
  }

  .mypage-info>div {
    width: 50%;
    padding: 16px 8px
  }

  .mypage-favorites-title {
    margin-top: 30px
  }

  .about-page {
    padding-top: 44px;
    padding-bottom: 60px
  }

  .about-hero h1 {
    font-size: 30px
  }

  .about-hero p {
    font-size: 16px
  }

  .about-content {
    padding: 24px
  }

  .about-actions a {
    width: 100%
  }

  .basic-board-title {
    padding-top: 34px;
    padding-bottom: 18px
  }

  #bo_list.inner,
  #bo_v.inner,
  #bo_w.inner {
    width: min(calc(100% - 28px), 1280px) !important
  }

  .inner.mypage-sites {
    margin-top: 50px
  }
}
.home-best{margin-top:60px;margin-bottom:60px;overflow:hidden}.hp-best-tabs{display:flex;gap:8px;margin:24px 0 22px;overflow-x:auto;padding-bottom:4px}.hp-best-tabs button{flex:0 0 auto;min-width:82px;height:42px;padding:0 22px;border:1px solid #ddd9f8;border-radius:22px;background:#fff;color:#5c6170;font-weight:700;cursor:pointer}.hp-best-tabs button.is-active{border-color:#6c4cf5;background:#6c4cf5;color:#fff}.hp-best-panel{min-height:330px}.hp-best-swiper{overflow:hidden;padding:2px 2px 38px}.hp-best-card{height:auto;border:1px solid #e7e5f2;border-radius:14px;background:#fff;box-sizing:border-box;overflow:hidden;box-shadow:0 7px 22px rgba(45,36,92,.05)}.hp-best-cover{position:relative;display:flex;height:116px;margin:8px;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#342373,#8b72ff);color:#fff;text-decoration:none;overflow:hidden}.hp-best-cover:after{content:"";position:absolute;width:90px;height:90px;right:-25px;bottom:-35px;border-radius:50%;background:rgba(255,255,255,.15)}.hp-best-cover>strong{position:relative;z-index:1;max-width:82%;font-size:19px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-best-rank{position:absolute;z-index:2;left:8px;top:8px;display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:7px;background:#fff;color:#6547ec;font-size:12px;font-weight:800;box-shadow:0 3px 9px rgba(25,18,68,.15)}.hp-best-body{padding:4px 12px 14px}.hp-best-title{display:flex;align-items:center;gap:8px;margin-bottom:7px}.hp-best-title .hp-icon{flex-basis:34px;width:34px;height:34px;border-radius:9px;font-size:14px;background:var(--best-icon,#6550d9)!important}.hp-best-title>a{min-width:0;color:#222536;font-size:15px;font-weight:800;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-best-body p{height:42px;min-height:0;margin:0 0 8px;color:#727789;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hp-best-tags{height:25px;overflow:hidden;white-space:nowrap}.hp-best-tags span{display:inline-block;margin-right:4px;padding:3px 5px;border-radius:5px;background:var(--best-tag,#f0edff);color:var(--best-tag-text,#6550d9);font-size:11px}.hp-best-body small{display:block;margin-top:7px;color:#817c92;font-size:11px}.hp-best-tone-1{--best-icon:#238b78;--best-tag:#e7f7f3;--best-tag-text:#147362}.hp-best-tone-1 .hp-best-cover{background:linear-gradient(135deg,#145c56,#52c7ad)}.hp-best-tone-2{--best-icon:#d26986;--best-tag:#fff0f4;--best-tag-text:#b95270}.hp-best-tone-2 .hp-best-cover{background:linear-gradient(135deg,#a34668,#f4a8bd)}.hp-best-tone-3{--best-icon:#2878c8;--best-tag:#eaf5ff;--best-tag-text:#236baa}.hp-best-tone-3 .hp-best-cover{background:linear-gradient(135deg,#164c88,#63b6ec)}.hp-best-tone-4{--best-icon:#c17a22;--best-tag:#fff5df;--best-tag-text:#9c651f}.hp-best-tone-4 .hp-best-cover{background:linear-gradient(135deg,#9a5919,#f2b95c)}.hp-best-empty{padding:55px 20px;border-radius:16px;background:#f8f7fc;text-align:center;color:#777}.hp-best-swiper .swiper-pagination{bottom:4px}
@media(max-width:767px){.home-best{margin-top:42px;margin-bottom:46px}.hp-best-tabs{margin-top:20px}.hp-best-tabs button{height:40px;min-width:72px;padding:0 18px}.hp-best-card>a{padding:20px}}
.mypage-start-settings{margin-top:72px;margin-bottom:55px;padding:38px 34px 40px;border:1px solid #e7e5f2;border-radius:18px;background:#fff}.mypage-start-settings .mypage-menu-head{padding-bottom:24px;border-bottom:1px solid #eeecf5}.mypage-start-settings form{padding-top:2px}.mypage-start-toggle{display:flex;align-items:center;gap:11px;margin:26px 0 30px;padding:18px;border-radius:12px;background:#f7f5ff;font-weight:700}.mypage-start-toggle input{width:20px;height:20px;accent-color:#6c4cf5}.mypage-start-settings h3{margin:0 0 7px;font-size:17px}.mypage-start-settings h3 small{font-size:12px;color:#85899a}.mypage-start-help{margin:0 0 17px;color:#85899a;font-size:13px}.mypage-start-site-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:330px;padding:12px;overflow-y:auto;border:1px solid #ebe8f3;border-radius:13px;background:#faf9fd}.mypage-start-site-options label{position:relative;cursor:pointer}.mypage-start-site-options input{position:absolute;opacity:0}.mypage-start-site-options label>span{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;min-height:66px;padding:11px;border:1px solid #e8e5ef;border-radius:10px;background:#fff;transition:.18s}.mypage-start-site-options .hp-icon{grid-row:1/3;width:38px;height:38px;align-self:center;font-size:14px}.mypage-start-site-options b{align-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mypage-start-site-options small{color:#898d9b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mypage-start-site-options input:checked+span{border-color:#6c4cf5;background:#f5f2ff;box-shadow:0 0 0 1px #6c4cf5}.mypage-start-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:30px}.mypage-start-actions>a{color:#6950df;text-decoration:underline}.hp-start-page{min-height:720px;padding:74px 0 100px;background:radial-gradient(circle at 50% 0,#efebff 0,#faf9ff 38%,#fff 72%)}.hp-start-inner{max-width:980px}.hp-start-head{text-align:center}.hp-start-head>span{display:inline-block;margin-bottom:13px;color:#6c4cf5;font-size:12px;font-weight:800;letter-spacing:.12em}.hp-start-head h1{margin:0;font-size:36px}.hp-start-head p{margin:13px 0 0;color:#75798a}.hp-start-search{display:flex;max-width:700px;height:62px;margin:38px auto 62px;border:1px solid #ded9f3;border-radius:32px;background:#fff;box-shadow:0 12px 38px rgba(63,48,126,.12);overflow:hidden}.hp-start-search input{flex:1;min-width:0;padding:0 25px;border:0;outline:0;font-size:17px}.hp-start-search button{width:68px;border:0;background:transparent;color:#6047df;font-size:29px;cursor:pointer}.hp-start-shortcuts,.hp-start-favorites{margin-top:48px}.hp-start-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hp-start-section-head h2{margin:0;font-size:21px}.hp-start-section-head a{color:#6950df}.hp-shortcut-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.hp-shortcut-grid>a{display:flex;min-width:0;min-height:126px;padding:18px 10px;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:1px solid #ebe8f4;border-radius:16px;background:#fff;color:#252738;text-decoration:none;box-shadow:0 8px 22px rgba(50,43,83,.05);transition:.2s}.hp-shortcut-grid>a:hover{transform:translateY(-3px);border-color:#bdb2f4}.hp-shortcut-grid>a>span,.hp-shortcut-grid .hp-icon{display:flex;width:48px;height:48px;margin:0;align-items:center;justify-content:center;border-radius:15px;background:#eeeaff;color:#6547ec;font-size:20px;font-weight:800}.hp-shortcut-grid strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-start-empty{padding:42px 20px;border:1px dashed #ccc5ea;border-radius:16px;text-align:center;color:#777}.hp-start-empty a{display:inline-block;margin-top:10px;color:#6547ec;font-weight:700}.hp-start-nav{display:flex;justify-content:center;gap:10px;margin-top:68px}.hp-start-nav a{padding:12px 18px;border:1px solid #ddd8f1;border-radius:10px;background:#fff;color:#514766;text-decoration:none}
@media(max-width:767px){.mypage-start-settings{margin-top:52px;padding:28px 18px 30px}.mypage-start-site-options{grid-template-columns:1fr;max-height:360px}.mypage-start-actions{justify-content:space-between}.hp-start-page{padding:48px 0 78px}.hp-start-head h1{font-size:28px}.hp-start-search{height:56px;margin:30px auto 46px}.hp-shortcut-grid{grid-template-columns:repeat(3,1fr);gap:10px}.hp-shortcut-grid>a{min-height:108px}.hp-start-shortcuts,.hp-start-favorites{margin-top:38px}}
.inner.mypage-start-settings{margin-top:72px;padding:38px 34px 40px}
@media(max-width:767px){.inner.mypage-start-settings{margin-top:52px;padding:28px 18px 30px}}
.hp-best-swiper .hp-best-card{width:calc((100% - 70px)/6)!important}
@media(max-width:1099px){.hp-best-swiper .hp-best-card{width:calc((100% - 42px)/4)!important}}
@media(max-width:767px){.hp-best-swiper .hp-best-card{width:72%!important;max-width:260px}}
/* 사이트 카드 16색 기본 팔레트: JS가 같은 클래스들을 무작위로 섞어 다시 배정한다. */
.site-card:nth-child(16n+1),.hp-best-card:nth-child(16n+1),.hp-gradient-1{--hp-card-gradient:linear-gradient(135deg,#31216f,#866dff);--hp-card-icon:#6548dc}.site-card:nth-child(16n+2),.hp-best-card:nth-child(16n+2),.hp-gradient-2{--hp-card-gradient:linear-gradient(135deg,#145c56,#52c7ad);--hp-card-icon:#238b78}.site-card:nth-child(16n+3),.hp-best-card:nth-child(16n+3),.hp-gradient-3{--hp-card-gradient:linear-gradient(135deg,#a34668,#f4a8bd);--hp-card-icon:#d26986}.site-card:nth-child(16n+4),.hp-best-card:nth-child(16n+4),.hp-gradient-4{--hp-card-gradient:linear-gradient(135deg,#164c88,#63b6ec);--hp-card-icon:#2878c8}.site-card:nth-child(16n+5),.hp-best-card:nth-child(16n+5),.hp-gradient-5{--hp-card-gradient:linear-gradient(135deg,#9a5919,#f2b95c);--hp-card-icon:#c17a22}.site-card:nth-child(16n+6),.hp-best-card:nth-child(16n+6),.hp-gradient-6{--hp-card-gradient:linear-gradient(135deg,#54307b,#d17fe8);--hp-card-icon:#9951b5}.site-card:nth-child(16n+7),.hp-best-card:nth-child(16n+7),.hp-gradient-7{--hp-card-gradient:linear-gradient(135deg,#176477,#66c8d8);--hp-card-icon:#238da3}.site-card:nth-child(16n+8),.hp-best-card:nth-child(16n+8),.hp-gradient-8{--hp-card-gradient:linear-gradient(135deg,#77353c,#e88975);--hp-card-icon:#bd5f58}.site-card:nth-child(16n+9),.hp-best-card:nth-child(16n+9),.hp-gradient-9{--hp-card-gradient:linear-gradient(135deg,#344b8f,#829df1);--hp-card-icon:#526ec7}.site-card:nth-child(16n+10),.hp-best-card:nth-child(16n+10),.hp-gradient-10{--hp-card-gradient:linear-gradient(135deg,#35622b,#95c86c);--hp-card-icon:#618f45}.site-card:nth-child(16n+11),.hp-best-card:nth-child(16n+11),.hp-gradient-11{--hp-card-gradient:linear-gradient(135deg,#744411,#e8a94e);--hp-card-icon:#b47727}.site-card:nth-child(16n+12),.hp-best-card:nth-child(16n+12),.hp-gradient-12{--hp-card-gradient:linear-gradient(135deg,#6e2c61,#db78c5);--hp-card-icon:#a94d98}.site-card:nth-child(16n+13),.hp-best-card:nth-child(16n+13),.hp-gradient-13{--hp-card-gradient:linear-gradient(135deg,#245967,#74b6bc);--hp-card-icon:#3b8490}.site-card:nth-child(16n+14),.hp-best-card:nth-child(16n+14),.hp-gradient-14{--hp-card-gradient:linear-gradient(135deg,#70304c,#dc779c);--hp-card-icon:#aa4f74}.site-card:nth-child(16n+15),.hp-best-card:nth-child(16n+15),.hp-gradient-15{--hp-card-gradient:linear-gradient(135deg,#3d3e73,#9595d4);--hp-card-icon:#6768a8}.site-card:nth-child(16n),.hp-best-card:nth-child(16n),.hp-gradient-16{--hp-card-gradient:linear-gradient(135deg,#285248,#77b59d);--hp-card-icon:#4d8975}
.hp-gradient-1{--hp-random-gradient:linear-gradient(135deg,#31216f,#866dff);--hp-random-icon:#6548dc}.hp-gradient-2{--hp-random-gradient:linear-gradient(135deg,#145c56,#52c7ad);--hp-random-icon:#238b78}.hp-gradient-3{--hp-random-gradient:linear-gradient(135deg,#a34668,#f4a8bd);--hp-random-icon:#d26986}.hp-gradient-4{--hp-random-gradient:linear-gradient(135deg,#164c88,#63b6ec);--hp-random-icon:#2878c8}.hp-gradient-5{--hp-random-gradient:linear-gradient(135deg,#9a5919,#f2b95c);--hp-random-icon:#c17a22}.hp-gradient-6{--hp-random-gradient:linear-gradient(135deg,#54307b,#d17fe8);--hp-random-icon:#9951b5}.hp-gradient-7{--hp-random-gradient:linear-gradient(135deg,#176477,#66c8d8);--hp-random-icon:#238da3}.hp-gradient-8{--hp-random-gradient:linear-gradient(135deg,#77353c,#e88975);--hp-random-icon:#bd5f58}.hp-gradient-9{--hp-random-gradient:linear-gradient(135deg,#344b8f,#829df1);--hp-random-icon:#526ec7}.hp-gradient-10{--hp-random-gradient:linear-gradient(135deg,#35622b,#95c86c);--hp-random-icon:#618f45}.hp-gradient-11{--hp-random-gradient:linear-gradient(135deg,#744411,#e8a94e);--hp-random-icon:#b47727}.hp-gradient-12{--hp-random-gradient:linear-gradient(135deg,#6e2c61,#db78c5);--hp-random-icon:#a94d98}.hp-gradient-13{--hp-random-gradient:linear-gradient(135deg,#245967,#74b6bc);--hp-random-icon:#3b8490}.hp-gradient-14{--hp-random-gradient:linear-gradient(135deg,#70304c,#dc779c);--hp-random-icon:#aa4f74}.hp-gradient-15{--hp-random-gradient:linear-gradient(135deg,#3d3e73,#9595d4);--hp-random-icon:#6768a8}.hp-gradient-16{--hp-random-gradient:linear-gradient(135deg,#285248,#77b59d);--hp-random-icon:#4d8975}
.site-card .card-cover,.hp-best-card .hp-best-cover{background:var(--hp-random-gradient,var(--hp-card-gradient,linear-gradient(135deg,#13162a,#6954bd)))!important}.site-card .hp-icon,.hp-best-card .hp-icon{background:var(--hp-random-icon,var(--hp-card-icon,var(--ic)))!important}
.site-card .card-cover,.hp-best-card .hp-best-cover{color:#fff!important}.site-card.hp-gradient-3 .card-cover,.hp-best-card.hp-gradient-3 .hp-best-cover,.site-card.hp-gradient-5 .card-cover,.hp-best-card.hp-gradient-5 .hp-best-cover,.site-card.hp-gradient-10 .card-cover,.hp-best-card.hp-gradient-10 .hp-best-cover{color:#182038!important}
.section-head p{font-size:14px!important;margin-left:0!important}.home-best{margin-top:34px;margin-bottom:34px}.mypage-start-actions .primary-btn{border:0!important}.mypage-start-select-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.mypage-site-search-open{flex:0 0 auto;padding:11px 16px;border:1px solid #6c4cf5;border-radius:9px;background:#fff;color:#6045e5;font-weight:700;cursor:pointer}.mypage-start-selected{display:flex;flex-wrap:wrap;gap:8px;min-height:62px;margin-top:17px;padding:13px;border:1px solid #ebe8f3;border-radius:12px;background:#faf9fd}.mypage-start-selected-empty{width:100%;margin:auto;color:#8b8e9b;text-align:center}.mypage-selected-site{padding:8px 11px;border:0;border-radius:8px;background:#eeeaff;color:#5943c7;font-weight:700;cursor:pointer}.mypage-site-search-modal{position:fixed;z-index:10020;inset:0;display:none;align-items:center;justify-content:center;padding:20px}.mypage-site-search-modal.is-open{display:flex}.mypage-site-search-backdrop{position:absolute;inset:0;background:rgba(20,18,35,.56)}.mypage-site-search-dialog{position:relative;width:min(720px,100%);max-height:min(760px,90vh);padding:28px;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(20,15,50,.3);display:flex;flex-direction:column}.mypage-site-search-dialog>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:19px}.mypage-site-search-dialog>header h3{margin:0 0 7px;font-size:21px}.mypage-site-search-dialog>header p{margin:0;color:#7d8190}.mypage-site-search-close{width:38px;height:38px;border:0;border-radius:50%;background:#f1eff7;color:#555;font-size:25px;cursor:pointer}.mypage-site-search-dialog>input{height:48px;margin-bottom:15px;padding:0 16px;border:1px solid #dcd8e9;border-radius:10px;font-size:15px}.mypage-site-search-dialog .mypage-start-site-options{flex:1;max-height:none;overflow-y:auto}.mypage-site-search-dialog>footer{display:flex;align-items:center;justify-content:space-between;padding-top:18px}.mypage-site-search-done{padding:11px 20px;border:0;border-radius:9px;background:#6c4cf5;color:#fff;font-weight:700;cursor:pointer}.hp-modal-open{overflow:hidden}.hp-shortcut-pages{display:flex;justify-content:center;gap:7px;margin-top:25px}.hp-shortcut-pages button{width:34px;height:34px;border:1px solid #ddd8ef;border-radius:50%;background:#fff;color:#716a80;cursor:pointer}.hp-shortcut-pages button.is-active{border-color:#6c4cf5;background:#6c4cf5;color:#fff}.hp-shortcut-grid>a[hidden]{display:none!important}
@media(max-width:767px){.home-best{margin-top:30px;margin-bottom:30px}.mypage-start-select-head{align-items:stretch;flex-direction:column}.mypage-site-search-open{width:100%}.mypage-site-search-dialog{max-height:92vh;padding:20px 16px}.mypage-site-search-dialog .mypage-start-site-options{grid-template-columns:1fr}.mypage-start-selected{min-height:72px}}
.inner.home-best{margin-top:34px;margin-bottom:34px}
@media(max-width:767px){.inner.home-best{margin-top:30px;margin-bottom:30px}}
.site-card.hp-gradient-3 .card-cover,.hp-best-card.hp-gradient-3 .hp-best-cover,.site-card.hp-gradient-5 .card-cover,.hp-best-card.hp-gradient-5 .hp-best-cover,.site-card.hp-gradient-10 .card-cover,.hp-best-card.hp-gradient-10 .hp-best-cover{color:#fff!important}
.inner.hp-home-frequent{margin-top:24px;margin-bottom:20px;padding:25px 26px 28px;border:1px solid #ebe8f3;border-radius:16px;background:#fff}.hp-home-frequent .section-head{margin-bottom:18px}.hp-home-frequent-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hp-home-frequent-grid>a{display:flex;min-width:0;align-items:center;gap:11px;padding:13px;border:1px solid #ebe8f3;border-radius:11px;background:#faf9fd;color:#252738;text-decoration:none;transition:.18s}.hp-home-frequent-grid>a:hover{border-color:#bdb2f4;background:#f5f2ff;transform:translateY(-2px)}.hp-home-frequent-grid .hp-icon{flex:0 0 38px;width:38px;height:38px;font-size:14px}.hp-home-frequent-grid span{min-width:0}.hp-home-frequent-grid strong,.hp-home-frequent-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-home-frequent-grid strong{font-size:14px}.hp-home-frequent-grid small{margin-top:4px;color:#858999;font-size:11px}.hp-home-frequent-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:11px;background:#f8f6ff}.hp-home-frequent-empty p{margin:0;color:#727687}
@media(max-width:900px){.hp-home-frequent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.inner.hp-home-frequent{margin-top:18px;margin-bottom:18px;padding:22px 18px}.hp-home-frequent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-home-frequent-empty{align-items:stretch;flex-direction:column}.hp-home-frequent-empty .primary-btn{text-align:center}}
.inner.home-best{margin-top:34px;margin-bottom:16px;padding-top:0;padding-bottom:0}.inner.home-ranking-split{margin-top:34px}
@media(max-width:767px){.inner.home-best{margin-top:30px;margin-bottom:14px;padding-top:0;padding-bottom:0}.inner.home-ranking-split{margin-top:30px}}

/* 2026-07 community/category sliders and readable type scale */
.section-head h2,.panel .section-head h2,.mypage-menu-head h2,.mypage-sites-head h2{font-size:20px!important}
.hp-rising-swiper{overflow:hidden;padding:2px}
.hp-rising-swiper .site-card{width:calc((100% - 70px)/6)!important;height:auto}
.hp-rising-swiper>.hp-fraction-pagination,
.hp-best-swiper .swiper-pagination
{
  position:relative;
  left:auto;
  bottom:auto!important;
  width:100%;
  margin-top:10px;
}
.hp-rating{
  display:inline-flex!important;
  align-items:center;
  gap:3px;
  color:#e09613!important;
  font-weight:800!important;
  white-space:nowrap;
}
.card-meta .hp-rating{
  margin-right:2px;
}
.hp-best-body small .hp-rating{
  display:inline-flex!important;
  margin-right:5px;
}
.top-list li>.hp-rating{
  flex:none;
  margin-left:auto;
}
.top-list li>.hp-rating+span{
  margin-left:8px;
}
.hp-fraction-pagination{bottom:5px!important;display:flex;align-items:center;justify-content:center;gap:5px;color:#858198;font-size:14px!important;font-weight:700}
.hp-fraction-pagination i{color:#bbb5cb;font-style:normal}
.hp-fraction-pagination .swiper-pagination-current{color:#6247e7}
.hp-best-swiper{padding-bottom:48px}
.hp-best-swiper .swiper-pagination-bullet{display:none}
.mypage-start-settings-wrap,.mypage-menu-settings-wrap{scroll-margin-top:180px}
.mypage-start-settings .mypage-menu-head{padding-bottom:20px}
.mypage-start-settings .mypage-menu-head h2{font-size:22px!important}
.mypage-start-settings .mypage-menu-head p{margin-top:7px;font-size:14px}
.mypage-start-settings h3{margin-top:24px;font-size:18px}
.mypage-start-settings h3 small,.mypage-start-help,.hp-best-tags span,.hp-best-body small,.hp-best-rank,.top-list span,.mini-list small,.community span{font-size:13px!important}
.hp-best-body p,.hero-ad-card small,.promo-wide i,.promo-card small{font-size:13px!important}
.hero-slide-design .hero-copy{position:relative}
.hero-slide-design .hero-title{max-width:720px}
.brand small,.mock-nav,.promo-wide i,.promo-video strong small,.section-head p,.hp-icon,.tags a,.mini-list em,.hp-footer,.sitemap-block-head span,.sitemap-link-grid a span,.mypage-status,.card-meta,.card-meta span,.card-meta button,.community-trigger span,.copyright,.copyright a{font-size:13px!important}
.section-head p,.hp-footer{font-size:14px!important}
#bo_cate{margin:24px 0 20px!important;overflow:hidden}
#bo_cate #bo_cate_ul{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:0!important;padding:0 0 7px!important;overflow-x:auto!important;white-space:nowrap}
#bo_cate #bo_cate_ul li{flex:0 0 auto!important;padding:0!important}
#bo_cate #bo_cate_ul a{display:block!important;min-height:40px!important;padding:5px 18px!important;border:1px solid #ddd9f8!important;border-radius:22px!important;background:#fff!important;color:#5c6170!important;font-size:14px!important;font-weight:700!important;line-height:28px!important}
#bo_cate #bo_cate_ul a:hover,#bo_cate #bo_cate_ul #bo_cate_on{border-color:#6c4cf5!important;background:#6c4cf5!important;color:#fff!important}
@media(max-width:1099px){.hp-rising-swiper .site-card{width:calc((100% - 42px)/4)!important}}
@media(max-width:767px){
  .section-head h2,.panel .section-head h2,.mypage-menu-head h2,.mypage-sites-head h2{font-size:18px!important}
  .hp-rising-swiper .site-card{width:72%!important;max-width:260px}
  .mypage-start-settings-wrap,.mypage-menu-settings-wrap{scroll-margin-top:145px}
  .mypage-start-settings .mypage-menu-head h2{font-size:20px!important}
  #bo_cate #bo_cate_ul a{min-height:38px!important;padding:4px 15px!important;font-size:13px!important}
}

/* 마이페이지 섹션 간격 및 자주 가는 사이트 설정 헤더 */
.inner.mypage-menu-settings,
.inner.mypage-start-settings {
  margin-top: 28px;
}

.mypage-profile-head h2 {
  font-size: 20px;
}

.inner.mypage-start-settings {
  position: relative;
}

.mypage-start-settings>.mypage-menu-head {
  padding-right: 250px;
}

.mypage-start-settings .mypage-start-select-head {
  margin-top: 24px;
}

.mypage-start-actions {
  position: absolute;
  top: 30px;
  right: 34px;
  margin-top: 0;
}

@media(max-width:767px) {
  .inner.mypage-menu-settings,
  .inner.mypage-start-settings {
    margin-top: 22px;
  }

  .mypage-start-settings>.mypage-menu-head {
    padding-right: 0;
  }

  .mypage-start-settings .mypage-start-select-head {
    margin-top: 20px;
  }

  .mypage-start-actions {
    position: static;
    margin-top: 24px;
  }
}
