@charset "UTF-8";
:root{--ink:#27252b;--muted:#85818a;--wine:#8f2039;--wine-dark:#6c1128;--line:#eeebed;--paper:#f7f6f4;--green:#23765c;--soft:#fcf5f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.topbar{max-width:1400px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:20px;letter-spacing:1px}.brand-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:var(--wine);font-size:25px}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:3px;margin-top:2px;font-weight:600}.nav-tag{font-size:12px;color:#79737b;display:flex;gap:8px;align-items:center}.nav-tag i{width:6px;height:6px;border-radius:50%;background:var(--green)}.hero{max-width:1280px;margin:auto;padding:24px 12px 52px;display:flex;justify-content:space-between;align-items:center}.eyebrow{color:var(--wine);font-size:12px;letter-spacing:2px;font-weight:600}h1{font-size:48px;letter-spacing:-2px;margin:12px 0 14px;font-weight:780;line-height:1.2}h1 em{font-style:normal;color:var(--wine)}.hero p{color:#77717b;font-size:15px;margin:0}.hero-tags{display:flex;gap:8px;margin-top:22px}.hero-tags span{color:#767079;border:1px solid #e5e0e2;border-radius:20px;padding:4px 12px;font-size:11px;background:#faf9f8}.hero-ticket{width:306px;border-radius:16px;background:#fff;border:1px solid #e7e0e3;padding:22px 26px;transform:rotate(-4deg);box-shadow:0 14px 30px #5d283909;color:#aaa2a7;margin-right:16px}.hero-ticket>span{font-size:9px;letter-spacing:3px}.hero-ticket>div:not(.ticket-line){display:flex;justify-content:space-between;align-items:center;font-size:25px;color:#51404a;padding:12px 0}.hero-ticket b{font-size:24px;color:var(--wine);font-weight:400}.hero-ticket small{font-size:11px}.ticket-line{border-top:1px dashed #dfd5d9;margin:19px -26px 14px}.hero-ticket strong{font-size:11px;font-weight:500;letter-spacing:3px;color:#9a6d7a}main{max-width:1340px;margin:auto;padding:0 24px}section{background:white;border:1px solid var(--line);border-radius:20px}.search-panel{padding:28px 32px 0;box-shadow:0 8px 28px #28202c04}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.step-tag{font-size:10px;letter-spacing:2px;color:#a29aa1}h2{font-size:21px;font-weight:700;margin:5px 0 0;letter-spacing:-.4px}.subtle-button{border:1px solid #e7dfe2;border-radius:9px;background:white;color:var(--wine);font-size:12px;padding:9px 13px;white-space:nowrap}.subtle-button:hover{background:#fff8fa}.journey-grid{display:grid;grid-template-columns:1fr 1fr .8fr .65fr;gap:14px;align-items:stretch}.airport-field,.date-field{border:1px solid #e5e0e3;background:#fff;border-radius:12px;padding:13px 16px;min-width:0;transition:border-color .15s}.airport-field:focus-within,.date-field:focus-within{border-color:var(--wine);box-shadow:0 0 0 3px #8f203908}label{display:block;color:#817780;font-size:12px;font-weight:500}label span{font-size:9px;letter-spacing:1px;color:#b0a5ad;margin-left:8px}input,select{width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #e7e2e5;border-radius:8px;padding:11px;font-size:14px;outline:none}input:focus,select:focus{border-color:var(--wine)}.airport-field input{padding:9px 0 6px;border:0;font-size:12px;color:#80757e;background:none}.airport-field select{border:0;border-radius:0;padding:5px 18px 3px 0;font-weight:650;font-size:15px;background:none;white-space:nowrap;text-overflow:ellipsis}.date-field input{border:0;padding:12px 0 6px;font-size:17px;font-weight:650}.field-note{font-size:11px;color:#aba0a8;display:block;margin-top:5px}.primary-button{color:#fff;border:0;border-radius:12px;background:var(--wine);font-size:16px;font-weight:650;display:flex;gap:14px;align-items:center;justify-content:center;box-shadow:0 6px 16px #8f20391a}.primary-button:hover{background:var(--wine-dark)}.primary-button span{font-size:23px;font-weight:400}.helper{color:#a69ba3;font-size:11px;margin:11px 0 18px;line-height:1.6}.search-footer{display:flex;align-items:center;gap:8px;color:#8a7f87;font-size:12px;margin-bottom:22px}.check-dot{background:#f4ebeE;color:#9b5366;font-size:10px;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;flex-shrink:0}.rules{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:17px 0;color:#6e626b;font-size:12px;gap:12px}summary::-webkit-details-marker{display:none}summary small{margin-left:18px;color:#a899a3;font-size:11px}.edit-label{color:var(--wine);white-space:nowrap}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:6px 0}.rules-grid input{margin-top:8px}.rules>p{font-size:12px;color:#988b95;padding-bottom:16px;line-height:1.8}.results-panel{margin-top:24px;padding:28px 26px 8px;min-height:340px}.result-head{margin-bottom:20px}.estimate-tag{font-size:10px;color:#a08062;border:1px solid #eddfd0;border-radius:6px;padding:4px 9px;background:#fffaf4}.results-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.control-field{display:flex;align-items:center;gap:12px}.control-field label{font-size:11px;white-space:nowrap;color:#a499a1}.control-field select{width:auto;max-width:260px;padding:8px 26px 8px 10px;font-size:12px;border-color:var(--line);background:#faf9f9}.result-message{margin:16px 0;color:#938892;font-size:11px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.result-message p{margin:0;line-height:1.8;white-space:pre-wrap}.result-message #quoteStatus{flex-basis:100%;color:#a29aa1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 10px}.stat{background:#faf7f6;padding:16px 18px;color:#91818a;font-size:11px;border-radius:12px}.stat strong{display:block;color:var(--ink);font-size:26px;font-weight:680;letter-spacing:-.6px;margin-top:7px}.stat:last-child{background:#f3f8f5}.stat:last-child strong{color:var(--green)}.empty-state{text-align:center;padding:48px 20px 58px}.empty-icon{display:grid;place-items:center;margin:0 auto 18px;width:68px;height:68px;background:#f7f2f4;border-radius:24px;font-size:31px;color:#b88394;transform:rotate(-12deg)}.empty-state h3{font-size:17px;font-weight:600;color:#6e626b;margin:0 0 8px}.empty-state p{font-size:12px;color:#a79da4}.empty-steps{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:25px;font-size:10px;color:#ab9ca6}.empty-steps i{font-style:normal;color:#d2c7cd}.flight-list{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}thead{background:#fdfcfc}th{text-align:left;color:#a296a0;font-size:10px;font-weight:500;padding:15px 8px;white-space:nowrap}td{padding:22px 8px;border-top:1px solid var(--line);vertical-align:middle;min-width:85px;line-height:1.65}td:first-child{min-width:135px;font-weight:650;font-size:15px}td:nth-child(2){font-weight:600;min-width:115px}td:nth-child(3){font-size:11px;color:#998b95;max-width:100px}td:nth-child(4){min-width:120px}td:nth-child(5){color:#9b8c96}td:nth-child(7){color:var(--wine);font-size:17px;font-weight:700;white-space:nowrap}td:nth-child(8){font-size:13px;font-weight:650;white-space:nowrap}td small{display:block;font-size:10px;color:#a397a0;font-weight:400;line-height:1.6;margin-top:5px}td button{display:block;border:1px solid #e4d4da;background:#fff8fa;color:var(--wine);font-size:11px;padding:7px 11px;border-radius:7px;margin-top:9px;min-height:34px}td button:hover{background:#f5e7ec}.good{color:var(--green)}.bad{color:#b54747}.calculation-note{display:flex;gap:20px;margin:24px 10px 36px;font-size:11px;color:#a399a1;align-items:baseline}.calculation-note b{white-space:nowrap;color:#8a7b86;font-weight:500}.calculation-note p{line-height:1.9;margin:0}footer{max-width:1290px;margin:0 auto;padding:24px 8px 30px;border-top:1px solid #e9e4e7;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#aca0a8}.footer-brand{font-size:12px;color:#9b7c89;letter-spacing:1px}:focus-visible{outline:2px solid #ab5a70;outline-offset:3px}@media(min-width:1500px){main{max-width:1480px}.topbar{max-width:1480px}.hero{max-width:1400px}.hero-ticket{margin-right:50px}td{padding:24px 12px}}@media(max-width:1050px){.hero{padding-left:32px;padding-right:32px}.hero-ticket{width:240px;margin-right:5px}.journey-grid{grid-template-columns:1fr 1fr .8fr}.primary-button{grid-column:1/-1;min-height:48px}.search-panel{padding:24px 24px 0}.results-panel{padding:24px 20px 8px}}@media(max-width:700px){body{font-size:14px}.topbar{padding:18px 20px}.brand{font-size:17px;gap:9px}.brand-icon{width:36px;height:36px;border-radius:11px;font-size:23px}.brand small{font-size:8px;letter-spacing:2px}.nav-tag{font-size:9px;gap:5px}.hero{padding:20px 22px 30px}.eyebrow{font-size:10px;letter-spacing:1px}h1{font-size:35px;letter-spacing:-1px;margin:11px 0}.hero p{font-size:12px;max-width:280px}.hero-tags{margin-top:16px;gap:6px}.hero-tags span{font-size:9px;padding:3px 9px}.hero-ticket{display:none}main{padding:0 12px}section{border-radius:16px}.search-panel{padding:21px 16px 0}.section-head{margin-bottom:19px}.step-tag{font-size:8px;letter-spacing:1px}h2{font-size:19px;margin-top:4px}.subtle-button{font-size:11px;padding:8px 10px;min-height:36px}.journey-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.airport-field{padding:12px 10px}.airport-field label{font-size:11px}.airport-field label span{font-size:8px;margin-left:4px}.airport-field input{font-size:16px;padding:9px 0 7px;transform-origin:left;max-width:100%}.airport-field input::placeholder{font-size:10px}.airport-field select{font-size:13px;min-height:36px;padding-right:10px}.date-field{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 12px}.date-field label{white-space:nowrap;font-size:11px}.date-field label span{display:none}.date-field input{font-size:16px;padding:5px;flex:1;width:auto}.field-note{font-size:10px;white-space:nowrap;margin:0}.primary-button{min-height:49px;font-size:15px;grid-column:1/-1;box-shadow:0 5px 12px #8f203915}.helper{font-size:10px;margin:10px 0 13px}.search-footer{font-size:10px;margin-bottom:15px;gap:6px;align-items:flex-start;line-height:1.7}.check-dot{margin-top:1px}summary{padding:14px 0;font-size:11px}summary small{display:block;margin:4px 0 0;font-size:9px}.edit-label{font-size:10px}.rules-grid{grid-template-columns:1fr;gap:10px}.rules-grid label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px}.rules-grid input{width:115px;margin:0;font-size:16px;padding:9px}.rules>p{font-size:10px}.results-panel{margin-top:15px;padding:22px 13px 8px}.result-head{gap:8px}.result-head h2{font-size:18px}.estimate-tag{font-size:8px;padding:4px 6px}.results-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}.control-field{display:block;min-width:0}.control-field label{font-size:9px;margin-bottom:6px}.control-field select{width:100%;max-width:100%;font-size:11px;min-height:40px;padding:8px 20px 8px 8px}.result-message{font-size:10px;margin:12px 0}.stats{gap:6px;margin:14px 0}.stat{font-size:8px;padding:12px 9px;border-radius:9px;min-width:0}.stat strong{font-size:19px;letter-spacing:-.6px;margin-top:6px;overflow-wrap:anywhere}.flight-list{overflow:visible}table,tbody{display:block;width:100%}thead{display:none}tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #eae4e8;border-radius:13px;margin:12px 0;background:white;overflow:hidden;padding:0 13px 12px;position:relative}td{display:block;min-width:0!important;max-width:none!important;border:0;padding:9px 3px;line-height:1.6;font-size:13px}td:before{content:attr(data-label);display:block;font-size:9px;color:#a396a1;font-weight:400;margin-bottom:4px;letter-spacing:.2px}td:first-child{grid-column:1/-1;font-size:17px;padding-top:16px;padding-bottom:10px;border-bottom:1px solid #f3eff1;font-weight:700}td:first-child:before{display:none}td:first-child small{font-size:11px;max-width:100%;line-height:1.7}td:nth-child(2){grid-column:1/-1;display:flex;flex-direction:column;gap:3px;font-size:15px;font-variant-numeric:tabular-nums;padding-top:13px;padding-bottom:11px}td:nth-child(2):before{font-size:9px;content:'出发 → 到达 · 当地时间';margin:0}td:nth-child(2) small{font-size:13px;margin:0;font-weight:500;color:#80727d}td:nth-child(3){grid-column:1/-1;padding:0 3px 12px;color:#a3909e;border-bottom:1px dashed #eee5ea;font-size:10px}td:nth-child(3):before{display:none}td:nth-child(3) small{display:inline;margin-left:8px;font-size:9px}td:nth-child(4),td:nth-child(5),td:nth-child(6){padding-top:12px;font-size:12px}td:nth-child(4){grid-row:auto;min-height:85px}td:nth-child(4) small{font-size:9px}td:nth-child(5){color:#8e7d89}td:nth-child(6){grid-column:1/-1;border-bottom:1px solid #f3edf0;padding-top:5px;padding-bottom:12px;display:flex;gap:12px;align-items:baseline;font-size:12px}td:nth-child(6):before{margin:0}td:nth-child(7){font-size:23px;padding-top:13px;color:var(--wine)}td:nth-child(8){font-size:17px;padding-top:13px;text-align:right}td:nth-child(8):before{margin-bottom:8px}td button{font-size:11px;padding:9px 12px;min-height:40px;margin-top:7px}.empty-state{padding:34px 8px 44px}.empty-state h3{font-size:15px}.empty-state p{font-size:11px}.empty-icon{width:56px;height:56px;border-radius:19px;font-size:27px}.empty-steps{font-size:9px;gap:10px}.calculation-note{display:block;margin:20px 9px 28px;font-size:10px}.calculation-note b{display:block;margin-bottom:7px}.calculation-note p{line-height:1.9}footer{margin:0 20px;padding:20px 0 26px;font-size:9px;gap:12px}.footer-brand{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Central route exchange control */
.journey-grid{grid-template-columns:minmax(0,2.2fr) minmax(0,.85fr) minmax(0,.7fr)}.route-fields{display:grid;grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr);align-items:center;border:1px solid #e5e0e3;border-radius:12px;min-width:0;padding:0 4px;background:white}.route-fields .airport-field{border:0;box-shadow:none;padding:13px 12px}.route-fields:focus-within{border-color:#c993a2}.route-fields .airport-field:last-child label,.route-fields .airport-field:last-child input{text-align:right}.swap-airports{display:grid;place-items:center;padding:0;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:var(--wine);transition:background .15s,transform .15s;touch-action:manipulation}.swap-airports svg{width:44px;height:44px;display:block}.swap-airports:hover{background:#fcf1f4;transform:rotate(10deg)}.swap-airports:active{transform:rotate(18deg) scale(.96)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.journey-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}@media(max-width:700px){.journey-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.route-fields{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);padding:0 2px}.route-fields .airport-field{padding:13px 9px}.route-fields .airport-field select{font-size:13px;padding-right:14px}.route-fields .airport-field:last-child select{text-align:right}.swap-airports{width:46px;height:46px}.swap-airports svg{width:44px;height:44px}.route-fields .airport-field input{padding-top:10px;padding-bottom:8px}.route-fields .airport-field input::placeholder{font-size:9px}}@media(prefers-reduced-motion:reduce){.swap-airports{transition:none}}
