.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(124,58,237,.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}.card.svelte-19e1lap:before{content:"";position:absolute;inset:0;border-radius:14px;padding:2px;background:linear-gradient(135deg,#7c3aed,#a855f7,#ec4899,#7c3aed);background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}.card.svelte-19e1lap:hover:before{opacity:1;animation:svelte-19e1lap-borderGlow 2s ease infinite}@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 #7c3aed40,0 8px 20px -6px #7c3aed26,0 0 0 1px #7c3aed1a;border-color:#7c3aed4d;transform:translateY(-8px) scale(1.02)}.card.svelte-19e1lap:hover .image-overlay:where(.svelte-19e1lap){background:linear-gradient(to top,rgba(124,58,237,.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{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c3aed,#a855f7)}.placeholder.svelte-19e1lap span:where(.svelte-19e1lap){font-size:1.5rem;font-weight:700;color:#fff}.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:.6rem;font-weight:700;border-radius:4px;line-height:1.2}.price-badge.free.svelte-19e1lap{background:#10b981}.mbti-badge.svelte-19e1lap{align-self:flex-start;padding:.1rem .3rem;background:#fffffff2;font-size:.55rem;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:.55rem;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:.5rem;padding:.05rem .2rem}.card-content.svelte-19e1lap{display:flex;flex-direction:column;padding:.5rem;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:#7c3aed}.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,#7c3aed1f,#a855f71f);color:#7c3aed;font-size:.6rem;font-weight:600;border-radius:4px;border:1px solid rgba(124,58,237,.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,#7c3aed33,#a855f733);border-color:#7c3aed66;box-shadow:0 2px 8px #7c3aed33}.card.svelte-19e1lap:hover .specialty-badge:where(.svelte-19e1lap):before{left:100%}.compact.svelte-19e1lap .specialty-badge:where(.svelte-19e1lap){font-size:.55rem;padding:.1rem .3rem;border-radius:3px}.card-intro.svelte-19e1lap{font-size:.65rem;color:#6b7280;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact.svelte-19e1lap .card-intro:where(.svelte-19e1lap){-webkit-line-clamp:1;font-size:.6rem}.traits.svelte-19e1lap{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.1rem}.trait.svelte-19e1lap{padding:.1rem .3rem;background:#7c3aed14;color:#7c3aed;font-size:.55rem;font-weight:500;border-radius:3px;white-space:nowrap;transition:all .2s ease}.card.svelte-19e1lap:hover .trait:where(.svelte-19e1lap){background:#7c3aed26;transform:translateY(-1px)}.trait.more.svelte-19e1lap{background:#0000000a;color:#9ca3af}.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:.25rem;margin-top:auto;padding-top:.35rem}.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:.6rem;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:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;flex:1;box-shadow:0 4px 12px -3px #7c3aed66;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-primary.svelte-19e1lap:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.btn-primary.svelte-19e1lap:hover{background:linear-gradient(135deg,#8b5cf6,#c084fc);box-shadow:0 8px 20px -4px #7c3aed99;transform:translateY(-2px) scale(1.03)}.btn-primary.svelte-19e1lap:hover:before{width:200px;height:200px}.btn-primary.svelte-19e1lap:active{transform:scale(.95) translateY(0);transition:all .1s ease}.btn-primary.free.svelte-19e1lap{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px -3px #10b98166}.btn-primary.free.svelte-19e1lap:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 20px -4px #10b98199}.btn-secondary.svelte-19e1lap{background:#0000000d;color:#374151;padding:.3rem;transition:all .2s ease}.btn-secondary.svelte-19e1lap:hover{background:#7c3aed1a;color:#7c3aed;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:#3b82f6}.btn-icon.edit.svelte-19e1lap{background:#10b9811a;color:#10b981}.btn-icon.svelte-19e1lap svg:where(.svelte-19e1lap){width:12px;height:12px}.compact.svelte-19e1lap .btn:where(.svelte-19e1lap){padding:.25rem .4rem;font-size:.55rem}.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:.35rem;gap:.15rem}.name-row.svelte-19e1lap{gap:.25rem}.card-name.svelte-19e1lap{font-size:.7rem;line-height:1.15}.specialty-badge.svelte-19e1lap{font-size:.5rem;padding:.1rem .3rem;border-radius:3px}.card-intro.svelte-19e1lap{font-size:.55rem;line-height:1.25;-webkit-line-clamp:1}.traits.svelte-19e1lap{gap:.15rem;margin-top:.05rem}.trait.svelte-19e1lap{font-size:.5rem;padding:.05rem .2rem;border-radius:2px}.card-actions.svelte-19e1lap{gap:.2rem;padding-top:.25rem}.btn.svelte-19e1lap{padding:.2rem .35rem;font-size:.5rem;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:.5rem;padding:.1rem .25rem;border-radius:3px}.mbti-badge.svelte-19e1lap{font-size:.45rem;padding:.05rem .2rem;border-radius:2px}.rating-badge.svelte-19e1lap{font-size:.45rem;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:.65rem}.compact.svelte-19e1lap .card-intro:where(.svelte-19e1lap){font-size:.5rem}.compact.svelte-19e1lap .btn:where(.svelte-19e1lap){padding:.15rem .3rem;font-size:.45rem}.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:.65rem}.specialty-badge.svelte-19e1lap{font-size:.45rem;padding:.08rem .25rem}.card-intro.svelte-19e1lap{font-size:.5rem}.trait.svelte-19e1lap{font-size:.45rem;padding:.05rem .15rem}.btn.svelte-19e1lap{padding:.15rem .3rem;font-size:.45rem}.btn-icon.svelte-19e1lap{width:18px;height:18px}.price-badge.svelte-19e1lap{font-size:.45rem}.mbti-badge.svelte-19e1lap{font-size:.4rem}.compact.svelte-19e1lap .card-image:where(.svelte-19e1lap){width:42px;height:42px}.compact.svelte-19e1lap .card-name:where(.svelte-19e1lap){font-size:.6rem}.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:.65rem;padding:.18rem .45rem;border-radius:5px}.card-intro.svelte-19e1lap{font-size:.7rem}.trait.svelte-19e1lap{font-size:.6rem;padding:.12rem .35rem}.btn.svelte-19e1lap{padding:.35rem .6rem;font-size:.65rem}.btn-text.svelte-19e1lap{display:inline}.btn-secondary.svelte-19e1lap{padding:.35rem .6rem}.price-badge.svelte-19e1lap{font-size:.65rem;padding:.2rem .4rem}.mbti-badge.svelte-19e1lap{font-size:.6rem;padding:.15rem .35rem}.rating-badge.svelte-19e1lap{font-size:.6rem}.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:.65rem}.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:.68rem;padding:.2rem .5rem}.card-intro.svelte-19e1lap{font-size:.72rem;line-height:1.4}.trait.svelte-19e1lap{font-size:.62rem}.btn.svelte-19e1lap{font-size:.68rem;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}}
