body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0f1e;color:#e2e8f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow-x:hidden}.app{margin:0 auto;max-width:920px;padding:20px;position:relative}.app:before{animation:floatDots 20s ease-in-out infinite alternate;background:radial-gradient(2px 2px at 10% 20%,#6366f14d,#0000),radial-gradient(2px 2px at 90% 10%,#8b5cf633,#0000),radial-gradient(2px 2px at 30% 80%,#a855f733,#0000),radial-gradient(2px 2px at 70% 60%,#6366f126,#0000),radial-gradient(1px 1px at 20% 50%,#ffffff1a,#0000),radial-gradient(1px 1px at 80% 30%,#ffffff14,#0000);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}@keyframes floatDots{0%{transform:translateY(0)}to{transform:translateY(-30px)}}.app-header{animation:fadeInDown .8s ease-out;padding:50px 0 40px;position:relative;text-align:center;z-index:1}.app-header:before{background:radial-gradient(circle,#6366f126 0,#8b5cf614 40%,#0000 70%);content:"";height:500px;left:50%;pointer-events:none;position:absolute;top:-60px;transform:translateX(-50%);width:500px;z-index:-1}.header-emoji{animation:bounce 2s ease-in-out infinite;display:block;font-size:3rem;margin-bottom:12px}.app-header h1{-webkit-text-fill-color:#0000;animation:gradientShift 4s ease infinite;background:linear-gradient(135deg,#818cf8,#a78bfa,#c084fc,#818cf8);-webkit-background-clip:text;background-clip:text;background-size:300% 300%;font-size:2.8rem;font-weight:800;margin-bottom:10px}.app-header p{color:#94a3b8;font-size:1.15rem}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.trip-form{animation:fadeInUp .6s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1e293b99;border:1px solid #6366f126;border-radius:20px;padding:36px;position:relative;z-index:1}.trip-form h2{font-size:1.6rem;font-weight:700;margin-bottom:28px}.trip-form h3{color:#94a3b8;font-size:1.05rem;margin:24px 0 14px}.form-group{margin-bottom:20px}.form-group label{color:#a5b4c8;display:block;font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.form-group input{background:#0f172ab3;border:1px solid #334155cc;border-radius:12px;color:#e2e8f0;font-size:1rem;padding:14px 18px;transition:all .3s;width:100%}.form-group input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.form-group input::placeholder{color:#475569}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-row.three{grid-template-columns:1fr 1fr 1fr}.option-group{display:flex;flex-wrap:wrap;gap:10px}.option-btn{align-items:center;background:#0f172ab3;border:1px solid #334155cc;border-radius:24px;color:#94a3b8;cursor:pointer;display:flex;font-size:.9rem;gap:6px;padding:10px 18px;transition:all .3s}.option-btn:hover{border-color:#6366f1;color:#e2e8f0;transform:translateY(-1px)}.option-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;box-shadow:0 4px 15px #6366f14d;color:#fff}.option-btn .btn-emoji{font-size:1.1rem}.submit-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);background-size:200% 200%;border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:1.15rem;font-weight:700;margin-top:28px;overflow:hidden;padding:16px;position:relative;transition:all .3s;width:100%}.submit-btn:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.submit-btn:hover:before{left:100%}.submit-btn:hover{background-position:100% 50%;box-shadow:0 8px 30px #6366f166;transform:translateY(-2px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.loading-overlay{align-items:center;animation:fadeIn .3s ease;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;position:relative;z-index:1}.loading-plane{animation:fly 2s ease-in-out infinite;font-size:3rem;margin-bottom:24px}@keyframes fly{0%{transform:translateX(-30px) translateY(5px) rotate(-5deg)}50%{transform:translateX(30px) translateY(-5px) rotate(5deg)}to{transform:translateX(-30px) translateY(5px) rotate(-5deg)}}.loading-text{color:#a78bfa;font-size:1.2rem;font-weight:600;margin-bottom:16px}.loading-dots{display:flex;gap:8px}.loading-dots span{animation:pulse 1.4s ease-in-out infinite;background:#6366f1;border-radius:50%;height:10px;width:10px}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.itinerary{animation:fadeInUp .6s ease-out;position:relative;z-index:1}.itinerary-header{padding:40px 0 30px;text-align:center}.itinerary-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;background-clip:text;font-size:2.4rem;font-weight:800;margin-bottom:8px}.subtitle{color:#94a3b8;font-size:1.15rem;margin-bottom:16px}.tips-card,.visa-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b99;border:1px solid #6366f11a;border-radius:16px;margin-bottom:24px;padding:24px}.tips-card h3,.visa-card h3{color:#a855f7;margin-bottom:12px}.visa-required{color:#f59e0b;font-weight:600}.visa-free{color:#22c55e;font-weight:600}.flights-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.flight-card{background:#0f172a80;border:1px solid #33415566;border-radius:12px;padding:16px}.flight-main{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.flight-airline{font-size:1rem;font-weight:700}.flight-route{color:#94a3b8;font-size:.9rem}.flight-type{font-size:.85rem;font-weight:600}.flight-details{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.flight-duration{color:#94a3b8;font-size:.9rem}.flight-price{color:#22c55e;font-weight:700}.timeline{padding-left:40px;position:relative}.timeline:before{background:linear-gradient(180deg,#6366f1,#a855f7,#a855f71a);bottom:0;content:"";left:18px;position:absolute;top:0;width:2px}.day-card{animation:fadeInUp .5s ease-out both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b99;border:1px solid #6366f11a;border-radius:16px;margin-bottom:24px;padding:28px;position:relative;transition:border-color .3s}.day-card:hover{border-color:#6366f14d}.day-marker{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 0 20px #6366f166;color:#fff;display:flex;font-size:.9rem;font-weight:800;height:38px;justify-content:center;left:-42px;position:absolute;top:28px;width:38px;z-index:2}.day-card h2{color:#c4b5fd;font-size:1.4rem;font-weight:700;margin-bottom:18px}.hotel-info{align-items:center;background:#0f172a80;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:14px 18px}.hotel-info .label{color:#94a3b8}.activity{border-bottom:1px solid #33415580;display:flex;gap:16px;padding:14px 0}.activity:last-child{border-bottom:none}.activity-time{color:#818cf8;font-size:.9rem;font-weight:700;min-width:65px}.activity-content h4{font-weight:600;margin-bottom:4px}.activity-content .location{color:#94a3b8;font-size:.9rem;margin-bottom:6px}.place-photo{border-radius:12px;height:200px;margin-top:10px;max-width:400px;object-fit:cover;width:100%}.booking-link{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;color:#fff;display:inline-flex;font-weight:600;gap:6px;padding:10px 20px;text-decoration:none;transition:all .3s}.booking-link:hover{box-shadow:0 4px 15px #6366f166;transform:translateY(-1px)}.booking-link.small{font-size:.85rem;margin-left:10px;padding:6px 14px}.meals{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr;margin-top:20px}.meal{background:#0f172a80;border:1px solid #33415566;border-radius:14px;display:flex;flex-direction:column;gap:6px;padding:16px;transition:border-color .3s}.meal:hover{border-color:#8b5cf64d}.meal-type{color:#a855f7;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.meal-name{font-weight:600}.meal-cuisine{color:#94a3b8;font-size:.85rem}.meal-price{color:#22c55e;font-size:.85rem;font-weight:600}.tips-card ul{list-style:none;padding:0}.tips-card li{border-bottom:1px solid #33415566;line-height:1.5;padding:10px 0 10px 24px;position:relative}.tips-card li:before{color:#818cf8;content:"\2727";left:0;position:absolute}.tips-card li:last-child{border-bottom:none}.new-trip-btn{background:#0000;border:2px solid #6366f180;border-radius:14px;color:#818cf8;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:24px;padding:16px;transition:all .3s;width:100%}.new-trip-btn:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;box-shadow:0 8px 30px #6366f14d;color:#fff}.error-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#7f1d1d99;border:1px solid #ef444433;border-radius:12px;color:#fecaca;margin-bottom:24px;padding:14px 20px;text-align:center}footer{color:#475569;padding:50px 0;text-align:center}.auth-bar{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:20px}.user-email{color:#94a3b8;font-size:.9rem}.auth-btn{background:#0000;border:1px solid #6366f180;border-radius:10px;color:#818cf8;cursor:pointer;font-size:.85rem;padding:8px 18px;transition:all .3s}.auth-btn:hover{background:#6366f1;border-color:#6366f1;color:#fff}.auth-form{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b99;border:1px solid #6366f126;border-radius:20px;margin:0 auto 24px;max-width:400px;padding:36px}.auth-form h2{margin-bottom:4px}.auth-subtitle{color:#94a3b8;margin-bottom:20px}.auth-toggle{color:#94a3b8;margin-top:16px;text-align:center}.link-btn{background:none;color:#818cf8;font-size:inherit;text-decoration:underline}.link-btn,.save-btn{border:none;cursor:pointer}.save-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:12px;color:#fff;font-size:1rem;font-weight:700;margin-bottom:16px;padding:14px;transition:all .3s;width:100%}.save-btn:hover{box-shadow:0 6px 20px #22c55e4d;transform:translateY(-1px)}.saved-banner{background:#14532d99;border-radius:12px;color:#86efac;margin-bottom:16px;padding:12px;text-align:center}.saved-trips{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b99;border:1px solid #6366f11a;border-radius:16px;margin-bottom:24px;padding:24px}.saved-trips h3{color:#a855f7;margin-bottom:14px}.trips-list{display:flex;flex-direction:column;gap:10px}.saved-trip-card{align-items:center;background:#0f172a80;border:1px solid #33415580;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:14px 18px;transition:all .3s}.saved-trip-card:hover{border-color:#6366f14d;transform:translateX(4px)}.trip-info h4{margin-bottom:2px}.trip-info p{color:#94a3b8;font-size:.85rem}.delete-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.4rem;padding:4px 8px}.map-container{border:1px solid #6366f126;border-radius:16px;margin-bottom:24px;overflow:hidden}.trip-map{background:#1e293b;height:400px;width:100%}.rating-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.stars{color:#f59e0b;font-size:.9rem;letter-spacing:1px}.rating-num{color:#f59e0b;font-size:.85rem;font-weight:700}.review-count{color:#64748b;font-size:.8rem}.map-link-btn{border:1px solid #6366f14d;border-radius:6px;color:#818cf8;font-size:.8rem;padding:2px 8px;text-decoration:none;transition:all .2s}.map-link-btn:hover{background:#6366f126}.photos-link-btn{border:1px solid #f59e0b4d;border-radius:6px;color:#f59e0b;font-size:.8rem;padding:2px 8px;text-decoration:none;transition:all .2s}.photos-link-btn:hover{background:#f59e0b26}.activity-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.change-btn{align-items:center;background:#0f172a80;border:1px solid #6366f166;border-radius:50%;color:#818cf8;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:32px;justify-content:center;transition:all .3s;width:32px}.change-btn:hover{background:#6366f1;border-color:#6366f1;color:#fff;transform:rotate(180deg)}.change-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.hotel-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.item-actions{flex-shrink:0}.activity-header,.item-actions{align-items:center;display:flex;gap:8px}.activity-header,.meal-header{justify-content:space-between}.meal-header{align-items:center;display:flex}.multi-city-list{display:flex;flex-direction:column;gap:10px}.city-row{gap:10px}.city-num,.city-row{align-items:center;display:flex}.city-num{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;flex-shrink:0;font-size:.8rem;font-weight:700;height:28px;justify-content:center;width:28px}.city-input{background:#0f172ab3;border:1px solid #334155cc;border-radius:10px;color:#e2e8f0;flex:1 1;font-size:.95rem;padding:12px 16px;transition:all .3s}.city-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.days-input-wrap{align-items:center;display:flex;flex-shrink:0;gap:4px}.days-input{background:#0f172ab3;border:1px solid #334155cc;border-radius:10px;color:#e2e8f0;font-size:.95rem;padding:12px 8px;text-align:center;width:60px}.days-input:focus{border-color:#6366f1;outline:none}.days-label{color:#64748b;font-size:.8rem}.remove-city-btn{align-items:center;background:#0000;border:1px solid #ef444466;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;transition:all .2s;width:28px}.remove-city-btn:hover{background:#ef4444;color:#fff}.add-city-btn{background:#0000;border:1px dashed #6366f166;border-radius:10px;color:#818cf8;cursor:pointer;font-size:.9rem;margin-top:8px;padding:10px 20px;transition:all .2s}.add-city-btn:hover{background:#6366f11a;border-color:#6366f1}@media print{body{background:#fff;color:#000}.app:before{display:none}.app-header,.auth-bar,.auth-btn,.auth-form,.change-btn,.loading-overlay,.map-container,.new-trip-btn,.save-btn,.saved-banner,.submit-btn,.trip-form,footer{display:none!important}.itinerary{animation:none}.day-card,.flight-card,.hotel-info,.meal,.tips-card,.visa-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;border:1px solid #ddd;break-inside:avoid;color:#000;page-break-inside:avoid}.timeline:before{background:#ccc}.day-marker{background:#333;box-shadow:none}.itinerary-header h1{-webkit-text-fill-color:#000;background:none;color:#000}.activity-time,.flight-airline,.meal-type,.rating-num,.subtitle{color:#333}.stars{color:#f59e0b}.booking-link,.map-link-btn,.photos-link-btn{border-color:#ccc;color:#333}a{color:#333}}@media (max-width:640px){.app-header h1{font-size:2rem}.form-row,.form-row.three,.meals{grid-template-columns:1fr}.activity{flex-direction:column;gap:4px}.timeline{padding-left:30px}.timeline:before{left:12px}.day-marker{font-size:.8rem;height:30px;left:-32px;width:30px}.day-card,.trip-form{padding:20px}}
/*# sourceMappingURL=main.83473a4b.css.map*/