/* Prompt library (/prompts). Load after edition.css: uses its tokens (--paper --ink --accent --muted --wash --sage --line --white --radius) and its .button, .subscribe, .eyebrow, .lead. Classes prefixed pl-. */
.pl-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:end}
.pl-intro>*{min-width:0}
.pl-intro h1{margin-top:4px}
.pl-search{margin-top:28px;max-width:540px}
.pl-search input{width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--white);font:inherit;color:var(--ink)}
.pl-search input:focus{outline:3px solid var(--accent);outline-offset:3px}
.pl-ledger{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--ink)}
.pl-ledger div{display:flex;flex-direction:column-reverse;padding:16px 0 4px 16px;border-right:1px solid var(--line)}
.pl-ledger div:first-child{padding-left:0}
.pl-ledger div:last-child{border-right:0}
.pl-ledger dd{margin:0;font:400 40px/1 Georgia,serif;font-variant-numeric:tabular-nums}
.pl-ledger dt{font-size:12px;color:var(--muted);margin-top:6px}

.pl-f{position:absolute;opacity:0;pointer-events:none}
.pl-filters{display:flex;gap:8px;flex-wrap:wrap;padding-block:18px;border-block:1px solid var(--line)}
.pl-filters label{cursor:pointer;display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 15px;border:1px solid var(--line);border-radius:99px;font-size:13px}
.pl-filters label span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.pl-filters label:hover{border-color:var(--ink)}
#pl-all:focus-visible~.pl-filters [for=pl-all],#pl-administratif:focus-visible~.pl-filters [for=pl-administratif],#pl-emploi:focus-visible~.pl-filters [for=pl-emploi],#pl-artisans:focus-visible~.pl-filters [for=pl-artisans],#pl-seniors:focus-visible~.pl-filters [for=pl-seniors],#pl-securite:focus-visible~.pl-filters [for=pl-securite],#pl-documents:focus-visible~.pl-filters [for=pl-documents]{outline:3px solid var(--accent);outline-offset:3px}
#pl-all:checked~.pl-filters [for=pl-all],#pl-administratif:checked~.pl-filters [for=pl-administratif],#pl-emploi:checked~.pl-filters [for=pl-emploi],#pl-artisans:checked~.pl-filters [for=pl-artisans],#pl-seniors:checked~.pl-filters [for=pl-seniors],#pl-securite:checked~.pl-filters [for=pl-securite],#pl-documents:checked~.pl-filters [for=pl-documents]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pl-all:checked~.pl-filters [for=pl-all] span,#pl-administratif:checked~.pl-filters [for=pl-administratif] span,#pl-emploi:checked~.pl-filters [for=pl-emploi] span,#pl-artisans:checked~.pl-filters [for=pl-artisans] span,#pl-seniors:checked~.pl-filters [for=pl-seniors] span,#pl-securite:checked~.pl-filters [for=pl-securite] span,#pl-documents:checked~.pl-filters [for=pl-documents] span{color:var(--line)}
#pl-administratif:checked~.pl-grid .pl-card:not(.t-administratif),#pl-emploi:checked~.pl-grid .pl-card:not(.t-emploi),#pl-artisans:checked~.pl-grid .pl-card:not(.t-artisans),#pl-seniors:checked~.pl-grid .pl-card:not(.t-seniors),#pl-securite:checked~.pl-grid .pl-card:not(.t-securite),#pl-documents:checked~.pl-grid .pl-card:not(.t-documents){display:none}

.pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-block:30px 10px}
.pl-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:#eee9de;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:background .18s,transform .18s}
.pl-card:hover{background:var(--sage);transform:translateY(-2px)}
.pl-card[hidden]{display:none}
.pl-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.pl-meta span:last-child{color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.pl-card-title{font:400 24px/1.15 Georgia,serif;letter-spacing:-.02em}
.pl-sample{font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);padding:12px 14px;background:var(--paper);border-left:2px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0}
.pl-foot{margin-top:auto;padding-top:4px;font-size:12px;font-weight:600;display:flex;justify-content:space-between}
.pl-empty{padding-block:20px;color:var(--muted)}

/* Collection page */
.pl-head{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;padding-block:16px 36px;border-bottom:1px solid var(--line)}
.pl-head>*{min-width:0}
.pl-head h1{font-size:clamp(36px,4.6vw,60px);margin-top:4px}
.pl-howto{background:var(--sage);padding:22px 24px;border-radius:var(--radius)}
.pl-howto .eyebrow{color:var(--ink);margin-bottom:8px}
.pl-howto ol{margin:0;padding-left:20px;font-size:14px;display:grid;gap:6px}
.pl-head mark,.pl-text mark{background:#a64b3522;color:var(--accent);padding:0 3px;border-radius:3px;font-weight:600}
.pl-toc{display:flex;gap:8px;flex-wrap:wrap;padding-block:18px}
.pl-toc a{font-size:12px;text-decoration:none;padding:9px 13px;border:1px solid var(--line);border-radius:99px}
.pl-toc a:hover{background:var(--wash)}
.pl-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;padding-block:16px 64px}
.pl-prompts{display:grid;gap:30px;min-width:0}
.pl-prompt{border-top:1px solid var(--ink);padding-top:18px;scroll-margin-top:24px}
.pl-prompt header{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.pl-prompt h3{font:400 24px/1.2 Georgia,serif;letter-spacing:-.02em}
.pl-num{font-style:italic;color:var(--accent);margin-right:12px}
.pl-when{font-size:14px;color:var(--muted);margin-top:8px}
.pl-text{margin:14px 0 0;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);font:14px/1.7 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}
.pl-check{margin-top:12px;font-size:13px;color:var(--muted)}
.pl-check strong{color:var(--ink)}
.pl-copy{flex-shrink:0;min-height:44px;padding:8px 16px;background:var(--ink);color:var(--paper);border:0;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer}
.pl-copy:hover{background:var(--accent)}
.pl-copy.is-done{background:#3f6b53}

.pl-locked{display:grid;gap:30px;max-height:520px;overflow:hidden;filter:blur(5px);opacity:.5;user-select:none;pointer-events:none;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.pl-gate{position:relative;margin-top:-380px;margin-inline:auto;width:min(100%,580px);background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);padding:30px;box-shadow:0 18px 50px #1e304826;display:grid;gap:14px;scroll-margin-top:24px}
.pl-gate h2{font-size:clamp(26px,3vw,32px)}
.pl-gate>p:not(.eyebrow){color:var(--muted);font-size:14px}
.pl-gate .subscribe input[type=email]{border-color:var(--ink)}
.pl-gate .thanks{font-weight:600}
.pl-unlocked .pl-locked{max-height:none;overflow:visible;filter:none;opacity:1;user-select:auto;pointer-events:auto;-webkit-mask-image:none;mask-image:none}
.pl-unlocked .pl-gate{display:none}

.pl-aside{position:sticky;top:24px;display:grid;gap:22px}
.pl-further{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#eee9de;display:grid;gap:14px}
.pl-further-cover{display:block;width:130px}
.pl-further .edition-cover{width:130px}
.pl-further h3{font:400 22px/1.2 Georgia,serif}
.pl-further h3 a{text-decoration:none}
.pl-further p:not(.eyebrow){font-size:14px;color:var(--muted)}
.pl-further .button{width:100%}
.pl-author{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted)}
.pl-author .brand-mark{width:38px;height:38px;font-size:15px;flex-shrink:0}
.pl-related{display:grid}
.pl-related .eyebrow{margin-bottom:6px}
.pl-related a{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;text-decoration:none}
.pl-related a:hover{color:var(--accent)}
.pl-related a span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}

@media(max-width:900px){
  .pl-intro,.pl-head{grid-template-columns:1fr;gap:28px}
  .pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-layout{grid-template-columns:1fr}
  .pl-aside{position:static}
}
@media(max-width:650px){
  .pl-grid{grid-template-columns:1fr}
  .pl-ledger dd{font-size:32px}
  .pl-prompt header{flex-direction:column;align-items:flex-start;gap:10px}
  .pl-prompt h3{font-size:21px}
  .pl-text{padding:14px;font-size:13px}
  .pl-gate{padding:22px;margin-top:-300px}
}
@media(prefers-reduced-motion:reduce){.pl-card{transition:none}}
#pl-sante:checked~.pl-grid .pl-card:not(.t-sante){display:none}
#pl-sante:checked~.pl-filters [for=pl-sante]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pl-sante:checked~.pl-filters [for=pl-sante] span{color:var(--line)}
#pl-sante:focus-visible~.pl-filters [for=pl-sante]{outline:3px solid var(--accent);outline-offset:3px}
#pl-apprendre:checked~.pl-grid .pl-card:not(.t-apprendre){display:none}
#pl-apprendre:checked~.pl-filters [for=pl-apprendre]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pl-apprendre:checked~.pl-filters [for=pl-apprendre] span{color:var(--line)}
#pl-apprendre:focus-visible~.pl-filters [for=pl-apprendre]{outline:3px solid var(--accent);outline-offset:3px}
#pl-achats:checked~.pl-grid .pl-card:not(.t-achats){display:none}
#pl-achats:checked~.pl-filters [for=pl-achats]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pl-achats:checked~.pl-filters [for=pl-achats] span{color:var(--line)}
#pl-achats:focus-visible~.pl-filters [for=pl-achats]{outline:3px solid var(--accent);outline-offset:3px}
#pl-voyage:checked~.pl-grid .pl-card:not(.t-voyage){display:none}
#pl-voyage:checked~.pl-filters [for=pl-voyage]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pl-voyage:checked~.pl-filters [for=pl-voyage] span{color:var(--line)}
#pl-voyage:focus-visible~.pl-filters [for=pl-voyage]{outline:3px solid var(--accent);outline-offset:3px}
#pl-dialogue:checked~.pl-grid .pl-card:not(.t-dialogue){display:none}
#pl-dialogue:checked~.pl-filters [for=pl-dialogue]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pl-dialogue:checked~.pl-filters [for=pl-dialogue] span{color:var(--line)}
#pl-dialogue:focus-visible~.pl-filters [for=pl-dialogue]{outline:3px solid var(--accent);outline-offset:3px}
