.pec-cats{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:14px}.pec-cat{padding:9px 14px;border-radius:10px;border:1px solid var(--border-soft);background:var(--surface);color:inherit;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px;min-height:40px}.pec-cat:hover{border-color:var(--terra)}.pec-cat:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.pec-add{padding:9px 14px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--terra) 30%,transparent);background:transparent;color:var(--terra);cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px;min-height:40px}.pec-add:hover{border-color:var(--terra);background:color-mix(in srgb,var(--terra) 6%,transparent)}.pec-add:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.pec-opts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:18px}.pec-sizes{display:contents}.pec-opt{padding:7px 13px;border-radius:8px;border:1px solid var(--border-soft);background:transparent;color:inherit;cursor:pointer;font-size:12px;font-family:inherit;min-height:38px}.pec-opt:hover{border-color:var(--terra)}.pec-opt:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.pec-opt[aria-pressed=true]{border:2px solid var(--terra);background:color-mix(in srgb,var(--terra) 10%,transparent);font-weight:600}.pec-clear{padding:7px 13px;border-radius:8px;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);background:transparent;color:var(--danger-text);cursor:pointer;font-size:12px;font-family:inherit;min-height:38px;display:inline-flex;align-items:center;gap:5px;margin-left:auto}.pec-clear:hover{border-color:var(--danger)}.pec-clear:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.pec-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:8px}.pec-card{width:150px;border-radius:14px;border:2px solid var(--border-soft);background:var(--surface);padding:10px 8px 8px;text-align:center;position:relative}.pec-grid[data-border=on] .pec-card[data-cat=needs]{border-color:#E74C3C}.pec-grid[data-border=on] .pec-card[data-cat=emotions]{border-color:#F7C04A}.pec-grid[data-border=on] .pec-card[data-cat=actions]{border-color:#2ECC71}.pec-grid[data-border=on] .pec-card[data-cat=places]{border-color:#3498DB}.pec-grid[data-border=on] .pec-card[data-cat=people]{border-color:#9B59B6}.pec-grid[data-border=on] .pec-card[data-cat=custom]{border-color:var(--terra)}.pec-grid[data-size=small] .pec-card{width:112px}.pec-grid[data-size=large] .pec-card{width:190px}.pec-del{position:absolute;top:3px;right:3px;width:30px;height:30px;border-radius:8px;background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.pec-del:hover{color:var(--terra);background:color-mix(in srgb,var(--terra) 8%,transparent)}.pec-del:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.pec-picto-btn{width:90px;height:90px;margin:6px auto 4px;border-radius:8px;border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--panel-bg);padding:0}.pec-picto-btn:hover{border-color:var(--terra)}.pec-picto-btn:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.pec-picto-btn img{width:78px;height:78px;object-fit:contain}.pec-grid[data-size=small] .pec-picto-btn{width:64px;height:64px}.pec-grid[data-size=small] .pec-picto-btn img{width:54px;height:54px}.pec-grid[data-size=large] .pec-picto-btn{width:128px;height:128px}.pec-grid[data-size=large] .pec-picto-btn img{width:112px;height:112px}.pec-picto-empty{color:var(--muted);display:inline-flex}.pec-card-text{width:100%;text-align:center;font-size:14px;font-weight:700;border:none;background:transparent;color:inherit;padding:4px 2px;font-family:inherit;border-radius:6px;cursor:text}.pec-card-text:hover{background:color-mix(in srgb,var(--terra) 5%,transparent)}.pec-card-text:focus-visible{outline:2px solid var(--terra);outline-offset:0}.pec-grid[data-size=small] .pec-card-text{font-size:12px}.pec-grid[data-size=large] .pec-card-text{font-size:17px}.pec-card-text-print{display:none;font-size:14px;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}.pec-search{margin-top:8px;padding:8px;background:var(--panel-bg);border-radius:8px;border:1px solid var(--border-soft);position:absolute;left:50%;top:100%;transform:translateX(-50%);width:min(250px,90vw);z-index:10;box-shadow:var(--elev-3)}.pec-search-row{display:flex;gap:4px;margin-bottom:6px}.pec-search-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px}.pec-search-item{aspect-ratio:1;border-radius:6px;border:1px solid var(--border-soft);background:var(--surface);cursor:pointer;padding:2px;min-width:36px;min-height:36px}.pec-search-item:hover{border-color:var(--terra)}.pec-search-item:focus-visible{outline:2px solid var(--terra);outline-offset:1px}.pec-search-item img{width:100%;height:100%;object-fit:contain}.pec-keyring-note{text-align:center;font-size:13px;color:var(--muted);margin:0 0 12px}.pec-grid[data-format=keyring] .pec-card{width:160px;border-style:dashed}.pec-grid[data-format=keyring] .pec-picto-btn{width:96px;height:96px}.pec-grid[data-format=keyring] .pec-picto-btn img{width:86px;height:86px}.pec-grid[data-format=keyring] .pec-card-text{font-size:14px}.pec-hole{position:absolute;top:9px;left:9px;width:13px;height:13px;border-radius:50%;border:1.5px solid var(--muted);background:var(--panel-bg)}@media print{.pec-card-text,.pec-cats,.pec-del,.pec-opts,.pec-picto-empty,.pec-search{display:none!important}.pec-card-text-print{display:block;color:#000!important}.pec-card{background:#fff!important;color:#000!important;page-break-inside:avoid;break-inside:avoid}.pec-grid[data-border=off] .pec-card{border-color:#ccc!important}.pec-picto-btn{border:none!important;background:none!important}.pec-grid[data-format=keyring]{gap:0;justify-content:flex-start}.pec-grid[data-format=keyring] .pec-card{width:55mm;height:55mm;box-sizing:border-box;margin:0 -1px -1px 0;padding:6mm 3mm 3mm;border-radius:0!important;border-width:1px!important;border-style:dashed!important;display:flex;flex-direction:column;align-items:center;justify-content:center}.pec-grid[data-format=keyring][data-border=off] .pec-card{border-color:#999!important}.pec-grid[data-format=keyring] .pec-picto-btn{width:32mm;height:32mm;margin:0 auto 2mm}.pec-grid[data-format=keyring] .pec-picto-btn img{width:30mm;height:30mm}.pec-grid[data-format=keyring] .pec-card-text-print{font-size:12pt}.pec-hole{top:3mm;left:3mm;width:4mm;height:4mm;border-color:#666!important;background:#fff!important}.pec-keyring-note{color:#444!important;font-size:10pt}}