@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_astro/inter-latin-variable.8kRkwJBP.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:300 600;font-display:swap;src:url(/_astro/jetbrains-mono-latin-variable.D000Msq0.woff2)format("woff2");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{color-scheme:light;--font-sans:Inter, "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg:#fbfaf8;--surface:#ffffffe6;--surface-solid:#fff;--surface-soft:#f1efeb;--text:#282826;--muted:#5b5f5c;--faint:#767b78;--line:#2d312f1a;--line-strong:#2d312f2b;--accent:#42786c;--accent-strong:#35665c;--accent-visual:#72ad9e;--accent-soft:#72ad9e1c;--info:#4a708e;--info-soft:#6f96b51c;--violet:#716694;--violet-soft:#9186b51a;--warm:#8f624c;--warm-soft:#c78f6d1a;--emerald:#3f7b5e;--warning:#8a672e;--danger:#9e5359;--shadow:0 24px 70px #2a272314;--type-micro:10px;--type-label:11px;--type-caption:12px;--type-body:13px;--site-shell-max:1080px;--site-shell-gutter:20px;--site-shell-gutter-total:40px;font-family:var(--font-sans);color:var(--text);background:var(--bg);font-synthesis:none}:root.dark{color-scheme:dark;--bg:#11181c;--surface:#1b2328d6;--surface-solid:#1b242a;--surface-soft:#222d33;--text:#eff2f1;--muted:#a6ada9;--faint:#737c78;--line:#d2dad71f;--line-strong:#d2dad733;--accent:#8ac3b5;--accent-strong:#afd8cf;--accent-visual:#75b5a5;--accent-soft:#8ac3b521;--info:#95bbd7;--info-soft:#95bbd71f;--violet:#b2a8d0;--violet-soft:#b2a8d01c;--warm:#d3a98f;--warm-soft:#d3a98f1a;--emerald:#78b797;--warning:#d8b975;--danger:#d18a8e;--shadow:0 28px 80px #03070959}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);min-width:320px}body{isolation:isolate;min-width:320px;color:var(--text);background-color:#fbfaf8;background-image:linear-gradient(#fbfaf8 0%,#f8f7f4 100%);margin:0;transition:color .5s,background-color .5s;position:relative;overflow-x:hidden}.dark body{background-color:#151c21;background-image:linear-gradient(#151c21 0%,#11181c 100%)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}svg,img{display:block}::selection{color:#17352e;background:#72ad9e40}.skip-link{z-index:220;border:2px solid var(--accent);color:var(--text);background:var(--surface-solid);box-shadow:var(--shadow);font-size:var(--type-body);border-radius:10px;padding:10px 14px;text-decoration:none;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 76%, white);outline-offset:3px}.site-shell-max{width:100%;max-width:var(--site-shell-max);margin-inline:auto}.site-shell-padding{padding-inline:var(--site-shell-gutter)}#site-main{z-index:1;position:relative}.site-background{z-index:0;pointer-events:none;width:100%;height:100svh;min-height:760px;position:absolute;top:0;left:0;overflow:hidden}.site-background:after{z-index:2;content:"";background:linear-gradient(180deg,transparent 70%,var(--bg) 100%);position:absolute;inset:0}.site-background #global-network-canvas{z-index:0;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.site-background-light{z-index:1;filter:blur(88px);pointer-events:none;border-radius:50%;transition:background-color 1s,opacity 1s;position:absolute}.site-background-light-sky{opacity:.22;background:#95bbd7;width:390px;height:390px;top:12%;left:-5%}.site-background-light-violet{opacity:.2;background:#716694;width:370px;height:370px;top:22%;right:-4%}.site-background-light-warm{opacity:.18;background:#d39a7a;width:420px;height:330px;bottom:-8%;left:38%}.dark .site-background-light-sky{opacity:.22;background:#729ebd}.dark .site-background-light-violet{opacity:.2;background:#716694}.dark .site-background-light-warm{opacity:.16;background:#d18a8e}.site-footer-logo{background:var(--accent-soft);border:1px solid #72ad9e59;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:inline-grid}.site-footer-logo img{width:20px;height:auto}.site-badge{border:1px solid var(--line);width:fit-content;color:var(--muted);background:var(--surface);backdrop-filter:blur(12px);font-family:var(--font-mono);letter-spacing:.14em;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:8px;display:inline-flex;box-shadow:0 4px 15px #2a27230d}.site-badge span{color:var(--emerald);font-size:13px}.site-footer{z-index:3;border-top:1px solid var(--line);background:var(--surface-solid);padding:72px 0 0;position:relative}.site-footer-grid{width:min(var(--site-shell-max), calc(100% - var(--site-shell-gutter-total)));grid-template-columns:1.5fr repeat(3,1fr);gap:60px;margin:0 auto;display:grid}.footer-intro a{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.footer-intro strong{font-size:13px}.footer-intro em{color:var(--accent);font-style:normal}.site-footer p{color:var(--muted);margin:16px 0 0;font-size:10px;line-height:1.8}.site-footer-grid>div:not(.footer-intro){flex-direction:column;gap:11px;display:flex}.site-footer h2{color:var(--muted);margin:0 0 7px;font-size:10px;font-weight:600}.site-footer-grid a{width:fit-content;color:var(--muted);font-size:10px;text-decoration:none}.site-footer-grid a:hover{color:var(--accent)}.site-footer-bottom{width:min(var(--site-shell-max), calc(100% - var(--site-shell-gutter-total)));border-top:1px solid var(--line);min-height:68px;color:var(--faint);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;align-items:center;margin:56px auto 0;font-size:8px;display:flex}@media (width<=900px){.site-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.site-footer-grid>div:last-child{border-top:1px solid var(--line);grid-column:1/-1;padding-top:20px}}@media (width<=640px){:root{--site-shell-gutter:12px;--site-shell-gutter-total:24px}.site-footer-logo{width:30px;height:30px}.site-background{min-height:850px}.site-background-light-sky{width:280px;height:280px;left:-28%}.site-background-light-violet{width:260px;height:260px;right:-26%}.site-background-light-warm{width:300px;height:250px;bottom:-4%;left:22%}.site-badge{max-width:90%;font-size:7px}.site-footer{padding-top:50px}.site-footer-grid{grid-template-columns:1fr 1fr;gap:40px 24px}.footer-intro,.site-footer-grid>div:last-child{grid-column:1/-1}.site-footer-bottom{flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-badge,.site-footer-bottom{font-size:var(--type-micro)}.site-footer p,.site-footer h2,.site-footer-grid a{font-size:var(--type-caption)}@media (width<=640px){.site-badge{font-size:var(--type-micro)}}.site-header{z-index:100;padding:0 var(--site-shell-gutter);pointer-events:none;justify-content:center;display:flex;position:fixed;top:24px;left:0;right:0}.site-header-stack{width:100%;max-width:var(--site-shell-max);pointer-events:none}.site-header-capsule{backdrop-filter:blur(24px);pointer-events:auto;background:#ffffff73;border:1px solid #e5e1da66;border-radius:999px;justify-content:space-between;align-items:center;gap:18px;width:100%;height:64px;padding:0 24px;transition:background .5s,border-color .5s,box-shadow .5s;display:flex;box-shadow:0 8px 32px #0000000f}.dark .site-header-capsule{background:#222c3366;border-color:#38444d73;box-shadow:0 8px 32px #0000004d}.site-header-brand{align-items:center;gap:10px;text-decoration:none;transition:opacity .3s,transform .3s;display:flex}.site-header-brand:hover{opacity:.9}.site-header-brand:active{transform:scale(.98)}.site-header-logo{flex:none;justify-content:center;align-items:center;width:30px;height:38px;display:flex;position:relative}.site-header-logo:after{content:"";opacity:0;filter:blur(1px);transform-origin:top;pointer-events:none;background:linear-gradient(#fffffff2,#2ab4d5db 30%,#ff4b54ad 67%,#0000);border-radius:999px;width:9px;height:20px;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)scaleY(.45)}.site-header-logo img{z-index:1;filter:drop-shadow(0 2px 2px #1c232829);transform-origin:50% 70%;width:28px;height:auto;position:relative}.site-header-logo.is-flying{z-index:150;pointer-events:none;will-change:transform}.site-header-logo.is-flying:after{animation:.12s ease-in-out .36s infinite alternate site-logo-ignition}.site-header-logo.is-flying img{animation:.22s ease-in-out .36s infinite alternate site-logo-core-pulse}.site-header-brand-text{color:#242624;letter-spacing:.05em;white-space:nowrap;font-size:14px;font-weight:500;transition:color .5s}.site-header-brand-text>span{color:#42786c;transition:color .3s}.dark .site-header-brand-text{color:#fff}.dark .site-header-brand-text>span{color:#95bbd7}.site-header-switcher{backdrop-filter:blur(16px);background:#f2f0ec66;border:1px solid #e5e1da66;border-radius:999px;align-items:center;padding:4px;display:flex}.dark .site-header-switcher{background:#151c2166;border-color:#38444d66}.site-primary-segment,.site-segment{z-index:0;color:#929492;border-radius:999px;justify-content:center;align-items:center;height:36px;font-size:12px;font-weight:500;text-decoration:none;transition:color .18s;display:inline-flex;position:relative}.site-primary-segment{padding:0 20px}.site-primary-segment:hover,.site-segment:hover{color:#242624}.dark .site-primary-segment,.dark .site-segment{color:#929da6}.dark .site-primary-segment:hover,.dark .site-segment:hover{color:#fff}.site-primary-segment>span,.site-segment>span{z-index:1;align-items:center;gap:6px;display:inline-flex;position:relative}.site-primary-segment svg{width:14px;height:14px}.site-primary-segment.active,.site-segment.active{color:#242624;font-weight:600}.dark .site-primary-segment.active,.dark .site-segment.active{color:#fff}.site-segment-bg{z-index:0;border-radius:inherit;background:#ffffffb3;border:1px solid #e5e1da80;position:absolute;inset:0;box-shadow:0 2px 8px #0000000f}.dark .site-segment-bg{background:#38444d80;border-color:#55616b73;box-shadow:inset 0 1px 4px #0000002e}.detail-section-switcher{max-width:590px}.site-segment{padding:0 13px;font-size:10px}.site-segment>span>i{border:1px solid;border-radius:50%;width:5px;height:5px}.site-segment.active>span>i{background:#42786c;border-color:#42786c;box-shadow:0 0 0 4px #42786c1a}.site-segment-back{border-right:1px solid #2d312f1a;border-radius:18px 4px 4px 18px;gap:3px;margin-right:3px;padding:0 10px}.site-segment-back svg{width:13px;height:13px}.site-header-actions{align-items:center;gap:10px;display:flex}.site-theme-switcher{backdrop-filter:blur(12px);cursor:pointer;background:#f2f0ec66;border:1px solid #ddd8d099;border-radius:999px;justify-content:space-between;align-items:center;width:48px;height:24px;padding:2px;transition:transform .18s,background .3s,border-color .3s;display:flex;position:relative}.site-theme-switcher:hover{transform:scale(1.05)}.site-theme-switcher:active{transform:scale(.95)}.dark .site-theme-switcher{background:#303b4366;border-color:#38444d}.site-theme-knob{color:#42786c;backdrop-filter:blur(4px);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;left:2px;box-shadow:0 2px 8px #00000024}.dark .site-theme-knob{color:#fff;background:#729ebd;left:auto;right:2px}.site-theme-knob svg{width:12px;height:12px}.site-theme-sun,.site-theme-moon{width:12px;height:12px;transition:opacity .18s}.site-theme-sun{color:#42786c;opacity:1;margin-left:2px}.site-theme-moon{color:#95bbd7;opacity:.3;margin-right:2px}.dark .site-theme-sun{opacity:.3}.dark .site-theme-moon{opacity:1}.detail-mobile-trigger{color:#535653;cursor:pointer;background:#ffffff6b;border:1px solid #2d312f1f;border-radius:18px;align-items:center;gap:7px;height:34px;padding:0 11px;font-size:10px;display:none}.dark .detail-mobile-trigger{color:#dce1e5;background:#11181c6b;border-color:#d2dad71f}.detail-mobile-trigger i{background:#42786c;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 4px #42786c1a}.detail-mobile-trigger svg{width:13px;height:13px;transition:transform .18s}.detail-mobile-trigger svg.open{transform:rotate(180deg)}.site-header-mobile-menu{backdrop-filter:blur(24px);pointer-events:auto;background:#ffffffe6;border:1px solid #e5e1da66;border-radius:22px;width:min(420px,100%);margin:10px auto 0;padding:8px;display:grid;overflow:hidden;box-shadow:0 8px 32px #00000014}.dark .site-header-mobile-menu{background:#222c33f0;border-color:#38444d73;box-shadow:0 8px 32px #0000004d}.site-header-mobile-menu a{color:#5b5f5c;border-bottom:1px solid #2d312f14;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-size:12px;text-decoration:none;display:flex}.dark .site-header-mobile-menu a{color:#aeb7bf;border-color:#d2dad714}.site-header-mobile-menu a:last-child{border-bottom:0}.site-header-mobile-menu a.active{color:#35665c;background:#72ad9e1c}.dark .site-header-mobile-menu a.active{color:#afd8cf}.site-header-mobile-menu svg{width:14px;height:14px}@keyframes site-logo-ignition{0%{opacity:.62;filter:blur(1px);transform:translate(-50%)scaleY(.6)}to{opacity:1;filter:blur(2.4px);transform:translate(-50%)scaleY(1.18)}}@keyframes site-logo-core-pulse{0%{filter:drop-shadow(-3px 4px 5px #2ab4d580)drop-shadow(3px 4px 5px #ff4b546b)brightness(1.04)}to{filter:drop-shadow(-5px 6px 9px #2ab4d5b3)drop-shadow(5px 6px 9px #ff4b5494)brightness(1.22)saturate(1.16)}}@media (width<=900px){.detail-section-switcher{display:none}.detail-mobile-trigger{display:inline-flex}}@media (width<=640px){.site-header{top:14px}.site-header-capsule{gap:8px;height:56px;padding:0 12px}.site-header-brand{gap:6px}.site-header-brand-text>span{display:none}.site-header-switcher .site-primary-segment{width:38px;padding:0}.site-header-switcher .site-primary-segment>span{justify-content:center;font-size:0}.site-header-switcher .site-primary-segment svg{width:16px;height:16px}}@media (prefers-reduced-motion:reduce){.site-header{opacity:1!important;transform:none!important}.site-header *{transition-duration:.01ms!important}.site-header-logo.is-flying img,.site-header-logo.is-flying:after{animation:none!important}}.site-segment,.detail-mobile-trigger{font-size:var(--type-label)}.site-primary-segment{font-size:var(--type-caption)}.site-header-mobile-menu a{font-size:var(--type-body)}.subpage-hero{place-items:center;min-height:405px;padding:135px 20px 70px;display:grid;position:relative;overflow:hidden}.subpage-hero>div:last-child{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:760px;display:flex;position:relative}.subpage-hero h1{letter-spacing:-.045em;margin:20px 0 0;font-size:clamp(42px,5vw,64px);font-weight:360}.subpage-hero p{max-width:620px;color:var(--muted);margin:18px 0 0;font-size:11px;line-height:1.85}.compare-page-shell{width:min(var(--site-shell-max), calc(100% - var(--site-shell-gutter-total)));margin:0 auto;padding-bottom:120px}.compare-workspace{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:24px;overflow:hidden}.compare-command-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;min-height:94px;padding:20px 26px;display:flex}.compare-command-title{align-items:center;gap:12px;display:flex}.compare-command-title>span{width:38px;height:38px;color:var(--accent);background:var(--accent-soft);border:1px solid #72ad9e59;border-radius:11px;place-items:center;display:grid}.compare-command-title p{gap:6px;margin:0;display:grid}.compare-command-title strong{font-family:var(--font-mono);letter-spacing:.08em;font-size:9px}.compare-command-title small{color:var(--muted);font-size:8px}.compare-add-control{gap:8px;display:flex}.compare-add-control label{display:block}.compare-add-control select,.compare-add-control button{border:1px solid var(--line);height:38px;color:var(--text);background:var(--surface-soft);border-radius:10px;padding:0 12px;font-size:8px}.compare-add-control button{color:#fff;border-color:var(--accent);background:var(--accent);cursor:pointer}.compare-add-control select:disabled,.compare-add-control button:disabled,.compare-column-head button:disabled{opacity:.38;cursor:default}.compare-matrix-scroll{overflow-x:auto}.compare-matrix{min-width:var(--compare-min-width);grid-template-columns:210px repeat(var(--airport-count), minmax(170px, 1fr));display:grid}.compare-axis,.compare-column-head{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:118px;padding:22px;display:flex}.compare-axis span{color:var(--muted);font-size:10px}.compare-axis small{color:var(--faint);margin-top:7px;font-size:7px}.compare-column-head{position:relative}.compare-column-head>span{color:var(--accent);font-family:var(--font-mono);font-size:7px}.compare-column-head strong{margin-top:9px;font-size:16px}.compare-column-head small{color:var(--faint);letter-spacing:.1em;margin-top:5px;font-size:6px}.compare-column-head button{border:1px solid var(--line);width:25px;height:25px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;position:absolute;top:12px;right:12px}.compare-metric-label,.compare-metric-value{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:74px;padding:17px 22px;display:flex}.compare-metric-label.group-start,.compare-metric-value.group-start{border-top:7px solid var(--surface-soft)}.compare-metric-label small{min-height:11px;color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;font-size:6px}.compare-metric-label strong{margin-top:6px;font-size:9px}.compare-metric-value{text-align:center;align-items:center}.compare-metric-value strong{color:var(--accent);font-size:14px;font-weight:430}.compare-metric-value small{color:var(--faint);margin-top:5px;font-size:7px}.compare-integrity-note{background:linear-gradient(90deg, var(--accent-soft), transparent);align-items:center;gap:13px;min-height:84px;padding:20px 28px;display:flex}.compare-integrity-note p{gap:6px;margin:0;display:grid}.compare-integrity-note strong{font-size:9px}.compare-integrity-note small{color:var(--muted);font-size:8px}.method-page-shell{width:min(var(--site-shell-max), calc(100% - var(--site-shell-gutter-total)));margin:0 auto;padding:40px 0 130px}.method-principle{border-bottom:1px solid var(--line);grid-template-columns:.65fr 1.4fr .75fr;align-items:start;gap:50px;padding:80px 0 100px;display:grid}.method-principle>span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;font-size:8px}.method-principle blockquote{letter-spacing:-.04em;margin:0;font-size:clamp(32px,4vw,54px);font-weight:330;line-height:1.25}.method-principle blockquote em{color:var(--accent);font-style:normal}.method-principle>p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.9}.method-layer-grid{grid-template-columns:repeat(3,1fr);gap:16px;padding:90px 0;display:grid}.method-layer-grid article{border:1px solid var(--line);background:var(--surface);border-radius:19px;flex-direction:column;align-items:flex-start;min-height:340px;padding:28px;display:flex}.method-layer-grid article>span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;font-size:7px}.method-layer-grid i{border:1px solid var(--line);width:50px;height:50px;color:var(--accent);border-radius:50%;place-items:center;margin-top:48px;font-size:17px;font-style:normal;display:grid}.method-layer-grid h2{margin:22px 0 0;font-size:19px;font-weight:480}.method-layer-grid p{color:var(--muted);margin:14px 0 0;font-size:9px;line-height:1.9}.method-layer-grid small{color:var(--faint);font-family:var(--font-mono);letter-spacing:.12em;margin-top:auto;font-size:6px}.method-pipeline{border-top:1px solid var(--line);grid-template-columns:.75fr 1.25fr;gap:90px;padding:80px 0;display:grid}.method-pipeline header>span,.method-limit>span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;font-size:8px}.method-pipeline h2{letter-spacing:-.04em;margin:17px 0 0;font-size:34px;font-weight:430}.method-pipeline header p{color:var(--muted);margin:18px 0 0;font-size:9px;line-height:1.9}.method-pipeline ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.method-pipeline li{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr;align-items:center;min-height:100px;display:grid}.method-pipeline li i{color:var(--accent);font-family:var(--font-mono);font-size:8px;font-style:normal}.method-pipeline li div{gap:8px;display:grid}.method-pipeline li strong{font-size:10px}.method-pipeline li p{color:var(--muted);margin:0;font-size:8px}.method-limit{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent-soft), var(--surface));border-radius:22px;grid-template-columns:.45fr 1.4fr;gap:50px;padding:50px;display:grid}.method-limit h2{margin:0;font-size:24px;font-weight:450}.method-limit p{color:var(--muted);margin:13px 0 0;font-size:10px;line-height:1.8}.info-page-hero{min-height:450px}.info-page-shell{width:min(760px, calc(100% - var(--site-shell-gutter-total)));margin:0 auto;padding:20px 0 130px}.info-page-shell>section{border-bottom:1px solid var(--line);padding:48px 0}.info-page-shell>section>span{color:var(--accent);font-family:var(--font-mono);font-size:var(--type-micro);letter-spacing:.1em}.info-page-shell h2{letter-spacing:-.03em;margin:13px 0 0;font-size:clamp(24px,3.5vw,34px);font-weight:430;line-height:1.35}.info-page-shell p{color:var(--muted);margin:18px 0 0;font-size:15px;line-height:2}.info-page-shell a{color:var(--accent-strong);text-underline-offset:4px}.info-page-shell code{overflow-wrap:anywhere;border:1px solid var(--line);color:var(--info);background:var(--info-soft);font-family:var(--font-mono);border-radius:5px;padding:2px 6px;font-size:.86em}.info-page-shell .info-page-lead{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface), var(--info-soft));border-radius:22px;padding:42px}.info-page-shell .info-page-lead p{color:var(--text);margin:0;font-size:clamp(19px,2.5vw,25px);font-weight:390;line-height:1.7}.info-page-shell .info-page-notice{border:1px solid color-mix(in srgb, var(--danger) 24%, var(--line));background:linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--danger) 7%, var(--surface)));border-radius:20px;margin-top:48px;padding:36px 40px}.info-page-shell .info-page-notice>span{color:var(--danger)}.error-page #site-main{min-height:100svh}.error-page-shell{min-height:100svh;padding:130px var(--site-shell-gutter) 90px;place-items:center;display:grid}.error-page-panel{border:1px solid var(--line-strong);background:linear-gradient(145deg, var(--surface-solid), color-mix(in srgb, var(--surface-solid) 91%, var(--violet)));width:min(620px,100%);box-shadow:var(--shadow);text-align:center;border-radius:28px;padding:62px 54px}.error-page-panel>span{color:var(--violet);font-family:var(--font-mono);font-size:var(--type-caption);letter-spacing:.18em}.error-page-panel h1{letter-spacing:-.04em;margin:20px 0 0;font-size:clamp(34px,6vw,48px);font-weight:500}.error-page-panel p{color:var(--muted);font-size:var(--type-body);margin:18px auto 0;line-height:1.8}.error-page-panel nav{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:34px;display:flex}.error-page-panel a{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--line));min-height:42px;color:var(--accent-strong);background:var(--accent-soft);font-size:var(--type-caption);border-radius:12px;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.compare-integrity-note{background:linear-gradient(90deg, var(--info-soft), transparent)}.compare-integrity-note>span{color:var(--info)}.method-layer-grid article{--section-accent:var(--accent);--section-soft:var(--accent-soft);background:linear-gradient(145deg, var(--surface) 66%, var(--section-soft))}.method-layer-grid article:nth-child(2){--section-accent:var(--info);--section-soft:var(--info-soft)}.method-layer-grid article:nth-child(3){--section-accent:var(--violet);--section-soft:var(--violet-soft)}.method-layer-grid article>span,.method-layer-grid article i{color:var(--section-accent)}.method-limit{background:linear-gradient(135deg, var(--violet-soft), var(--surface) 56%, var(--accent-soft))}.dark .compare-add-control button{color:#11181c}.redirect-page #site-main{min-height:100svh}.go-shell{min-height:100svh;padding:130px var(--site-shell-gutter) 90px;place-items:center;display:grid}.go-panel{isolation:isolate;border:1px solid var(--line-strong);background:linear-gradient(145deg,var(--surface-solid),color-mix(in srgb,var(--surface-solid) 90%,var(--info)));width:min(560px,100%);min-height:360px;box-shadow:var(--shadow);text-align:center;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;padding:56px;display:flex;position:relative;overflow:hidden}.go-panel:before{z-index:-1;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);width:300px;height:300px;box-shadow:0 0 0 44px color-mix(in srgb,var(--info) 6%,transparent),0 0 0 88px color-mix(in srgb,var(--violet) 4%,transparent);content:"";border-radius:50%;position:absolute;top:-190px;right:-110px}.go-airport-name{color:var(--accent);font-family:var(--font-mono);font-size:var(--type-caption);letter-spacing:.08em;margin:26px 0 0}.go-panel h1{letter-spacing:-.04em;margin:12px 0 0;font-size:clamp(28px,5vw,42px);font-weight:520}.go-note{max-width:420px;color:var(--muted);font-size:var(--type-body);margin:16px 0 0;line-height:1.8}.go-panel>a{border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));height:42px;color:var(--accent-strong);background:var(--accent-soft);border-radius:12px;align-items:center;margin-top:28px;padding:0 18px;font-size:10px;text-decoration:none;transition:transform .18s,border-color .18s;display:inline-flex}.go-panel>a:hover{border-color:var(--accent);transform:translateY(-2px)}.go-signal{border:1px solid color-mix(in srgb,var(--info) 28%,var(--line));background:color-mix(in srgb,var(--surface-solid) 86%,var(--info));width:62px;height:62px;box-shadow:0 0 0 10px color-mix(in srgb,var(--info) 5%,transparent);border-radius:50%;place-items:center;display:grid;position:relative}.go-signal:before{border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);content:"";border-radius:50%;animation:4s linear infinite go-orbit;position:absolute;inset:10px}.go-signal i{background:var(--accent);width:5px;height:5px;box-shadow:0 0 12px var(--accent);border-radius:50%;position:absolute}.go-signal i:first-child{transform:translateY(-16px)}.go-signal i:nth-child(2){opacity:.65;transform:translate(14px,8px)}.go-signal i:nth-child(3){opacity:.35;transform:translate(-14px,8px)}@keyframes go-orbit{to{transform:rotate(360deg)}}@media (width<=900px){.method-principle{grid-template-columns:1fr 1fr}.method-principle>p{grid-column:2}.method-pipeline{gap:45px}}@media (width<=640px){.subpage-hero{min-height:370px;padding-top:125px}.subpage-hero h1{font-size:38px}.compare-page-shell{width:calc(100% - var(--site-shell-gutter-total))}.compare-command-bar{flex-direction:column;align-items:stretch}.compare-add-control{grid-template-columns:1fr auto;display:grid}.compare-add-control select{width:100%}.compare-integrity-note{align-items:flex-start}.method-page-shell{width:calc(100% - var(--site-shell-gutter-total));padding-top:0}.method-principle{padding:65px 0;display:block}.method-principle blockquote{margin-top:30px;font-size:36px}.method-principle>p{margin-top:30px}.method-layer-grid{grid-template-columns:1fr;padding:65px 0}.method-layer-grid article{min-height:285px}.method-layer-grid i{margin-top:35px}.method-pipeline{padding:65px 0;display:block}.method-pipeline ol{margin-top:45px}.method-limit{padding:32px 24px;display:block}.method-limit>div{margin-top:24px}.info-page-hero{min-height:390px}.info-page-shell{padding:0 0 90px}.info-page-shell>section{padding:38px 0}.info-page-shell p{font-size:14px;line-height:1.9}.info-page-shell .info-page-lead,.info-page-shell .info-page-notice{border-radius:18px;padding:28px 22px}.info-page-shell .info-page-notice{margin-top:38px}.error-page-shell{padding:100px var(--site-shell-gutter) 70px}.error-page-panel{border-radius:22px;padding:46px 22px}.error-page-panel nav{display:grid}.error-page-panel a{justify-content:center}.go-shell{padding:100px var(--site-shell-gutter) 70px}.go-panel{border-radius:22px;min-height:280px;padding:38px 20px}}.compare-command-title small,.compare-add-control select,.compare-add-control button,.compare-axis small,.compare-column-head>span,.compare-column-head small,.compare-metric-label small,.compare-metric-value small,.compare-integrity-note small,.method-principle>span,.method-layer-grid article>span,.method-layer-grid small,.method-pipeline header>span,.method-limit>span,.method-pipeline header p,.method-pipeline li i,.method-pipeline li p{font-size:var(--type-micro);line-height:1.5}.compare-command-title strong,.compare-axis span,.compare-metric-label strong,.compare-integrity-note strong,.method-principle>p,.method-layer-grid p,.method-pipeline li strong,.method-limit p{font-size:var(--type-label);line-height:1.75}.go-panel>a{font-size:var(--type-caption)}.airport-detail{width:min(var(--site-shell-max),calc(100% - var(--site-shell-gutter-total)));margin:0 auto;padding:116px 0 120px}.airport-detail-hero{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-solid) 45%,var(--accent-soft));box-shadow:var(--shadow);border-radius:28px;grid-template-columns:1fr auto;gap:30px 46px;padding:46px;display:grid;position:relative;overflow:hidden}.airport-detail-hero:after{border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);width:360px;height:360px;box-shadow:0 0 0 54px color-mix(in srgb,var(--info) 4%,transparent),0 0 0 108px color-mix(in srgb,var(--violet) 3%,transparent);content:"";pointer-events:none;border-radius:50%;position:absolute;top:-210px;right:-120px}.airport-detail-hero-copy{z-index:1;position:relative}.airport-detail-tags{flex-wrap:wrap;gap:6px;display:flex}.airport-detail-tags span{border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-strong);background:var(--accent-soft);border-radius:6px;padding:5px 8px;font-size:8px}.airport-detail-tags span:nth-child(2),.airport-detail-tags span:nth-child(3),.airport-detail-tags span:nth-child(4){color:var(--violet);border-color:color-mix(in srgb,var(--violet) 22%,transparent);background:var(--violet-soft)}.airport-detail-tags span:last-child{color:var(--warm);border-color:color-mix(in srgb,var(--warm) 22%,transparent);background:var(--warm-soft)}.airport-detail-hero h1{letter-spacing:-.055em;margin:28px 0 0;font-size:clamp(38px,5vw,60px);font-weight:520}.airport-detail-lead{max-width:620px;color:var(--muted);margin:17px 0 0;font-size:13px;line-height:1.8}.airport-detail-gateway-link{--link-tone:var(--accent);isolation:isolate;border:1px solid color-mix(in srgb,var(--link-tone) 44%,var(--line));width:min(280px,100%);height:48px;color:var(--text);background:linear-gradient(110deg,color-mix(in srgb,var(--surface-solid) 80%,var(--link-tone)),color-mix(in srgb,var(--surface-solid) 88%,var(--link-tone)) 56%,color-mix(in srgb,var(--surface-solid) 76%,var(--info)));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-solid) 75%,transparent),0 10px 26px color-mix(in srgb,var(--link-tone) 14%,transparent);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:20px;padding:0 7px 0 15px;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,box-shadow .22s,background .22s;display:grid;position:relative;overflow:hidden}.airport-detail-gateway-link:before{z-index:-1;content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--info) 18%,transparent),color-mix(in srgb,var(--accent) 22%,transparent),transparent);width:42%;transition:left .65s cubic-bezier(.22,1,.36,1);position:absolute;inset:-60% auto -60% -55%;transform:skew(-18deg)}.airport-detail-gateway-link:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--link-tone) 65%,transparent),transparent);opacity:.62;height:1px;transition:transform .3s,opacity .3s;position:absolute;bottom:8px;left:52px;right:52px;transform:scaleX(.35)}.airport-detail-gateway-link:hover{border-color:color-mix(in srgb,var(--link-tone) 68%,var(--line));background:linear-gradient(110deg,color-mix(in srgb,var(--surface-solid) 72%,var(--link-tone)),color-mix(in srgb,var(--surface-solid) 82%,var(--link-tone)) 56%,color-mix(in srgb,var(--surface-solid) 68%,var(--info)));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-solid) 70%,transparent),0 15px 34px color-mix(in srgb,var(--link-tone) 20%,transparent);transform:translateY(-2px)}.airport-detail-gateway-link:hover:before{left:115%}.airport-detail-gateway-link:hover:after{opacity:.95;transform:scaleX(1)}.airport-detail-gateway-link:active{transform:translateY(0)scale(.99)}.airport-detail-gateway-link>strong{letter-spacing:.08em;font-size:11px;font-weight:650}.airport-detail-gateway-signal{border:1px solid color-mix(in srgb,var(--link-tone) 38%,transparent);background:color-mix(in srgb,var(--link-tone) 15%,transparent);border-radius:50%;place-items:center;width:23px;height:23px;display:grid;position:relative}.airport-detail-gateway-signal:before{border:1px solid color-mix(in srgb,var(--link-tone) 30%,transparent);content:"";border-radius:50%;animation:3.2s linear infinite airport-detail-link-orbit;position:absolute;inset:4px}.airport-detail-gateway-signal i{background:var(--link-tone);width:3px;height:3px;box-shadow:0 0 8px var(--link-tone);border-radius:50%;position:absolute}.airport-detail-gateway-signal i:first-child{transform:translateY(-5px)}.airport-detail-gateway-signal i:nth-child(2){opacity:.62;transform:translate(5px,3px)}.airport-detail-gateway-signal i:nth-child(3){opacity:.35;transform:translate(-5px,3px)}.airport-detail-gateway-arrow{border:1px solid color-mix(in srgb,var(--link-tone) 30%,var(--line));width:34px;height:34px;color:var(--link-tone);background:color-mix(in srgb,var(--surface-solid) 72%,var(--link-tone));border-radius:10px;place-items:center;transition:color .22s,background .22s,transform .22s cubic-bezier(.22,1,.36,1);display:grid}.airport-detail-gateway-arrow svg{width:14px;height:14px}.airport-detail-gateway-link:hover .airport-detail-gateway-arrow{color:var(--surface-solid);background:var(--link-tone);transform:translate(1px,-1px)}.airport-detail-gateway-link.pending{--link-tone:var(--info)}@keyframes airport-detail-link-orbit{to{transform:rotate(360deg)}}.airport-detail-hero-spacer{z-index:1;width:220px;position:relative}.airport-detail-evaluation-grid{border:1px solid var(--line);background:var(--line);border-radius:18px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden;box-shadow:0 16px 38px #3741510f}.airport-detail-evaluation-dimension{--dimension:var(--accent);--dimension-soft:var(--accent-soft);min-width:0;min-height:260px;color:inherit;background:linear-gradient(155deg,var(--surface-solid) 62%,color-mix(in srgb,var(--surface-solid) 78%,var(--dimension)));flex-direction:column;padding:19px;text-decoration:none;transition:background .2s;display:flex}.airport-detail-evaluation-dimension:hover{z-index:1;background:linear-gradient(155deg,var(--surface-solid) 46%,color-mix(in srgb,var(--surface-solid) 68%,var(--dimension)))}.airport-detail-evaluation-dimension:focus-visible{z-index:2;outline:2px solid var(--dimension);outline-offset:-3px}.airport-detail-evaluation-dimension header{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.airport-detail-evaluation-icon{border:1px solid color-mix(in srgb,var(--dimension) 24%,transparent);width:34px;height:34px;color:var(--dimension);background:var(--dimension-soft);border-radius:10px;place-items:center;display:grid}.airport-detail-evaluation-icon svg{width:16px;height:16px}.airport-detail-evaluation-dimension header p{gap:2px;margin:0;display:grid}.airport-detail-evaluation-dimension header small{color:var(--faint);font-family:var(--font-mono);letter-spacing:.1em;font-size:6.5px}.airport-detail-evaluation-dimension header strong{font-size:10px;font-weight:650}.airport-detail-evaluation-dimension header em{color:var(--dimension);background:var(--dimension-soft);white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:7px;font-style:normal;font-weight:650}.airport-detail-evaluation-dimension h2{color:var(--text);letter-spacing:-.035em;margin:22px 0 0;font-size:22px;font-weight:540;line-height:1.2}.airport-detail-evaluation-copy{color:var(--muted);margin:10px 0 0;font-size:8px;line-height:1.75}.airport-detail-evaluation-dimension dl{border-top:1px solid color-mix(in srgb,var(--dimension) 17%,var(--line));gap:9px;margin:auto 0 0;padding-top:17px;display:grid}.airport-detail-evaluation-dimension dl>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.airport-detail-evaluation-dimension dt{color:var(--faint);font-size:7px}.airport-detail-evaluation-dimension dd{color:var(--text);font-family:var(--font-mono);text-align:right;margin:0;font-size:8px;font-weight:600}.airport-detail-evaluation-dimension footer{color:var(--dimension);justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.airport-detail-evaluation-dimension footer span{font-size:7px;line-height:1.45}.airport-detail-evaluation-dimension footer svg{flex:none;width:14px;height:14px;transition:transform .18s}.airport-detail-evaluation-dimension:hover footer svg{transform:translate(2px,-2px)}.airport-detail-section{padding-top:92px;scroll-margin-top:130px}.airport-detail-section-title{grid-template-columns:40px 1fr minmax(240px,390px);align-items:center;gap:16px;margin-bottom:28px;display:grid}.airport-detail-section-title>span{border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);width:36px;height:36px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.airport-detail-section-title>span svg{stroke-width:1.8px;width:17px;height:17px}.airport-detail-section-title small{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;font-size:8px}.airport-detail-section-title h2{letter-spacing:-.045em;margin:8px 0 0;font-size:clamp(25px,3vw,36px);font-weight:530}.airport-detail-section-title>p{color:var(--muted);margin:0 0 4px;font-size:10px;line-height:1.8}.airport-detail-quick-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.airport-detail-overview-card{--quick:var(--accent);--quick-soft:var(--accent-soft);border:1px solid var(--line);background:linear-gradient(145deg,var(--surface) 58%,var(--quick-soft));min-height:190px;box-shadow:0 12px 32px color-mix(in srgb,var(--quick) 5%,transparent);border-radius:18px;padding:18px;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}.airport-detail-overview-card.warm{--quick:var(--warm);--quick-soft:var(--warm-soft)}.airport-detail-overview-card:hover{border-color:color-mix(in srgb,var(--quick) 35%,var(--line));box-shadow:0 16px 38px color-mix(in srgb,var(--quick) 10%,transparent);transform:translateY(-2px)}.airport-detail-overview-head{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.airport-detail-overview-head>svg{border:1px solid color-mix(in srgb,var(--quick) 23%,transparent);width:30px;height:30px;color:var(--quick);background:var(--quick-soft);border-radius:9px;padding:7px}.airport-detail-overview-head>span{font-size:10px;font-weight:650}.airport-detail-overview-head>em{color:var(--quick);font-family:var(--font-mono);letter-spacing:.04em;font-size:8px;font-style:normal}.airport-detail-overview-card>p{color:var(--muted);margin:15px 0 0;font-size:9px;line-height:1.65}.airport-detail-line-map{margin-top:13px}.airport-detail-line-map-empty{min-height:108px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.airport-detail-line-map-empty svg{width:22px;height:22px;color:var(--quick)}.airport-detail-line-map-empty strong{color:var(--text);font-size:var(--type-label)}.airport-detail-line-entry{border:1px solid color-mix(in srgb,var(--quick) 30%,var(--line));background:linear-gradient(110deg,color-mix(in srgb,var(--surface-solid) 78%,var(--quick)),var(--quick-soft));min-height:44px;box-shadow:0 8px 22px color-mix(in srgb,var(--quick) 9%,transparent);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:7px 10px;display:grid}.airport-detail-line-entry>span{width:29px;height:29px;color:var(--surface-solid);background:var(--quick);box-shadow:0 0 0 4px color-mix(in srgb,var(--quick) 12%,transparent);border-radius:9px;place-items:center;display:grid}.airport-detail-line-entry svg{width:15px;height:15px}.airport-detail-line-entry p{gap:1px;margin:0;display:grid}.airport-detail-line-entry small{color:var(--muted);font-size:7px}.airport-detail-line-entry strong{color:var(--quick);font-family:var(--font-mono);letter-spacing:.02em;font-size:13px}.airport-detail-line-branch{height:20px;margin:0 12%;position:relative}.airport-detail-line-branch:before{content:"";background:linear-gradient(var(--quick),color-mix(in srgb,var(--quick) 45%,var(--line)));width:1px;position:absolute;top:0;bottom:8px;left:50%}.airport-detail-line-branch:after{content:"";background:linear-gradient(90deg,var(--info),var(--quick),var(--info));height:1px;position:absolute;bottom:7px;left:0;right:0}.airport-detail-line-branch i{z-index:1;border:1px solid var(--quick);background:var(--surface-solid);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.airport-detail-line-branch i:first-child{left:-2px}.airport-detail-line-branch i:nth-child(2){left:calc(50% - 2px)}.airport-detail-line-branch i:nth-child(3){right:-2px}.airport-detail-line-branch b{z-index:2;background:var(--quick);width:5px;height:5px;box-shadow:0 0 9px var(--quick);border-radius:50%;animation:2.8s ease-in-out infinite airport-detail-line-branch-flow;position:absolute;bottom:5px;left:0}.airport-detail-line-routes{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.airport-detail-line-routes>span{border:1px solid color-mix(in srgb,var(--info) 22%,var(--line));background:color-mix(in srgb,var(--surface-solid) 88%,var(--info));border-radius:9px;grid-template-columns:auto 1fr;align-items:center;gap:0 4px;min-width:0;padding:7px 5px;transition:border-color .18s,transform .18s;display:grid}.airport-detail-line-routes>span:hover{border-color:color-mix(in srgb,var(--info) 48%,var(--line));transform:translateY(-1px)}.airport-detail-line-routes svg{width:12px;height:12px;color:var(--info);grid-row:1/3}.airport-detail-line-routes b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.airport-detail-line-routes small{color:var(--info);font-family:var(--font-mono);font-size:6.5px}.airport-detail-overview-speeds{gap:11px;margin-top:18px;display:grid}.airport-detail-overview-speeds>div{--carrier:var(--accent);grid-template-columns:29px 1fr 76px;align-items:center;gap:8px;display:grid}.airport-detail-overview-speeds>div.blue{--carrier:var(--info)}.airport-detail-overview-speeds>div.violet{--carrier:var(--violet)}.airport-detail-overview-speeds span{color:var(--muted);font-size:9px}.airport-detail-overview-speed-track{background:color-mix(in srgb,var(--carrier) 9%,var(--line));border-radius:999px;height:8px;overflow:hidden}.airport-detail-overview-speed-track i{width:var(--bar);border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--carrier) 45%,transparent),var(--carrier));height:100%;box-shadow:0 0 10px color-mix(in srgb,var(--carrier) 28%,transparent);animation:.7s cubic-bezier(.22,1,.36,1) both airport-detail-speed-reveal;display:block}.airport-detail-overview-speeds strong{color:var(--carrier);font-family:var(--font-mono);text-align:right;font-size:12px}.airport-detail-overview-speeds strong small{color:var(--faint);margin-left:3px;font-size:7px;font-weight:500}.airport-detail-capability-grid{gap:7px;margin-top:13px;display:grid}.airport-detail-capability-state{--state:var(--faint);border:1px solid color-mix(in srgb,var(--state) 18%,var(--line));background:color-mix(in srgb,var(--surface-solid) 91%,var(--state));border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;min-height:66px;padding:8px 10px;display:grid}.airport-detail-capability-state.available{--state:var(--emerald)}.airport-detail-capability-state.partial{--state:var(--warning)}.airport-detail-capability-state.unavailable{--state:var(--danger)}.airport-detail-capability-icon{width:29px;height:29px;color:var(--state);background:color-mix(in srgb,var(--state) 11%,transparent);border-radius:8px;grid-row:1/3;place-items:center;display:grid}.airport-detail-capability-icon svg{width:15px;height:15px}.airport-detail-capability-state p{grid-template-columns:auto 1fr;align-items:baseline;gap:7px;min-width:0;margin:0;display:grid}.airport-detail-capability-state small{color:var(--faint);font-size:8px}.airport-detail-capability-state strong{color:var(--state);font-family:var(--font-mono);white-space:nowrap;justify-self:end;align-items:baseline;gap:4px;font-size:14px;display:flex}.airport-detail-capability-state strong span{color:var(--muted);font-family:var(--font-sans);font-size:7px;font-weight:550}.airport-detail-capability-meter{grid-column:2;grid-template-columns:1fr auto;align-items:center;gap:7px;display:grid}.airport-detail-capability-meter>span{background:color-mix(in srgb,var(--state) 10%,var(--line));border-radius:999px;height:5px;overflow:hidden}.airport-detail-capability-meter i{width:var(--bar);border-radius:inherit;background:var(--state);height:100%;box-shadow:0 0 8px color-mix(in srgb,var(--state) 30%,transparent);animation:.7s cubic-bezier(.22,1,.36,1) both airport-detail-speed-reveal;display:block}.airport-detail-capability-meter b{min-width:43px;color:var(--muted);font-family:var(--font-mono);text-align:right;font-size:6.5px;font-weight:500}.airport-detail-flat-metrics{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid;position:relative}.airport-detail-flat-metrics:after{content:"";background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--quick) 28%,var(--line)) 28%,color-mix(in srgb,var(--quick) 28%,var(--line)) 72%,transparent);pointer-events:none;width:1px;position:absolute;top:10px;bottom:8px;left:50%;transform:translate(-.5px)}.airport-detail-flat-metric{--metric:var(--quick);grid-template-rows:auto 1fr;gap:10px;min-width:0;min-height:104px;padding:14px 15px 0;display:grid}.airport-detail-flat-label{color:var(--metric);align-items:center;gap:7px;display:flex}.airport-detail-flat-label svg{stroke-width:1.8px;flex:none;width:15px;height:15px}.airport-detail-flat-label small{color:var(--muted);font-size:var(--type-label);white-space:nowrap;font-weight:600}.airport-detail-flat-value{color:var(--metric);font-family:var(--font-mono);letter-spacing:-.03em;place-self:center;align-items:baseline;gap:4px;font-size:25px;font-weight:540;line-height:1;display:flex}.airport-detail-flat-value em{color:var(--muted);font-size:var(--type-micro);letter-spacing:0;font-style:normal;font-weight:500}.airport-detail-flat-value sup{font-size:var(--type-label)}.airport-detail-flat-copy{max-width:132px;color:var(--text);font-size:var(--type-label);text-align:center;flex-wrap:wrap;justify-content:center;place-self:center;align-items:center;gap:3px 9px;margin:0;font-weight:600;line-height:1.45;display:flex}.airport-detail-flat-copy span{white-space:nowrap}.airport-detail-concurrency-metric{--metric:var(--faint)}.airport-detail-concurrency-metric.limited{--metric:var(--warm)}.airport-detail-concurrency-metric.unlimited{--metric:var(--accent)}.airport-detail-plan-metric{--metric:var(--quick)}.airport-detail-operation-metric{--metric:var(--info)}.airport-detail-operation-metric.unknown{--metric:var(--faint)}@keyframes airport-detail-route-packet{0%{opacity:0;left:0}15%,80%{opacity:1}to{opacity:0;left:calc(100% - 5px)}}@keyframes airport-detail-line-branch-flow{0%{opacity:0;left:0}15%,80%{opacity:1}to{opacity:0;left:calc(100% - 5px)}}@keyframes airport-detail-speed-reveal{0%{width:0}to{width:var(--bar)}}.airport-detail-card{border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(16px);border-radius:20px;box-shadow:0 12px 40px #2a27230b}.airport-detail-card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:16px 20px;display:flex}.airport-detail-card-head>p{align-items:center;gap:11px;margin:0;display:flex}.airport-detail-card-head p>span{gap:4px;display:grid}.airport-detail-card-head small{color:var(--faint);font-size:7px}.airport-detail-card-head strong{font-size:11px}.airport-detail-card-head em{color:var(--muted);font-size:8px;font-style:normal}.airport-detail-route-card{overflow:hidden}.airport-detail-route{align-items:center;padding:38px 28px;display:flex}.airport-detail-route>div{text-align:center;justify-items:center;gap:10px;min-width:150px;display:grid}.airport-detail-route>div>span{border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);width:76px;height:32px;color:var(--accent-strong);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-solid) 78%,var(--accent)),var(--accent-soft));box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 10%,transparent);font-size:var(--type-label);letter-spacing:.06em;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-weight:700;display:flex}.airport-detail-route>div>span svg{stroke-width:1.8px;width:13px;height:13px}.airport-detail-route small{color:var(--faint);margin-top:5px;font-size:7px}.airport-detail-route strong{font-size:10px}.airport-detail-route p{color:var(--muted);margin:0;font-size:7px}.airport-detail-route>b{background:linear-gradient(90deg,var(--line),var(--accent),var(--line));flex:1;height:1px;margin:0 5px}.airport-detail-route-empty,.airport-detail-plan-empty{min-height:180px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:9px;padding:32px;display:grid}.airport-detail-route-empty>svg,.airport-detail-plan-empty>svg{width:24px;height:24px;color:var(--section-tone)}.airport-detail-route-empty>strong,.airport-detail-plan-empty>strong{color:var(--text);font-size:var(--type-body)}.airport-detail-route-empty>p,.airport-detail-plan-empty>p{font-size:var(--type-label);margin:0;line-height:1.65}.airport-detail-plan-card,.airport-detail-region-card,.airport-detail-unlock-card{margin-top:12px;overflow:hidden}.airport-detail-table-wrap{width:100%;overflow-x:auto}.airport-detail-card table{border-collapse:collapse;width:100%}.airport-detail-card th,.airport-detail-card td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:14px 18px}.airport-detail-card th{color:var(--faint);background:var(--surface-soft);letter-spacing:.05em;font-size:7px;font-weight:500}.airport-detail-card td{color:var(--muted);font-size:9px}.airport-detail-card tbody tr:last-child td{border-bottom:0}.airport-detail-card td strong{color:var(--text)}.airport-detail-price{font-weight:650;color:var(--accent)!important}.airport-detail-rec{color:var(--accent);background:var(--accent-soft);border-radius:5px;margin-left:8px;padding:3px 5px;font-size:7px}.airport-detail-carrier-tabs{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.airport-detail-carrier-tabs button{--carrier:var(--accent);--carrier-soft:var(--accent-soft);border:1px solid var(--line);min-height:82px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer;border-radius:15px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;transition:all .18s;display:grid}.airport-detail-carrier-tabs button.blue{--carrier:var(--info);--carrier-soft:var(--info-soft)}.airport-detail-carrier-tabs button.violet{--carrier:var(--violet);--carrier-soft:var(--violet-soft)}.airport-detail-carrier-tabs button:hover,.airport-detail-carrier-tabs button.active{border-color:color-mix(in srgb,var(--carrier) 55%,transparent);background:var(--carrier-soft);transform:translateY(-2px)}.airport-detail-carrier-tabs p{gap:5px;margin:0;display:grid}.airport-detail-carrier-tabs strong{font-size:10px}.airport-detail-carrier-tabs small{color:var(--muted);font-size:7px}.airport-detail-carrier-tabs em{color:var(--carrier);font-size:24px;font-style:normal}.airport-detail-performance-summary{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:1.3fr repeat(4,1fr);margin-top:10px;display:grid;overflow:hidden}.airport-detail-performance-summary article{border-right:1px solid var(--line);align-content:center;gap:5px;min-height:86px;padding:16px;display:grid}.airport-detail-performance-summary article:last-child{border-right:0}.airport-detail-performance-summary small{color:var(--faint);font-size:7px}.airport-detail-performance-summary span{color:var(--muted);font-size:7px}.airport-detail-region-table{table-layout:fixed;min-width:900px}.airport-detail-region-col-name{width:17%}.airport-detail-region-col-tested{width:14%}.airport-detail-region-col-tls{width:11%}.airport-detail-region-col-https{width:12%}.airport-detail-region-col-speed{width:23%}.airport-detail-region-col-peak{width:12%}.airport-detail-region-col-udp{width:11%}.airport-detail-region-table td:first-child{min-width:130px}.airport-detail-flag{margin-right:9px;font-size:14px}.airport-detail-online{color:var(--emerald)}.airport-detail-offline{color:var(--danger)}.airport-detail-speed{background:var(--surface-soft);border-radius:6px;align-items:center;width:160px;height:25px;display:flex;position:relative;overflow:hidden}.airport-detail-speed i{background:linear-gradient(90deg,var(--accent-soft),color-mix(in srgb,var(--accent) 25%,transparent));height:100%;position:absolute;inset:0 auto 0 0}.airport-detail-speed span{z-index:1;color:var(--text);padding-left:8px;font-size:8px;position:relative}.airport-detail-region-table-toggle th{cursor:pointer;transition:background .16s}.airport-detail-region-table-toggle:hover th{background:color-mix(in srgb,var(--surface-solid) 82%,var(--section-tone))}.airport-detail-region-table-toggle button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.airport-detail-region-table-toggle button:focus-visible{outline:2px solid var(--section-tone);outline-offset:3px;border-radius:3px}.airport-detail-region-table-toggle svg{width:13px;height:13px;color:var(--section-tone);transition:transform .18s}.airport-detail-region-table-toggle svg.is-collapsed{transform:rotate(-90deg)}.airport-detail-region-group td{background:color-mix(in srgb,var(--surface-solid) 92%,var(--section-tone));padding:0!important}.airport-detail-region-group button{width:100%;min-height:42px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 18px;display:flex}.airport-detail-region-group button:hover{background:color-mix(in srgb,var(--surface-solid) 86%,var(--section-tone))}.airport-detail-region-group button:focus-visible{outline:2px solid var(--section-tone);outline-offset:-2px}.airport-detail-region-group svg{width:14px;height:14px;color:var(--section-tone);transition:transform .18s}.airport-detail-region-group svg.is-collapsed{transform:rotate(-90deg)}.airport-detail-region-group strong{font-size:9px;color:var(--section-tone)!important}.airport-detail-region-group span{color:var(--muted);font-size:8px}.airport-detail-unlock-table th:not(:first-child),.airport-detail-unlock-table td:not(:first-child){text-align:center}.airport-detail-status{border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:22px;margin:0 auto;padding:0 5px;font-size:7px;display:inline-flex}.airport-detail-status.available{color:var(--emerald);background:var(--accent-soft)}.airport-detail-status.partial{color:var(--warning);background:color-mix(in srgb,var(--warning) 11%,transparent)}.airport-detail-pros-cons{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.airport-detail-pros-cons article{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;padding:24px;display:flex}.airport-detail-pros-cons header{color:var(--emerald);align-items:center;gap:9px;display:flex}.airport-detail-pros-cons article:last-child header{color:var(--danger)}.airport-detail-pros-cons strong{color:var(--text);font-size:11px}.airport-detail-pros-cons ul{color:var(--muted);margin:18px 0 0;padding-left:18px;font-size:9px;line-height:2}.airport-detail-review-list li+li{margin-top:10px}.airport-detail-review-list .airport-detail-review-empty{color:var(--faint);margin-left:-18px;list-style:none}.airport-detail-shopping-advice{border:1px solid color-mix(in srgb,var(--detail-amber) 24%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-solid) 88%,var(--detail-amber)),var(--surface-solid) 48%,color-mix(in srgb,var(--surface-solid) 92%,var(--detail-blue)));border-radius:18px;grid-template-columns:auto minmax(0,1fr) minmax(220px,280px);align-items:center;gap:15px;margin-top:12px;padding:22px 24px;display:grid}.airport-detail-shopping-advice>span{width:38px;height:38px;color:var(--detail-amber);background:var(--detail-amber-soft);border-radius:12px;place-items:center;display:grid}.airport-detail-shopping-advice>span svg{width:19px;height:19px}.airport-detail-shopping-advice header{align-items:center;gap:9px;display:flex}.airport-detail-shopping-advice header strong{color:var(--text);font-size:var(--type-caption)}.airport-detail-shopping-advice header em{color:var(--detail-amber);background:var(--detail-amber-soft);font-size:var(--type-micro);border-radius:999px;padding:4px 8px;font-style:normal}.airport-detail-shopping-advice p{color:var(--muted);font-size:var(--type-label);margin:9px 0 0;line-height:1.75}.airport-detail-shopping-advice .airport-detail-gateway-link{justify-self:end;margin:0}@media (width<=900px){.airport-detail-evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-detail-section-title{grid-template-columns:40px 1fr}.airport-detail-section-title>p{grid-column:2}.airport-detail-route{grid-template-columns:1fr 1fr;gap:24px 10px;display:grid}.airport-detail-route>b{display:none}.airport-detail-performance-summary{grid-template-columns:1.3fr repeat(2,1fr)}.airport-detail-performance-summary article{border-bottom:1px solid var(--line)}.airport-detail-performance-summary article:nth-child(3){border-right:0}.airport-detail-performance-summary article:nth-child(4),.airport-detail-performance-summary article:nth-child(5){border-bottom:0}}@media (width<=640px){.airport-detail{width:calc(100% - var(--site-shell-gutter-total));padding:94px 0 90px}.airport-detail-hero{border-radius:22px;padding:28px 20px;display:block}.airport-detail-hero-spacer{display:none}.airport-detail-evaluation-grid{grid-template-columns:1fr;margin-top:24px}.airport-detail-evaluation-dimension{min-height:238px;padding:18px}.airport-detail-section{padding-top:72px}.airport-detail-section-title{grid-template-columns:34px 1fr;gap:12px;margin-bottom:22px}.airport-detail-section-title>span{width:32px;height:32px}.airport-detail-section-title h2{font-size:27px}.airport-detail-section-title>p{grid-column:1/-1;margin-top:5px}.airport-detail-quick-grid{grid-template-columns:1fr}.airport-detail-overview-card{min-height:180px;padding:16px}.airport-detail-card-head{flex-direction:column;align-items:flex-start;gap:8px}.airport-detail-route,.airport-detail-carrier-tabs{grid-template-columns:1fr}.airport-detail-carrier-tabs button{min-height:70px}.airport-detail-performance-summary{grid-template-columns:1fr 1fr}.airport-detail-performance-summary article:nth-child(2),.airport-detail-performance-summary article:nth-child(4){border-right:0}.airport-detail-performance-summary article:nth-child(3){border-right:1px solid var(--line)}.airport-detail-performance-summary article:last-child{border-top:0;grid-column:1/-1}.airport-detail-card th,.airport-detail-card td{padding:12px 14px}.airport-detail-pros-cons{grid-template-columns:1fr}.airport-detail-shopping-advice{grid-template-columns:auto 1fr;padding:20px}.airport-detail-shopping-advice>span{width:36px;height:36px}.airport-detail-shopping-advice .airport-detail-gateway-link{grid-column:1/-1;justify-self:stretch;width:100%}}.detail-page main{position:relative;overflow:clip}.airport-detail{position:relative}.airport-detail-card,.airport-detail-performance-summary,.airport-detail-carrier-tabs button{background:var(--surface-solid);backdrop-filter:none}.airport-detail-overview-card{background:linear-gradient(145deg,var(--surface-solid) 58%,color-mix(in srgb,var(--surface-solid) 88%,var(--quick)))}.airport-detail-carrier-tabs button:hover,.airport-detail-carrier-tabs button.active{background:color-mix(in srgb,var(--surface-solid) 88%,var(--carrier))}.airport-detail-route{align-items:stretch}.airport-detail-route-step{flex:1;padding:0 12px;position:relative;align-content:start!important;min-width:0!important}.airport-detail-route-step p{overflow-wrap:anywhere;word-break:break-word;max-width:190px;line-height:1.55}.airport-detail-route-items{text-align:center;gap:4px;width:100%;max-width:190px;margin:0;padding:0;list-style:none;display:grid}.airport-detail-route-items.is-dense{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.airport-detail-route-items li{min-width:0;color:var(--text);font-size:var(--type-caption);overflow-wrap:anywhere;font-weight:650;line-height:1.55}.airport-detail-route-step>b{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 48%,var(--line)),var(--line));width:calc(100% - 76px);height:1px;position:absolute;top:16px;left:calc(50% + 38px);overflow:hidden}.airport-detail-route-step>b:after{content:"";width:22px;animation:3.6s linear infinite airport-detail-route-link-flow;position:absolute;inset:-1px auto -1px -22px}.airport-detail-route-step:nth-child(2)>b:after{animation-delay:1.2s}.airport-detail-route-step:nth-child(3)>b:after{animation-delay:2.4s}@keyframes airport-detail-route-link-flow{0%{opacity:0;left:-22px}3%{opacity:.82}26%{opacity:.82;left:100%}30%,to{opacity:0;left:100%}}.airport-detail-empty{font-weight:500;color:var(--faint)!important}.airport-detail-card-head>em{text-align:right;white-space:normal;max-width:58%;line-height:1.6}.airport-detail-carrier-tabs em{justify-items:end;line-height:1;display:grid}.airport-detail-carrier-tabs em small{margin-top:5px;font-size:6px}.airport-detail-status.unavailable{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.airport-detail-status.unknown{color:var(--faint);background:var(--surface-soft)}.airport-detail-section-title{grid-template-columns:40px 1fr}.airport-detail-section-title h2{margin:0}@media (width<=640px){.airport-detail-section-title{grid-template-columns:34px 1fr}}.airport-detail-hero,.airport-detail-section{scroll-margin-top:112px}@media (width<=900px){.airport-detail-route-step>b{display:none}.airport-detail-performance-summary{grid-template-columns:1fr 1fr}.airport-detail-performance-summary article:nth-child(2n){border-right:0}.airport-detail-performance-summary article:nth-child(-n+2){border-bottom:1px solid var(--line)}.airport-detail-performance-summary article:nth-child(3){border-right:1px solid var(--line)}.airport-detail-performance-summary article:nth-child(n+3){border-bottom:0}}@media (width<=760px){.airport-detail-hero,.airport-detail-section{scroll-margin-top:88px}.airport-detail-shopping-advice{grid-template-columns:auto 1fr}.airport-detail-shopping-advice .airport-detail-gateway-link{grid-column:1/-1;justify-self:stretch;width:100%}}@media (width>=761px) and (width<=900px){.airport-detail-route{gap:0;display:flex}.airport-detail-route-step>b{display:block}}@media (width<=640px){.airport-detail-route-step{width:100%;padding:0}.airport-detail-route-items{max-width:280px}.airport-detail-card-head>em{text-align:left;max-width:none}.airport-detail-performance-summary article:last-child{grid-column:auto}}.airport-detail-tags span,.airport-detail-evaluation-dimension header small,.airport-detail-evaluation-dimension header em,.airport-detail-evaluation-dimension footer span,.airport-detail-section-title>span,.airport-detail-section-title small,.airport-detail-overview-head>em,.airport-detail-line-entry small,.airport-detail-line-routes small,.airport-detail-overview-speeds strong small,.airport-detail-capability-state strong span,.airport-detail-capability-meter b,.airport-detail-flat-value em,.airport-detail-card-head small,.airport-detail-route>div>span,.airport-detail-route small,.airport-detail-route p,.airport-detail-card-head>em,.airport-detail-card th,.airport-detail-rec,.airport-detail-carrier-tabs small,.airport-detail-carrier-tabs em small,.airport-detail-performance-summary small,.airport-detail-performance-summary span,.airport-detail-speed span,.airport-detail-status{font-size:var(--type-micro);line-height:1.45}.airport-detail-evaluation-copy,.airport-detail-section-title>p,.airport-detail-overview-card>p,.airport-detail-line-routes b,.airport-detail-overview-speeds span,.airport-detail-capability-state small,.airport-detail-flat-label small,.airport-detail-card td,.airport-detail-pros-cons ul{font-size:var(--type-label);line-height:1.65}.airport-detail-evaluation-dimension header strong,.airport-detail-overview-head>span,.airport-detail-card-head strong,.airport-detail-route strong,.airport-detail-carrier-tabs strong,.airport-detail-pros-cons strong{font-size:var(--type-caption);line-height:1.45}.airport-detail-flat-value em{margin-left:1px}.airport-detail-performance-summary strong{font-size:15px}@media (width<=640px){.airport-detail-overview-card{min-height:194px;padding:18px}.airport-detail-card th,.airport-detail-card td{padding:13px 14px}}.airport-detail-line-branch b{--route-x:50%;margin-left:-2px;animation:2.8s cubic-bezier(.4,0,.2,1) infinite airport-detail-line-route-flow;top:0;bottom:auto;left:50%}.airport-detail-line-branch b.route-left{--route-x:0%;animation-delay:0s}.airport-detail-line-branch b.route-center{--route-x:50%;animation-delay:.28s}.airport-detail-line-branch b.route-right{--route-x:calc(100% - 1px);animation-delay:.56s}@keyframes airport-detail-line-route-flow{0%{opacity:0;top:0;left:50%}12%{opacity:1}38%{opacity:1;top:10px;left:50%}82%{top:10px;left:var(--route-x);opacity:1}to{top:10px;left:var(--route-x);opacity:0}}.airport-detail-overview-card{--overview-card-padding:18px;--overview-inset-padding:9px;padding:var(--overview-card-padding)}.airport-detail-line-entry,.airport-detail-line-routes>span,.airport-detail-capability-state{padding:var(--overview-inset-padding)}.detail-page{--detail-blue:#3f6f9f;--detail-blue-soft:#4a708e26;--detail-indigo:#665aa0;--detail-indigo-soft:#71669426;--detail-amber:#946018;--detail-amber-soft:#94601824;--detail-coral:#9d5362;--detail-coral-soft:#9d536224}:root.dark .detail-page{--detail-blue:#91bce0;--detail-blue-soft:#91bce024;--detail-indigo:#b8ade8;--detail-indigo-soft:#b8ade824;--detail-amber:#e0b367;--detail-amber-soft:#e0b36721;--detail-coral:#e0a0aa;--detail-coral-soft:#e0a0aa21}.airport-detail-hero{background:radial-gradient(circle at 94% 8%,var(--detail-indigo-soft),transparent 34%), radial-gradient(circle at 72% 100%,var(--detail-blue-soft),transparent 38%), linear-gradient(145deg,var(--surface-solid) 50%,color-mix(in srgb,var(--surface-solid) 88%,var(--detail-amber)))}.airport-detail-hero:after{border-color:color-mix(in srgb,var(--detail-indigo) 18%,transparent);box-shadow:0 0 0 54px color-mix(in srgb,var(--detail-blue) 7%,transparent),0 0 0 108px color-mix(in srgb,var(--detail-coral) 5%,transparent)}.airport-detail-tags span:first-child{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 28%,transparent);background:var(--accent-soft)}.airport-detail-tags span:nth-child(2){color:var(--detail-blue);border-color:color-mix(in srgb,var(--detail-blue) 28%,transparent);background:var(--detail-blue-soft)}.airport-detail-tags span:nth-child(3){color:var(--detail-indigo);border-color:color-mix(in srgb,var(--detail-indigo) 28%,transparent);background:var(--detail-indigo-soft)}.airport-detail-tags span:nth-child(4){color:var(--detail-amber);border-color:color-mix(in srgb,var(--detail-amber) 28%,transparent);background:var(--detail-amber-soft)}.airport-detail-evaluation-dimension.coral{--dimension:var(--detail-coral);--dimension-soft:var(--detail-coral-soft)}.airport-detail-evaluation-dimension.teal{--dimension:var(--accent);--dimension-soft:var(--accent-soft)}.airport-detail-evaluation-dimension.blue{--dimension:var(--detail-blue);--dimension-soft:var(--detail-blue-soft)}.airport-detail-evaluation-dimension.amber{--dimension:var(--detail-amber);--dimension-soft:var(--detail-amber-soft)}.airport-detail-overview-card{background:linear-gradient(145deg,var(--surface-solid) 52%,color-mix(in srgb,var(--surface-solid) 78%,var(--quick)));box-shadow:inset 0 2px 0 color-mix(in srgb,var(--quick) 30%,transparent),0 12px 32px color-mix(in srgb,var(--quick) 7%,transparent)}.airport-detail-overview-card.blue{--quick:var(--detail-blue);--quick-soft:var(--detail-blue-soft)}.airport-detail-overview-card.violet{--quick:var(--detail-indigo);--quick-soft:var(--detail-indigo-soft)}.airport-detail-overview-card.amber{--quick:var(--detail-amber);--quick-soft:var(--detail-amber-soft)}.airport-detail-overview-card.coral{--quick:var(--detail-coral);--quick-soft:var(--detail-coral-soft)}.airport-detail-overview-card.indigo{--quick:var(--detail-indigo);--quick-soft:var(--detail-indigo-soft)}.airport-detail-capability-state.ai.partial{--state:var(--detail-indigo)}.airport-detail-capability-state.streaming.partial{--state:var(--detail-amber)}.airport-detail-concurrency-overview .airport-detail-concurrency-metric.unlimited{--metric:var(--detail-coral)}.airport-detail-service-facts .airport-detail-operation-metric{--metric:var(--detail-indigo)}#line-and-plans .airport-detail-section-title>span{color:var(--detail-indigo);border-color:color-mix(in srgb,var(--detail-indigo) 30%,transparent);background:var(--detail-indigo-soft)}#performance .airport-detail-section-title>span{color:var(--detail-blue);border-color:color-mix(in srgb,var(--detail-blue) 30%,transparent);background:var(--detail-blue-soft)}#advice .airport-detail-section-title>span{color:var(--detail-coral);border-color:color-mix(in srgb,var(--detail-coral) 30%,transparent);background:var(--detail-coral-soft)}.airport-detail-card{--section-tone:var(--accent);--section-soft:var(--accent-soft)}.airport-detail-route-card{--section-tone:var(--detail-indigo);--section-soft:var(--detail-indigo-soft)}.airport-detail-plan-card{--section-tone:var(--detail-amber);--section-soft:var(--detail-amber-soft)}.airport-detail-region-card{--section-tone:var(--detail-blue);--section-soft:var(--detail-blue-soft)}.airport-detail-unlock-card{--section-tone:var(--detail-indigo);--section-soft:var(--detail-indigo-soft)}.airport-detail-card-head{background:linear-gradient(90deg,color-mix(in srgb,var(--surface-solid) 84%,var(--section-tone)),transparent 46%)}.airport-detail-card-head svg{color:var(--section-tone)}.airport-detail-card th{background:color-mix(in srgb,var(--surface-solid) 88%,var(--section-tone))}.airport-detail-plan-card .airport-detail-price{color:var(--detail-amber)!important}.airport-detail-plan-card .airport-detail-plan-recommended{background:color-mix(in srgb,var(--surface-solid) 96%,var(--detail-amber))}.airport-detail-plan-card .airport-detail-plan-recommended td:first-child{box-shadow:inset 3px 0 0 var(--detail-amber)}.airport-detail-plan-card .airport-detail-rec{color:var(--detail-amber);border:1px solid color-mix(in srgb,var(--detail-amber) 28%,transparent);background:var(--detail-amber-soft);font-weight:700}.airport-detail-plan-card .airport-detail-unit-price{color:var(--detail-amber);font-family:var(--font-mono);font-weight:650}.airport-detail-plan-card .airport-detail-term-price{color:var(--text);font-weight:650}.airport-detail-plan-table{table-layout:fixed;min-width:920px}.airport-detail-plan-table .airport-detail-col-plan,.airport-detail-plan-table .airport-detail-col-traffic{width:13%}.airport-detail-plan-table .airport-detail-col-month{width:8%}.airport-detail-plan-table .airport-detail-col-unit-price{width:14%}.airport-detail-plan-table .airport-detail-col-half-year,.airport-detail-plan-table .airport-detail-col-year{width:9%}.airport-detail-plan-table .airport-detail-col-speed{width:14%}.airport-detail-plan-table .airport-detail-col-restriction{width:20%}.airport-detail-plan-table th,.airport-detail-plan-table td{text-align:center;padding-left:12px;padding-right:12px}.airport-detail-plan-table th:first-child,.airport-detail-plan-table td:first-child,.airport-detail-plan-table th:last-child,.airport-detail-plan-table td:last-child{text-align:left}.airport-detail-plan-table td:last-child{white-space:normal;line-height:1.5}.airport-detail-plan-card .airport-detail-speed-limit{color:var(--detail-blue);font-family:var(--font-mono);font-weight:500}.airport-detail-route-step{--route-tone:var(--accent);--route-soft:var(--accent-soft);--route-next:var(--detail-blue);--route-flare:color-mix(in srgb,var(--route-tone) 82%,black)}.airport-detail-route-step:nth-child(2){--route-tone:var(--detail-blue);--route-soft:var(--detail-blue-soft);--route-next:var(--detail-indigo)}.airport-detail-route-step:nth-child(3){--route-tone:var(--detail-indigo);--route-soft:var(--detail-indigo-soft);--route-next:var(--detail-amber)}.airport-detail-route-step:nth-child(4){--route-tone:var(--detail-amber);--route-soft:var(--detail-amber-soft);--route-next:var(--detail-amber)}.airport-detail-route>div>span{color:var(--route-tone);border-color:color-mix(in srgb,var(--route-tone) 38%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-solid) 78%,var(--route-tone)),var(--route-soft));box-shadow:0 7px 18px color-mix(in srgb,var(--route-tone) 12%,transparent)}.airport-detail-route-step>b{background:linear-gradient(90deg,color-mix(in srgb,var(--route-tone) 52%,var(--line)),color-mix(in srgb,var(--route-next) 52%,var(--line)));clip-path:inset(-3px 0);overflow:visible}.airport-detail-route-step>b:after{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--route-flare) 18%,transparent) 16%,color-mix(in srgb,var(--route-flare) 54%,transparent) 38%,var(--route-flare) 50%,color-mix(in srgb,var(--route-flare) 54%,transparent) 62%,color-mix(in srgb,var(--route-flare) 18%,transparent) 84%,transparent 100%);box-shadow:none;filter:blur(.35px)}.airport-detail-performance-summary article{--summary-tone:var(--muted);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-solid) 94%,var(--summary-tone)),var(--surface-solid) 70%);box-shadow:inset 0 2px 0 color-mix(in srgb,var(--summary-tone) 26%,transparent)}.airport-detail-performance-summary article:first-child{--summary-tone:var(--detail-amber)}.airport-detail-performance-summary article:nth-child(2){--summary-tone:var(--detail-blue)}.airport-detail-performance-summary article:nth-child(3){--summary-tone:var(--detail-coral)}.airport-detail-performance-summary article:nth-child(4){--summary-tone:var(--accent)}.airport-detail-performance-summary article:nth-child(5){--summary-tone:var(--detail-indigo)}.airport-detail-performance-summary article strong{color:var(--summary-tone)}.airport-detail-performance-summary{grid-template-columns:minmax(320px,2.2fr) repeat(4,minmax(0,1fr))}.airport-detail-performance-summary+.airport-detail-carrier-tabs{margin-top:10px}.airport-detail-performance-source span{white-space:pre-line;line-height:1.55}@media (width<=900px){.airport-detail-performance-summary{grid-template-columns:1fr 1fr}.airport-detail-performance-summary .airport-detail-performance-source{border-right:0;border-bottom:1px solid var(--line);grid-column:1/-1}.airport-detail-performance-summary article:nth-child(2),.airport-detail-performance-summary article:nth-child(4){border-right:1px solid var(--line)}.airport-detail-performance-summary article:nth-child(2),.airport-detail-performance-summary article:nth-child(3){border-bottom:1px solid var(--line)}.airport-detail-performance-summary article:nth-child(3),.airport-detail-performance-summary article:nth-child(5){border-right:0}.airport-detail-performance-summary article:nth-child(4),.airport-detail-performance-summary article:nth-child(5){border-bottom:0}}.airport-detail-region-card .airport-detail-speed i{background:linear-gradient(90deg,var(--detail-blue-soft),color-mix(in srgb,var(--detail-blue) 30%,transparent))}.airport-detail-pros-cons article:first-child{background:linear-gradient(145deg,var(--surface-solid),color-mix(in srgb,var(--surface-solid) 86%,var(--accent)))}.airport-detail-pros-cons article:last-child{background:linear-gradient(145deg,var(--surface-solid),color-mix(in srgb,var(--surface-solid) 86%,var(--detail-coral)))}.airport-detail-gateway-link{width:min(220px,100%)}.airport-detail-shopping-advice{grid-template-columns:auto minmax(0,1fr) minmax(190px,220px)}.airport-detail-coupon-row{border-top:1px solid color-mix(in srgb,var(--violet) 18%,var(--line));grid-column:1/-1;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:12px;padding-top:15px;display:grid}.airport-detail-coupon-label{color:var(--violet);align-items:center;gap:8px;display:flex}.airport-detail-coupon-label svg{width:17px;height:17px}.airport-detail-coupon-label strong{color:var(--text);font-size:var(--type-label)}.airport-detail-coupon-list{flex-wrap:wrap;gap:8px;display:flex}.airport-detail-coupon-code{border:1px solid color-mix(in srgb,var(--violet) 24%,var(--line));background:color-mix(in srgb,var(--surface-solid) 86%,var(--violet));border-radius:10px;align-items:center;gap:10px;min-height:34px;padding:4px 5px 4px 11px;display:inline-flex}.airport-detail-coupon-code code{color:var(--violet);font-family:var(--font-mono);letter-spacing:.05em;font-size:10px;font-weight:650}.airport-detail-coupon-code button{border:1px solid color-mix(in srgb,var(--violet) 22%,var(--line));height:26px;color:var(--violet);background:var(--surface-solid);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:0 8px;transition:border-color .16s,background .16s;display:inline-flex}.airport-detail-coupon-code button:hover{border-color:var(--violet);background:var(--violet-soft)}.airport-detail-coupon-code button:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.airport-detail-coupon-code button svg{width:12px;height:12px}.airport-detail-coupon-code button span{font-size:var(--type-micro)}.airport-detail-coupon-empty{color:var(--muted);font-size:var(--type-label)}@media (width<=760px){.airport-detail-shopping-advice{grid-template-columns:auto minmax(0,1fr)}.airport-detail-shopping-advice .airport-detail-gateway-link{justify-self:start;width:min(220px,100%)}.airport-detail-coupon-row{grid-template-columns:1fr;gap:9px}}
