:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--darker) 0%,var(--dark) 100%)}.auth-card{width:100%;max-width:450px;background:var(--card-bg);border-radius:20px;padding:3rem 2rem;box-shadow:0 10px 40px #8b5cf633;border:1px solid rgba(139,92,246,.3);animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--light);opacity:.8;font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--light)}.form-group input{padding:.875rem 1rem;background:#0000004d;border:1px solid rgba(139,92,246,.3);border-radius:10px;color:var(--light);font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.form-group input::placeholder{color:#e0e0ff66}.form-group small{font-size:.8rem;color:#e0e0ff99}.form-footer{display:flex;justify-content:flex-end;margin-top:-.5rem}.forgot-password-link{color:var(--primary);font-size:.9rem;text-decoration:none;transition:color .3s ease}.forgot-password-link:hover{color:var(--secondary)}.auth-submit-btn{padding:1rem;background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #8b5cf666}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#fca5a5;font-size:.9rem;text-align:center}.auth-success{padding:1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:10px;color:#6ee7b7;font-size:.9rem;text-align:center}.auth-alternate{margin-top:2rem;text-align:center;padding-top:2rem;border-top:1px solid rgba(139,92,246,.2)}.auth-alternate p{color:#e0e0ffb3;font-size:.95rem}.auth-alternate a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s ease}.auth-alternate a:hover{color:var(--secondary)}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#e0e0ff80;font-size:.9rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid rgba(139,92,246,.2)}.auth-divider span{padding:0 1rem}.google-auth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:1px solid rgba(139,92,246,.3);border-radius:10px;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.google-auth-btn:hover:not(:disabled){background:#f8f9fa;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.google-auth-btn:disabled{opacity:.6;cursor:not-allowed}.google-auth-btn svg{flex-shrink:0}@media(max-width:640px){.auth-card{padding:2rem 1.5rem}.auth-header h1{font-size:1.75rem}}.user-menu-auth-buttons{display:flex;gap:.75rem;align-items:center;margin-left:auto}.user-menu-btn{padding:.5rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .3s ease;display:inline-block}.signin-btn{color:var(--light);background:#8b5cf61a;border:1px solid rgba(139,92,246,.3)}.signin-btn:hover{background:#8b5cf633;border-color:var(--primary)}.signup-btn{color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));border:none}.signup-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.user-menu{position:relative;margin-left:auto}.user-menu-trigger{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:10px;color:var(--light);cursor:pointer;transition:all .3s ease}.user-menu-trigger:hover{background:#8b5cf633;border-color:var(--primary)}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;color:#fff}.user-email{font-size:.9rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:250px;background:var(--card-bg);border:1px solid rgba(139,92,246,.3);border-radius:12px;box-shadow:0 10px 40px #00000080;z-index:1000;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:1rem}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-email-full{font-size:.9rem;font-weight:500;color:var(--light);word-break:break-all}.user-id{font-size:.75rem;color:#e0e0ff99}.user-menu-divider{height:1px;background:#8b5cf633;margin:0}.user-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:none;border:none;color:var(--light);font-size:.9rem;text-decoration:none;cursor:pointer;transition:all .2s ease;text-align:left}.user-menu-item:hover{background:#8b5cf61a}.user-menu-item svg{opacity:.8}.signout-item:hover{background:#ef44441a;color:#fca5a5}@media(max-width:768px){.user-email{display:none}.user-menu-trigger{padding:.5rem}.user-menu-dropdown{min-width:220px}.user-menu-auth-buttons{gap:.5rem}.user-menu-btn{padding:.5rem 1rem;font-size:.85rem}}:root{--primary: #8b5cf6;--secondary: #ec4899;--dark: #1a1a2e;--darker: #0f0f1e;--light: #e0e0ff;--accent: #fbbf24;--success: #10b981;--card-bg: #2a2a3e}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1a1a2e,#16213e);color:var(--light);min-height:100vh}#root{max-width:100%;margin:0 auto;padding:0;width:100%}.app{min-height:100vh;display:flex;flex-direction:column}.main-nav{background:var(--darker);padding:1rem 2rem;border-bottom:2px solid var(--primary);box-shadow:0 4px 6px #0000004d;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.nav-brand{display:block}.nav-brand a{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.nav-links{display:flex;list-style:none;gap:1.5rem;flex-wrap:wrap;flex:1}.nav-links a{color:var(--light);text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease}.nav-links a:hover{background:var(--primary);color:#fff}.main-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%;display:flex;flex-direction:column;align-items:center}.page{animation:fadeIn .5s ease-in;width:100%;max-width:1200px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page h1{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{color:#a0a0c0;font-size:1.1rem;margin-bottom:2rem}.hero{text-align:center;padding:3rem 1rem;margin-bottom:3rem}.hero h1{font-size:3.5rem;margin-bottom:1rem}.tagline{font-size:1.5rem;color:var(--accent);margin-bottom:1rem}.description{font-size:1.1rem;color:#b0b0d0;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:var(--card-bg);padding:2rem;border-radius:12px;border:2px solid transparent;transition:all .3s ease;cursor:pointer}.feature-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 10px 30px #8b5cf64d}.feature-card h2{color:var(--accent);margin-bottom:.5rem}.feature-link{display:inline-block;margin-top:1rem;color:var(--primary);text-decoration:none;font-weight:700;transition:color .3s ease}.feature-link:hover{color:var(--secondary)}button{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0003}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #8b5cf666}button:disabled{opacity:.5;cursor:not-allowed}.tab-navigation{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--card-bg)}.tab-navigation button{background:transparent;border-radius:8px 8px 0 0;box-shadow:none;border-bottom:3px solid transparent}.tab-navigation button.active{border-bottom-color:var(--primary);background:var(--card-bg)}.profile-header{padding:2rem;border-radius:12px;margin-bottom:2rem;position:relative}.profile-avatar{margin-bottom:1rem}.avatar-placeholder{width:100px;height:100px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;margin:0 auto}.profile-bio{font-style:italic;margin:1rem 0}.profile-tags{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.tag{background:var(--card-bg);padding:.4rem .8rem;border-radius:20px;font-size:.9rem;border:1px solid var(--primary)}.tag.experience{background:var(--primary)}.customize-btn{margin-top:1rem}.customization-panel{margin-top:1rem;padding:1rem;background:var(--card-bg);border-radius:8px}.wall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.new-post-form{background:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:2rem}.new-post-form textarea{width:100%;padding:1rem;background:var(--darker);border:2px solid var(--primary);border-radius:8px;color:var(--light);font-size:1rem;resize:vertical}.form-actions{display:flex;gap:1rem;margin-top:1rem}.post{background:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid transparent;transition:border-color .3s ease}.post:hover{border-color:var(--primary)}.post-header{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.9rem;color:#a0a0c0}.post-type{background:var(--primary);padding:.2rem .6rem;border-radius:12px;font-size:.8rem}.post-content{margin-bottom:1rem}.post-card,.post-cards{margin-top:.5rem;padding:.5rem;background:var(--darker);border-radius:6px}.post-actions{display:flex;gap:1rem}.post-actions button{background:var(--darker);font-size:.9rem;padding:.5rem 1rem}.magic8ball-container{max-width:500px;margin:0 auto;text-align:center}.question-input{margin-bottom:2rem}.question-input input,.question-input textarea{width:100%;padding:1rem;background:var(--card-bg);border:2px solid var(--primary);border-radius:8px;color:var(--light);font-size:1rem}.magic8ball{width:300px;height:300px;margin:2rem auto;cursor:pointer;transition:transform .3s ease}.magic8ball:hover{transform:scale(1.05)}.magic8ball.shaking{animation:shake .5s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-10px) rotate(-5deg)}75%{transform:translate(10px) rotate(5deg)}}.ball-outer{width:100%;height:100%;background:radial-gradient(circle at 30% 30%,#333,#000);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px #000c,inset 0 -20px 40px #00000080}.ball-inner{width:120px;height:120px;background:#1a1a3e;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 4px 10px #8b5cf680}.ball-window{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}.answer-text{color:var(--accent);font-weight:700;text-align:center;font-size:.9rem;animation:fadeIn .5s ease-in}.ball-number{font-size:4rem;font-weight:700;color:#fff}.daily-draw,.three-card-reading,.card-collection{max-width:900px;margin:0 auto}.description{text-align:center;margin-bottom:2rem;color:#b0b0d0}.draw-area{text-align:center;margin:3rem 0}.card-back{width:200px;height:320px;margin:0 auto 2rem;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease;box-shadow:0 10px 30px #8b5cf666}.card-back:hover{transform:scale(1.05) rotateY(10deg)}.card-pattern{font-size:6rem;color:#fff;opacity:.3}.card-reveal{animation:cardFlip .6s ease-in-out}@keyframes cardFlip{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.card-display{background:var(--card-bg);padding:2rem;border-radius:12px;border:2px solid var(--primary);margin-bottom:2rem}.card-display h3{font-size:2rem;color:var(--accent);margin-bottom:1rem}.card-info{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.arcana,.suit{background:var(--primary);padding:.3rem .8rem;border-radius:16px;font-size:.9rem;text-transform:capitalize}.keywords{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:1rem 0}.keyword{background:var(--darker);padding:.3rem .8rem;border-radius:12px;font-size:.85rem;color:var(--light)}.interpretation{background:var(--card-bg);padding:2rem;border-radius:12px;animation:fadeIn .5s ease-in}.interpretation h4{color:var(--accent);margin-bottom:1rem}.card-stats{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--primary)}.hint{font-size:.9rem;color:#a0a0c0;font-style:italic}.category-selection{text-align:center}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.category-card{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:all .3s ease}.category-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 10px 30px #8b5cf64d}.category-card h3{color:var(--accent);margin-bottom:.5rem}.positions{font-size:.9rem;color:#a0a0c0}.reading-setup{text-align:center;max-width:500px;margin:0 auto}.positions-info{margin:1rem 0;color:#b0b0d0}.question-input{margin:2rem 0;text-align:left}.question-input label{display:block;margin-bottom:.5rem;color:var(--light)}.back-btn{background:var(--darker);margin-left:1rem}.cards-spread{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin:2rem 0}.card-position h4{text-align:center;color:var(--accent);margin-bottom:1rem}.card{min-height:400px;border-radius:12px;transition:all .3s ease}.card.hidden .card-back{cursor:pointer;height:100%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.card.hidden .card-back:hover{transform:scale(1.02)}.card.revealed{animation:cardFlip .6s ease-in-out}.card-front{background:var(--card-bg);padding:1.5rem;border:2px solid var(--primary);border-radius:12px;height:100%}.card-front h4{color:var(--accent);margin-bottom:1rem}.meaning{margin-top:1rem;font-size:.9rem;color:#b0b0d0}.free-tier-notice{text-align:center;margin-top:3rem;padding:1rem;background:var(--card-bg);border-radius:8px;border:1px solid var(--accent)}.question{text-align:center;font-style:italic;color:#b0b0d0;margin:1rem 0}.new-reading-btn{display:block;margin:2rem auto}.view-toggle{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.view-toggle button{background:var(--darker)}.view-toggle button.active{background:linear-gradient(135deg,var(--primary),var(--secondary))}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--card-bg);padding:2rem;border-radius:12px;text-align:center;border:2px solid var(--primary)}.stat-card h3{font-size:3rem;color:var(--accent);margin-bottom:.5rem}.special-message{background:var(--card-bg);padding:2rem;border-radius:12px;border:2px solid var(--accent);margin-bottom:2rem;text-align:center}.card-highlight{font-size:1.5rem;color:var(--accent);font-weight:700;margin:1rem 0}.probability-note{margin-top:1rem;padding:1rem;background:var(--darker);border-radius:8px;font-size:.95rem}.unlock-notification{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:8px}.unlock-text{font-size:1.1rem;font-weight:700}.unlock-progress{margin-top:1rem;color:#a0a0c0}.card-frequency-list{background:var(--card-bg);padding:1.5rem;border-radius:12px}.card-frequency-list h3{margin-bottom:1rem;color:var(--accent)}.frequency-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:var(--darker);border-radius:8px}.card-name{display:flex;align-items:center;gap:.5rem}.foil-badge{font-size:1.2rem}.count{color:var(--accent);font-weight:700}.history-list{display:flex;flex-direction:column;gap:1rem}.history-entry{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:1px solid var(--primary)}.entry-header{display:flex;justify-content:space-between;margin-bottom:.75rem}.entry-header .card-name{font-weight:700;color:var(--accent)}.date{color:#a0a0c0;font-size:.9rem}.entry-details{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:#b0b0d0;margin-bottom:.5rem}.type-badge{background:var(--primary);padding:.2rem .6rem;border-radius:12px;font-size:.8rem}.empty-state,.empty-collection,.coming-soon{text-align:center;padding:3rem;color:#a0a0c0}.empty-collection .hint{display:block;margin-top:1rem}.test-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.test-card{background:var(--card-bg);padding:2rem;border-radius:12px;border:2px solid var(--primary);text-align:center}.test-card h3{color:var(--accent);margin-bottom:1rem}.test-card button{margin-top:1rem}@media(max-width:768px){.main-nav{padding:1rem}.nav-links{gap:.5rem}.nav-links a{padding:.4rem .8rem;font-size:.9rem}.hero h1{font-size:2.5rem}.features-grid,.cards-spread,.overview-stats{grid-template-columns:1fr}}.loading-spinner{width:40px;height:40px;border:4px solid rgba(139,92,246,.2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.profile-edit-form{width:100%}.profile-edit-form .form-group{margin-bottom:1rem}.profile-edit-form label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--light);opacity:.9}.profile-edit-form input,.profile-edit-form textarea{width:100%;padding:.75rem;background:#0000004d;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:var(--light);font-size:1rem;font-family:inherit}.profile-edit-form input:focus,.profile-edit-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.profile-edit-form textarea{resize:vertical;min-height:80px}.profile-username{color:var(--light);opacity:.7;font-size:.95rem;margin-top:-.5rem;margin-bottom:1rem}.profile-email{color:var(--light);opacity:.6;font-size:.9rem;margin-top:.5rem}.cancel-btn{margin-left:1rem;padding:.75rem 1.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#fca5a5;font-size:1rem;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#ef444433;border-color:#ef444480}.avatar-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:50%}
