/* Calculation tables and distribution geometry only. App typography is in app-ui.css. */
.br-wood { --br-element:#4a7150; --br-tint:#eaf0e4; }
.br-fire { --br-element:#b45e49; --br-tint:#faeae3; }
.br-earth { --br-element:#937030; --br-tint:#f4eddb; }
.br-metal { --br-element:#657182; --br-tint:#edf0f3; }
.br-water { --br-element:#467580; --br-tint:#e8f0f0; }
.br-neutral { --br-element:#637065; --br-tint:#edf0e9; }
.br-identity-card { display:grid; grid-template-columns:112px minmax(0,1fr); gap:22px; align-items:center; margin:8px 0 3px; }
.br-identity-seal { width:112px; min-height:144px; border:1px solid color-mix(in srgb,var(--br-element) 35%, transparent); border-radius:3px; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--br-tint); position:relative; color:var(--br-element); }
.br-identity-seal>span { font-family:inherit; font-size:66px; font-weight:400; line-height:1.25; }
.br-identity-seal>small { font-size:12px; letter-spacing:3px; }
.br-eyebrow { font-size:12px; color:var(--br-muted); margin-bottom:2px; }
.br-identity-copy h4 { font-family:inherit; font-size:28px; line-height:1.6; }
.br-identity-copy .br-identity-meta { font-size:14px; color:var(--br-coral); margin:0 0 7px; }
.br-identity-copy>p { font-size:13px; color:var(--br-muted); line-height:1.9; text-wrap:pretty; }
.br-season { border-top:1px dashed var(--br-line); padding-top:16px; margin-top:20px; }
.br-season>b { font-size:13px; font-weight:600; }
.br-season>b>span { margin-left:7px; }
.br-season p { font-size:13px; color:var(--br-muted); margin:5px 0 2px; }
.br-season small { font-size:12px; color:var(--br-muted); }
.br-table-wrap { border:1px solid var(--br-line); border-radius:3px; overflow:hidden; }
.br-pillar-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; line-height:1.5; background:transparent; }
.br-pillar-table caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.br-pillar-table .br-row-label { width:54px; }
.br-pillar-table th,.br-pillar-table td { text-align:center; vertical-align:middle; padding:10px 3px; border-right:1px solid #e5e7df; border-bottom:1px solid var(--br-line); overflow-wrap:anywhere; }
.br-pillar-table tr>*:last-child { border-right:0; }
.br-pillar-table tbody>tr:last-child>* { border-bottom:0; }
.br-pillar-table thead th { background:#f0f2e9; font-size:13px; font-weight:600; padding-top:12px; padding-bottom:12px; }
.br-pillar-table thead th>small { display:block; font-size:12px; font-weight:400; color:var(--br-muted); margin-top:3px; }
.br-pillar-table tbody th { background:#f7f7ef; color:#68715f; font-size:12px; font-weight:500; }
.br-pillar-table .br-day-column { background:#f8f2e8; }
.br-pillar-table thead .br-day-column { background:#eee5d4; position:relative;  }
.br-me { display:inline-flex; border:1px solid #c6ac8b; border-radius:3px; font-size:12px; line-height:1.35; margin-left:3px; padding:0 3px; color:#815336; font-weight:500; }
.br-glyph { display:block; font-family:inherit; font-size:37px; line-height:1.35; font-weight:500; color:#34473b; }
.br-glyph-reading { display:block; color:#5a665b; font-size:13px; margin:1px 0 5px; }
.br-element-badge { display:inline-flex; align-items:center; gap:3px; color:var(--br-element); background:var(--br-tint); border-radius:3px; padding:1px 6px; font-size:12px; line-height:1.6; font-weight:600; white-space:nowrap; }
.br-element-badge>span { font-family:inherit; font-weight:400; }
.br-god-row td>span { display:block; font-size:12px; }
.br-god-row td>small { display:block; color:#657061; font-size:12px; margin-top:2px; }
.br-hidden-stem { display:block; margin:4px 0; }
.br-hidden-stem b { font-family:inherit; font-size:16px; margin-right:3px; font-weight:600; }
.br-hidden-stem small { color:var(--br-muted); font-size:12px; }
.br-unavailable { color:#768071; font-size:12px; font-weight:400; }
.br-chart .br-caption { font-size:12px; line-height:1.85; color:var(--br-muted); margin-top:12px; }
.br-element-overview { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 14px; font-size:12px; color:var(--br-muted); }
.br-element-overview b { color:var(--br-ink); margin-left:3px; font-weight:600; }
.br-bars { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding:20px 13px 19px; margin:12px 0 15px; background:transparent; border-radius:3px; }
.br-bar-item { text-align:center; min-width:0; }
.br-bar-count { font-size:12px; line-height:1.5; margin-bottom:9px; color:var(--br-muted); font-variant-numeric:tabular-nums; }
.br-bar-count b { color:var(--br-element); font-size:20px; font-weight:600; }
.br-bar-count span { margin-left:2px; }
.br-bar-track { height:92px; width:min(100%,38px); background:#e8ebe1; border-radius:3px; display:flex; align-items:flex-end; overflow:hidden; margin:auto; }
.br-bar-fill { background:var(--br-element); width:100%; min-height:0; border-radius:3px; opacity:.84; }
.br-bar-name { display:block; font-size:13px; margin-top:8px; font-weight:600; white-space:nowrap; }
.br-bar-name>span { font-family:inherit; color:var(--br-element); }
.br-details { margin:0; border:1px solid var(--br-line); border-radius:3px; background:transparent; overflow:hidden; }
.br-details+.br-details { margin-top:7px; }
.br-details>summary { cursor:pointer; list-style:none; min-height:48px; padding:11px 13px; display:flex; justify-content:space-between; align-items:center; gap:10px; color:var(--br-ink); font-size:13px; line-height:1.7; }
.br-details>summary::-webkit-details-marker { display:none; }
.br-details>summary::after { content:'+'; font-size:18px; line-height:1; color:#697661; flex:none; }
.br-details[open]>summary::after { content:'−'; }
.br-details>summary>span:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; flex:1; }
.br-details>summary b { font-weight:600; }
.br-details>summary small { font-size:12px; color:var(--br-muted); }
.br-expand-label { font-size:12px; color:var(--br-muted); white-space:nowrap; }
.br-detail-relation { font-size:12px; color:var(--br-muted); }
.br-detail-relation>span { margin-left:2px; }
.br-details>summary:hover { background:#f2f4ec; }
.br-details>summary:focus-visible,.result-shell .report-toc button:focus-visible { outline:2px solid #975337; outline-offset:-3px; border-radius:3px; }
.br-details[open]>summary { border-bottom:1px solid var(--br-line); background:#f5f6ef; }
.br-detail-body { padding:13px; }
.br-detail-body>p { font-size:13px; color:var(--br-muted); margin:0 0 9px; line-height:1.9; }
.br-detail-body>p>b { color:var(--br-ink); font-weight:600; }
.br-positions { list-style:none; padding:0; margin:9px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.br-positions li { display:flex; align-items:center; gap:9px; padding:7px 9px; background:transparent; border-radius:3px; font-size:12px; line-height:1.5; min-width:0; }
.br-position-glyph { font-family:inherit; font-size:23px; flex:none; color:var(--br-element,var(--br-ink)); }
.br-positions li small { font-size:12px; color:var(--br-muted); display:block; margin-top:2px; }
.br-chart .br-empty { font-size:13px; line-height:1.85; color:var(--br-muted); }
.br-group-hanja { font-family:inherit; color:var(--br-muted); font-size:13px; }
.br-group-count { font-family:inherit; font-size:21px; color:#7d5d43; white-space:nowrap; }
.br-group-count small { font-family:inherit; margin-left:5px; }
.br-relations { display:grid; gap:9px; }
.br-relation { padding:14px; border-left:0; background:transparent; border-radius:3px; }
.br-relation>div { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.br-relation-type { font-size:12px; font-weight:600; padding:1px 8px; border:1px solid #c7d0bb; border-radius:3px; }
.br-relation-pair { font-family:inherit; font-size:20px; }
.br-relation>small { font-size:12px; color:var(--br-muted); display:block; margin-top:4px; }
.br-relation>p { font-size:13px; line-height:1.9; margin-top:6px; color:#54644e; }
.br-helper { display:flex; gap:13px; align-items:center; border-radius:3px; background:transparent; padding:14px; margin-top:8px; }
.br-bunny { width:54px; height:65px; flex:none; }
.br-helper b { font-size:13px; font-weight:600; }
.br-helper p { color:#686b5b; font-size:12px; line-height:1.85; margin-top:3px; }
.br-context { color:var(--br-muted); font-size:13px; }

.br-bunny{display:none}.br-helper{padding:16px 0;border-top:1px solid var(--br-line)}.br-relation{padding:16px 0;border-bottom:1px solid var(--br-line)}.br-details{border:0;border-bottom:1px solid var(--br-line);border-radius:0}.br-details>summary{padding-inline:0}.br-detail-body{padding-inline:0}.br-position-glyph{font-weight:400}.br-table-wrap{border-radius:3px}.br-pillar-table .br-row-label{width:42px}.br-glyph{font-size:30px;font-weight:400}.br-hidden-stem b{font-weight:400}.br-positions li{padding-inline:0}
