.pfsd-wrap {
--pfsd-accent:       #b8956a; --pfsd-accent-soft:  #f5ede2; --pfsd-text:         inherit; --pfsd-border:       #e2ddd8;
--pfsd-radius:       4px;
--pfsd-gap:          0.5rem;
--pfsd-font:         inherit; --pfsd-transition:   0.22s ease;
--pfsd-bg:           #fff;
--pfsd-text-muted:   #555;
--pfsd-text-subtle:  #666;
--pfsd-text-placeholder: #aaa;
--pfsd-icon-color:   #999;
font-family:  var(--pfsd-font);
color:        var(--pfsd-text);
line-height:  1.6;
max-width:    100%;
} .pfsd-search-bar {
position:       relative;
display:        flex !important;
align-items:    center;
min-height:     3rem;
margin-bottom:  1.5rem;
border:         1px solid var(--pfsd-border);
border-radius:  var(--pfsd-radius);
background:     var(--pfsd-bg);
transition:     border-color var(--pfsd-transition), box-shadow var(--pfsd-transition);
}
.pfsd-search-bar:focus-within {
border-color: var(--pfsd-accent);
box-shadow:   0 0 0 3px rgba(184,149,106,.15);
}
.pfsd-search-icon {
flex-shrink: 0;
padding: 0 .75rem;
color: var(--pfsd-icon-color);
display: flex;
align-items: center;
}
.pfsd-search-input {
flex:          1;
border:        none !important;
outline:       none !important;
box-shadow:    none !important;
background:    transparent !important;
font:          inherit;
font-size:     .95rem !important;
color:         inherit !important;
padding:       .65rem 0 !important;
height:        auto !important;
min-height:    0 !important;
display:       block !important;
width:         100%;
}
.pfsd-search-input::placeholder { color: var(--pfsd-text-placeholder); }
.pfsd-search-clear {
flex-shrink: 0;
border:      none;
background:  transparent;
cursor:      pointer;
color:       var(--pfsd-icon-color);
padding:     0 .75rem;
font-size:   1rem;
line-height: 1;
transition:  color var(--pfsd-transition);
}
.pfsd-search-clear:hover { color: var(--pfsd-accent); } .pfsd-letter-nav {
display:         flex;
flex-wrap:       wrap;
gap:             .25rem;
margin-bottom:   1.75rem;
}
.pfsd-letter-link {
display:          inline-flex;
align-items:      center;
justify-content:  center;
width:            2rem;
height:           2rem;
border:           1px solid var(--pfsd-border);
border-radius:    var(--pfsd-radius);
color:            var(--pfsd-accent);
font-weight:      600;
font-size:        .85rem;
text-decoration:  none;
transition:       background var(--pfsd-transition), color var(--pfsd-transition), border-color var(--pfsd-transition);
scroll-behavior:  smooth;
}
.pfsd-letter-link:hover,
.pfsd-letter-link:focus-visible {
background:    var(--pfsd-accent);
color:         #fff;
border-color:  var(--pfsd-accent);
outline:       none;
} .pfsd-no-results {
text-align: center;
color: var(--pfsd-icon-color);
padding: 2rem 0;
font-style: italic;
} .pfsd-letter-section {
margin-bottom: 2rem;
scroll-margin-top: 80px; }
.pfsd-letter-heading {
display:        inline-flex;
align-items:    center;
justify-content: center;
width:          2.5rem;
height:         2.5rem;
background:     var(--pfsd-accent);
color:          #fff;
font-size:      1.1rem;
font-weight:    700;
border-radius:  50%;
margin:         0 0 .75rem;
line-height:    1;
} .pfsd-items {
border:        1px solid var(--pfsd-border);
border-radius: calc(var(--pfsd-radius) * 2);
overflow:      hidden;
} .pfsd-style-accordion .pfsd-item {
border-bottom: 1px solid var(--pfsd-border);
}
.pfsd-style-accordion .pfsd-item:last-child {
border-bottom: none;
}
.pfsd-item-trigger {
display:         flex;
align-items:     center;
justify-content: space-between;
gap:             .75rem;
width:           100%;
padding:         .9rem 1.1rem;
background:      var(--pfsd-bg);
border:          none;
border-left:     3px solid transparent;
cursor:          pointer;
text-align:      left;
font:            inherit;
font-size:       .95rem;
color:           inherit;
transition:      background var(--pfsd-transition), border-color var(--pfsd-transition);
}
.pfsd-item-trigger:hover,
.pfsd-item-trigger:focus-visible {
background:   var(--pfsd-accent-soft);
border-left-color: var(--pfsd-accent);
outline:      none;
}
.pfsd-item-trigger[aria-expanded="true"] {
background:        var(--pfsd-accent-soft);
border-left-color: var(--pfsd-accent);
font-weight:       600;
}
.pfsd-item-title {
flex: 1;
}
.pfsd-item-icon svg {
display:    block;
flex-shrink: 0;
transition: transform var(--pfsd-transition);
}
.pfsd-item-trigger[aria-expanded="true"] .pfsd-item-icon svg {
transform: rotate(180deg);
} .pfsd-item-panel {
overflow:   hidden;
max-height: 0;
transition: max-height .3s ease, padding .3s ease;
}
.pfsd-item-panel.is-open {
max-height: 600px; } .pfsd-item-panel[hidden] {
display: block !important; max-height: 0;
padding: 0;
}
.pfsd-item-content {
padding:     .75rem 1.1rem 1rem 1.4rem;
font-size:   .9rem;
line-height: 1.7;
color:       var(--pfsd-text-muted);
white-space: pre-line;
} .pfsd-style-grid .pfsd-items {
display:               grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap:                   1px;
border-radius:         calc(var(--pfsd-radius) * 2);
overflow:              hidden;
}
.pfsd-style-grid .pfsd-item {
border: none;
}
.pfsd-item-card {
padding:    1rem 1.1rem;
background: var(--pfsd-bg);
height:     100%;
border-left: 3px solid transparent;
transition: background var(--pfsd-transition), border-color var(--pfsd-transition);
}
.pfsd-item-card:hover {
background:        var(--pfsd-accent-soft);
border-left-color: var(--pfsd-accent);
}
.pfsd-item-card .pfsd-item-title {
font-size:    .9rem;
font-weight:  600;
margin:       0 0 .4rem;
color:        inherit;
}
.pfsd-item-card .pfsd-item-content {
padding:    0;
font-size:  .85rem;
color:      var(--pfsd-text-subtle);
} .pfsd-item.pfsd-hidden {
display: none;
}
.pfsd-letter-section.pfsd-hidden {
display: none;
} @media (max-width: 640px) {
.pfsd-letter-link {
width:  1.75rem;
height: 1.75rem;
font-size: .78rem;
}
.pfsd-item-trigger {
padding: .8rem .9rem;
}
.pfsd-style-grid .pfsd-items {
grid-template-columns: 1fr;
}
} @media (prefers-color-scheme: dark) {
.pfsd-wrap {
--pfsd-border:           #3a3530;
--pfsd-accent-soft:      #2e2820;
--pfsd-bg:               #1e1b17;
--pfsd-text-muted:       #b0a898;
--pfsd-text-subtle:      #b0a898;
--pfsd-text-placeholder: #7a7060;
--pfsd-icon-color:       #7a7060;
}
.pfsd-search-bar,
.pfsd-item-trigger,
.pfsd-item-card {
color: #e0d8ce;
}
.pfsd-search-input { color: #e0d8ce; }
}