: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}html{overflow-x:hidden;width:100%;max-width:100vw}body{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;background-color:#f5f5f7;color:#1d1d1f;line-height:1.6;overflow-x:hidden;width:100%;max-width:100vw}.app{min-height:100vh;background:#f5f5f7;width:100%;max-width:100vw;overflow-x:hidden}.header{background:#fff;padding:4rem 2rem 3rem;text-align:center;position:relative;box-shadow:0 1px 3px #0000001a}.header-content{max-width:800px;margin:0 auto;position:relative}.trip-title{font-size:2.8rem;font-weight:300;color:#1d1d1f;margin-bottom:1rem;letter-spacing:-.03em;line-height:1.1}.trip-dates{font-size:1.1rem;color:#86868b;margin-bottom:2.5rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.home-base{display:inline-flex;align-items:center;gap:.75rem;background:#f5f5f7;padding:1rem 1.5rem;border-radius:8px;border:1px solid #d2d2d7;transition:all .2s ease}.home-base:hover{background:#e8e8ed;border-color:#c7c7cc;transform:translateY(-1px)}.home-base-label{font-weight:500;color:#424245;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.home-base-link{background:none;border:none;color:#0071e3;text-decoration:none;font-size:.95rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;position:relative}.home-base-link:after{content:"→";margin-left:.5rem;font-size:.9rem;transition:transform .2s ease}.home-base-link:hover{background-color:#f0f8ff;color:#0077ed}.home-base-link:hover:after{transform:translate(2px)}.main-content{max-width:800px;margin:0 auto;padding:2rem 1rem;position:relative;z-index:2;width:100%;overflow-x:hidden;box-sizing:border-box}.main-content h2{font-size:1.5rem;font-weight:600;color:#1d1d1f;margin-bottom:1.5rem;text-align:center}.section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .2s ease}.section-header:hover{opacity:.8}.section-header h2{margin-bottom:0;text-align:left}.collapse-btn{background:none;border:none;font-size:1.2rem;color:#86868b;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.collapse-btn:hover{background-color:#f5f5f7;color:#424245}.flight-info{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;width:100%;box-sizing:border-box}.flight-info.collapsed{padding:.5rem 1rem;margin-bottom:.75rem}.flight-info.collapsed .section-header{margin-bottom:0;padding:0}.flight-cards{display:grid;grid-template-columns:1fr;gap:.75rem}.flight-card{background:#f5f5f7;border-radius:8px;padding:.75rem;border-left:4px solid #0071e3}.flight-card h3{font-size:1rem;font-weight:600;color:#1d1d1f;margin-bottom:.5rem}.flight-details>div{margin-bottom:.25rem;font-size:.9rem}.flight-route{font-weight:600;color:#0071e3;font-size:1rem}.flight-date{color:#424245;font-weight:500}.flight-time{color:#1d1d1f;font-weight:600}.flight-number{color:#86868b}.flight-type{color:#34c759;font-weight:500}.flight-duration{color:#86868b;font-style:italic}.car-rental{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;width:100%;box-sizing:border-box}.car-rental.collapsed{padding:.5rem 1rem;margin-bottom:.75rem}.car-rental.collapsed .section-header{margin-bottom:0;padding:0}.car-rental-card{display:grid;gap:.75rem}.car-rental-info{background:#f5f5f7;padding:.75rem;border-radius:8px;border-left:4px solid #34c759}.car-company{font-weight:600;color:#1d1d1f;font-size:1rem;margin-bottom:.25rem}.car-type{color:#424245;margin-bottom:.25rem}.car-driver{color:#86868b;font-size:.85rem}.car-pickup,.car-dropoff{background:#f5f5f7;padding:.75rem;border-radius:8px;border-left:4px solid #ff9500}.car-pickup h4,.car-dropoff h4{font-size:.9rem;font-weight:600;color:#1d1d1f;margin-bottom:.25rem}.car-date{color:#424245;margin-bottom:.25rem;font-weight:500}.car-location-link{background:none;border:none;color:#0071e3;text-decoration:underline;cursor:pointer;font-size:.85rem;padding:.25rem 0;border-radius:4px;transition:background-color .2s}.car-location-link:hover{background-color:#f0f8ff}.car-fees{background:#fff8f0;padding:.75rem;border-radius:8px;border-left:4px solid #ff9500;color:#a05a00;text-align:center;font-size:.9rem}.itinerary-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000a;width:100%;box-sizing:border-box}.day-tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem;width:100%;box-sizing:border-box}.day-tab{background:#f5f5f7;border:1px solid #d2d2d7;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;color:#424245;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:80px;font-size:.9rem;line-height:1;position:relative;outline:none;flex-shrink:0}.day-tab:hover{background:#e8e8ed;border-color:#c7c7cc}.day-tab.active{background:#0071e3;border-color:#0071e3;color:#fff;box-shadow:0 1px 3px #0071e34d}.day-tab:focus{outline:2px solid #0071e3;outline-offset:2px}.show-all-days-container{display:flex;justify-content:center;margin-bottom:2rem;width:100%;box-sizing:border-box}.show-all-days-btn{background:#f5f5f7;border:1px solid #d2d2d7;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;color:#424245;cursor:pointer;transition:all .2s ease;font-size:.95rem;line-height:1;position:relative;outline:none}.show-all-days-btn:hover{background:#e8e8ed;border-color:#c7c7cc}.show-all-days-btn.active{background:#34c759;border-color:#34c759;color:#fff;box-shadow:0 1px 3px #34c7594d}.show-all-days-btn:focus{outline:2px solid #34c759;outline-offset:2px}.day-itinerary{display:none;width:100%;box-sizing:border-box}.day-itinerary.active{display:block}.day-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #d2d2d7}.day-header h3{font-size:1.4rem;font-weight:600;color:#1d1d1f;margin-bottom:.5rem}.day-header h4{font-size:1.1rem;color:#424245;font-weight:500}.activity-block{margin-bottom:2rem}.activity-time{font-size:1.1rem;font-weight:600;color:#1d1d1f;margin-bottom:1rem;padding:.5rem 1rem;background:#f5f5f7;border-radius:6px;border-left:4px solid #0071e3}.activity-items{display:grid;gap:1rem}.activity-item{display:flex;gap:1rem;padding:1rem;background:#f5f5f7;border-radius:8px;border-left:4px solid #d2d2d7;transition:all .2s}.activity-item:hover{background:#e8e8ed;border-left-color:#0071e3}.activity-item.food{border-left-color:#34c759}.activity-item.activity{border-left-color:#0071e3}.activity-item.info{border-left-color:#86868b}.activity-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.activity-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.activity-text{color:#1d1d1f;line-height:1.5}.activity-links{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.location-link,.website-link{background:none;border:none;color:#0071e3;text-decoration:underline;cursor:pointer;font-size:.85rem;padding:.125rem 0;border-radius:4px;transition:all .2s ease;display:inline-block;align-self:flex-start;text-align:left}.location-link:hover,.website-link:hover{background-color:#f0f8ff;padding:.125rem .25rem}.website-link{color:#86868b;font-size:.8rem;margin-top:.125rem}.website-link:hover{color:#0071e3}.parks-info{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;width:100%;box-sizing:border-box}.parks-info.collapsed{padding:.5rem 1rem;margin-bottom:.75rem}.parks-info.collapsed .section-header{margin-bottom:0;padding:0}.parks-list{display:grid;gap:.75rem}.park-card{background:#f5f5f7;border-radius:8px;padding:.75rem;border-left:4px solid #34c759}.park-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:1rem}.park-header h3{font-size:1rem;font-weight:600;color:#1d1d1f;margin:0;line-height:1.3}.park-location-link{background:none;border:none;color:#0071e3;text-decoration:underline;cursor:pointer;font-size:.85rem;padding:.25rem 0;border-radius:4px;transition:background-color .2s;white-space:nowrap;flex-shrink:0}.park-location-link:hover{background-color:#f0f8ff}.park-content{display:flex;flex-direction:column;gap:.5rem}.park-description,.park-eats,.park-distance{font-size:.9rem;line-height:1.4;color:#1d1d1f}.park-description strong,.park-eats strong,.park-distance strong{color:#424245;font-weight:600}@media (min-width: 768px){.trip-title{font-size:3.5rem}.trip-dates{font-size:1.2rem}.main-content{padding:3rem 2rem}.flight-cards,.car-rental-card{grid-template-columns:1fr 1fr}.car-rental-info,.car-fees{grid-column:1 / -1}.day-tabs{justify-content:center}.activity-items{grid-template-columns:1fr}}@media (max-width: 414px){.main-content{padding:.75rem .5rem;max-width:100%}.flight-info,.car-rental,.itinerary-section,.parks-info{padding:.5rem .25rem;margin-bottom:1rem}.header{padding:2rem .5rem 1rem}}@media (max-width: 480px){.header{padding:2.5rem .75rem 1.5rem}.trip-title{font-size:2.2rem}.trip-dates{font-size:1rem}.home-base{padding:.75rem 1.25rem;flex-direction:column;gap:.5rem}.main-content{padding:1rem .75rem;max-width:100%}.flight-info,.car-rental,.itinerary-section,.parks-info{padding:.75rem .5rem;max-width:100%}.flight-info.collapsed,.car-rental.collapsed,.parks-info.collapsed{padding:.25rem .5rem}.section-header{flex-direction:row;align-items:center;gap:0}.section-header h2{font-size:1.3rem}.collapse-btn{align-self:center}.day-tabs{gap:.25rem;padding:0 .5rem}.day-tab{padding:.5rem 1rem;font-size:.85rem;min-width:70px}.show-all-days-btn{padding:.5rem 1rem;font-size:.9rem}.activity-item{padding:.75rem}.activity-time{font-size:1rem;padding:.5rem .75rem}}
