.comparison-brand { color:inherit; text-decoration:none; }
.comparison-test-badge { padding:7px 11px; border:1px solid var(--line); border-radius:20px; color:var(--muted); font-size:.72rem; white-space:nowrap; }
.comparison-control-panel { margin-bottom:22px; }
.comparison-form { display:grid; grid-template-columns:1fr 1fr 1.5fr 1.25fr .8fr .8fr; gap:14px; align-items:end; margin-top:22px; }
.comparison-form input,.comparison-form select { min-height:42px; }
.comparison-date-step { display:flex; min-width:0; }
.comparison-date-step input { min-width:0; padding-inline:6px; border-radius:0; }
.comparison-date-step button { min-width:28px; padding:0 5px; border:1px solid var(--line); border-radius:8px 0 0 8px; color:var(--blue-dark); background:var(--paper); font-size:1.4rem; cursor:pointer; }
.comparison-date-step button:last-child { border-radius:0 8px 8px 0; }
.comparison-type-row { grid-column:span 2; display:grid; gap:7px; color:var(--muted); font-size:.82rem; }
.comparison-type-row .segmented { min-height:42px; }
.comparison-check { display:flex; align-items:center; gap:8px; min-height:42px; font-size:.78rem; }
.comparison-check input,.comparison-profile-option input { width:17px; min-height:17px; height:17px; margin:0; accent-color:var(--blue); flex-shrink:0; }
.comparison-form .calculate-button { min-height:42px; }
.comparison-profile-fieldset { margin:22px 0 0; padding:16px 0 0; border:0; border-top:1px solid var(--line); }
.comparison-profile-fieldset legend { padding-inline-end:12px; color:var(--muted); font-size:.78rem; }
.comparison-profile-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.comparison-profile-option { display:flex; align-items:center; gap:11px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; cursor:pointer; background:var(--paper); }
.comparison-profile-option:has(input:checked) { border-color:var(--blue); background:var(--blue-soft); }
.comparison-profile-option span { display:grid; gap:3px; }.comparison-profile-option b { color:var(--ink); font-size:.81rem; font-weight:650; }.comparison-profile-option small { color:var(--muted); font-size:.68rem; }
.comparison-profile-option.unavailable { opacity:.55; cursor:default; border-style:dashed; }
.comparison-result-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin:25px 0 18px; }
#comparison-summary { color:var(--ink); font-size:1.1rem; font-weight:700; }
#comparison-summary.comparison-summary-equal { color:var(--wood); }#comparison-summary.comparison-summary-different { color:var(--water); }
.comparison-view-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }.comparison-view-controls>label:first-child { min-width:210px; }.comparison-view-controls select { max-width:290px; min-height:38px; font-size:.75rem; }
.comparison-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.comparison-chart-window { border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:var(--shadow); overflow:hidden; min-width:0; container-type:inline-size; }
.comparison-chart-window.is-reference { border-color:color-mix(in srgb,var(--blue) 60%,var(--line)); }
.comparison-window-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px 0; }
.comparison-window-heading .secondary-button { min-height:30px; padding:4px 9px; font-size:.69rem; }
.comparison-card-status { color:var(--muted); font-size:.72rem; font-weight:650; }.comparison-card-status.equal { color:var(--wood); }.comparison-card-status.mismatch { color:#c17c26; }
.comparison-chart-window .chart-panel { width:100%; padding:12px; border:0; border-radius:0; box-shadow:none; background:transparent; }
.comparison-window-caption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding:4px 17px 16px; }
.comparison-window-caption h2 { font-size:1.02rem; font-weight:750; }.comparison-window-caption p { margin-top:5px; color:var(--muted); font-size:.72rem; }
.comparison-open { color:var(--blue-dark); font-size:.71rem; text-decoration:none; }.comparison-open:hover { text-decoration:underline; }
.comparison-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; padding:1px; background:var(--line); border-top:1px solid var(--line); }
.comparison-facts>div { padding:10px; background:var(--paper); min-width:0; }.comparison-facts dt { color:var(--muted); font-size:.64rem; }.comparison-facts dd { margin-top:5px; color:var(--ink); font-size:.85rem; font-weight:650; overflow-wrap:anywhere; }
.comparison-chart-window .is-different { border-radius:5px; outline:2px solid #d79938; outline-offset:2px; background:color-mix(in srgb,#d79938 15%,var(--paper)); }
.comparison-facts>div.is-different { outline-offset:-2px; border-radius:0; }
.comparison-chart-window .palace-card.has-difference { box-shadow:inset 0 0 0 1px #d79938; }
.comparison-diff-details { padding:12px 16px; border-top:1px solid var(--line); font-size:.73rem; color:var(--muted); }.comparison-diff-details summary { cursor:pointer; }.comparison-diff-details ul { padding-inline-start:16px; max-height:300px; overflow:auto; }.comparison-diff-details li { margin-bottom:8px; }.comparison-diff-details code { color:var(--blue-dark); display:block; }.comparison-diff-details span { overflow-wrap:anywhere; }
.comparison-empty,.comparison-calculation-error { padding:35px; border:1px dashed var(--line); border-radius:14px; color:var(--muted); text-align:center; margin-bottom:20px; }
.comparison-calculation-error h2 { color:var(--ink); font-size:1rem; margin-bottom:10px; }
.comparison-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; margin-top:28px; color:var(--muted); font-size:.7rem; }.comparison-footer a { text-decoration:none; }
.comparison-city { position:relative; }.comparison-city-results { position:absolute; inset:100% 0 auto; z-index:30; min-width:280px; padding:5px; background:var(--paper); border:1px solid var(--line); border-radius:9px; box-shadow:var(--shadow); }.comparison-city-results button { display:block; width:100%; padding:10px; border:0; background:transparent; color:var(--ink); text-align:start; font-size:.8rem; cursor:pointer; }.comparison-city-results button:hover { background:var(--blue-soft); }
.comparison-shell .palace-grid .symbol b { font-size:calc(clamp(1.3rem,6.5cqw,2.7rem) * var(--symbol-scale,1)); }.comparison-shell .palace-grid .symbol small { font-size:clamp(.46rem,1.6cqw,.67rem); }
.comparison-shell .center-front { gap:4px; padding:9px; }.comparison-shell .center-front .center-method { font-size:clamp(.5rem,1.5cqw,.73rem); }.comparison-shell .center-front .center-pattern { font-size:clamp(.85rem,3cqw,1.45rem); }
.comparison-shell .center-front>.center-stem { position:absolute; right:8px; bottom:7px; font-size:clamp(1.2rem,6cqw,2.7rem)!important; }
.comparison-shell .alternative-center-nav { display:none!important; }
html[data-chart-view="alternative"] .comparison-shell .center-front { padding:0; }
html[data-chart-view="alternative"] .comparison-shell .alternative-center-pillars { gap:2px; }.comparison-shell .alternative-center-pillar b { font-size:clamp(.85rem,3.6cqw,1.6rem); }
html[data-chart-view="alternative"] .comparison-shell .alternative-center-pillar { grid-template-rows:auto 1fr 1fr; }
html[data-chart-view="alternative"] .comparison-shell .alternative-center-pillar b .element-glyph { font-size:inherit; }
html[data-chart-view="alternative"] .comparison-shell .center-front>.center-stem { right:7px; bottom:6px; font-size:clamp(.85rem,3.8cqw,1.5rem)!important; }
@media(max-width:1100px){.comparison-form{grid-template-columns:repeat(3,minmax(0,1fr));}.comparison-type-row{grid-column:span 2;}.comparison-profile-options{grid-template-columns:repeat(2,minmax(0,1fr));}.comparison-test-badge{white-space:normal;max-width:190px;}}
@media(max-width:780px){.comparison-card-grid{grid-template-columns:minmax(0,1fr);}.comparison-form{grid-template-columns:repeat(2,minmax(0,1fr));}.comparison-type-row{grid-column:span 2;}.comparison-form .calculate-button{grid-column:span 2;}.comparison-profile-options{grid-template-columns:minmax(0,1fr);}.comparison-test-badge{display:none;}.comparison-window-caption h2{font-size:.95rem;}.comparison-facts{grid-template-columns:repeat(3,minmax(0,1fr));}}
