:root{font-family:Georgia,Times New Roman,serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;position:relative;font-family:Georgia,Times New Roman,serif;color:#f4e4bc}.magical-background{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0a0a1a,#1a1a3a,#2a1a2a);z-index:-1;overflow:hidden}.stars{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,#fff,#0000),radial-gradient(2px 2px at 40px 70px,#fff,#0000),radial-gradient(1px 1px at 90px 40px,#fff,#0000),radial-gradient(2px 2px at 160px 120px,#fff,#0000),radial-gradient(1px 1px at 230px 80px,#fff,#0000),radial-gradient(2px 2px at 300px 150px,#fff,#0000),radial-gradient(1px 1px at 370px 60px,#fff,#0000),radial-gradient(2px 2px at 450px 180px,#fff,#0000),radial-gradient(1px 1px at 520px 100px,#fff,#0000),radial-gradient(2px 2px at 600px 200px,#fff,#0000);background-repeat:repeat;background-size:650px 250px;animation:twinkle 4s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}.quiz-container{max-width:700px;margin:0 auto;padding:40px 20px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.welcome{text-align:center}.hogwarts-crest{width:120px;height:120px;margin:0 auto 30px;border:4px solid #d4af37;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#740001,#1a472a,#0e1a40,#ffd800);background-size:400% 400%;animation:houseColors 8s ease infinite}.crest-icon{font-size:48px;color:#d4af37}@keyframes houseColors{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.welcome h1{font-size:2.5rem;color:#d4af37;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:10px;font-weight:400;letter-spacing:2px}.subtitle{font-size:1.2rem;color:#aaa;margin-bottom:30px;font-style:italic}.welcome-description{background:#0000004d;border:1px solid #444;border-radius:10px;padding:25px;margin-bottom:30px;font-style:italic;line-height:1.8}.attribution{color:#d4af37;margin-top:15px;font-size:.9rem}.house-preview{display:flex;justify-content:center;gap:15px;margin-bottom:40px;flex-wrap:wrap}.house-badge{padding:10px 15px;border-radius:5px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.gryffindor-badge{background:linear-gradient(135deg,#740001,#ae0001);color:#d4af37}.slytherin-badge{background:linear-gradient(135deg,#1a472a,#2a623d);color:#aaa}.ravenclaw-badge{background:linear-gradient(135deg,#0e1a40,#222f5b);color:#946b2d}.hufflepuff-badge{background:linear-gradient(135deg,#f0c75e,#ffd800);color:#000}.start-button{background:linear-gradient(135deg,#d4af37,#c9a32a);color:#1a1a1a;border:none;padding:18px 45px;font-size:1.2rem;font-family:inherit;cursor:pointer;border-radius:8px;text-transform:uppercase;letter-spacing:2px;transition:all .3s ease;box-shadow:0 4px 15px #d4af374d}.start-button:hover{transform:translateY(-3px);box-shadow:0 6px 25px #d4af3780}.question-container{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;margin-bottom:20px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#d4af37,#f0c75e);border-radius:4px;transition:width .3s ease}.question-counter{text-align:center;color:#888;margin-bottom:30px;font-size:.9rem}.sorting-hat-thinking{text-align:center;margin-bottom:25px}.hat-icon{font-size:64px;display:block;margin-bottom:10px;animation:hatBob 2s ease-in-out infinite}.hat-icon.large{font-size:80px}@keyframes hatBob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.thinking-text{color:#888;font-style:italic}.question-text{text-align:center;font-size:1.5rem;color:#f4e4bc;margin-bottom:35px;line-height:1.5;font-weight:400}.answers{display:flex;flex-direction:column;gap:15px}.answer-button{background:#ffffff0d;border:2px solid #444;color:#f4e4bc;padding:20px 25px;font-size:1rem;font-family:inherit;cursor:pointer;border-radius:10px;text-align:left;transition:all .3s ease;line-height:1.4}.answer-button:hover{background:#d4af371a;border-color:#d4af37;transform:translate(10px)}.results-container{text-align:center;animation:fadeIn .5s ease}.sorting-complete{margin-bottom:30px}.sorting-complete h2{color:#d4af37;font-weight:400;font-size:1.3rem;margin-top:15px}.house-result{padding:40px;border-radius:15px;margin-bottom:30px;box-shadow:0 10px 40px #00000080}.house-name{font-size:3rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:15px;font-weight:400;letter-spacing:3px}.house-animal{font-size:64px}.house-details{background:#0000004d;border:1px solid #444;border-radius:15px;padding:30px;margin-bottom:30px;text-align:left}.house-description{line-height:1.8;margin-bottom:25px;font-style:italic}.house-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid #333}.info-item{text-align:center}.info-item strong{display:block;color:#d4af37;margin-bottom:5px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.info-item span{color:#f4e4bc}.traits strong{display:block;color:#d4af37;margin-bottom:15px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.trait-list{display:flex;flex-wrap:wrap;gap:10px}.trait-badge{background:#d4af3733;border:1px solid #d4af37;color:#d4af37;padding:8px 16px;border-radius:20px;font-size:.9rem}.restart-button{background:transparent;border:2px solid #d4af37;color:#d4af37;padding:15px 35px;font-size:1rem;font-family:inherit;cursor:pointer;border-radius:8px;text-transform:uppercase;letter-spacing:2px;transition:all .3s ease}.restart-button:hover{background:#d4af37;color:#1a1a1a}@media(max-width:600px){.quiz-container{padding:20px 15px}.welcome h1{font-size:1.8rem}.question-text{font-size:1.2rem}.house-name{font-size:2rem}.house-info-grid{grid-template-columns:1fr;gap:15px}.house-preview{gap:10px}.house-badge{padding:8px 12px;font-size:.75rem}}
