:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}.page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2.5rem}.hero{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:18px;padding:2.5rem;color:#f8fafc;display:flex;flex-direction:column;gap:1.5rem}.hero h1{margin:0 0 .5rem;font-size:clamp(2rem,2.5vw,3rem)}.hero p{margin:0;max-width:60ch}.layout{display:grid;grid-template-columns:minmax(240px,280px) 1fr;align-items:start;gap:2rem}.filters{display:flex;flex-direction:column;gap:1.5rem;background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 40px #0f172a14;position:sticky;top:1.5rem}.search-block{display:flex;flex-direction:column;gap:.5rem}.search-block label{font-weight:600;color:#0f172a}.search-block input{padding:.6rem .75rem;border-radius:12px;border:1px solid rgba(148,163,184,.6);font-size:.95rem;background:#f8fafc;transition:border-color .2s ease}.search-block input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.clear-button{align-self:flex-start;background:none;border:none;color:#6366f1;font-weight:600;cursor:pointer;padding:0}.clear-button:disabled{color:#6366f166;cursor:default}.filter-group{display:flex;flex-direction:column;gap:.75rem}.filter-group h3{margin:0;font-size:1rem;color:#0f172a}.filter-options{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{border:1px solid rgba(79,70,229,.3);background:#4f46e50f;color:#4338ca;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#4f46e51f}.filter-chip.active{background:#6366f1;color:#fff;border-color:#6366f1}.faces-section{display:flex;flex-direction:column;gap:1.5rem}.results-count{margin:0;font-weight:600;color:#334155}.faces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem}.face-card-minimal{display:flex;flex-direction:column;gap:.75rem;background:#fff;border-radius:16px;padding:1rem;box-shadow:0 12px 24px #0f172a14;border:1px solid rgba(148,163,184,.25)}.face-copy-button{appearance:none;border:none;width:100%;border-radius:14px;background:linear-gradient(120deg,#4f46e51f,#0e74901f);padding:1.25rem .75rem;font-size:1.8rem;line-height:1;color:#0f172a;display:flex;flex-direction:column;gap:.75rem;justify-content:center;align-items:center;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.face-copy-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #4f46e526}.face-copy-button.copied{background:linear-gradient(120deg,#10b9812e,#16a34a2e)}.face-copy-text{font-family:"Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,system-ui,sans-serif;font-size:.9rem}.face-copy-status{font-size:.85rem;color:#4338ca;font-weight:600}.face-copy-button.copied .face-copy-status{color:#047857}.face-meta-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#475569}.face-id{font-weight:600}.face-mini-tags{display:flex;gap:.35rem;flex-wrap:wrap}.mini-chip{background:#94a3b82e;color:#334155;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;letter-spacing:.02em}.info-button{margin-left:auto;width:28px;height:28px;border-radius:50%;border:none;background:#1e293b;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.info-button:hover{transform:scale(1.08);background:#312e81}.ad-slot{border:2px dashed rgba(148,163,184,.6);border-radius:16px;padding:1.25rem;background:#f1f5f999;display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;text-align:center;color:#475569}.ad-slot .ad-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;color:#0f172a}.ad-placeholder-content{display:flex;flex-direction:column;gap:.2rem}.ad-inline{margin-bottom:1rem}.ad-container{display:flex;justify-content:center;align-items:center;margin:1.5rem 0;width:100%;background:#f1f5f933;border-radius:16px;box-sizing:border-box}.status{background:#fffbea;color:#854d0e;border-radius:12px;padding:1rem 1.2rem;border:1px solid rgba(250,204,21,.6)}.status.error{background:#fee2e2;color:#991b1b;border-color:#f87171cc}.footer{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.footer p{margin:0;text-align:center;color:#475569}@media(max-width:960px){.layout{grid-template-columns:1fr}.filters{position:static;order:2}.faces-section{order:1}}@media(max-width:600px){.page{padding:1.5rem 1rem 3rem}.hero{padding:2rem 1.5rem}.faces-grid{grid-template-columns:1fr}.modal{padding-bottom:env(safe-area-inset-bottom)}}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;justify-content:center;align-items:center;padding:2rem;z-index:999}.modal{background:#fff;border-radius:20px;width:min(640px,100%);max-height:80vh;overflow:auto;box-shadow:0 32px 60px #0f172a40;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.6rem;border-bottom:1px solid rgba(148,163,184,.25)}.modal-header h2{margin:0;font-size:2rem}.modal-close{width:34px;height:34px;border:none;border-radius:50%;background:#0f172a14;font-size:1.4rem;line-height:1;cursor:pointer}.modal-close:hover{background:#6366f12e}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:0}.modal-grid dt{text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;color:#64748b;margin-bottom:.25rem}.modal-grid dd{margin:0;font-size:.92rem;color:#0f172a}.unicode-list{font-family:Fira Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem;word-break:break-all}.modal-notes,.modal-sources{background:#dbeafe66;border-radius:14px;padding:1rem;border:1px solid rgba(148,163,184,.3)}.modal-notes h3,.modal-sources h3{margin:0 0 .5rem;font-size:.95rem}.modal-sources ul{margin:0;padding-left:1.35rem}.modal-sources a{color:#4338ca;text-decoration:none}.modal-sources a:hover{text-decoration:underline}
