:root {
  --primary: #07c160;
  --primary-dark: #05a84f;
  --text: #1a1a1a;
  --muted: #8e8e93;
  --bg: #f7f8fa;
  --card: #ffffff;
  --radius: 16px;
  --shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', sans-serif; color: var(--text); background: var(--bg); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid #f0f1f3; }
.site-header__inner { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.site-logo { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 20px; }
.site-logo__icon { width: 32px; height: 32px; border-radius: 8px; background: var(--primary); color: #fff; display: grid; place-items: center; }
.site-logo__icon .pdd-icon { display: block; }
.site-logo--footer .site-logo__icon { background: rgba(255,255,255,.15); color: #fff; }

.pdd-icon { display: inline-block; flex-shrink: 0; vertical-align: middle; color: currentColor; }
.pdd-icon--inline { vertical-align: -0.15em; margin-left: 2px; }
.link-arrow, .section__more { display: inline-flex; align-items: center; gap: 4px; }
.help-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.help-list__arrow { color: var(--muted); flex-shrink: 0; }

.feature-card__icon,
.analytics-card__icon,
.stat-icon-card__icon,
.data-icon-card__icon,
.help-card__icon { display: flex; align-items: center; justify-content: flex-start; color: var(--primary); margin-bottom: 12px; }
.help-card__icon--lg { margin-bottom: 0; margin-right: 16px; }
.analytics-card__icon { justify-content: center; margin-bottom: 12px; }
.stat-icon-card__icon { justify-content: center; margin-bottom: 8px; }
.data-icon-card__icon { justify-content: center; margin-bottom: 8px; }

.pdd-stars { display: inline-flex; align-items: center; gap: 2px; vertical-align: middle; }
.pdd-stars__item { color: #d1d5db; }
.pdd-stars__item.is-filled { color: #faad14; fill: rgba(250, 173, 20, .25); stroke: #faad14; }

.site-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); color: #fff; margin-right: 8px; }
.site-footer__social a:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.breadcrumbs__sep { display: inline-flex; align-items: center; color: var(--muted); vertical-align: middle; }
.help-category-head { display: flex; align-items: center; gap: 16px; }
.help-search .btn { display: inline-flex; align-items: center; gap: 6px; }
.site-logo__img { display: block; height: 40px; width: auto; max-width: 180px; object-fit: contain; }
.site-logo--footer .site-logo__img { height: 36px; filter: brightness(0) invert(1); }
.site-nav { flex: 1; }
.site-nav__list { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.site-nav__list a { color: #666; font-size: 15px; }
.site-nav__list a:hover, .site-nav__list .current-menu-item a { color: var(--primary); }
.site-nav-toggle { display: none; background: none; border: 0; width: 40px; height: 40px; }
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 999px; font-weight: 600; border: 1px solid transparent; cursor: pointer; }
.btn--primary { background: var(--primary); color: #fff; }
.btn--ghost { background: #fff; border-color: #e5e7eb; color: var(--text); }
.btn--sm { padding: 8px 16px; font-size: 14px; }
.btn--block { width: 100%; }

.hero { position: relative; min-height: clamp(480px, 72vh, 640px); overflow: hidden; }
.hero__media { position: absolute; inset: 0; }
.hero__overlay { position: absolute; inset: 0; z-index: 2; background: linear-gradient(105deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.42) 42%, rgba(0,0,0,.18) 100%); }
.hero__inner { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; min-height: clamp(480px, 72vh, 640px); padding: 96px 0 56px; }
.hero__content { max-width: 640px; color: #fff; }
.hero__title { font-size: clamp(36px, 5vw, 56px); line-height: 1.15; margin: 0 0 16px; color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.25); }
.hero__desc { color: rgba(255,255,255,.9); font-size: 18px; max-width: 520px; text-shadow: 0 1px 8px rgba(0,0,0,.2); }
.hero__actions { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.btn--on-dark { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.45); color: #fff; backdrop-filter: blur(4px); }
.btn--on-dark:hover { background: rgba(255,255,255,.2); border-color: #fff; color: #fff; }
.hero__runner { position: absolute; inset: 0; background: linear-gradient(135deg, #1a9f55 0%, #07c160 45%, #0d7a45 100%), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 300"><rect fill="%2307c160" width="400" height="300"/></svg>') center/cover; }
.hero__slideshow { position: absolute; inset: 0; overflow: hidden; background: #1a1a1a; }
.hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; background-size: cover; background-position: center; }
.hero__slide.is-active { opacity: 1; z-index: 1; }
.hero__slide-dots { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; gap: 8px; z-index: 4; }
.hero__slide-dot { width: 8px; height: 8px; border: 0; border-radius: 999px; padding: 0; background: rgba(255,255,255,.55); cursor: pointer; }
.hero__slide-dot.is-active { background: #fff; width: 20px; }
.hero__qr { background: #fff; padding: 16px; border-radius: 16px; box-shadow: var(--shadow); text-align: center; align-self: end; }
.hero__qr img { width: 120px; height: 120px; margin: 0 auto 8px; }
.hero__qr p { margin: 0; font-size: 13px; color: var(--muted); }

.section { padding: 72px 0; }
.section--light { background: #fff; }
.section__title { font-size: 32px; margin: 0 0 32px; text-align: center; }
.section__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.section__head .section__title { margin: 0; text-align: left; }
.section__action { text-align: center; margin-top: 24px; }

.feature-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.feature-card { background: var(--card); border-radius: var(--radius); padding: 24px 16px; text-align: center; box-shadow: var(--shadow); }
.feature-card__icon { justify-content: center; margin-bottom: 12px; }
.feature-card h3 { margin: 0 0 8px; font-size: 16px; }
.feature-card p { margin: 0; color: var(--muted); font-size: 14px; }

.scenario-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.scenario-card { background: var(--card); border-radius: 20px; overflow: hidden; box-shadow: var(--shadow); }
.scenario-card__img { height: 200px; background: #ddd center/cover; }
.scenario-card__img--run { background-image: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.25)), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400"><rect fill="%2307c160" width="600" height="400" opacity=".25"/></svg>'); }
.scenario-card__img--fat { background-image: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.25)), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400"><rect fill="%23faad14" width="600" height="400" opacity=".25"/></svg>'); }
.scenario-card__body { padding: 24px; }
.link-arrow { color: var(--primary); font-weight: 600; }

.brand-grid { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.brand-chip { background: #fff; border: 1px solid #eef0f3; padding: 12px 20px; border-radius: 999px; font-weight: 600; }

.plan-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.plan-card { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow); }
.plan-card__cover { position: relative; aspect-ratio: 16/10; background: #e8f8ef; }
.plan-card__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #e8f8ef, #d8f3e6); }
.plan-card__badge { position: absolute; top: 12px; left: 12px; background: var(--primary); color: #fff; font-size: 12px; padding: 4px 10px; border-radius: 999px; }
.plan-card__body { padding: 20px; }
.plan-card__title { margin: 0 0 8px; font-size: 18px; }
.plan-card__meta, .plan-card__desc { color: var(--muted); font-size: 14px; }
.plan-card__foot { display: flex; justify-content: space-between; margin-top: 16px; font-size: 13px; }
.plan-card__stars { color: #faad14; }

.cta-banner { background: var(--primary); color: #fff; padding: 48px 0; }
.cta-banner__inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.cta-banner img { background: #fff; border-radius: 12px; padding: 8px; }

.page-hero { padding: 48px 0 24px; background: #fff; }
.page-hero--compact h1 { margin: 0 0 8px; font-size: 36px; }
.page-hero--green { background: linear-gradient(135deg, #e8f8ef, #fff); }

.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 24px; }
.filter-chip { padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid #e5e7eb; font-size: 14px; }
.filter-chip.is-active { background: var(--primary); border-color: var(--primary); color: #fff; }
.filter-search { margin-left: auto; }
.filter-search input { padding: 8px 14px; border: 1px solid #e5e7eb; border-radius: 999px; min-width: 200px; }

.plan-detail { display: grid; grid-template-columns: 1fr 280px; gap: 32px; }
.plan-detail__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0; }
.plan-detail__stats div { background: #f7f8fa; border-radius: 12px; padding: 16px; text-align: center; }
.plan-detail__stats strong { display: block; font-size: 18px; margin-bottom: 4px; }
.plan-detail__stats span { color: var(--muted); font-size: 13px; }
.sidebar-card { background: #fff; border-radius: 20px; padding: 24px; box-shadow: var(--shadow); text-align: center; position: sticky; top: 96px; }

.tabs__nav { display: flex; gap: 8px; border-bottom: 1px solid #eef0f3; margin-bottom: 24px; }
.tabs__btn { background: none; border: 0; padding: 12px 16px; cursor: pointer; color: var(--muted); border-bottom: 2px solid transparent; }
.tabs__btn.is-active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }
.tabs__panel { display: none; }
.tabs__panel.is-active { display: block; }
.schedule-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; }
.schedule-table th, .schedule-table td { padding: 12px 16px; border-bottom: 1px solid #f0f1f3; text-align: left; font-size: 14px; }
.check-list { padding-left: 20px; }

.device-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.device-card { background: #fff; border-radius: 20px; padding: 24px; box-shadow: var(--shadow); }
.device-card__logo { width: 64px; height: 64px; border-radius: 16px; background: #f7f8fa; display: grid; place-items: center; font-size: 24px; font-weight: 700; color: var(--primary); margin-bottom: 16px; overflow: hidden; }
.device-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.data-chips, .chip { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.chip { background: #e8f8ef; color: var(--primary-dark); padding: 8px 14px; border-radius: 999px; font-size: 14px; margin: 0 8px 8px 0; }
.steps-list { list-style: none; padding: 0; }
.steps-list li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid #f0f1f3; }
.steps-list__num { width: 32px; height: 32px; border-radius: 50%; background: var(--primary); color: #fff; display: grid; place-items: center; font-weight: 700; flex-shrink: 0; }
.faq-item { background: #fff; border-radius: 12px; padding: 16px 20px; margin-bottom: 12px; box-shadow: var(--shadow); }

.help-search input { width: min(480px, 100%); padding: 14px 18px; border: 1px solid #e5e7eb; border-radius: 12px; font-size: 16px; }
.help-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 40px; }
.help-card { background: #fff; border-radius: 16px; padding: 24px; box-shadow: var(--shadow); }
.help-list { list-style: none; padding: 0; background: #fff; border-radius: 16px; box-shadow: var(--shadow); }
.help-list li { padding: 16px 20px; border-bottom: 1px solid #f0f1f3; }
.help-list a:hover { color: var(--primary); }

.site-footer { background: #111; color: #ccc; padding: 48px 0 24px; margin-top: 48px; }
.site-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr .8fr; gap: 32px; }
.site-footer h4 { color: #fff; margin: 0 0 12px; }
.site-footer__links { list-style: none; padding: 0; margin: 0; }
.site-footer__links li { margin-bottom: 8px; }
.site-footer__copy { margin-top: 32px; padding-top: 24px; border-top: 1px solid #333; font-size: 13px; color: #777; }
.site-logo--footer .site-logo__text { color: #fff; }
.site-footer__qr img { border-radius: 8px; background: #fff; padding: 6px; }

.entry-content { background: #fff; padding: 32px; border-radius: 16px; box-shadow: var(--shadow); }
.breadcrumbs { color: var(--muted); font-size: 14px; margin-bottom: 8px; }
.tag-list a { display: inline-block; background: #e8f8ef; color: var(--primary-dark); padding: 4px 10px; border-radius: 999px; font-size: 12px; margin-right: 8px; }

@media (max-width: 960px) {
  .hero__inner { grid-template-columns: 1fr; padding: 88px 0 48px; }
  .hero__qr { justify-self: start; }
  .plan-detail, .device-hero, .scenario-grid, .site-footer__grid { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-grid, .device-grid, .help-grid { grid-template-columns: 1fr 1fr; }
  .site-nav { display: none; }
  .site-nav-toggle { display: block; margin-left: auto; }
  .site-header.is-open .site-nav { display: block; position: absolute; left: 0; right: 0; top: 72px; background: #fff; padding: 16px; border-bottom: 1px solid #eee; }
  .site-header.is-open .site-nav__list { flex-direction: column; gap: 12px; }
}
.plan-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.plan-card__cover--full { background: linear-gradient(135deg, #07c160, #05a84f); }
.plan-card__cover--half { background: linear-gradient(135deg, #1890ff, #69c0ff); }
.plan-card__cover--10k { background: linear-gradient(135deg, #722ed1, #b37feb); }
.plan-card__cover--5k { background: linear-gradient(135deg, #13c2c2, #36cfc9); }
.plan-card__cover--fatloss { background: linear-gradient(135deg, #faad14, #ffc53d); }
.plan-card__cover--base { background: linear-gradient(135deg, #597ef7, #85a5ff); }
.plan-card__badge--member { background: #faad14; }
.plan-grid--archive { grid-template-columns: repeat(3, 1fr); }
.plan-grid--carousel { grid-template-columns: repeat(4, minmax(240px, 1fr)); overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.plan-grid--carousel .plan-card { scroll-snap-align: start; min-width: 240px; }

.section__desc { text-align: center; color: var(--muted); margin: -16px auto 32px; max-width: 560px; }
.section__subtitle { font-size: 22px; margin: 0 0 20px; }
.page-hero--center { text-align: center; }
.analytics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.analytics-card { background: #fff; border-radius: 16px; padding: 24px; text-align: center; box-shadow: var(--shadow); }
.analytics-card__icon { display: flex; justify-content: center; margin-bottom: 12px; color: var(--primary); }
.analytics-preview { background: #fff; }
.brand-grid--logos { gap: 16px; }
.brand-chip--logo { min-width: 120px; text-align: center; transition: border-color .2s, color .2s; }
.brand-chip--logo:hover { border-color: var(--primary); color: var(--primary); }

.breadcrumbs { margin-bottom: 12px; }
.breadcrumbs__sep { margin: 0 6px; color: #ccc; }
.breadcrumbs__current { color: var(--text); }

.filter-bar--plans { flex-direction: column; align-items: stretch; gap: 16px; background: #fff; padding: 20px; border-radius: 16px; box-shadow: var(--shadow); }
.filter-bar__tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-bar__controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.filter-select { padding: 8px 14px; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; font-size: 14px; }
.filter-search__input { padding: 8px 14px; border: 1px solid #e5e7eb; border-radius: 999px; min-width: 180px; }

.pagination-wrap { margin-top: 32px; }
.pagination-wrap .nav-links { display: flex; justify-content: center; gap: 8px; }
.pagination-wrap .page-numbers { display: inline-grid; place-items: center; min-width: 36px; height: 36px; border-radius: 8px; background: #fff; border: 1px solid #e5e7eb; }
.pagination-wrap .page-numbers.current { background: var(--primary); border-color: var(--primary); color: #fff; }

.empty-state { grid-column: 1 / -1; text-align: center; padding: 48px 24px; color: var(--muted); }

.plan-detail-hero { padding-top: 0; }
.plan-detail-hero__grid { display: grid; grid-template-columns: 280px 1fr 240px; gap: 32px; align-items: start; }
.plan-detail-hero__cover { border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; background: #e8f8ef; }
.plan-detail-hero__cover img { width: 100%; height: 100%; object-fit: cover; }
.plan-detail-hero__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #e8f8ef, #07c16033); }
.plan-detail-hero__info h1 { margin: 12px 0; font-size: 32px; }
.plan-detail-hero__meta { display: flex; flex-wrap: wrap; gap: 16px; color: var(--muted); font-size: 14px; }
.plan-detail__stats--row { margin-bottom: 32px; }
.stat-icon-card { background: #fff; border-radius: 16px; padding: 24px 16px; text-align: center; box-shadow: var(--shadow); }
.stat-icon-card__icon { display: flex; justify-content: center; margin-bottom: 8px; color: var(--primary); }
.stat-icon-card__icon .pdd-icon.is-filled { color: #faad14; fill: rgba(250, 173, 20, .25); stroke: #faad14; }
.stat-icon-card strong { display: block; font-size: 18px; margin-bottom: 4px; }
.stat-icon-card span { color: var(--muted); font-size: 13px; }
.tabs--plan .tabs__nav { overflow-x: auto; flex-wrap: nowrap; }
.tabs__hint { color: var(--muted); font-size: 14px; margin-bottom: 16px; }
.schedule-table tr.is-rest td { color: var(--muted); }
.logic-block { background: #f7f8fa; border-radius: 12px; padding: 20px; margin-bottom: 16px; }
.review-list { display: grid; gap: 16px; }
.review-card { background: #f7f8fa; border-radius: 12px; padding: 20px; }
.review-card__head { display: flex; justify-content: space-between; margin-bottom: 8px; }
.review-card__stars { color: #faad14; }

.cta-block { background: linear-gradient(135deg, #e8f8ef, #fff); padding: 56px 0; border-top: 1px solid #eef0f3; }
.cta-block__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.cta-block__text h2 { margin: 0 0 8px; font-size: 28px; }
.cta-block__text p { color: var(--muted); margin: 0 0 20px; }
.cta-block__qr { text-align: center; background: #fff; padding: 16px; border-radius: 16px; box-shadow: var(--shadow); }
.cta-block__qr img { margin: 0 auto 8px; }

.device-grid--archive { grid-template-columns: repeat(3, 1fr); }
.device-card--large { display: flex; flex-direction: column; gap: 16px; }
.device-card__top { display: flex; gap: 16px; align-items: center; }
.device-card__head h3 { margin: 0 0 4px; font-size: 20px; }
.device-card__sync { margin: 0; color: var(--muted); font-size: 13px; }
.device-card__watch { border-radius: 16px; overflow: hidden; background: #f7f8fa; aspect-ratio: 16/10; }
.device-card__watch img { width: 100%; height: 100%; object-fit: cover; }
.device-card__watch-placeholder { width: 100%; height: 100%; background: linear-gradient(180deg, #eef0f3, #f7f8fa); }
.device-card__data { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.device-card__data li { font-size: 12px; background: #f7f8fa; padding: 4px 10px; border-radius: 999px; color: #666; }
.device-card__initial { font-size: 28px; font-weight: 700; color: var(--primary); }
.device-hero__brand { font-size: 14px; color: var(--primary); font-weight: 600; margin-bottom: 8px; }
.device-hero__actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.device-hero__placeholder { width: 100%; height: 280px; background: linear-gradient(135deg, #f0f1f3, #e8f8ef); border-radius: 20px; }
.data-icon-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 8px; }
.data-icon-card { background: #fff; border-radius: 16px; padding: 20px 12px; text-align: center; box-shadow: var(--shadow); font-size: 14px; }
.data-icon-card__icon { display: flex; justify-content: center; margin-bottom: 8px; color: var(--primary); }
.device-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.device-detail-col h2 { margin-top: 0; font-size: 22px; }
.faq-item summary { cursor: pointer; font-weight: 600; }
.faq-item p { margin: 12px 0 0; color: #666; }

.help-search--large { display: flex; gap: 12px; justify-content: center; margin-top: 24px; max-width: 560px; margin-left: auto; margin-right: auto; }
.help-search--large input { flex: 1; }
.help-category-head { display: flex; gap: 20px; align-items: center; margin-top: 16px; }
.help-list--faq li a { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; }
.help-list__arrow { color: var(--muted); }
.help-list__empty { color: var(--muted); text-align: center; }
.help-article__footer { margin-top: 24px; color: var(--muted); }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-card--grid { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow); }
.blog-card__cover { position: relative; aspect-ratio: 16/10; background: #e8f8ef; }
.blog-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.blog-card__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #e8f8ef, #d8f3e6); }
.blog-card__cat { position: absolute; top: 12px; left: 12px; background: var(--primary); color: #fff; font-size: 12px; padding: 4px 10px; border-radius: 999px; }
.blog-card__body { padding: 20px; }
.blog-card__date { font-size: 13px; color: var(--muted); }
.blog-card__title { margin: 8px 0; font-size: 18px; line-height: 1.4; }
.blog-card__excerpt { color: #666; font-size: 14px; margin: 0 0 12px; }
.blog-single__cat { display: inline-block; background: #e8f8ef; color: var(--primary-dark); padding: 4px 12px; border-radius: 999px; font-size: 13px; margin-bottom: 12px; }
.blog-single__date { color: var(--muted); font-size: 14px; }
.blog-single__cover { border-radius: 16px; overflow: hidden; margin-bottom: 24px; }
.blog-single__content { max-width: 720px; margin: 0 auto; }
.blog-single__nav { display: flex; justify-content: space-between; margin-top: 32px; padding-top: 24px; border-top: 1px solid #eef0f3; max-width: 720px; margin-left: auto; margin-right: auto; }

.legal-content h2 { margin-top: 32px; font-size: 20px; }
.legal-content h2:first-child { margin-top: 0; }
.empty-page { text-align: center; padding: 80px 24px; }
.empty-page__code { font-size: 72px; font-weight: 700; color: #e8f8ef; line-height: 1; }
.empty-page__actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px; flex-wrap: wrap; }
.section--center { display: flex; align-items: center; min-height: 50vh; }

.site-footer__social { display: flex; gap: 16px; margin-top: 16px; }
.site-footer__social a { color: #888; font-size: 13px; }
.site-footer__social a:hover { color: #fff; }

@media (max-width: 960px) {
  .plan-detail-hero__grid, .device-detail-grid, .cta-block__inner, .analytics-grid, .data-icon-grid { grid-template-columns: 1fr; }
  .plan-grid--archive, .blog-grid { grid-template-columns: 1fr 1fr; }
  .stat-icon-card { padding: 16px 12px; }
  .plan-detail-hero__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .plan-grid--archive, .blog-grid, .device-grid--archive { grid-template-columns: 1fr; }
  .data-icon-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-bar__controls { flex-direction: column; align-items: stretch; }
  .filter-search__input { width: 100%; }
}
