.pl-copy { line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; }
.pl-hero { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; }
.pl-hero img { width: 170px; height: 170px; object-fit: contain; }
.pl-hero h1 { margin: 12px 0; }
.pl-teasers { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pl-teasers .pl-card { margin: 0; }
.pl-illustration { margin-top: 24px; padding: 28px 14px; border: 1px dashed var(--accent); color: var(--accent); text-align: center; line-height: 1.8; border-radius: 8px; }
.pl-locked { display: grid; gap: 12px; margin: 20px 0; }
.pl-locked > section { padding: 12px 20px; border-left: 2px solid var(--rule); color: var(--muted); }
.pl-locked h3 { margin: 8px 0; }
.pl-card { padding: 26px; margin: 20px 0; background: var(--card); border: 1px solid var(--rule); border-radius: 10px; }
.pl-card h2 { font-size: 24px; line-height: 1.45; margin: 0 0 18px; }
.pl-card h3, .pl-card h4 { line-height: 1.5; margin: 22px 0 8px; }
.pl-badges { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px; margin: 22px 0; }
.pl-badges > div { border-left: 3px solid var(--accent); padding: 8px 16px; display: grid; gap: 9px; }
.pl-badges span { font-size: 13px; color: var(--muted); }
.pl-badges strong { font-size: 20px; line-height: 1.45; }
.pl-manual { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; line-height: 1.6; }
.pl-manual input { width: 20px; height: 20px; accent-color: var(--accent); flex: 0 0 auto; }
.pl-summary { margin: 20px 0; padding: 16px; border: 1px solid var(--rule); border-radius: 8px; }
.pl-summary summary { cursor: pointer; }
.pl-summary li { margin: 12px 0; line-height: 1.8; overflow-wrap: anywhere; }
.pl-history-provenance { display: block; color: var(--muted); font-size: 12px; }
.pl-payload { max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; padding: 16px; background: var(--bg); border: 1px solid var(--rule); border-radius: 6px; }
.pl-notice { min-height: 1em; white-space: pre-wrap; line-height: 1.7; color: var(--accent); }
.pl-progress progress { width: calc(100% - 65px); height: 12px; accent-color: var(--accent); margin-right: 12px; }
.pl-progress-value { color: var(--accent); }
.pl-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--rule); padding: 8px 0; overflow: auto; }
.pl-tab { padding: 12px 18px; white-space: nowrap; border: 0; border-radius: 7px; background: none; font: inherit; color: var(--text); cursor: pointer; }
.pl-tab.active { background: var(--accent); color: white; }
.pl-score { display: block; font-size: 64px; color: var(--accent); margin: 12px 0; }
.pl-quadrants { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px 0; }
.pl-quadrant { min-width: 0; padding: 24px 16px; background: var(--bg); border: 1px solid var(--rule); display: grid; gap: 12px; border-radius: 7px; white-space: pre-line; }
.pl-quadrant.active { border: 2px solid var(--accent); background: var(--accent-soft); }
.pl-quadrant span { font-size: 24px; color: var(--accent); }
.pl-radar-card > svg { display: block; width: 100%; max-width: 540px; margin: 0 auto 12px; overflow: visible; }
.pl-radar-card svg text { font: 12px sans-serif; fill: var(--text); }
.pl-grid-line { fill: none; stroke: var(--rule); stroke-width: 1; }
.pl-radar-fill { fill: #2d6a5b28; stroke: var(--accent); stroke-width: 2; }
.pl-values { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; padding-top: 12px; border-top: 1px solid var(--rule); }
.pl-values dd { margin: 0; color: var(--accent); }
.pl-list li { margin: 16px 0; line-height: 1.8; }
.pl-list p { margin: 6px 0; }
.pl-actions-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.pl-actions-grid > section { min-width: 0; }
.pl-weakness { margin: 24px 0; border-top: 1px solid var(--rule); padding-top: 22px; }
.pl-dialog { width: min(680px,calc(100vw - 32px)); max-height: 85vh; padding: 28px; border: 1px solid var(--rule); border-radius: 12px; color: var(--text); background: var(--card); }
.pl-dialog::backdrop { background: #17384577; }
.pl-dialog img { width: 100%; height: auto; }
@media (max-width:600px) { .pl-hero { grid-template-columns: 1fr; gap: 12px; } .pl-hero img { width: 130px; height: 130px; justify-self: end; } .pl-teasers { grid-template-columns: 1fr; } .pl-card { padding: 20px 16px; } .pl-card h2 { font-size: 21px; } .pl-actions-grid { grid-template-columns: 1fr; gap: 12px; } .pl-tab { padding: 10px 12px; } .pl-dialog { padding: 20px; } }
@media (prefers-reduced-motion:reduce) { .pl-dialog, .pl-tabs { scroll-behavior:auto; } }
