.catalog .pf-page { max-width: 1024px; margin: 25px auto 60px; }
.catalog .pf-page [hidden] { display:none !important; }
.catalog .pf-intro { max-width:780px; margin-bottom: 30px; }
.catalog .pf-intro h1 { font-size:clamp(2.2rem,5vw,3.6rem); }
.catalog .pf-intro p, .catalog .pf-instruction { margin:12px 0 20px; }
.catalog .pf-intro p { color:var(--muted); font-size:1.1rem; }
.catalog .pf-work h2 { font-size:clamp(1.45rem,2.4vw,2rem); }
.catalog .pf-ends { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.catalog .pf-end { min-width:0; min-inline-size:0; margin:0; padding:14px clamp(15px,3vw,23px) 23px; border:1px solid #cad8de; border-radius:12px; }
.catalog .pf-end legend { padding:0 7px; font-weight:700; font-size:1.04rem; color:var(--ink); }
.catalog .pf-photo-row,.catalog .pf-query { display:flex; align-items:center; gap:8px 16px; flex-wrap:wrap; }
.catalog .pf-photo-row { min-height:48px; }
.catalog .pf-upload,.catalog .pf-secondary { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:6px 14px; border-radius:7px; border:1px solid #718c98; background:white; color:var(--accent-dark); font-weight:650; cursor:pointer; text-align:center; }
.catalog .pf-upload input { position:absolute; inset:0; height:100%; width:100%; margin:0; opacity:0; cursor:pointer; }
.catalog .pf-upload:focus-within { outline:3px solid #09759d; outline-offset:3px; }
.catalog .pf-page select:focus-visible { outline:3px solid #09759d; outline-offset:3px; }
.catalog .pf-upload:hover,.catalog .pf-secondary:not(:disabled):hover { background:#f3f8fa; }
.catalog .pf-link { padding:5px 0; color:var(--accent); text-decoration:underline; border:0; background:transparent; font-size:.92rem; }
.catalog .pf-note { color:var(--muted); font-size:.87rem; }
.catalog #pf-formats { margin-top:10px; }
.catalog .pf-preview { display:block; height:135px; width:100%; background:#fff; object-fit:contain; border-radius:6px; margin:10px auto 0; }
.catalog .pf-end [data-file-status]:not(:empty) { margin-top:7px; }
.catalog .pf-field { display:grid; gap:4px; margin:16px 0 0; min-width:0; }
.catalog .pf-field span { font-weight:650; font-size:.94rem; }
.catalog .pf-page select { display:block; font:inherit; min-height:44px; border:1px solid #8299a3; padding:6px 30px 6px 10px; width:100%; border-radius:6px; color:var(--ink); background:white; }
.catalog .pf-suggestions:not(:empty) { margin-top:12px; }
.catalog .pf-suggestions p { font-size:.91rem; }
.catalog .pf-suggestions button { color:var(--accent-dark); font-size:.87rem; padding:4px 9px; margin:5px 6px 0 0; border:1px solid #9aafb8; border-radius:6px; background:white; }
.catalog .pf-suggestions button[aria-pressed=true] { background:var(--accent-dark); color:white; }
.catalog .pf-analyze { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; margin-top:17px; background:#eff5f6; border-radius:9px; }
.catalog .pf-analyze > div { max-width:63ch; }
.catalog .pf-analyze .pf-secondary { flex-shrink:0; }
.catalog .pf-analyze .pf-note { margin-top:3px; }
.catalog .pf-page button:disabled { cursor:default; color:var(--muted); }
.catalog .pf-notice:not(:empty) { margin:10px 0; font-size:.95rem; }
.catalog .pf-find { margin-top:29px; padding-top:24px; border-top:1px solid var(--line); }
.catalog .pf-find > p { margin:9px 0 15px; }
.catalog .pf-query select { width:min(30rem,100%); }
.catalog .pf-find [data-results] { margin-top:15px; }
.catalog .pf-results { list-style:none; margin:8px 0 0; padding:0; }
.catalog .pf-results li { padding:13px 0; border-top:1px solid var(--line); }
.catalog .pf-results li a { font-weight:650; }
.catalog .pf-results li small { display:block; font-family:ui-monospace,monospace; color:var(--muted); margin-top:3px; }
.catalog .pf-results li p { margin-top:4px; }
@media(max-width:700px) {
  .catalog .pf-ends { grid-template-columns:1fr; gap:15px; }
  .catalog .pf-analyze { flex-direction:column; align-items:flex-start; gap:10px; }
}
