.ct-wrap{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#12345b;max-width:1180px;margin:30px auto;padding:0 16px}.ct-hero{background:linear-gradient(115deg,#07579d,#168bd0);color:#fff;border-radius:20px;padding:42px 42px 34px;position:relative;overflow:hidden;box-shadow:0 14px 40px rgba(0,72,130,.18)}.ct-hero:after{content:'🚢';position:absolute;right:50px;top:32px;font-size:90px;opacity:.2}.ct-hero h1{font-size:36px;margin:0 0 8px;color:#fff}.ct-hero p{font-size:17px;margin:0 0 25px}.ct-search form{display:flex;max-width:760px}.ct-search input{flex:1;padding:16px 18px;border:0;border-radius:12px 0 0 12px;font-size:16px;outline:0}.ct-search button{border:0;background:#073d78;color:#fff;padding:0 28px;border-radius:0 12px 12px 0;font-weight:700;font-size:15px}.ct-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.75fr);gap:20px;margin-top:20px}.ct-card,.ct-empty,.ct-notice{background:#fff;border:1px solid #dbe9f5;border-radius:16px;box-shadow:0 8px 25px rgba(30,80,120,.07);padding:22px;margin-bottom:20px}.ct-overview-head{display:flex;justify-content:space-between;align-items:center}.ct-overview small{color:#66809a}.ct-overview h2{font-size:30px;margin:4px 0 0}.ct-badge{background:#d8f8e8;color:#087443;padding:8px 13px;border-radius:999px;font-weight:700;font-size:13px}.ct-route{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;border-top:1px solid #e5eef5;border-bottom:1px solid #e5eef5;margin:18px 0;padding:18px 0}.ct-route div{display:flex;flex-direction:column;gap:4px}.ct-route span{text-align:center;font-size:28px;color:#1684cf}.ct-route small{color:#7890a6}.ct-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ct-stats div{background:#f5f9fd;border-radius:10px;padding:13px;min-height:74px}.ct-stats b{display:block;font-size:18px}.ct-stats small{display:block;color:#70889e;margin:3px 0}.ct-stats strong{font-size:13px}.ct-card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ct-card-title h3,.ct-card h3{margin:0;font-size:20px}.ct-card-title span{color:#15905e;font-size:12px;font-weight:700}.ct-timeline{position:relative;padding-left:22px}.ct-timeline:before{content:'';position:absolute;left:16px;top:18px;bottom:20px;width:3px;background:#c9e4f8}.ct-event{position:relative;display:flex;gap:18px;padding:0 0 22px}.ct-dot{width:34px;height:34px;min-width:34px;border-radius:50%;background:#197fc4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:1;box-shadow:0 0 0 5px #fff}.ct-event:not(.current) .ct-dot{background:#4bbf89}.ct-event.current .ct-dot{background:#0865ad;box-shadow:0 0 0 5px #e3f2fd}.ct-event-body{flex:1}.ct-event-top{display:flex;justify-content:space-between;gap:15px}.ct-event-top strong{font-size:16px}.ct-event-top time{font-size:12px;color:#71899f}.ct-location{font-size:12px;color:#49718f;margin-top:5px}.ct-event p{font-size:13px;color:#60788e;margin:5px 0 0}.ct-card dl{display:grid;grid-template-columns:42% 58%;margin:15px 0 0;font-size:13px}.ct-card dt,.ct-card dd{padding:8px 0;border-bottom:1px solid #eef3f7;margin:0}.ct-card dt{color:#748ba0}.ct-card dd{font-weight:600;text-align:right;word-break:break-word}.ct-eta{background:#eef8ff;border-color:#cde9fb}.ct-eta small{display:block;color:#6b849a}.ct-eta strong{display:block;font-size:27px;margin-top:6px}.ct-empty{text-align:center;padding:70px 20px}.ct-empty>div:first-child{font-size:50px}.ct-empty h2{margin:10px 0}.ct-demo{display:inline-block;background:#f0f7fc;padding:10px 16px;border-radius:10px}.ct-error{color:#9b2c2c;background:#fff3f3;border-color:#f3caca}.ct-notice{margin-top:20px}@media(max-width:850px){.ct-grid{grid-template-columns:1fr}.ct-stats{grid-template-columns:repeat(2,1fr)}.ct-hero{padding:30px 24px}.ct-hero h1{font-size:28px}.ct-hero:after{display:none}}@media(max-width:520px){.ct-search form{display:block}.ct-search input,.ct-search button{width:100%;height:50px;border-radius:10px}.ct-search button{margin-top:8px}.ct-route{grid-template-columns:1fr}.ct-route span{padding:8px}.ct-stats{grid-template-columns:1fr 1fr}.ct-event-top{display:block}.ct-event-top time{display:block;margin-top:3px}}
