.pm-section { padding: 0; overflow: hidden; }
.pm-heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; padding: 22px 24px 20px; border-bottom: 1px solid var(--line); }
.pm-heading h3 { margin: 5px 0 5px; font: 600 22px/1.15 var(--display); letter-spacing: -.045em; }
.pm-heading p { max-width: 640px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.pm-status { flex: 0 0 auto; padding: 5px 7px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font: 500 10px/1.3 var(--mono); }
.pm-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.pm-comparison > article { min-width: 0; padding: 19px 24px 22px; }
.pm-comparison > article + article { border-left: 1px solid var(--line); }
.pm-step { color: #777; font: 500 10px/1.4 var(--mono); letter-spacing: .04em; }
.pm-comparison h4, .pm-need-area h4 { margin: 6px 0 12px; color: var(--ink); font: 600 15px/1.25 var(--display); }
.pm-empty { color: var(--muted); font-size: 12px; line-height: 1.55; }
.pm-cue-list { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.pm-cue-list li { min-width: 0; }
.pm-cue-list strong, .pm-cue-list span { display: block; }
.pm-cue-list strong { color: #272727; font-size: 12px; font-weight: 600; }
.pm-cue-list span { margin-top: 2px; color: var(--muted); font-size: 11px; }
.pm-cue-list p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.pm-cue-list blockquote, .pm-hypothesis blockquote { margin: 7px 0 3px; padding-left: 10px; border-left: 2px solid #d2d2d0; color: #4a4a4a; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.pm-cue-list small, .pm-hypothesis small { display: block; color: #888; font-size: 10px; line-height: 1.4; }
.pm-inspect-source { display: inline-block; margin-top: 6px; padding: 0; border: 0; background: transparent; color: #405bb1; font: 500 10px/1.4 var(--font); cursor: pointer; }
@media (hover: hover) and (pointer: fine){.pm-inspect-source:hover { text-decoration: underline; }}
.pm-need-area { padding: 20px 24px 22px; }
.pm-need-area > div:first-child p { margin: -5px 0 15px; color: var(--muted); font-size: 11px; }
.pm-hypotheses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px; }
.pm-hypothesis { min-width: 0; padding: 14px 15px; border: 1px solid var(--line); border-radius: 4px; background: #fbfbfa; }
.pm-hypothesis-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 8px; align-items: baseline; }
.pm-hypothesis-head span { color: #999; font: 500 10px/1.2 var(--mono); }
.pm-hypothesis-head strong { color: #272727; font-size: 12px; line-height: 1.35; }
.pm-hypothesis-head em { grid-column: 2; color: #777; font: 500 10px/1.2 var(--mono); font-style: normal; }
.pm-opposition { margin: 9px 0 0; color: #666; font-size: 11px; line-height: 1.5; }
.pm-usefulness { margin: 10px 0 0; color: #353535; font-size: 11px; line-height: 1.5; }
.pm-question { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.pm-question span { color: #777; font: 500 10px/1.3 var(--mono); text-transform: uppercase; }
.pm-question p { margin: 4px 0 6px; color: #393939; font-size: 11px; line-height: 1.5; }
.pm-question button, .pm-footer button { padding: 0; border: 0; background: none; color: #405bb1; font: 500 11px/1.4 var(--font); cursor: pointer; }
@media (hover: hover) and (pointer: fine){.pm-question button:hover, .pm-footer button:hover { text-decoration: underline; }}
.pm-outcome-area { padding: 20px 24px 22px; border-top: 1px solid var(--line); }
.pm-outcome-head { display: flex; justify-content: space-between; align-items: start; gap: 18px; }
.pm-outcome-head h4 { margin: 6px 0 4px; color: var(--ink); font: 600 15px/1.25 var(--display); }
.pm-outcome-head p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.pm-outcome-head button, .pm-outcomes button { flex: 0 0 auto; padding: 0; border: 0; background: none; color: #405bb1; font: 500 11px/1.4 var(--font); cursor: pointer; }
@media (hover: hover) and (pointer: fine){.pm-outcome-head button:hover, .pm-outcomes button:hover { text-decoration: underline; }}
.pm-outcomes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.pm-outcomes li { min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 4px; }
.pm-outcomes li > div { display: flex; justify-content: space-between; gap: 8px; }
.pm-outcomes strong { font-size: 11px; }
.pm-outcomes span, .pm-outcomes small { color: var(--muted); font-size: 10px; }
.pm-outcomes p { margin: 6px 0; color: #424242; font-size: 11px; line-height: 1.4; }
.pm-footer { display: flex; gap: 20px; justify-content: space-between; align-items: center; padding: 12px 24px; border-top: 1px solid var(--line); background: #fafafa; }
.pm-footer p { margin: 0; color: #666; font-size: 11px; line-height: 1.5; }
.pm-footer button { flex: 0 0 auto; }
.pm-footer > div { min-width: 0; flex: 1; }
.pm-more { margin-top: 12px; color: #555; font-size: 11px; line-height: 1.6; }
.pm-more > summary { width: fit-content; min-height: 32px; padding: 5px 0; color: #405b91; cursor: pointer; }
.pm-more > summary:focus-visible { outline: 2px solid #496d9f; outline-offset: 3px; border-radius: 4px; }
.pm-more > ul { margin: 8px 0 0; padding-left: 18px; }
.pm-more > .pm-cue-list, .pm-more > .pm-outcomes { padding-left: 0; }
.pm-more li + li { margin-top: 7px; }
.pm-period { margin: -4px 0 14px; color: #666; font-size: 11px; line-height: 1.6; }
.pm-opposition ul { margin: 6px 0 0; padding-left: 17px; }
@media (max-width: 1120px) { .pm-comparison { grid-template-columns: minmax(0, 1fr); } .pm-comparison > article + article { border-left: 0; border-top: 1px solid var(--line); } }
@media (max-width: 680px) { .pm-heading { flex-direction: column; gap: 10px; } .pm-heading, .pm-comparison > article, .pm-need-area, .pm-outcome-area, .pm-footer { padding-left: 17px; padding-right: 17px; } .pm-outcome-head, .pm-footer { align-items: start; flex-direction: column; gap: 8px; } }
