*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-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;overflow:hidden}#root{height:100vh;width:100vw}button{border:none;background:none;font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.app-container{height:100vh;width:100vw;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden;box-sizing:border-box}.landing-container{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000001a;width:95%;max-width:1200px;height:95vh;text-align:center;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-sizing:border-box}.landing-header{flex-shrink:0}.logo{height:60px;width:auto;margin-bottom:20px}.logo.large{height:80px}.landing-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 10px}.landing-content{flex:1;display:flex;flex-direction:column;justify-content:center;margin:20px 0}.landing-content h2{color:#34495e;font-size:1.6rem;font-weight:600;margin-bottom:15px;margin-top:0}.description{color:#7f8c8d;font-size:1rem;line-height:1.5;margin-bottom:30px;max-width:600px;margin-left:auto;margin-right:auto}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:30px;margin-left:auto;margin-right:auto}.feature{padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;transition:transform .3s ease,box-shadow .3s ease}.feature:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.feature h3{color:#2c3e50;font-size:1.1rem;margin-bottom:8px;margin-top:0}.feature p{color:#6c757d;font-size:.9rem;margin:0;line-height:1.3}.auth-section{border-top:2px solid #e9ecef;flex-shrink:0;background:linear-gradient(135deg,#f8f9fa,#fff);margin:0 -40px -40px;padding:30px 40px 40px;border-radius:0 0 20px 20px}.auth-note{color:#6c757d;font-size:.9rem;margin-top:15px;margin-bottom:0}.btn{border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;margin:5px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 5px 15px #6c757d66}.btn.large{padding:20px 50px;font-size:1.3rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border:none;border-radius:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 10px 30px #667eea66;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 10px 30px #667eea66}50%{box-shadow:0 15px 40px #667eea99;transform:translateY(-2px)}to{box-shadow:0 10px 30px #667eea66}}.authenticated-container{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000001a;width:95%;max-width:1200px;height:95vh;overflow-y:auto;box-sizing:border-box}.header{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #e9ecef}.header h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.user-info{background:#f8f9fa;border-radius:12px;padding:30px;margin-bottom:30px;text-align:center}.user-info h2{color:#2c3e50;font-size:1.5rem;margin-bottom:10px;margin-top:0}.user-info p{color:#6c757d;font-size:1rem;margin:0}.content-section{background:#fff;padding:30px 0;margin-bottom:30px}.content-section h3{color:#2c3e50;font-size:1.3rem;margin-top:0;margin-bottom:15px}.journeys-sections{margin-top:20px}.journey-section{margin-bottom:30px;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;background:#f8f9fa}.journey-section[open]{background:#fff;box-shadow:0 2px 10px #0000000d}.journey-section summary{padding:20px 25px;cursor:pointer;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:none;font-weight:600;font-size:1.1rem;color:#2c3e50;display:flex;align-items:center;gap:12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.journey-section[open] summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.journey-section summary:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.section-icon{font-size:1.2rem;flex-shrink:0}.section-title{flex:1;text-align:left}.section-count{font-size:.9rem;opacity:.8;font-weight:500}.journeys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:25px}.journey-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:16px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.journey-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #667eea33;border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.journey-card:hover .journey-icon{transform:scale(1.2);text-shadow:0 2px 10px rgba(0,0,0,.3)}.journey-card:hover .download-icon{opacity:1;transform:translateY(0)}.journey-icon{font-size:3rem;margin-bottom:15px;transition:all .3s ease;display:block}.journey-card h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 15px;transition:color .3s ease}.journey-card:hover h4{color:#fff}.download-icon{font-size:1.5rem;opacity:.6;transform:translateY(10px);transition:all .3s ease;position:absolute;bottom:15px;right:15px}.loading-container{background:#fff;border-radius:20px;padding:60px 40px;box-shadow:0 20px 60px #0000001a;text-align:center}.loading-text{color:#6c757d;font-size:1.2rem;font-weight:500;margin-top:20px}.error-container{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000001a;text-align:center;max-width:500px;width:100%}.error-container h2{color:#dc3545;font-size:1.5rem;margin-bottom:15px;margin-top:20px}.error-container p{color:#6c757d;margin-bottom:20px}.error-details{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px;font-family:monospace;font-size:.9rem;text-align:left;word-break:break-word}@media (max-width: 1024px){.landing-container{max-width:900px;padding:40px}}@media (max-width: 768px){.app-container{padding:10px}.landing-container{padding:20px;width:95%;height:98vh}.authenticated-container,.loading-container,.error-container{padding:20px;margin:10px;width:90%;height:90vh}.landing-header h1{font-size:1.8rem}.landing-content h2{font-size:1.4rem}.features{grid-template-columns:1fr;gap:15px;margin-bottom:20px}.feature{padding:15px}.journey-section summary{padding:15px 20px;font-size:1rem}.journeys-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;padding:20px}.journey-card{padding:20px}.journey-icon{font-size:2.5rem}.auth-section{margin:0 -20px -20px;padding:20px 20px 30px}.btn.large{padding:18px 40px;font-size:1.1rem;width:100%;max-width:300px}}@media (max-width: 480px){.landing-container{padding:20px;border-radius:15px}.landing-header h1{font-size:1.8rem}.logo.large{height:60px}.journey-section{margin-bottom:20px}.journey-section summary{padding:12px 15px;font-size:.95rem}.journeys-grid{grid-template-columns:1fr;gap:15px;padding:15px}.journey-card{padding:20px}.journey-icon{font-size:2rem}.journey-card h4{font-size:1.1rem}}
