.welcome{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:600px}.welcome-hat{width:180px;height:180px;animation:float 3s ease-in-out infinite}.hat-svg{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(212,168,67,.3))}.welcome-title{font-family:var(--font-display);font-size:3rem;font-weight:900;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright),var(--gold),var(--gold-bright),var(--gold-dim));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 4s linear infinite;line-height:1.2}.welcome-subtitle{font-family:var(--font-heading);font-size:1.2rem;color:var(--text-secondary);max-width:400px}.welcome-btn{margin-top:.5rem;font-size:1.2rem;padding:1rem 2.5rem}.welcome-hint{font-size:.9rem;color:var(--text-muted);font-style:italic}@media(max-width:480px){.welcome-hat{width:140px;height:140px}.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1rem}}.progress-container{width:100%;margin-bottom:1rem}.progress-label{font-family:var(--font-heading);font-size:.85rem;color:var(--text-muted);text-align:center;margin-bottom:.5rem;letter-spacing:1px;text-transform:uppercase}.progress-track{width:100%;height:4px;background:#d4a84326;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:2px;transition:width .4s ease}.quiz{width:100%;max-width:var(--max-width);display:flex;flex-direction:column;align-items:center}.question-card{width:100%;text-align:center}.question-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:2rem;line-height:1.4}.answers{display:flex;flex-direction:column;gap:.75rem;width:100%}.answer-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1.1rem 1.5rem;background:var(--bg-card);border:1px solid rgba(212,168,67,.15);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;text-align:left;cursor:pointer;transition:all var(--transition-fast);line-height:1.4;position:relative;overflow:hidden}.answer-btn:before{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,67,.06),transparent);transform:translate(-100%) skew(-15deg);pointer-events:none}.answer-btn:hover:before{animation:cardShimmer .8s ease forwards}.answer-btn:hover{border-color:var(--gold);background:#d4a84314;box-shadow:0 0 15px #d4a8431a}.answer-icon{color:var(--gold);font-size:.8rem;flex-shrink:0}.answer-text{flex:1}@media(max-width:480px){.question-text{font-size:1.2rem;margin-bottom:1.5rem}.answer-btn{padding:.9rem 1.1rem;font-size:.95rem;min-height:48px}}.ceremony{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;min-height:60vh;position:relative}.ceremony-hat{width:200px;height:200px;animation:float 3s ease-in-out infinite}.ceremony-hat.wobbling{animation:wobble 1.5s ease-in-out infinite,glowPulse 2s ease-in-out infinite}.ceremony-hat-svg{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(212,168,67,.4))}.hat-mouth{animation:none}.wobbling .hat-mouth{animation:mouthMove .8s ease-in-out infinite alternate}@keyframes mouthMove{0%{d:path("M65 130 Q100 140 135 130")}to{d:path("M65 130 Q100 120 135 130")}}.ceremony-phrase{font-family:var(--font-body);font-size:1.3rem;font-style:italic;color:var(--text-secondary);min-height:2em}.ceremony-reveal{position:relative;z-index:2}.ceremony-house-name{font-family:var(--font-display);font-size:3.5rem;font-weight:900;text-transform:uppercase;letter-spacing:4px}.ceremony-glow{position:absolute;width:300px;height:300px;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none}.ceremony-continue{position:relative;z-index:2}@media(max-width:480px){.ceremony-hat{width:150px;height:150px}.ceremony-house-name{font-size:2.2rem}.ceremony-phrase{font-size:1.1rem}.ceremony-glow{width:200px;height:200px}}.share{text-align:center}.share-title{font-family:var(--font-heading);font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem}.share-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.share-btn{font-family:var(--font-body);font-size:.85rem;padding:.5rem 1rem;border:1px solid rgba(212,168,67,.2);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.share-btn:hover{border-color:var(--gold);background:#d4a8431a}.share-twitter:hover{border-color:#1da1f2}.share-facebook:hover{border-color:#4267b2}.share-whatsapp:hover{border-color:#25d366}.share-copy:hover{border-color:var(--gold)}.stats{width:100%;max-width:500px;text-align:center}.stats-title{font-family:var(--font-heading);font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.stats-total{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.stats-empty{font-size:.85rem;color:var(--text-secondary);font-style:italic}.stats-bars{display:flex;flex-direction:column;gap:.6rem}.stats-row{display:flex;align-items:center;gap:.75rem}.stats-row-active .stats-label{color:var(--gold)}.stats-label{font-family:var(--font-heading);font-size:.8rem;color:var(--text-secondary);width:90px;text-align:right;flex-shrink:0}.stats-bar-track{flex:1;height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden}.stats-bar-fill{height:100%;border-radius:4px;transition:width .6s ease;min-width:2px}.stats-pct{font-size:.8rem;color:var(--text-muted);width:35px;text-align:left;flex-shrink:0}.result{width:100%;max-width:var(--max-width);display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;padding-bottom:2rem}.result-crest{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid;background:#ffffff08}.result-crest svg{filter:drop-shadow(0 0 8px currentColor)}.result-house-name{font-family:var(--font-display);font-size:3rem;font-weight:900;text-transform:uppercase;letter-spacing:3px;text-shadow:0 0 20px currentColor}.result-motto{font-family:var(--font-body);font-style:italic;font-size:1.1rem;color:var(--text-secondary);max-width:500px}.result-description{font-size:1rem;color:var(--text-primary);max-width:600px;line-height:1.7}.result-details{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.5rem}.detail-card{background:var(--bg-card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.25rem;text-align:left;position:relative;overflow:hidden;border-top:2px solid var(--house-primary, var(--gold))}.detail-card:before{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,67,.06),transparent);transform:translate(-100%) skew(-15deg);pointer-events:none}.detail-card:hover:before{animation:cardShimmer .8s ease forwards}.detail-card h3{font-family:var(--font-heading);font-size:.95rem;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem}.trait-tags{display:flex;flex-wrap:wrap;gap:.5rem}.trait-tag{font-size:.85rem;padding:.3rem .7rem;border:1px solid;border-radius:20px;color:var(--text-primary);background:#d4a84314;transition:all var(--transition-fast)}.trait-tag:hover{background:#d4a8432e;transform:translateY(-1px)}.info-list,.members-list{list-style:none;font-size:.9rem;line-height:1.8;color:var(--text-primary)}.info-list li,.members-list li{padding:.15rem 0}.members-list li:before{content:"✦";color:var(--gold-dim);margin-right:.3rem}.info-list strong{color:var(--text-secondary)}.result-footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:.5rem}.result-restart{margin-top:.5rem}@media(max-width:480px){.result-crest{width:120px;height:120px}.result-crest svg{width:56px;height:56px}.result-house-name{font-size:2rem}.result-details{grid-template-columns:1fr}}.footer{width:100%;text-align:center;padding:1.5rem 1rem;font-family:var(--font-body);font-size:.85rem;color:var(--text-muted);position:relative;z-index:1}.footer-divider{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);margin:0 auto 1rem}.footer-links{display:flex;justify-content:center;gap:1.25rem;margin-bottom:.75rem}.footer-links a{color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast);display:flex;align-items:center}.footer-links a:hover{color:var(--gold)}.footer-credit{display:flex;align-items:center;justify-content:center;gap:.3rem}.footer-heart-icon{color:var(--gold);vertical-align:middle}:root{--bg-primary: #0a0a1a;--bg-secondary: #12122a;--bg-card: rgba(20, 20, 50, .85);--bg-overlay: rgba(0, 0, 0, .6);--text-primary: #e8e0d0;--text-secondary: #b8a88a;--text-muted: #7a6f5f;--gold: #d4a843;--gold-bright: #f5d76e;--gold-dim: #8a6d2b;--accent: #c07830;--card-border: rgba(212, 168, 67, .1);--gryffindor-primary: #740001;--gryffindor-secondary: #D3A625;--slytherin-primary: #1A472A;--slytherin-secondary: #AAAAAA;--ravenclaw-primary: #2A4B8D;--ravenclaw-secondary: #946B2D;--hufflepuff-primary: #FFD800;--hufflepuff-secondary: #000000;--font-display: "Cinzel Decorative", serif;--font-heading: "Cinzel", serif;--font-body: "Lora", serif;--max-width: 800px;--radius: 12px;--radius-sm: 8px;--transition-fast: .2s ease;--transition-medium: .4s ease;--transition-slow: .8s ease}@keyframes twinkle{0%{opacity:.5}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes wobble{0%,to{transform:rotate(0)}15%{transform:rotate(-5deg)}30%{transform:rotate(4deg)}45%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 10px rgba(212,168,67,.3))}50%{filter:drop-shadow(0 0 30px rgba(212,168,67,.7)) drop-shadow(0 0 60px rgba(212,168,67,.3))}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes cardShimmer{0%{transform:translate(-100%) skew(-15deg)}to{transform:translate(200%) skew(-15deg)}}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-10vh) scale(1)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 30% 65%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 50% 10%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 70% 40%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 80% 80%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 15% 85%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 90% 15%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 45% 50%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 60% 75%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 25% 35%,rgba(255,255,255,.4),transparent);animation:twinkle 4s ease-in-out infinite alternate;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(1.5px 1.5px at 5% 55%,rgba(212,168,67,.4),transparent),radial-gradient(1px 1px at 35% 15%,rgba(212,168,67,.3),transparent),radial-gradient(1px 1px at 65% 90%,rgba(212,168,67,.3),transparent),radial-gradient(1.5px 1.5px at 85% 45%,rgba(212,168,67,.4),transparent),radial-gradient(1px 1px at 55% 30%,rgba(212,168,67,.3),transparent);animation:twinkle 6s ease-in-out 2s infinite alternate;pointer-events:none;z-index:0}.app-container{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;min-height:100vh}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.btn{font-family:var(--font-heading);font-size:1.1rem;padding:.85rem 2.2rem;border:2px solid var(--gold);background:transparent;color:var(--gold);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:2px}.btn:hover{background:var(--gold);color:var(--bg-primary);box-shadow:0 0 25px #d4a84366}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gold);color:var(--bg-primary);font-weight:700}.btn-primary:hover{background:var(--gold-bright);box-shadow:0 0 35px #d4a84380}@media(max-width:480px){html{font-size:14px}.app-container{padding:1.5rem .75rem}.btn{padding:.75rem 1.5rem;font-size:1rem}}@media(min-width:481px)and (max-width:768px){.app-container{padding:1.5rem 1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
