/* Prompt pages in the site redesign (docs/site-redesign.md, 2026-10-22): the four prompt-template hubs and the twenty
   "ChatGPT prompts for <topic>" pages. Loaded after ke-feature.css and ke-company.css; scoped to .ke-fp.ke-co.pr. */
.ke-fp.ke-co.pr .title.doc .crumb { font-size: 14px; color: var(--muted); margin-bottom: 12px; }
.ke-fp.ke-co.pr .title.doc .crumb a { color: var(--muted); }
.ke-fp.ke-co.pr .title.doc .crumb a:hover { color: var(--ink); }
.ke-fp.ke-co.pr .title.doc .crumb i { font-style: normal; margin: 0 8px; opacity: .6; }
.ke-fp.ke-co.pr .title.doc .btns { margin-top: 18px; }
.ke-fp.ke-co.pr .intro { padding: 30px 0 8px; margin: 0; }
.ke-fp.ke-co.pr .intro p { font-size: 17px; line-height: 1.6; color: var(--text); margin: 0 0 12px; max-width: none; }
.ke-fp.ke-co.pr .docs { padding-top: 28px; }
/* the topic rail: the prompt list in groups, then the page-wide options */
/* a rail taller than the window sticks by its bottom instead (the script sets a negative top), so it never scrolls inside itself */
.ke-fp.ke-co.pr .toc { overflow: visible; }
.ke-fp.ke-co.pr .toc .grp { font-size: 11.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin: 16px 0 4px; padding: 0 12px; }
.ke-fp.ke-co.pr .toc .grp:first-of-type { margin-top: 0; }
/* the page-wide options: a sticky strip above the prompt cards */
.ke-fp.ke-co.pr .opts-bar { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 10px 16px; flex-wrap: wrap; background: #fff; border-bottom: 1px solid var(--line); padding: 12px 0 14px; margin: 0 0 22px; }
.ke-fp.ke-co.pr .opts-bar .h { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); font-weight: 600; margin-right: 6px; }
.ke-fp.ke-co.pr .opts-bar label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); font-weight: 500; margin: 0; }
.ke-fp.ke-co.pr .opts-bar select { width: 132px; height: 34px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); font: 500 13.5px var(--fb); padding: 0 8px; }
/* a prompt card */
.ke-fp.ke-co.pr .sub-h { font-size: 14px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin: 30px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.ke-fp.ke-co.pr .sub-h:first-child { margin-top: 0; }
.ke-fp.ke-co.pr .ke-prompt { border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 24px 26px 22px; margin: 0 0 18px; scroll-margin-top: 84px; }
.ke-fp.ke-co.pr .ke-prompt h2 { font-size: 21px; margin: 0 0 4px; }
.ke-fp.ke-co.pr .ke-prompt > p { color: var(--muted); font-size: 15px; margin: 0 0 18px; }
.ke-fp.ke-co.pr .ke-prompt .fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; margin-bottom: 14px; }
.ke-fp.ke-co.pr .ke-prompt .f { display: block; min-width: 0; margin: 0; }
.ke-fp.ke-co.pr .ke-prompt .f.full { grid-column: 1 / -1; }
.ke-fp.ke-co.pr .ke-prompt .f > span { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.ke-fp.ke-co.pr .ke-prompt .help { display: inline-flex; width: 15px; height: 15px; border: 1px solid var(--line); border-radius: 50%; font: 600 10px/13px var(--fb); color: var(--muted); justify-content: center; cursor: help; }
.ke-fp.ke-co.pr .ke-prompt input, .ke-fp.ke-co.pr .ke-prompt select, .ke-fp.ke-co.pr .ke-prompt textarea { display: block; width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: 400 14.5px var(--fb); padding: 9px 11px; box-shadow: none; }
.ke-fp.ke-co.pr .ke-prompt input:focus, .ke-fp.ke-co.pr .ke-prompt select:focus, .ke-fp.ke-co.pr .ke-prompt textarea:focus { outline: none; border-color: var(--ink); }
.ke-fp.ke-co.pr .ke-prompt input, .ke-fp.ke-co.pr .ke-prompt select { height: 40px; }
.ke-fp.ke-co.pr .ke-prompt textarea { resize: vertical; line-height: 1.5; }
.ke-fp.ke-co.pr .ke-prompt .out { display: block; margin: 4px 0 0; }
.ke-fp.ke-co.pr .ke-prompt .out > span { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.ke-fp.ke-co.pr .ke-prompt .out > span small { font-weight: 500; color: var(--muted); }
.ke-fp.ke-co.pr .ke-prompt .ke-prompt-text { background: var(--ground); border-color: var(--line-soft); font-family: var(--fm); font-size: 13px; color: var(--text); min-height: 132px; }
.ke-fp.ke-co.pr .ke-prompt .act { display: flex; align-items: center; gap: 14px; margin-top: 14px; flex-wrap: wrap; }
.ke-fp.ke-co.pr .ke-prompt .act .kbtn { height: 42px; padding: 0 18px; font-size: 14.5px; cursor: pointer; font-family: var(--fb); }
.ke-fp.ke-co.pr .ke-prompt .act small { color: var(--muted); font-size: 13.5px; }
/* bottom of a topic page: related collections + the extension */
.ke-fp.ke-co.pr .two-up { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 44px 0 56px; border-top: 1px solid var(--line); margin-top: 40px; }
.ke-fp.ke-co.pr .two-up h2 { font-size: 22px; margin-bottom: 12px; }
.ke-fp.ke-co.pr .two-up ul { margin: 0; padding: 0; list-style: none; }
.ke-fp.ke-co.pr .two-up li { padding: 5px 0; font-size: 15.5px; }
.ke-fp.ke-co.pr .two-up p { font-size: 15.5px; line-height: 1.6; margin-bottom: 10px; }
.ke-fp.ke-co.pr .two-up .btns { margin-top: 16px; }
/* hub: the categories */
.ke-fp.ke-co.pr .prose h3.cat { font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin: 26px 0 10px; }
.ke-fp.ke-co.pr .topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 8px; }
.ke-fp.ke-co.pr .topic { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: 10px; padding: 13px 15px; background: #fff; color: var(--ink); font-weight: 600; font-size: 14.5px; text-decoration: none; }
.ke-fp.ke-co.pr a.topic:hover { border-color: #c9c2bb; color: var(--ink); }
.ke-fp.ke-co.pr span.topic { color: var(--muted); font-weight: 500; background: var(--ground); }
.ke-fp.ke-co.pr span.topic small { font-size: 12.5px; white-space: nowrap; }
.ke-fp.ke-co.pr .prose .faq.open { max-width: none; margin: 0 0 8px; }
.ke-fp.ke-co.pr .prose figure img { width: auto; max-width: 100%; }
@media (max-width: 1000px) {
  .ke-fp.ke-co.pr .ke-prompt .fields { grid-template-columns: 1fr; }
  .ke-fp.ke-co.pr .two-up { grid-template-columns: 1fr; gap: 28px; }
  .ke-fp.ke-co.pr .topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ke-fp.ke-co.pr .opts-bar { position: static; }
  .ke-fp.ke-co.pr .opts-bar label { width: 100%; justify-content: space-between; }
  .ke-fp.ke-co.pr .topics { grid-template-columns: 1fr; }
  .ke-fp.ke-co.pr .ke-prompt { padding: 18px 16px; }
}
