
.bwc-page { background: var(--bw-bg); }
.bwc-page .bw-site-header .bw-btn--primary, .bwc-site-page .bw-site-header .bw-btn--primary, .bwc-site-page .bw-mobile-cta { display: none; }
.bwc-shell { margin-block: var(--bw-space-8) var(--bw-space-16); padding: var(--bw-space-8); background: transparent; color: var(--bw-text); }
.bwc-shell *, .bwc-shell *::before, .bwc-shell *::after { box-sizing: border-box; }
.bwc-shell [hidden] { display: none !important; }
.bwc-shell :where(button, input, select) { font: inherit; }
.bwc-page .bw-root { overflow: visible; }
.bwc-shell button { cursor: pointer; }
.bwc-shell button:disabled { cursor: not-allowed; opacity: .65; }
.bwc-shell :focus-visible { outline: 2px solid var(--bw-focus); outline-offset: 3px; }
.bwc-shell :focus:not(:focus-visible) { outline: none; }
.bwc-shell ::selection { background: var(--bw-selected); color: var(--bw-text); }
.bwc-shell input { caret-color: var(--bw-em); }
.bwc-shell a { text-underline-offset: .22em; }
.bwc-shell input::placeholder { color: var(--bw-muted); opacity: 1; }
.bwc-shell { scrollbar-color: var(--bw-muted) var(--bw-surface); }
.bwc-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: var(--bw-space-12); align-items: start; }
.bwc-intro-copy { padding-top: var(--bw-space-4); }
.bwc-intro h1 { font-size: clamp(2.75rem, 5.5vw, 5rem); line-height: 1; max-width: 9ch; margin: 0 0 var(--bw-space-6); text-wrap: balance; }
.bwc-intro .bw-lead { font-size: 1.05rem; color: var(--bw-text-2); max-width: 38ch; }
.bwc-intro-links { display: flex; flex-wrap: wrap; gap: var(--bw-space-3) var(--bw-space-5); margin-block: var(--bw-space-6); }
.bwc-intro-links a { color: var(--bw-em); min-height: 44px; display: inline-flex; align-items: center; }
.bwc-intro-note { border-top: 1px solid var(--bw-line); padding-block: var(--bw-space-5); max-width: 38ch; color: var(--bw-muted); }
.bwc-muted { color: var(--bw-muted); }
.bwc-form { display: grid; gap: var(--bw-space-4); min-width: 0; }
.bwc-form-top, .bwc-result-head, .bwc-explanation-top, .bwc-timeline-top { display: flex; align-items: center; justify-content: space-between; gap: var(--bw-space-4); flex-wrap: wrap; }
.bwc-form-top h2 { margin: 0; }
.bwc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bw-space-4); }
.bwc-form .bw-field { min-width: 0; gap: var(--bw-space-2); }
.bwc-form .bw-input { width: 100%; min-width: 0; min-height: 48px; color: var(--bw-text); border-color: var(--bw-line); }
.bwc-form .bw-label { color: var(--bw-text-2); }
.bwc-form small { font-size: .75rem; }
.bwc-gender { border: 0; padding: 0; margin: 0; min-width: 0; }
.bwc-gender legend { margin-bottom: var(--bw-space-2); }
.bwc-gender .bw-seg { display: flex; width: 100%; }
.bwc-gender .bw-seg__btn { flex: 1; min-height: 44px; padding: var(--bw-space-2); font-size: .875rem; }
.bwc-city { position: relative; grid-column: 1 / -1; }
.bwc-suggestions { position: absolute; top: 78px; inset-inline: 0; z-index: 5; max-height: 300px; overflow-y: auto; background: var(--bw-surface-raised); border: 1px solid var(--bw-line-strong); border-radius: var(--bw-radius-m); }
.bwc-suggestions p { padding: var(--bw-space-3); }
.bwc-city-option { flex-direction: column; align-items: start; text-align: left; background: none; border: 0; width: 100%; min-height: 48px; }
.bwc-city-option small { overflow-wrap: anywhere; text-align: left; }
.bwc-city-option:hover, .bwc-city-option[aria-selected="true"] { background: var(--bw-selected); }
.bwc-check { display: flex; gap: var(--bw-space-2); align-items: center; min-height: 44px; font-size: .875rem; cursor: pointer; }
.bwc-check input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--bw-cta); }
.bwc-settings { border-block: 1px solid var(--bw-line); padding-block: var(--bw-space-2); }
.bwc-shell summary { cursor: pointer; min-height: 44px; align-content: center; color: var(--bw-text-2); }
.bwc-settings .bw-field { margin-block: var(--bw-space-3); }
.bwc-form-error { color: var(--bw-danger-text); margin: 0; }
.bwc-form-error:empty { display: none; }
.bwc-examples { display: flex; flex-wrap: wrap; gap: 0 var(--bw-space-3); font-size: .75rem; align-items: center; }
.bwc-text-button { padding: var(--bw-space-2) 0; min-height: 44px; border: 0; background: none; color: var(--bw-em); text-decoration: underline; text-underline-offset: .22em; text-align: left; }
.bwc-load-status { margin-top: var(--bw-space-4); font-size: .875rem; color: var(--bw-muted); }
.bwc-result { scroll-margin-top: 110px; border-top: 1px solid var(--bw-line-strong); margin-top: var(--bw-space-12); padding-top: var(--bw-space-8); }
.bwc-result-head { margin-bottom: var(--bw-space-6); }
.bwc-result-head h2 { margin: 0; overflow-wrap: anywhere; }
.bwc-result-head p { color: var(--bw-text-2); margin-block: var(--bw-space-3) 0; }
@media (min-width: 1200px) and (min-height: 650px) {
  .bwc-active #bwc-app > #bwc-result { display: block; overflow: auto; }
  .bwc-active #bwc-app > #bwc-result > .bwc-result-desk { height: calc(100dvh - 32px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
}
.bwc-tools { display: flex; align-items: center; flex-wrap: wrap; gap: var(--bw-space-2); }
.bwc-tools .bw-btn { min-width: 44px; min-height: 44px; font-size: .875rem; }
.bwc-notice { padding: var(--bw-space-4); border: 1px solid var(--bw-line-strong); background: var(--bw-selected); color: var(--bw-text-2); }
.bwc-workbench { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: var(--bw-space-6); align-items: start; }
.bwc-content { min-width: 0; }
.bwc-content p, .bwc-explanation p { line-height: 1.65; }
.bwc-content > section:first-child > p { margin-top: 0; font-size: .875rem; }
.bwc-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bw-space-2); }
.bwc-pillar { display: grid; grid-template-rows: subgrid; grid-row: span 10; gap: var(--bw-space-2); min-width: 0; padding: var(--bw-space-3) var(--bw-space-2); align-items: stretch; }
.bwc-pillar h3 { display: grid; align-content: center; text-align: center; margin: 0; min-height: 64px; font-size: 1.1rem; color: var(--bw-text); border-bottom: 1px solid var(--bw-line); }
.bwc-pillar h3 small { display: block; margin-top: var(--bw-space-1); color: var(--bw-muted); font-weight: 400; font-size: .625rem; }
.bwc-pillar--day h3 { color: var(--bw-em); border-color: var(--bw-em); }
.bwc-cell { background: transparent; color: var(--bw-text); border: 1px solid transparent; border-radius: var(--bw-radius-s); padding: var(--bw-space-3) var(--bw-space-2); min-height: 44px; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--bw-space-2); font-size: .8125rem; text-align: center; line-height: 1.45; overflow-wrap: anywhere; }
.bwc-cell small { color: var(--bw-muted); font-size: .6875rem; }
.bwc-cell:hover, .bwc-cell[aria-pressed="true"], .bwc-related { border-color: var(--bw-em); background: var(--bw-surface-raised); }
.bwc-cell[aria-pressed="true"] { outline: 1px solid var(--bw-em); outline-offset: -3px; }
.bwc-glyph { display: inline-block; font-family: var(--font-cjk); font-size: 2.5rem; line-height: 1.2; font-weight: 400; }
.bwc-cell[data-element="wood"], .bwc-hidden-stem[data-element="wood"] { --bwc-ink: var(--bw-wood-ink); --bwc-element: var(--bw-wood); }
.bwc-cell[data-element="fire"], .bwc-hidden-stem[data-element="fire"] { --bwc-ink: var(--bw-fire-ink); --bwc-element: var(--bw-fire); }
.bwc-cell[data-element="earth"], .bwc-hidden-stem[data-element="earth"] { --bwc-ink: var(--bw-earth-ink); --bwc-element: var(--bw-earth); }
.bwc-cell[data-element="metal"], .bwc-hidden-stem[data-element="metal"] { --bwc-ink: var(--bw-metal-ink); --bwc-element: var(--bw-metal); }
.bwc-cell[data-element="water"], .bwc-hidden-stem[data-element="water"] { --bwc-ink: var(--bw-water-ink); --bwc-element: var(--bw-water); }
.bwc-cell > .bwc-glyph, .bwc-hidden-stem .bwc-glyph { color: var(--bwc-ink, var(--bw-text)); }
.bwc-cell[data-element] { border-top-color: var(--bwc-element, var(--bw-line)); }
.bwc-cell.bwc-related { border-color: var(--bw-em); }
.bwc-cell.bwc-empty { border-style: dashed; }
.bwc-hidden-stem { display: flex; flex-direction: column; gap: var(--bw-space-1); width: 100%; }
.bwc-hidden-stem + .bwc-hidden-stem { padding-top: var(--bw-space-2); border-top: 1px solid var(--bw-line); }
.bwc-hidden-stem .bwc-glyph { font-size: 1.15rem; }
.bwc-hidden-stem > span { font-size: .6875rem; color: var(--bw-text-2); }
.bwc-cell > span > .bwc-glyph { font-size: 1rem; }
.bwc-unknown { text-align: center; background: var(--bw-bg-deep); color: var(--bw-muted); grid-row: span 10; display: flex; flex-direction: column; gap: var(--bw-space-4); }
.bwc-unknown h3 { flex: 0 0 64px; }
.bwc-unknown p { font-size: .875rem; }
.bwc-section { margin-top: var(--bw-space-12); padding-top: var(--bw-space-6); border-top: 1px solid var(--bw-line); scroll-margin-top: 110px; }
.bwc-section-head { margin-bottom: var(--bw-space-5); }
.bwc-section-head h2 { margin: 0; font-size: 2.1rem; }
.bwc-section-head p { margin-bottom: 0; font-size: .875rem; }
.bwc-section h3 { font-size: .9375rem; line-height: 1.45; margin: var(--bw-space-6) 0 var(--bw-space-3); }
.bwc-elements-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--bw-space-5); align-items: start; }
.bwc-master-name { display: flex; gap: var(--bw-space-4); align-items: center; color: var(--bw-em); font-size: 1.1rem; }
.bwc-master-name .bwc-glyph { font-size: 3rem; }
.bwc-strength { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bw-space-3); margin-block: var(--bw-space-5); }
.bwc-definitions { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); font-size: .8125rem; gap: var(--bw-space-3) var(--bw-space-4); }
.bwc-definitions dt { color: var(--bw-muted); }
.bwc-definitions dd { margin: 0; overflow-wrap: anywhere; }
.bwc-wuxing { width: 100%; height: auto; overflow: visible; color: var(--bw-muted); }
.bwc-element { min-height: 84px; font-size: .875rem; background: var(--bw-bg); border-radius: var(--bw-radius-chip); border-color: var(--bwc-element); }
.bwc-element span { font-size: .6875rem; color: var(--bw-text-2); }
.bwc-cycle-line { stroke: var(--bw-muted); stroke-width: 1.5; }
.bwc-cycle-line--control { stroke-dasharray: 4 4; }
.bwc-diagram-key { text-align: center; font-size: .75rem; color: var(--bw-muted); }
.bwc-explanation { position: sticky; top: 112px; min-width: 0; }
.bwc-explanation-inner { padding: var(--bw-space-5); border: 1px solid var(--bw-line-strong); border-radius: var(--bw-radius-m); background: var(--bw-surface); }
.bwc-explanation-top { align-items: start; gap: var(--bw-space-2); }
.bwc-explanation-top h2 { font-size: 1.75rem; margin: 0; overflow-wrap: anywhere; }
.bwc-explanation-top button { font-size: .75rem; }
.bwc-explanation p { font-size: .875rem; }
.bwc-explanation-legend { border-top: 1px solid var(--bw-line); padding-top: var(--bw-space-4); margin-bottom: 0; }
.bwc-mobile-explanation-anchor { display: none; }
.bwc-links { display: grid; gap: var(--bw-space-2); }
.bwc-links .bwc-cell { align-items: start; text-align: left; padding: var(--bw-space-3) var(--bw-space-4); }
.bwc-links .bwc-glyph { font-size: 1rem; }
.bwc-links .bwc-cell small { color: var(--bw-text-2); font-size: .8125rem; }
.bwc-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--bw-space-5); }
.bwc-stars { display: grid; gap: var(--bw-space-2); }
.bwc-stars .bwc-cell { text-align: left; align-items: start; }
.bwc-timeline-top h3 { margin-block: 0; }
.bwc-strip { display: flex; gap: var(--bw-space-2); overflow-x: auto; padding: var(--bw-space-3) var(--bw-space-1); margin-inline: calc(-1 * var(--bw-space-1)); scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: thin; }
.bwc-period { display: flex; flex: 0 0 148px; flex-direction: column; gap: var(--bw-space-2); padding: var(--bw-space-3); background: var(--bw-surface); color: var(--bw-text); border: 1px solid var(--bw-line); border-radius: var(--bw-radius-s); text-align: left; scroll-snap-align: start; min-height: 44px; font-variant-numeric: tabular-nums; }
.bwc-period span:not(.bwc-glyph) { font-size: .6875rem; color: var(--bw-text-2); }
.bwc-period small { font-size: .6875rem; color: var(--bw-muted); line-height: 1.5; }
.bwc-period .bwc-glyph { font-size: 1.75rem; }
.bwc-period--current { background: var(--bw-surface-raised); }
.bwc-period[aria-pressed="true"] { border-color: var(--bw-em); outline: 1px solid var(--bw-em); outline-offset: -3px; }
.bwc-period:hover { background: var(--bw-surface-raised); }
.bwc-period-heading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bw-space-3); margin-block: var(--bw-space-6); }
.bwc-period-heading .bwc-glyph { font-size: 1.5rem; }
.bwc-period-heading > span:last-child { font-size: .8125rem; color: var(--bw-text-2); }
.bwc-selected-period { border-top: 1px solid var(--bw-line); margin-top: var(--bw-space-6); }
.bwc-compare-maps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bw-space-4); margin-top: var(--bw-space-8); }
.bwc-compare-maps > div { min-width: 0; }
.bwc-compare-maps > div > p { font-size: .75rem; }
.bwc-pillars--compact .bwc-cell { padding: var(--bw-space-2) var(--bw-space-1); font-size: .6875rem; }
.bwc-pillars--compact .bwc-cell small { font-size: .5625rem; }
.bwc-pillars--compact .bwc-glyph { font-size: 1.75rem; }
.bwc-pillars--compact .bwc-hidden-stem .bwc-glyph { font-size: .875rem; }
.bwc-pillars--compact .bwc-hidden-stem > span { font-size: .5625rem; }
.bwc-passport > summary { font-family: var(--font-display); font-size: 2rem; }
.bwc-sharing .bwc-check { display: block; line-height: 1.7; }
.bwc-sharing .bwc-check input { vertical-align: middle; margin-right: var(--bw-space-2); }
.bwc-share-fallback { display: block; margin-top: var(--bw-space-4); }
.bwc-share-fallback input { width: 100%; display: block; margin-top: var(--bw-space-2); }
.bwc-privacy { color: var(--bw-muted); font-size: .8125rem; line-height: 1.7; margin: var(--bw-space-12) 0 0; padding-top: var(--bw-space-5); border-top: 1px solid var(--bw-line); }
.bwc-privacy a { color: var(--bw-em); }
.bwc-filters { display: flex; flex-wrap: wrap; gap: var(--bw-space-3); align-items: end; margin-block: var(--bw-space-4); }
.bwc-filters > .bw-field { flex: 1 1 160px; min-width: 0; }
.bwc-filters .bw-input, .bwc-search .bw-input { width: 100%; min-width: 0; min-height: 48px; color: var(--bw-text); border-color: var(--bw-line); }
.bwc-filters select { text-overflow: ellipsis; }
.bwc-search { display: grid; gap: var(--bw-space-3); }
.bwc-search p { margin: 0; }
.bwc-annual-group { border-top: 1px solid var(--bw-line); padding-block: var(--bw-space-3); }
.bwc-annual-group > p { overflow-wrap: anywhere; }
.bwc-date-list { list-style: none; padding: 0; }
.bwc-date-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--bw-space-2); padding-block: var(--bw-space-3); border-bottom: 1px solid var(--bw-line); }
.bwc-date-list .bwc-glyph { font-size: 1rem; }
.bwc-site-title { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.1; max-width: 16ch; text-wrap: balance; }
.bwc-site-page .bwc-shell { margin-top: var(--bw-space-6); }
.bwc-site-page .bw-root { overflow: visible; }
.bwc-site-page .bwc-shell > .bwc-two-col { align-items: start; }
.bwc-site-page #bwc-surface-note { position: sticky; bottom: var(--bw-space-2); background: var(--bw-bg); padding: var(--bw-space-4); border: 1px solid var(--bw-line); max-height: 30vh; overflow: auto; }
.bwc-site-page .bwc-shell > label.bwc-check { margin-block: var(--bw-space-6) var(--bw-space-4); }
.bwc-site-page #bwc-almanac-form { max-width: 38rem; }
.bwc-site-page .bwc-shell h2 { margin-top: var(--bw-space-8); }
.bwc-site-page .bwc-shell .bwc-form h2 { margin-top: 0; }
@media (max-width: 1199px) {
  .bwc-workbench { grid-template-columns: minmax(0, 1fr) 220px; gap: var(--bw-space-4); }
  .bwc-elements-layout { grid-template-columns: 1fr; }
  .bwc-wuxing { max-width: 420px; display: block; margin-inline: auto; }
  .bwc-compare-maps { grid-template-columns: 1fr; }
}
@media (max-width: 979px) {
  .bwc-intro { grid-template-columns: 1fr; gap: var(--bw-space-6); }
  .bwc-intro h1 { max-width: 15ch; font-size: clamp(2.75rem, 8vw, 4rem); }
  .bwc-intro .bw-lead, .bwc-intro-note { max-width: 60ch; }
  .bwc-workbench { display: block; }
  .bwc-explanation { position: static; margin-top: var(--bw-space-5); scroll-margin-top: 90px; }
  .bwc-mobile-explanation-anchor { display: block; }
  .bwc-explanation-inner { padding: var(--bw-space-4); }
  .bwc-compare-maps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .bwc-shell { padding: var(--bw-space-4) var(--bw-space-3); margin-top: var(--bw-space-4); border-radius: var(--bw-radius-m); }
  .bwc-page > .bw-root > main > .bw-container { padding-inline: var(--bw-space-2); }
  .bwc-intro h1 { font-size: 3rem; }
  .bwc-intro-note { display: none; }
  .bwc-intro-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bw-space-2); font-size: .8125rem; margin-block: var(--bw-space-4); }
  .bwc-intro-links a { line-height: 1.4; }
  .bwc-form-top { gap: var(--bw-space-2); }
  .bwc-form-top .bw-chip { font-size: .625rem; }
  .bwc-form-grid { gap: var(--bw-space-3); }
  .bwc-form .bw-label { font-size: .75rem; }
  .bwc-form .bw-input { padding-inline: var(--bw-space-2); font-size: .875rem; }
  .bwc-gender .bw-seg__btn { font-size: .75rem; }
  .bwc-form-grid > .bw-field:first-child { grid-column: 1 / -1; }
  .bwc-gender { grid-column: 1 / -1; }
  .bwc-shell .bwc-settings select { font-size: .75rem; }
  .bwc-result { margin-top: var(--bw-space-8); }
  .bwc-result-head h2 { font-size: 2.25rem; }
  .bwc-pillars { gap: var(--bw-space-1); }
  .bwc-pillar { gap: var(--bw-space-1); }
  .bwc-pillar h3 { font-size: .875rem; }
  .bwc-pillar h3 small { font-size: .5rem; }
  .bwc-cell { padding: var(--bw-space-2) var(--bw-space-1); font-size: .6875rem; gap: var(--bw-space-2); }
  .bwc-cell small { font-size: .5625rem; }
  .bwc-cell .bwc-glyph { font-size: 2rem; }
  .bwc-cell > span > .bwc-glyph, .bwc-hidden-stem .bwc-glyph { font-size: 1rem; }
  .bwc-hidden-stem > span { font-size: .5625rem; }
  .bwc-unknown p, .bwc-unknown small { font-size: .625rem; }
  .bwc-section { margin-top: var(--bw-space-8); }
  .bwc-section-head h2 { font-size: 1.875rem; }
  .bwc-two-col, .bwc-elements-layout, .bwc-compare-maps { grid-template-columns: 1fr; }
  .bwc-links .bwc-cell, .bwc-stars .bwc-cell { font-size: .8125rem; }
  .bwc-links .bwc-cell small { font-size: .75rem; }
  .bwc-links .bwc-glyph { font-size: 1rem; }
  .bwc-period { flex-basis: 128px; }
  .bwc-shell .bw-btn { padding-inline: var(--bw-space-4); white-space: normal; }
  .bwc-definitions { grid-template-columns: 1fr; gap: var(--bw-space-1); }
  .bwc-definitions dd { margin-bottom: var(--bw-space-3); }
}
@media (prefers-reduced-motion: reduce) {
  .bwc-page *, .bwc-page *::before, .bwc-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@page { size: A4; margin: 12mm; }

.bwc-shell { min-width: 0; }
.bwc-shell :where(.bw-head, .bw-card, .bw-birth, .bw-almanac, .bw-passport__row) { min-width: 0; }
.bwc-shell .bw-passport__row dt { color: var(--bw-muted); }
.bwc-shell .bw-passport__row dd { margin: 0; overflow-wrap: anywhere; }
.bwc-shell .bwc-pillar .bw-glyph { font-size: 2.5rem; }
.bwc-shell .bwc-pillar .bwc-hidden-stem .bw-glyph { font-size: 1rem; }
.bwc-shell .bwc-pillar .bwc-cell > span > .bw-glyph { font-size: 1rem; }
.bwc-shell .bwc-strip.bw-luck { display: flex; overflow-x: auto; }
.bwc-shell .bwc-auxiliary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bwc-shell .bwc-auxiliary .bw-tag { white-space: normal; }
.bwc-shell .bw-bars { margin-block: var(--bw-space-5); }
.bwc-shell .bw-ribbon__row { grid-template-columns: 1fr; }
.bwc-shell .bwc-form { color-scheme: dark; }
:is([data-theme="jade"], [data-theme="paper"]) .bwc-shell .bwc-form { color-scheme: light; }
.bwc-manual-place { border: 0; padding: 0; margin: 0; min-width: 0; }
.bwc-manual-place legend { margin-bottom: var(--bw-space-3); }
.bwc-shell .bwc-table-scroll { overflow-x: auto; max-width: 100%; }
.bwc-shell .bwc-table-scroll table { min-width: 36rem; }
@media (max-width: 639px) {
  .bwc-shell .bwc-form { padding: var(--bw-space-4); }
  .bwc-shell .bwc-pillar { padding: var(--bw-space-2) 0; }
  .bwc-shell .bwc-pillar .bw-tag { white-space: normal; letter-spacing: 0; }
  .bwc-shell .bwc-pillar .bw-glyph { font-size: 2rem; }
  .bwc-shell .bwc-pillar h3 small, .bwc-shell .bwc-cell small, .bwc-shell .bwc-hidden-stem > span { font-size: .625rem; }
  .bwc-shell .bw-passport__row { grid-template-columns: 1fr; gap: var(--bw-space-1); }
  .bwc-shell .bwc-form-grid { grid-template-columns: 1fr; }
  .bwc-shell .bw-almanac { padding: var(--bw-space-4); gap: var(--bw-space-4); }
}

@media print {
  .bwc-page { color-scheme: light; }
  html, body, .bwc-page .bw-root, .bwc-shell, .bwc-cell, .bwc-period, .bwc-explanation-inner { background: Canvas !important; color: CanvasText !important; }
  .bwc-page :not(.bwc-print-designed, .bwc-print-designed *) { color: CanvasText !important; box-shadow: none !important; text-shadow: none !important; print-color-adjust: economy; }
  .bwc-page .bw-site-header, .bwc-page footer, .bwc-page .bw-skip, .bwc-header-spacer, .bwc-intro, .bwc-load-status, .bwc-form, .bwc-tools, .bwc-sharing, .bwc-explanation, #bwc-retry, [data-refresh-day] { display: none !important; }
  .bwc-shell { padding: var(--bw-space-3); border: 0; margin: 0; }
  .bwc-page .bw-container { max-width: none; padding: 0; width: 100%; }
  .bwc-result { border: 0; padding: 0; margin: 0; }
  .bwc-workbench { display: block; }
  .bwc-content { width: 100%; }
  .bwc-section { margin-top: 8mm; padding-top: 4mm; }
  .bwc-cell, .bwc-period, .bwc-pillar h3 { border-color: CanvasText !important; }
  .bwc-cell { font-size: 8pt; min-height: 10mm; }
  .bwc-pillar, .bwc-link-group, .bwc-definitions dd, .bwc-result-head { break-inside: avoid; }
  .bwc-strip { display: grid; grid-template-columns: repeat(4, 1fr); overflow: visible; }
  .bwc-period { width: auto; padding: 2mm; }
  .bwc-period .bwc-glyph { font-size: 18pt; }
  .bwc-elements-layout { grid-template-columns: 1fr 1fr; }
  .bwc-cycle-line { stroke: CanvasText; }
  .bwc-compare-maps { grid-template-columns: 1fr 1fr; }
  details > :not(summary) { display: block !important; }
  .bwc-definitions { display: grid !important; grid-template-columns: 1fr 1fr; }
  .bwc-privacy { font-size: 8pt; }
}

/* Calculator composition of Workbench, PillarCards, Segmented and LuckTimeline. */
.bwc-shell { border:0; border-radius:0; box-shadow:none; background:transparent; backdrop-filter:none; }
.bwc-shell .bwc-form { color-scheme:inherit; }
[data-theme="jade-dark"], [data-theme="lacquer"] { color-scheme:dark; }
[data-theme="jade"], [data-theme="paper"] { color-scheme:light; }
.bwc-shell :is(p, li) { max-width:70ch; text-wrap:pretty; }
.bwc-shell :is(.bwc-pillar h3 small, .bwc-cell small, .bwc-hidden-stem > span, .bwc-period small, .bwc-period span:not(.bwc-glyph)) { font-size:12px; }
.bwc-shell .bwc-table-scroll :is(th,td,button) { font-size:13px; }
.bwc-site-page .bwc-shell .bw-card { border:0; border-radius:0; background:transparent; box-shadow:none; padding:var(--bw-space-5) 0; }
.bwc-shell .bwc-form { box-shadow:none; }
.bwc-intro h1 em { font-style:normal; }
.bwc-site-page article.bw-stack > h3 { margin-top:var(--bw-space-6); }
.bwc-site-page article.bw-stack { gap:var(--bw-space-3) !important; }
/* Шапка, меню и подвал сайта остаются и на экране результата: это путь назад (владелец 14.11). */
.bwc-active .bwc-intro, .bwc-active .bwc-privacy, .bwc-active .bw-mobile-cta { display:none; }
.bwc-active .bw-container { max-width:none; padding-inline:var(--bw-space-4); }
.bwc-active .bwc-shell { margin:0; padding:var(--bw-space-4); }
.bwc-active .bwc-result { margin:0; padding:0; border:0; }
.bwc-result-head { margin-bottom:var(--bw-space-4); }
.bwc-result-head h2 { font:600 24px/1.2 var(--font-ui); }
.bwc-result-head p { font-size:13px; margin-top:var(--bw-space-1); }
.bwc-workbench { grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); align-items:stretch; }
.bwc-map-region { display:grid; grid-template-columns:minmax(0,1fr) 176px; gap:var(--bw-space-3); min-height:0; }
.bwc-map-region > section { min-width:0; min-height:0; }
.bwc-map-scroll { overflow:auto; height:100%; overscroll-behavior:contain; }
.bwc-shell .bwc-pillars--desk { gap:0; background:transparent; }
.bwc-shell .bwc-pillars--desk .bwc-pillar { grid-row:span 9; border:0; border-right:1px solid var(--bw-line); border-radius:0; padding:0 var(--bw-space-1); gap:0; background:none; }
.bwc-shell .bwc-pillars--desk .bwc-pillar h3 { min-height:44px; font-size:14px; }
.bwc-shell .bwc-pillars--desk .bwc-cell { padding:var(--bw-space-2) var(--bw-space-1); font-size:12px; gap:var(--bw-space-1); }
.bwc-shell .bwc-pillars--desk .bwc-glyph { font-size:28px; }
.bwc-shell .bwc-pillars--desk .bwc-hidden-stem .bwc-glyph { font-size:16px; }
.bwc-shell .bwc-pillars--desk .bwc-hidden-stem small:not(.bwc-translit) { display:none; }
.bwc-shell .bwc-pillars--desk .bwc-pillar > .bwc-cell:nth-of-type(n+8):not(.bwc-pillar-detail) { display:none; }
.bwc-shell .bwc-pillars--desk .bwc-pillar--day h3 { color:var(--bw-danger-text); border-color:var(--bw-danger-text); }
.bwc-period-related { box-shadow:inset 0 -2px var(--bw-danger-text); }
.bwc-shell .bwc-period-related::after { content:"Связь с периодом"; color:var(--bw-danger-text); font-size:12px; }
.bwc-shell .bw-analysis .bwc-section { margin:0 0 var(--bw-space-5); padding:0; border:0; }
.bwc-shell .bw-analysis :is(h2, .bwc-section-head h2) { font:600 18px/1.4 var(--font-ui); }
.bwc-shell .bw-analysis h3 { font-size:15px; }
.bwc-shell .bw-analysis .bwc-elements-layout { display:block; }
.bwc-shell .bw-analysis .bwc-definitions { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.bwc-shell .bw-analysis .bwc-two-col { grid-template-columns:1fr; }
.bwc-shell .bw-analysis p { font-size:14px; }
.bwc-master-name { color:var(--bw-danger-text); }
.bwc-links .bwc-link--clash { border-inline-start:1px solid var(--bw-danger-text); }
#bwc-period-column { position:relative; padding:var(--bw-space-2); border-left:1px solid var(--bw-line); overflow:auto; }
#bwc-period-column > h3 { margin:0 0 var(--bw-space-2); color:var(--bw-eyebrow); }
.bwc-period-controls { display:grid; gap:var(--bw-space-2); }
.bwc-period-row { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; }
.bwc-period-row .bw-btn { width:44px; min-height:44px; height:44px; padding:0; border:0; font-size:22px; }
.bwc-period-mode { display:flex; flex-direction:column; align-items:center; gap:4px; background:none; color:var(--bw-text); border:0; min-height:44px; padding:4px; }
.bwc-period-mode[aria-pressed="true"] { background:var(--bw-selected); outline:1px solid var(--bw-danger-text); }
.bwc-period-mode .bwc-glyph { font-size:22px; }
.bwc-period-mode > span:first-child { font-size:13px; color:var(--bw-eyebrow); }
.bwc-period-mode small, .bwc-period-label { font-size:12px; }
.bwc-period-details > summary { font-size:13px; }
.bwc-period-details[open] { position:relative; margin-top:var(--bw-space-3); padding:var(--bw-space-3); background:var(--bw-surface); border:1px solid var(--bw-line-strong); }
.bwc-period-details[open] > summary { position:sticky; top:0; background:var(--bw-surface); }
.bwc-timeline { min-width:0; padding-top:var(--bw-space-3); }
.bwc-timeline h2 { margin:0; color:var(--bw-eyebrow); }
.bwc-shell .bwc-decades { display:grid; grid-template-columns:repeat(12,minmax(88px,1fr)); gap:0; margin:0; padding-block:4px; }
.bwc-shell .bwc-decades .bwc-period { min-width:0; width:auto; padding:6px; gap:3px; border:0; border-inline-end:1px solid var(--bw-line); background:none; }
.bwc-shell .bwc-decades .bwc-glyph { font-size:20px; }
.bwc-shell .bwc-decades .bwc-period > span:not(.bwc-glyph) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bwc-shell .bwc-decades .bwc-period--current { background:var(--bw-selected); }
.bwc-shell .bwc-decades .bwc-period--current b { color:var(--bw-danger-text); }
.bwc-shell .bwc-period[aria-pressed="true"] { outline-color:var(--bw-danger-text); border-color:var(--bw-danger-text); }
.bwc-shell .bwc-desk-years { gap:0; margin:0; padding-block:4px; }
.bwc-shell .bwc-desk-years .bwc-period { flex:1 0 82px; display:grid; grid-template-columns:1fr auto; gap:2px 8px; padding:4px 8px; background:none; border:0; }
.bwc-shell .bwc-desk-years .bwc-glyph { font-size:18px; grid-column:2; grid-row:1 / 3; align-self:center; }
.bwc-shell .bwc-desk-years .bwc-period > span:not(.bwc-glyph) { font-size:12px; }
.bwc-shell .bwc-desk-years .is-now { border-bottom:2px solid var(--bw-danger-text); }
.bwc-shell .bwc-desk-years .is-now b { color:var(--bw-danger-text); }
.bwc-shell .bwc-explanation { position:fixed; z-index:100; inset:var(--bw-space-4) var(--bw-space-4) var(--bw-space-4) auto; width:min(420px,calc(100vw - 32px)); margin:0; overflow:auto; border:1px solid var(--bw-line-strong); box-shadow:var(--bw-shadow-modal); }
.bwc-shell .bwc-explanation-inner { padding:var(--bw-space-5); border:0; border-radius:0; background:var(--bw-bg); }
.bwc-shell .bwc-explanation-top h2 { font:600 20px/1.4 var(--font-ui); }
.bwc-print { display:none; }
@media (min-width:1200px) and (min-height:650px) {
  .bwc-active { overflow:hidden; }
  .bwc-active .bwc-result { height:calc(100dvh - 32px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
  .bwc-active .bwc-result-head { flex-wrap:nowrap; }
  .bwc-active .bw-analysis__panels { max-height:100%; }
}
@media (min-width:768px) and (max-width:1199px) {
  .bwc-workbench { grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr); gap:16px; }
  .bwc-map-region { display:block; }
  .bwc-period-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #bwc-period-column { border-left:0; border-top:1px solid var(--bw-line); }
  .bw-analysis__panels { max-height:850px; }
}
@media (max-width:767px) {
  .bwc-active .bw-container { padding-inline:12px; }
  .bwc-active .bwc-result { display:block; }
  .bwc-workbench { display:block; }
  .bwc-map-region { display:block; }
  .bwc-map-scroll { overflow-x:auto; height:auto; touch-action:pan-x pan-y; }
  .bwc-shell .bwc-pillars--desk { min-width:560px; }
  #bwc-period-column { border:0; padding:16px 0; }
  .bwc-period-controls { display:flex; overflow-x:auto; gap:8px; }
  .bwc-period-row { flex:0 0 160px; grid-template-columns:44px 1fr 44px; }
  .bwc-period-row .bw-btn { min-width:44px; }
  .bwc-shell .bwc-explanation { inset:40vh 12px 12px; width:auto; }
  .bwc-shell .bw-analysis .bwc-definitions { display:block; }
  .bwc-shell .bw-analysis .bwc-definitions dd { margin:4px 0 12px; }
  .bwc-shell .bwc-decades { grid-template-columns:repeat(12,104px); }
  .bwc-timeline { margin-top:16px; }
}

/* The calculator is a working surface: map first, contextual analysis alongside. */
@media screen {
  .bwc-active { overflow:auto; }
  .bwc-page.bwc-active .bw-container { max-width:1600px; margin-inline:auto; padding-inline:24px; }
  .bwc-active .bwc-shell { padding:24px 0; }
  .bwc-active #bwc-app > #bwc-result,
  .bwc-active #bwc-app > #bwc-result > .bwc-result-desk { height:auto; display:block; overflow:visible; }
  .bwc-result-head { align-items:flex-start; padding-bottom:16px; margin-bottom:24px; border-bottom:1px solid var(--bw-line); }
  .bwc-result-head h2 { font:600 24px/1.25 var(--font-ui); }
  .bwc-result-head p { margin-top:8px; font-size:14px; }
  .bwc-result-head .bwc-intro-links { display:flex; gap:16px; margin-top:12px; font-size:14px; }
  .bwc-tools .bw-btn { min-height:44px; height:auto; padding:10px 16px; border-radius:8px; font:600 14px/1.4 var(--font-ui); }
  .bwc-workbench { grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr); align-items:start; gap:24px; }
  .bwc-map-region { grid-template-columns:minmax(0,1fr) 160px; gap:0; background:var(--bw-surface); border:1px solid var(--bw-line); border-radius:12px; }
  .bwc-map-region > section:first-child { padding:16px 8px; }
  .bwc-map-scroll { height:auto; overflow-x:auto; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar { padding:0 4px; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar:last-child { border-right:0; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar h3 { min-height:52px; font:600 14px/1.4 var(--font-ui); letter-spacing:0; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar--day h3 { color:var(--bw-em); border-color:var(--bw-em); background:var(--bw-selected); border-radius:6px 6px 0 0; }
  .bwc-shell .bwc-pillars--desk .bwc-cell { padding:10px 6px; font-size:14px; line-height:1.5; border-radius:4px; }
  .bwc-shell .bwc-pillars--desk .bwc-hidden-cell { justify-content:flex-start; }
  .bwc-shell .bwc-pillars--desk .bwc-glyph { font-size:32px; }
  .bwc-shell .bwc-pillars--desk .bwc-cell > small { font-size:12px; }
  .bwc-shell .bwc-period-related { box-shadow:inset 0 -1px var(--bw-line-strong); background:var(--bw-surface-sunken); }
  .bwc-shell .bwc-period-related::after { color:var(--bw-text-2); font-size:12px; }
  .bwc-shell .bwc-master-name { color:var(--bw-text); }
  #bwc-period-column { padding:16px 8px; background:var(--bw-surface-sunken); border-radius:0 12px 12px 0; }
  #bwc-period-column > h3 { font:600 13px/1.4 var(--font-ui); letter-spacing:0; }
  .bwc-period-mode { width:100%; border-radius:6px; }
  .bwc-period-mode[aria-pressed="true"] { outline-color:var(--bw-em); }
  .bwc-shell .bwc-period[aria-pressed="true"] { outline-color:var(--bw-em); border-color:var(--bw-em); background:var(--bw-selected); }
  .bwc-shell .bwc-decades .bwc-period--current b,
  .bwc-shell .bwc-desk-years .is-now b { color:var(--bw-text); }
  .bwc-shell .bwc-desk-years .is-now { border-bottom-color:var(--bw-em); }
  .bwc-shell .bw-analysis { height:auto; background:var(--bw-surface-sunken); border-radius:12px; }
  .bwc-shell .bw-analysis__tabs { padding:8px; gap:4px; }
  .bwc-shell .bw-analysis__tabs .bw-seg__btn { font-size:14px; border-radius:6px; }
  .bwc-shell .bw-analysis__panels { max-height:none; overflow:visible; }
  .bwc-shell .bw-analysis__panel { padding:20px; }
  .bwc-shell .bw-analysis p { font-size:15px; line-height:1.65; }
  .bwc-shell .bwc-timeline { padding-top:24px; }
  .bwc-shell .bwc-timeline h2 { font:600 14px/1.5 var(--font-ui); letter-spacing:0; margin-bottom:8px; }
  .bwc-shell .bwc-strip { border-color:var(--bw-line); border-radius:8px; }
  .bwc-shell .bwc-decades .bwc-period { padding:10px 8px; }
  .bwc-shell .bwc-desk-years .bwc-period { min-height:64px; }
  .bwc-shell :is(button,a,summary,[tabindex]):focus-visible { outline:2px solid var(--bw-focus); outline-offset:3px; }
  .bwc-shell :is(button,input,select) { accent-color:var(--bw-em); caret-color:var(--bw-text); }
  .bwc-shell ::selection { background:var(--bw-selected); color:var(--bw-text); }
  .bwc-shell .bwc-explanation { border-radius:12px; }
  .bwc-shell [data-clear-explanation] { min-height:44px; min-width:44px; }
}
@media screen and (max-width:1199px) {
  .bwc-workbench { grid-template-columns:minmax(0,1fr); }
  .bwc-map-region { display:grid; grid-template-columns:minmax(0,1fr) 176px; }
  #bwc-period-column { border-left:1px solid var(--bw-line); border-top:0; }
  .bwc-period-controls { display:grid; grid-template-columns:1fr; }
}
@media screen and (max-width:767px) {
  .bwc-page.bwc-active .bw-container { padding-inline:16px; }
  .bwc-active .bwc-shell { padding-block:16px; }
  .bwc-result-head { gap:12px; margin-bottom:16px; }
  .bwc-result-head > div:first-child { min-width:0; width:100%; }
  .bwc-result-head .bwc-intro-links { gap:16px; white-space:nowrap; overflow-x:auto; margin-top:8px; padding-bottom:4px; }
  .bwc-tools { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:8px; }
  .bwc-tools .bw-btn { padding:8px; font-size:13px; }
  .bwc-tools [data-edit-birth] { grid-column:1 / -1; }
  .bwc-map-region { display:block; }
  .bwc-map-region > section:first-child { padding:12px 0 0; }
  .bwc-map-scroll { padding-bottom:8px; }
  .bwc-map-scroll::before { content:"Карту можно прокрутить по горизонтали →"; display:block; position:sticky; left:0; width:100%; padding:8px 12px; text-align:center; font:400 12px/1.5 var(--font-ui); color:var(--bw-muted); }
  .bwc-shell .bwc-pillars--desk { min-width:560px; }
  #bwc-period-column { border:0; border-top:1px solid var(--bw-line); padding:12px 8px; border-radius:0 0 12px 12px; }
  .bwc-period-controls { display:flex; overflow-x:auto; gap:8px; }
  .bwc-period-row { flex:0 0 164px; }
  .bwc-shell .bw-analysis { margin-top:16px; padding-inline:16px; }
  .bwc-shell .bw-analysis__panel { padding:8px 0 20px; }
  .bwc-shell .bwc-explanation { inset:24vh 12px 12px; }
}

@page { size:A4 portrait; margin:12mm; }
/* Калькулятор печатается и на демо (body.bwc-page), и во вставке Tilda (body.t-body, #allrecords > .t-rec):
   область печати определяется по #bwc-app, а не по классу body. Вариант — html[data-bwc-print]:
   «mono» или без атрибута (Ctrl+P) — лист A4 ч/б, «designed» — оформленный PDF по PdfReport. */
.bwc-print-designed { display:none; }
@media print {
  html:has(#bwc-app), body:has(#bwc-app), body:has(#bwc-app) :is(.bw-root, .bwc-shell, #allrecords, .t-rec, .t123) {
    color-scheme:light !important;
    height:auto !important; overflow:visible !important; background:white !important; color:black !important;
  }
  #allrecords > :not(:has(#bwc-app)), .t-tildalabel,
  body:has(#bwc-app) .bw-root > :not(main), body:has(#bwc-app) main > :not(:has(#bwc-app)),
  body:has(#bwc-app) :is(.bw-site-header, footer, .bw-skip, .bwc-header-spacer, .bwc-intro, .bwc-privacy, .bw-mobile-cta, .bwc-load-status, #bwc-form-host, #bwc-status, #bwc-retry),
  .bwc-result > :not(.bwc-print, .bwc-print-designed) { display:none !important; }
  body:has(#bwc-app) :is(.bw-container:has(#bwc-app), .bwc-shell, .bwc-result) { display:block !important; padding:0 !important; margin:0 !important; width:100%; max-width:none; height:auto !important; border:0; }
  .bwc-result .bwc-print { display:block !important; color:black !important; background:white !important; font:9pt/1.35 var(--font-ui); }
  :root[data-bwc-print="designed"] .bwc-result .bwc-print { display:none !important; }
  .bwc-print *, .bwc-print *::before, .bwc-print *::after { color:black !important; background:transparent !important; box-shadow:none !important; text-shadow:none !important; }
  .bwc-print h1 { margin:0 0 2mm; font:600 16pt/1.2 var(--font-ui); overflow-wrap:anywhere; }
  .bwc-print h2 { margin:3mm 0 2mm; font:600 10pt/1.3 var(--font-ui); }
  .bwc-print p { margin:1mm 0 3mm; max-width:none; }
  .bwc-print .bwc-print-passport { font-size:7pt; white-space:nowrap; }
  .bwc-print table { border-collapse:collapse; table-layout:fixed; width:100%; font-size:9pt; }
  .bwc-print th, .bwc-print td { border:0.25mm solid black; padding:2mm; vertical-align:top; text-align:center; overflow-wrap:anywhere; }
  .bwc-print th:first-child { width:22mm; text-align:left; font-weight:400; }
  .bwc-print td > :is(b,small) { display:block; }
  .bwc-print .bwc-glyph { font-size:24pt; line-height:1.3; }
  .bwc-print-hidden { padding-block:1mm; font-size:8pt; }
  .bwc-print .bwc-print-hidden .bwc-glyph { font-size:12pt; }
  .bwc-print-balance { padding-block:2mm; border-bottom:0.25mm solid black; }
  .bwc-print-elements { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3mm; }
  .bwc-print-element { font-size:8pt; }
  .bwc-print-track { display:block; height:2mm; margin-top:1mm; border:0.2mm solid black; }
  .bwc-print-track i { display:block; height:100%; border-bottom:1mm solid black; box-sizing:border-box; }
  .bwc-print-links { columns:2; column-gap:8mm; margin:0; padding-left:4mm; font-size:8pt; }
  .bwc-print-links li { break-inside:avoid; margin-bottom:1mm; }
  .bwc-print-decades { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); border-block:0.25mm solid black; }
  .bwc-print-decade { padding:2mm 1mm; text-align:center; border-right:0.2mm solid black; font-size:7pt; }
  .bwc-print-decade:last-child { border-right:0; }
  .bwc-print-decade > * { display:block; }
  .bwc-print .bwc-print-decade .bwc-glyph { font-size:14pt; }
  .bwc-print section, .bwc-print header, .bwc-print table { break-inside:avoid; }
  .bwc-print-primary, .bwc-print-years { break-inside:avoid; }
  .bwc-print-years > div { display:grid; grid-template-columns:1fr 1fr; gap:8mm; }
  .bwc-print-years h3 { margin:0 0 1mm; font-size:8pt; }
  .bwc-print-years ul { list-style:none; margin:0; padding:0; }
  .bwc-print-years li { display:flex; align-items:center; gap:2mm; font-size:7pt; line-height:1.5; }
  .bwc-print .bwc-print-years .bwc-glyph { font-size:9pt; }
}
/* Оформленный PDF: эталон design-system/components/PdfReport, тема «Бумага», лист A4 на поле 12 мм. */
@media print {
  :root[data-bwc-print="designed"] .bwc-result .bwc-print-designed { display:block !important; }
  .bwc-print-designed { color:var(--bw-text); font-family:var(--font-ui); print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .bwc-print-designed .bwc-sheet { width:100%; height:auto; min-height:272mm; padding:12mm 13mm; gap:5mm; overflow:visible; break-after:page; break-inside:auto; background:var(--bw-bg); }
  .bwc-print-designed .bwc-sheet:last-child { break-after:auto; }
  .bwc-print-designed .bw-page__frame { inset:5mm; }
  .bwc-print-designed .bw-page__run { font-size:8pt; letter-spacing:.04em; }
  .bwc-print-designed .bw-page__foot { font-size:8pt; }
  .bwc-print-designed .bw-h2 { margin:0; font-size:30pt; line-height:1.05; }
  .bwc-print-designed .bwc-sheet-lead { margin:0; max-width:none; font-size:10pt; line-height:1.5; color:var(--bw-text-2); }
  .bwc-print-designed .bw-eyebrow { font-size:7.5pt; }
  .bwc-print-designed .bwc-glyph { font-family:var(--font-cjk); line-height:1.15; }
  /* обложка */
  .bwc-sheet--cover { position:relative; height:272mm; justify-content:space-between; align-items:stretch; padding:16mm 16mm 14mm; }
  .bwc-cover-top { display:flex; justify-content:space-between; align-items:center; }
  .bwc-cover-top .bw-logo__word { font-size:18pt; }
  .bwc-cover-mark { position:relative; align-self:center; width:96mm; height:96mm; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1mm; }
  .bwc-cover-mark .bwc-glyph { font-size:150pt; font-weight:900; line-height:1; }
  .bwc-cover-mark small { font-size:9pt; color:var(--bw-muted); }
  .bwc-cover-ring { position:absolute; inset:0; border-radius:50%; border:0.3mm solid var(--bw-line-strong); }
  .bwc-cover-ring--dash { inset:6mm; border-style:dashed; border-color:var(--bw-line); }
  .bwc-cover-title { display:flex; flex-direction:column; align-items:center; gap:3mm; text-align:center; }
  .bwc-cover-title .bw-h1 { margin:0; font-size:36pt; line-height:1.05; overflow-wrap:anywhere; }
  .bwc-cover-title p { margin:0; font:italic 400 16pt var(--font-display); color:var(--bw-text-2); }
  .bwc-designed-strip { display:grid; grid-template-columns:repeat(4, 30mm); gap:4mm; margin-top:4mm; }
  .bwc-designed-strip > div { display:flex; flex-direction:column; align-items:center; gap:1.5mm; padding:3mm 1mm 2.5mm; border:0.3mm solid var(--bw-line); border-radius:10mm 10mm 2mm 2mm; }
  .bwc-designed-strip > .is-day { border-color:var(--bw-seal); }
  .bwc-designed-strip .bwc-glyph { font-size:26pt; }
  .bwc-designed-strip small { font-size:8pt; color:var(--bw-text-2); }
  .bwc-cover-foot { display:flex; justify-content:space-between; align-items:flex-end; gap:6mm; }
  .bwc-cover-foot > span:first-child { display:flex; flex-direction:column; gap:1mm; font-size:8.5pt; color:var(--bw-muted); }
  /* четыре столпа */
  .bwc-designed-table, .bwc-designed-luck { width:100%; border-collapse:collapse; table-layout:fixed; font-size:9pt; }
  .bwc-designed-table th, .bwc-designed-table td { padding:2mm 1.5mm; border-bottom:0.25mm solid var(--bw-line); text-align:center; vertical-align:top; overflow-wrap:anywhere; }
  .bwc-designed-table thead th { font-weight:600; border-bottom:0.4mm solid var(--bw-text); }
  .bwc-designed-table tbody th { width:26mm; text-align:left; font-weight:400; color:var(--bw-muted); }
  .bwc-designed-table .is-day { background:var(--bw-surface); }
  .bwc-designed-table td > :is(b, small) { display:block; }
  .bwc-designed-table td small { color:var(--bw-text-2); }
  .bwc-designed-table td > .bwc-glyph { font-size:24pt; }
  .bwc-designed-hidden { display:block; padding-block:0.8mm; font-size:8pt; }
  .bwc-designed-hidden .bwc-glyph { font-size:11pt; }
  .bwc-designed-hidden small { display:block; }
  .bwc-designed-balance { display:grid; grid-template-columns:1fr 1.1fr; gap:8mm; align-items:start; padding-block:4mm; border-block:0.25mm solid var(--bw-line); break-inside:avoid; }
  .bwc-designed-balance h3 { margin:1mm 0; font:600 14pt var(--font-display); }
  .bwc-designed-balance p { margin:0; font-size:9pt; line-height:1.5; }
  .bwc-designed-balance ul { list-style:none; margin:0; padding:0; display:grid; gap:1.6mm; }
  .bwc-designed-balance li { display:grid; grid-template-columns:6mm 16mm 1fr 8mm; align-items:center; gap:2mm; font-size:8.5pt; }
  .bwc-designed-balance li > span[lang] { font:12pt var(--font-cjk); }
  .bwc-designed-track { display:block; height:2mm; border-radius:1mm; background:var(--bw-surface); overflow:hidden; }
  .bwc-designed-track i { display:block; height:100%; }
  .bwc-designed-links ul { columns:2; column-gap:8mm; margin:1.5mm 0 0; padding-left:4mm; font-size:8.5pt; }
  .bwc-designed-links li { break-inside:avoid; margin-bottom:1mm; }
  /* такты */
  .bwc-designed-luck th, .bwc-designed-luck td { padding:0.9mm 2mm; border-bottom:0.25mm solid var(--bw-line); text-align:left; vertical-align:middle; }
  .bwc-designed-luck thead th { font-weight:600; border-bottom:0.4mm solid var(--bw-text); }
  .bwc-designed-luck th:first-child { width:28mm; } .bwc-designed-luck th:nth-child(2) { width:16mm; } .bwc-designed-luck th:last-child { width:20mm; }
  .bwc-designed-luck .bwc-glyph { font-size:12pt; }
  .bwc-designed-luck .bw-glyph--pair { flex-direction:row; gap:0.5mm; }
  .bwc-designed-luck .is-now { background:var(--bw-surface); }
  .bwc-designed-years { break-inside:avoid; }
  .bwc-designed-years ul { list-style:none; margin:2mm 0 0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:2mm; }
  .bwc-designed-years li { display:flex; flex-direction:column; align-items:center; gap:0.5mm; padding:1.5mm 1mm; border:0.25mm solid var(--bw-line); border-radius:1.5mm; font-size:8pt; text-align:center; }
  .bwc-designed-years .bwc-glyph { font-size:13pt; }
  .bwc-designed-years .bw-glyph--pair { flex-direction:row; gap:0.5mm; }
  .bwc-print-designed .bw-passport { font-size:8.5pt; break-inside:avoid; }
  .bwc-print-designed .bw-passport__row { padding-block:1mm; }
}

/* Full calculator additions share the canonical Jade controls and surfaces. */
.bwc-world-country select { min-height: 44px; font-size: 16px; }
.bwc-city [data-places-status] { margin-block: 8px; overflow-wrap: anywhere; }
.bwc-city [data-places-retry] { min-height: 44px; font-size: 16px; }
.bwc-city [name="worldManualZone"] { min-height: 44px; font-size: 16px; }
.bwc-city .bw-field { min-width: 0; margin-block-start: 12px; }
.bwc-city [role="option"] { white-space: normal; overflow-wrap: anywhere; }
.bwc-city [role="option"] small { white-space: normal; }
.bwc-page .bw-seal--s, .bwc-site-page .bw-seal--s { font-size: 11px; }
#bwc-period-column .bw-passport__row dd { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  .bwc-suggestions, .bwc-city-option { transition: none; animation: none; scroll-behavior: auto; }
}

.bwc-shell [data-manual-timezone] dd { overflow-wrap: anywhere; }
/* The longer birth form follows the introduction instead of stretching one hero column. */
.bwc-site-page section.bw-grid:has(#bwc-site-app[data-page="entry"]) { grid-template-columns: minmax(0, 1fr); }
.bwc-site-page .bw-body { text-wrap: pretty; }

/* The full chart relation label is data text on the light Jade surface. */
[data-theme="jade"] #bwc-app .bw-pillar-card.is-day .bw-pillar-card__god {
  color: var(--bw-text-2);
}

/* These functional labels must not inherit compact screen text from the fixture. */
@media screen {
  .bwc-page #bwc-app .bwc-form-top .bw-chip,
  .bwc-page #bwc-app .bw-pillar-card__god {
    font-size: max(16px, 1rem);
  }
}

/* The primary action uses the existing darker cinnabar token for text contrast. */
@media screen {
  .bwc-page #bwc-birth button[type="submit"] {
    background: var(--bw-cta-hover);
    color: var(--bw-on-cta);
  }
}

/* Issue 608: readable sizes for the 40+ audience and four pillars in a row at 390px. */
@media screen {
  .bwc-shell .bwc-pillars--desk .bwc-pillar h3 { font-size: 16px; }
  .bwc-shell .bwc-pillars--desk .bwc-cell { font-size: 16px; }
  .bwc-shell .bwc-pillars--desk .bwc-cell > small { font-size: 16px; }
  .bwc-shell .bwc-pillars--desk .bwc-glyph { font-size: 48px; }
  .bwc-shell .bwc-period { min-height: 44px; }
  .bwc-shell .bwc-theme-toggle { min-height: 44px; }
}
@media screen and (max-width: 767px) {
  .bwc-shell .bwc-pillars--desk { min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar { padding: 0 2px; }
  .bwc-shell .bwc-pillars--desk .bwc-cell { padding-inline: 0; min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .bwc-shell .bwc-pillars--desk .bwc-cell :is(b, small, span) { min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .bwc-shell .bwc-pillars--desk .bwc-glyph { font-size: 48px; }
  .bwc-map-scroll { overflow: visible; height: auto; }
  .bwc-map-scroll::before { content: none; }
}

/* Issue 607: На-инь element badge and a narrow phases column with the number first. */
.bwc-nayin { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2px 6px; }
.bwc-nayin-name { flex-basis: 100%; }
/* Правка 43: круг цвета стихии с её иероглифом (木 火 土 金 水). */
.bwc-nayin-badge { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 2px solid var(--el-ink); border-radius: 50%; background: color-mix(in srgb, var(--el-ink) 8%, var(--bw-bg)); color: var(--el-ink); font: 700 18px/1 var(--font-cjk); flex: none; }
.bwc-nayin-element { font-size: 14px; color: var(--bw-text-2); }
.bwc-nayin-only { display: block; margin-top: 4px; font-size: 13px; color: var(--bw-danger-text); }
.bwc-nayin-note { margin-top: 8px; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--bw-danger-text) 45%, transparent); border-radius: var(--bw-radius-s); background: var(--bw-surface-sunken); font-size: 14px; }
.bwc-phases { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 2px; max-width: 220px; }
.bwc-phase { display: flex; align-items: baseline; gap: 4px; font-size: 14px; line-height: 1.5; }
.bwc-phase b { min-width: 1.5em; color: var(--bw-eyebrow); font-variant-numeric: tabular-nums; }
.bwc-phase small { margin-left: auto; color: var(--bw-muted); font-size: 12px; }
.bwc-phases-title { margin: 8px 0 0; font-size: 14px; color: var(--bw-eyebrow); }

/* Правки Людмилы 27, 45, 50, 51, 59, 61: иероглифы жирные и цветные, ствол над ветвью, такты справа налево. */
.bw-glyph--pair { display: inline-flex; flex-direction: column; align-items: center; gap: 0.06em; font-weight: 700; line-height: 1.05; }
.bwc-pillar .bwc-glyph, .bwc-period .bwc-glyph, .bwc-period-heading .bwc-glyph { font-weight: 700; }
.bwc-stem-name { font-weight: 600; color: var(--bw-text); }
.bwc-translit { color: var(--bw-text-2); }
.bwc-shell .bwc-pillar .bwc-cell small.bwc-translit { font-size: 14px; }
.bwc-phase-bold { font-weight: 700; }
.bwc-hidden-cell { justify-content: flex-start; align-items: center; }
.bwc-hidden-stem { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.bwc-hidden-stem + .bwc-hidden-stem { margin-top: 8px; }
.bwc-shell .bwc-pillar .bwc-hidden-stem--main .bw-glyph.bwc-glyph { font-size: 28px; font-weight: 700; }
.bwc-shell .bwc-pillar .bwc-hidden-stem--minor .bw-glyph.bwc-glyph { font-size: 22px; font-weight: 400; -webkit-text-stroke: 0.4px currentColor; }
.bwc-hidden-stem--main > span:not(.bwc-glyph) { font-weight: 600; }
.bwc-strip[dir="rtl"] > * { direction: ltr; }
.bwc-stem-cell, .bwc-branch-cell, .bwc-nayin-cell { justify-content: flex-start; }

/* Правки 44, 47: круг У-син. Господин дня наверху, стихия делится на Ян и Инь, подписаны божества. */
.bwc-wheel-wrap { max-width: 26rem; margin-inline: auto; }
.bwc-wheel-top { margin: 0 0 var(--bw-space-3); text-align: center; font-size: 1rem; color: var(--bw-text); }
.bwc-wheel-top span { color: var(--bw-muted); }
.bwc-wheel { position: relative; width: 100%; }
.bwc-wheel-arrows { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--bw-text-2); overflow: visible; }
.bwc-wheel-arrows .bwc-cycle-line { stroke: currentColor; stroke-width: 2; }
.bwc-wheel-arrows .bwc-cycle-line--control { stroke-dasharray: 6 5; stroke-width: 1.6; }
.bwc-wheel-node { position: absolute; transform: translate(-50%, -50%); }
.bwc-wheel-node .bwc-wn { display: flex; flex-direction: column; align-items: stretch; justify-content: stretch; gap: 0; width: 100%; height: 100%; padding: 0; overflow: hidden; text-align: center;
  border: 1.5px solid var(--bwc-wn-ink); border-radius: var(--bw-radius-m); background: var(--bw-surface); color: var(--bw-text); }
.bwc-wn-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 0 var(--bw-space-2); padding: 4px 6px; font-size: .8125rem; line-height: 1.3; background: color-mix(in srgb, var(--bwc-wn-fill) 30%, var(--bw-surface)); border-bottom: 1px solid var(--bwc-wn-ink); }
.bwc-wn-head span { color: var(--bw-text-2); font-size: .75rem; }
.bwc-wn-head, .bwc-wn-half { min-width: 0; }
.bwc-wn-half { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 5px 4px 6px; line-height: 1.25; }
.bwc-wn-half small { font-size: .75rem; color: var(--bw-text-2); }
.bwc-wn-half b { font-size: .8125rem; font-weight: 600; overflow-wrap: anywhere; hyphens: auto; }
.bwc-wn-half--yang { background: color-mix(in srgb, var(--bwc-wn-fill) 22%, var(--bw-surface)); }
.bwc-wn-half--yin { background: color-mix(in srgb, var(--bwc-wn-fill) 9%, var(--bw-surface)); border-top: 1px dashed var(--bwc-wn-ink); }
.bwc-wn-half.is-master b { text-decoration: underline; text-underline-offset: 3px; }
.bwc-wn-master { font-weight: 600; color: var(--bw-text) !important; }
.bwc-wheel-node.bw-el-wood { --bwc-wn-fill: var(--bw-wood-graphic); --bwc-wn-ink: var(--bw-wood-ink); }
.bwc-wheel-node.bw-el-fire { --bwc-wn-fill: var(--bw-fire-graphic); --bwc-wn-ink: var(--bw-fire-ink); }
.bwc-wheel-node.bw-el-earth { --bwc-wn-fill: var(--bw-earth-graphic); --bwc-wn-ink: var(--bw-earth-ink); }
.bwc-wheel-node.bw-el-metal { --bwc-wn-fill: var(--bw-metal-graphic); --bwc-wn-ink: var(--bw-metal-ink); }
.bwc-wheel-node.bw-el-water { --bwc-wn-fill: var(--bw-water-graphic); --bwc-wn-ink: var(--bw-water-ink); }
.bwc-wheel .bwc-wn[aria-pressed="true"] { outline: 2px solid var(--bw-focus); outline-offset: 2px; }
.bwc-wheel .bwc-wn .bwc-glyph { font-size: 1rem; }
.bwc-diagram-key { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--bw-space-2); }
.bwc-key-line { display: inline-block; width: 28px; border-top: 2px solid currentColor; }
.bwc-key-line--control { border-top-style: dashed; }
@media (max-width: 420px) {
  .bwc-wn-head { font-size: .75rem; padding: 3px 4px; }
  .bwc-wn-half b { font-size: .75rem; }
}
@media (forced-colors: active) {
  .bwc-wheel-arrows { color: CanvasText; }
  .bwc-wheel-node .bwc-wn { border-color: CanvasText; }
}
/* Правка 11 (Людмила, 30.10): поле «Имя» крупнее и прямоугольное, не скруглённое. */
.bwc-shell input.bw-input[name="name"], #bwc-site-app input.bw-input[name="name"] { min-height: 60px; font-size: 18px; border-radius: var(--bw-radius-s); }
/* Без страны поиска нет: подсказка не должна выглядеть как мёртвый поиск. Размер поля формы, цвет — токен темы (контраст ≥ 4.5:1). */
.bwc-city [data-places-status].bwc-places-notice { font-size: 1rem; font-weight: 500; color: var(--bw-danger-text); }

/* Дир. 187, P5: раскладка результата. Страница прокручивается целиком: без внутренних скроллов, накладных панелей
   и обрезанных рядов. Главное (столпы, Господин дня) крупнее и контрастнее, второстепенное тише; рамок меньше. */
@media screen {
  .bwc-shell { --bwc-hair: color-mix(in srgb, var(--bw-line) 45%, transparent); }
  .bwc-active #bwc-app > #bwc-result,
  .bwc-active #bwc-app > #bwc-result > .bwc-result-desk,
  .bwc-result-desk > .bwc-workbench { height: auto; overflow: visible; }
  .bwc-workbench { grid-template-columns: minmax(0, 1fr); gap: var(--bw-space-6); align-items: start; }
  .bwc-side { display: grid; gap: var(--bw-space-4); align-content: start; min-width: 0; }

  /* Карта: столпы по содержимому, навигатор периода — полосой под ними, а не узкой колонкой. */
  .bwc-map-region { display: block; border-color: var(--bwc-hair); border-radius: var(--bw-radius-card); }
  .bwc-map-region > section:first-child { padding: var(--bw-space-4) var(--bw-space-3) var(--bw-space-2); }
  .bwc-map-scroll { overflow: visible; height: auto; }
  .bwc-map-scroll::before { content: none; }
  .bwc-shell .bwc-pillars--desk { min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .bwc-shell .bwc-pillars--desk .bwc-pillar { padding: 0 2px; border-right: 1px solid var(--bwc-hair); }
  .bwc-shell .bwc-pillars--desk .bwc-pillar:last-child { border-right: 0; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar h3 { min-height: 64px; padding: 0 4px 12px; border-bottom: 1px solid var(--bw-line);
    font: 600 13px/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--bw-eyebrow);
    hyphens: none; overflow-wrap: normal; word-break: normal; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar h3 small { margin-top: 6px; font: 400 13px/1.3 var(--font-ui); letter-spacing: 0; text-transform: none; color: var(--bw-muted);
    hyphens: none; overflow-wrap: normal; word-break: normal; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar--day { border-radius: var(--bw-radius-m); background: color-mix(in srgb, var(--bw-selected) 65%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bw-em) 45%, transparent); }
  .bwc-shell .bwc-pillars--desk .bwc-pillar--day h3,
  .bwc-shell .bwc-pillars--desk .bwc-pillar--day h3 small { color: var(--bw-em); background: none; border-color: var(--bw-em); }
  .bwc-shell .bwc-pillars--desk .bwc-cell { padding: 12px 6px; border: 0; border-top: 1px solid var(--bwc-hair); border-radius: 0; gap: 4px;
    background: none; hyphens: none; overflow-wrap: normal; word-break: normal; }
  .bwc-shell .bwc-pillars--desk .bwc-pillar > h3 + .bwc-cell { border-top: 0; }
  .bwc-shell .bwc-pillars--desk .bwc-cell > small:first-child { color: var(--bw-muted); font-weight: 400; }
  .bwc-shell .bwc-pillars--desk .bwc-cell :is(b, .bw-pillar-card__god, .bwc-stem-name) { color: var(--bw-text); font-weight: 600; }
  .bwc-shell .bwc-pillars--desk .bwc-cell:is(:hover, .bwc-related) { background: var(--bw-surface-hover); }
  .bwc-shell .bwc-pillars--desk .bwc-cell[aria-pressed="true"] { background: var(--bw-surface-hover); outline: 2px solid var(--bw-em); outline-offset: -2px; }
  .bwc-shell .bwc-period-related { box-shadow: none; background: none; }
  .bwc-shell .bwc-period-related::after { color: var(--bw-em); font-size: 13px; font-weight: 500; }

  /* Навигатор периода: читаемые сегменты, перенос только по словам. */
  #bwc-period-column { padding: var(--bw-space-4); border: 0; border-top: 1px solid var(--bwc-hair); border-radius: 0 0 var(--bw-radius-card) var(--bw-radius-card);
    background: var(--bw-surface-sunken); overflow: visible; }
  #bwc-period-column > h3 { margin: 0 0 var(--bw-space-3); }
  .bwc-period-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bw-space-2) var(--bw-space-3); overflow: visible; }
  .bwc-period-row { flex: none; grid-template-columns: 44px minmax(0, 1fr) 44px; border: 1px solid var(--bwc-hair); border-radius: var(--bw-radius-m); background: var(--bw-surface); }
  .bwc-period-row .bw-btn { background: none; color: var(--bw-text-2); }
  .bwc-period-mode { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "glyph label" "glyph text";
    align-items: center; justify-items: start; gap: 2px 12px; padding: 8px 6px; text-align: left; hyphens: none; overflow-wrap: normal; word-break: normal; }
  .bwc-period-mode > span:first-child { grid-area: label; font: 600 12px/1.3 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--bw-eyebrow); }
  .bwc-period-mode > .bwc-glyph { grid-area: glyph; font-size: 24px; }
  .bwc-shell .bwc-period-mode > small { grid-area: text; font-size: 14px; line-height: 1.35; color: var(--bw-text-2); hyphens: none; }
  .bwc-period-label { margin: var(--bw-space-3) 0 0; font-size: 14px; color: var(--bw-text-2); }
  .bwc-period-details[open] > summary { position: static; }
  #bwc-period-column .bwc-strip { flex-wrap: wrap; overflow: visible; }
  #bwc-period-column .bwc-tools { flex-wrap: wrap; }

  /* Пояснение — блок в потоке (не fixed, не поверх содержимого): у основной карты в колонке анализа,
     у «Двух карт рядом» — своё под картами сравнения. */
  .bwc-shell .bwc-explanation { position: static; inset: auto; z-index: auto; width: auto; margin: 0; overflow: visible;
    border: 1px solid var(--bw-line-strong); border-radius: var(--bw-radius-m); box-shadow: none; }
  .bwc-shell .bwc-compare-explanation { margin: var(--bw-space-4) 0; border: 1px solid var(--bw-line-strong); border-radius: var(--bw-radius-m); }
  .bwc-shell .bwc-compare-explanation .bwc-explanation-top { display: flex; justify-content: space-between; gap: var(--bw-space-3); }
  .bwc-shell .bwc-explanation-inner { padding: var(--bw-space-4) var(--bw-space-5); border: 0; border-radius: inherit; background: var(--bw-surface); }
  .bwc-shell .bwc-explanation-top { align-items: center; }
  .bwc-shell .bwc-explanation-top :is(h2, h3) { margin: 0; font: 600 18px/1.35 var(--font-ui); }
  .bwc-shell :is(.bwc-explanation, .bwc-compare-explanation) p { font-size: 15px; }

  /* Такты: рядами по 6 (планшет — по 4, телефон — по 3), годы такта — по 5 (телефон — по 2), без обрезки подписей.
     Людмила, задача 1140: подписи не мельче 16 px, знак 32 px. */
  .bwc-shell .bwc-timeline { padding-top: var(--bw-space-7); }
  .bwc-shell .bwc-strip.bwc-decades,
  .bwc-shell .bwc-strip.bwc-desk-years { display: grid; gap: 1px; margin: 0; padding: 0; overflow: visible; scroll-snap-type: none;
    background: var(--bwc-hair); border: 1px solid var(--bwc-hair); border-radius: var(--bw-radius-m); }
  .bwc-shell .bwc-strip.bwc-decades { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .bwc-shell .bwc-strip.bwc-desk-years { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: var(--bw-space-3); }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period { display: grid; grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "years years" "glyph text" "glyph age"; align-items: center; align-content: start; gap: 4px 12px;
    width: auto; min-width: 0; min-height: 0; flex: none; margin: 0; padding: 12px 14px; border: 0; border-radius: 0; background: var(--bw-surface); }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period > b { grid-area: years; font: 600 16px/1.3 var(--font-mono); color: var(--bw-text); }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period > .bwc-glyph { grid-area: glyph; grid-column: auto; grid-row: auto; align-self: start; font-size: 32px; line-height: 1.1; }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period > span:not(.bwc-glyph) { grid-area: text; overflow: visible; white-space: normal;
    text-overflow: clip; font-size: 16px; line-height: 1.35; color: var(--bw-text-2); hyphens: none; overflow-wrap: normal; }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period > small { grid-area: age; font-size: 16px; color: var(--bw-muted); }
  .bwc-shell .bwc-desk-years .bwc-period { grid-template-areas: "years years" "glyph text"; }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period:hover { background: var(--bw-surface-hover); }
  .bwc-shell .bwc-decades .bwc-period--current,
  .bwc-shell .bwc-desk-years .bwc-period.is-now { background: var(--bw-selected); border: 0; box-shadow: inset 0 -3px var(--bw-em); }
  .bwc-shell .bwc-decades .bwc-period--current b,
  .bwc-shell .bwc-desk-years .is-now b { color: var(--bw-em); }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period[aria-pressed="true"] { outline: 2px solid var(--bw-em); outline-offset: -2px; }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period:focus-visible { outline: 2px solid var(--bw-focus); outline-offset: -4px; }
}
@media screen and (min-width: 1000px) {
  .bwc-workbench { grid-template-columns: minmax(0, 40rem) minmax(20rem, 1fr); }
  .bwc-shell .bwc-pillars--desk .bwc-cell > .bwc-glyph { font-size: 56px; }
}
@media screen and (max-width: 999px) {
  .bwc-shell .bwc-strip.bwc-decades { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media screen and (max-width: 767px) {
  .bwc-map-region > section:first-child { padding: var(--bw-space-3) var(--bw-space-1) var(--bw-space-1); }
  #bwc-period-column { padding: var(--bw-space-3); }
  .bwc-shell :is(.bwc-decades, .bwc-desk-years) .bwc-period { grid-template-columns: minmax(0, 1fr); grid-template-areas: "years" "glyph" "text" "age";
    justify-items: start; padding: 10px 10px; gap: 4px; }
  .bwc-shell .bwc-desk-years .bwc-period { grid-template-areas: "years" "glyph" "text"; }
}
@media screen and (max-width: 599px) {
  /* Четыре столпа в ряд на 360–414: поля ячеек уходят в ширину текста. Слова не рвутся (ни дефисом, ни без него):
     значения рядов («Дух наслаждения», «6 Ослабление», «Процветание») уменьшаются с шириной экрана, чтобы самое
     длинное слово из 11 букв помещалось в колонку; на 600 px и шире — прежние 16 px. */
  .bwc-shell .bwc-pillars--desk .bwc-pillar { padding: 0; }
  .bwc-shell .bwc-pillars--desk .bwc-cell { padding: 10px 1px; }
  .bwc-shell .bwc-pillars--desk .bwc-cell > :is(b, .bwc-stem-name),
  .bwc-shell .bwc-pillars--desk .bwc-nayin-name,
  .bwc-page #bwc-app .bwc-pillars--desk .bw-pillar-card__god { font-size: clamp(12px, 3.35vw, 16px); }
  /* Подпись ряда тише и не крупнее значения: значение — главное. */
  .bwc-shell .bwc-pillars--desk .bwc-cell > small:first-child { font-size: clamp(12px, 3.1vw, 16px); }
  .bwc-shell .bwc-pillars--desk .bwc-pillar h3 { padding-inline: 0; letter-spacing: .06em; }
  .bwc-period-controls { grid-template-columns: minmax(0, 1fr); }
  .bwc-shell .bwc-strip.bwc-decades { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* Годы такта по 2: знак слева, год и подпись справа — 16 px помещаются без переноса по буквам. */
  .bwc-shell .bwc-strip.bwc-desk-years { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bwc-shell .bwc-desk-years .bwc-period { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "glyph years" "glyph text"; gap: 2px 12px; }
}

/* Пустота серым (Людмила, задача 1140): знак, название и подписи пустой ветви — цветом --bw-muted, а не стихии.
   !important — у знака цвет стихии задан в атрибуте style. */
.bwc-shell .bwc-branch-cell.bwc-empty :is(b, span, small:not(:first-child)),
.bwc-shell .bwc-branch-cell.bwc-empty .bwc-glyph span { color: var(--bw-muted) !important; }

/* «Печать / PDF»: два варианта — A4 ч/б и оформленный PDF (владелец 14.11). */
.bwc-print-menu { position:relative; }
.bwc-print-menu > summary { list-style:none; display:inline-flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; }
.bwc-print-menu > summary::-webkit-details-marker { display:none; }
.bwc-print-menu > summary::after { content:"▾"; font-size:.8em; }
.bwc-print-menu[open] > summary::after { content:"▴"; }
.bwc-print-menu__list { position:absolute; z-index:20; top:calc(100% + 6px); right:0; width:min(260px, calc(100vw - 48px)); display:grid; gap:4px; padding:6px; background:var(--bw-surface-raised); border:1px solid var(--bw-line-strong); border-radius:10px; }
.bwc-shell .bwc-print-menu__list .bw-btn { display:flex; flex-direction:column; align-items:flex-start; gap:2px; width:100%; text-align:left; white-space:normal; }
.bwc-print-menu__list small { font:400 12px/1.4 var(--font-ui); color:var(--bw-text-2); }
@media (max-width:767px) { .bwc-print-menu > summary { width:100%; } }
