.mood-selector{text-align:center;margin-bottom:3rem}.mood-selector h2{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.mood-selector-subtitle{color:#fff9;margin-bottom:2rem;font-size:1rem}.user-indicator{color:#8b5cf6cc;font-weight:500}.mood-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1rem;display:grid}.mood-button{cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.mood-button:hover:not(:disabled){background:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.mood-button.active{background:#8b5cf633;border-color:#8b5cf680}.mood-button:disabled{opacity:.5;cursor:not-allowed}.mood-icon{font-size:2rem}.mood-name{color:#ffffffe6;font-size:1.25rem;font-weight:600}.mood-description{color:#fff9;font-size:.875rem;line-height:1.4}.mood-count{color:#8b5cf6cc;margin-top:.25rem;font-size:.75rem;font-weight:500}.tarot-spread{padding:2rem 0}.spread-header{justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 1rem;display:flex}.spread-header h3{font-size:1.75rem;font-weight:600}.spread-reset{color:#ffffffe6;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;transition:all .2s}.spread-reset:hover{background:#ffffff26}.card-container{justify-content:center;align-items:center;min-height:400px;display:flex}.tarot-card{perspective:1000px;cursor:pointer;width:320px;height:480px;position:relative}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.card-inner.flipped{transform:rotateY(180deg)}.card-front,.card-back{backface-visibility:hidden;border-radius:16px;width:100%;height:100%;position:absolute;overflow:hidden;box-shadow:0 8px 32px #0006}.card-front{background:linear-gradient(135deg,var(--primary,#667eea)0%,var(--secondary,#764ba2)100%);border:2px solid var(--accent,#8b5cf6);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.card-border{text-align:center;border:1px solid #fff3;border-radius:8px;width:100%;padding:1.5rem}.card-archetype{text-transform:uppercase;letter-spacing:2px;color:#fff9;margin-bottom:1rem;font-size:.75rem}.card-name{color:#fff;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.card-elements{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.element-badge{text-transform:uppercase;letter-spacing:1px;color:#ffffffe6;background:#fff3;border:1px solid #ffffff4d;border-radius:12px;padding:.25rem .75rem;font-size:.75rem}.card-description{color:#fffc;margin-bottom:1rem;font-size:.95rem;line-height:1.5}.card-mood-badge{color:#fff;background:#ffffff4d;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.card-back{background:linear-gradient(135deg,var(--secondary,#764ba2)0%,var(--primary,#667eea)100%);flex-direction:column;padding:1.5rem;display:flex;overflow-y:auto;transform:rotateY(180deg)}.card-back-header{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.card-back-header h4{color:#fff;margin:0;font-size:1.25rem;font-weight:600}.card-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:background .2s;display:flex}.card-close:hover{background:#ffffff4d}.card-media-results{flex:1}.loading-spinner{text-align:center;color:#ffffffb3;padding:2rem}.no-results{text-align:center;color:#fff9;padding:2rem;font-size:.9rem}.media-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.media-card-mini{background:#0000004d;border-radius:8px;transition:transform .2s;overflow:hidden}.media-card-mini:hover{transform:scale(1.05)}.media-poster-mini{object-fit:cover;aspect-ratio:2/3;width:100%;height:auto}.media-info-mini{padding:.75rem}.media-info-mini h5{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:0 0 .25rem;font-size:.8rem;font-weight:600;overflow:hidden}.media-type{color:#ffffff80;text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.media-more{text-align:center;color:#ffffffb3;background:#ffffff1a;border-radius:8px;margin-top:1rem;padding:.75rem;font-size:.85rem}.spread-empty-state{justify-content:center;align-items:center;min-height:300px;padding:3rem 1rem;display:flex}.empty-state-content{text-align:center;max-width:400px}.empty-state-icon{margin-bottom:1rem;font-size:4rem;display:block}.empty-state-content h3{color:#ffffffe6;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.empty-state-content p{color:#fff9;line-height:1.5}.discovery-spread-error,.tarot-card-error{text-align:center;padding:3rem 1rem}.discovery-spread-error h2{color:#ef4444e6;margin-bottom:.5rem;font-size:1.75rem;font-weight:600}.discovery-spread-error p{color:#fff9}.tarot-card-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;padding:2rem}@media (max-width:768px){.mood-grid{grid-template-columns:1fr;gap:1rem}.tarot-card{width:280px;height:420px}.spread-header{flex-direction:column;gap:1rem}.media-grid{grid-template-columns:1fr}}
.cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:3rem;max-width:1600px;margin:0 auto;padding:2rem 1rem;display:grid}@media (max-width:1024px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}}@media (max-width:768px){.cards-grid{grid-template-columns:1fr;gap:1.5rem}}.tarot-card{perspective:1000px;cursor:pointer;aspect-ratio:2/3;width:100%;max-width:380px;min-height:480px;transition:transform .2s,box-shadow .2s}.tarot-card:hover{transform:translateY(-4px)}@media (max-width:1024px){.tarot-card{min-height:420px}}@media (max-width:768px){.tarot-card{max-width:100%;min-height:400px}}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.tarot-card.flipped{aspect-ratio:auto;grid-column:1/-1;max-width:100%;min-height:auto}.tarot-card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{backface-visibility:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#312e8166 0%,#0b102199 100%);border:1px solid #a78bfa33;border-radius:16px;width:100%;height:100%;position:absolute;overflow:hidden;box-shadow:0 8px 32px #0006}.card-front{flex-direction:column;display:flex}.card-front .card-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.card-front .title-area{flex-direction:column;flex:1;gap:.5rem;display:flex}.card-front .card-title{color:#fff;margin:0;font-family:Almendra,Georgia,serif;font-size:1.25rem;font-weight:600}.card-front .vault-badges{flex-wrap:wrap;gap:.375rem;display:flex}.card-front .vault-badge{color:#fffc;text-transform:uppercase;letter-spacing:.05em;background:#3b82f633;border:1px solid #3b82f666;border-radius:4px;padding:.25rem .5rem;font-size:.65rem}.card-front .rarity-pill{text-transform:uppercase;letter-spacing:1px;color:#fff;white-space:nowrap;border-radius:12px;padding:.375rem .75rem;font-size:.7rem;font-weight:600;box-shadow:0 2px 8px #0000004d}.card-front .card-image{background:#0000004d;flex:1;justify-content:center;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}.card-front .placeholder-image{color:#ffffff4d;justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.card-front .card-body{background:#0000004d;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.card-front .card-quote{color:#fffc;border-left:2px solid #8b5cf680;margin:0;padding-left:.75rem;font-size:.85rem;font-style:italic;line-height:1.4}.card-front .card-description{color:#ffffffb3;margin:0;font-size:.875rem;line-height:1.5}.card-front .vibe-tags{flex-wrap:wrap;gap:.5rem;display:flex}.card-front .vibe-tag{color:#fffc;background:#8b5cf633;border:1px solid #8b5cf666;border-radius:4px;padding:.25rem .5rem;font-size:.7rem}.card-back{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#667eea1a 0%,#764ba21a 100%);padding:1.5rem;overflow-y:auto;transform:rotateY(180deg)}.card-back::-webkit-scrollbar{width:6px}.card-back::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.card-back::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:3px}.card-back::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.card-back-header{border-bottom:2px solid #a78bfa4d;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.card-back-header h3{color:#f8fafc;flex:1;margin:0;padding-right:1rem;font-family:Almendra,Georgia,serif;font-size:1.5rem;font-weight:700}.card-back-header .close-button,.close-button{cursor:pointer;color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;transition:all .2s;display:flex}.card-back-header .close-button:hover,.close-button:hover{background:#ef444433;border-color:#ef444466;transform:rotate(90deg)}.card-detail-content{flex-direction:column;gap:1.25rem;display:flex}.detail-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:1rem}.detail-section h4{text-transform:uppercase;letter-spacing:1px;color:#8b5cf6e6;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.detail-section .quote-text{color:#fffc;margin:0;font-size:.95rem;font-style:italic;line-height:1.5}.detail-section .description-text{color:#ffffffb3;margin:0;font-size:.9rem;line-height:1.6}.tags-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-detail{color:#ffffffe6;background:#8b5cf633;border:1px solid #8b5cf666;border-radius:6px;padding:.375rem .75rem;font-size:.8rem}.vaults-list{flex-direction:column;gap:.5rem;display:flex}.vault-detail{color:#ffffffe6;background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;align-items:center;width:fit-content;padding:.5rem .75rem;font-size:.875rem;display:inline-flex}.vault-family{color:#fff9;margin-left:.25rem;font-size:.75rem}.media-placeholder{text-align:center;background:#0003;border:2px dashed #8b5cf64d;border-radius:8px;padding:2rem 1rem}.media-placeholder p{color:#fff9;margin:0;font-size:.95rem}.media-placeholder p:first-child{margin-bottom:.5rem;font-size:1.25rem}.placeholder-note{font-style:italic;color:#8b5cf6b3!important;font-size:.8rem!important}.recommendations-section{border-top:1px solid #a78bfa33;margin-top:2rem;padding-top:1.5rem}.recommendations-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.recommendations-header h4{color:#f8fafc;margin:0;font-family:Almendra,Georgia,serif;font-size:1.125rem;font-weight:600}.loading-text{color:#cbd5e1;font-size:.875rem;font-style:italic}.error-text{color:#fca5a5;font-size:.875rem}.no-recommendations{text-align:center;color:#ffffff80;padding:2rem 1rem;font-size:.95rem;font-style:italic}.meta-item{margin-bottom:1rem}.meta-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.meta-value{color:#e5e7eb;font-size:.95rem;line-height:1.5}.quote-text{color:#cbd5e1;font-style:italic}.description-text{color:#e5e7eb}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{color:#ffffffe6;background:#8b5cf633;border:1px solid #8b5cf666;border-radius:6px;padding:.375rem .75rem;font-size:.75rem}.vault-tag{background:#3b82f633;border-color:#3b82f666}.vibe-tag{background:#8b5cf633;border-color:#8b5cf666}.card-meta{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}@media (max-width:768px){.card-back-header h3{font-size:1.25rem}.card-back{padding:1rem}.recommendations-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width:480px){.card-front .card-title,.card-back-header h3{font-size:1.1rem}}
