.cards-page{min-height:calc(100vh - 68px);background:radial-gradient(1200px 460px at 50% -8%,rgba(255,107,157,.14),transparent 68%),var(--color-ink);color:var(--color-text-on-dark);padding-block:clamp(2rem,4vw,3.5rem) var(--space-20)}.cards-hero{max-width:720px;margin-bottom:clamp(1.75rem,3vw,2.75rem)}.cards-hero-eyebrow{display:inline-block;padding:4px 12px;margin-bottom:14px;border-radius:var(--radius-pill);background:#ff6b9d1f;border:1px solid rgba(255,107,157,.22);color:var(--color-pink-soft);font-size:11px;font-weight:600;letter-spacing:.18em}.cards-hero-title{font-size:var(--text-5xl);font-weight:700;letter-spacing:-.035em;line-height:1.04;color:#fff;margin:0 0 14px}.cards-hero-sub{font-size:var(--text-lg);line-height:1.7;color:var(--color-text-on-dark-soft);margin:0}.cards-hero-sub a{color:var(--color-pink);text-decoration:none;border-bottom:1px dashed rgba(255,107,157,.4)}.cards-hero-sub a:hover{border-bottom-style:solid}.cards-hero-heart{color:var(--color-rose)}.cardgrid-tabs{display:inline-flex;gap:4px;padding:5px;margin-bottom:1.5rem;border-radius:var(--radius-pill);background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.cardgrid-tab{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 18px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-on-dark-soft);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out-expo);text-align:left}.cardgrid-tab-label{font-size:var(--text-sm);font-weight:600;line-height:1.2}.cardgrid-tab-sub{font-size:10.5px;color:var(--color-text-on-dark-muted);letter-spacing:.02em}.cardgrid-tab:hover{color:var(--color-text-on-dark);background:#ffffff0d}.cardgrid-tab:active{transform:scale(.97)}.cardgrid-tab.is-active{background:linear-gradient(135deg,#ff6b9df2,#c2185bf2);color:#fff;box-shadow:0 8px 22px -10px #ff6b9d99}.cardgrid-tab.is-active .cardgrid-tab-sub{color:#ffffffc7}.cardgrid-tab:focus-visible{outline:2px solid var(--color-pink);outline-offset:2px}.cardgrid-filters{display:flex;flex-direction:column;gap:12px;padding:18px 20px;margin-bottom:1.25rem;border-radius:var(--radius-lg);background:#ffffff06;border:1px solid rgba(255,255,255,.06)}.cardgrid-axis{display:flex;gap:12px;align-items:flex-start}.cardgrid-axis-label{flex-shrink:0;width:36px;padding-top:6px;font-size:var(--text-xs);font-weight:600;color:var(--color-pink-soft);letter-spacing:.06em}.cardgrid-axis-tags{display:flex;flex-wrap:wrap;gap:7px}.cardgrid-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--radius-pill);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text-on-dark-soft);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out-expo)}.cardgrid-chip:hover{border-color:#ff6b9d66;background:#ff6b9d14;color:#fff;transform:translateY(-1px)}.cardgrid-chip:active{transform:translateY(0) scale(.97)}.cardgrid-chip.is-on{background:#ff6b9d29;border-color:var(--color-pink);color:#ffd6e7;box-shadow:0 0 0 1px #ff6b9d66 inset}.cardgrid-chip:focus-visible{outline:2px solid var(--color-pink);outline-offset:2px}.cardgrid-chip-count{font-size:10.5px;color:var(--color-text-on-dark-muted);font-variant-numeric:tabular-nums}.cardgrid-chip.is-on .cardgrid-chip-count{color:#ffd6e7b3}.cardgrid-clear{align-self:flex-start;padding:6px 12px;border-radius:var(--radius-pill);background:transparent;border:1px dashed rgba(255,255,255,.2);color:var(--color-text-on-dark-muted);font-size:12px;cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast)}.cardgrid-clear:hover{color:var(--color-pink);border-color:var(--color-pink)}.cardgrid-count{margin:0 0 1.25rem;font-size:var(--text-sm);color:var(--color-text-on-dark-muted)}.cardgrid-count b{color:var(--color-text-on-dark);font-variant-numeric:tabular-nums}.cardgrid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(14px,1.4vw,20px)}.cardgrid-skeleton{aspect-ratio:3 / 4.4;border-radius:var(--radius-lg);background:linear-gradient(110deg,#ffffff08 30%,#ffffff12,#ffffff08 70%);background-size:220% 100%;animation:cardgridShimmer 1.4s linear infinite}@keyframes cardgridShimmer{0%{background-position:200% 0}to{background-position:-20% 0}}.mcard{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);border:1px solid rgba(255,255,255,.06);transition:transform var(--dur-normal) var(--ease-out-expo),border-color var(--dur-normal) ease,box-shadow var(--dur-normal) ease}.mcard:hover{transform:translateY(-4px);border-color:#ff6b9d57;box-shadow:0 26px 50px -28px #ff6b9d66}.mcard-cover{position:relative;display:block;aspect-ratio:3 / 4;overflow:hidden;text-decoration:none;background:var(--color-surface-elev)}.mcard-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out-expo)}.mcard:hover .mcard-cover img{transform:scale(1.05)}.mcard-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#ff6b9d80;background:radial-gradient(circle at 50% 40%,rgba(255,107,157,.12),transparent 70%)}.mcard-veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,10,14,.05) 60%,rgba(11,10,14,.86) 100%);pointer-events:none}.mcard-verified{position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:var(--radius-pill);background:#6ee7b72e;border:1px solid rgba(110,231,183,.45);color:#6ee7b7;font-size:11px;font-weight:600;backdrop-filter:blur(6px)}.mcard-fav{position:absolute;top:8px;right:8px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#0b0a0e80;backdrop-filter:blur(8px);cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out-expo)}.mcard-fav-glyph{font-size:17px;line-height:1;transition:transform var(--dur-fast) var(--ease-out-expo)}.mcard-fav:hover{background:#0b0a0eb8;transform:scale(1.08)}.mcard-fav:active{transform:scale(.88)}.mcard-fav.is-on{background:#e8446b38}.mcard-fav.is-on .mcard-fav-glyph{animation:favPop .35s var(--ease-out-expo)}.mcard-fav.is-pending{opacity:.6;pointer-events:none}.mcard-fav:focus-visible{outline:2px solid var(--color-pink);outline-offset:2px}@keyframes favPop{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}.mcard-cover-foot{position:absolute;left:0;right:0;bottom:0;padding:12px 12px 11px;display:flex;flex-direction:column;gap:1px}.mcard-name{font-size:var(--text-base);font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.5)}.mcard-tagline{font-size:12px;color:#ffffffc7;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.5)}.mcard-body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:10px}.mcard-signals{display:flex;align-items:center;gap:14px}.mcard-signal{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--color-text-on-dark-muted);font-variant-numeric:tabular-nums}.mcard-signal-ic{font-size:11px;opacity:.85}.mcard-signal-ic.is-fav{color:var(--color-rose);opacity:1}.mcard-signal-rating{margin-left:auto;color:var(--color-text-on-dark-soft)}.mcard-signal-rating .mcard-signal-ic{color:#f5c542;opacity:1}.mcard-tags{display:flex;flex-wrap:wrap;gap:6px}.mcard-tag{padding:3px 9px;border-radius:var(--radius-pill);background:#ff6b9d14;border:1px solid rgba(255,107,157,.18);color:var(--color-pink-soft);font-size:11.5px;font-weight:500}.mcard-actions{display:flex;gap:8px;margin-top:2px}.mcard-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out-expo),box-shadow var(--dur-normal) ease,background var(--dur-normal) ease,color var(--dur-normal) ease,border-color var(--dur-normal) ease}.mcard-btn--chat{background:var(--gradient-brand, linear-gradient(135deg, #ff6b9d, #c2185b));color:#fff;box-shadow:0 6px 18px -8px #ff6b9d8c}.mcard-btn--chat:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px #ff6b9db3}.mcard-btn--chat:active{transform:translateY(0) scale(.97)}.mcard-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--color-text-on-dark-soft)}.mcard-btn--ghost:hover{border-color:var(--color-pink);color:var(--color-pink);background:#ff6b9d0d}.mcard-btn--ghost:active{transform:scale(.97)}.cardgrid-more{display:flex;justify-content:center;margin-top:2.25rem}.cardgrid-more .btn-ghost{color:var(--color-text-on-dark);border-color:#ffffff29}.cardgrid-more .btn-ghost:hover{border-color:var(--color-pink);color:var(--color-pink)}.cardgrid-more .btn[disabled]{opacity:.5;pointer-events:none}.cardgrid-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:clamp(3rem,8vw,5rem) 1rem;text-align:center}.cardgrid-empty-title{margin:0;font-size:var(--text-xl);font-weight:700;color:var(--color-text-on-dark)}.cardgrid-empty-sub{margin:0 0 8px;font-size:var(--text-sm);color:var(--color-text-on-dark-muted);line-height:1.6}.cardgrid-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:80;padding:11px 20px;border-radius:var(--radius-pill);background:#14101af0;border:1px solid rgba(255,107,157,.3);color:#fff;font-size:13.5px;box-shadow:0 18px 44px -18px #000000b3;backdrop-filter:blur(10px);animation:toastIn .28s var(--ease-out-expo)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.mcard,.mcard-cover img,.mcard-fav,.mcard-fav-glyph,.cardgrid-chip,.cardgrid-tab,.mcard-btn{transition:none}.mcard:hover,.mcard:hover .mcard-cover img{transform:none}.cardgrid-skeleton,.mcard-fav.is-on .mcard-fav-glyph,.cardgrid-toast{animation:none}}@media(max-width:520px){.cardgrid-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cardgrid-tabs{display:flex;width:100%}.cardgrid-tab{flex:1;align-items:center}.cardgrid-tab-label,.cardgrid-tab-sub{text-align:center}.cardgrid-axis-label{width:30px}}
