
/* BaZiWay — компоненты. Все значения — токены из tokens.json (--bw-*, --font-*).
   Тема задаётся атрибутом data-theme="lacquer|paper|jade" на любом контейнере;
   в Tilda — классом bw-theme-paper / bw-theme-jade (рантайм BaZiWay.init переносит его в атрибут). */

/* ---------- основа ---------- */
body { margin: 0; background: var(--bw-bg); color: var(--bw-text); font-family: var(--font-ui); -webkit-font-smoothing: antialiased; }
[data-theme] { color: var(--bw-text); }
:where([data-theme]):not(html) { background-color: var(--bw-bg); }
.bw-card[data-theme="paper"], .bw-review[data-theme="paper"] { background: var(--bw-bg); border-color: transparent; }
.bw-root, .bw-surface-bg { background: var(--bw-bg); color: var(--bw-text); font-family: var(--font-ui); }
.bw-root *, .bw-root *::before, .bw-root *::after { box-sizing: border-box; }
.bw-container { max-width: var(--bw-container); margin: 0 auto; padding: 0 var(--bw-space-5); box-sizing: border-box; }
.bw-section { padding-top: var(--bw-space-32); }
.bw-stack { display: flex; flex-direction: column; gap: var(--bw-space-4); }
.bw-row { display: flex; flex-wrap: wrap; gap: var(--bw-space-3); align-items: center; }
.bw-day-master__head { display: flex; flex-direction: column; gap: 12px; }
.bw-day-master__head .bw-tag { order: -1; align-self: flex-end; }
.bw-day-master__head + .bw-title { min-height: 2em; }
.bw-jiazi__label { display: block; white-space: normal; overflow-wrap: anywhere; min-height: 3em; }
.bw-grid-auto { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--min, 260px), 100%), 1fr)); gap: var(--bw-space-4); }
.bw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bw-grain { position: absolute; inset: 0; width: 100%; height: 100%; opacity: var(--bw-grain); pointer-events: none; }
[data-theme="paper"] .bw-grain, .bw-grain--paper { opacity: var(--bw-grain-paper); }

/* ---------- типографика ---------- */
.bw-display, .bw-display-m, .bw-h1, .bw-h1-m, .bw-h2, .bw-h2-m, .bw-title, .bw-price-text, .bw-quote { font-family: var(--font-display); margin: 0; color: var(--bw-text); }
.bw-display { font-size: clamp(52px, 7.4vw, 108px); line-height: .92; letter-spacing: -.02em; font-weight: 400; text-wrap: balance; }
.bw-display--xl { font-size: clamp(56px, 8.4vw, 120px); line-height: .9; }
.bw-h1 { font-size: clamp(40px, 5vw, 72px); line-height: 1; font-weight: 400; }
.bw-h2 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.05; font-weight: 400; }
.bw-title { font-size: 32px; line-height: 1; font-weight: 500; }
.bw-display em, .bw-h1 em, .bw-h2 em, .bw-title em, .bw-em { font-style: italic; color: var(--bw-em); }
.bw-h3 { font: 600 clamp(24px, 2.4vw, 32px)/1.15 var(--font-ui); margin: 0; }
.bw-h4 { font: 600 22px/1.3 var(--font-ui); margin: 0; }
.bw-lead { font: 400 clamp(18px, 1.5vw, 20px)/1.55 var(--font-ui); color: var(--bw-text-2); margin: 0; text-wrap: pretty; }
.bw-body { font: 400 clamp(16px, 1.2vw, 17px)/1.65 var(--font-ui); color: var(--bw-text-2); margin: 0; }
.bw-small { font: 400 15px/1.6 var(--font-ui); color: var(--bw-text-2); }
.bw-label { font: 400 13px/1.4 var(--font-ui); color: var(--bw-muted); }
.bw-caption { font: 400 13px/1.5 var(--font-ui); letter-spacing: .02em; color: var(--bw-muted); margin: 0; }
.bw-eyebrow { font: 400 13px/1.4 var(--font-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--bw-eyebrow); }
.bw-data { font: 400 14px/1.5 var(--font-mono); color: var(--bw-eyebrow); }
.bw-tag { font: 400 12px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--bw-muted); }
.bw-cjk { font-family: var(--font-cjk); }
.bw-glyph { font-family: var(--font-cjk); line-height: 1; white-space: nowrap; }
.bw-glyph--hero { font-size: 120px; font-weight: 900; }
.bw-glyph--pillar { font-size: 64px; line-height: 1.1; }
.bw-glyph--mark { font-size: 30px; color: var(--bw-gold-400); }
.bw-glyph-row { font-family: var(--font-cjk); letter-spacing: .3em; color: var(--bw-gold-200); }
[data-theme="paper"] .bw-glyph-row { color: var(--bw-text); }
button.bw-link { padding: 0; border: 0; background: transparent; font: inherit; font-weight: 600; }
.bw-link { color: var(--bw-link); font-weight: 600; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: color-mix(in srgb, var(--bw-link) 40%, transparent); }
.bw-link:hover { text-decoration-color: currentColor; }
.bw-price-text { font-size: 44px; line-height: 1; color: var(--bw-gold-200); }
[data-theme="paper"] .bw-price-text { color: var(--bw-seal); }
.bw-old-price { font-size: 14px; color: var(--bw-disabled); text-decoration: line-through; }
.bw-quote { font-size: 28px; line-height: 1.25; }

/* ---------- стихии: ставят --el* для любого вложенного компонента ---------- */
.bw-el-wood  { --el: var(--bw-wood);  --el-yin: var(--bw-wood-yin);  --el-ink: var(--bw-wood-ink);  --el-deep: var(--bw-wood-deep);  --el-abyss: var(--bw-wood-abyss);  --el-on: var(--bw-on-element); }
.bw-el-fire  { --el: var(--bw-fire);  --el-yin: var(--bw-fire-yin);  --el-ink: var(--bw-fire-ink);  --el-deep: var(--bw-fire-deep);  --el-abyss: var(--bw-fire-abyss);  --el-on: var(--bw-on-element); }
.bw-el-earth { --el: var(--bw-earth); --el-yin: var(--bw-earth-yin); --el-ink: var(--bw-earth-ink); --el-deep: var(--bw-earth-deep); --el-abyss: var(--bw-earth-abyss); --el-on: var(--bw-on-element); }
.bw-el-metal { --el: var(--bw-metal); --el-yin: var(--bw-metal-yin); --el-ink: var(--bw-metal-ink); --el-deep: var(--bw-metal-deep); --el-abyss: var(--bw-metal-abyss); --el-on: var(--bw-on-element); }
.bw-el-water { --el: var(--bw-water); --el-yin: var(--bw-water-yin); --el-ink: var(--bw-water-ink); --el-deep: var(--bw-water-deep); --el-abyss: var(--bw-water-abyss); --el-on: var(--bw-on-water); }
.bw-ink-el { color: var(--el-ink); }
.bw-ink-wood { color: var(--bw-wood-ink); } .bw-ink-fire { color: var(--bw-fire-ink); } .bw-ink-earth { color: var(--bw-earth-ink); } .bw-ink-metal { color: var(--bw-metal-ink); } .bw-ink-water { color: var(--bw-water-ink); }
.bw-fill-wood { fill: var(--bw-wood); } .bw-fill-fire { fill: var(--bw-fire); } .bw-fill-earth { fill: var(--bw-earth); } .bw-fill-metal { fill: var(--bw-metal); } .bw-fill-water { fill: var(--bw-water); }
.bw-tfill-wood { fill: var(--bw-wood-ink); } .bw-tfill-fire { fill: var(--bw-fire-ink); } .bw-tfill-earth { fill: var(--bw-earth-ink); } .bw-tfill-metal { fill: var(--bw-metal-ink); } .bw-tfill-water { fill: var(--bw-water-ink); }

/* ---------- кнопки ---------- */
.bw-btn { --h: 56px; display: inline-flex; align-items: center; justify-content: center; gap: var(--bw-space-3); height: var(--h); padding: 0 28px; border-radius: var(--bw-radius-pill); border: 1px solid transparent; font: 600 16px/1 var(--font-ui); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background var(--bw-dur-1) var(--bw-ease-out), box-shadow var(--bw-dur-1) var(--bw-ease-out), color var(--bw-dur-1), border-color var(--bw-dur-1); box-sizing: border-box; }
.bw-btn:focus-visible, .bw-focusable:focus-visible { outline: none; box-shadow: var(--bw-focus-ring); }
.bw-btn--l { --h: 60px; padding: 0 32px; font-size: 17px; }
.bw-btn--m { --h: 48px; padding: 0 22px; font-size: 15px; }
.bw-btn--s { --h: 40px; padding: 0 16px; font-size: 14px; }
.bw-btn--block { display: flex; width: 100%; }
.bw-btn--primary { background: var(--bw-cta); color: var(--bw-on-cta); box-shadow: var(--bw-shadow-cta-inset); border-color: transparent; }
.bw-btn--primary:hover { background: var(--bw-cta-hover); box-shadow: var(--bw-shadow-cta-hover); }
.bw-btn--glow { box-shadow: var(--bw-shadow-cta); }
.bw-btn--primary:focus-visible { box-shadow: var(--bw-focus-ring); }
.bw-btn--glass { background: var(--bw-glass); -webkit-backdrop-filter: blur(var(--bw-blur-glass)); backdrop-filter: blur(var(--bw-blur-glass)); border-color: var(--bw-glass-border); color: var(--bw-on-glass); }
.bw-btn--glass:hover { background: color-mix(in srgb, var(--bw-paper-50) 10%, transparent); border-color: color-mix(in srgb, var(--bw-gold-400) 70%, transparent); }
.bw-btn--ghost { background: transparent; border-color: var(--bw-gold-400); color: var(--bw-gold-200); }
.bw-btn--ghost:hover { background: var(--bw-gold-400); color: var(--bw-ink-950); }
[data-theme="paper"] .bw-btn--ghost { border-color: var(--bw-text); color: var(--bw-text); }
[data-theme="paper"] .bw-btn--ghost:hover { background: var(--bw-text); color: var(--bw-bg); }
[data-theme="jade"] .bw-btn--ghost { border-color: var(--bw-jade-400); color: var(--bw-jade-100); }
.bw-btn--quiet { background: transparent; border-color: var(--bw-line-strong); color: var(--bw-text-2); }
.bw-btn--quiet:hover { border-color: var(--bw-gold-400); color: var(--bw-text); }
.bw-btn--raised { background: var(--bw-surface-raised); border-color: var(--bw-line); color: var(--bw-text); }
.bw-btn--paper { background: var(--bw-paper-50); color: var(--bw-ink-800); }
.bw-btn--seal { --h: 48px; border-radius: 6px; padding: 0 18px 0 6px; background: var(--bw-seal); color: var(--bw-on-seal); }
.bw-btn--seal .bw-btn__seal { width: 36px; height: 36px; border: 1px solid color-mix(in srgb, var(--bw-on-seal) 60%, transparent); border-radius: 3px; display: inline-flex; align-items: center; justify-content: center; font: 900 18px/1 var(--font-cjk); }
.bw-btn--seal:hover { background: var(--bw-cinnabar-400); }
.bw-btn--icon { --h: 48px; width: 48px; padding: 0; background: var(--bw-glass); border-color: var(--bw-glass-border); color: var(--bw-gold-200); }
.bw-btn--icon.bw-btn--quiet { background: transparent; border-color: var(--bw-line-strong); width: 44px; --h: 44px; }
.bw-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.bw-btn:disabled, .bw-btn[aria-disabled="true"] { cursor: not-allowed; box-shadow: none; color: var(--bw-disabled); }
.bw-btn--icon.bw-btn--quiet[aria-disabled="true"] { color: var(--bw-text-2); }
.bw-btn--primary:disabled { background: var(--bw-cta-disabled); }
.bw-btn--ghost:disabled { border-color: var(--bw-ink-600); background: transparent; }
.bw-btn--glass:disabled { border-color: color-mix(in srgb, var(--bw-gold-400) 15%, transparent); }

/* ---------- чипы ---------- */
.bw-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: var(--bw-radius-pill); border: 1px solid var(--bw-line-gold); color: var(--bw-gold-200); font: 400 13px/1.2 var(--font-ui); white-space: nowrap; }
[data-theme="paper"] .bw-chip { color: var(--bw-text); }
.bw-chip--mono { font: 400 12px/1.2 var(--font-mono); }
.bw-chip--quiet { background: var(--bw-surface); border-color: var(--bw-line); color: var(--bw-text-2); font: 400 12px/1.2 var(--font-mono); }
.bw-chip--dashed { border-style: dashed; border-color: var(--bw-ink-500); color: var(--bw-muted); }
.bw-chip--success { border-color: color-mix(in srgb, var(--bw-success) 50%, transparent); color: var(--bw-success); font-family: var(--font-mono); font-size: 12px; padding: 6px 10px; }
.bw-chip--month { font-family: var(--font-cjk); font-size: 14px; padding: 6px 10px; color: var(--bw-accent-live); border-color: color-mix(in srgb, var(--bw-accent-live) 45%, transparent); }
.bw-chip--el { background: var(--el); color: var(--el-on); border-color: transparent; font-weight: 600; font-size: 14px; }
.bw-chip--el-soft { background: color-mix(in srgb, var(--el) 16%, transparent); border-color: color-mix(in srgb, var(--el-yin) 50%, transparent); color: var(--el-ink); font-size: 14px; }
.bw-chip--good { background: var(--bw-success-soft); border-color: transparent; color: var(--bw-on-success-soft); }
.bw-chip--bad { background: var(--bw-danger-soft); border-color: transparent; color: var(--bw-danger-text); }
.bw-badge { display: inline-block; font: 400 11px/1 var(--font-mono); letter-spacing: .04em; color: var(--bw-ink-950); background: var(--bw-gold-400); padding: 5px 10px; border-radius: var(--bw-radius-pill); }

/* ---------- печать и логотип ---------- */
.bw-seal { --s: 44px; width: var(--s); height: var(--s); flex-shrink: 0; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; background: var(--bw-seal); color: var(--bw-on-seal); border-radius: var(--bw-radius-seal); font: 900 calc(var(--s) * .34)/1.07 var(--font-cjk); text-align: center; box-shadow: inset 0 0 0 calc(var(--s) * .07) var(--bw-seal), inset 0 0 0 calc(var(--s) * .07 + 1px) color-mix(in srgb, var(--bw-on-seal) 55%, transparent); }
.bw-seal--single { font-size: calc(var(--s) * .58); }
.bw-seal--s { --s: 32px; } .bw-seal--l { --s: 72px; border-radius: 6px; } .bw-seal--xl { --s: 96px; border-radius: 6px; }
.bw-seal--tilt { transform: rotate(-4deg); } .bw-seal--tilt-r { transform: rotate(4deg); }
.bw-seal--outline { background: transparent; box-shadow: none; border: 3px solid var(--bw-seal); color: var(--bw-fire); }
.bw-seal--round { border-radius: 50%; }
.bw-seal--gold { background: transparent; box-shadow: none; border: 3px solid var(--bw-gold-200); color: var(--bw-gold-200); }
.bw-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--bw-text); text-decoration: none; }
.bw-logo__word { font: 600 26px/1 var(--font-display); letter-spacing: .02em; white-space: nowrap; }
.bw-logo__word em { font-style: italic; font-weight: 500; color: var(--bw-em); }
[data-theme="paper"] .bw-logo__word em { color: var(--bw-bronze-600); }

/* ---------- поля и формы ---------- */
.bw-field { display: flex; flex-direction: column; gap: var(--bw-space-2); position: relative; }
.bw-input { height: 56px; width: 100%; box-sizing: border-box; padding: 0 18px; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line-strong); background: var(--bw-field); color: var(--bw-text); font: 500 17px var(--font-ui); transition: border-color var(--bw-dur-1), box-shadow var(--bw-dur-1); }
.bw-input::placeholder { color: var(--bw-muted); }
.bw-input--mono { font-family: var(--font-mono); }
.bw-input--m { height: 48px; padding: 0 14px; font-size: 15px; }
.bw-input--pill { border-radius: var(--bw-radius-pill); padding: 0 22px; }
.bw-input:focus, .bw-input.is-focus { outline: none; border-color: var(--bw-gold-400); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bw-gold-400) 15%, transparent); }
[data-theme="paper"] .bw-input:focus { border-color: var(--bw-text); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bw-seal) 25%, transparent); }
.bw-input[aria-invalid="true"] { border-color: var(--bw-danger); }
.bw-error { font-size: 13px; color: var(--bw-danger-text); }
.bw-hint { font-size: 13px; color: var(--bw-muted); }
.bw-hint--data { font: 400 12px/1.5 var(--font-mono); color: var(--bw-eyebrow); }
.bw-suggest { border: 1px solid var(--bw-gold-400); border-top: 0; border-radius: 0 0 var(--bw-radius-m) var(--bw-radius-m); background: var(--bw-surface-raised); margin-top: -8px; overflow: hidden; }
.bw-suggest__item { display: flex; justify-content: space-between; gap: 12px; padding: 14px 18px; color: var(--bw-text); cursor: pointer; }
.bw-suggest__item small { font: 400 12px var(--font-mono); color: var(--bw-muted); }
.bw-suggest__item[aria-selected="true"], .bw-suggest__item:hover { background: var(--bw-selected); }
.bw-input.is-open { border-radius: var(--bw-radius-m) var(--bw-radius-m) 0 0; border-color: var(--bw-gold-400); }

.bw-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: var(--bw-radius-pill); background: var(--bw-surface); border: 1px solid var(--bw-line); }
.bw-seg__btn { height: 44px; padding: 0 20px; border-radius: var(--bw-radius-pill); border: 0; background: transparent; color: var(--bw-text-2); font: 600 14px var(--font-ui); cursor: pointer; transition: background var(--bw-dur-2) var(--bw-ease-out), color var(--bw-dur-2); }
.bw-seg--s .bw-seg__btn { height: 40px; padding: 0 16px; font-size: 13px; }
.bw-seg__btn[aria-pressed="true"] { background: var(--bw-gold-400); color: var(--bw-ink-950); }
[data-theme="paper"] .bw-seg__btn[aria-pressed="true"] { background: var(--bw-text); color: var(--bw-bg); }
.bw-seg__btn:focus-visible { outline: none; box-shadow: var(--bw-focus-ring); }

.bw-pick { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.bw-pick__btn { height: 40px; padding: 0 14px; border-radius: var(--bw-radius-pill); border: 1px solid var(--bw-line-strong); background: transparent; color: var(--bw-text-2); font: 500 13px var(--font-ui); cursor: pointer; }
.bw-pick__btn[aria-pressed="true"] { border-color: var(--bw-gold-400); background: var(--bw-selected); color: var(--bw-gold-200); }
[data-theme="paper"] .bw-pick__btn[aria-pressed="true"] { border-color: var(--bw-text); color: var(--bw-text); }
.bw-pick__btn--dashed { border-style: dashed; border-color: var(--bw-ink-500); }
[data-theme="jade"] .bw-pick__btn { border-color: color-mix(in srgb, var(--bw-jade-100) 40%, transparent); color: var(--bw-jade-100); }

.bw-toggle { width: 56px; height: 32px; flex-shrink: 0; border-radius: var(--bw-radius-pill); border: 1px solid var(--bw-line-strong); background: var(--bw-ink-950); position: relative; cursor: pointer; padding: 0; transition: background var(--bw-dur-2) var(--bw-ease-out), border-color var(--bw-dur-2); }
.bw-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: var(--bw-sand-500); transition: left var(--bw-dur-2) var(--bw-ease-out), background var(--bw-dur-2); }
.bw-toggle[aria-pressed="true"] { background: var(--bw-cta); border-color: var(--bw-gold-400); }
.bw-toggle[aria-pressed="true"]::after { left: 27px; background: var(--bw-paper-50); }
.bw-toggle:focus-visible { outline: none; box-shadow: var(--bw-focus-ring); }
[data-theme="paper"] .bw-toggle { background: var(--bw-paper-200); }

.bw-settings { border: 1px solid var(--bw-line); border-radius: var(--bw-radius-card); background: var(--bw-surface); overflow: hidden; }
.bw-setting { display: flex; justify-content: space-between; align-items: center; gap: var(--bw-space-4); padding: 18px 22px; }
.bw-setting + .bw-setting { border-top: 1px solid var(--bw-line); }
.bw-setting__text { display: flex; flex-direction: column; gap: 4px; }
.bw-setting__title { font-weight: 600; color: var(--bw-text); }
.bw-setting__hint { font-size: 13px; color: var(--bw-muted); }

.bw-check { width: 28px; height: 28px; flex-shrink: 0; border-radius: 6px; padding: 0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border: 1px solid var(--bw-ink-500); background: transparent; color: var(--bw-ink-950); }
.bw-check svg { width: 16px; height: 16px; opacity: 0; }
.bw-check[aria-checked="true"] { background: var(--bw-gold-400); border-color: var(--bw-gold-400); }
.bw-check[aria-checked="true"] svg { opacity: 1; }
.bw-check:focus-visible { outline: none; box-shadow: var(--bw-focus-ring); }
.bw-consent { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line); font-size: 14px; line-height: 1.55; color: var(--bw-text-2); }
.bw-consent a { color: var(--bw-link); }
.bw-native-check { width: 22px; height: 22px; margin: 0; accent-color: var(--bw-gold-400); flex-shrink: 0; }

.bw-notice { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; border-radius: var(--bw-radius-m); font-size: 14px; line-height: 1.55; }
.bw-notice svg { width: 22px; height: 22px; flex-shrink: 0; }
.bw-notice--success { background: var(--bw-success-soft); border: 1px solid color-mix(in srgb, var(--bw-success) 40%, transparent); color: var(--bw-on-success-soft); }
.bw-notice--success svg { color: var(--bw-success); }
.bw-notice--danger { background: var(--bw-danger-soft); border: 1px solid color-mix(in srgb, var(--bw-danger) 45%, transparent); color: var(--bw-text); }
.bw-notice--danger svg { color: var(--bw-danger-text); }
.bw-notice--info { background: var(--bw-surface); border: 1px solid var(--bw-line-gold); color: var(--bw-text-2); }
.bw-notice--info svg { color: var(--bw-gold-400); }

/* форма рождения */
.bw-birth { border-radius: var(--bw-radius-l); padding: var(--bw-space-7); background: var(--bw-glass-strong); border: 1px solid var(--bw-line-gold); display: flex; flex-direction: column; gap: 20px; box-sizing: border-box; }
.bw-birth--glass { -webkit-backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); }
.bw-birth--compact { border-radius: var(--bw-radius-card); padding: 20px; background: var(--bw-surface); border-color: var(--bw-line); gap: 14px; }
.bw-birth--compact .bw-input { background: var(--bw-bg); }
.bw-birth__top { display: flex; justify-content: space-between; font: 400 12px var(--font-mono); color: var(--bw-muted); }
.bw-progress { height: 2px; background: var(--bw-line); border-radius: 2px; overflow: hidden; }
.bw-progress > i { display: block; height: 100%; width: var(--p, 25%); background: var(--bw-gold-400); transition: width var(--bw-dur-3) var(--bw-ease-out); }
.bw-step { display: flex; flex-direction: column; gap: 14px; }
.bw-step[hidden] { display: none; }
.bw-step__q { font: 500 36px/1.05 var(--font-display); margin: 0; }
.bw-birth__nav { display: flex; gap: 12px; margin-top: auto; }
.bw-chat { border-radius: var(--bw-radius-l); padding: 22px; background: linear-gradient(180deg, var(--bw-jade-900) 0%, var(--bw-ink-900) 100%); border: 1px solid color-mix(in srgb, var(--bw-jade-400) 35%, transparent); display: flex; flex-direction: column; gap: 12px; color: var(--bw-paper-50); }
.bw-bubble { max-width: 85%; padding: 12px 16px; font-size: 15px; line-height: 1.5; }
.bw-bubble--bot { align-self: flex-start; border-radius: 18px 18px 18px 4px; background: var(--bw-ink-800); }
.bw-bubble--me { align-self: flex-end; border-radius: 18px 18px 4px 18px; background: var(--bw-jade-700); }

/* ---------- поверхности и материалы ---------- */
.bw-card { border-radius: var(--bw-radius-l); padding: var(--bw-space-7); background: var(--bw-surface); border: 1px solid var(--bw-line); color: var(--bw-text); display: flex; flex-direction: column; gap: 14px; box-sizing: border-box; }
.bw-card--m { border-radius: var(--bw-radius-card); padding: 20px; }
.bw-card--raised { background: var(--bw-surface-raised); }
.bw-card--gold { border-color: var(--bw-gold-400); }
.bw-card--featured { background: radial-gradient(120% 80% at 50% 0%, var(--bw-lacquer-500) 0%, var(--bw-ink-900) 70%); border-color: var(--bw-gold-400); box-shadow: var(--bw-shadow-featured); position: relative; color: var(--bw-paper-50); }
.bw-card--jade { background: color-mix(in srgb, var(--bw-jade-700) 25%, transparent); border-color: color-mix(in srgb, var(--bw-jade-400) 50%, transparent); }
.bw-card--day { background: radial-gradient(100% 80% at 50% 0%, color-mix(in srgb, var(--el, var(--bw-wood)) 28%, transparent) 0%, var(--bw-surface) 70%); border-color: var(--bw-gold-400); }
[data-theme="paper"].bw-card, [data-theme="paper"] .bw-card { border-color: transparent; }
.bw-glass { background: var(--bw-glass); -webkit-backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); border: 1px solid var(--bw-glass-border); border-radius: var(--bw-radius-l); box-shadow: var(--bw-shadow-glass); color: var(--bw-on-glass); }
.bw-glass--chip { border-radius: var(--bw-radius-m); padding: 14px 18px; display: flex; flex-direction: column; gap: 4px; }
.bw-mat { position: relative; height: 200px; border-radius: var(--bw-radius-card); overflow: hidden; }
.bw-mat--glass { background: radial-gradient(circle at 30% 30%, var(--bw-fire) 0, transparent 40%), radial-gradient(circle at 75% 70%, var(--bw-water) 0, transparent 45%), var(--bw-ink-900); }
.bw-mat--glass > i { position: absolute; inset: 28px; border-radius: var(--bw-radius-card); background: var(--bw-glass); -webkit-backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); border: 1px solid var(--bw-glass-border); box-shadow: var(--bw-shadow-glass); }
.bw-mat--lacquer { background: linear-gradient(160deg, var(--bw-lacquer-700) 0%, #120A09 60%, var(--bw-ink-950) 100%); }
.bw-mat--lacquer > i { position: absolute; inset: 14px; border: 1px solid color-mix(in srgb, var(--bw-gold-400) 50%, transparent); border-radius: var(--bw-radius-m); }
.bw-mat--jade { background: radial-gradient(70% 70% at 40% 35%, var(--bw-jade-200) 0%, var(--bw-jade-400) 30%, var(--bw-jade-700) 70%, var(--bw-jade-900) 100%); }
.bw-mat--jade > i { position: absolute; left: 30%; top: 18%; width: 30%; height: 20%; border-radius: 50%; background: rgba(255,255,255,.35); filter: blur(10px); }
.bw-mat--ink { background: var(--bw-paper-50); }
.bw-mat--ink > i { position: absolute; left: 20%; top: 15%; width: 60%; height: 70%; border-radius: 42% 58% 51% 49%; background: radial-gradient(circle at 50% 50%, rgba(11,10,12,.95) 0%, rgba(11,10,12,.6) 35%, rgba(11,10,12,0) 72%); filter: blur(4px); }
.bw-mat--paper { background: var(--bw-paper-200); }
.bw-mat--paper > i { position: absolute; left: 24px; right: 24px; top: 50%; height: 1px; background: var(--bw-bronze-600); }
.bw-lacquer-bg { background: radial-gradient(70% 90% at 78% 40%, color-mix(in srgb, var(--bw-seal) 22%, transparent) 0%, transparent 60%), var(--bw-ink-950); }
.bw-jade-bg { background: radial-gradient(60% 70% at 50% 35%, var(--bw-jade-700) 0%, var(--bw-jade-850) 55%, var(--bw-jade-950) 100%); }
.bw-observatory-bg { background-color: var(--bw-observatory-950); background-image: repeating-linear-gradient(0deg, color-mix(in srgb, var(--bw-water-yin) 12%, transparent) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--bw-water-yin) 12%, transparent) 0 1px, transparent 1px 30px); color: var(--bw-observatory-200); }

/* ---------- навигация ---------- */
.bw-header { min-height: 68px; padding: 10px 12px 10px 22px; border-radius: 34px; background: color-mix(in srgb, var(--bw-ink-900) 55%, transparent); -webkit-backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); backdrop-filter: blur(var(--bw-blur-glass)) saturate(140%); border: 1px solid var(--bw-glass-border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; box-sizing: border-box; color: var(--bw-paper-50); transition: min-height var(--bw-dur-2) var(--bw-ease-out), padding var(--bw-dur-2); }
.bw-header.is-compact { min-height: 56px; padding-top: 4px; padding-bottom: 4px; }
.bw-header__nav { display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: 15px; }
.bw-header__nav a { color: var(--bw-sand-200); text-decoration: none; }
.bw-header__nav a[aria-current="page"], .bw-header__nav a:hover { color: var(--bw-paper-50); }
.bw-header__end { display: flex; gap: 8px; align-items: center; }
[data-theme="paper"] .bw-header { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border: 0; border-bottom: 1px solid var(--bw-text); border-radius: 0; color: var(--bw-text); padding-left: 0; padding-right: 0; }
[data-theme="paper"] .bw-header__nav a { color: var(--bw-text); }
.bw-tabbar { height: 72px; border-radius: var(--bw-radius-l); background: var(--bw-glass-strong); border: 1px solid var(--bw-line); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: center; text-align: center; font-size: 11px; }
.bw-tabbar a { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--bw-muted); text-decoration: none; }
.bw-tabbar a[aria-current="page"] { color: var(--bw-gold-200); }
.bw-tabbar svg { width: 22px; height: 22px; }
.bw-tabbar--flat { height: 64px; border-radius: 0; border: 0; border-top: 1px solid var(--bw-line); background: color-mix(in srgb, var(--bw-ink-950) 90%, transparent); }
.bw-sidenav { display: flex; flex-direction: column; gap: 6px; }
.bw-sidenav button { border: 0; background: transparent; font: inherit; text-align: left; }
.bw-sidenav a, .bw-sidenav button, .bw-sidenav span[aria-current="page"] { height: 48px; padding: 0 14px; border-radius: var(--bw-radius-m); color: var(--bw-text-2); display: flex; align-items: center; gap: 12px; text-decoration: none; font-size: 15px; }
.bw-sidenav [aria-current="page"] { background: color-mix(in srgb, var(--bw-gold-400) 14%, transparent); color: var(--bw-text); font-weight: 600; }
.bw-sidenav [aria-current="page"] svg { color: var(--bw-gold-200); }
.bw-sidenav svg { width: 20px; height: 20px; }
.bw-ringmenu { position: relative; width: var(--s, 150px); height: var(--s, 150px); }
.bw-ringmenu svg { width: 100%; height: 100%; overflow: visible; }
.bw-ringmenu .bw-ringmenu__sector { fill: color-mix(in srgb, var(--bw-ink-900) 60%, transparent); stroke: color-mix(in srgb, var(--bw-gold-400) 60%, transparent); cursor: pointer; transition: fill var(--bw-dur-1); }
.bw-ringmenu .bw-ringmenu__sector[aria-current="true"], .bw-ringmenu .bw-ringmenu__sector:hover { fill: color-mix(in srgb, var(--bw-seal) 55%, transparent); }
.bw-ringmenu text { fill: var(--bw-gold-200); font: 400 8.5px var(--font-ui); pointer-events: none; }

/* ---------- лоадер ---------- */
.bw-loader { display: flex; gap: 24px; align-items: center; }
.bw-loader__ring { position: relative; width: 120px; height: 120px; flex-shrink: 0; }
.bw-loader__ring::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--bw-gold-400) 50%, transparent); animation: bw-spin 12s linear infinite; }
.bw-loader__ring::after { content: ""; position: absolute; inset: 14px; border-radius: 50%; border: 2px solid transparent; border-top-color: var(--bw-gold-400); animation: bw-spin 1.6s var(--bw-ease-io) infinite; }
.bw-loader__glyph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font: 400 30px var(--font-cjk); color: var(--bw-gold-200); }
.bw-loader__steps { display: flex; flex-direction: column; gap: 10px; font-size: 14px; list-style: none; margin: 0; padding: 0; }
.bw-loader__steps .is-done { color: var(--bw-success); }
.bw-loader__steps .is-done::before { content: "✓ "; }
.bw-loader__steps .is-active { color: var(--bw-text); animation: bw-pulse 1.4s ease-in-out infinite; }
.bw-loader__steps .is-todo { color: var(--bw-disabled); }

/* ---------- аккордеон FAQ «свиток» ---------- */
.bw-accordion { display: flex; flex-direction: column; border-top: 1px solid var(--bw-line-gold); }
.bw-accordion__item { border-bottom: 1px solid var(--bw-line-gold); }
.bw-accordion__q { width: 100%; min-height: 64px; padding: 16px 0; background: transparent; border: 0; color: var(--bw-text); font: 600 17px/1.4 var(--font-ui); display: flex; justify-content: space-between; align-items: center; gap: 16px; text-align: left; cursor: pointer; }
.bw-accordion__q::after { content: "+"; font: 400 20px var(--font-mono); color: var(--bw-gold-400); }
.bw-accordion__q[aria-expanded="true"]::after { content: "−"; }
.bw-accordion__q:focus-visible { outline: none; box-shadow: var(--bw-focus-ring); border-radius: 4px; }
.bw-accordion__a { margin: 0 0 20px; max-width: 760px; font-size: 16px; line-height: 1.65; color: var(--bw-muted); }
.bw-accordion__a[hidden] { display: none; }

/* ---------- отзыв, метод, закрытый раздел, заголовок раздела ---------- */
.bw-review { position: relative; border-radius: var(--bw-radius-l); padding: var(--bw-space-7); display: flex; flex-direction: column; gap: 16px; margin: 0; }
.bw-review .bw-seal { position: absolute; right: 22px; top: 22px; }
.bw-review blockquote { margin: 0; max-width: 80%; font: 400 24px/1.3 var(--font-display); }
.bw-review figcaption { font-size: 14px; color: var(--bw-muted); }
.bw-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px; }
.bw-head__main { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.bw-head__aside { font-size: 15px; line-height: 1.6; color: var(--bw-muted); max-width: 380px; }
.bw-method { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1px; background: var(--bw-line-gold); border: 1px solid var(--bw-line-gold); border-radius: var(--bw-radius-m); overflow: hidden; }
.bw-method > div { background: var(--bw-surface-sunken); padding: 22px 24px; display: flex; gap: 14px; align-items: flex-start; font-size: 14px; line-height: 1.55; color: var(--bw-text-2); }
.bw-method b { color: var(--bw-text); }
.bw-method .bw-glyph { font-size: 26px; color: var(--bw-gold-400); }
.bw-locked { position: relative; overflow: hidden; min-height: 220px; }
.bw-locked__text { filter: blur(var(--bw-blur-locked)); user-select: none; color: var(--bw-muted); font-size: 15px; line-height: 1.6; }
.bw-locked__icon { position: absolute; right: 22px; top: 22px; color: var(--bw-gold-400); width: 22px; height: 22px; }
.bw-offer { border-radius: var(--bw-radius-l); padding: var(--bw-space-7); background: var(--bw-glass-strong); border: 1px solid var(--bw-gold-400); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }

/* ---------- Ба Цзы: столпы ---------- */
.bw-pillars { display: grid; grid-template-columns: 130px repeat(4, minmax(0, 1fr)); text-align: center; }
.bw-pillars > * { padding: 10px 0; border-top: 1px solid var(--bw-line); font-size: 13px; }
.bw-pillars > .bw-pillars__h { border-top: 0; padding: 0 0 10px; font: 400 12px var(--font-mono); color: var(--bw-muted); }
.bw-pillars > .bw-pillars__h.is-day { color: var(--bw-gold-200); }
.bw-pillars > .bw-pillars__rh { text-align: left; color: var(--bw-muted); align-self: stretch; display: flex; align-items: center; }
.bw-pillars > .is-day { background: color-mix(in srgb, var(--bw-gold-400) 8%, transparent); }
.bw-pillars > .is-day:not(.bw-pillars__h) { color: var(--bw-gold-200); }
.bw-pillars .bw-glyph--pillar { padding: 8px 0; }
.bw-pillars__sub { display: block; font-family: var(--font-cjk); color: var(--bw-muted); }
.bw-pillars__hidden { font: 400 18px var(--font-cjk); letter-spacing: .1em; }
.bw-example-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; width: 100%; max-width: 360px; text-align: center; }
.bw-example-pillars > span { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.bw-example-pillars [lang="zh-Hans"] { font: 400 clamp(32px, 3.6vw, 52px)/1.2 var(--font-cjk); }
.bw-example-pillars small { font: 400 12px/1.5 var(--font-ui); letter-spacing: normal; }
.bw-example-pillars .is-day [lang="zh-Hans"] { text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 979px) {
  .bw-compatibility-example > .bw-stack { align-items: center !important; text-align: center !important; }
  .bw-compatibility-example > svg { max-width: 220px; justify-self: center; }
}
[data-theme="paper"] .bw-pillars > .is-day { background: var(--bw-paper-100); }
.bw-pillar-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 14px; }
.bw-pillar-card { border-radius: var(--bw-radius-l); padding: 26px; background: var(--bw-surface); border: 1px solid var(--bw-line); display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; }
.bw-pillar-card .bw-glyph { font-size: clamp(64px, 6.6vw, 96px); }
.bw-pillar-card.is-day { background: radial-gradient(100% 80% at 50% 0%, color-mix(in srgb, var(--el, var(--bw-wood)) 28%, transparent) 0%, var(--bw-surface) 70%); border-color: var(--bw-gold-400); }
.bw-pillar-card.is-day .bw-tag, .bw-pillar-card.is-day .bw-pillar-card__god { color: var(--bw-gold-200); }
.bw-pillar-card__god { font-size: 13px; color: var(--bw-muted); }
.bw-pillar-card--story { align-items: flex-start; text-align: left; }
.bw-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: end; perspective: 900px; padding-top: 30px; }
.bw-column { height: var(--h, 300px); border-radius: 18px 18px 6px 6px; transform: rotateX(8deg); transform-origin: bottom; box-shadow: var(--bw-shadow-pillar); display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 18px 0; font: 900 44px/1 var(--font-cjk); color: var(--bw-on-element); box-sizing: border-box; }
.bw-column--wood  { background: linear-gradient(180deg, var(--bw-wood-hi) 0%, var(--bw-wood) 50%, var(--bw-wood-lo) 100%); }
.bw-column--fire  { background: linear-gradient(180deg, var(--bw-fire-yin) 0%, var(--bw-fire) 50%, var(--bw-fire-deep) 100%); }
.bw-column--earth { background: linear-gradient(180deg, var(--bw-earth-hi) 0%, var(--bw-earth) 55%, var(--bw-earth-deep) 100%); }
.bw-column--metal { background: linear-gradient(180deg, var(--bw-metal-yin) 0%, var(--bw-metal-mid) 55%, var(--bw-metal-ink) 100%); }
.bw-column--water { background: linear-gradient(180deg, var(--bw-water-yin) 0%, var(--bw-water) 50%, var(--bw-water-deep) 100%); color: var(--bw-on-water); }
.bw-column.is-day { box-shadow: 0 30px 60px color-mix(in srgb, var(--bw-wood) 35%, transparent), 0 0 0 1px var(--bw-gold-200), inset 0 1px 0 rgba(255,255,255,.6); font-size: 52px; }
.bw-columns--s { gap: 10px; padding-top: 0; perspective: none; }
.bw-columns--s .bw-column { transform: none; font-size: 22px; padding: 10px 0; border-radius: 14px 14px 4px 4px; box-shadow: none; }
.bw-columns--s .bw-column.is-day { box-shadow: 0 0 0 1px var(--bw-gold-200), 0 0 30px color-mix(in srgb, var(--bw-jade-400) 50%, transparent); font-size: 24px; }
.bw-columns__labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; text-align: center; font-size: 13px; color: var(--bw-muted); }
.bw-columns__labels .is-day { color: var(--bw-gold-200); }
.bw-ribbon { display: flex; flex-direction: column; gap: 10px; }
.bw-ribbon__row { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: var(--bw-radius-m); background: var(--bw-surface-raised); }
.bw-ribbon__row .bw-glyph { font-size: 30px; }
.bw-ribbon__row span:last-child { display: flex; flex-direction: column; font-size: 13px; }
.bw-ribbon__row small { color: var(--bw-muted); font-size: 13px; }
.bw-ribbon__row.is-day { background: var(--bw-selected); border: 1px solid color-mix(in srgb, var(--bw-gold-400) 50%, transparent); }
.bw-ribbon__row.is-day b { color: var(--bw-gold-200); }

/* ---------- Ба Цзы: стихии ---------- */
.bw-bars { display: flex; flex-direction: column; gap: 14px; }
.bw-bar__head { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 6px; }
.bw-bar__head span:last-child { font-family: var(--font-mono); color: var(--bw-text); }
.bw-bar__track { height: 10px; border-radius: var(--bw-radius-pill); background: var(--bw-line); }
.bw-bar__track > i { display: block; height: 100%; width: var(--v, 0%); border-radius: inherit; background: var(--el); transition: width var(--bw-dur-3) var(--bw-ease-out); }
.bw-bar__track.is-empty { background: transparent; border: 1px dashed var(--bw-water-empty); box-sizing: border-box; }
.bw-stack-bar { display: flex; gap: 4px; height: 10px; border-radius: var(--bw-radius-pill); overflow: hidden; }
.bw-stack-bar > i { flex: var(--v); background: var(--el); }
.bw-elchart { width: 100%; height: auto; display: block; overflow: visible; }
.bw-elchart .bw-elchart__gen { fill: none; stroke: var(--bw-gold-400); stroke-opacity: .6; }
.bw-elchart .bw-elchart__ctl { fill: none; stroke: var(--bw-seal); stroke-opacity: .55; stroke-dasharray: 4 4; }
.bw-elchart .bw-elchart__glyph { font-family: var(--font-cjk); font-weight: 900; fill: var(--bw-on-element); text-anchor: middle; dominant-baseline: central; }
.bw-elchart .bw-elchart__glyph.is-water { fill: var(--bw-on-water); }
.bw-elchart .bw-elchart__empty { fill: var(--bw-bg); stroke: var(--bw-water-yin); stroke-dasharray: 3 3; }
.bw-elchart .bw-elchart__empty-glyph { font-family: var(--font-cjk); fill: var(--bw-water-yin); text-anchor: middle; dominant-baseline: central; }
.bw-elchart .bw-elchart__track { fill: none; stroke: var(--bw-line); }
.bw-elchart .bw-elchart__node { cursor: pointer; transition: transform var(--bw-dur-2) var(--bw-ease-out); transform-box: fill-box; transform-origin: center; }
.bw-elchart .bw-elchart__node:hover { transform: scale(1.08); }

/* ---------- Ба Цзы: время ---------- */
.bw-luck { display: grid; grid-template-columns: repeat(var(--n, 8), minmax(0, 1fr)); border: 1px solid var(--bw-line-gold); border-radius: var(--bw-radius-card); overflow: hidden; }
.bw-luck__cell { display: flex; flex-direction: column; gap: 8px; padding: 18px 16px; min-height: 150px; box-sizing: border-box; background: var(--bw-surface); }
.bw-luck__cell + .bw-luck__cell { border-left: 1px solid color-mix(in srgb, var(--bw-gold-400) 20%, transparent); }
.bw-luck__cell.is-past { background: var(--bw-surface-sunken); }
.bw-luck__cell.is-now { background: var(--bw-selected); }
.bw-luck__years { font: 400 12px var(--font-mono); color: var(--bw-muted); }
.bw-luck__pillar { font: 400 40px/1.1 var(--font-cjk); }
.bw-luck__age { font-size: 13px; color: var(--bw-text-2); }
.bw-luck__now { align-self: flex-start; }
.bw-scroll { display: flex; gap: 14px; align-items: stretch; }
.bw-scroll::before { content: ""; width: 2px; background: var(--bw-bronze-600); flex-shrink: 0; }
.bw-scroll ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.bw-scroll li { display: flex; gap: 12px; align-items: baseline; font-size: 14px; color: var(--bw-muted); }
.bw-scroll li .bw-glyph { font-size: 26px; color: var(--bw-text); }
.bw-scroll li.is-now { color: var(--bw-text); font-weight: 600; }
.bw-scroll li.is-now .bw-glyph { color: var(--bw-seal); }
.bw-years { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; text-align: center; }
.bw-years > div { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-radius: 10px; background: var(--bw-surface-raised); }
.bw-years[style*="display:contents"] > div { padding: 10px 12px; }
.bw-years span:first-child { font: 400 11px var(--font-mono); color: var(--bw-muted); }
.bw-years span:last-child { font: 400 20px var(--font-cjk); }
.bw-years span.bw-years__sign { font: 400 14px/1.3 var(--font-mono); padding: 0 4px; white-space: normal; overflow-wrap: normal; }
.bw-years .is-harmony { background: color-mix(in srgb, var(--bw-gold-400) 22%, transparent); }
.bw-years .is-clash { background: color-mix(in srgb, var(--bw-seal) 45%, transparent); }
.bw-years .is-current { box-shadow: inset 0 0 0 1px var(--bw-gold-200); }
[data-theme="paper"] .bw-years > div { background: transparent; border: 1px solid var(--bw-paper-300); border-radius: 0; }
[data-theme="paper"] .bw-years .is-harmony { background: var(--bw-earth-tint); }
[data-theme="paper"] .bw-years .is-clash { background: var(--bw-fire-tint); }
[data-theme="paper"] .bw-years .is-current { border: 2px solid var(--bw-text); box-shadow: none; }
[data-theme="paper"] .bw-years span:first-child { color: var(--bw-muted); }

/* ---------- звёзды ---------- */
.bw-flip { height: 400px; padding: 0; border: 0; background: transparent; cursor: pointer; perspective: 1000px; text-align: left; font: inherit; color: inherit; width: 100%; display: block; }
.bw-flip__inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 900ms var(--bw-ease-out); }
.bw-flip[aria-pressed="true"] .bw-flip__inner { transform: rotateY(180deg); }
.bw-flip__face { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: var(--bw-radius-l); box-sizing: border-box; }
.bw-flip__front { background: radial-gradient(100% 70% at 50% 0%, var(--bw-bronze-400) 0%, #2A1E14 60%, var(--bw-ink-900) 100%); border: 1px solid color-mix(in srgb, var(--bw-gold-400) 50%, transparent); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; color: var(--bw-paper-50); text-align: center; padding: 24px; }
.bw-flip__back { transform: rotateY(180deg); padding: 28px; display: flex; flex-direction: column; gap: 14px; background: var(--bw-bg); }
.bw-flip:focus-visible { outline: none; } .bw-flip:focus-visible .bw-flip__inner { box-shadow: var(--bw-focus-ring); border-radius: var(--bw-radius-l); }
.bw-starseal { width: 120px; height: 120px; border: 3px solid var(--bw-seal); border-radius: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; font: 900 40px/44px var(--font-cjk); color: var(--bw-fire); }
.bw-starseal--locked { border-color: var(--bw-ink-600); border-radius: 50%; color: var(--bw-ink-500); font-size: 32px; line-height: 36px; filter: blur(1.5px); }
.bw-star-locked { height: 400px; align-items: center; justify-content: center; text-align: center; gap: 16px; }

/* ---------- календарь и альманах ---------- */
.bw-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.bw-cal__dow { font-size: 11px; color: var(--bw-muted); text-align: center; }
.bw-cal__day { height: 44px; border-radius: var(--bw-radius-chip); display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--bw-surface-raised); }
.bw-cal__day b { font-size: 12px; font-weight: 600; }
.bw-cal__day span { font: 400 12px var(--font-cjk); color: var(--bw-muted); }
.bw-cal__day.is-empty { background: transparent; }
.bw-cal__day.is-he { background: var(--bw-jade-700); }
.bw-cal__day.is-harmony { background: color-mix(in srgb, var(--bw-gold-400) 35%, transparent); }
.bw-cal__day.is-clash { background: color-mix(in srgb, var(--bw-seal) 55%, transparent); }
.bw-cal__day.is-he span, .bw-cal__day.is-clash span, .bw-cal__day.is-harmony span { color: var(--bw-text); }
.bw-cal__day.is-today { box-shadow: inset 0 0 0 1.5px var(--bw-gold-200); }
.bw-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--bw-muted); }
.bw-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.bw-week { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr)); gap: 8px; }
.bw-week > div { padding: 14px; border-radius: var(--bw-radius-m); background: var(--bw-surface); border: 1px solid var(--bw-line); display: flex; flex-direction: column; gap: 6px; }
.bw-week span:first-child { font-size: 12px; color: var(--bw-muted); }
.bw-week .bw-glyph { font-size: 22px; }
.bw-week span:last-child { font-size: 12px; color: var(--bw-text-2); }
.bw-week .is-today { background: var(--bw-selected); border-color: var(--bw-gold-200); }
.bw-week .is-today span:first-child { color: var(--bw-gold-200); }
.bw-week .is-harmony { background: color-mix(in srgb, var(--bw-gold-400) 20%, transparent); }
.bw-week .is-clash { background: color-mix(in srgb, var(--bw-seal) 35%, transparent); }
.bw-week .is-clash span { color: var(--bw-text); }
.bw-almanac { padding: 28px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.bw-almanac__pillar { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.bw-almanac__pillar .bw-glyph { font-size: 80px; }
.bw-almanac__text { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.bw-almanac__title { font: 400 30px/1.15 var(--font-display); }
.bw-yiji { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bw-yiji > div { padding: 14px; border-radius: var(--bw-radius-card); display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.4; }
.bw-yiji .bw-glyph { font-size: 18px; }
.bw-yiji__good { background: var(--bw-success-soft); } .bw-yiji__good .bw-glyph { color: var(--bw-success); }
.bw-yiji__bad { background: var(--bw-danger-soft); } .bw-yiji__bad .bw-glyph { color: var(--bw-danger-text); }

/* ---------- паспорт расчёта ---------- */
.bw-passport { display: flex; flex-direction: column; font-size: 14px; }
.bw-passport__group { font: 400 12px var(--font-mono); color: var(--bw-eyebrow); padding: 14px 0 6px; }
.bw-passport__row { display: grid; grid-template-columns: 1fr 1.3fr; gap: 12px; padding: 6px 0; border-top: 1px solid var(--bw-line); }
.bw-passport__row > span:first-child { color: var(--bw-muted); }
.bw-passport__row .mono { font-family: var(--font-mono); }

/* ---------- тарифы ---------- */
.bw-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; align-items: stretch; }
.bw-price { position: relative; }
.bw-price .bw-badge { position: absolute; top: -13px; left: 28px; }
.bw-price__list { font-size: 15px; line-height: 1.7; color: var(--bw-text-2); margin: 0; padding: 0; list-style: none; }
.bw-price .bw-btn { margin-top: auto; }
.bw-price--sub .bw-price-text { color: var(--bw-jade-100); }
.bw-price--sub .bw-tag { color: var(--bw-jade-100); }

/* ---------- модалка оплаты ---------- */
.bw-modal { border-radius: var(--bw-radius-l); padding: var(--bw-space-7); background: var(--bw-glass-strong); -webkit-backdrop-filter: blur(var(--bw-blur-modal)) saturate(150%); backdrop-filter: blur(var(--bw-blur-modal)) saturate(150%); border: 1px solid color-mix(in srgb, var(--bw-gold-400) 30%, transparent); box-shadow: var(--bw-shadow-modal); display: flex; flex-direction: column; gap: 18px; color: var(--bw-paper-50); }
.bw-modal__head { display: flex; justify-content: space-between; align-items: center; }
.bw-paymethods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.bw-paymethod { height: 52px; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line-strong); background: transparent; color: var(--bw-text-2); font: 600 14px var(--font-ui); cursor: pointer; }
.bw-paymethod[aria-pressed="true"] { border-color: var(--bw-gold-400); background: var(--bw-selected); color: var(--bw-text); }
.bw-steps-dots { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.bw-steps-dots i { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font: 700 13px var(--font-ui); color: var(--bw-ink-950); background: var(--bw-gold-400); font-style: normal; }
.bw-steps-dots i.is-done { background: var(--bw-success); }
.bw-steps-dots hr { width: 40px; height: 1px; border: 0; background: var(--bw-line-strong); margin: 0; }

/* ---------- устройство, страница PDF, обложки ---------- */
.bw-device { width: 390px; height: 844px; border-radius: var(--bw-radius-device); overflow: hidden; position: relative; background: var(--bw-bg); box-shadow: var(--bw-shadow-device); display: flex; flex-direction: column; flex-shrink: 0; }
.bw-device__body { padding: 28px 20px 0; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.bw-device__main { height: 56px; border: 0; background: var(--bw-cta); color: var(--bw-on-cta); font: 600 16px var(--font-ui); }
.bw-page { width: 794px; height: 1123px; position: relative; overflow: hidden; box-sizing: border-box; padding: 64px 72px; background: var(--bw-bg); color: var(--bw-text); font-family: var(--font-ui); display: flex; flex-direction: column; gap: 20px; }
.bw-page__run { display: flex; justify-content: space-between; font: 400 12px var(--font-mono); color: var(--bw-muted); padding-bottom: 12px; border-bottom: 1px solid var(--bw-text); }
.bw-page__foot { margin-top: auto; display: flex; justify-content: space-between; font-size: 12px; color: var(--bw-muted); padding-top: 12px; border-top: 1px solid var(--bw-line); }
.bw-page__foot span:last-child { font-family: var(--font-mono); }
.bw-page__frame { position: absolute; inset: 24px; border: 1px solid var(--bw-paper-400); pointer-events: none; }
.bw-page__frame::after { content: ""; position: absolute; inset: 5px; border: 1px solid #D9C9A8; }
.bw-cover { position: relative; overflow: hidden; background: radial-gradient(70% 90% at 75% 45%, var(--el-deep) 0%, var(--el-abyss) 75%); color: var(--bw-paper-50); font-family: var(--font-ui); }
.bw-cover__glyph { position: absolute; display: flex; align-items: center; justify-content: center; font: 900 400px/1 var(--font-cjk); color: var(--el-yin); }
.bw-cover__ring { position: absolute; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--bw-gold-200) 45%, transparent); }
.bw-cover__ring--dash { border-style: dashed; border-color: color-mix(in srgb, var(--bw-gold-200) 30%, transparent); }

/* ---------- моушн ---------- */
@keyframes bw-spin { to { transform: rotate(360deg); } }
@keyframes bw-spin-rev { to { transform: rotate(-360deg); } }
@keyframes bw-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
@keyframes bw-sheen { 0% { transform: translateX(-160%) skewX(-18deg); } 55%, 100% { transform: translateX(360%) skewX(-18deg); } }
@keyframes bw-float { 0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); } 50% { transform: translateY(-14px) rotate(var(--r, 0deg)); } }
@keyframes bw-ink-loop { 0% { opacity: 0; filter: blur(16px); transform: scale(1.08); } 35%, 80% { opacity: 1; filter: blur(0); transform: scale(1); } 100% { opacity: 0; filter: blur(6px); } }
@keyframes bw-kinetic-loop { 0% { transform: scale(4); opacity: 0; } 40%, 85% { transform: scale(1); opacity: 1; } 100% { transform: scale(1); opacity: 0; } }
@keyframes bw-rise-loop { 0% { transform: scaleY(0); } 30%, 85% { transform: scaleY(1); } 100% { transform: scaleY(0); } }
@keyframes bw-drop { 0% { transform: translate(0, 0); opacity: 1; } 100% { transform: translate(160px, -40px); opacity: 0; } }
@keyframes bw-stamp { 0% { transform: scale(1.6) rotate(-12deg); opacity: 0; } 60% { transform: scale(.94) rotate(-4deg); opacity: 1; } 100% { transform: scale(1) rotate(-4deg); opacity: 1; } }

.bw-ink { opacity: 0; filter: blur(var(--bw-blur-ink)); transform: scale(1.08); transition: opacity var(--bw-dur-4) var(--bw-ease-out), filter var(--bw-dur-4) var(--bw-ease-out), transform var(--bw-dur-4) var(--bw-ease-out); transition-delay: var(--delay, 0ms); }
.bw-ink.is-in { opacity: 1; filter: blur(0); transform: scale(1); }
.bw-ink-sub { opacity: 0; transform: translateY(8px); transition: opacity var(--bw-dur-3) var(--bw-ease-out), transform var(--bw-dur-3) var(--bw-ease-out); transition-delay: calc(var(--delay, 0ms) + var(--bw-dur-2)); }
.bw-ink.is-in + .bw-ink-sub, .bw-ink-sub.is-in { opacity: 1; transform: none; }
.bw-ink--loop { opacity: 1; filter: none; transform: none; animation: bw-ink-loop 4s var(--bw-ease-out) infinite; }
.bw-kinetic { transform: scale(4); opacity: 0; transition: transform var(--bw-dur-4) var(--bw-ease-out), opacity var(--bw-dur-3) var(--bw-ease-out); }
.bw-kinetic.is-in { transform: scale(1); opacity: 1; }
.bw-kinetic--loop { animation: bw-kinetic-loop 3.6s var(--bw-ease-out) infinite; }
.bw-rise > * { transform: scaleY(0); transform-origin: bottom; transition: transform var(--bw-dur-3) var(--bw-ease-out); transition-delay: calc(var(--i, 0) * var(--bw-stagger)); }
.bw-rise.is-in > * { transform: scaleY(1); }
.bw-rise--loop > * { transform-origin: bottom; animation: bw-rise-loop 3.2s var(--bw-ease-out) infinite; animation-delay: calc(var(--i, 0) * var(--bw-stagger)); transition: none; }
.bw-columns.bw-rise > .bw-column { transform: rotateX(8deg) scaleY(0); }
.bw-columns.bw-rise.is-in > .bw-column { transform: rotateX(8deg) scaleY(1); }
.bw-sheen { position: relative; overflow: hidden; }
.bw-sheen::after { content: ""; position: absolute; top: 0; left: 0; width: 40%; height: 100%; pointer-events: none; background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--bw-gold-200) 26%, transparent) 50%, transparent 100%); animation: bw-sheen 6s var(--bw-ease-io) infinite; }
.bw-sheen.is-tracking::after { animation: none; transform: translateX(calc(var(--mx, .5) * 250% - 100%)) skewX(-18deg); transition: transform var(--bw-dur-1) linear; }
.bw-float { animation: bw-float 7s ease-in-out infinite; }
.bw-stamp.is-in { animation: bw-stamp 700ms var(--bw-ease-out) both; }
.bw-brush-dot { position: fixed; z-index: 9999; left: 0; top: 0; border-radius: 50%; background: var(--bw-ink-950); pointer-events: none; transform: translate(-50%, -50%); transition: width var(--bw-dur-2) var(--bw-ease-out), height var(--bw-dur-2) var(--bw-ease-out), opacity var(--bw-dur-2); mix-blend-mode: multiply; }
.bw-story { display: grid; grid-template-columns: 2fr 3fr; gap: 48px; }
.bw-story__steps > * { min-height: min(55vh, 380px); display: flex; flex-direction: column; justify-content: center; opacity: .35; transition: opacity var(--bw-dur-3) var(--bw-ease-out); }
.bw-story__steps > .is-active { opacity: 1; }
.bw-story__stage { position: sticky; top: 120px; height: min(55vh, 420px); display: flex; align-items: center; justify-content: center; }
.bw-story [data-frame] { transition: opacity var(--bw-dur-3) var(--bw-ease-out), transform var(--bw-dur-3) var(--bw-ease-out), box-shadow var(--bw-dur-3); opacity: .35; }
.bw-story [data-frame].is-active { opacity: 1; transform: translateY(-8px); }

/* компас */
.bw-compass { position: relative; width: 100%; aspect-ratio: 1 / 1; color: var(--bw-gold-400); }
.bw-compass svg { width: 100%; height: 100%; display: block; overflow: visible; }
.bw-compass .bw-compass__line { fill: none; stroke: var(--bw-gold-400); stroke-opacity: .6; }
.bw-compass .bw-compass__tick { fill: none; stroke: var(--bw-gold-400); }
.bw-compass .bw-compass__term { fill: var(--bw-gold-200); font: 400 15px var(--font-cjk); letter-spacing: 1px; text-anchor: middle; dominant-baseline: central; }
.bw-compass .bw-compass__branch { font: 600 32px var(--font-cjk); text-anchor: middle; dominant-baseline: central; }
.bw-compass .bw-compass__stem { font: 400 23px var(--font-cjk); text-anchor: middle; dominant-baseline: central; }
.bw-compass .bw-compass__sun { fill: var(--bw-accent-live); }
.bw-compass .bw-compass__sun-ring { fill: none; stroke: var(--bw-accent-live); stroke-opacity: .5; }
.bw-compass .bw-compass__needle { stroke: var(--bw-fire); fill: var(--bw-fire); }
.bw-compass .bw-compass__seal { fill: var(--bw-seal); }
.bw-compass .bw-compass__seal-line { fill: none; stroke: var(--bw-on-seal); stroke-opacity: .55; }
.bw-compass .bw-compass__glyph { fill: var(--bw-on-seal); font: 900 68px var(--font-cjk); text-anchor: middle; dominant-baseline: central; }
.bw-compass .bw-compass__ring { transform-origin: 0 0; }
.bw-compass .bw-compass__ring--terms { animation: bw-spin 240s linear infinite; }
.bw-compass .bw-compass__ring--branches { animation: bw-spin-rev 360s linear infinite; }
.bw-compass .bw-compass__ring--stems { animation: bw-spin 180s linear infinite; }
.bw-compass__scrub { transform-origin: 0 0; transition: transform var(--bw-dur-3) var(--bw-ease-io); }
@media (prefers-reduced-motion: reduce) { .bw-compass__scrub { transition: none; } }
[data-theme="paper"] .bw-compass .bw-compass__term { fill: var(--bw-bronze-600); }

@media (prefers-reduced-motion: reduce) {
  .bw-ink, .bw-ink-sub, .bw-kinetic, .bw-rise > *, .bw-columns.bw-rise > .bw-column { opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important; }
  .bw-columns.bw-rise > .bw-column { transform: rotateX(8deg) !important; }
  .bw-ink--loop, .bw-kinetic--loop, .bw-rise--loop > *, .bw-float, .bw-sheen::after, .bw-compass .bw-compass__ring, .bw-loader__ring::before, .bw-loader__ring::after, .bw-loader__steps .is-active { animation: none !important; }
  .bw-flip__inner { transition: none; }
  .bw-brush-dot { display: none; }
}
@media (max-width: 640px) {
  .bw-section { padding-top: 72px; }
  .bw-pillars { grid-template-columns: 92px repeat(4, minmax(0, 1fr)); }
  .bw-pillars .bw-glyph--pillar { font-size: 40px; }
  .bw-luck { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .bw-years { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bw-story { grid-template-columns: 1fr; }
  .bw-story__stage { position: relative; top: 0; height: auto; }
  .bw-paymethods { grid-template-columns: 1fr; }
}

/* ======================= v2: коммерция, захват, навигация ======================= */
/* мега-меню */
.bw-mega { position: relative; }
.bw-mega__panel { --bw-text: var(--bw-paper-50); --bw-text-2: var(--bw-sand-200); --bw-muted: var(--bw-sand-400); --bw-eyebrow: var(--bw-gold-400); --bw-em: var(--bw-gold-200); --bw-link: var(--bw-gold-200); --bw-line: var(--bw-ink-700); --bw-selected: rgba(201,164,92,0.12); --bw-focus: var(--bw-gold-200); --bw-cta: var(--bw-cinnabar-500); --bw-cta-hover: var(--bw-cinnabar-400); --bw-on-cta: var(--bw-paper-50); margin-top: 10px; border-radius: var(--bw-radius-l); background: var(--bw-glass-strong); -webkit-backdrop-filter: blur(var(--bw-blur-modal)) saturate(150%); backdrop-filter: blur(var(--bw-blur-modal)) saturate(150%); border: 1px solid var(--bw-glass-border); box-shadow: var(--bw-shadow-modal); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1.25fr; gap: 0; overflow: hidden; color: var(--bw-on-glass); }
.bw-mega__col { padding: 28px; display: flex; flex-direction: column; gap: 6px; }
.bw-mega__col + .bw-mega__col { border-left: 1px solid var(--bw-line); }
.bw-mega__col .bw-tag { margin-bottom: 8px; }
.bw-mega__link { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 10px; margin: 0 -10px; border-radius: var(--bw-radius-m); text-decoration: none; color: var(--bw-paper-50); transition: background var(--bw-dur-1); }
.bw-mega__link:hover, .bw-mega__link:focus-visible { background: var(--bw-selected); outline: none; }
.bw-mega__link .bw-glyph { font-size: 24px; color: var(--bw-gold-400); line-height: 1.2; }
.bw-mega__link b { display: block; font-weight: 600; font-size: 15px; }
.bw-mega__link small { display: block; font-size: 13px; color: var(--bw-sand-400); line-height: 1.45; margin-top: 2px; }
.bw-mega__link .bw-mega__price { font: 400 12px var(--font-mono); color: var(--bw-gold-200); margin-left: 6px; }
.bw-mega__feature { padding: 28px; background: radial-gradient(120% 90% at 30% 0%, var(--bw-lacquer-500) 0%, var(--bw-ink-900) 70%); display: flex; flex-direction: column; gap: 14px; }
/* подвал */
.bw-footer { border-top: 1px solid var(--bw-line); padding: 72px 0 40px; display: flex; flex-direction: column; gap: 48px; }
.bw-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr)); gap: 32px; }
.bw-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.bw-footer__col b { font-weight: 600; margin-bottom: 4px; }
.bw-footer__col a { color: var(--bw-text-2); text-decoration: none; }
.bw-footer__col a:hover { color: var(--bw-text); }
.bw-footer__legal { padding-top: 24px; border-top: 1px solid var(--bw-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 13px; line-height: 1.6; color: var(--bw-muted); }
.bw-footer__legal a { color: var(--bw-muted); }
.bw-footer__terms { display: flex; gap: 6px; flex-wrap: wrap; font: 400 13px var(--font-cjk); color: var(--bw-muted); }
/* лестница продуктов */
.bw-ladder { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: end; gap: 10px; }
.bw-ladder__step { border-radius: var(--bw-radius-card) var(--bw-radius-card) 6px 6px; padding: 18px 16px; display: flex; flex-direction: column; gap: 8px; background: var(--bw-surface); border: 1px solid var(--bw-line); min-height: var(--h, 200px); box-sizing: border-box; }
.bw-ladder__step .bw-price-text { font-size: 28px; }
.bw-ladder__step.is-core { border-color: var(--bw-gold-400); background: radial-gradient(120% 80% at 50% 0%, var(--bw-lacquer-500) 0%, var(--bw-ink-900) 75%); }
.bw-ladder__step.is-jade { border-color: color-mix(in srgb, var(--bw-jade-400) 50%, transparent); background: color-mix(in srgb, var(--bw-jade-700) 25%, var(--bw-ink-900)); }
.bw-ladder__term { font: 400 13px var(--font-cjk); color: var(--bw-gold-400); }
.bw-ladder__rail { height: 2px; background: linear-gradient(90deg, var(--bw-line), var(--bw-gold-400)); margin-top: 10px; position: relative; }
.bw-receipt { font: 400 13px/1.8 var(--font-mono); border: 1px dashed var(--bw-line-gold); border-radius: var(--bw-radius-m); padding: 18px 20px; color: var(--bw-text-2); }
.bw-receipt div { display: flex; justify-content: space-between; gap: 16px; }
.bw-receipt .is-total { color: var(--bw-gold-200); border-top: 1px dashed var(--bw-line-gold); margin-top: 6px; padding-top: 6px; }
/* запись к мастеру */
.bw-slots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bw-slot { height: 48px; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line-strong); background: transparent; color: var(--bw-text); font: 500 15px var(--font-mono); cursor: pointer; }
.bw-slot[aria-pressed="true"] { border-color: var(--bw-gold-400); background: var(--bw-selected); color: var(--bw-gold-200); }
.bw-slot:disabled { color: var(--bw-disabled); text-decoration: line-through; cursor: not-allowed; border-style: dashed; }
.bw-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.bw-day { padding: 10px 0; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line); background: transparent; color: var(--bw-text); display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer; font: 600 15px var(--font-ui); }
.bw-day small { font: 400 11px var(--font-ui); color: var(--bw-muted); }
.bw-day span { font: 400 12px var(--font-cjk); color: var(--bw-muted); }
.bw-day[aria-pressed="true"] { border-color: var(--bw-gold-400); background: var(--bw-selected); }
.bw-day:disabled { opacity: .4; cursor: not-allowed; }
.bw-format { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 16px 18px; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line-strong); background: transparent; color: var(--bw-text); text-align: left; cursor: pointer; font: inherit; }
.bw-format b { font-weight: 600; font-size: 16px; }
.bw-format small { grid-column: 1; font-size: 13px; color: var(--bw-muted); line-height: 1.45; }
.bw-format .bw-format__price { font: 400 22px var(--font-display); color: var(--bw-gold-200); grid-row: 1 / span 2; grid-column: 2; align-self: center; }
.bw-format[aria-pressed="true"] { border-color: var(--bw-gold-400); background: var(--bw-selected); }
/* квиз */
.bw-quiz { border-radius: var(--bw-radius-l); padding: 32px; background: var(--bw-surface); border: 1px solid var(--bw-line); display: flex; flex-direction: column; gap: 20px; }
.bw-quiz__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bw-quiz__opt { display: flex; gap: 14px; align-items: center; padding: 16px 18px; border-radius: var(--bw-radius-m); border: 1px solid var(--bw-line-strong); background: transparent; color: var(--bw-text); font: 500 15px/1.4 var(--font-ui); text-align: left; cursor: pointer; transition: border-color var(--bw-dur-1), background var(--bw-dur-1); }
.bw-quiz__opt .bw-glyph { font-size: 26px; color: var(--bw-gold-400); width: 32px; text-align: center; }
.bw-quiz__opt:hover { border-color: var(--bw-gold-400); }
.bw-quiz__opt[aria-pressed="true"] { border-color: var(--bw-gold-400); background: var(--bw-selected); }
.bw-quiz__result { border-radius: var(--bw-radius-card); padding: 24px; border: 1px solid var(--bw-gold-400); background: radial-gradient(120% 80% at 50% 0%, var(--bw-lacquer-500) 0%, var(--bw-ink-900) 70%); display: flex; gap: 20px; align-items: center; color: var(--bw-paper-50); }
/* оверлей, попап, баннер, тост */
.bw-overlay { position: relative; background: var(--bw-scrim); display: flex; align-items: center; justify-content: center; padding: 48px 24px; border-radius: var(--bw-radius-card); }
.bw-popup { width: min(560px, 100%); border-radius: var(--bw-radius-l); overflow: hidden; background: var(--bw-ink-900); border: 1px solid var(--bw-line-gold); box-shadow: var(--bw-shadow-modal); color: var(--bw-paper-50); display: grid; grid-template-columns: 200px 1fr; }
.bw-popup__art { background: radial-gradient(90% 80% at 50% 20%, var(--bw-jade-700) 0%, var(--bw-jade-900) 75%); display: flex; align-items: center; justify-content: center; }
.bw-popup__body { padding: 28px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.bw-popup__close { position: absolute; right: 14px; top: 14px; }
.bw-consentbar { border-radius: var(--bw-radius-card); padding: 20px 22px; background: var(--bw-glass-strong); -webkit-backdrop-filter: blur(var(--bw-blur-glass)); backdrop-filter: blur(var(--bw-blur-glass)); border: 1px solid var(--bw-line-gold); display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; color: var(--bw-paper-50); font-size: 14px; line-height: 1.55; }
.bw-consentbar p { margin: 0; max-width: 620px; color: var(--bw-sand-200); }
.bw-toast { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: var(--bw-radius-card); background: var(--bw-ink-800); border: 1px solid var(--bw-line); box-shadow: var(--bw-shadow-page); color: var(--bw-paper-50); width: 380px; max-width: 100%; box-sizing: border-box; font-size: 14px; line-height: 1.5; }
.bw-toast .bw-seal { flex-shrink: 0; }
.bw-toast small { display: block; color: var(--bw-sand-400); font-size: 12px; margin-top: 4px; }
/* чат-виджет */
.bw-chat-widget { width: 380px; max-width: 100%; border-radius: var(--bw-radius-l); overflow: hidden; background: var(--bw-ink-900); border: 1px solid var(--bw-line-gold); box-shadow: var(--bw-shadow-modal); display: flex; flex-direction: column; color: var(--bw-paper-50); }
.bw-chat-widget__head { display: flex; gap: 12px; align-items: center; padding: 16px 18px; background: radial-gradient(120% 120% at 0% 0%, var(--bw-lacquer-500) 0%, var(--bw-ink-900) 70%); border-bottom: 1px solid var(--bw-line); }
.bw-chat-widget__head small { display: block; font-size: 12px; color: var(--bw-success); }
.bw-chat-widget__body { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.bw-chat-widget__input { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--bw-line); }
.bw-fab { width: 64px; height: 64px; border-radius: 50%; border: 1px solid var(--bw-gold-400); background: var(--bw-seal); color: var(--bw-on-seal); font: 900 26px var(--font-cjk); display: flex; align-items: center; justify-content: center; box-shadow: var(--bw-shadow-cta); cursor: pointer; }
/* спасибо */
.bw-thanks { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 56px 24px; }
.bw-steps-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; text-align: left; }
.bw-steps-list li { border: 1px solid var(--bw-line); border-radius: var(--bw-radius-card); padding: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--bw-text-2); }
.bw-steps-list .bw-glyph { font-size: 26px; color: var(--bw-gold-400); }
.bw-steps-list b { color: var(--bw-text); font-size: 15px; }
/* лид-магнит */
.bw-guide-book { width: 220px; aspect-ratio: 794 / 1123; border-radius: 4px; background: var(--bw-paper-50); color: var(--bw-ink-800); box-shadow: var(--bw-shadow-page); padding: 22px; box-sizing: border-box; display: flex; flex-direction: column; gap: 10px; transform: rotate(-4deg); position: relative; }
.bw-guide-book::after { content: ""; position: absolute; inset: 8px; border: 1px solid var(--bw-paper-400); pointer-events: none; }
@media (max-width: 640px) {
  .bw-mega__panel, .bw-footer__grid, .bw-ladder, .bw-steps-list, .bw-quiz__opts { grid-template-columns: 1fr; }
  .bw-popup { grid-template-columns: 1fr; } .bw-popup__art { height: 140px; }
}
.bw-quiz [hidden], .bw-stepper [hidden], .bw-accordion [hidden] { display: none !important; }
.bw-price__list { font-family: var(--font-ui); }
.bw-sheen.bw-price .bw-badge { position: static; align-self: flex-start; }
.bw-mega__price { white-space: nowrap; }
.bw-quiz__step { display: flex; flex-direction: column; gap: 18px; } .bw-quiz__step .bw-title { margin: 0; }
[data-theme="paper"] .bw-pillars > .is-day:not(.bw-pillars__h), [data-theme="paper"] .bw-pillars > .bw-pillars__h.is-day { color: var(--bw-text); }
.bw-page .bw-glyph--pillar { font-size: 46px; padding: 4px 0; }
.bw-page .bw-pillars > * { padding-top: 7px; padding-bottom: 7px; font-size: 12px; }
.bw-cover .bw-columns--s { gap: 30px; }
.bw-cover .bw-columns--s .bw-column { font-size: 70px; padding: 30px 0; border-radius: 34px 34px 10px 10px; }

/* ---------- борды стратегии: таблица, узел схемы, дерево, дорожка ---------- */
.bw-table { width: 100%; border-collapse: collapse; font: 400 14px/1.45 var(--font-ui); color: var(--bw-text-2); }
.bw-table th { text-align: left; font: 400 11px/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--bw-muted); padding: 0 14px 10px 0; border-bottom: 1px solid var(--bw-line-strong); vertical-align: bottom; }
.bw-table td { padding: 11px 14px 11px 0; border-bottom: 1px solid var(--bw-line); vertical-align: top; }
.bw-table td:first-child { color: var(--bw-text); }
.bw-table code, .bw-code { font: 400 12.5px/1.5 var(--font-mono); color: var(--bw-eyebrow); }
.bw-table--compact td { padding-top: 7px; padding-bottom: 7px; font-size: 13px; }
.bw-node { border: 1px solid var(--bw-line); border-radius: var(--bw-radius-m); padding: 16px 18px; background: var(--bw-surface); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bw-node--gold { border-color: var(--bw-gold-400); background: color-mix(in srgb, var(--bw-gold-400) 7%, var(--bw-surface)); }
.bw-node--seal { border-color: color-mix(in srgb, var(--bw-seal) 60%, transparent); background: color-mix(in srgb, var(--bw-seal) 10%, var(--bw-surface)); }
.bw-node--jade { border-color: color-mix(in srgb, var(--bw-jade-400) 50%, transparent); background: color-mix(in srgb, var(--bw-jade-700) 18%, var(--bw-surface)); }
.bw-node__k { font: 400 11px/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--bw-eyebrow); }
.bw-node__t { font: 500 22px/1.15 var(--font-display); color: var(--bw-text); }
.bw-node__d { font: 400 13px/1.5 var(--font-ui); color: var(--bw-text-2); }
.bw-node ul { margin: 4px 0 0; padding-left: 16px; font: 400 13px/1.55 var(--font-ui); color: var(--bw-text-2); }
.bw-tier { display: grid; gap: 14px; position: relative; }
.bw-tier__label { font: 400 11px/1.3 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bw-muted); }
.bw-bus { display: flex; align-items: center; gap: 14px; font: 400 12px/1.3 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--bw-eyebrow); }
.bw-bus::before, .bw-bus::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--bw-gold-400), transparent); }
.bw-tree { font: 400 12.5px/1.6 var(--font-mono); color: var(--bw-text-2); white-space: pre; margin: 0; }
.bw-tree b { color: var(--bw-text); font-weight: 500; }
.bw-tree i { color: var(--bw-muted); font-style: normal; }
.bw-lanes { display: grid; gap: 0; border: 1px solid var(--bw-line); border-radius: var(--bw-radius-l); overflow: hidden; }
.bw-lanes > * { padding: 14px 16px; border-right: 1px solid var(--bw-line); border-bottom: 1px solid var(--bw-line); font: 400 13px/1.5 var(--font-ui); color: var(--bw-text-2); min-width: 0; }
.bw-lanes__h { background: var(--bw-surface-raised); }
.bw-lanes__rh { font: 400 11px/1.4 var(--font-mono) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--bw-muted) !important; background: var(--bw-surface); }
.bw-ev { display: inline-block; font: 400 12px/1.6 var(--font-mono); color: var(--bw-eyebrow); background: color-mix(in srgb, var(--bw-gold-400) 9%, transparent); border: 1px solid color-mix(in srgb, var(--bw-gold-400) 25%, transparent); border-radius: 6px; padding: 1px 7px; margin: 2px 4px 2px 0; white-space: nowrap; }
.bw-ev--pay { color: var(--bw-cinnabar-400); background: color-mix(in srgb, var(--bw-seal) 10%, transparent); border-color: color-mix(in srgb, var(--bw-seal) 35%, transparent); }
.bw-ev--ok { color: var(--bw-jade-200); background: color-mix(in srgb, var(--bw-jade-400) 10%, transparent); border-color: color-mix(in srgb, var(--bw-jade-400) 30%, transparent); }
.bw-gantt { display: grid; grid-template-columns: 260px repeat(12, 1fr); gap: 6px 4px; align-items: center; }
.bw-gantt__wk { font: 400 11px/1 var(--font-mono); color: var(--bw-muted); text-align: center; }
.bw-gantt__bar { height: 30px; border-radius: 8px; background: color-mix(in srgb, var(--c, var(--bw-gold-400)) 22%, transparent); border: 1px solid color-mix(in srgb, var(--c, var(--bw-gold-400)) 55%, transparent); font: 500 12px/28px var(--font-ui); color: var(--bw-text); padding: 0 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bw-gantt__name { font: 400 13px/1.3 var(--font-ui); color: var(--bw-text-2); }
.bw-specimen { font-family: var(--f); color: var(--bw-text); line-height: 1.05; margin: 0; }
.bw-meter { height: 6px; border-radius: 3px; background: var(--bw-line); overflow: hidden; }
.bw-meter > i { display: block; height: 100%; width: var(--v); background: var(--c, var(--bw-gold-400)); }
@media (prefers-reduced-motion: reduce) { .bw-demo-anim * { animation: none !important; } }

/* ======================= адаптив: сетки, шапка, страховка ширины ======================= */
.bw-grid { display: grid; grid-template-columns: var(--cols); }
.bw-root { overflow-x: clip; }
.bw-burger { display: none; width: 44px; height: 44px; flex-shrink: 0; border-radius: var(--bw-radius-pill); border: 1px solid var(--bw-glass-border); background: transparent; color: inherit; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.bw-burger svg { width: 20px; height: 20px; }
.bw-burger:focus-visible { outline: none; box-shadow: var(--bw-focus-ring); }
.bw-mobile-cta { display: none; }
.bw-scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
@media (max-width: 1199px) {
  .bw-header__nav { gap: 8px 18px; font-size: 14px; }
  .bw-header__end .bw-chip--month { display: none; }
}
@media (max-width: 979px) {
  .bw-grid:not(.bw-grid--keep) { grid-template-columns: var(--cols-t, repeat(auto-fit, minmax(min(100%, 280px), 1fr))); }
  .bw-root :where(div, section, article, aside, figure, img, svg, table, form, nav, main, header, footer, iframe, canvas, ol, ul) { max-width: 100%; }
  .bw-root :where(section, div)[style*="min-height"] { min-height: 0 !important; }
  .bw-header { flex-wrap: nowrap; padding: 8px 8px 8px 16px; gap: 10px; }
  .bw-header .bw-logo { margin-right: auto; }
  .bw-header__nav { display: none; }
  .bw-burger { display: inline-flex; }
  .bw-header__end .bw-btn--quiet, .bw-header__end .bw-chip, .bw-header > .bw-tag { display: none; }
  .bw-header.is-open { flex-wrap: wrap; border-radius: var(--bw-radius-l); background: var(--bw-ink-900); }
  [data-theme="paper"] .bw-header.is-open { background: var(--bw-bg); }
  .bw-header.is-open .bw-header__nav { display: flex; flex-direction: column; order: 5; width: 100%; gap: 0; padding: 6px 4px 10px; }
  .bw-header.is-open .bw-header__nav a { padding: 14px 6px; border-top: 1px solid var(--bw-line); font-size: 18px; }
  .bw-mega__panel { grid-template-columns: 1fr 1fr; }
  .bw-mega__feature { grid-column: 1 / -1; }
  .bw-footer__grid { grid-template-columns: 1fr 1fr; }
  .bw-prices { grid-template-columns: 1fr 1fr; }
  .bw-table { display: block; overflow-x: auto; }
  .bw-device { transform-origin: top center; }
}
@media (max-width: 639px) {
  .bw-grid:not(.bw-grid--keep) { grid-template-columns: var(--cols-m, minmax(0, 1fr)); }
  .bw-container { padding-left: 16px; padding-right: 16px; }
  .bw-prices, .bw-mega__panel, .bw-footer__grid { grid-template-columns: 1fr; }
  .bw-prices > .bw-card--featured { order: -1; }
  .bw-header__end .bw-btn--primary { padding-left: 14px; padding-right: 14px; font-size: 14px; min-height: 40px; }
  .bw-logo__word { font-size: 22px; }
  .bw-h2 { font-size: clamp(30px, 8.4vw, 40px); }
  .bw-lead { font-size: 17px; }
  .bw-card { padding: 20px; }
  .bw-row[style*="nowrap"] { flex-wrap: wrap !important; }
  .bw-head { flex-direction: column; align-items: flex-start; }
  .bw-compass { width: min(86vw, 360px) !important; height: auto; }
  .bw-input, .bw-field input, .bw-field select { font-size: 16px; }
  .bw-mobile-cta { display: flex; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 70; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 10px 10px 18px; border-radius: var(--bw-radius-pill); background: color-mix(in srgb, var(--bw-ink-900) 80%, transparent); -webkit-backdrop-filter: blur(var(--bw-blur-glass)); backdrop-filter: blur(var(--bw-blur-glass)); border: 1px solid var(--bw-glass-border); color: var(--bw-paper-50); transform: translateY(140%); transition: transform var(--bw-dur-2) var(--bw-ease-out); padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .bw-mobile-cta.is-shown { transform: none; }
}
.bw-mega__panel--drop { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 80; display: none; margin-top: 0; background: var(--bw-ink-900); }
.bw-mega__panel--drop.is-open { display: grid; animation: bw-drop-in var(--bw-dur-2) var(--bw-ease-out); }
@keyframes bw-drop-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (max-width: 979px) { .bw-mega__panel--drop, .bw-mega__panel--drop.is-open { display: none; } }
@media (max-width: 639px) {
  .bw-story { gap: 0; }
  .bw-story__stage { order: -1; position: sticky; top: 8px; z-index: 3; height: auto; padding: 10px 0; background: color-mix(in srgb, var(--bw-bg) 88%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
  .bw-story__grid { gap: 8px !important; }
  .bw-story__stage .bw-pillar-card { padding: 10px 4px; gap: 4px; border-radius: var(--bw-radius-m); }
  .bw-story__stage .bw-glyph { font-size: 30px; }
  .bw-story__stage .bw-tag { font-size: 9px; letter-spacing: 0; }
  .bw-story [data-frame].is-active { transform: none; }
  .bw-story__steps > * { min-height: 42vh; }
}
@media (max-width: 420px) {
  .bw-header__end { display: none; }
}
@media (max-width: 639px) {
  .bw-pillar-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .bw-pillar-cards .bw-pillar-card { padding: 12px 2px; gap: 4px; border-radius: var(--bw-radius-m); }
  .bw-pillar-cards .bw-glyph { font-size: 34px; }
  .bw-pillar-cards .bw-pillar-card__god, .bw-pillar-cards .bw-tag { font-size: 9px; letter-spacing: 0; }
  .bw-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .bw-footer__col:first-child { grid-column: 1 / -1; }
}
@media (max-width: 639px) {
  .bw-footer__col a, .bw-footer__legal a { display: inline-block; padding: 8px 0; }
  .bw-root aside a { display: block; padding: 8px 0; }
  .bw-pillar-cards .bw-pillar-card__god, .bw-pillar-cards .bw-tag, .bw-story__stage .bw-tag { font-size: 10px; }
}

.bw-footer__terms b { color: var(--bw-em); font-weight: 600; }
/* планшет: без «сирот» в сетках из четырёх */
@media (min-width: 640px) and (max-width: 1199px) {
  .bw-method { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 979px) {
  .bw-pillar-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .bw-pillar-cards .bw-pillar-card { padding: 16px 6px; }
}
@media (max-width: 639px) {
  .bw-method { grid-template-columns: 1fr; }
}
.bw-root a:focus-visible, .bw-root summary:focus-visible { outline: 2px solid var(--bw-focus); outline-offset: 3px; border-radius: 4px; }

/* ---------- резерв места под виджеты до рендера (CLS ≈ 0) ---------- */
[data-bw="compass"]:empty, [data-bw="ringmenu"]:empty, [data-bw="elements"][data-variant="pentagram"]:empty, [data-bw="elements"]:not([data-variant]):empty { aspect-ratio: 1 / 1; }
[data-bw="pillars"][data-variant="cards"]:empty { min-height: 335px; }
[data-bw="pillars"][data-variant="columns"]:empty { min-height: 210px; }
[data-bw="pillars"][data-variant="table"]:empty { min-height: 420px; }
[data-bw="elements"][data-variant="bars"]:empty { min-height: 231px; }
[data-bw="calendar"]:empty { min-height: 254px; }
[data-bw="luck"]:empty { min-height: 157px; }
[data-bw="years"]:empty { min-height: 64px; }
@media (max-width: 639px) {
  [data-bw="pillars"][data-variant="cards"]:empty { min-height: 184px; }
  [data-bw="luck"]:empty { min-height: 474px; }
  [data-bw="years"]:empty { min-height: 134px; }
}

/* ---------- прогрессивное улучшение: без JS ничего не прячется ---------- */
html:not(.bw-motion) .bw-ink, html:not(.bw-motion) .bw-ink-sub, html:not(.bw-motion) .bw-kinetic, html:not(.bw-motion) .bw-rise > * { opacity: 1; filter: none; transform: none; }
html:not(.bw-motion) .bw-columns.bw-rise > .bw-column { transform: rotateX(8deg); }
@media (prefers-reduced-motion: reduce) { .bw-stamp.is-in { animation: none !important; } }

/* ======================= моушн и интерактив v3 ======================= */
/* переходы между страницами (Chrome, Edge, Safari 18+) */
@view-transition { navigation: auto; }
.bw-site-header, .bw-header[data-shrink] { view-transition-name: bw-header; }
::view-transition-old(root) { animation: bw-vt-out 320ms var(--bw-ease-io) both; }
::view-transition-new(root) { animation: bw-vt-in 520ms var(--bw-ease-out) both; }
@keyframes bw-vt-out { to { opacity: 0; filter: blur(6px); } }
@keyframes bw-vt-in { from { opacity: 0; transform: translateY(14px); filter: blur(8px); } }
/* проявление заголовков по словам */
html.bw-motion .bw-split .bw-w { display: inline-block; opacity: 0; filter: blur(10px); transform: translateY(.28em); transition: opacity var(--bw-dur-3) var(--bw-ease-out), filter var(--bw-dur-3) var(--bw-ease-out), transform var(--bw-dur-3) var(--bw-ease-out); transition-delay: calc(var(--i, 0) * 55ms); }
html.bw-motion .bw-split.is-in .bw-w { opacity: 1; filter: none; transform: none; }
/* наклон карточек */
.bw-tilt { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform var(--bw-dur-3) var(--bw-ease-out); will-change: transform; }
.bw-tilt.is-tilting { transition-duration: 80ms; }
.bw-tilt::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity var(--bw-dur-2); background: radial-gradient(420px circle at calc(var(--mx, .5) * 100%) calc(var(--my, .5) * 100%), color-mix(in srgb, var(--bw-gold-200) 14%, transparent), transparent 60%); }
.bw-tilt.is-tilting::before { opacity: 1; }
.bw-pillar-card, .bw-price { position: relative; }
/* магнитная кнопка */
.bw-btn--primary { transition: translate var(--bw-dur-2) var(--bw-ease-out), background var(--bw-dur-1), box-shadow var(--bw-dur-2); }
/* полоса прочтения */
.bw-readbar { position: fixed; left: 0; right: 0; top: env(safe-area-inset-top, 0px); height: 2px; z-index: 90; pointer-events: none; background: linear-gradient(90deg, var(--bw-seal), var(--bw-gold-400)); transform-origin: 0 50%; transform: scaleX(var(--k, 0)); }
/* подсказки компаса */
.bw-tip { position: absolute; z-index: 5; transform: translate(-50%, -100%); padding: 6px 10px; border-radius: var(--bw-radius-chip); background: var(--bw-ink-950); color: var(--bw-paper-50); border: 1px solid var(--bw-line-gold); font: 400 12px/1.3 var(--font-mono); white-space: nowrap; pointer-events: none; }
.bw-compass [data-tip] { cursor: help; transition: font-size var(--bw-dur-2) var(--bw-ease-out); outline: none; }
.bw-compass [data-tip].is-hot { font-size: 140%; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .bw-tilt { transform: none !important; }
  .bw-btn--primary { translate: none !important; }
}
/* ======================= острова в любой теме (аудит контраста 25.10, generators/contrast-audit.mjs) ======================= */
/* Переключатель темы стенда ставит data-theme всем элементам. Острова, чей фон задан палитрой, а не семантикой темы,
   держат свои токены текста: тёмный остров в «Бумаге» — токены «Лака» (палитра ink/paper/sand/gold),
   нефритовый — токены «Нефрита», светлый остров в тёмной теме — токены «Бумаги». Полупрозрачное стекло в «Бумаге»
   получает непрозрачную подложку ink-900: светлый фон под ним делал любой текст серым по серому. */
:is(.bw-lacquer-bg, .bw-observatory-bg, .bw-card--featured, .bw-bubble--bot, .bw-chat-widget, .bw-chat, .bw-chat .bw-pick, .bw-mobile-cta, .bw-cover, .bw-tabbar, .bw-glass, .bw-btn--glass, .bw-offer, .bw-birth, .bw-modal, .bw-mega__panel, .bw-popup, .bw-consentbar, .bw-toast, .bw-quiz__result, .bw-flip__front, .bw-ladder__step.is-core, .bw-ladder__step.is-jade, [style*="background:var(--bw-ink-950)"], [style*="background:var(--bw-ink-900)"], [style*="background:var(--bw-ink-800)"], [style*="background:var(--bw-obsidian)"], [style*="background:#0B0A0C"], [style*="background:#141216"], [style*="background:#1E1B21"], [style*="background:#24201A"], [style*="background:radial-gradient"][style*="var(--bw-lacquer-"], [style*=",var(--bw-ink-950)"]):is([data-theme="paper"], [data-theme="paper"] *) { --bw-bg: var(--bw-ink-950); --bw-surface: var(--bw-ink-900); --bw-surface-raised: var(--bw-ink-800); --bw-field: var(--bw-ink-900); --bw-line: var(--bw-ink-700); --bw-line-strong: var(--bw-ink-600); --bw-line-gold: rgba(201,164,92,0.3); --bw-text: var(--bw-paper-50); --bw-text-2: var(--bw-sand-200); --bw-muted: var(--bw-sand-400); --bw-disabled: var(--bw-sand-500); --bw-eyebrow: var(--bw-gold-400); --bw-em: var(--bw-gold-200); --bw-link: var(--bw-gold-200); --bw-focus: var(--bw-gold-200); --bw-cta: var(--bw-cinnabar-500); --bw-cta-hover: var(--bw-cinnabar-400); --bw-on-cta: var(--bw-paper-50); --bw-selected: rgba(201,164,92,0.12); --bw-success: var(--bw-jade-400); --bw-success-soft: rgba(111,165,140,0.12); --bw-on-success-soft: var(--bw-jade-100); --bw-danger: var(--bw-fire); --bw-danger-text: var(--bw-fire-yin); --bw-danger-soft: rgba(179,38,30,0.25); --bw-wood-ink: var(--bw-wood-yin); --bw-fire-ink: var(--bw-fire-yin); --bw-earth-ink: var(--bw-earth-yin); --bw-metal-ink: var(--bw-metal-yin); --bw-water-ink: var(--bw-water-yin); --bw-focus-ring: 0 0 0 2px #0B0A0C, 0 0 0 4px #E8D3A0; color: var(--bw-text); }
:is(.bw-jade-bg, .bw-bubble--me, .bw-cal__day.is-he, [style*="background:radial-gradient"][style*="var(--bw-jade-8"], [style*="background:radial-gradient"][style*="var(--bw-jade-9"], [style*="background:var(--bw-jade-700)"]):is([data-theme="paper"], [data-theme="paper"] *) { --bw-bg: var(--bw-jade-950); --bw-surface: var(--bw-jade-900); --bw-surface-raised: var(--bw-jade-850); --bw-field: rgba(11,10,12,0.35); --bw-line: rgba(111,165,140,0.35); --bw-line-strong: rgba(232,211,160,0.3); --bw-line-gold: rgba(232,211,160,0.3); --bw-text: var(--bw-paper-50); --bw-text-2: var(--bw-jade-100); --bw-muted: var(--bw-sand-400); --bw-disabled: var(--bw-sand-500); --bw-eyebrow: var(--bw-jade-100); --bw-em: var(--bw-gold-200); --bw-link: var(--bw-gold-200); --bw-focus: var(--bw-gold-200); --bw-cta: var(--bw-cinnabar-500); --bw-cta-hover: var(--bw-cinnabar-400); --bw-on-cta: var(--bw-paper-50); --bw-selected: rgba(201,164,92,0.12); --bw-success: var(--bw-jade-400); --bw-success-soft: rgba(44,90,72,0.3); --bw-on-success-soft: var(--bw-jade-100); --bw-danger: var(--bw-fire); --bw-danger-text: var(--bw-fire-yin); --bw-danger-soft: rgba(179,38,30,0.25); --bw-wood-ink: var(--bw-wood-yin); --bw-fire-ink: var(--bw-fire-yin); --bw-earth-ink: var(--bw-earth-yin); --bw-metal-ink: var(--bw-metal-yin); --bw-water-ink: var(--bw-water-yin); --bw-focus-ring: 0 0 0 2px #08120E, 0 0 0 4px #E8D3A0; color: var(--bw-text); }
.bw-observatory-bg { color: var(--bw-observatory-200); }
:is(.bw-glass, .bw-btn--glass, .bw-offer, .bw-birth, .bw-modal, .bw-mega__panel, .bw-consentbar, .bw-tabbar, .bw-mobile-cta):is([data-theme="paper"], [data-theme="paper"] *) { background: var(--bw-ink-900); }
/* правила «Бумаги» с палитрой не действуют внутри тёмного острова: [data-theme="paper"] — предок, а не ближайшая тема */
:is(.bw-lacquer-bg, .bw-observatory-bg, .bw-card--featured, .bw-bubble--bot, .bw-chat-widget, .bw-cover, .bw-ladder__step.is-core, .bw-flip__front, .bw-glass, .bw-offer, .bw-birth, .bw-modal, .bw-jade-bg, [style*="background:var(--bw-ink-950)"], [style*="background:var(--bw-ink-900)"], [style*="background:var(--bw-obsidian)"], [style*="background:#0B0A0C"], [style*="background:radial-gradient"][style*="var(--bw-lacquer-"], [style*="background:radial-gradient"][style*="var(--bw-jade-"], [style*=",var(--bw-ink-950)"]):is([data-theme="paper"], [data-theme="paper"] *) :is(.bw-logo__word em, .bw-price-text) { color: var(--bw-em); }
:is(.bw-lacquer-bg, .bw-observatory-bg, .bw-glass, .bw-jade-bg, [style*="background:var(--bw-ink-950)"], [style*="background:radial-gradient"][style*="var(--bw-jade-"], [style*=",var(--bw-ink-950)"]):is([data-theme="paper"], [data-theme="paper"] *) .bw-years > div { background: var(--bw-surface-raised); border: 0; border-radius: 10px; }
:is(.bw-lacquer-bg, .bw-observatory-bg, .bw-glass, .bw-jade-bg, [style*="background:var(--bw-ink-950)"], [style*="background:radial-gradient"][style*="var(--bw-jade-"], [style*=",var(--bw-ink-950)"]):is([data-theme="paper"], [data-theme="paper"] *) .bw-years .is-harmony { background: color-mix(in srgb, var(--bw-gold-400) 22%, transparent); }
:is(.bw-lacquer-bg, .bw-observatory-bg, .bw-glass, .bw-jade-bg, [style*="background:var(--bw-ink-950)"], [style*="background:radial-gradient"][style*="var(--bw-jade-"], [style*=",var(--bw-ink-950)"]):is([data-theme="paper"], [data-theme="paper"] *) .bw-years .is-clash { background: color-mix(in srgb, var(--bw-seal) 45%, transparent); }
/* «Бумага»: золото палитры на светлой поверхности не читается (1.8:1) — ближайший токен темы, --bw-eyebrow (бронза).
   В тёмном острове --bw-eyebrow остаётся золотом. */
[data-theme="paper"] :is(.bw-glyph--mark, .bw-btn--icon, .bw-tabbar a[aria-current="page"], .bw-loader__glyph, .bw-method .bw-glyph, .bw-locked__icon, .bw-columns__labels .is-day, .bw-ribbon__row.is-day b, .bw-week .is-today span:first-child, .bw-ladder__term, .bw-receipt .is-total, .bw-slot[aria-pressed="true"], .bw-format .bw-format__price, .bw-quiz__opt .bw-glyph, .bw-steps-list .bw-glyph, .bw-pick__btn[aria-pressed="true"], .bw-seal--gold) { color: var(--bw-eyebrow); }
[data-theme="paper"] :is(.bw-price--sub .bw-price-text, .bw-price--sub .bw-tag) { color: var(--bw-text); }
/* столбы: ветвь внизу стоит на тёмном конце градиента дерева, огня и земли — светлый знак, как у воды */
.bw-column:is(.bw-column--wood, .bw-column--fire, .bw-column--earth) > span:last-child { color: var(--bw-on-water); }
[data-theme="paper"] :is(.bw-pillar-card.is-day .bw-tag, .bw-pillar-card.is-day .bw-pillar-card__god, .bw-node--seal .bw-node__k) { color: var(--bw-text-2); }
[data-theme="paper"] .bw-chip--el { color: var(--el-on); }
/* текст цвета печати на тёмной поверхности 2.6:1 — ближайший красный токен темы, который читается: --bw-danger-text */
:is([data-theme="lacquer"], [data-theme="jade"]) .bw-scroll li.is-now .bw-glyph, .bw-ev--pay { color: var(--bw-danger-text); }
[data-theme="paper"] .bw-ev--ok { color: var(--bw-success); }
/* ещё не начатый шаг загрузки: --bw-disabled не читается на поверхности (2.8:1), шаг — не отключённый элемент */
.bw-loader__steps .is-todo { color: var(--bw-muted); }
/* PDF-страница — светлый лист в любой теме */
.bw-page { --bw-bg: var(--bw-paper-50); --bw-surface: var(--bw-paper-100); --bw-surface-raised: var(--bw-paper-200); --bw-line: var(--bw-paper-300); --bw-line-strong: var(--bw-paper-400); --bw-line-gold: var(--bw-paper-400); --bw-text: var(--bw-ink-800); --bw-text-2: var(--bw-umber-800); --bw-muted: var(--bw-umber-700); --bw-eyebrow: var(--bw-bronze-600); --bw-em: var(--bw-ink-800); --bw-link: var(--bw-cinnabar-500); --bw-seal: var(--bw-cinnabar-500); --bw-success: #2E6B47; --bw-danger-text: #8A2A1A; --bw-wood-ink: #2E6B47; --bw-fire-ink: #8A2A1A; --bw-earth-ink: #6B4E1E; --bw-metal-ink: #3B4045; --bw-water-ink: var(--bw-water); color: var(--bw-text); }
/* inline-цвета палитры в разметке (style="color:var(--bw-gold-400)" и т. п.) перекрыть можно только !important:
   золото на светлом листе «Бумаги» и печать на тёмной поверхности не читаются. Правильнее — семантический токен в разметке (вопрос владельцу). */
[data-theme="paper"] :is([style*="color:var(--bw-gold-400)"], [style*="color:var(--bw-gold-200)"]) { color: var(--bw-eyebrow) !important; }
:is([data-theme="lacquer"], [data-theme="jade"]) [style*="color:var(--bw-seal)"] { color: var(--bw-danger-text) !important; }
[data-theme="paper"] :is(.bw-ev, .bw-lanes__h .bw-eyebrow, .bw-node--jade .bw-node__k) { color: var(--bw-text-2); }
[data-theme="paper"] .bw-ev--ok { color: var(--bw-wood-deep); }
:is([data-theme="lacquer"], [data-theme="jade"]) .bw-years .is-harmony span:first-child, [data-theme="jade"] .bw-glass .bw-tag { color: var(--bw-text-2); }
.bw-page .bw-pillars > .is-day { background: var(--bw-paper-100); }
.bw-page :is(.bw-pillars > .is-day:not(.bw-pillars__h), .bw-pillars > .bw-pillars__h.is-day) { color: var(--bw-text); }
.bw-page .bw-years > div { background: transparent; border: 1px solid var(--bw-paper-300); border-radius: 0; }
.bw-page .bw-years .is-harmony { background: var(--bw-earth-tint); }
.bw-page .bw-years .is-clash { background: var(--bw-fire-tint); }
.bw-flip__front .bw-starseal { color: var(--bw-fire-yin); }
[data-theme="paper"] [style*="color:var(--bw-paper-50)"]:not(.bw-page *, [style*="background:var(--bw-wood-ink)"]) { color: var(--bw-text) !important; }
[data-theme="paper"] [style*="color:var(--bw-sand-200)"] { color: var(--bw-text-2) !important; }
/* знак на плашке --bw-wood-ink: в «Лаке» и «Нефрите» плашка светлая (wood-yin), белый знак на ней 1.8:1 */
:is([data-theme="lacquer"], [data-theme="jade"]) [style*="background:var(--bw-wood-ink)"]:not(.bw-page *) { color: var(--bw-on-element) !important; }
/* наведение на стекло в «Бумаге»: 10% бумаги поверх светлого листа — белый текст на белом */
:is(.bw-btn--glass):is([data-theme="paper"], [data-theme="paper"] *):hover, [data-theme="paper"] .bw-btn--glass[style*="background:color-mix"] { background: var(--bw-ink-800) !important; }
:is([data-theme="lacquer"], [data-theme="jade"]) [style*="color:var(--bw-bronze-600)"] { color: var(--bw-eyebrow) !important; }

/* Native dialog must not inherit the panel display while closed. */
dialog.bw-modal:not([open]) { display: none; }

/* Jade foundation, 2026-11-01. Semantic overrides apply only inside Jade;
   lacquer/paper keep their existing visual contracts. Component previews with
   local palettes still require individual acceptance (see evidence manifest). */
:is([data-theme="jade"], [data-theme="jade-dark"]) { color-scheme: light; }
[data-theme="jade-dark"] { color-scheme: dark; }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-card--featured, .bw-card--jade, .bw-card--day) {
  background: var(--bw-surface-raised); color: var(--bw-text); border-color: var(--bw-line-strong);
}
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-modal, .bw-btn--icon, .bw-glyph--mark, .bw-glyph-row) { color: var(--bw-text); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-modal { background: var(--bw-surface); border-color: var(--bw-line); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-btn--ghost, .bw-chip--success) { color: var(--bw-link); border-color: var(--bw-line-strong); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-btn--ghost, .bw-btn--glass, .bw-btn--quiet, .bw-btn--raised):hover:not(:disabled):not([aria-disabled="true"]) {
  color: var(--bw-text); background: var(--bw-surface-hover); border-color: var(--bw-line-strong);
}
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-btn, .bw-pick__btn, .bw-paymethod):active:not(:disabled):not([aria-disabled="true"]) { background: var(--bw-surface-pressed); color: var(--bw-text); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-btn--primary:active:not(:disabled) { background: var(--bw-cta-hover); color: var(--bw-on-cta); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(button, [role="button"], .bw-tabbar a, .bw-pick__btn, .bw-paymethod) { min-height: 44px; min-width: 44px; }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(input, select, textarea, .bw-input) { font-size: max(16px, 1rem); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-input, select, textarea):hover:not(:disabled):not(:read-only) { border-color: var(--bw-focus); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--bw-focus); outline-offset: 3px; box-shadow: var(--bw-focus-ring);
}
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-input:focus { border-color: var(--bw-focus); box-shadow: var(--bw-focus-ring); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-input[readonly] { background: var(--bw-readonly); border-style: dashed; color: var(--bw-text-2); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(button, input, select, textarea):disabled,
:is([data-theme="jade"], [data-theme="jade-dark"]) [aria-disabled="true"] { background: var(--bw-disabled-bg); color: var(--bw-disabled); border-color: var(--bw-line-strong); cursor: not-allowed; box-shadow: none; }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-input[aria-invalid="true"] { border: 2px solid var(--bw-danger); }
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-pick__btn[aria-pressed="true"], .bw-tabbar a[aria-current="page"]) { color: var(--bw-link); background: var(--bw-selected); border-color: var(--bw-focus); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-toggle { width: 64px; background: var(--bw-readonly); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-toggle::after { top: 9px; background: var(--bw-muted); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-toggle[aria-pressed="true"] { background: var(--bw-cta); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-toggle[aria-pressed="true"]::after { left: 33px; background: var(--bw-on-cta); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-check { border-color: var(--bw-line-strong); color: var(--bw-on-cta); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-check[aria-checked="true"] { background: var(--bw-cta); border-color: var(--bw-cta); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-chip--el-soft { background: var(--bw-surface); color: var(--el-ink); border-color: var(--el-ink); }
@media (prefers-reduced-motion: reduce) {
  :is([data-theme="jade"], [data-theme="jade-dark"]) *,
  :is([data-theme="jade"], [data-theme="jade-dark"]) *::before,
  :is([data-theme="jade"], [data-theme="jade-dark"]) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  :is([data-theme="jade"], [data-theme="jade-dark"]) {
    --bw-bg: #FFFFFF; --bw-bg-deep: #FFFFFF; --bw-surface: #FFFFFF; --bw-surface-raised: #FFFFFF;
    --bw-surface-sunken: #FFFFFF; --bw-glass: #FFFFFF; --bw-glass-strong: #FFFFFF;
    --bw-text: #111111; --bw-text-2: #222222; --bw-muted: #333333; --bw-eyebrow: #222222;
    --bw-link: #111111; --bw-em: #111111; --bw-line: #777777; --bw-line-strong: #555555;
    --bw-selected: #EEEEEE; --bw-wood-ink: #222222; --bw-fire-ink: #222222;
    --bw-earth-ink: #222222; --bw-metal-ink: #222222; --bw-water-ink: #222222; color-scheme: light;
  }
  :is([data-theme="jade"], [data-theme="jade-dark"]) * { box-shadow: none !important; text-shadow: none !important; backdrop-filter: none !important; }
}

/* Shared navigation uses the surrounding theme instead of a fixed lacquer palette. */
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-header, .bw-header.is-open, .bw-tabbar--flat) { background: var(--bw-glass-strong); color: var(--bw-text); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-header__nav a { color: var(--bw-text-2); min-height: 44px; display: inline-flex; align-items: center; }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-mega__panel {
  --bw-text: inherit; --bw-text-2: inherit; --bw-muted: inherit; --bw-eyebrow: inherit;
  --bw-em: inherit; --bw-link: inherit; --bw-line: inherit; --bw-selected: inherit;
  --bw-focus: inherit; --bw-cta: inherit; --bw-cta-hover: inherit; --bw-on-cta: inherit;
  background: var(--bw-surface-raised); color: var(--bw-text);
}
:is([data-theme="jade"], [data-theme="jade-dark"]) :is(.bw-mega__link, .bw-chip:not(.bw-chip--el):not(.bw-chip--el-soft):not(.bw-chip--good):not(.bw-chip--bad), .bw-pillars > .bw-pillars__h.is-day, .bw-pillars > .is-day, .bw-columns__labels .is-day) { color: var(--bw-text); }

:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-mega__link small { color: var(--bw-muted); }
:is([data-theme="jade"], [data-theme="jade-dark"]) .bw-btn--icon.bw-btn--primary { color: var(--bw-on-cta); }

/* Specialist workbench: the data is the hierarchy, controls stay quiet. */
.bw-workbench { display:grid; grid-template-columns:minmax(0, 1.55fr) minmax(300px, 1fr); gap:var(--bw-space-5); min-width:0; min-height:0; }
.bw-workbench > * { min-width:0; min-height:0; }
.bw-analysis { display:flex; flex-direction:column; min-height:0; height:100%; }
.bw-analysis__tabs { flex-wrap:wrap; flex-shrink:0; border-radius:0; background:none; border:0; border-bottom:1px solid var(--bw-line); gap:0; }
.bw-analysis__tabs .bw-seg__btn { min-height:44px; padding:8px 12px; font-size:13px; white-space:normal; }
.bw-analysis__tabs [aria-selected="true"] { color:var(--bw-text); background:var(--bw-selected); text-decoration:underline; text-underline-offset:6px; }
.bw-analysis__panels { min-height:0; overflow:auto; overscroll-behavior:contain; }
.bw-analysis__panel { padding:var(--bw-space-4); }
.bw-analysis__panel[hidden] { display:none; }
.bw-analysis__disclosure { display:none; }
.bw-analysis__panels > .bw-accordion__item { border:0; }
@media (max-width:767px) {
  .bw-workbench { display:block; }
  .bw-analysis__tabs { display:none; }
  .bw-analysis__disclosure { display:flex; min-height:52px; }
  .bw-analysis__panels { overflow:visible; }
  .bw-analysis__panels > .bw-accordion__item { border-bottom:1px solid var(--bw-line); }
  .bw-analysis__panel { padding:var(--bw-space-3) 0 var(--bw-space-6); }
}

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Cormorant-Regular.woff2) format("woff2");}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/CormorantItalic-Regular.woff2) format("woff2");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Manrope-Regular.woff2) format("woff2");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Manrope-SemiBold.woff2) format("woff2");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/JetBrainsMono-Regular.woff2) format("woff2");}
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/NotoSerifSC-Regular.woff2) format("woff2");}