:root{--paper:#f3f6f2;--ink:#13262f;--muted:#66757a;--line:#d7dfdc;--green:#287b90;--lake:#287b90;--white:#fff}html{scroll-behavior:smooth}body{background:linear-gradient(#287b9009 1px,transparent 1px),var(--paper);background-size:100% 32px;-webkit-font-smoothing:antialiased}main{max-width:760px;padding-top:0}.topbar{max-width:none;position:sticky;top:0;z-index:10;background:#f3f6f2ed;backdrop-filter:blur(16px);border-bottom:1px solid #13262f14;padding:10px max(24px,calc((100vw - 720px)/2))}.brand{font-size:17px;letter-spacing:.5px}.brand span{font-size:7px}.hero{background:transparent;border-radius:0;min-height:245px;padding:40px 0 20px}.hero h1{font-size:58px;line-height:1.1;letter-spacing:-2px;margin:18px 0}.hero .eyebrow{color:var(--lake)}.hero-dates{font-family:ui-monospace,monospace;font-weight:650;letter-spacing:1px}.hero .route{font-size:12px;color:var(--muted);margin-top:12px}.hero-mark{color:#96acae;right:0;bottom:25px;font-size:10px}.summary{margin:10px 0 22px;padding-bottom:20px}.summary strong{font-size:18px}.section-top h2{font-size:24px}.section-top{margin-top:6px}.journal-nav{display:flex;gap:6px;overflow:auto;padding:6px 0 12px;scrollbar-width:thin;position:sticky;top:69px;background:#f3f6f2f5;z-index:7}.journal-nav a{white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:white;min-height:44px}.journal-nav a:hover{background:#d9ebee}.journal-section{padding:30px 0 22px;scroll-margin-top:140px}.journal-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:20px}.journal-heading .eyebrow{color:var(--lake);font-size:10px}.journal-heading h2{font-size:30px;letter-spacing:-1px;margin:8px 0 0}.journal-heading button{font-size:12px}.flight-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:2px 0 12px;scrollbar-width:thin}.flight-card{flex:0 0 86%;min-width:0;scroll-snap-align:start;border-radius:24px;background:#13262f;color:#eff8f8;min-height:330px;padding:24px;box-shadow:0 16px 35px #19303710}.flight-top{display:flex;justify-content:space-between;align-items:center;font:700 10px ui-monospace,monospace;letter-spacing:1px;color:#a9c3c8}.flight-status{color:#e0a983;border:1px solid #e0a98366;border-radius:5px;padding:5px 8px;font-size:10px}.flight-airline{font-size:11px;color:#9db7bc;margin:14px 0 24px}.flight-flow{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:start;gap:8px;margin-bottom:23px}.flight-flow>div:last-child{text-align:right}.flight-flow strong{font-size:24px;line-height:1.2;overflow-wrap:anywhere;letter-spacing:-.5px}.flight-flow small{font-size:11px;line-height:1.9;color:#b8cccf;margin-top:12px}.flight-via{text-align:center!important;border-bottom:1px dashed #8fc6d088;padding-bottom:9px;color:#8fc6d0}.flight-via span{font-size:24px}.flight-via small{font-size:9px;margin-top:5px}.flight-foot{border-top:1px dashed #ffffff33;padding-top:16px;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#b8cccf}.flight-note{font-size:11px;line-height:1.7;color:#a9c3c8;white-space:pre-line}.flight-tools{display:flex;gap:7px;flex-wrap:wrap}.flight-tools button{background:#ffffff0a;color:#d9ebee;border:1px solid #ffffff22;font-size:11px;padding:7px 10px}.flight-files{margin-top:15px;color:var(--ink)}.map-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:15px;padding-bottom:5px}.map-tabs button{white-space:nowrap;font-size:11px;min-height:40px;border-radius:8px;padding:8px 12px}.map-tabs .active{background:var(--lake);color:white}.route-map{border:1px solid #ccd7cc;border-radius:20px;overflow:hidden;background:#edf0e4;box-shadow:0 12px 36px #19303708}.route-map svg{display:block;width:100%;height:auto;min-width:0}.map-heading{font:700 14px ui-monospace,monospace;letter-spacing:1px;fill:#627967}.map-north{font:700 15px ui-monospace,monospace;fill:#627967}.map-caption{font:11px ui-monospace,monospace;letter-spacing:2px;fill:#829185}.map-place{font:bold 17px Georgia,"Microsoft YaHei",serif;fill:#183e50;paint-order:stroke;stroke:#f7f8ed;stroke-width:4px;stroke-linejoin:round}.map-legend{display:flex;flex-wrap:wrap;gap:10px 17px;padding:15px 5px}.map-legend span{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center}.route-color{width:15px;height:3px;background:#397dc1}.color-1{background:#618344}.color-2{background:#e77e22}.color-3{background:#209aaa}.color-4{background:#8865a5}.color-5{background:#df6185}.color-6{background:#62856c}.color-7{background:#4e758f}.map-disclaimer{font-size:11px;line-height:1.8;color:#72807b;margin:0 4px}.day-jumps{display:flex;gap:7px;overflow:auto;margin-bottom:20px;padding-bottom:5px}.day-jumps a{min-width:66px;min-height:57px;padding:9px;text-align:center;text-decoration:none;border:1px solid var(--line);border-radius:9px;background:#fff;font:700 13px ui-monospace,monospace}.day-jumps small{font-size:9px;margin:5px 0 0}.journal-day{border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:14px;scroll-margin-top:145px;overflow:hidden}.journal-day>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:22px 20px;cursor:pointer;min-height:88px}.journal-day>summary::-webkit-details-marker{display:none}.day-index{font:700 11px ui-monospace,monospace;color:var(--lake);white-space:nowrap;letter-spacing:.8px}.journal-day>summary>div{flex:1;min-width:0}.journal-day>summary strong{font-size:16px;line-height:1.5;display:block}.journal-day>summary small{margin:5px 0 0;font-size:10px}.chevron{font-size:20px;color:#6a8688}.journal-day[open] .chevron{transform:rotate(180deg)}.day-body{padding:0 22px 24px;border-top:1px solid var(--line)}.day-route-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:20px;margin-bottom:12px}.day-route-title h3{font-size:15px;margin:0}.day-route-title button{font-size:11px;padding:8px 10px}.mini-map{border-radius:12px;max-width:520px;margin:auto}.route-stops{list-style:none;margin:20px 0;padding:0}.route-stops li{display:flex;gap:13px;padding:0 0 17px;position:relative}.route-stops li:not(:last-child):before{content:'';position:absolute;width:1px;background:#c7dadd;left:12px;top:27px;bottom:0}.stop-number{flex-shrink:0;width:25px;height:25px;border-radius:50%;background:#d9ebee;color:var(--lake);display:grid;place-items:center;font:700 11px ui-monospace,monospace}.route-stops strong{font-size:13px}.route-stops p{font-size:12px;color:var(--muted);line-height:1.7;margin:5px 0;white-space:pre-line}.route-stops small{margin:4px 0;font-size:10px;color:#b65c3a}.stop-time{font:700 11px ui-monospace,monospace;margin-left:12px;color:var(--lake)}.daily-plan{font-size:12px;line-height:1.8;background:#f5f7f3;border-radius:10px;padding:12px;margin:10px 0}.daily-plan p{white-space:pre-line;margin:0}.daily-plan .card-bottom{margin-top:9px;padding-top:9px}.card-bottom button{font-size:11px;min-height:38px}.booking-timeline{padding-left:15px;border-left:1px solid #d7dfdc;margin-left:5px}.booking-timeline article{position:relative;padding:0 0 20px 8px;overflow-wrap:anywhere}.timeline-dot{position:absolute;left:-21px;top:5px;width:9px;height:9px;background:#fff;border:2px solid var(--lake);border-radius:50%}.booking-type{font-size:10px;color:var(--lake);margin:6px 0 9px;line-height:1.6}.booking-timeline strong{font-size:14px;line-height:1.6}.booking-timeline p{font-size:12px;color:var(--muted);line-height:1.8;white-space:pre-line}.booking-timeline button{font-size:11px;min-height:38px}.tonight{background:#eaf3e9;border-radius:12px;padding:16px;margin:10px 0}.tonight span{display:block;font-size:9px;letter-spacing:1px;color:#516b55;margin-bottom:8px}.tonight strong{font-size:13px;line-height:1.6}.document-empty{border:1px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.ticket-file{display:flex;gap:10px;align-items:center;background:#fff8f3;border:1px solid #edddd0;border-radius:12px;padding:12px;margin:9px 0;min-width:0}.file-icon{display:grid;place-items:center;width:36px;height:43px;background:#f6e2d8;color:#a95d3f;border-radius:6px;font:700 9px ui-monospace,monospace;flex-shrink:0}.ticket-file>div{flex:1;min-width:0;overflow-wrap:anywhere}.ticket-file strong{font-size:12px;line-height:1.6}.ticket-file small{font-size:9px;margin:3px 0 0}.file-open{font-size:11px;min-height:44px;display:flex;align-items:center;color:#98543b;white-space:nowrap}.ticket-file button{font-size:10px;padding:7px;min-height:38px;background:transparent;border-color:#edddd0}.memo-progress{display:flex;gap:15px;align-items:center;padding:18px 20px;border-radius:12px;background:#d9ebee;margin-bottom:20px}.memo-progress strong{font:700 24px ui-monospace,monospace;color:#287b90}.memo-progress span{font-size:12px;color:var(--muted)}.memo-group{padding:6px 0 15px}.memo-group h3{font-size:15px}.memo-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:white;border:1px solid var(--line);border-radius:12px;margin:9px 0}.memo-card>div{min-width:0;flex:1}.memo-card strong{font-size:14px;overflow-wrap:anywhere}.memo-card p{font-size:12px;line-height:1.8;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:6px 0}.memo-check{padding:0;min-width:38px;min-height:38px;font-size:22px;background:#edf3ee;border:0}.is-done strong{text-decoration:line-through;color:var(--muted)}.memo-actions{display:flex;gap:4px;margin-top:8px}.memo-actions button{background:transparent;border:0;font-size:11px;min-height:32px;padding:5px 8px;color:var(--muted)}.route-edit-stop{border:1px solid var(--line);border-radius:12px;padding:12px;margin:18px 0}.route-edit-stop legend{font-size:12px;color:var(--lake);padding:0 5px}.route-edit-stop label{font-size:12px;margin:8px 0}.route-edit-stop details>summary{font-size:12px;padding:12px 0;cursor:pointer}.stop-tools{display:flex;gap:7px;margin-top:12px}.stop-tools button{font-size:11px;padding:8px}.bottom-nav{background:#13262f}.bottom-nav button.active{background:#d9ebee;color:#13262f}.primary{background:#13262f;border-color:#13262f}.primary:hover{background:#294b5c}.eyebrow{letter-spacing:1.5px}button,a{touch-action:manipulation}@media(min-width:1000px){#overview{width:900px;max-width:calc(100vw - 64px);position:relative;left:50%;transform:translateX(-50%)}#overview .route-map{max-width:900px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.topbar{padding:8px 14px}.brand{font-size:16px}.header-actions>span{max-width:100px}.hero{min-height:206px;padding:32px 2px 18px}.hero h1{font-size:43px;letter-spacing:-1.5px}.hero-mark{right:3px;bottom:23px;font-size:9px}.hero .route{font-size:11px}.hero p{font-size:13px}.summary strong{font-size:14px}.summary{margin-bottom:20px}.journal-nav{top:61px;gap:5px}.journal-nav a{font-size:11px;padding:11px 12px}.journal-section{padding:26px 0 18px}.journal-heading h2{font-size:27px}.journal-heading .eyebrow{font-size:9px}.flight-card{flex-basis:calc(100% - 18px);padding:20px 17px;min-height:320px}.flight-flow{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:5px}.flight-flow strong{font-size:22px}.flight-flow small{font-size:10px}.flight-via small{font-size:8px}.flight-top{font-size:9px}.flight-tools{gap:5px}.flight-tools button{font-size:10px;padding:7px}.journal-day>summary{gap:10px;padding:18px 14px}.journal-day>summary strong{font-size:14px}.day-index{font-size:10px}.day-body{padding:0 15px 20px}.map-place{font-size:20px}.map-heading{font-size:16px}.map-caption{font-size:12px}.map-tabs button{padding:8px 10px}.grid{grid-template-columns:1fr}.ticket-file{gap:8px;padding:10px}.file-icon{width:28px;height:36px}.ticket-file button{padding:5px}.ticket-file strong{font-size:11px}.journal-heading button{font-size:11px;padding:8px 10px}.journal-day{scroll-margin-top:135px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:600px){.flight-flow strong{font-size:16px;overflow-wrap:normal;word-break:normal}.flight-flow{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}}

.place-card{margin:14px 0;padding:14px;background:#edf4f2;border:1px solid #d7dfdc;border-radius:12px}.place-card p,.leg-info{font-size:12px;line-height:1.8}.place-links a{display:inline-block;padding:10px 14px;margin-top:8px;border:1px solid #287b90;border-radius:8px}.stop-time{display:block;line-height:1.8}.leg-info{padding:8px;background:#e2eef0;border-radius:6px}

.hero.has-cover{background-size:cover;background-position:center;border-radius:18px;padding:30px 22px;color:white}.hero.has-cover h1,.hero.has-cover .route,.hero.has-cover .eyebrow,.hero.has-cover .hero-mark{color:white}.flight-passengers{font-size:13px;line-height:1.7;color:#d9f1f2}
