html{-webkit-text-size-adjust:100%}
html,body{height:auto}
body{
margin:0;min-height:100vh;overflow-x:hidden;overflow-y:auto;overflow-wrap:break-word;
font-family:var(--font-body);font-size:var(--fs-16);line-height:1.6;color:var(--ink);
background:
radial-gradient(1200px 800px at 70% -10%, var(--glow-1) 0%, transparent 60%),
radial-gradient(900px 700px at 0% 110%, var(--glow-2) 0%, transparent 55%),
var(--bg);
background-attachment:fixed;
-webkit-font-smoothing:antialiased;
}
a{color:var(--ink);text-decoration-color:var(--border-hover);text-underline-offset:3px}
@media (hover:hover){a:hover{text-decoration-color:currentColor}}
.dp-skip{
position:absolute;inset-inline-start:16px;top:-100px;z-index:var(--z-skip);padding:var(--sp-10) var(--sp-16);border-radius:var(--r-md);
font-family:var(--font-head);font-weight:600;font-size:var(--fs-14);text-decoration:none;
color:var(--on-accent);background:var(--accent);
}
.dp-skip:focus,.dp-skip:focus-visible{top:12px}
.dp-cur[hidden]{display:inline-block!important;visibility:hidden}
.dp-cur select{
-webkit-appearance:none;appearance:none;width:13em;max-width:13em;margin:0;cursor:pointer;
padding:var(--sp-6) var(--sp-32) var(--sp-6) var(--sp-12);border-radius:var(--r-pill);border:1px solid var(--line);
font-family:var(--font-head);font-size:var(--fs-12);line-height:1.6;letter-spacing:.06em;
color:var(--ink-dim);text-overflow:ellipsis;
background-color:var(--panel);
background-image:linear-gradient(45deg,transparent 50%,var(--ink-faint) 50%),linear-gradient(135deg,var(--ink-faint) 50%,transparent 50%);
background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
@media (hover:hover){.dp-cur select:hover{color:var(--ink);border-color:var(--border-hover)}}
.dp-cur select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;color:var(--ink)}
.dp-cur option,.dp-cur optgroup{color:var(--ink);background:var(--panel-solid)}
.dp-lang{
display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--r-pill);
border:1px solid var(--line);background:var(--panel);
font-family:var(--font-head);font-size:var(--fs-12);line-height:1.6;letter-spacing:.08em;
}
.dp-lang > *{padding:var(--sp-4) var(--sp-10);border-radius:var(--r-pill);color:var(--ink-dim);text-decoration:none}
.dp-lang .dp-lang-cur{color:var(--ink);background:var(--bg-selected)}
@media (hover:hover){.dp-lang a:hover{color:var(--ink)}}
.dp-lang a:focus-visible{outline:2px solid var(--accent);outline-offset:1px;color:var(--ink)}
.dp-main{max-width:var(--container);margin:0 auto;padding:var(--sp-4) var(--gutter) var(--sp-40)}
.dp-main,.dp-foot,.site-foot{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.dp-facts,.dp-antipode,.dp-pick-msg,.dp-near{max-width:var(--container-text)}
.dp-main p,.dp-main li:not(.dp-list li){max-width:68ch}
h1{
font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.12;
font-size:clamp(26px,6vw,44px);margin:var(--sp-14) 0 var(--sp-8);
}
.dp-route{margin:0 0 var(--sp-10);color:var(--ink-dim)}
.dp-route-arc{display:inline-block;width:48px;height:18px;margin:0 var(--sp-8);vertical-align:-3px}
.arc-line{fill:none;stroke:var(--ink-faint);stroke-width:1.75;stroke-dasharray:2 4;stroke-linecap:round}
.arc-from{fill:var(--from)}
.arc-to{fill:var(--to)}
.dp-lead{margin:0 0 var(--sp-24);color:var(--ink-dim)}
.dp-price{margin:0 0 var(--sp-16);font-family:var(--font-head);font-size:var(--fs-17);color:var(--ink-dim)}
.dp-price strong{font-size:clamp(30px,7vw,40px);font-weight:600;line-height:1.1;color:var(--ink)}
.dp-price span{white-space:nowrap}
.dp-price-old{font-size:var(--fs-15)}
h2{font-family:var(--font-head);font-weight:600;font-size:clamp(19px,3.8vw,24px);line-height:1.3;margin:0 0 var(--sp-10)}
h3{font-family:var(--font-head);font-weight:600;font-size:var(--fs-15);margin:0 0 var(--sp-6)}
section{margin-top:var(--sp-32)}
section p{margin:0 0 var(--sp-10);color:var(--ink-dim)}
.dp-facts{
display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-10);margin:0 0 var(--sp-20);
}
.dp-facts div{padding:var(--sp-12) var(--sp-16);border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line)}
.dp-facts dt{
font-family:var(--font-head);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);
}
.dp-facts dd{margin:var(--sp-4) 0 0;font-family:var(--font-head);font-size:var(--fs-20);font-weight:600;line-height:1.3}
.dp-facts dd span{display:block;font-family:var(--font-body);font-size:var(--fs-13);font-weight:400;color:var(--ink-dim)}
:is(.dp-lang a,.dp-pick-swap,.dp-pick-list>span,.dp-part > summary,.dp-months-all > summary,.dp-card):active{
background-color:var(--bg-pressed);transition-duration:var(--dur-press);
}
.dp-search{padding:var(--sp-12) var(--sp-20);font-size:var(--fs-14)}
.dp-pick{
display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;
grid-template-areas:"from swap to go";gap:var(--sp-10);align-items:end;
position:relative;margin:var(--sp-20) 0 var(--sp-10);padding:var(--sp-14);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);
}
.dp-pick label:nth-of-type(1){grid-area:from}
.dp-pick label:nth-of-type(2){grid-area:to}
.dp-pick-end{display:block;min-width:0}
.dp-pick-end span{
display:block;margin:0 0 var(--sp-4);font-family:var(--font-head);font-size:var(--fs-12);
letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);
}
.dp-pick-end input{
box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:var(--sp-10) var(--sp-12);border-radius:var(--r-md);
font:inherit;font-size:var(--fs-16);color:var(--ink);background:var(--panel-solid);border:1px solid var(--line-field);
}
.dp-pick-end input::placeholder{color:var(--ink-faint)}
.dp-pick-end{position:relative}
.dp-pick-list{
display:block;position:absolute;inset-inline-start:0;inset-inline-end:0;top:100%;z-index:var(--z-bar);margin:var(--sp-4) 0 0;padding:var(--sp-4);
max-height:320px;overflow-y:auto;border-radius:var(--r-md);background:var(--panel-solid);border:1px solid var(--line);
}
.dp-pick-list>span{display:block;padding:var(--sp-8) var(--sp-10);border-radius:var(--r-sm);cursor:pointer;overflow-wrap:anywhere}
.dp-pick-list b{display:block;font-weight:600;color:var(--ink)}
.dp-pick-list small{display:block;font-size:var(--fs-13);color:var(--ink-dim)}
.dp-pick-list>span[aria-selected="true"]{background:var(--bg-selected)}
@media (hover:hover){.dp-pick-list>span:hover{background:var(--bg-selected)}}
.dp-pick-end input:focus{border-color:var(--accent)}
.dp-pick-end input:focus-visible,.dp-pick-swap:focus-visible{
outline:2px solid var(--accent);outline-offset:2px;
}
.dp-pick-none{
display:flex;align-items:center;gap:var(--sp-8);position:absolute;inset-inline-start:0;inset-inline-end:0;top:100%;z-index:var(--z-bar);margin:var(--sp-4) 0 0;padding:var(--sp-10) var(--sp-12);
border-radius:var(--r-md);font-size:var(--fs-14);color:var(--ink-dim);background:var(--panel-solid);border:1px solid var(--line);
}
.dp-pick-none .i-none{width:var(--icon-sm);height:var(--icon-sm);flex:none;color:var(--ink-faint)}
.dp-pick-status,.dp-sr{
position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.dp-pick-end input[aria-invalid="true"]{border-color:var(--warn);box-shadow:var(--ring-warn)}
.dp-pick-swap{
grid-area:swap;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:var(--r-md);cursor:pointer;
color:var(--ink-dim);background:var(--panel-solid);border:1px solid var(--line);
}
.dp-pick-swap svg{width:var(--icon-md);height:var(--icon-md)}
@media (hover:hover){.dp-pick-swap:hover{color:var(--ink);border-color:var(--border-hover)}}
.dp-pick-go{grid-area:go;min-height:44px;padding:var(--sp-10) var(--sp-24);font-size:var(--fs-15)}
.dp-pick-msg,.dp-near{
margin:var(--sp-14) 0 0;padding:var(--sp-10) var(--sp-14);border-radius:var(--r-md);color:var(--ink);
background:var(--bg-chip);border:1px solid var(--line);
}
.dp-pick-choice{display:flex;flex-wrap:wrap;gap:0 var(--sp-20);margin:var(--sp-6) 0 0;padding:0;list-style:none}
.dp-pick-choice a{display:inline-block;min-height:44px;line-height:44px;font-family:var(--font-head);font-size:var(--fs-15);color:var(--ink)}
@media (width < 640px){
.dp-pick{grid-template-columns:minmax(0,1fr);grid-template-areas:"from" "swap" "to" "go";gap:var(--sp-8)}
.dp-pick-swap{justify-self:center}
.dp-pick-go{width:100%}
}
.dp-buy{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-10);margin:0 0 var(--sp-24)}
.dp-buy-main,.dp-buy-alt{padding:var(--sp-12) var(--sp-24);font-size:var(--fs-15)}
.dp-buy-main{min-width:140px}
.dp-buy p{flex-basis:100%;margin:0;font-size:var(--fs-13);color:var(--ink-faint)}
.dp-antipode{
display:flex;align-items:center;gap:var(--sp-16);margin:0 0 var(--sp-6);padding:var(--sp-14) var(--sp-20) var(--sp-14) var(--sp-14);
border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);
}
.dp-antipode .dp-globe{flex:none;width:120px;height:120px}
.dp-antipode h2{font-size:clamp(17px,3.2vw,20px);margin:0 0 var(--sp-6)}
.dp-antipode p{margin:0}
.dp-antipode a{font-weight:600}
@media (width < 480px){
.dp-antipode{align-items:flex-start;gap:var(--sp-12);padding:var(--sp-12) var(--sp-14) var(--sp-12) var(--sp-10)}
.dp-antipode .dp-globe{width:88px;height:88px}
}
.dp-ground-link{padding:var(--sp-12) var(--sp-20);font-size:var(--fs-14)}
.dp-chips{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin:0;padding:0;list-style:none}
.dp-chips li{
padding:var(--sp-6) var(--sp-12);border-radius:var(--r-pill);font-size:var(--fs-14);
background:var(--bg-chip);border:1px solid var(--line);
}
.dp-months{width:100%;max-width:440px;border-collapse:collapse;margin:var(--sp-4) 0 var(--sp-10);font-family:var(--font-head);font-size:var(--fs-15)}
.dp-months th,.dp-months td{padding:var(--sp-8) 0;border-top:1px solid var(--line);text-align:start;font-weight:400}
.dp-months thead th{
border-top:0;font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);
}
.dp-months td,.dp-months thead th:last-child{text-align:end}
.dp-months td{font-weight:600;white-space:nowrap}
.dp-months .dp-none{font-weight:400;color:var(--ink-faint)}
.dp-months .dp-best th,.dp-months .dp-best td{color:var(--green-ink)}
section .dp-note{font-size:var(--fs-13);color:var(--ink-faint)}
.dp-chart{max-width:var(--container-text);margin:var(--sp-16) 0 var(--sp-12)}
.dp-chart ol{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin:0;padding:0;list-style:none}
.dp-chart li{display:flex;justify-content:center;white-space:nowrap}
.dp-chart-top{min-height:1.5em;margin:0 0 var(--sp-4);font-family:var(--font-head);font-size:var(--fs-14);font-weight:600;color:var(--green-ink)}
.dp-bars{display:block;width:100%;height:96px;border-bottom:1px solid var(--line)}
.dp-bar{fill:var(--chart-bar)}
.dp-bar-best{fill:var(--green-bg)}
.dp-bar-none{fill:var(--line)}
.dp-chart-x{margin:var(--sp-6) 0 0;font-size:var(--fs-12);line-height:1.3;color:var(--ink-faint)}
.dp-months-all{margin:0 0 var(--sp-10)}
.dp-months-all > summary{
display:inline-flex;align-items:center;min-height:44px;cursor:pointer;
font-family:var(--font-head);font-size:var(--fs-14);color:var(--ink-dim);
text-decoration:underline;text-decoration-color:var(--border-hover);text-underline-offset:3px;
}
@media (hover:hover){.dp-months-all > summary:hover{color:var(--ink)}}
.dp-months-all > summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dp-popular{margin:var(--sp-24) 0 0}
.dp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-10);margin:0;padding:0;list-style:none}
.dp-cards li{display:flex;max-width:none}
.dp-card{
display:flex;flex-direction:column;gap:var(--sp-4);flex:1;min-width:0;padding:var(--sp-14) var(--sp-16);
border-radius:var(--r-lg);background:var(--bg-card);border:1px solid var(--line);
color:var(--ink);text-decoration:none;transition:var(--tr-ui);
}
@media (hover:hover){.dp-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}}
.dp-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dp-card-arc{display:block;width:64px;height:24px;margin:0 0 var(--sp-4)}
.dp-card-route{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sp-6);font-family:var(--font-head);font-size:var(--fs-15);font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.dp-card-route .i-arrow{color:var(--ink-faint)}
.dp-card-price{margin-top:auto;padding-top:var(--sp-8);font-family:var(--font-head);font-size:var(--fs-14);color:var(--ink-dim)}
.dp-card-price strong{font-size:var(--fs-22);font-weight:600;color:var(--ink)}
.dp-card-note{font-size:var(--fs-12);color:var(--ink-faint)}
.dp-airports{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-14) var(--sp-20)}
.dp-airports ul{margin:0;padding:0;list-style:none}
.dp-airports li{display:flex;gap:var(--sp-12);align-items:baseline;padding:var(--sp-8) 0;border-top:1px solid var(--line)}
.dp-airports small{display:block;font-size:var(--fs-13);color:var(--ink-faint)}
.dp-code{flex:none;min-width:3.2em;font-family:var(--font-head);font-weight:600;letter-spacing:.06em;color:var(--from-soft)}
.dp-airports>div:last-child .dp-code{color:var(--to-soft)}
.dp-crumbs ol{
display:flex;flex-wrap:wrap;gap:2px 0;margin:var(--sp-6) 0 0;padding:0;list-style:none;
font-size:var(--fs-13);color:var(--ink-faint);
}
.dp-crumbs li + li::before{content:"\203A";margin:0 var(--sp-8);color:var(--ink-faint)}
.dp-crumbs a{color:var(--ink-dim);text-decoration:none}
@media (hover:hover){.dp-crumbs a:hover{color:var(--ink);text-decoration:underline}}
.dp-list{
display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 var(--sp-24);
margin:0;padding:0;list-style:none;
}
.dp-list li{
display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px var(--sp-12);
min-height:44px;padding:var(--sp-10) 0;border-top:1px solid var(--line);
}
.dp-list span{font-size:var(--fs-13);color:var(--ink-faint);white-space:nowrap}
.dp-list .dp-money{font-family:var(--font-head);font-size:var(--fs-15);font-weight:600;color:var(--ink)}
.dp-hubs{margin:var(--sp-24) 0 0;font-family:var(--font-head);font-size:var(--fs-15)}
.dp-from-top{margin:var(--sp-24) 0 0}
.dp-from-top[hidden]{display:block!important;visibility:hidden;min-height:620px}
@media (width >= 560px){.dp-from-top[hidden]{min-height:360px}}
@media (width >= 848px){.dp-from-top[hidden]{min-height:280px}}
.dp-from-top.dp-off[hidden]{display:none!important}
.dp-from-top h2{margin-top:0}
.dp-from-top .dp-near{margin:0 0 var(--sp-12)}
.dp-from-top-more{margin:var(--sp-14) 0 0;font-family:var(--font-head);font-size:var(--fs-15)}
.dp-foot,.site-foot{
max-width:var(--container);margin:0 auto;padding:var(--sp-20) var(--gutter) var(--sp-32);border-top:1px solid var(--line);
font-size:var(--fs-13);color:var(--ink-faint);
}
.dp-foot p,.site-foot p{margin:0}
.dp-foot p + p{margin-top:var(--sp-8)}
.dp-foot a{color:var(--ink-dim)}
.dp-foot + .site-foot{border-top:0;padding-top:0}
.dp-hub-top{margin:0 0 var(--sp-32)}
.dp-toc{margin:0 0 var(--sp-32)}
.dp-toc h3{margin:var(--sp-12) 0 var(--sp-4);font-size:var(--fs-13);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.dp-toc ul{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-14);margin:0;padding:0;list-style:none;font-size:var(--fs-15)}
.dp-toc a{display:inline-block;padding:var(--sp-4) 0}
.dp-part{margin-top:var(--sp-24)}
.dp-part > summary{
display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-4) var(--sp-12);cursor:pointer;list-style:none;
min-height:44px;padding:var(--sp-8) 0;border-top:1px solid var(--line);
}
.dp-part > summary::-webkit-details-marker{display:none}
.dp-part > summary::before{
content:"";align-self:center;width:0;height:0;color:var(--ink-faint);
border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;
transition:transform var(--dur-2);
}
.dp-part[open] > summary::before{transform:rotate(90deg)}
.dp-part > summary h2{margin:0}
.dp-part > summary span{font-size:var(--fs-13);color:var(--ink-faint)}
.dp-part section{margin:var(--sp-14) 0 0}
.dp-part h3{margin:0 0 var(--sp-6)}
.dp-main > .dp-note{margin:var(--sp-14) 0 0;font-size:var(--fs-14);color:var(--ink-dim)}
@media print{
.dp-skip,.dp-pick,.dp-buy,.dp-ground-link,.dp-from-top,.dp-pick-status{display:none!important}
.dp-main,.dp-foot,.site-foot{max-width:none;padding-left:0;padding-right:0}
.dp-main p a[href]::after{content:" (" attr(href) ")";font-size:var(--fs-12)}
.dp-facts div,.dp-antipode{border-color:CanvasText}
}
