: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;display:flex;place-items:center;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}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.app-container{min-height:100vh;display:flex;flex-direction:column}header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 0;text-align:center;box-shadow:0 4px 20px #0000001a;border-bottom:3px solid #ffd700}header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite;margin-bottom:.5rem}header p{font-size:1.2rem;color:#666;font-weight:300}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}main{flex:1;padding:2rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.generation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.generation-card{background:#fffffff2;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.generation-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0003;border-color:gold}.generation-card-content{display:flex;align-items:center;padding:1.5rem;gap:1.5rem}.generation-cover-container{flex-shrink:0;width:120px;height:160px;border-radius:12px;overflow:hidden;box-shadow:0 5px 15px #0003}.generation-cover{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.generation-card:hover .generation-cover{transform:scale(1.05)}.generation-info{flex:1}.generation-info h3{font-size:1.4rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.generation-info p{color:#666;line-height:1.6;margin-bottom:.5rem}.game-count{font-weight:600;color:#e74c3c;font-size:.9rem;background:#e74c3c1a;padding:.3rem .8rem;border-radius:15px;display:inline-block}.game-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem}.game-card{background:#fffffff2;border-radius:16px;padding:1.5rem;box-shadow:0 8px 25px #0000001a;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.game-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000026;border-color:#3498db}.game-card h4{font-size:1.3rem;color:#2c3e50;margin-bottom:.8rem;font-weight:600}.game-type{display:inline-block;background:linear-gradient(45deg,#f39c12,#e67e22);color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.version-covers{display:flex;gap:1rem;margin-top:1.5rem;overflow-x:auto;padding-bottom:.5rem}.version-covers::-webkit-scrollbar{height:6px}.version-covers::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.version-covers::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.version-covers::-webkit-scrollbar-thumb:hover{background:#555}.cover-image{height:180px;width:auto;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px #00000026;transition:transform .3s ease;flex-shrink:0}.cover-image:hover{transform:scale(1.05)}.version-card{display:flex;flex-direction:column;align-items:center;text-align:center}.version-name{margin-top:.8rem;font-weight:600;color:#2c3e50;font-size:.9rem}.starters-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.starter-card{background:#fffffff2;border-radius:16px;padding:1.5rem;box-shadow:0 8px 25px #0000001a;transition:all .3s ease;text-align:center;border:2px solid transparent}.starter-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026;border-color:#27ae60}.starter-image{width:120px;height:120px;object-fit:contain;margin-bottom:1rem;border-radius:50%;background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:10px;transition:transform .3s ease}.starter-card:hover .starter-image{transform:scale(1.1)}.starter-card h4{font-size:1.2rem;color:#2c3e50;margin-bottom:.5rem;font-weight:600}.type-badge{background:linear-gradient(45deg,#27ae60,#2ecc71);color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.characters-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-top:2rem}.character-card{background:#fffffff2;border-radius:16px;padding:1.5rem;box-shadow:0 8px 25px #0000001a;transition:all .3s ease;text-align:center;border:2px solid transparent}.character-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026;border-color:#9b59b6}.character-image{width:100px;height:100px;object-fit:cover;border-radius:50%;margin-bottom:1rem;border:3px solid #ecf0f1;transition:transform .3s ease}.character-card:hover .character-image{transform:scale(1.1)}.character-card h4{font-size:1.1rem;color:#2c3e50;margin-bottom:.3rem;font-weight:600}.role-badge{background:linear-gradient(45deg,#9b59b6,#8e44ad);color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.back-button{background:linear-gradient(45deg,#34495e,#2c3e50);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:2rem;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.back-button:hover{background:linear-gradient(45deg,#2c3e50,#34495e);transform:translateY(-2px);box-shadow:0 6px 16px #0003}.generation-description,.game-description{margin:1.5rem 0;line-height:1.8;color:#555;font-size:1.1rem;background:#ffffffb3;padding:1rem;border-radius:12px;border-left:4px solid #3498db}h2{font-size:2rem;color:#2c3e50;margin-bottom:1rem;text-align:center;font-weight:700}h3{font-size:1.5rem;color:#2c3e50;margin:2rem 0 1rem;font-weight:600;border-bottom:2px solid #ecf0f1;padding-bottom:.5rem}.loading,.error{text-align:center;padding:3rem;background:#ffffffe6;border-radius:16px;margin:2rem auto;max-width:400px;box-shadow:0 8px 25px #0000001a}.loading p{font-size:1.2rem;color:#666}.error button{background:linear-gradient(45deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.error button:hover{background:linear-gradient(45deg,#c0392b,#e74c3c);transform:translateY(-2px);box-shadow:0 6px 16px #0003}footer{background:#2c3e50f2;color:#fff;padding:1.5rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:2rem}footer a{color:#f39c12;text-decoration:none;font-weight:600;transition:color .3s ease}footer a:hover{color:#e67e22;text-decoration:underline}@media (max-width: 768px){.container{padding:0 1rem}header h1{font-size:2rem}header p{font-size:1rem}.generation-list,.game-list{grid-template-columns:1fr;gap:1.5rem}.generation-card-content{flex-direction:column;text-align:center}.generation-cover-container{width:100px;height:130px}.starters-list,.characters-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.version-covers{justify-content:center}h2{font-size:1.5rem}h3{font-size:1.3rem}}@media (max-width: 480px){header{padding:1.5rem 1rem}header h1{font-size:1.8rem}main{padding:1rem 0}.generation-card,.game-card,.starter-card,.character-card{margin:0 .5rem}.starters-list,.characters-list{grid-template-columns:repeat(2,1fr)}}
