/* Webzine 공통 계약: reset, 접근성, 브랜딩 토큰, 기능 UI의 최소 기반만 둔다. */
:root {
  --bg-primary: var(--brand-bg, #0a0a0f);
  --bg-secondary: #12121a;
  --bg-tertiary: #1a1a2a;
  --text-primary: #f0f0f5;
  --text-secondary: #8a8a9a;
  --text-tertiary: #5a5a6a;
  --accent-primary: var(--brand-primary, #818cf8);
  --accent-primary-rgb: var(--brand-primary-rgb, 129 140 248);
  --accent-secondary: var(--brand-accent, #38bdf8);
  --accent-secondary-rgb: var(--brand-accent-rgb, 56 189 248);
  --on-accent-primary: var(--brand-on-primary, #fff);
  --accent-primary-readable: var(--brand-primary-readable-dark, var(--accent-primary));
  --accent-secondary-readable: var(--brand-accent-readable-dark, var(--accent-secondary));
  --accent-primary-soft: rgb(var(--accent-primary-rgb) / .08);
  --accent-primary-muted: rgb(var(--accent-primary-rgb) / .12);
  --accent-primary-border: rgb(var(--accent-primary-rgb) / .28);
  --accent-primary-glow: rgb(var(--accent-primary-rgb) / .35);
  --on-accent-secondary: var(--brand-on-accent, #000);
  --font-body: var(--brand-font, 'Pretendard', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
  --font-title: 'Outfit', sans-serif;
  --font-serif: 'Lora', serif;
  --glass-bg: rgba(255, 255, 255, .06);
  --glass-border: rgba(255, 255, 255, .1);
  --glass-hover: rgba(255, 255, 255, .1);
  --content-max-width: 1200px;
  --header-height: 70px;
  --section-gap: 80px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --transition-fast: .2s ease;
  --transition-normal: .4s ease;
  --transition-slow: .8s cubic-bezier(.16, 1, .3, 1);
  --shadow-soft: 0 4px 30px rgba(0, 0, 0, .3);
}

[data-mode="light"] {
  --bg-primary: #f5f5f7;
  --bg-secondary: #fff;
  --bg-tertiary: #eaeaef;
  --text-primary: #1a1a2e;
  --text-secondary: #5a5a6a;
  --text-tertiary: #8a8a9a;
  --accent-primary-readable: var(--brand-primary-readable-light, var(--accent-primary));
  --accent-secondary-readable: var(--brand-accent-readable-light, var(--accent-secondary));
  --glass-bg: rgba(255, 255, 255, .7);
  --glass-border: rgba(0, 0, 0, .08);
  --glass-hover: rgba(0, 0, 0, .04);
  --shadow-soft: 0 4px 30px rgba(0, 0, 0, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { min-width: 320px; margin: 0; font-family: var(--font-body); background: var(--bg-primary); color: var(--text-primary); line-height: 1.6; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--accent-secondary); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

[data-wz-horizontal-scroll],
[data-mixed1-carousel-viewport] { overscroll-behavior-inline: contain; }

@media (pointer: fine) {
  [data-wz-horizontal-scroll],
  [data-mixed1-carousel-viewport] { cursor: grab; }
  [data-wz-horizontal-scroll].is-pointer-dragging,
  [data-mixed1-carousel-viewport].is-pointer-dragging {
    cursor: grabbing;
    user-select: none;
    scroll-snap-type: none !important;
  }
}

/* 공통 masthead 기능 계약: 배치와 열림/닫힘 상태만 정의한다. */
.wz-masthead__inner { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; width: 100%; gap: clamp(16px, 2vw, 32px); }
.wz-brand-grid { display: flex; align-items: center; flex: 0 0 auto; gap: 16px; min-width: 0; }
.wz-brand-grid__logo-link { display: flex; align-items: center; flex: 0 0 auto; }
.wz-brand-grid__logo { display: block; width: auto; max-width: 165px; height: 46px; object-fit: contain; }
.wz-brand-grid__mark { display: grid; width: 44px; height: 44px; place-items: center; flex: 0 0 auto; }
.wz-brand-grid__info { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: 2px; }
.wz-brand-grid__row, .wz-brand-grid__name, .wz-brand-grid__vol { display: flex; align-items: center; gap: 8px; }
.wz-brand-grid__name a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wz-brand-grid__vol-mobile { display: none; }

.wz-desktop-nav-wrapper { position: relative; display: flex; width: 70%; flex: 1 1 70%; min-width: 0; flex-direction: column; justify-content: center; }
.wz-category-menu { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; }
.wz-category-menu__item { position: relative; display: flex; min-width: 0; flex: 1 1 0; justify-content: center; text-align: center; }
.wz-category-menu__link { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; white-space: nowrap; }
.wz-mega-panel { position: absolute; z-index: 999; top: calc(100% + 12px); right: 0; left: 0; width: 100%; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast); }
.wz-mega-panel::before { content: ""; position: absolute; top: -30px; right: 0; left: 0; height: 30px; }
.wz-desktop-nav-wrapper:hover .wz-mega-panel, .wz-desktop-nav-wrapper:focus-within .wz-mega-panel, .wz-mega-panel:hover { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.wz-mega-panel__inner { display: flex; width: 100%; align-items: flex-start; justify-content: space-between; gap: 28px; }
.wz-mega-col { min-width: 0; flex: 1 1 0; }
.wz-mega-col__list, .wz-mega-col__sublist { margin: 0; padding: 0; list-style: none; }

.wz-header-actions { display: flex; align-items: center; justify-content: flex-end; flex: 0 0 auto; gap: 10px; }
.wz-header-actions { position: relative; }
.wz-search-recommendations { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12px; }
.wz-search-recommendations > span { font-weight: 700; opacity: .72; }
.wz-search-recommendations a { padding: 5px 8px; border: 1px solid currentColor; border-radius: 999px; color: inherit; text-decoration: none; opacity: .82; }
.wz-search-recommendations--masthead { position: absolute; z-index: 1000; top: calc(100% + 12px); right: 0; display: none; width: min(360px, 80vw); padding: 10px; border: 1px solid var(--glass-border); border-radius: var(--radius-md); background: var(--bg-secondary); box-shadow: var(--shadow-lg); }
.wz-header-actions.is-search-open .wz-search-recommendations--masthead { display: flex; }
.wz-search-recommendations--drawer { width: 100%; padding-top: 8px; }
.mixed4-masthead__utility-actions { position: relative; }
.mixed4-search-recommendations { position: absolute; z-index: 1000; top: calc(100% + 8px); right: 0; display: none; width: min(360px, 80vw); padding: 10px; background: var(--bg-secondary); }
.mixed4-masthead__search:focus-within + .mixed4-search-recommendations { display: flex; }
.mixed4-search-recommendations--mobile { margin-top: 8px; }
.wz-search { display: flex; width: 0; max-width: 0; align-items: center; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; transition: width var(--transition-fast), max-width var(--transition-fast), opacity var(--transition-fast); }
.wz-search.is-open, .wz-search.is-active, .wz-header-actions.is-search-open .wz-search { width: min(260px, 30vw); max-width: 260px; opacity: 1; visibility: visible; pointer-events: auto; }
.wz-search__input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; }
.wz-search__submit, .wz-search-toggle, .wz-mode-toggle, .wz-nav-toggle { display: grid; place-items: center; flex: 0 0 auto; }
.wz-mode-toggle__icon { display: none; }
[data-mode="dark"] .wz-mode-toggle__icon--light, [data-mode="light"] .wz-mode-toggle__icon--dark { display: block; }
.wz-category-anchor { position: relative; top: -96px; display: block; visibility: hidden; }

.wz-drawer-overlay, .wz-mobile-drawer, .wz-nav-toggle { display: none; }
.wz-drawer-overlay { position: fixed; z-index: 99998; inset: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, .7); opacity: 0; visibility: hidden; transition: opacity var(--transition-fast), visibility var(--transition-fast); }
.wz-drawer-overlay.is-open { opacity: 1; visibility: visible; }
.wz-mobile-drawer { position: fixed; z-index: 99999; top: 0; right: 0; bottom: 0; width: 70vw; min-width: 280px; max-width: 380px; height: 100dvh; flex-direction: column; border-left: 1px solid var(--glass-border); background: var(--bg-secondary); box-shadow: -20px 0 50px rgba(0, 0, 0, .35); transform: translateX(100%); transition: transform var(--transition-normal); }
.wz-mobile-drawer.is-open { transform: translateX(0); }
.wz-drawer__header { display: flex; align-items: center; flex: 0 0 auto; flex-wrap: wrap; gap: 10px; padding: 18px 16px; border-bottom: 1px solid var(--glass-border); }
.wz-drawer-search { display: flex; height: 40px; align-items: center; flex: 1; gap: 8px; padding: 0 12px; border: 1px solid var(--glass-border); border-radius: var(--radius-md); background: var(--glass-bg); }
.wz-drawer-search__input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text-primary); }
.wz-drawer-close { display: grid; width: 38px; height: 38px; place-items: center; flex: 0 0 auto; border: 0; background: transparent; color: var(--text-secondary); }
.wz-drawer__body { display: flex; height: calc(100vh - 130px); flex: 1 1 auto; overflow: hidden; }
.wz-mobile-nav-split { display: flex; width: 100%; height: 100%; }
.wz-mobile-nav-roots { width: 45%; height: 100%; overflow-y: auto; border-right: 1px solid var(--glass-border); background: var(--bg-tertiary); }
.wz-mobile-nav-root-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 15px 12px; border: 0; border-bottom: 1px solid var(--glass-border); background: transparent; color: var(--text-secondary); text-align: left; }
.wz-mobile-nav-root-btn.is-active { border-left: 3px solid var(--accent-primary); background: var(--glass-hover); color: var(--text-primary); }
.wz-mobile-nav-subs { width: 55%; height: 100%; padding: 16px 14px; overflow-y: auto; }
.wz-mobile-nav-subpanel { display: none; }
.wz-mobile-nav-subpanel.is-active { display: block; }
.wz-mobile-subpanel__list, .wz-mobile-subpanel__sublist { margin: 0; padding: 0; list-style: none; }
.wz-mobile-subpanel__sublist { margin-top: 4px; padding-left: 10px; }
.wz-mobile-subpanel__root-link, .wz-mobile-subpanel__link, .wz-mobile-subpanel__sublink { display: block; padding: 4px 0; }
.wz-drawer__footer { flex: 0 0 auto; padding: 16px; border-top: 1px solid var(--glass-border); text-align: center; }

@media (max-width: 1023px) {
  .wz-desktop-nav-wrapper { display: none; }
  .wz-nav-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; }
  .wz-nav-toggle__bar { display: block; width: 18px; height: 2px; margin: 0 auto; border-radius: 2px; background: currentColor; }
  .wz-drawer-overlay { display: block; }
  .wz-mobile-drawer { display: flex; }
}

@media (max-width: 640px) {
  .wz-brand-grid { gap: 10px; }
  .wz-brand-grid__logo { max-width: 120px; height: 38px; }
  .wz-brand-grid__vol { display: none; }
  .wz-brand-grid__vol-mobile { display: inline; }
  .wz-search-toggle, .wz-archive-link { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ──────────────────────────────────────────────────────────────
   Basic 계열 공통: 외부에서 옮겨온 레거시 본문 HTML 정규화
   기사 본문에는 흰 배경·검정 글자·고정 폭 인라인 스타일이 남아 있어
   다크 스킨에서 본문만 흰 판때기로 떠 보인다. 스킨별 토큰으로 되돌린다.
   --wz-legacy-*는 각 템플릿 CSS에서 재정의한다.
   ────────────────────────────────────────────────────────────── */
[class*="wz-template--basic"] {
  --wz-legacy-text: var(--text-primary);
  --wz-legacy-muted: var(--text-secondary);
  --wz-legacy-accent: var(--accent-primary-readable);
  --wz-legacy-measure: 780px;
}
[class*="wz-template--basic"] #wz-article-body {
  overflow-wrap: anywhere;
  background: transparent !important;
  color: var(--wz-legacy-text) !important;
}
/* 페이지 헤더의 제목과 중복되는 본문 상단 표제 블록은 감춘다. */
[class*="wz-template--basic"] #wz-article-body > .spot_sub_text2.pr2-head-top { display: none !important; }
[class*="wz-template--basic"] #wz-article-body > div {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: inherit !important;
}
[class*="wz-template--basic"] #wz-article-body :is(div, p, h1, h2, h3, h4, h5, h6, li, span, strong, em, td, th, blockquote) {
  max-width: 100%;
  color: inherit;
}
/* 흰 배경만 걷어낸다. 작성자가 의도한 색 배경 박스는 그대로 둔다. */
[class*="wz-template--basic"] #wz-article-body [style*="background-color: rgb(255, 255, 255)"],
[class*="wz-template--basic"] #wz-article-body [style*="background-color:rgb(255,255,255)"],
[class*="wz-template--basic"] #wz-article-body [style*="background-color: #fff"],
[class*="wz-template--basic"] #wz-article-body [style*="background-color:#fff"],
[class*="wz-template--basic"] #wz-article-body [style*="background: #fff"],
[class*="wz-template--basic"] #wz-article-body [style*="background:#fff"],
[class*="wz-template--basic"] #wz-article-body [style*="background-color: white"] {
  background-color: transparent !important;
  background-image: none !important;
}
[class*="wz-template--basic"] #wz-article-body :is(p, li) {
  font-size: 1rem !important;
  line-height: 1.85 !important;
}
[class*="wz-template--basic"] #wz-article-body [class*="inr-c-"] {
  width: 100% !important;
  max-width: var(--wz-legacy-measure) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
[class*="wz-template--basic"] #wz-article-body :is(.box_float, .box-col-2, .box-col-3) { display: block !important; }
[class*="wz-template--basic"] #wz-article-body :is(.box_float, .box-col-2, .box-col-3) > * { width: 100% !important; float: none !important; }
[class*="wz-template--basic"] #wz-article-body img {
  max-width: 100% !important;
  height: auto !important;
}
[class*="wz-template--basic"] #wz-article-body table { width: 100% !important; max-width: 100% !important; }
[class*="wz-template--basic"] #wz-article-body a { color: var(--wz-legacy-accent) !important; }
/* 레거시 이미지 캡션. 인라인 display:flex 행 안에서 nowrap 캡션이 23px로 줄어든
   flex 아이템을 뚫고 화면 왼쪽 밖(x=-326px까지)으로 흘러나갔다.
   box_float/box-col-* 과 같은 방식으로 flex 배치를 풀어 일반 블록으로 되돌린다. */
[class*="wz-template--basic"] #wz-article-body :is([class*="summary"], [class*="caption"]) {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  [class*="wz-template--basic"] #wz-article-body { max-width: 100%; overflow-x: hidden; }
  [class*="wz-template--basic"] #wz-article-body :is(p, li) { font-size: .98rem !important; line-height: 1.8 !important; }
  [class*="wz-template--basic"] #wz-article-body :is(img, table) { width: 100% !important; }
}

/* ── 공통 푸터 브랜드 로고 기본 크기 (basic 계열) ──
   basic1·basic2만 .footer-logo__image 크기를 선언했고 basic3~8은 선언이 없어,
   업로드 로고가 원본 비율(777x310)대로 푸터 행 전체를 차지하고 회사명 span이
   뷰포트 밖으로 밀려났다. common.css는 템플릿 CSS보다 먼저 로드되므로
   자체 선언이 있는 템플릿은 그대로 자기 값을 쓴다. */
[class*="wz-template-footer--basic"] .footer-logo { flex-wrap: wrap; }
[class*="wz-template-footer--basic"] .footer-logo__image {
  width: auto;
  max-width: 140px;
  height: 36px;
  object-fit: contain;
}

/* Article engagement progressive enhancement: wrapper는 기존 template layout box를 만들지 않는다. */
.wz-engagement { display: contents; }
.wz-engagement [aria-busy="true"] { cursor: wait; }
.wz-engagement [aria-busy="true"] button[type="submit"] { opacity: .65; }
.wz-email-verification-gate { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.wz-email-verification-gate button,
.wz-email-verification-open { padding: 6px 12px; border: 1px solid var(--accent-primary); border-radius: 999px; background: transparent; color: var(--accent-primary-readable); font-weight: 700; }
.wz-email-verification-dialog { width: min(92vw, 480px); padding: 0; border: 1px solid var(--glass-border); border-radius: var(--radius-lg); background: var(--bg-secondary); color: var(--text-primary); box-shadow: 0 24px 80px rgba(0, 0, 0, .45); }
.wz-email-verification-dialog::backdrop { background: rgba(0, 0, 0, .72); backdrop-filter: blur(3px); }
.wz-email-verification-dialog__surface { position: relative; padding: clamp(24px, 5vw, 38px); }
.wz-email-verification-dialog__close-form { position: absolute; top: 12px; right: 12px; margin: 0; }
.wz-email-verification-dialog__close { width: 36px; height: 36px; padding: 0; border: 0; background: transparent; color: var(--text-secondary); font-size: 28px; line-height: 1; }
.wz-email-verification-dialog__eyebrow { margin: 0 0 8px; color: var(--accent-primary-readable); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.wz-email-verification-dialog h2 { margin: 0 40px 14px 0; font-size: clamp(22px, 5vw, 30px); line-height: 1.25; }
.wz-email-verification-dialog p { overflow-wrap: anywhere; }
.wz-email-verification-dialog__help { color: var(--text-secondary); font-size: 14px; }
.wz-email-verification-dialog__status { min-height: 1.6em; color: var(--accent-primary-readable); font-weight: 700; }
.wz-email-verification-dialog [data-wz-email-verification-form] button { width: 100%; min-height: 46px; border: 0; border-radius: var(--radius-sm); background: var(--accent-primary); color: var(--on-accent-primary); font-weight: 800; }

/* Article reaction 2026 — 공통 접근성·상태·모션 계약. 스킨 파일은 표현 토큰만 확장한다. */
.wz-reaction-symbols{position:absolute;width:0;height:0;overflow:hidden}.wz-reaction-card{--wz-rx-accent:var(--accent-primary,#6558e8);--wz-rx-accent-2:var(--accent-secondary,#55c9b7);--wz-rx-surface:var(--bg-secondary,#151925);--wz-rx-ink:var(--text-primary,#f8fafc);--wz-rx-muted:var(--text-secondary,#a7b0c0);--wz-rx-line:var(--glass-border,rgba(255,255,255,.14));position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;margin:clamp(56px,8vw,90px) auto 0;padding:clamp(28px,5vw,48px);border:1px solid var(--wz-rx-line);border-radius:clamp(20px,3vw,32px);background:var(--wz-rx-surface);color:var(--wz-rx-ink);box-shadow:0 24px 70px rgba(0,0,0,.14)}.wz-reaction-card__ambient{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.wz-reaction-card__ambient i{position:absolute;border-radius:50%;background:var(--wz-rx-accent);filter:blur(44px);opacity:.1}.wz-reaction-card__ambient i:first-child{top:-45px;right:-20px;width:160px;height:160px}.wz-reaction-card__ambient i:nth-child(2){bottom:-60px;left:20%;width:130px;height:130px;background:var(--wz-rx-accent-2)}.wz-reaction-card__ambient i:last-child{top:46%;left:50%;width:8px;height:8px;filter:none;opacity:.5}.wz-reaction-card__head{position:relative;text-align:center}.wz-reaction-card__eyebrow{margin:0 0 10px;color:var(--wz-rx-accent);font:800 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}.wz-reaction-card__title{max-width:720px;margin:0 auto;color:var(--wz-rx-ink);font-size:clamp(20px,3vw,30px);font-weight:760;line-height:1.4;letter-spacing:-.035em;overflow-wrap:anywhere}.wz-reaction-card__status{min-height:1.4em;margin:10px 0 0;color:var(--wz-rx-muted);font-size:12px;line-height:1.5}.wz-reaction-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:680px;margin:26px auto 0}.wz-reaction-card__actions form{min-width:0;margin:0}.wz-reaction-card__button{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;box-sizing:border-box;width:100%;min-width:0;min-height:58px;padding:10px 16px;border:1px solid var(--wz-rx-line);border-radius:17px;background:color-mix(in srgb,var(--wz-rx-surface) 86%,white 14%);color:var(--wz-rx-ink);font:750 14px/1.35 inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.wz-reaction-card__button:hover:not(:disabled){transform:translateY(-2px);border-color:color-mix(in srgb,var(--wz-rx-accent) 72%,white);box-shadow:0 12px 30px color-mix(in srgb,var(--wz-rx-accent) 18%,transparent)}.wz-reaction-card__button:focus-visible{outline:3px solid color-mix(in srgb,var(--wz-rx-accent) 40%,transparent);outline-offset:3px}.wz-reaction-card__button.is-active{border-color:var(--wz-rx-accent);background:color-mix(in srgb,var(--wz-rx-accent) 18%,var(--wz-rx-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--wz-rx-accent) 55%,transparent),0 12px 30px color-mix(in srgb,var(--wz-rx-accent) 15%,transparent)}.wz-reaction-card__button:disabled{cursor:not-allowed;opacity:.54}.wz-reaction-icon{display:inline-grid;width:31px;height:31px;place-items:center;color:var(--wz-rx-accent);transform-origin:50% 65%}.wz-reaction-icon__svg{width:29px;height:29px;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.wz-reaction-icon__emoji{font-size:26px;line-height:1}.wz-reaction-card__label{min-width:0;overflow-wrap:anywhere}.wz-reaction-card__count{display:inline-grid;min-width:29px;height:25px;place-items:center;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--wz-rx-accent) 13%,transparent);color:var(--wz-rx-ink);font:800 11px/1 ui-monospace,monospace;font-variant-numeric:tabular-nums}.wz-reaction-card__check{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--wz-rx-accent);color:#fff;font-size:11px;opacity:0;transform:scale(.65);transition:opacity .16s,transform .16s}.wz-reaction-card__button.is-active .wz-reaction-card__check{opacity:1;transform:scale(1)}.wz-reaction-card__note,.wz-reaction-card__retry,.wz-react__msg{max-width:680px;margin:14px auto 0}.wz-reaction-card__note{color:var(--wz-rx-muted);font-size:13px;text-align:center}.wz-reaction-card__note a{color:var(--wz-rx-accent);font-weight:800}.wz-reaction-card__retry{display:block;padding:8px 13px;border:1px solid var(--wz-rx-line);border-radius:999px;background:transparent;color:var(--wz-rx-ink);font-size:12px;font-weight:750;cursor:pointer}.wz-reaction-card__retry[hidden],.wz-reaction-card__note[hidden]{display:none}.wz-react__msg{box-sizing:border-box;padding:10px 14px;border-radius:12px;font-size:13px;font-weight:700;text-align:center}.wz-react__msg--ok{background:rgba(34,197,94,.13);color:#46c97a}.wz-react__msg--err{background:rgba(239,68,68,.13);color:#ef6d76}.wz-reaction-card[aria-busy="true"] .wz-reaction-card__status{background:linear-gradient(90deg,var(--wz-rx-muted),var(--wz-rx-ink),var(--wz-rx-muted));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wz-rx-loading 1.4s linear infinite}
.wz-reaction-card__button.is-reaction-animating[data-reaction-motion="pulse"] .wz-reaction-icon{animation:wz-rx-pulse .55s cubic-bezier(.2,.8,.2,1)}.wz-reaction-card__button.is-reaction-animating[data-reaction-motion="burst"] .wz-reaction-icon{animation:wz-rx-burst .7s cubic-bezier(.15,.9,.2,1)}.wz-reaction-card__button.is-reaction-animating[data-reaction-motion="bounce"] .wz-reaction-icon{animation:wz-rx-bounce .65s ease}.wz-reaction-card__button.is-reaction-animating[data-reaction-motion="shake"] .wz-reaction-icon{animation:wz-rx-shake .48s ease}.wz-reaction-card__button.is-reaction-animating[data-reaction-motion="dim"] .wz-reaction-icon{animation:wz-rx-dim .6s ease}.wz-reaction-card__button.is-reaction-animating[data-reaction-motion="wobble"] .wz-reaction-icon{animation:wz-rx-wobble .62s ease}
@keyframes wz-rx-loading{to{background-position:-220% 0}}@keyframes wz-rx-pulse{35%{transform:scale(1.32) rotate(-7deg)}70%{transform:scale(.94) rotate(3deg)}}@keyframes wz-rx-burst{30%{transform:scale(1.42);filter:drop-shadow(0 0 9px currentColor)}60%{transform:scale(.9) rotate(-8deg)}}@keyframes wz-rx-bounce{30%{transform:translateY(-9px) scale(1.1)}55%{transform:translateY(2px) scale(.96)}75%{transform:translateY(-3px)}}@keyframes wz-rx-shake{20%,60%{transform:translateX(-5px) rotate(-8deg)}40%,80%{transform:translateX(5px) rotate(8deg)}}@keyframes wz-rx-dim{40%{opacity:.28;transform:scale(.82)}75%{opacity:1;transform:scale(1.08)}}@keyframes wz-rx-wobble{25%{transform:rotate(-14deg)}50%{transform:rotate(12deg)}75%{transform:rotate(-6deg)}}
@media(max-width:600px){.wz-reaction-card{width:100%;padding:26px 16px;border-radius:20px}.wz-reaction-card__actions{grid-template-columns:1fr}.wz-reaction-card__button{min-height:58px}.wz-reaction-card__title{font-size:20px}}
@media(prefers-reduced-motion:reduce){.wz-reaction-card,.wz-reaction-card *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.wz-reaction-card__button:hover:not(:disabled){transform:none}}
