/* Shared by the native directory and Mini App. */
.ai-direction { --ai-line: rgba(82,110,130,.2); padding-bottom: 2rem; }
.ai-intro { max-width: 60rem; padding: clamp(1.5rem,4vw,4rem) 0; }
.ai-intro h1 { max-width: 12ch; font-size: clamp(2rem,5.2vw,4.75rem); line-height: 1.06; overflow-wrap: normal; word-break: normal; hyphens: manual; text-wrap: balance; letter-spacing: -.055em; }
.ai-kind-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1.5rem 0 3rem; }
.ai-kind-nav a { display:flex; align-items:center; gap:.75rem; padding:1.3rem; border:1px solid var(--ai-line); border-radius:1.2rem; background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(225,235,242,.3)); color:inherit; text-decoration:none; transition:background .25s ease,transform .25s ease; }
.ai-kind-nav a[aria-current=page] { background:#283e50; color:#f2f6fa; }
.ai-kind-nav small { align-self:flex-start; font-size:.7rem; opacity:.6; }
.ai-kind-nav span { flex:1; }
.ai-kind-nav .sw-icon { flex:0 0 32px; }
.ai-section-title { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.5rem; }
.ai-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.ai-card a { display:block; color:inherit; text-decoration:none; }
.ai-card__image { aspect-ratio:4/5; overflow:hidden; border-radius:1.25rem; background:linear-gradient(140deg,#d1dde5,#edf2f5 55%,#b5c8d5); display:grid; place-items:center; color:#5b7588; }
.ai-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.ai-card h2 { margin:.6rem 0; font-size:1.5rem; }
.ai-card p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; opacity:.8; }
.ai-card small { display:block; margin-top:.8rem; }
.ai-empty { padding:clamp(1.5rem,5vw,5rem); border-radius:1.6rem; background:linear-gradient(125deg,rgba(215,226,234,.9),rgba(255,255,255,.62)); border:1px solid rgba(255,255,255,.7); }
.ai-empty>span { display:block; margin-bottom:2rem; font-size:clamp(2.5rem,7vw,6rem); line-height:1; letter-spacing:-.06em; color:#668093; }
.ai-empty h3 { max-width:28ch; font-size:clamp(1.5rem,3vw,2.6rem); font-weight:500; }
.ai-detail__cover { display:block; width:100%; max-height:72vh; object-fit:contain; border-radius:1.4rem; background:rgba(214,226,234,.45); }
.ai-credits { white-space:pre-wrap; margin:1.5rem 0; }
.ai-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; }
.ai-facts>div { border-top:1px solid var(--ai-line); padding:1.2rem 0; min-width:0; }
.ai-facts dt { opacity:.65; font-size:.85rem; margin-bottom:.5rem; }
.ai-facts dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-samples { display:flex; flex-wrap:wrap; gap:1.5rem; margin:2rem 0; }
.ai-form { max-width:52rem; margin:2rem auto; }
.ai-form>fieldset { border:0; padding:0; margin:0; min-width:0; }
.ai-form__panel { display:grid; gap:1.25rem; padding:clamp(1rem,3vw,2rem); margin-bottom:1rem; border:1px solid rgba(255,255,255,.85); border-radius:1.4rem; background:rgba(255,255,255,.53); }
.ai-field { display:grid; gap:.5rem; font-size:.95rem; }
.ai-field input,.ai-field textarea,.ai-field select { width:100%; box-sizing:border-box; min-height:48px; padding:.8rem 1rem; border:1px solid var(--ai-line); border-radius:.7rem; color:inherit; background:rgba(255,255,255,.76); font:inherit; }
.ai-field textarea { resize:vertical; }
.ai-field small,.ai-form__private small { opacity:.72; line-height:1.5; }
.ai-check { display:flex; gap:.75rem; align-items:flex-start; line-height:1.5; }
.ai-check input { flex:0 0 20px; width:20px; height:20px; margin:.1rem 0; accent-color:#36586d; }
.ai-capabilities { display:flex; gap:1rem; flex-wrap:wrap; border:0; padding:0; margin:0; }
.ai-capabilities legend { margin-bottom:.75rem; }
.ai-submit { width:100%; display:flex; align-items:center; justify-content:space-between; border:0; padding:1.2rem 1.4rem; border-radius:1rem; background:#283e50; color:#f6f8fb; font:inherit; font-size:1.15rem; cursor:pointer; }
.ai-owner-entry { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; border-top:1px solid var(--ai-line); margin-top:1.3rem; padding:1.5rem 0; }
.catalog-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin:2rem 0; }
.catalog-pagination button,.ai-owner-entry button { font:inherit; min-height:44px; padding:.65rem 1rem; border:1px solid var(--ai-line,rgba(82,110,130,.2)); border-radius:.6rem; background:rgba(255,255,255,.5); color:inherit; cursor:pointer; }
.catalog-pagination button:disabled { opacity:.4; cursor:default; }
@media(hover:hover) { .ai-card a:hover img { transform:scale(1.025); } .ai-kind-nav a:hover { transform:translateY(-2px); } }
@media(max-width:700px) { .ai-kind-nav { grid-template-columns:1fr; gap:.5rem; margin-bottom:2rem; } .ai-kind-nav a { padding:1rem; } .ai-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ai-facts { grid-template-columns:1fr; } }
@media(max-width:430px) { .ai-grid { grid-template-columns:1fr; } .ai-intro h1 { font-size:clamp(2rem,9vw,2.4rem); } .catalog-pagination { gap:.6rem; font-size:.8rem; } }
@media(prefers-reduced-motion:reduce) { .ai-card img,.ai-kind-nav a { transition:none; } }
