/* Portfolio styles never affect Board, Table or Suggested topics. */
@scope (.planner-portfolio) {
*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{text-decoration:none}img{object-fit:contain}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--ctp-mauve);outline-offset:2px}
.url-performance { background: var(--ctp-base); border: 1px solid var(--ctp-surface1); border-radius: 12px; padding: 18px 20px 12px; margin: 0px 0px 22px; min-width: 0px; font-size: 12px; }
.url-chart-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.url-chart-header h2 { font-size: 16px; font-weight: 600; margin: 0px; color: var(--ctp-text); }
.url-period { display: flex; align-items: center; gap: 7px; color: var(--ctp-subtext0); white-space: nowrap; }
.url-period input { width: 60px; padding: 7px 5px 7px 9px; border: 1px solid var(--ctp-surface1); border-radius: 7px; background: var(--ctp-base); color: var(--ctp-text); font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; }
.url-chart-controls { display: grid; grid-template-columns: minmax(0px, 1fr) 145px; gap: 10px; align-items: end; }
.url-chart-controls label, .url-keyword { display: grid; gap: 6px; color: var(--ctp-overlay1); font-size: 12px; min-width: 0px; }
.url-performance select { width: 100%; min-width: 0px; max-width: 100%; border: 1px solid var(--ctp-surface1); border-radius: 7px; padding: 9px 25px 9px 10px; background: var(--ctp-base); color: var(--ctp-text); font: inherit; text-overflow: ellipsis; }
.url-performance select:focus-visible, .url-period input:focus-visible, .url-metric-switch button:focus-visible { outline: 2px solid var(--ctp-mauve); outline-offset: 2px; }
.url-selected { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 12px 0px; color: var(--ctp-overlay1); }
.url-selected > a { display: flex; align-items: center; gap: 7px; min-width: 0px; color: var(--ctp-subtext0); font-size: 12px; flex: 1 1 200px; text-decoration: none; }
.url-selected > a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.url-selected img { height: 17px; width: 17px; border-radius: 4px; flex-shrink: 0; }
.url-live-status { padding: 3px 8px; border-radius: 5px; background: rgb(240, 243, 246); color: rgb(105, 125, 144); font-size: 11px; white-space: nowrap; }
.url-live-status.live { background: rgb(237, 247, 239); color: rgb(62, 128, 84); }
.url-live-status.not-live { background: rgb(252, 238, 237); color: rgb(183, 87, 76); }
.url-live-status.redirected { background: rgb(255, 245, 230); color: rgb(154, 105, 45); }
.url-checked { font-size: 11px; white-space: nowrap; }
.url-redirect { display: block; overflow-wrap: anywhere; margin: 0px 0px 12px; color: var(--ctp-mauve); font-size: 12px; }
.url-chart-metrics { display: flex; align-items: end; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--ctp-surface1); }
.url-metric-switch { display: flex; gap: 3px; padding: 3px; border: 1px solid var(--ctp-surface1); border-radius: 8px; background: var(--ctp-mantle); }
.url-metric-switch button { font-size: 12px; font-weight: 500; padding: 6px 13px; border-radius: 5px; color: var(--ctp-subtext0); }
.url-metric-switch button[aria-pressed="true"] { background: rgb(238, 230, 251); color: var(--ctp-mauve); }
.url-keyword { flex: 0 1 320px; }
.url-keyword select { padding-block: 7px; }
.url-ftd-total { font-size: 12px; color: var(--ctp-overlay1); padding: 7px 0px; }
.url-ftd-total strong { color: var(--ctp-text); font-weight: 600; margin-left: 8px; font-size: 16px; }
.url-chart-plot { position: relative; width: 100%; min-width: 0px; margin-top: 6px; }
.url-chart-plot svg { display: block; overflow: visible; }
.url-chart-plot svg text { font-family: inherit; font-size: 12px; fill: var(--ctp-overlay1); }
.url-grid { stroke: var(--ctp-surface1); stroke-width: 1; }
.url-ftd-bar { fill: var(--ctp-mauve); }
.url-rank-dot { fill: var(--ctp-mauve); stroke: var(--ctp-base); stroke-width: 3; }
.url-chart-plot svg .url-rank-value { font-size: 13px; font-weight: 600; fill: var(--ctp-mauve); }
.url-event { stroke: rgb(77, 154, 158); stroke-dasharray: 3, 5; stroke-opacity: 0.45; }
.url-event-dot { fill: rgb(77, 154, 158); }
.url-chart-empty { position: absolute; inset: 40px 0px 45px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 7px; padding: 16px; background: color-mix(in srgb,var(--ctp-base) 88%,transparent); pointer-events: none; }
.url-chart-empty strong { font-size: 14px; font-weight: 600; color: var(--ctp-text); }
.url-chart-empty span { font-size: 12px; color: var(--ctp-overlay1); max-width: 310px; line-height: 1.5; }
.url-chart-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--ctp-overlay1); line-height: 1.6; border-top: 1px solid var(--ctp-surface1); padding-top: 10px; margin-top: 5px; }
.url-event-key { color: rgb(98, 135, 138); }
.url-event-key small { font-size: inherit; color: var(--ctp-overlay1); }
.url-no-match { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; min-height: 200px; color: var(--ctp-overlay1); text-align: center; }
.url-no-match button { color: var(--ctp-mauve); }
.port-basic-count strong { font-weight: 600; color: var(--ctp-subtext0); }
@media (max-width: 1100px) {
  .url-performance { padding: 14px 12px 10px; }
  .url-chart-controls { grid-template-columns: minmax(0px, 1fr); }
  .url-status-filter { grid-template-columns: 46px minmax(0px, 1fr); align-items: center; }
  .url-keyword { flex-basis: 100%; }
  .url-chart-header { flex-wrap: wrap; }
  .url-selected > a { flex-basis: 100%; }
}
.url-period input { width: 68px; min-width: 68px; }
.url-picker { min-width: 0px; }
.url-picker-label { display: block; color: var(--ctp-overlay1); font-size: 12px; margin-bottom: 6px; }
.url-picker-trigger { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; padding: 8px 11px; min-height: 52px; border: 1px solid var(--ctp-surface1); border-radius: 8px; background: var(--ctp-base); color: var(--ctp-text); }
.url-picker-trigger:hover, .url-picker-trigger[aria-expanded="true"] { border-color: var(--ctp-mauve); }
.url-picker-trigger > img { width: 21px; height: 21px; border-radius: 4px; flex: 0 0 auto; }
.url-picker-current { display: flex; flex-direction: column; gap: 2px; min-width: 0px; flex: 1 1 0%; }
.url-picker-current strong { font-size: 12px; font-weight: 600; }
.url-picker-current > span { font-size: 11px; color: var(--ctp-overlay1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.url-picker-chevron { margin-left: auto; color: var(--ctp-overlay1); }
.url-picker-panel { position: fixed; inset: auto; margin: 0px; padding: 0px; border: 1px solid var(--ctp-surface1); border-radius: 12px; background: var(--ctp-base); color: var(--ctp-text); box-shadow: rgba(36, 51, 68, 0.145) 0px 12px 36px; overflow: hidden; max-width: calc(-24px + 100vw); font: 12px / 1.5 Inter, system-ui, sans-serif; }
.url-picker-panel:popover-open { display: flex; flex-direction: column; }
.url-picker-panel::backdrop { background: transparent; }
.url-picker-search { display: flex; align-items: center; gap: 9px; padding: 12px; border-bottom: 1px solid var(--ctp-surface1); flex-shrink: 0; }
.url-picker-search > svg { width: 17px; height: 17px; fill: none; stroke: var(--ctp-overlay1); stroke-width: 1.6; flex: 0 0 auto; }
.url-picker-search input { width: 100%; min-width: 0px; background: transparent; border: 0px; outline: none; font: inherit; color: var(--ctp-text); padding: 3px 0px; }
.url-picker-search:focus-within { box-shadow: inset 0 -2px var(--ctp-mauve); }
.url-picker-close { font-size: 20px; color: var(--ctp-overlay1); padding: 0px 4px; border: 0px; background: none; }
.url-picker-results { min-height: 60px; max-height: 275px; overflow: auto; overscroll-behavior: contain; padding: 5px 7px; flex: 1 1 0%; }
.url-picker-group { display: flex; align-items: center; gap: 7px; padding: 8px 7px; color: var(--ctp-subtext0); background: var(--ctp-base); position: sticky; top: -5px; z-index: 1; }
.url-picker-group img { width: 16px; height: 16px; border-radius: 3px; }
.url-picker-group strong { font-size: 11px; font-weight: 600; }
.url-picker-group > span { margin-left: auto; color: var(--ctp-overlay1); font-size: 11px; }
.url-picker-option { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 7px 8px; border: 0px; border-radius: 6px; background: transparent; text-align: left; color: var(--ctp-text); font: inherit; }
.url-picker-option:hover, .url-picker-option:focus-visible { background: rgb(241, 234, 250); outline: none; }
.url-picker-option[aria-selected="true"] { background: rgb(238, 229, 250); }
.url-picker-path { flex: 1 1 0%; min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.url-picker-option .url-live-status { font-size: 10px; padding: 2px 6px; }
.url-picker-tick { width: 12px; flex: 0 0 auto; color: var(--ctp-mauve); font-weight: 650; }
.url-picker-footer { display: flex; justify-content: space-between; gap: 8px; padding: 9px 12px; border-top: 1px solid var(--ctp-surface1); font-size: 10px; color: var(--ctp-overlay1); flex-shrink: 0; }
.url-picker-empty { padding: 25px 10px; text-align: center; color: var(--ctp-overlay1); }
@media (max-width: 520px) {
  .url-picker-footer > span:last-child { display: none; }
}
.date-range-trigger { display: flex; align-items: center; gap: 8px; border: 1px solid var(--ctp-surface1); border-radius: 7px; background: var(--ctp-base); padding: 8px 10px; color: var(--ctp-subtext0); font-size: 12px; white-space: nowrap; }
.date-range-trigger svg { height: 16px; width: 16px; fill: none; stroke: currentcolor; stroke-width: 1.5; }
.date-range-trigger[aria-expanded="true"] { border-color: var(--ctp-mauve); }
.date-range-panel { position: fixed; inset: auto; margin: 0px; border: 1px solid var(--ctp-surface1); border-radius: 12px; padding: 12px; background: var(--ctp-base); color: var(--ctp-text); box-shadow: rgba(36, 51, 68, 0.145) 0px 12px 36px; overflow: auto; font: 12px / 1.5 Inter, system-ui, sans-serif; }
.date-range-panel::backdrop { background: transparent; }
.date-presets { display: flex; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--ctp-surface1); }
.date-presets button { flex: 1 1 0%; padding: 6px; border: 1px solid var(--ctp-surface1); border-radius: 6px; color: var(--ctp-subtext0); }
.date-presets button:hover { background: rgb(238, 229, 250); color: var(--ctp-mauve); }
.date-range-summary { display: flex; align-items: center; justify-content: space-between; margin: 12px 4px; color: var(--ctp-overlay1); font-size: 10px; }
.date-range-summary strong { display: block; color: var(--ctp-text); font-size: 13px; font-weight: 600; }
.calendar-heading { display: flex; align-items: center; justify-content: space-between; margin: 10px 0px; }
.calendar-heading strong { font-size: 13px; font-weight: 600; }
.calendar-heading button { width: 32px; height: 28px; font-size: 20px; color: var(--ctp-overlay1); border-radius: 5px; }
.calendar-heading button:hover { background: var(--ctp-mantle); }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0px, 1fr)); text-align: center; gap: 3px; }
.calendar-weekdays { font-size: 10px; color: var(--ctp-overlay1); margin: 8px 0px; }
.calendar-days button { height: 32px; border-radius: 5px; font: inherit; color: var(--ctp-text); }
.calendar-days button:hover:not(:disabled) { background: rgb(238, 229, 250); }
.calendar-days button.in-range { background: rgb(240, 233, 251); color: rgb(115, 83, 164); }
.calendar-days button.selected { background: var(--ctp-mauve); color: white; font-weight: 600; }
.calendar-days button.today { box-shadow: inset 0 0 0 1px var(--ctp-mauve); }
.calendar-days button:disabled { opacity: 0.3; }
.date-calendar-hint { font-size: 10px; color: var(--ctp-subtext0); margin: 10px 0px; }
.date-calendar-hint span { color: var(--ctp-overlay1); }
.date-picker-footer { display: flex; justify-content: flex-end; gap: 8px; padding-top: 10px; border-top: 1px solid var(--ctp-surface1); }
.date-picker-footer button, .url-picker-footer button { padding: 6px 12px; border-radius: 6px; font-size: 12px; }
.date-apply { font-weight: 600; background: var(--ctp-mauve) !important; color: white !important; }
.comparison-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 2px 0px 12px; }
.comparison-controls > .url-picker { flex: 1 1 235px; max-width: 420px; }
.comparison-controls .url-metric-switch { margin-left: auto; }
.url-multi-trigger { min-height: 37px; padding: 7px 10px; font-size: 12px; }
.url-picker-icons { display: flex; align-items: center; gap: 2px; }
.url-picker-icons img { width: 18px; height: 18px; border-radius: 4px; border: 1px solid var(--ctp-surface1); }
.url-picker-domains { font-size: 11px; color: var(--ctp-overlay1); }
.url-picker-actions { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-bottom: 1px solid var(--ctp-surface1); flex-shrink: 0; }
.url-picker-actions button { font-size: 11px; color: var(--ctp-mauve); padding: 3px 0px; }
.url-picker-actions > span { margin-left: auto; font-size: 11px; color: var(--ctp-overlay1); }
.url-picker-columns { display: grid; grid-template-columns: minmax(0px, 1fr) 76px 52px 62px; gap: 8px; padding: 8px 28px 7px 42px; font-size: 10px; color: var(--ctp-overlay1); background: var(--ctp-mantle); flex-shrink: 0; }
.url-picker-columns > span:not(:first-child) { text-align: right; }
.url-picker-domain { margin: 0px; padding: 0px; border: 0px; min-width: 0px; }
.url-picker-multi .url-picker-results { max-height: 275px; }
.url-picker-multi .url-picker-group { padding: 9px 7px; }
.url-picker-group input, .url-picker-page input { accent-color: var(--ctp-mauve); height: 14px; width: 14px; flex: 0 0 auto; cursor: pointer; appearance: auto !important; }
.url-picker-multi .url-picker-option { display: grid; grid-template-columns: minmax(0px, 1fr) 76px 52px 62px; gap: 8px; min-height: 36px; cursor: pointer; padding: 7px; }
.url-picker-option.is-selected { background: rgb(241, 234, 250); }
.url-picker-page { display: flex; gap: 9px; align-items: center; min-width: 0px; }
.url-picker-multi .url-live-status { justify-self: end; }
.url-picker-number { text-align: right; font-variant-numeric: tabular-nums; font-size: 12px; }
.url-picker-multi .url-picker-footer { align-items: center; }
.url-picker-footer > div { display: flex; gap: 5px; flex-shrink: 0; }
.comparison-stage { position: relative; min-width: 0px; margin: 4px 0px; }
.comparison-stage svg { display: block; overflow: visible; }
.comparison-stage svg text { font: 11px Inter, system-ui, sans-serif; fill: var(--ctp-overlay1); }
.comparison-stage svg .comparison-axis-title { font-size: 11px; fill: var(--ctp-subtext0); }
.comparison-point { cursor: crosshair; }
.comparison-point:focus-visible { outline: none; }
.comparison-point:focus-visible > circle:last-child { stroke: var(--ctp-text); stroke-width: 2; }
.comparison-empty { position: absolute; inset: 50px 25px 55px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; background: color-mix(in srgb,var(--ctp-base) 90%,transparent); text-align: center; color: var(--ctp-overlay1); }
.comparison-empty strong { color: var(--ctp-subtext0); font-size: 14px; }
.comparison-tooltip { position: absolute; z-index: 3; pointer-events: none; width: min(270px, 100%); display: flex; flex-direction: column; gap: 5px; padding: 12px; border: 1px solid var(--ctp-surface1); border-radius: 8px; background: var(--ctp-base); box-shadow: rgba(36, 51, 68, 0.133) 0px 6px 18px; font-size: 11px; color: var(--ctp-overlay1); }
.comparison-tooltip strong { display: flex; align-items: center; gap: 6px; color: var(--ctp-text); font-weight: 600; }
.comparison-tooltip i, .comparison-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.comparison-tooltip b { color: var(--ctp-text); font-size: 14px; }
.comparison-tooltip-path { overflow-wrap: anywhere; }
.comparison-url-list { border-top: 1px solid var(--ctp-surface1); padding-top: 12px; margin-top: 2px; }
.comparison-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-size: 11px; color: var(--ctp-overlay1); }
.comparison-list-heading > span { display: flex; align-items: center; gap: 7px; }
.comparison-list-heading b { font-size: 10px; font-weight: 500; background: var(--ctp-surface0); padding: 2px 6px; border-radius: 4px; color: var(--ctp-subtext0); }
.comparison-list-heading > div { display: flex; align-items: center; gap: 12px; }
.comparison-list-heading button { font-size: 11px; color: var(--ctp-mauve); padding: 4px 0px; }
.comparison-list-heading #comparison-add { display: flex; align-items: center; gap: 4px; border: 1px solid color-mix(in srgb,var(--ctp-mauve) 22%,transparent); border-radius: 6px; padding: 5px 8px; background: color-mix(in srgb,var(--ctp-mauve) 5%,transparent); font-weight: 500; }
.comparison-list-heading #comparison-add:hover { background: color-mix(in srgb,var(--ctp-mauve) 10%,transparent); }
.comparison-legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 4px 12px; padding: 0px 0px 10px; max-height: 255px; overflow: auto; scrollbar-width: thin; scrollbar-color: var(--ctp-surface2) transparent; }
.comparison-series { display: flex; align-items: center; min-width: 0px; border-radius: 6px; padding: 5px 6px; gap: 5px; }
.comparison-series:hover { background: color-mix(in srgb,var(--ctp-surface0) 60%,transparent); }
.comparison-series > label { display: flex; align-items: center; gap: 9px; min-width: 0px; flex: 1 1 0%; cursor: pointer; color: var(--ctp-subtext0); }
.comparison-series input { width: 15px; height: 15px; flex-shrink: 0; margin: 0px; accent-color: var(--series-color); cursor: pointer; }
.comparison-series input:focus-visible { outline: 2px solid var(--ctp-mauve); outline-offset: 3px; }
.comparison-series-favicon { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; border-radius: 5px; background: var(--ctp-base); }
.comparison-series-name { min-width: 0px; flex: 1 1 0%; }
.comparison-series strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 500; }
.comparison-series small { display: block; font-size: 11px; color: var(--ctp-overlay1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comparison-series b { font-weight: 600; white-space: nowrap; font-size: 12px; }
.comparison-series b small { display: inline; font-weight: 400; font-size: 10px; }
.comparison-series.is-hidden .comparison-series-name, .comparison-series.is-hidden b { opacity: 0.48; }
.comparison-remove { flex: 0 0 auto; width: 24px; height: 28px; border-radius: 5px; color: var(--ctp-overlay1); font-size: 17px; line-height: 1; }
.comparison-remove:hover { background: var(--ctp-surface0); color: var(--ctp-red); }
.comparison-source-note { font-size: 11px; line-height: 1.5; color: var(--ctp-overlay1); margin: 7px 0px 0px; }
@media (max-width: 1100px) {
  .comparison-controls > .url-picker { max-width: none; }
  .comparison-controls .url-metric-switch { margin-left: 0px; }
  .date-picker { max-width: 100%; }
  .date-range-trigger { font-size: 11px; gap: 6px; }
  .url-chart-heading { gap: 9px; }
}
@media (max-width: 520px) {
  .url-picker-columns, .url-picker-multi .url-picker-option { grid-template-columns: minmax(0px, 1fr) 53px 39px 47px; gap: 4px; }
  .url-picker-columns { padding-left: 35px; padding-right: 17px; }
  .url-picker-number { font-size: 11px; }
  .url-picker-multi .url-live-status { font-size: 9px; padding: 2px 3px; }
  .url-picker-multi .url-picker-footer > span { display: none; }
  .url-picker-multi .url-picker-footer > div { margin-left: auto; }
  .url-picker-path { font-size: 11px; }
  .comparison-list-heading { gap: 6px; }
  .comparison-list-heading > div { gap: 8px; }
}
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; border: 0px !important; }
.comparison-total { margin-bottom: 5px; padding: 8px 35px 8px 6px; border-bottom: 1px solid var(--ctp-surface1); border-radius: 0px; }
.comparison-total-icon { width: 22px; height: 22px; display: grid; place-items: center; font: 600 17px Inter, system-ui, sans-serif; color: var(--series-color); background: var(--ctp-surface0); border-radius: 5px; flex: 0 0 auto; }
.comparison-total strong { display: flex; align-items: center; gap: 9px; }
.comparison-total strong i { display: inline-block; width: 22px; border-top: 2px dashed var(--series-color); }
.comparison-position-note { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; font-size: 11px; line-height: 1.5; color: var(--ctp-subtext0); margin: 0px 0px 9px; }
.comparison-position-note i { width: 20px; border-top: 2px dashed var(--ctp-overlay1); margin-right: 2px; }
.comparison-position-note span { color: var(--ctp-overlay1); }
.comparison-position-reference:focus-visible [data-position-reference] { stroke-width: 3; }
.comparison-series-values { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.comparison-series-values .comparison-period-range { font-size: 10px; color: var(--ctp-overlay1); font-weight: 400; }
.comparison-tooltip .comparison-source-dates { display: block; font-size: 12px; margin: 3px 0px 4px; }
.comparison-date-scrubber { cursor: crosshair; }
.comparison-date-scrubber:focus-visible { outline: 1px solid var(--ctp-mauve); outline-offset: 3px; }
.position-change.up { color: var(--ctp-green); }
.position-change.down { color: var(--ctp-red); }
.position-change.steady, .position-change.unavailable { color: var(--ctp-overlay1); }
.comparison-series-values .position-change { font-weight: 500; font-size: 11px; }
.comparison-position-note b { font-size: inherit; }
/* Shared domain colour for FTD and position lines; a solid neutral total. */
.comparison-domain-line{display:inline-block;width:16px;height:0;border-top:2px solid var(--series-color);margin:0 6px 3px 0;vertical-align:middle}.comparison-total .comparison-series-name strong i{border-top-style:solid}
.comparison-tooltip[hidden]{display:none}
.comparison-tooltip-shared{width:min(380px,100%);gap:8px;padding:12px;box-sizing:border-box}
.comparison-tooltip-shared.is-pinned{pointer-events:auto;border-color:var(--ctp-mauve)}
.comparison-hover-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.comparison-hover-heading strong{font-size:13px}
.comparison-hover-close{width:22px;height:22px;font-size:18px;line-height:1;color:var(--ctp-overlay1);border-radius:4px}
.comparison-hover-close:hover{background:var(--ctp-surface0);color:var(--ctp-text)}
.comparison-hover-period{font-size:11px;color:var(--ctp-subtext0)}
.comparison-hover-scroll{max-height:245px;overflow:auto;scrollbar-width:thin}
.comparison-hover-table{width:100%;border-collapse:collapse;table-layout:fixed}
.comparison-hover-table th,.comparison-hover-table td{padding:9px 4px;border-bottom:1px solid var(--ctp-surface1);vertical-align:middle;text-align:center}
.comparison-hover-table th:first-child{width:auto;text-align:left;padding-left:0}
.comparison-hover-table th:not(:first-child),.comparison-hover-table td{width:55px;font-variant-numeric:tabular-nums}
.comparison-hover-table thead th{position:sticky;top:0;background:var(--ctp-base);font-size:10px;font-weight:500;color:var(--ctp-overlay1);padding-top:4px;padding-bottom:6px}
.comparison-hover-table thead small{display:block;font-size:10px;font-weight:400;white-space:nowrap;margin-top:2px}
.comparison-hover-table tbody td{font-size:13px;font-weight:600;color:var(--ctp-text)}
.comparison-hover-url{display:flex;align-items:center;gap:5px;min-width:0}
.comparison-hover-url img{width:16px;height:16px;object-fit:contain;flex:none;border-radius:3px}
.comparison-hover-url>span{min-width:0}
.comparison-hover-url strong{display:block;font-size:11px;font-weight:500;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.comparison-hover-url small{display:block;font-size:11px;font-weight:400;color:var(--ctp-subtext0);white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.4;margin-top:2px}
.comparison-hover-table td small{display:block;font-size:9px;font-weight:400;color:var(--ctp-overlay1)}
.comparison-hover-table tfoot th,.comparison-hover-table tfoot td{border-bottom:0;font-size:12px;font-weight:600;color:var(--ctp-text);padding-bottom:2px}
.comparison-hover-table tfoot small{font-size:10px;color:var(--ctp-overlay1);font-weight:400;margin-left:4px}
.comparison-hover-table tfoot th,.comparison-hover-table tfoot td{position:sticky;bottom:0;background:var(--ctp-base)}
.comparison-tooltip-shared .comparison-hover-table th:first-child{text-align:left}
.comparison-hover-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:10px;color:var(--ctp-overlay1);line-height:1.4}
.comparison-hover-foot>span{color:var(--ctp-mauve)}
.comparison-empty{pointer-events:none}
.url-comparison{position:sticky;top:var(--comparison-sticky-top,160px);height:calc(100dvh - var(--comparison-space-top,var(--comparison-sticky-top,160px)) - 12px);min-height:430px;display:flex;flex-direction:column;padding:12px 16px 8px;overflow:hidden}
.url-comparison>.url-chart-header{flex:none;margin-bottom:8px}
.url-comparison>.comparison-controls{flex:none;margin:0 0 6px}
.url-comparison>.comparison-position-note{flex:none;margin-bottom:4px}
.url-comparison>.comparison-stage{flex:none;margin:0 0 4px}
.url-comparison #comparison-chart{position:relative;height:clamp(140px,calc(100dvh - var(--comparison-sticky-top,160px) - 400px),290px)}
.url-comparison>.comparison-list-heading{flex:none;margin:0;padding:2px 0;border-bottom:1px solid var(--ctp-surface1)}
.comparison-tooltip.comparison-readout{position:static;flex:1;min-height:0;width:100%;pointer-events:auto;border:0;border-top:1px solid var(--ctp-surface1);border-radius:0;padding:6px 0 0;box-shadow:none;gap:4px;overflow:hidden}
.comparison-readout .comparison-hover-heading{flex:none;min-height:26px;align-items:center;gap:8px}
.comparison-readout .comparison-hover-heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px}
.comparison-readout .comparison-hover-heading strong{font-size:12px}
.comparison-readout .comparison-hover-heading span,.comparison-readout .comparison-hover-heading>small{font-size:10px;font-weight:400;color:var(--ctp-overlay1)}
.comparison-readout .comparison-hover-heading>small{white-space:nowrap}
.comparison-follow{font-size:10px;white-space:nowrap;border:1px solid var(--ctp-mauve);border-radius:4px;color:var(--ctp-mauve);padding:3px 6px}
.comparison-readout .comparison-hover-scroll{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.comparison-readout .comparison-hover-table th,.comparison-readout .comparison-hover-table td{padding:3px 4px}
.comparison-readout .comparison-hover-table th:first-child{padding-left:0}
.comparison-readout .comparison-hover-table th:not(:first-child),.comparison-readout .comparison-hover-table td{width:66px}
.comparison-readout .comparison-hover-table .comparison-readout-action{width:28px;padding:0;text-align:center}
.comparison-readout .comparison-hover-table thead th{z-index:2;font-size:11px;padding-top:2px;padding-bottom:4px}
.comparison-readout .comparison-hover-table tbody td{font-size:12px}
.comparison-readout .comparison-hover-url{gap:7px;cursor:pointer}
.comparison-readout input[type=checkbox]{width:14px;height:14px;margin:0;flex:none;cursor:pointer}
.comparison-readout .comparison-hover-url i{width:5px;height:5px}
.comparison-readout .comparison-hover-url small{margin:0;font-size:11px;line-height:1.35}
.comparison-readout .comparison-hover-table .is-hidden{opacity:.45}
.comparison-readout .comparison-hover-table tfoot label{display:flex;align-items:center;gap:7px;white-space:nowrap}
.comparison-readout .comparison-hover-table tfoot{accent-color:#334155}
.comparison-readout .comparison-hover-table tfoot th,.comparison-readout .comparison-hover-table tfoot td{z-index:2;padding-block:6px;border-top:1px solid var(--ctp-surface1)}
.comparison-readout .comparison-hover-foot{flex:none;font-size:10px;padding-top:1px}
.comparison-readout-empty{text-align:left!important;padding:16px 0!important}
.comparison-readout-actions{display:flex;flex:none;align-items:center;gap:12px;font-size:11px;color:var(--ctp-mauve)}
.comparison-readout-actions #comparison-add{border:1px solid color-mix(in srgb,var(--ctp-mauve) 25%,transparent);border-radius:5px;padding:4px 7px;background:color-mix(in srgb,var(--ctp-mauve) 5%,transparent)}
.comparison-readout .comparison-hover-foot>span:first-child{color:var(--ctp-overlay1)}
.url-comparison>.url-chart-header{flex-wrap:wrap;gap:8px}
.url-date-controls{display:flex;align-items:center;gap:7px;margin-left:auto}
.chart-interval-picker{display:block;flex:none}
.chart-interval-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:96px;height:36px;padding:0 10px;background:var(--ctp-base);border:1px solid var(--ctp-surface1);border-radius:7px;font-size:12px;color:var(--ctp-subtext0)}
.chart-interval-trigger>svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.chart-interval-trigger:hover,.chart-interval-trigger[aria-expanded=true]{border-color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 4%,var(--ctp-base))}
.chart-interval-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}
.chart-interval-menu{position:fixed;inset:auto;margin:0;padding:6px;border:1px solid var(--ctp-surface1);border-radius:10px;background:var(--ctp-base);color:var(--ctp-text);box-shadow:0 8px 24px #2433441a;overflow:auto;font:12px/1.5 Inter,system-ui,sans-serif}
.chart-interval-menu::backdrop{background:transparent}
.chart-interval-heading{margin:3px 8px 5px;font-size:10px;font-weight:500;color:var(--ctp-overlay1)}
.chart-interval-menu [data-interval]{display:flex;align-items:center;gap:8px;width:100%;min-height:35px;padding:7px 8px;border:0;border-radius:6px;text-align:left;background:transparent;color:var(--ctp-subtext0);font:inherit}
.chart-interval-menu [data-interval]>svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.chart-interval-menu [data-interval][aria-checked=true]{background:color-mix(in srgb,var(--ctp-mauve) 10%,var(--ctp-base));color:var(--ctp-mauve);font-weight:600}
.chart-interval-menu [aria-checked=true]>svg{visibility:visible}
.chart-interval-menu [data-interval]:not(:disabled):hover{background:color-mix(in srgb,var(--ctp-mauve) 14%,var(--ctp-base))}
.chart-interval-menu [data-interval]:disabled{opacity:1;color:var(--ctp-overlay1);cursor:default}
.chart-interval-menu [data-interval]>small{margin-left:auto;font-size:9px;font-weight:400;color:var(--ctp-overlay1);background:var(--ctp-mantle);padding:2px 5px;border-radius:4px}
.chart-interval-trigger:focus-visible,.chart-interval-menu [data-interval]:focus-visible{outline:2px solid var(--ctp-mauve);outline-offset:1px}
.comparison-readout .comparison-hover-table th.comparison-position-cell,.comparison-readout .comparison-hover-table td.comparison-position-cell{width:112px}
.comparison-position-cell>small{display:block;font-size:10px;font-weight:400;line-height:1.4}
.comparison-readout .comparison-hover-table .comparison-position-period{font-size:10px;white-space:nowrap}
.comparison-position-number{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600}
.comparison-position-number i{width:17px;height:0;border:0;border-top:2px dashed currentColor;border-radius:0}
.comparison-position-average:focus-visible{outline:none}
.comparison-position-average:focus-visible line:last-of-type{stroke-width:3}
.comparison-ftd-unavailable{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:8px 10px;margin:0 0 7px;border:1px solid color-mix(in srgb,var(--ctp-mauve) 20%,var(--ctp-surface1));border-radius:6px;background:color-mix(in srgb,var(--ctp-mauve) 4%,var(--ctp-base));font-size:11px;line-height:1.4}
.comparison-ftd-unavailable>span{display:flex;flex-direction:column;gap:1px}
.comparison-ftd-unavailable strong{font-size:11px;font-weight:500;color:var(--ctp-text)}
.comparison-ftd-unavailable small{font-size:10px;color:var(--ctp-subtext0)}
.comparison-ftd-unavailable button{flex:none;padding:5px 8px;border:1px solid color-mix(in srgb,var(--ctp-mauve) 30%,transparent);border-radius:5px;color:var(--ctp-mauve);background:var(--ctp-base);font-size:11px}
@media(max-width:600px){.url-comparison{padding-inline:10px}.comparison-readout .comparison-hover-heading>small{display:none}.comparison-readout .comparison-hover-table th:not(:first-child),.comparison-readout .comparison-hover-table td{width:48px}.comparison-readout .comparison-hover-table .comparison-readout-action{width:22px}}

/* Shared cursor values, above the chart and outside its clipping boundary. */
.comparison-floating{position:fixed;inset:auto;margin:0;width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:0;background:var(--ctp-base);color:var(--ctp-text);border:1px solid color-mix(in srgb,var(--ctp-mauve) 35%,var(--ctp-surface1));border-radius:10px;box-shadow:0 10px 36px #24334426;pointer-events:none;overflow:visible;font-size:12px;font-family:Inter,system-ui,sans-serif}
.comparison-floating:popover-open{display:flex;flex-direction:column}
.comparison-floating.is-pinned{pointer-events:auto}
.comparison-floating::after{content:'';position:absolute;left:var(--cursor-left,50%);top:-5px;width:8px;height:8px;background:var(--ctp-base);border-top:1px solid color-mix(in srgb,var(--ctp-mauve) 35%,var(--ctp-surface1));border-left:1px solid color-mix(in srgb,var(--ctp-mauve) 35%,var(--ctp-surface1));transform:translateX(-50%) rotate(45deg)}
.comparison-floating.is-above::after{top:auto;bottom:-5px;transform:translateX(-50%) rotate(225deg)}
.comparison-floating>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--ctp-surface1)}
.comparison-floating>header strong{font-size:13px;font-weight:600}
.comparison-floating>header small{display:block;font-size:11px;color:var(--ctp-overlay1);margin-top:3px}
.comparison-floating>header>span{font-size:10px;color:var(--ctp-overlay1)}
.comparison-floating>header button{font-size:20px;width:25px;height:25px;border-radius:5px;color:var(--ctp-overlay1)}
.comparison-floating-scroll{max-height:min(380px,calc(100dvh - 145px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 14px}
.comparison-floating table{width:100%;border-collapse:collapse;table-layout:fixed}
.comparison-floating th,.comparison-floating td{padding:10px 0;border-bottom:1px solid var(--ctp-surface1);text-align:center;vertical-align:middle;font-variant-numeric:tabular-nums}
.comparison-floating th:first-child{text-align:left;font-weight:500}
.comparison-floating thead th{position:sticky;top:0;z-index:1;background:var(--ctp-base);font-size:10px;color:var(--ctp-overlay1);font-weight:500;padding-block:7px}
.comparison-floating th:not(:first-child),.comparison-floating td{width:87px;padding-left:10px}
.comparison-floating tbody td{font-size:13px;font-weight:600}
.comparison-floating td small,.comparison-floating thead small{display:block;font-size:10px;color:var(--ctp-overlay1);font-weight:400;white-space:nowrap;margin-top:2px}
.comparison-floating-url{display:flex;align-items:center;gap:7px;min-width:0}
.comparison-floating-url>i{width:6px;height:6px;border-radius:50%;flex:none}
.comparison-floating-url>img{flex:none;border-radius:3px;object-fit:contain}
.comparison-floating-url>span{min-width:0}
.comparison-floating-url strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.comparison-floating-url small{display:block;font-size:11px;color:var(--ctp-overlay1);overflow-wrap:anywhere;line-height:1.4;margin-top:2px}
.comparison-floating tfoot th,.comparison-floating tfoot td{position:sticky;bottom:0;background:var(--ctp-base);font-size:12px;font-weight:600;border:0}
.comparison-floating tfoot small{font-weight:400;color:var(--ctp-overlay1);font-size:10px;margin-left:5px}
.comparison-floating>footer{font-size:10px;color:var(--ctp-overlay1);padding:8px 14px;border-top:1px solid var(--ctp-surface1)}
.url-picker-grouping{display:flex;align-items:center;gap:4px;padding:9px 12px;border-bottom:1px solid var(--ctp-surface1);flex:none}
.url-picker-grouping button{padding:6px 10px;border-radius:5px;font-size:12px;color:var(--ctp-subtext0)}
.url-picker-grouping button[aria-pressed=true]{color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 10%,var(--ctp-base));font-weight:600}
.url-picker-grouping>span{margin-left:auto;color:var(--ctp-overlay1);font-size:10px}
.url-picker-row-site{display:flex;align-items:center;gap:5px;color:var(--ctp-overlay1);font-size:10px;margin-bottom:3px}
.url-picker-row-site img{width:14px;height:14px;border-radius:3px;object-fit:contain}
.url-picker-group strong{min-width:0;overflow-wrap:anywhere}
.url-picker-group small{font-size:10px;color:var(--ctp-overlay1);font-weight:400}
@media(max-width:520px){.comparison-floating th:not(:first-child),.comparison-floating td{width:68px}.comparison-floating-scroll{padding-inline:10px}.comparison-floating td small{font-size:9px}.url-picker-grouping>span{display:none}}
/* Compact translucent hover card; opacity applies to the surface, not its text. */
.comparison-floating{width:min(380px,calc(100vw - 24px));background:color-mix(in srgb,var(--ctp-base) 88%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 3px 12px #2433440d;border-color:color-mix(in srgb,var(--ctp-mauve) 24%,transparent);border-radius:8px}
.comparison-floating::after{background:color-mix(in srgb,var(--ctp-base) 88%,transparent)}
.comparison-floating>header{padding:6px 9px;gap:8px;flex:none}
.comparison-floating>header strong{font-size:12px}
.comparison-floating>header small{font-size:10px;margin-top:2px}
.comparison-floating-scroll{padding:0 9px;min-height:0;max-height:min(240px,calc(100dvh - 100px));flex:1 1 auto}
.comparison-floating th,.comparison-floating td{padding-block:4px;background:transparent!important}
.comparison-floating thead th{padding-block:4px}
.comparison-floating th:first-child{padding-right:6px}
.comparison-floating th:not(:first-child),.comparison-floating td{width:72px;padding-inline:3px}
.comparison-floating tbody td{font-size:12px}
.comparison-floating-url{gap:5px}
.comparison-floating-url strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comparison-floating-url small{margin-top:1px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comparison-floating-url>img{width:14px;height:14px}
.comparison-floating td small,.comparison-floating thead small{font-size:9px}
.comparison-floating tfoot th,.comparison-floating tfoot td{padding-block:5px;font-size:11px}
.comparison-floating>footer{padding:5px 9px;font-size:10px;flex:none}
.comparison-floating.is-pinned{background:color-mix(in srgb,var(--ctp-base) 94%,transparent)}
.comparison-data-limit{flex:none;margin:0 0 6px;font-size:11px;line-height:1.5;color:var(--ctp-subtext0)}
.comparison-data-limit strong{font-weight:600;color:var(--ctp-text)}

.url-chart-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cove-source{color:var(--ctp-mauve);font-size:12px}.cove-source span{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:99px;background:var(--ctp-mantle);color:var(--ctp-subtext0);font-size:10px}

.url-comparison{position:relative;top:auto;height:auto;min-height:0;overflow:visible}.url-comparison #comparison-chart{height:clamp(200px,32vh,320px)}.comparison-tooltip.comparison-readout{flex:none;max-height:360px}.comparison-readout .comparison-hover-scroll{max-height:280px;flex:auto}.comparison-readout .comparison-hover-table th:not(:first-child),.comparison-readout .comparison-hover-table td{text-align:center}
}
.planner-portfolio{min-width:0;width:100%;font-size:13px}.portfolio-note{font-size:12px;color:var(--ctp-subtext0);margin:8px 0 12px;line-height:1.6}.portfolio-note a{color:var(--ctp-mauve)}

@media(max-width:600px){
 .planner-portfolio .comparison-readout .comparison-hover-table th:nth-child(2),.planner-portfolio .comparison-readout .comparison-hover-table td:nth-child(2){width:62px}
 .planner-portfolio .comparison-readout .comparison-hover-table th.comparison-position-cell,.planner-portfolio .comparison-readout .comparison-hover-table td.comparison-position-cell{width:74px}
 .planner-portfolio .comparison-readout .comparison-hover-table .comparison-readout-action{width:22px}
 .planner-portfolio .comparison-hover-table thead small{white-space:normal;line-height:1.3}
}
