/* A quiet, type-led palette library. The homepage owns project imagery. */
.palette-library{padding-top:0;padding-bottom:68px}
.palette-library-head{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:22px 0 15px;border-bottom:1px solid var(--line)}
.palette-library-head h1{margin:6px 0 4px;font-size:clamp(2.25rem,3.9vw,3.45rem);line-height:1;letter-spacing:-.055em}
.palette-library-head p{max-width:570px;color:var(--muted);font-size:.9rem;line-height:1.55}
.palette-library-head>.button{flex:none;margin-bottom:4px;min-height:42px;padding:10px 15px;font-size:.8125rem}
.palette-library .palette-finder{grid-template-columns:minmax(0,1fr) 220px;gap:9px;margin-top:18px}
.palette-library .palette-finder label{gap:6px;font-size:.6875rem}
.palette-library .palette-finder input,.palette-library .palette-finder select{height:46px;border-radius:7px;font-size:.9rem}
.palette-library .palette-filter-row{align-items:center;justify-content:space-between;margin-top:10px;padding:10px 0;border-top:0}
.palette-feeling{display:flex;align-items:center;gap:12px;min-width:0}
.palette-feeling>span{flex:none;color:var(--muted);font-size:.6875rem}
.palette-feeling>div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.palette-feeling>div::-webkit-scrollbar{display:none}
.palette-library .palette-filter{padding:7px 10px;font-size:.75rem}
.palette-result-count{flex:none;color:var(--muted);font:10px var(--mono)}
.palette-library .palette-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible;padding:9px 0 0;perspective:none;cursor:auto;scroll-snap-type:none}
.palette-library .palette-card{display:flex;flex:none;width:auto;height:auto;min-height:320px;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface);opacity:1;transform:none;box-shadow:0 9px 24px #00000006;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.palette-library .palette-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));transform:translateY(-2px);box-shadow:0 14px 32px #0000000d}
.palette-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px 11px;color:var(--muted);font-size:.6875rem}
.palette-card-head span:last-child{font:9px var(--mono)}
.palette-library .palette-card-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:auto;height:108px;margin:0;padding:0;gap:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.palette-library .palette-card-colors button,.palette-library .palette-card-colors button:nth-child(n){display:flex;height:108px;min-width:0;align-items:end;justify-content:center;padding:0 2px 10px;border:0;border-right:1px solid #ffffff2b;border-radius:0;background:var(--swatch);color:var(--on);box-shadow:none;transform:none}
.palette-library .palette-card-colors button:last-child{border-right:0}
.palette-library .palette-card-colors button:hover{flex:initial;filter:brightness(1.04)}
.palette-library .palette-card-colors code{display:block;max-width:100%;overflow:hidden;font:8px var(--mono);letter-spacing:-.05em;opacity:.72}
.palette-card-body{display:flex;flex:1;flex-direction:column;padding:16px 15px 14px}
.palette-card-body h2{margin:0;font-size:1.15rem;line-height:1.2;letter-spacing:-.025em}
.palette-card-body h2 a{color:var(--ink)}
.palette-card-body h2 a:hover{color:var(--accent)}
.palette-card-body p{margin:8px 0 15px;color:var(--muted);font-size:.75rem;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.palette-card-foot{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line)}
.palette-card-tags{display:flex;min-width:0;gap:5px;overflow:hidden}
.palette-card-tags span{padding:4px 6px;border-radius:4px;background:var(--surface-2);color:var(--muted);font-size:.625rem;white-space:nowrap}
.palette-card-foot>a{flex:none;color:var(--accent);font-size:.6875rem;font-weight:700}
.palette-library .palette-empty{grid-column:1/-1;margin:0;padding:70px 0;text-align:center}
@media(max-width:1000px){
  .palette-library .palette-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .palette-library{padding-bottom:42px}
  .palette-library-head{align-items:flex-start;padding:18px 0 12px}
  .palette-library-head h1{font-size:2.25rem}
  .palette-library-head p{font-size:.8125rem}
  .palette-library-head>.button{padding:9px 11px;font-size:.7rem}
  .palette-library .palette-finder{grid-template-columns:1fr}
  .palette-library .palette-filter-row{align-items:flex-start;gap:10px}
  .palette-feeling{display:block}
  .palette-feeling>span{display:block;margin-bottom:7px}
  .palette-library .palette-library-grid{grid-template-columns:1fr;gap:11px}
  .palette-library .palette-card{min-height:300px}
  .palette-library .palette-card-colors,.palette-library .palette-card-colors button,.palette-library .palette-card-colors button:nth-child(n){height:96px}
}
