/* Public directory design, scoped away from detail pages and embedded tools. */
.se-archive{--archive-border:color-mix(in srgb,var(--text) 16%,transparent);padding-block:40px 64px;min-width:0}
.se-archive [hidden]{display:none!important}
.se-archive .breadcrumbs{margin-bottom:26px;font-size:.8rem}
.se-archive .breadcrumbs a{color:var(--muted)}
.se-archive .archive-heading{margin-bottom:28px;align-items:flex-start}
.se-archive .archive-heading h1{font-size:clamp(1.8rem,3.4vw,2.7rem);letter-spacing:-.035em;margin:0 0 14px;max-width:900px}
.se-archive .archive-heading p{max-width:680px;line-height:1.75;font-size:1rem}
.se-archive .archive-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:22px;background:var(--surface);border:1px solid var(--archive-border);border-radius:12px;margin:0}
.se-archive .archive-controls label{display:flex;flex:1 1 150px;flex-direction:column;gap:9px;font-size:.8rem;font-weight:600;min-width:0;margin:0}
.se-archive .archive-controls .archive-search{flex:2 1 260px}
.se-archive .archive-controls input,.se-archive .archive-controls select{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--archive-border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:.9rem;box-shadow:none}
.se-archive .btn{min-height:48px;box-shadow:none;border-radius:7px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center}
.se-archive .btn:not(.btn-primary){background:var(--surface);color:var(--text);border:1px solid var(--archive-border)}
.se-archive .archive-controls>.btn{flex:0 0 auto}
.se-archive .archive-results{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0 20px;font-size:.85rem;color:var(--muted)}
.se-archive .archive-results p{margin:0}
.se-archive .archive-results a{text-decoration:underline;text-underline-offset:4px}
.se-archive .grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.se-archive .tool-card,.se-archive .post-card{background:var(--surface);border:1px solid var(--archive-border);border-radius:12px;box-shadow:none;transition:border-color .18s ease,background-color .18s ease;overflow:hidden;min-width:0}
.se-archive .tool-card:hover,.se-archive .post-card:hover{transform:none;border-color:var(--primary)}
.se-archive .tool-card{padding:24px;gap:14px}
.se-archive .tool-icon{width:42px;height:42px;border-radius:9px;box-shadow:none;background:color-mix(in srgb,var(--primary) 10%,transparent)}
.se-archive .tool-icon svg{max-width:24px;max-height:24px}
.se-archive .tool-card h2,.se-archive .tool-card h3{font-size:1.04rem;line-height:1.55;margin:0;min-height:3.1em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.se-archive .tool-card p{font-size:.88rem;line-height:1.75;min-height:5.25em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.se-archive .card-meta{gap:12px;flex-wrap:wrap;align-items:center;font-size:.73rem;line-height:1.5}
.se-archive .badge{background:none;color:var(--muted);padding:0;font-weight:400;font-size:inherit;border-radius:0;overflow-wrap:anywhere}
.se-archive .archive-card-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--archive-border);font-size:.83rem;font-weight:600;color:var(--primary);margin-top:auto}
.se-archive .post-card .body{padding:24px;gap:14px}
.se-archive .post-card h2{font-size:1.15rem;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.se-archive .post-card .meta{font-size:.73rem;line-height:1.6;color:var(--muted)}
.se-archive .post-card p{margin:0 0 4px;line-height:1.75}
.se-archive .cover-ph{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--text);border-bottom:1px solid var(--archive-border)}
.se-archive .cover-ph span{font-size:.75rem;color:var(--muted)}
.se-archive .cover-ph strong{font-size:1.25rem;max-width:15ch;line-height:1.5}
.se-archive .calc-group{margin-top:36px}
.se-archive .calc-group-title{font-size:1.2rem;border:0;padding:0;margin-bottom:20px;line-height:1.5}
.se-archive .archive-empty{padding:40px 24px;text-align:center;border:1px dashed var(--archive-border);border-radius:12px;box-shadow:none;background:var(--surface);margin-block:20px}
.se-archive .archive-empty h2{font-size:1.2rem;line-height:1.5}
.se-archive .archive-empty p{color:var(--muted);margin:12px 0 22px}
.se-archive .archive-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid var(--archive-border);font-size:.85rem}
.se-archive .archive-page-numbers{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:center}
.se-archive .archive-pagination a,.se-archive .archive-page-numbers>.current{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:6px}
.se-archive .archive-pagination .current{background:var(--primary);color:#fff}
.se-archive .archive-pagination [aria-disabled]{color:var(--muted)}
.se-archive .archive-pagination a:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}
.se-archive :is(a,button,input,select):focus-visible{outline:3px solid var(--primary);outline-offset:4px}
@media(max-width:1000px){.se-archive .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.se-archive .archive-controls .archive-search{flex-basis:100%}}
@media(max-width:600px){.se-archive{padding-block:26px 44px}.se-archive .breadcrumbs{margin-bottom:20px}.se-archive .grid-3{grid-template-columns:minmax(0,1fr);gap:16px}.se-archive .archive-controls{padding:16px;gap:16px}.se-archive .archive-controls label{flex-basis:100%}.se-archive .archive-controls>.btn{width:100%}.se-archive .tool-card,.se-archive .post-card .body{padding:22px}.se-archive .archive-page-numbers{order:3;flex-basis:100%}.se-archive .tool-card h2,.se-archive .tool-card h3{min-height:0}.se-archive .tool-card p{min-height:0}}
@media(prefers-reduced-motion:reduce){.se-archive .tool-card,.se-archive .post-card{transition:none}}
