@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./newsreader-vietnamese-wght-normal.Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./newsreader-latin-ext-wght-normal.C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./newsreader-latin-wght-normal.CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f3ed;--paper-bright:#fbfaf6;--ink:#202d33;--ink-soft:#56666b;--ink-faint:#778487;--line:#d8d8d0;--line-strong:#aeb8b2;--clay:#a85237;--clay-dark:#89442f;--sea:#456d7b;--land:#dbe3dc;--water:#e9efec;--focus:#315e73;--display:"Newsreader", "Noto Serif TC", "Songti TC", serif;--body:"DM Sans", "Noto Sans TC", "PingFang TC", sans-serif;font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:14px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);min-width:320px;margin:0}body,button,input,select{font-family:var(--body)}small{font-size:inherit}button,input,select{color:inherit;font-size:inherit}a,button,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}a{color:inherit;text-underline-offset:3px}::selection{color:#17262b;background:#c9dbd4}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#e9e8e1}::-webkit-scrollbar-thumb{background:#929f99;border:3px solid #e9e8e1;border-radius:12px}.page-shell{width:min(100%,1720px);margin-inline:auto;padding-inline:clamp(20px,5.2vw,88px)}.page-shell--home{width:min(100%,1920px);padding-inline:clamp(16px,3.2vw,60px)}.site-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:28px;min-height:80px;display:grid}.brand-lockup{width:fit-content;color:var(--ink);letter-spacing:.015em;align-items:center;gap:11px;font-size:15px;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--clay-dark);border-radius:50%;place-items:center;display:inline-grid}.brand-lockup__sub{color:var(--ink-faint);letter-spacing:.13em;margin-top:2px;font-size:14px;font-weight:600;display:block}.footer-links,.site-nav{align-items:center;gap:25px;display:flex}.site-nav a{color:var(--ink-soft);font-size:14px;text-decoration:none;transition:color .16s}.footer-links a:hover,.site-nav a:hover{color:var(--clay-dark)}.header-period{color:var(--ink-soft);letter-spacing:.025em;justify-self:end;font-size:14px}.home-intro{grid-template-columns:minmax(0,1fr) minmax(220px,310px);align-items:end;gap:clamp(40px,8vw,130px);min-height:288px;padding-block:60px 47px;display:grid}h1,h2,h3,p{margin-top:0}.airport-heading h1,.home-intro h1{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(52px,6vw,84px);font-weight:440;line-height:.98}.intro-lede{color:var(--ink-soft);font-family:var(--display);letter-spacing:-.012em;margin:18px 0 0;font-size:clamp(20px,2.2vw,28px);line-height:1.38}.intro-break{display:none}.intro-side-note{max-width:290px;color:var(--ink-soft);padding-bottom:3px}.note-rule{background:var(--clay);width:42px;height:2px;margin-bottom:15px;display:block}.intro-side-note p{max-width:29ch;margin-bottom:20px;font-size:14px;line-height:1.85}.intro-source{color:var(--ink);letter-spacing:.035em;align-items:center;gap:7px;font-size:14px;font-weight:650;display:inline-flex}.explorer-section{border-top:1px solid var(--ink);padding-top:27px}.atlas-head,.data-index__heading,.section-heading-row,.subsection-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading-row{margin-bottom:22px}.atlas-head h2,.data-index__heading h2,.section-heading-row h2,.subsection-heading h2{font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:clamp(24px,3vw,36px);font-weight:480;line-height:1.1}.coverage-note{color:var(--ink-soft);white-space:normal;font-size:14px;line-height:1.6}.coverage-note strong{color:var(--ink);padding-left:6px;font-weight:650}.filter-sheet{border-top:1px solid var(--line);padding:15px 0 16px}.filter-sheet,.filter-sheet__top{border-bottom:1px solid var(--line)}.filter-sheet__top{grid-template-columns:202px minmax(210px,1.2fr) minmax(120px,.6fr) minmax(200px,1fr) auto;align-items:end;gap:13px;padding-bottom:15px;display:grid}.filter-field,.filter-search{flex-direction:column;gap:6px;min-width:0;display:flex}.direction-switch legend,.filter-field>label,.filter-search>label,.numeric-group legend{color:var(--ink-soft);letter-spacing:.055em;padding:0;font-size:14px;font-weight:650}.filter-field input,.filter-field select,.search-control{border:1px solid var(--line);background:var(--paper-bright);width:100%;min-width:0;height:40px;color:var(--ink);border-radius:3px}.filter-field input,.filter-field select{outline-offset:2px;padding:0 10px}.filter-field input::-moz-placeholder{color:#6c797c;opacity:1}.numeric-range input::-moz-placeholder{color:#6c797c;opacity:1}.search-control input::-moz-placeholder{color:#6c797c;opacity:1}.filter-field input::placeholder,.numeric-range input::placeholder,.search-control input::placeholder{color:#6c797c;opacity:1}.filter-field input:focus,.filter-field select:focus,.numeric-range input:focus,.search-control:focus-within{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px}.filter-field--code input{text-transform:uppercase}.multi-select-control{border:1px solid var(--line);background:var(--paper-bright);border-radius:3px;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;min-height:38px;padding:3px 5px;display:flex;position:relative}.multi-select-control:focus-within{z-index:8;border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px}.filter-fields .multi-select-control input,.multi-select-control input{background:0 0;border:0;border-radius:0;outline:0;flex:115px;width:auto;min-width:90px;height:28px;padding:0 4px;font-size:14px}.multi-select-control input:focus{border:0;outline:0}.multi-select-tags{flex-wrap:wrap;gap:3px;min-width:0;display:flex}.multi-select-tag{border:1px solid var(--line-strong);min-width:0;max-width:100%;min-height:24px;color:var(--ink);text-align:left;background:#eeeee8;border-radius:3px;align-items:center;gap:5px;padding:2px 5px 2px 7px;font-size:12px;line-height:1.2;display:inline-flex}.multi-select-tag span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-select-tag:hover{border-color:var(--clay);color:var(--clay-dark)}.multi-select-options button:focus-visible,.multi-select-tag:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.multi-select-options{z-index:9;border:1px solid var(--line-strong);background:var(--paper-bright);max-height:220px;position:absolute;inset:calc(100% + 4px) 0 auto;overflow:auto}.multi-select-options button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;align-items:baseline;gap:9px;padding:8px 10px;display:flex}.multi-select-options button:last-child{border-bottom:0}.multi-select-options button:hover{background:#eeeee8}.multi-select-options strong{color:var(--clay-dark);letter-spacing:.04em;flex:none;font-size:12px}.multi-select-options span{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.year-range{height:40px;color:var(--ink-faint);justify-content:space-between;align-items:center;gap:7px;display:flex}.year-range select{flex:1 1 0;min-width:0}.search-control{color:var(--clay-dark);align-items:center;gap:8px;padding-inline:10px;display:flex}.search-control input{width:100%;min-width:0;height:36px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:14px}.search-control input:focus-visible{outline:0}.direction-switch{border:0;align-items:end;gap:4px;min-width:0;margin:0;padding:0;display:flex}.direction-switch legend{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.direction-switch label{border:1px solid var(--line);background:var(--paper-bright);min-width:56px;min-height:40px;color:var(--ink-soft);cursor:pointer;border-radius:3px;place-items:center;font-size:14px;font-weight:650;transition:background .16s,color .16s,border-color .16s;display:grid;position:relative}.direction-switch label input{opacity:0;width:1px;height:1px;position:absolute}.direction-switch label:focus-within{outline:3px solid var(--focus);outline-offset:2px}.direction-switch label.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper-bright)}.filter-actions{align-items:center;gap:5px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.button--primary{background:var(--clay-dark);color:var(--paper-bright)}.button--primary:hover:not(:disabled){background:#713a2b}.button--quiet{border-color:var(--line);color:var(--ink-soft);background:0 0;padding-inline:8px}.button--quiet:hover{border-color:var(--line-strong);color:var(--ink);background:#ecebe5}.filter-fields{border-bottom:1px solid var(--line);grid-template-columns:minmax(125px,.72fr) minmax(180px,1.2fr) minmax(210px,1.5fr) minmax(150px,1fr);gap:13px;padding-block:15px;display:grid}.filter-fields .filter-field input{height:38px;font-size:14px}.numeric-filters{grid-template-columns:repeat(3,minmax(190px,1fr));gap:18px;padding-top:14px;display:grid}.numeric-group{border:0;min-width:0;margin:0;padding:0}.numeric-group legend{margin-bottom:7px}.numeric-range{color:var(--ink-faint);align-items:center;gap:8px;font-size:14px;display:flex}.numeric-range input{border:1px solid var(--line);outline-offset:1px;background:var(--paper-bright);border-radius:3px;width:min(100%,130px);min-width:0;height:36px;padding:0 9px}.numeric-unit,.result-ribbon{color:var(--ink-soft)}.result-ribbon{align-items:center;gap:8px;min-height:49px;font-size:14px;display:flex}.result-ribbon strong{color:var(--ink);font-family:var(--display);font-size:19px;font-weight:550}.result-ribbon>i{background:var(--line-strong);width:1px;height:15px;margin-inline:6px}.result-ribbon__right{color:var(--ink-faint);margin-left:auto}.error-note{color:#713b2d;background:#f5e8e1;border:1px solid #c8927e;align-items:center;gap:10px;min-height:50px;margin-block:14px;padding:10px 13px;font-size:14px;display:flex}.error-note a,.error-note button{color:#713b2d;background:0 0;border:0;margin-left:auto;font-weight:700;text-decoration:underline}.route-atlas{padding-top:23px}.atlas-head{align-items:end;margin-bottom:17px}.atlas-head h2{font-size:clamp(27px,3.3vw,40px)}.atlas-head p{margin:7px 0 0}.atlas-head p,.map-legend{color:var(--ink-soft);font-size:14px}.map-legend{align-items:center;gap:18px;padding-bottom:4px;display:flex}.map-legend>span{align-items:center;gap:7px;display:inline-flex}.legend-line{width:24px;height:2px;display:inline-block}.legend-line--outbound{background:var(--clay)}.legend-line--inbound{background:var(--sea)}.atlas-grid{-moz-column-gap:clamp(20px,2.5vw,36px);grid-template-rows:auto auto;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);align-items:stretch;column-gap:clamp(20px,2.5vw,36px);display:grid}.route-map-wrap{aspect-ratio:1600/720;background:var(--water);border:1px solid #cad6d0;width:100%;position:relative;overflow:hidden}.route-world-map{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.route-world-map.is-panning,.route-world-map.is-panning .map-route-hit{cursor:grabbing}.map-ocean{fill:var(--water)}.map-graticule{fill:none;stroke:#cfdbd5;stroke-width:1px}.map-land{fill:var(--land);stroke:#bdcbc3;stroke-width:1.1px;stroke-linejoin:round}.map-region-label{fill:#82918a;font-family:var(--body);letter-spacing:.12em;opacity:.76;pointer-events:none;font-size:15px;font-weight:600}.map-route{stroke-width:.8px;opacity:.34;pointer-events:none;transition:opacity .13s,stroke-width .13s}.map-route,.map-route-hit{fill:none;stroke-linecap:round}.map-route-hit{stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.map-route--outbound{stroke:var(--clay)}.map-route--inbound{stroke:var(--sea)}.map-route.is-current,.map-route:hover{stroke-width:.8px;opacity:1}.map-route.is-focused{stroke-width:2.1px;opacity:1;filter:drop-shadow(0 0 3px var(--paper-bright))}.map-route.is-concealed{opacity:0}.map-route-hit.is-concealed{pointer-events:none}.map-route-hit:focus-visible{outline:none}.map-airport-dot{fill:var(--paper-bright);stroke:var(--clay-dark);stroke-width:1.4px;pointer-events:all;cursor:pointer}.map-airport-dot.is-current{fill:var(--clay);stroke:var(--paper-bright);stroke-width:2px}.map-airport-dot.is-hovered,.map-taiwan-hub{fill:var(--sea);stroke:var(--paper-bright)}.map-taiwan-hub{stroke-width:1px;pointer-events:none}.map-hub-label{fill:var(--ink);font-family:var(--body);pointer-events:none;font-size:15px;font-weight:700}.map-frame{fill:none;stroke:#bac9c0;stroke-width:1px;pointer-events:none}.map-controls{z-index:2;background:#fbfaf6f5;border:1px solid #aebeb5;border-radius:5px;display:flex;position:absolute;top:16px;right:16px;overflow:hidden;box-shadow:0 2px 8px #202d3314}.map-controls button{border:0;border-right:1px solid var(--line);width:40px;height:38px;color:var(--ink-soft);background:0 0;place-items:center;display:grid}.map-controls button:last-child{border-right:0}.map-controls button:hover{color:var(--ink);background:#e5eae5}.map-hover-card{z-index:2;width:min(390px,100% - 32px);color:var(--ink);pointer-events:none;background:#fbfaf6f7;border:1px solid #b9c8bf;padding:12px 15px;position:absolute;bottom:16px;left:16px;box-shadow:0 3px 12px #202d331a}.map-hover-card__summary,.map-hover-card__topline{color:var(--clay-dark);letter-spacing:.08em;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;font-weight:700;display:flex}.map-hover-card__route{font-family:var(--display);margin-block:5px 9px;font-size:17px;font-weight:520;line-height:1.25;display:block}.map-hover-card__airlines{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding-top:8px;font-size:14px;display:flex}.map-hover-card__airlines>span{color:var(--ink-soft);flex:none}.map-hover-card__airlines strong{font-size:14px;font-weight:650;line-height:1.5}.map-hover-card__summary{border-top:1px solid var(--line);color:var(--ink-soft);letter-spacing:0;flex-wrap:wrap;margin-top:7px;padding-top:7px;font-size:14px;font-weight:500}.map-hover-card__summary span:first-child{overflow-wrap:anywhere;flex:100%}.map-loading{background:#fbfaf6f0;border:1px solid #c8d1cc;padding:10px 14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-caption,.map-loading{color:var(--ink-soft);font-size:14px}.map-caption{margin:0;padding:9px 0 12px}.route-inspector{border-top:0;border-left:1px solid var(--line-strong);flex-direction:column;grid-area:1/2/span 2;align-items:stretch;min-height:100%;padding:19px 0 20px clamp(20px,2.2vw,32px);display:flex}.route-inspector--empty{justify-content:center}.route-inspector__topline{color:var(--clay-dark);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:15px;font-size:14px;font-weight:700;display:flex}.route-inspector__code{color:var(--ink-faint);font-family:var(--body);letter-spacing:.15em;font-size:14px}.route-inspector h3{font-family:var(--display);letter-spacing:-.025em;margin:16px 0 2px;font-size:clamp(25px,2.7vw,36px);font-weight:480;line-height:1.05}.route-inspector__place{color:var(--ink-soft);margin:0;font-size:14px}.route-inspector__metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:15px;margin-top:22px;padding-block:17px;display:grid}.route-inspector__metrics>div{flex-direction:column;gap:4px;display:flex}.route-inspector__metrics span,.route-inspector__years span{color:var(--ink-soft);font-size:14px}.route-inspector__metrics strong{font-family:var(--display);font-size:25px;font-weight:540}.route-inspector__metrics small{color:var(--ink-soft);font-size:9px;line-height:1.4}.route-inspector__years{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:8px;padding-block:13px;display:flex}.route-inspector__years strong{overflow-wrap:anywhere;flex:100%;font-size:14px;font-weight:650;line-height:1.5}.route-current-status{border-bottom:1px solid var(--line);color:var(--ink-soft);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:9px;margin-top:0;padding-block:10px;font-size:14px;display:flex}.route-current-status strong{color:var(--clay-dark);text-align:left;font-size:14px;font-weight:700}.route-current-status--active strong{color:#3f684f}.route-inspector__airlines{margin-top:17px}.route-inspector__label{color:var(--ink-soft);font-size:14px}.route-inspector__airlines ul{margin:8px 0 0;padding:0;list-style:none}.route-inspector__airlines li{border-bottom:1px solid #e3e2dc;align-items:baseline;gap:9px;padding-block:5px;font-size:14px;display:flex}.route-inspector__airlines small{color:var(--ink-faint);letter-spacing:.08em;margin-left:auto;font-size:14px}.route-open-link{min-height:39px;color:var(--clay-dark);text-align:left;background:0 0;border:0;justify-content:space-between;align-self:flex-start;align-items:center;gap:12px;margin-top:auto;padding:9px 0 0;font-size:14px;font-weight:700;display:inline-flex}.route-open-link:hover{color:var(--ink)}.history-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-soft);grid-template-columns:1fr 1fr;gap:18px 36px;margin-block:10px 60px;padding-block:15px;font-size:14px;line-height:1.65;display:grid}.history-band>div{align-items:start;gap:8px;display:flex}.history-band svg{color:var(--clay-dark);flex:none;margin-top:1px}.data-index{border-top:1px solid var(--ink);margin-bottom:66px}.data-index__heading{padding-block:22px 17px}.data-index__heading h2{font-size:31px}.data-index__heading p{margin:6px 0 0}.data-index__count,.data-index__heading p{color:var(--ink-soft);font-size:14px}.table-scroll{border-top:1px solid var(--line-strong);scrollbar-color:#929f99 #e9e8e1;overflow-x:auto}.mobile-record-list{display:none}table{border-collapse:collapse;text-align:left;width:100%;min-width:880px}thead{background:#eeede6}th{color:var(--ink-soft);letter-spacing:.045em;white-space:nowrap;padding:10px 12px;font-weight:700}td,th{font-size:14px}td{color:var(--ink);vertical-align:middle;border-top:1px solid #e2e1da;padding:11px 12px}.empty-cell{color:var(--ink-soft);text-align:center;padding-block:25px}tbody tr:hover{background:#f0efe9}td .airport-link>span,td>span{text-overflow:ellipsis;white-space:nowrap;max-width:255px;display:block;overflow:hidden}.airport-link small,td small{color:var(--ink-faint);letter-spacing:.04em;align-items:center;gap:3px;margin-top:4px;font-size:14px;display:inline-flex}.date-cell{white-space:nowrap;min-width:91px}.date-cell strong{margin-right:7px;font-weight:700}.date-cell span{color:var(--ink-soft);display:inline}.direction-mark{border:1px solid var(--line);color:var(--ink-soft);letter-spacing:.04em;padding:3px 6px;font-size:14px;display:inline-block}.direction-mark--outbound{color:var(--clay-dark);border-color:#d6a18c}.direction-mark--inbound{color:#385f72;border-color:#99b3be}.number-cell{font-family:var(--body);white-space:nowrap;font-size:14px}.number-cell,th.number-cell{text-align:right}.number-cell--strong{color:var(--ink);font-weight:700}.airport-link{color:var(--ink);text-underline-offset:3px;text-decoration-color:#a9b1ad;text-decoration-thickness:1px;display:block}.airport-link:hover{color:var(--clay-dark);-webkit-text-decoration-color:var(--clay-dark);text-decoration-color:var(--clay-dark)}.table-state{min-height:130px;color:var(--ink-soft);justify-content:center;align-items:center;font-size:14px;display:flex}.table-state--empty{flex-direction:column;gap:7px}.table-state--empty strong{color:var(--ink);font-family:var(--display);font-size:21px;font-weight:500}.table-state--empty span{color:var(--ink-soft)}.pagination{min-height:55px;color:var(--ink-soft);justify-content:space-between;font-size:14px}.pagination,.pagination>div{align-items:center;display:flex}.pagination>div{gap:12px}.pagination button{border:1px solid var(--line);background:var(--paper-bright);width:30px;height:30px;color:var(--ink-soft);border-radius:3px;place-items:center;display:grid}.pagination button:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.site-footer{border-top:1px solid var(--line-strong);min-height:78px;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:24px;font-size:14px;display:flex}.site-footer>div:first-child{align-items:center;gap:17px;display:flex}.footer-mark{color:var(--ink);letter-spacing:.04em;font-size:14px;font-weight:700}.footer-home,.footer-links a{color:var(--ink-soft);align-items:center;gap:3px;font-size:14px;text-decoration:none;display:inline-flex}.airport-page{padding-top:28px}.back-link,.header-back{color:var(--ink-soft);align-items:center;gap:7px;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover,.header-back:hover{color:var(--clay-dark)}.airport-heading{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:40px;padding-block:43px 34px;display:grid}.airport-heading h1{font-size:clamp(45px,6vw,75px)}.airport-heading__location{color:var(--ink-soft);margin:14px 0 0;font-size:14px}.airport-heading__location span{border-left:1px solid var(--line-strong);color:var(--ink);overflow-wrap:anywhere;margin-left:12px;padding-left:12px;font-size:14px;display:inline-block}.airport-latest-status{color:var(--clay-dark);margin:9px 0 0;font-size:14px;font-weight:700}.airport-latest-status--active{color:#3f684f}.airport-code-stamp{color:var(--clay-dark);flex-direction:column;align-items:flex-end;display:flex}.airport-code-stamp small,.airport-code-stamp span{letter-spacing:.16em;font-size:14px}.airport-code-stamp strong{letter-spacing:-.04em;font-size:clamp(46px,5vw,66px);font-weight:520;line-height:1}.airport-code-stamp small{color:var(--ink-faint);margin-top:7px}.historic-code-note{color:var(--ink-soft);align-items:center;gap:7px;margin:13px 0 0;font-size:14px;display:flex}.historic-code-note a{color:var(--clay-dark);align-items:center;gap:2px;text-decoration:underline;display:inline-flex}.detail-controls{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:60px;display:flex}.detail-controls p{color:var(--ink-soft);margin:0;font-size:14px}.direction-switch--compact label{background:0 0;border-color:#0000;min-width:59px;min-height:32px}.direction-switch--compact label.is-active{border-color:var(--ink);background:var(--ink)}.airport-overview{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.overview-stat{border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:5px;min-height:125px;padding:18px 23px;display:flex}.overview-stat:first-child{padding-left:0}.overview-stat:last-child{border-right:0}.overview-stat>span{color:var(--ink-soft);font-size:14px}.overview-stat strong{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(24px,3vw,36px);font-weight:500}.overview-stat small{color:var(--ink-faint);font-size:14px}.detail-main-grid{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:clamp(38px,7vw,104px);padding-block:41px 48px;display:grid}.subsection-heading{align-items:center;min-height:60px;margin-bottom:13px}.subsection-heading h2{font-size:27px}.subsection-heading>span{color:var(--ink-soft);font-size:14px}.year-chart{width:100%;padding-top:11px}.year-chart svg{width:100%;height:auto;overflow:visible}.chart-gridline{stroke:#deded7;stroke-width:1px}.chart-baseline{stroke:#aab5af;stroke-width:1px}.chart-bar{fill:var(--sea);transition:fill .14s}.chart-bar:hover{fill:var(--clay)}.chart-year{fill:var(--ink-soft);font-family:var(--body);font-size:14px}.year-chart__axis{color:var(--ink-faint);justify-content:space-between;font-size:14px;display:flex}.chart-empty,.chart-note{color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.7}.chart-empty{place-items:center;min-height:120px;display:grid}.airline-section{border-left:1px solid var(--line);padding-left:28px}.airline-ranking{counter-reset:airline;margin:18px 0 0;padding:0;list-style:none}.airline-ranking li{border-bottom:1px solid var(--line);grid-template-columns:26px minmax(0,1fr) 34px auto;align-items:center;gap:7px;min-height:39px;font-size:14px;display:grid}.airline-code,.airline-rank{color:var(--ink-faint);letter-spacing:.08em;font-size:14px}.airline-rank{color:var(--clay-dark)}.airline-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.airline-passengers{text-align:right;font-size:14px;font-weight:650}.detail-history{margin-top:47px}.detail-source-note{color:var(--ink-faint);margin:-38px 0 48px;font-size:14px}.detail-feedback,.detail-loading{min-height:320px;color:var(--ink-soft);place-items:center;display:grid}.detail-feedback .error-note{width:min(100%,600px)}.detail-feedback .error-note a{margin-left:auto}.header-back{justify-self:end}.footer-home{font-weight:650}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}@media (width<=1240px){.filter-sheet__top{grid-template-columns:190px minmax(205px,1fr) minmax(125px,.58fr) minmax(200px,1fr)}.filter-actions{grid-column:4;justify-content:end}.filter-search{grid-column:3/5}.filter-fields{grid-template-columns:repeat(3,minmax(130px,1fr))}.route-inspector{gap:0}}@media (width<=900px){.page-shell{padding-inline:clamp(18px,4vw,34px)}.page-shell--home{padding-inline:clamp(12px,2.5vw,24px)}.site-header{grid-template-columns:1fr auto;gap:12px}.site-nav{display:none}.header-period{font-size:14px}.home-intro{grid-template-columns:minmax(0,1fr) 230px;gap:30px;min-height:250px;padding-block:48px 38px}.filter-sheet__top{grid-template-columns:190px 1fr .7fr}.filter-search{grid-column:1/3}.filter-actions{grid-column:3}.atlas-grid{-moz-column-gap:0;grid-template-rows:auto;grid-template-columns:minmax(0,1fr);column-gap:0}.route-map-wrap{aspect-ratio:16/9}.route-inspector{border-top:1px solid var(--line-strong);border-left:0;grid-area:auto;grid-template-rows:auto auto auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:6px 18px;min-height:auto;padding:17px 0 19px;display:grid}.route-current-status,.route-inspector h3,.route-inspector__place,.route-inspector__topline,.route-inspector__years{grid-column:1}.route-inspector h3{margin-top:5px}.route-inspector__years{grid-row:4;margin-top:0}.route-current-status{grid-row:5}.route-inspector__metrics{grid-area:1/2/span 2;gap:10px;margin-top:0}.route-inspector__airlines{grid-area:3/2/span 3;align-self:start;margin:0}.route-open-link{grid-area:6/1/auto/-1;justify-self:start;margin-top:0}.detail-main-grid{grid-template-columns:minmax(0,1fr);gap:35px}.airline-section{border-top:1px solid var(--line);border-left:0;padding:25px 0 0}.airline-ranking{-moz-column-gap:22px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;display:grid}}@media (width<=600px){.site-header{min-height:66px}.brand-lockup{font-size:14px}.brand-mark{width:29px;height:29px}.brand-lockup__sub{max-width:calc(100vw - 198px);font-size:14px;line-height:1.25}.header-period{text-align:right;max-width:122px;line-height:1.5}.home-intro{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;padding-block:39px 32px}.home-intro h1{font-size:58px}.intro-lede{margin-top:13px;font-size:22px}.intro-break{display:initial}.intro-side-note{-moz-column-gap:11px;grid-template-columns:31px 1fr;align-items:start;column-gap:11px;max-width:420px;display:grid}.note-rule{width:26px;margin-top:9px}.intro-side-note p{margin-bottom:6px;font-size:14px}.intro-source{grid-column:2}.explorer-section{padding-top:22px}.route-map-wrap{aspect-ratio:4/3}.section-heading-row{flex-direction:column;align-items:start;gap:9px;margin-bottom:16px}.section-heading-row h2{font-size:27px}.coverage-note{font-size:14px}.filter-sheet{padding-block:12px}.filter-sheet__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px}.direction-switch{grid-column:1/-1}.direction-switch label{flex:1;min-width:0;min-height:37px}.filter-period{grid-column:1/-1}.filter-month{grid-column:1}.filter-search{grid-column:2}.filter-actions{grid-column:1/-1;justify-content:stretch}.filter-actions .button--primary{flex:1}.filter-fields{grid-template-columns:minmax(0,1fr) minmax(92px,.7fr);gap:10px;padding-block:12px}.filter-fields .filter-field input{height:37px;font-size:14px}.numeric-filters{grid-template-columns:1fr;gap:12px}.numeric-range input{width:100%}.result-ribbon{flex-wrap:wrap;gap:5px 7px;padding-block:10px;font-size:14px}.result-ribbon strong{font-size:17px}.result-ribbon>i{margin-inline:2px}.result-ribbon__right{width:100%;margin-left:0}.atlas-head{flex-direction:column;align-items:start;gap:12px}.atlas-head h2{font-size:30px}.atlas-head p{font-size:14px}.map-legend{gap:14px}.map-controls{top:8px;right:8px}.map-controls button{width:44px;height:44px}.route-inspector{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:7px 0}.route-current-status,.route-inspector h3,.route-inspector__airlines,.route-inspector__metrics,.route-inspector__place,.route-inspector__topline,.route-inspector__years,.route-open-link{grid-area:auto/1}.route-inspector__airlines{margin-top:4px}.route-inspector__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.route-inspector__metrics strong{font-size:clamp(19px,6vw,25px)}.route-open-link{justify-self:start}.history-band{grid-template-columns:minmax(0,1fr);gap:9px;margin-bottom:39px;font-size:14px}.data-index__heading{flex-direction:column;align-items:start;gap:8px}.data-index__heading h2{font-size:27px}.data-index__count{font-size:14px}.table-scroll{display:none}.mobile-record-list{border-top:1px solid var(--line-strong);display:block}.mobile-record{border-bottom:1px solid #e2e1da;padding:12px 0 11px}.mobile-record__top{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;display:grid}.mobile-record__date{color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:flex}.mobile-record__date strong{font-size:14px}.mobile-record__airline small,.mobile-record__airport small,.mobile-record__date span{color:var(--ink-soft);font-size:14px}.mobile-record__airline{text-align:right;flex-direction:column;align-items:flex-end;min-width:0;display:flex}.mobile-record__airline strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.mobile-record__route{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:7px;margin-top:11px;display:grid}.mobile-record__airport{min-width:0;color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.mobile-record__airport--destination{text-align:right;align-items:flex-end}.mobile-record__airport strong{overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:550;line-height:1.4}.mobile-record__airport small{margin-top:2px}.mobile-record__arrow{color:var(--clay-dark);text-align:center}.mobile-record__metrics{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:9px 0 0;padding-top:7px;display:grid}.mobile-record__metrics dt{color:var(--ink-soft);font-size:14px}.mobile-record__metrics dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:14px}.mobile-record__metrics div:last-child dd{font-weight:700}.site-footer{flex-direction:column;align-items:start;gap:12px;padding-block:19px}.site-footer>div:first-child{flex-direction:column;align-items:start;gap:6px}.footer-links{gap:16px}.airport-page{padding-top:19px}.airport-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding-block:32px 24px}.airport-heading h1{font-size:clamp(37px,11vw,55px);line-height:1.08}.airport-heading__location{font-size:14px;line-height:1.7}.airport-heading__location span{border:0;width:fit-content;margin:4px 0 0;padding:0;display:block}.airport-code-stamp strong{font-size:41px}.airport-code-stamp small,.airport-code-stamp span{font-size:14px}.historic-code-note{flex-direction:column;align-items:start;gap:4px;line-height:1.6}.detail-controls{min-height:56px}.detail-controls p{font-size:14px}.direction-switch--compact label{min-width:43px;min-height:30px;font-size:14px}.airport-overview{grid-template-columns:1fr 1fr}.overview-stat{border-bottom:1px solid var(--line);min-height:99px;padding:13px 11px}.overview-stat:nth-child(2){border-right:0}.overview-stat:nth-child(3){border-bottom:0;padding-left:0}.overview-stat:last-child{border-bottom:0}.overview-stat strong{font-size:27px}.detail-main-grid{gap:26px;padding-block:28px 32px}.subsection-heading h2{font-size:24px}.airline-ranking{grid-template-columns:minmax(0,1fr)}.detail-history{margin-top:34px}.detail-source-note{margin-top:-32px}.header-back{font-size:14px}.header-back>span{display:none}.header-back svg{width:19px;height:19px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
