/* Prompt Planner. Every class here starts with pp- so it never collides with the shared stylesheets. */
.pp-honest { background: var(--accent-soft); border-radius: 12px; padding: 10px 14px; margin: 0 0 14px; max-width: 90ch; }
.pp-modes { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--surface); margin-bottom: 14px; max-width: 100%; }
#tool-box textarea { width: 100%; font: inherit; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); resize: vertical; }
#tool-box .research-row { margin-top: 12px; }
.pp-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; }
.pp-view { display: grid; gap: 16px; min-width: 0; margin-top: 14px; }
.pp-view[hidden] { display: none; }
.pp-view > * { min-width: 0; }

.pp-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 12px; }
.pp-tile { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; display: grid; gap: 2px; min-width: 0; }
.pp-tile b { font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.pp-tile span { color: var(--muted); font-size: .82rem; }

.pp-findings { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.pp-charts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.pp-bars { display: grid; gap: 8px; min-height: 120px; }
.pp-bar { display: grid; grid-template-columns: 110px minmax(0, 1fr) 70px; gap: 8px; align-items: center; font-size: .86rem; }
.pp-bar .pp-lab { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-track { height: 14px; background: var(--surface-2); border-radius: 99px; overflow: hidden; }
.pp-fill { display: block; height: 100%; background: var(--accent); border-radius: 99px; min-width: 2px; }
.pp-fill.mofu { background: var(--chart-2); }
.pp-fill.bofu { background: var(--chart-4); }
.pp-fill.gap { background: var(--can-fg); }
.pp-fill.near { background: var(--chart-6); }
.pp-bar .pp-num { text-align: right; font-variant-numeric: tabular-nums; color: var(--muted); }

.pp-summary { white-space: pre-wrap; margin: 10px 0 0; max-width: 80ch; }

.pp-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 125px), 1fr)); gap: 10px; align-items: end; }
.pp-filters .field { min-width: 0; }
.pp-filters input, .pp-filters select { width: 100%; }
.pp-filters .pp-wide { grid-column: span 2; }
.pp-bar-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 10px 0; }
.pp-save { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.pp-scroll { overflow: auto; max-width: 100%; max-height: 640px; border: 1px solid var(--line); border-radius: 12px; }
.pp-scroll .mini { width: 100%; }
.pp-scroll .mini td, .pp-scroll .mini th { white-space: nowrap; }
.pp-scroll .mini td.pp-text { white-space: normal; min-width: 280px; max-width: 520px; overflow-wrap: anywhere; }
.pp-scroll .mini td.pp-wrap { white-space: normal; min-width: 220px; max-width: 420px; overflow-wrap: anywhere; }
.pp-pill { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: .76rem; font-weight: 700; background: var(--unk-bg); color: var(--unk-fg); }
.pp-pill.ranking, .pp-pill.low { background: var(--cov-bg); color: var(--cov-fg); }
.pp-pill.striking, .pp-pill.mid { background: var(--gap-bg); color: var(--gap-fg); }
.pp-pill.gap, .pp-pill.high { background: var(--can-bg); color: var(--can-fg); }
.pp-link { all: unset; cursor: pointer; color: var(--accent-strong); font-weight: 650; border-radius: 6px; }
.pp-link:hover { text-decoration: underline; }
.pp-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pp-more { text-align: center; margin: 8px 0 0; }

.pp-detail { display: grid; gap: 10px; }
.pp-detail ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.pp-detail-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: baseline; }

.pp-slot { display: grid; gap: 10px; }
.pp-slot h3 { margin: 6px 0 0; font-size: 1.05rem; }
.pp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.pp-rcard { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; display: grid; gap: 8px; align-content: start; min-width: 0; }
.pp-rcard h4 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.pp-rcard .pp-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.pp-rcard ul { margin: 0; padding-left: 18px; display: grid; gap: 3px; font-size: .9rem; }
.pp-rcard p { margin: 0; font-size: .88rem; color: var(--muted); }

.pp-mix { display: grid; gap: 8px; }
.pp-statement { font-weight: 650; margin: 0; max-width: 90ch; }

@media (max-width: 700px) {
  .pp-bar { grid-template-columns: 90px minmax(0, 1fr) 58px; }
  .pp-filters .pp-wide { grid-column: auto; }
  .pp-scroll { max-height: none; overflow: visible; border: 0; }
  .pp-scroll .mini, .pp-scroll .mini tbody, .pp-scroll .mini thead { display: block; width: 100%; }
  .pp-scroll .mini thead tr { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
  .pp-scroll .mini thead th { display: block; padding: 0; border: 0; position: static; background: none; }
  .pp-scroll .mini tbody tr { display: block; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; margin-bottom: 10px; background: var(--surface); }
  .pp-scroll .mini td { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border: 0; text-align: right; white-space: normal; overflow-wrap: anywhere; }
  .pp-scroll .mini td::before { content: attr(data-label); color: var(--muted); font-size: .78rem; text-align: left; flex: 0 0 38%; }
  .pp-scroll .mini td.pp-text, .pp-scroll .mini td.pp-wrap { min-width: 0; max-width: none; }
  .pp-scroll .mini td.num { text-align: right; }
}
