.chart-panel > .chart-legend { margin-top:3px; margin-bottom:10px; }
.planet-house-tables { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); align-items:start; gap:14px; width:100%; margin-top:8px; }
.readout-group { min-width:0; }
.readout-group .readout-heading { margin-top:0; padding:5px 8px 3px; }
.readout-group .planet-readout,.readout-group .house-readout { margin-top:4px; }
.readout-group .house-readout { grid-template-columns:minmax(0,1fr); }
.readout-group .planet-readout { grid-template-columns:minmax(0,1fr); }
.aspect-readout { margin-top:4px; }
#aspect-readout { display:block; overflow:hidden; border-top:0; }
.aspect-matrix-section .aspect-readout { display:block; width:100%; overflow:hidden; border-top:0; }
.aspect-matrix-scroll { width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.aspect-matrix { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; }
.aspect-matrix th,.aspect-matrix td { box-sizing:border-box; width:21px; min-width:21px; height:21px; padding:0; border:1px solid var(--line); text-align:center; vertical-align:middle; }
.aspect-matrix thead th,.aspect-matrix tbody th,.aspect-matrix tfoot th { background:rgba(251,249,244,.9); font-weight:400; }
.aspect-matrix .aspect-matrix-corner,.aspect-matrix tbody th,.aspect-matrix tfoot th { width:30px; min-width:30px; }
.aspect-matrix .aspect-axis-glyph { display:inline-block; color:inherit; font:13px/1 'Astrovida','Segoe UI Symbol',sans-serif; }
.aspect-matrix .aspect-axis-label { display:inline-block; color:inherit; font:700 7px/1 'DM Mono',monospace; }
.aspect-matrix td { background:#fff; }
.aspect-matrix td.aspect-matrix-diagonal { background:rgba(32,37,43,.12); }
.aspect-matrix .aspect-mark { position:relative; display:inline-block; width:15px; height:15px; padding:0; color:inherit; background:transparent; font:normal 15px/15px 'DM Mono',sans-serif; text-align:center; vertical-align:middle; }
.aspect-mark--square::before { content:'□'; font:13px/15px 'Segoe UI Symbol',sans-serif; }
.aspect-mark--trine::before { content:'△'; font:12px/15px 'Segoe UI Symbol',sans-serif; }
.aspect-mark--sextile::before { content:'✳'; font:12px/15px 'Segoe UI Symbol',sans-serif; }
.aspect-matrix .aspect-mark--conjunction { width:19px; background:linear-gradient(currentColor,currentColor) right center/12px 1px no-repeat; }
.aspect-matrix .aspect-mark--conjunction::before { position:absolute; top:4px; left:1px; width:7px; height:7px; border:1.5px solid currentColor; border-radius:50%; background:#fff; content:''; }
.aspect-matrix .aspect-mark--opposition { width:21px; background:linear-gradient(currentColor,currentColor) center/17px 2px no-repeat; }
.aspect-matrix .aspect-mark--opposition::before,.aspect-matrix .aspect-mark--opposition::after { position:absolute; top:4px; width:7px; height:7px; border:1.5px solid currentColor; border-radius:50%; background:#fff; content:''; }
.aspect-mark--opposition::before { left:1px; }.aspect-mark--opposition::after { right:1px; }
.aspect-matrix-legend { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:7px; color:var(--muted); font:9px 'DM Mono',monospace; }
.aspect-matrix-legend > span { display:inline-flex; align-items:center; justify-content:flex-start; gap:4px; width:auto; height:auto; min-width:0; padding:0; color:var(--muted); background:transparent; font:9px 'DM Mono',monospace; }
.aspect-matrix-legend .aspect-mark { position:relative; display:inline-block; flex:0 0 15px; width:15px; height:15px; padding:0; background:transparent; }
.aspect-matrix-legend .aspect-mark--conjunction { flex-basis:19px; width:19px; background:linear-gradient(currentColor,currentColor) right center/12px 1px no-repeat; }
.aspect-matrix-legend .aspect-mark--conjunction::before { position:absolute; top:4px; left:1px; width:7px; height:7px; border:1.5px solid currentColor; border-radius:50%; background:#fff; content:''; }
.aspect-matrix-legend .aspect-mark--opposition { flex-basis:21px; width:21px; background:linear-gradient(currentColor,currentColor) center/17px 2px no-repeat; }
.aspect-matrix-legend .aspect-mark--opposition::before,.aspect-matrix-legend .aspect-mark--opposition::after { position:absolute; top:4px; width:7px; height:7px; border:1.5px solid currentColor; border-radius:50%; background:#fff; content:''; }
.aspect-matrix-legend .aspect-mark--opposition::before { left:1px; }.aspect-matrix-legend .aspect-mark--opposition::after { right:1px; }
.chart-panel > .balance-tables { margin-top:14px; }
.planet-readout .readout-sign,.house-readout .readout-sign { display:inline-block; margin-left:2px; color:inherit; font:14px/1 'Astrovida','Segoe UI Symbol',sans-serif; vertical-align:-2px; }
.planet-readout i.readout-point-label { color:var(--ink); font:700 9px 'DM Mono',monospace; }
.result-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-top:14px; }
.result-actions .interpret-button,.result-actions .print-button { width:100%; min-width:0; margin:0; padding:12px; border:1px solid var(--ink); color:var(--ink); background:transparent; font:700 10px Manrope,sans-serif; text-align:left; cursor:pointer; }
.result-actions .interpret-button:hover,.result-actions .print-button:hover { color:#fff; background:var(--ink); }
.print-button { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.print-button span { font-size:17px; }
.interpretation-panel { margin-top:14px; }
.solar-pair[hidden] { display:none !important; }
.chart-metadata-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; width:100%; max-width:640px; margin:10px auto 0; }
.chart-metadata-grid.solar-metadata { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
.metadata-card { min-width:0; padding:10px 12px; border:1px solid var(--line); background:rgba(251,249,244,.72); }
.metadata-card h3 { margin:0 0 8px; color:var(--muted); font:700 9px 'DM Mono',monospace; text-transform:uppercase; }
.metadata-card dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 12px; margin:0; }
.metadata-card dl > div { min-width:0; }
.metadata-card dt { color:var(--muted); font:700 8px 'DM Mono',monospace; text-transform:uppercase; }
.metadata-card dd { overflow-wrap:anywhere; margin:3px 0 0; color:var(--ink); font:500 10px 'DM Mono',monospace; }
@media (max-width:800px) { .result-actions { grid-template-columns:1fr; } }
@media (min-width:1301px) { .readout-group .planet-readout { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .planet-house-tables { grid-template-columns:minmax(0,1fr); gap:10px; } }
@media (max-width:800px) { .chart-metadata-grid.solar-metadata { grid-template-columns:1fr; }.metadata-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .configuration-panel { margin-top:22px; padding-top:14px; }.configuration-panel .object-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 8px; }.configuration-panel .object-controls legend { grid-column:1 / -1; }.configuration-panel .object-controls label { min-width:0; font-size:9px; }.configuration-panel .object-controls input { flex:0 0 auto; }.chart-header h2 { font-size:20px; }.chart-metadata-grid { margin-top:7px; } }
@media (max-width:1040px) and (min-width:801px) { .aspect-matrix th,.aspect-matrix td { width:13px; min-width:13px; height:17px; }.aspect-matrix .aspect-matrix-corner,.aspect-matrix tbody th,.aspect-matrix tfoot th { width:18px; min-width:18px; }.aspect-matrix .aspect-axis-glyph { font-size:10px; }.aspect-matrix .aspect-axis-label { font-size:6px; }.aspect-matrix .aspect-mark { transform:scale(.62); } }
@media (max-width:800px) {
  .aspect-matrix th,.aspect-matrix td { width:8px; min-width:8px; height:13px; overflow:hidden; }
  .aspect-matrix .aspect-matrix-corner,.aspect-matrix tbody th,.aspect-matrix tfoot th { width:14px; min-width:14px; }
  .aspect-matrix .aspect-axis-glyph { font-size:7px; }
  .aspect-matrix .aspect-axis-label { font-size:4px; }
  .aspect-matrix .aspect-mark { width:8px; height:11px; transform:none; font-size:8px; line-height:11px; }
  .aspect-matrix .aspect-mark--square::before { font-size:8px; line-height:11px; }
  .aspect-matrix .aspect-mark--trine::before,.aspect-matrix .aspect-mark--sextile::before { font-size:8px; line-height:11px; }
  .aspect-matrix .aspect-mark--conjunction { width:8px; background-size:6px 1px; }
  .aspect-matrix .aspect-mark--conjunction::before { top:3px; left:0; width:4px; height:4px; border-width:1px; }
  .aspect-matrix .aspect-mark--opposition { width:8px; background-size:7px 1px; }
  .aspect-matrix .aspect-mark--opposition::before,.aspect-matrix .aspect-mark--opposition::after { top:3px; width:4px; height:4px; border-width:1px; }
  .aspect-matrix .aspect-mark--opposition::before { left:0; }
  .aspect-matrix .aspect-mark--opposition::after { right:0; }
}

@page { size:A4 portrait; margin:12mm; }
@page calendar { size:A4 landscape; margin:6mm; }
.ephemeris-print-context { display:none; }
.ephemerides-page .print-button { margin-top:14px; padding:12px; border:1px solid var(--ink); color:var(--ink); background:transparent; font:700 10px var(--fonte-corpo); text-align:left; cursor:pointer; }
.ephemerides-page .print-button:hover { color:var(--off-white); background:var(--ink); }
@media print {
  :root { color-scheme:light; }
  html,body { width:auto; min-width:0; color:#111; background:#fff; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  body.map-life-print::before { position:fixed; inset:0; z-index:0; content:""; background:url("fonts/Novo%20Design%20-%20COM%20texto.png") center center / 145mm auto no-repeat; filter:grayscale(1); opacity:.12; pointer-events:none; }
  body.map-life-print .app-shell { position:relative; z-index:1; }
  .sidebar,.site-footer,.control-column,.result-actions,.icon-button,.insights,.hero-section { display:none !important; }
  .main-content { width:100%; max-width:none; margin:0; padding:0; }
  .workspace { display:block; margin:0; padding:0; border:0; }
  @page { size:A4 portrait; margin:10mm; }
  .chart-panel { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:auto auto auto auto; column-gap:3mm; align-items:start; width:100%; margin:0; padding:0; border:0; }
  .chart-panel > * { grid-column:1 / -1; min-width:0; }
  .chart-panel > .chart-wrap { grid-column:1 / span 3; grid-row:3; width:88mm; max-width:100%; margin:0 auto 1mm; }
  .chart-panel > .planet-house-tables { display:grid; grid-column:4 / span 3; grid-row:3; grid-template-columns:minmax(0,1fr); gap:2mm; }
  .chart-panel > #natal-aspect-section { grid-column:1 / span 4; grid-row:4; margin:0; }
  .chart-panel > .balance-tables { grid-column:5 / span 2; grid-row:4; grid-template-columns:minmax(0,1fr); align-self:start; }
  .chart-panel > .interpretation-panel { grid-row:auto; }
  .chart-header { margin:0 0 1mm; }
  .chart-header h2 { font-size:16pt; }
  .chart-metadata-grid { grid-template-columns:1fr; max-width:none; margin:0 0 1mm; gap:2mm; }
  .chart-metadata-grid.solar-metadata { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metadata-card { padding:1.5mm 2mm; background:#fff; }
  .metadata-card h3 { margin-bottom:1mm; color:#333; }
  .metadata-card dl { grid-template-columns:.9fr .9fr .7fr 1.8fr .9fr .9fr .9fr; gap:1mm 2mm; }
  .chart-metadata-grid.solar-metadata .metadata-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metadata-card dt { font-size:6.5pt; color:#555; }
  .metadata-card dd { font-size:8pt; color:#111; margin-top:.5mm; }
  .main-content,.workspace,.chart-panel { background:#fff !important; }
  body.map-life-print .main-content,body.map-life-print .workspace,body.map-life-print .chart-panel { background:transparent !important; }
  .chart-wrap { width:88mm; max-width:100%; margin:0 auto 1mm; break-inside:avoid; page-break-inside:avoid; }
  .chart-legend { display:none; }
  .planet-readout span,.house-readout span { align-items:center; padding:.5mm 1.5mm; font-size:8pt; line-height:1; background:#fff; border-bottom:.2pt solid #ddd; }
  .planet-readout small,.house-readout small { padding:0; font-size:7.5pt; line-height:1; }
  .planet-readout .readout-sign,.house-readout .readout-sign { vertical-align:baseline; line-height:1; }
  .planet-readout i { font-size:12px; line-height:1; }
  .aspect-matrix th,.aspect-matrix td { font-size:0 !important; line-height:0 !important; overflow:hidden; }
  .aspect-matrix .aspect-mark { width:11px; height:11px; margin:0; vertical-align:top; }
  .balance-tables section > div > div { padding:.8mm 1.5mm; font-size:7.5pt; background:#fff; }
  .balance-tables .polarity-balance { padding:.8mm 1.5mm; gap:1mm; background:#fff; }
  .balance-bar-row { padding:.4mm 1.5mm !important; gap:2mm; }
  .balance-bar-meter,.polarity-balance-bar { height:3.2mm; }
  .polarity-balance-legend { font-size:7pt; }
  .balance-tables h3 { margin:1mm 0; font-size:7pt; }
  .solar-pair { width:100%; max-width:180mm; margin:0 auto 2mm; gap:4mm; break-inside:avoid; page-break-inside:avoid; }
  .solar-pair article { break-inside:avoid; page-break-inside:avoid; }
  .chart-legend { margin:0 0 1mm; }
  .planet-house-tables { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:3mm; margin-top:0; }
  .readout-group .planet-readout { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1mm; }
  .readout-group .house-readout { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1mm; }
  .planet-readout .readout-sign,.house-readout .readout-sign { font-size:11px; }
  .readout-heading { margin-top:0; padding:1mm; }
  .aspect-readout { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1mm; }
  #aspect-readout { display:block; }
  .aspect-matrix-scroll { overflow:visible; }
  .aspect-matrix { width:100%; min-width:0; table-layout:fixed; }
  .aspect-matrix th,.aspect-matrix td { width:auto; min-width:0; height:4mm; }
  .aspect-matrix .aspect-matrix-corner,.aspect-matrix tbody th,.aspect-matrix tfoot th { width:8mm; min-width:8mm; }
  .aspect-matrix .aspect-axis-glyph,.aspect-matrix .aspect-axis-label { display:flex; align-items:center; justify-content:center; height:4mm; line-height:1; }
  .aspect-matrix .aspect-axis-glyph { font-size:8pt; }
  .aspect-matrix .aspect-axis-label { font-size:5pt; }
  .aspect-matrix .aspect-mark { transform:scale(.8); }
  .aspect-matrix-legend { gap:2mm 4mm; margin-top:1mm; font-size:6pt; }
  .balance-tables { grid-template-columns:minmax(0,1fr); margin-top:2mm; gap:1mm; }
  .planet-readout span,.house-readout span,.aspect-readout span,.balance-tables section,.interpretation-card { break-inside:avoid; page-break-inside:avoid; }
  .interpretation-panel,.interpretation-panel[hidden] { display:block !important; width:100%; max-width:none; margin-top:0; border-top:0; break-before:page; page-break-before:always; }
  .interpretation-grid { grid-template-columns:minmax(0,1fr); }
  .interpretation-introduction,.interpretation-bookend { background:#eaf1f6 !important; border-color:#9bb4c8 !important; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  body.map-life-print .interpretation-introduction,body.map-life-print .interpretation-bookend { background:rgba(234,241,246,.88) !important; }
  .interpretation-main-title { break-after:avoid; page-break-after:avoid; }
  .interpretation-card { padding:3mm; background:#fff !important; border-color:#ddd !important; }
  body.map-life-print .interpretation-card,body.map-life-print .metadata-card,body.map-life-print .planet-readout span,body.map-life-print .house-readout span,body.map-life-print .balance-tables section > div > div,body.map-life-print .balance-tables .polarity-balance,body.map-life-print .aspect-matrix td { background:rgba(255,255,255,.86) !important; }
  .interpretation-card p { color:#333; }
  .readout-heading,.balance-tables h3 { color:#333; }
  .ephemerides-page { padding:0; page:calendar; }
  .ephemerides-page .section-heading { margin-bottom:1mm; }
  .ephemerides-page .section-heading h2 { font-size:16pt; }
  .ephemerides-page .section-heading > span:first-child,.ephemerides-page .section-rule { display:none; }
  .ephemerides-page .section-caption { display:inline; color:#555; }
  .ephemeris-toolbar,.ephemeris-note,.ephemerides-page .print-button { display:none !important; }
  .ephemeris-print-context { display:block !important; margin:0 0 1.5mm; color:#333; font-size:10pt; }
  .ephemeris-table-scroll { overflow:visible; border:0; border-radius:0; background:#fff; }
  .ephemeris-table { font-size:8.5pt; }
  .ephemeris-table thead { display:table-header-group; }
  .ephemeris-table tr { break-inside:avoid; page-break-inside:avoid; }
  .ephemeris-table th,.ephemeris-table td { padding:0.8mm 2mm; border-bottom:0.2pt solid #bbb; line-height:1.15; }
  .ephemeris-table thead th { position:static; background:#fff; font-size:11pt; line-height:1; }
  .ephemeris-sign { font-size:9pt; line-height:1; }
  .void-moon-table { font-size:10pt; }
  .view-panel[hidden],.chart-wrap[hidden],.solar-pair[hidden] { display:none !important; }
}
