.blur-up-container.svelte-rg6ce5{position:relative;overflow:hidden;background-color:#f3f4f6}.blur-layer.svelte-rg6ce5{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(20px);transform:scale(1.1);transition:opacity .4s ease-out}.blur-layer.loaded.svelte-rg6ce5{opacity:0}.main-image.svelte-rg6ce5{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .4s ease-out}.main-image.loaded.svelte-rg6ce5{opacity:1}.error-overlay.svelte-rg6ce5{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.shimmer-overlay.svelte-rg6ce5{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:svelte-rg6ce5-shimmer 1.5s infinite}@keyframes svelte-rg6ce5-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.blur-layer.svelte-rg6ce5,.main-image.svelte-rg6ce5{transition:none}.shimmer-overlay.svelte-rg6ce5{animation:none;background:#fff3}}.card.svelte-19e1lap{display:flex;flex-direction:column;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(31,26,23,.08);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px -2px #0000000a;position:relative}@keyframes svelte-19e1lap-borderGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.card.svelte-19e1lap:hover{box-shadow:0 20px 40px -12px #1f1a1740,0 8px 20px -6px #1f1a1726,0 0 0 1px #1f1a171a;border-color:#1f1a174d;transform:translateY(-8px) scale(1.02)}.card.svelte-19e1lap:hover .image-overlay:where(.svelte-19e1lap){background:linear-gradient(to top,rgba(31,26,23,.1) 0%,transparent 50%)}.card.svelte-19e1lap:active{transform:scale(.97) translateY(-2px);transition:all .1s ease}.card.compact.svelte-19e1lap{flex-direction:row;padding:.5rem;gap:.5rem;border-radius:8px}.card-image.svelte-19e1lap{position:relative;aspect-ratio:1;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);overflow:hidden}.compact.svelte-19e1lap .card-image:where(.svelte-19e1lap){width:56px;height:56px;flex-shrink:0;border-radius:8px;aspect-ratio:auto}.card-image.svelte-19e1lap .blur-up-container{width:100%;height:100%}.card-image.svelte-19e1lap .character-image{position:absolute;inset:0}.placeholder.svelte-19e1lap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eee8f5}.placeholder-blob.svelte-19e1lap{position:absolute;width:70%;height:70%;top:-10%;right:-15%;border-radius:60% 40% 55% 45%/50% 60% 40% 50%;background:#eee8f5;filter:blur(8px)}.placeholder.svelte-19e1lap span:where(.svelte-19e1lap){position:relative;z-index:1;font-size:3rem;font-weight:800;color:hsl(var(--ph-hue, 280) 65% 24%);text-shadow:0 2px 8px hsl(var(--ph-hue, 280) 50% 95% / .8);letter-spacing:-.02em}.compact.svelte-19e1lap .placeholder:where(.svelte-19e1lap) span:where(.svelte-19e1lap){font-size:1rem}.image-overlay.svelte-19e1lap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:.35rem;pointer-events:none;transition:background .3s ease}.price-badge.svelte-19e1lap{align-self:flex-end;padding:.15rem .35rem;background:#000000bf;color:#fff;font-size:.75rem;font-weight:700;border-radius:4px;line-height:1.2}.price-badge.free.svelte-19e1lap{background:#574c77}.mbti-badge.svelte-19e1lap{align-self:flex-start;padding:.1rem .3rem;background:#fffffff2;font-size:.75rem;font-weight:700;color:var(--mbti-color);border-radius:3px;letter-spacing:.02em}.rating-badge.svelte-19e1lap{position:absolute;bottom:.35rem;right:.35rem;display:flex;align-items:center;gap:.15rem;padding:.1rem .25rem;background:#000000b3;color:#fbbf24;font-size:.75rem;font-weight:600;border-radius:3px}.rating-badge.svelte-19e1lap svg:where(.svelte-19e1lap){width:10px;height:10px}.compact.svelte-19e1lap .image-overlay:where(.svelte-19e1lap){padding:.25rem}.compact.svelte-19e1lap .price-badge:where(.svelte-19e1lap),.compact.svelte-19e1lap .rating-badge:where(.svelte-19e1lap){display:none}.compact.svelte-19e1lap .mbti-badge:where(.svelte-19e1lap){font-size:.75rem;padding:.05rem .2rem}.card-content.svelte-19e1lap{display:flex;flex-direction:column;padding:.75rem;gap:.25rem;flex:1;min-width:0}.compact.svelte-19e1lap .card-content:where(.svelte-19e1lap){padding:0;gap:.2rem;justify-content:center}.name-row.svelte-19e1lap{display:flex;align-items:center;gap:.3rem;min-width:0}.card-name.svelte-19e1lap{font-size:.8rem;font-weight:600;color:#1f2937;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;flex-shrink:1;min-width:0;transition:color .3s ease}.card.svelte-19e1lap:hover .card-name:where(.svelte-19e1lap){color:#3d3654}.compact.svelte-19e1lap .card-name:where(.svelte-19e1lap){font-size:.75rem}.specialty-badge.svelte-19e1lap{display:inline-flex;align-items:center;padding:.15rem .4rem;background:linear-gradient(135deg,#1f1a171f,#3d342d1f);color:#3d3654;font-size:.75rem;font-weight:600;border-radius:4px;border:1px solid rgba(31,26,23,.2);white-space:nowrap;flex-shrink:0;line-height:1;position:relative;overflow:hidden;transition:all .3s ease}.specialty-badge.svelte-19e1lap:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .5s ease}.card.svelte-19e1lap:hover .specialty-badge:where(.svelte-19e1lap){background:linear-gradient(135deg,#1f1a1733,#3d342d33);border-color:#1f1a1766;box-shadow:0 2px 8px #1f1a1733}.card.svelte-19e1lap:hover .specialty-badge:where(.svelte-19e1lap):before{left:100%}.compact.svelte-19e1lap .specialty-badge:where(.svelte-19e1lap){font-size:.75rem;padding:.1rem .3rem;border-radius:3px}.card-intro.svelte-19e1lap{font-size:.75rem;color:#616774;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact.svelte-19e1lap .card-intro:where(.svelte-19e1lap){-webkit-line-clamp:1;line-clamp:1;font-size:.75rem}.traits.svelte-19e1lap{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.1rem}.trait.svelte-19e1lap{padding:.1rem .3rem;background:#1f1a1714;color:#3d3654;font-size:.75rem;font-weight:500;border-radius:3px;white-space:nowrap;transition:all .2s ease}.card.svelte-19e1lap:hover .trait:where(.svelte-19e1lap){background:#1f1a1726;transform:translateY(-1px)}.trait.more.svelte-19e1lap{background:#0000000a;color:#6d727a}.card.svelte-19e1lap:hover .trait.more:where(.svelte-19e1lap){background:#00000014}.compact.svelte-19e1lap .traits:where(.svelte-19e1lap){display:none}.card-actions.svelte-19e1lap{display:flex;gap:.4rem;margin-top:auto;padding-top:.5rem}.compact.svelte-19e1lap .card-actions:where(.svelte-19e1lap){padding-top:.15rem}.btn.svelte-19e1lap{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;padding:.3rem .5rem;border:none;border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;position:relative;overflow:hidden}.btn.svelte-19e1lap svg:where(.svelte-19e1lap){width:11px;height:11px;flex-shrink:0;transition:transform .2s ease}.btn.svelte-19e1lap:hover svg:where(.svelte-19e1lap){transform:scale(1.1)}.btn-text.svelte-19e1lap{display:none}.btn-primary.svelte-19e1lap{background:#574c77;color:#fff;flex:1;box-shadow:0 4px 12px -3px #1f1a1766;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-primary.svelte-19e1lap:hover{background:#474060;box-shadow:0 8px 20px -4px #1f1a1799}.btn-primary.svelte-19e1lap:active{transform:scale(.95) translateY(0);transition:all .1s ease}.btn-primary.free.svelte-19e1lap{background:#574c77;box-shadow:0 4px 12px -3px #3d342d66}.btn-primary.free.svelte-19e1lap:hover{background:#474060;box-shadow:0 8px 20px -4px #3d342d99}.btn-secondary.svelte-19e1lap{background:#0000000d;color:#374151;padding:.3rem;transition:all .2s ease}.btn-secondary.svelte-19e1lap:hover{background:#1f1a171a;color:#3d3654;transform:translateY(-1px)}.btn-secondary.svelte-19e1lap:active{background:#0000001a;transform:translateY(0)}.btn-icon.svelte-19e1lap{width:24px;height:24px;padding:0;border-radius:6px}.btn-icon.chat.svelte-19e1lap{background:#3b82f61a;color:#7a5cb2}.btn-icon.edit.svelte-19e1lap{background:#3d342d1a;color:#574c77}.btn-icon.svelte-19e1lap svg:where(.svelte-19e1lap){width:12px;height:12px}.compact.svelte-19e1lap .btn:where(.svelte-19e1lap){padding:.25rem .4rem;font-size:.75rem}.compact.svelte-19e1lap .btn-icon:where(.svelte-19e1lap){width:22px;height:22px}@media (max-width: 480px){.card.svelte-19e1lap{border-radius:8px}.card-content.svelte-19e1lap{padding:.6rem;gap:.2rem}.name-row.svelte-19e1lap{gap:.25rem}.card-name.svelte-19e1lap{font-size:.75rem;line-height:1.15}.specialty-badge.svelte-19e1lap{font-size:.75rem;padding:.1rem .3rem;border-radius:3px}.card-intro.svelte-19e1lap{font-size:.75rem;line-height:1.25;-webkit-line-clamp:1;line-clamp:1}.traits.svelte-19e1lap{gap:.15rem;margin-top:.05rem}.trait.svelte-19e1lap{font-size:.75rem;padding:.05rem .2rem;border-radius:2px}.card-actions.svelte-19e1lap{gap:.4rem;padding-top:.45rem}.btn.svelte-19e1lap{padding:.2rem .35rem;font-size:.75rem;border-radius:4px}.btn.svelte-19e1lap svg:where(.svelte-19e1lap){width:9px;height:9px}.btn-icon.svelte-19e1lap{width:20px;height:20px;border-radius:5px}.btn-icon.svelte-19e1lap svg:where(.svelte-19e1lap){width:10px;height:10px}.btn-secondary.svelte-19e1lap{padding:.2rem}.image-overlay.svelte-19e1lap{padding:.25rem}.price-badge.svelte-19e1lap{font-size:.75rem;padding:.1rem .25rem;border-radius:3px}.mbti-badge.svelte-19e1lap{font-size:.75rem;padding:.05rem .2rem;border-radius:2px}.rating-badge.svelte-19e1lap{font-size:.75rem;gap:.1rem;padding:.05rem .2rem;border-radius:2px}.rating-badge.svelte-19e1lap svg:where(.svelte-19e1lap){width:8px;height:8px}.placeholder.svelte-19e1lap span:where(.svelte-19e1lap){font-size:1.1rem}.compact.svelte-19e1lap .card-image:where(.svelte-19e1lap){width:48px;height:48px;border-radius:6px}.compact.svelte-19e1lap .card-name:where(.svelte-19e1lap){font-size:.75rem}.compact.svelte-19e1lap .card-intro:where(.svelte-19e1lap){font-size:.75rem}.compact.svelte-19e1lap .btn:where(.svelte-19e1lap){padding:.15rem .3rem;font-size:.75rem}.compact.svelte-19e1lap .btn-icon:where(.svelte-19e1lap){width:18px;height:18px}}@media (max-width: 360px){.card-content.svelte-19e1lap{padding:.3rem;gap:.1rem}.name-row.svelte-19e1lap{gap:.2rem}.card-name.svelte-19e1lap{font-size:.75rem}.specialty-badge.svelte-19e1lap{font-size:.75rem;padding:.08rem .25rem}.card-intro.svelte-19e1lap{font-size:.75rem}.trait.svelte-19e1lap{font-size:.75rem;padding:.05rem .15rem}.btn.svelte-19e1lap{padding:.15rem .3rem;font-size:.75rem}.btn-icon.svelte-19e1lap{width:18px;height:18px}.price-badge.svelte-19e1lap,.mbti-badge.svelte-19e1lap{font-size:.75rem}.compact.svelte-19e1lap .card-image:where(.svelte-19e1lap){width:42px;height:42px}.compact.svelte-19e1lap .card-name:where(.svelte-19e1lap){font-size:.75rem}.compact.svelte-19e1lap .btn-icon:where(.svelte-19e1lap){width:16px;height:16px}}@media (min-width: 640px){.card.svelte-19e1lap{border-radius:12px}.card-content.svelte-19e1lap{padding:.625rem;gap:.35rem}.name-row.svelte-19e1lap{gap:.35rem}.card-name.svelte-19e1lap{font-size:.85rem}.specialty-badge.svelte-19e1lap{font-size:.75rem;padding:.18rem .45rem;border-radius:5px}.card-intro.svelte-19e1lap{font-size:.75rem}.trait.svelte-19e1lap{font-size:.75rem;padding:.12rem .35rem}.btn.svelte-19e1lap{padding:.35rem .6rem;font-size:.75rem}.btn-text.svelte-19e1lap{display:inline}.btn-secondary.svelte-19e1lap{padding:.35rem .6rem}.price-badge.svelte-19e1lap{font-size:.75rem;padding:.2rem .4rem}.mbti-badge.svelte-19e1lap{font-size:.75rem;padding:.15rem .35rem}.rating-badge.svelte-19e1lap{font-size:.75rem}.image-overlay.svelte-19e1lap{padding:.4rem}.compact.svelte-19e1lap .card-image:where(.svelte-19e1lap){width:64px;height:64px}.compact.svelte-19e1lap .card-name:where(.svelte-19e1lap){font-size:.8rem}.compact.svelte-19e1lap .card-intro:where(.svelte-19e1lap){font-size:.75rem}.compact.svelte-19e1lap .traits:where(.svelte-19e1lap){display:flex}}@media (min-width: 1024px){.card.svelte-19e1lap:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.card-content.svelte-19e1lap{padding:.75rem;gap:.4rem}.name-row.svelte-19e1lap{gap:.4rem}.card-name.svelte-19e1lap{font-size:.9rem}.specialty-badge.svelte-19e1lap{font-size:.75rem;padding:.2rem .5rem}.card-intro.svelte-19e1lap{font-size:.75rem;line-height:1.4}.trait.svelte-19e1lap{font-size:.75rem}.btn.svelte-19e1lap{font-size:.75rem;padding:.4rem .7rem}.btn-icon.svelte-19e1lap{width:28px;height:28px}.btn-icon.svelte-19e1lap svg:where(.svelte-19e1lap){width:14px;height:14px}.compact.svelte-19e1lap .card-image:where(.svelte-19e1lap){width:72px;height:72px}}
